<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
<channel>
  <title>Ton Kersten</title>
  <link>http://tonkersten.com/</link>
  <description>Thoughts of a Geek</description>
  <generator>We-Blog 0.8</generator>
  <item>
    <title>Updated Pygments</title>
    <link>http://tonkersten.com/2012/05/112-updated-pygments/</link>
    <guid>http://tonkersten.com/2012/05/112-updated-pygments/</guid>
    <pubDate>Wed, 16 May 2012 00:00:01 GMT</pubDate>
    <description><![CDATA[
<!-- Start of We-Blog Post ID 112 -->
<p>I'm using Pygments for quite some time now and I just noticed there was a new
version available (1.5). I installed that and I was wondering if there would be
a lexer included for Puppet. Well, it wasn't, but a short Google action
directed me to the <a href="https://github.com/rodjek/puppet-pygments-lexer/">Pygments lexer for the Puppet
DSL</a>.</p>
<p>Of course my old CentOS 5 system with Python 2.6 doesn't want to install this,
so I hacked the Puppet lexer into Pygments.</p>
<p>Here's an example of the result:</p>
<div class="codehilite"><pre><span class="kd">class</span> <span class="nc">generic::ssh</span> <span class="p">{</span>
    <span class="nv">$ssh_service</span>       <span class="o">=</span> <span class="nf">hiera</span><span class="p">(</span><span class="s2">&quot;ssh_service&quot;</span><span class="p">)</span>
    <span class="nv">$ssh_packages</span>      <span class="o">=</span> <span class="nf">hiera</span><span class="p">(</span><span class="s2">&quot;ssh_packages&quot;</span><span class="p">)</span>
    <span class="nv">$ssh_debug</span>         <span class="o">=</span> <span class="nf">hiera</span><span class="p">(</span><span class="s2">&quot;ssh_debug&quot;</span><span class="p">,</span>         <span class="s2">&quot;undef&quot;</span><span class="p">)</span>
    <span class="nv">$permit_root_login</span> <span class="o">=</span> <span class="nf">hiera</span><span class="p">(</span><span class="s2">&quot;permit_root_login&quot;</span><span class="p">,</span> <span class="s2">&quot;no&quot;</span><span class="p">)</span>
    <span class="nv">$ssh_users</span>         <span class="o">=</span> <span class="nf">hiera_array</span><span class="p">(</span><span class="s2">&quot;ssh_users&quot;</span><span class="p">,</span>   <span class="s2">&quot;undef&quot;</span><span class="p">)</span>
    <span class="nv">$ssh_groups</span>        <span class="o">=</span> <span class="nf">hiera_array</span><span class="p">(</span><span class="s2">&quot;ssh_groups&quot;</span><span class="p">,</span>  <span class="s2">&quot;undef&quot;</span><span class="p">)</span>

    <span class="nc">package</span> <span class="p">{</span> <span class="nv">$ssh_packages</span><span class="p">:</span>
        <span class="nt">ensure</span> <span class="p">=&gt;</span> <span class="ss">present</span><span class="p">,</span>
        <span class="nt">before</span> <span class="p">=&gt;</span> <span class="nc">File</span><span class="p">[</span><span class="s2">&quot;/etc/ssh/sshd_config&quot;</span><span class="p">],</span>
    <span class="p">}</span>

    <span class="nc">file</span> <span class="p">{</span> <span class="s2">&quot;/etc/ssh/sshd_config&quot;</span><span class="p">:</span>
        <span class="nt">ensure</span>  <span class="p">=&gt;</span> <span class="ss">present</span><span class="p">,</span>
        <span class="nt">content</span> <span class="p">=&gt;</span> <span class="nf">template</span><span class="p">(</span><span class="s2">&quot;generic/sshd_config.erb&quot;</span><span class="p">),</span>
        <span class="nt">notify</span>  <span class="p">=&gt;</span> <span class="nc">Service</span><span class="p">[</span><span class="s2">&quot;</span><span class="si">${ssh_service}</span><span class="s2">&quot;</span><span class="p">],</span>
    <span class="p">}</span>

    <span class="nc">service</span> <span class="p">{</span> <span class="nv">$ssh_service</span><span class="p">:</span>
        <span class="nt">ensure</span>     <span class="p">=&gt;</span> <span class="ss">running</span><span class="p">,</span>
        <span class="nt">enable</span>     <span class="p">=&gt;</span> <span class="ss">true</span><span class="p">,</span>
        <span class="nt">hasrestart</span> <span class="p">=&gt;</span> <span class="ss">true</span><span class="p">,</span>
        <span class="nt">hasstatus</span>  <span class="p">=&gt;</span> <span class="ss">true</span><span class="p">,</span>
    <span class="p">}</span>
}
</pre></div>


<p>and an example of the <code>Hiera Yaml</code> file:</p>
<div class="codehilite"><pre><span class="nn">---</span>

<span class="c1"># SSH Settings</span>
<span class="l-Scalar-Plain">permit_root_login</span>    <span class="p-Indicator">:</span> <span class="s">&#39;no&#39;</span>
<span class="l-Scalar-Plain">ssh_service</span>          <span class="p-Indicator">:</span> <span class="err">-</span> <span class="s">&#39;sshd&#39;</span>
<span class="l-Scalar-Plain">ssh_users</span>            <span class="p-Indicator">:</span> <span class="err">-</span> <span class="s">&#39;root&#39;</span>
                       <span class="p-Indicator">-</span> <span class="s">&#39;tonk&#39;</span>
<span class="l-Scalar-Plain">ssh_groups</span>           <span class="p-Indicator">:</span> <span class="err">-</span> <span class="s">&#39;wheel&#39;</span>
<span class="l-Scalar-Plain">ssh_packages</span>         <span class="p-Indicator">:</span> <span class="err">-</span> <span class="s">&#39;openssh&#39;</span>
                       <span class="p-Indicator">-</span> <span class="s">&#39;openssh-clients&#39;</span>
                       <span class="p-Indicator">-</span> <span class="s">&#39;openssh-server&#39;</span>
</pre></div>


<p>Nice <img class="smiley" alt="smiley" src="/images/smilies/wink_smile.gif" /></p>
<!-- start-append-index --><div class="info"><span class="comments-link"><a href="%blog_baseurl%%post[112]%#disqus_thread" data-disqus-identifier="article_112" rel="nofollow">Comments</a></span></div><!-- end-append-index -->
<!-- End of We-Blog Post ID 112 -->
    ]]></description>
  </item>
  <item>
    <title>pdfPres package created</title>
    <link>http://tonkersten.com/2012/02/111-pdfpres-package-created/</link>
    <guid>http://tonkersten.com/2012/02/111-pdfpres-package-created/</guid>
    <pubDate>Sat, 04 Feb 2012 00:00:01 GMT</pubDate>
    <description><![CDATA[
<!-- Start of We-Blog Post ID 111 -->
<p>To present PDF slides on Linux I use <a href="http://www.uninformativ.de/projects/?q=pdfpres">pdfPres</a>.
But when I want to use this on OS X Lion, this doesn't work. So I created an OS X Lion
package for pdfPres. </p>
<p>This is only tested on OS X Lion and it does require XQuartz.</p>
<p>Please, download the <a href="/files/pdfpres/pdfpres.pkg">pdfPres package</a> and test it.</p>
<!-- start-append-index --><div class="info"><span class="comments-link"><a href="%blog_baseurl%%post[111]%#disqus_thread" data-disqus-identifier="article_111" rel="nofollow">Comments</a></span></div><!-- end-append-index -->
<!-- End of We-Blog Post ID 111 -->
    ]]></description>
  </item>
  <item>
    <title>MySQL database replication</title>
    <link>http://tonkersten.com/2012/01/110-mysql-database-replication/</link>
    <guid>http://tonkersten.com/2012/01/110-mysql-database-replication/</guid>
    <pubDate>Fri, 20 Jan 2012 00:00:01 GMT</pubDate>
    <description><![CDATA[
<!-- Start of We-Blog Post ID 110 -->
<p>This week I was asked to setup a system with a single MySQL master server and a
couple of slave servers. I have done that before, so there is no problem.  The
problem is that I do not do that on a daily basis, so I need to check the
commands every time I set it up. So, as a note to myself I describe how
to setup a single MySQL master with multiple slaves.</p>
<p><img alt="MySQL master with multiple slaves" src="/images/master-slaves.png" title="MySQL master with multiple slaves" /></p>
<!-- start-append-index --><div class="info"><span class="comments-link"><a href="%blog_baseurl%%post[110]%#disqus_thread" data-disqus-identifier="article_110" rel="nofollow">Comments</a></span></div><!-- end-append-index -->
<!-- End of We-Blog Post ID 110 -->
    ]]></description>
  </item>
  <item>
    <title>Twitter from the console</title>
    <link>http://tonkersten.com/2011/12/109-twitter-from-the-console/</link>
    <guid>http://tonkersten.com/2011/12/109-twitter-from-the-console/</guid>
    <pubDate>Mon, 05 Dec 2011 00:00:01 GMT</pubDate>
    <description><![CDATA[
<!-- Start of We-Blog Post ID 109 -->
<p>Since a couple of days I'm also on <a href="http://twitter.com">Twitter</a>.</p>
<p>I tried to avoid it for a while, but I wanted to follow
some people, so it was about time I started to Twitter
as well.</p>
<p>As you can imagine, no graphics for me. It turned out that
wasn't as easy as I hoped. Some of the Twitter command
line tools did not work or where that old that they
even didn't compile.</p>
<p>Then I found <a href="http://www.floodgap.com/software/ttytter/dist1/1.2.04.txt">TTYtter</a>
a Twitter client for the console.</p>
<p>And that's what I'm using now.</p>
<!-- start-append-index --><div class="info"><span class="comments-link"><a href="%blog_baseurl%%post[109]%#disqus_thread" data-disqus-identifier="article_109" rel="nofollow">Comments</a></span></div><!-- end-append-index -->
<!-- End of We-Blog Post ID 109 -->
    ]]></description>
  </item>
  <item>
    <title>Strange question</title>
    <link>http://tonkersten.com/2011/11/108-strange-question/</link>
    <guid>http://tonkersten.com/2011/11/108-strange-question/</guid>
    <pubDate>Wed, 02 Nov 2011 00:00:01 GMT</pubDate>
    <description><![CDATA[
<!-- Start of We-Blog Post ID 108 -->
<p>In the last couple of weeks I've been teaching a course for
shell-script starters.</p>
<p>When I was explaining <code>$@</code> and <code>$*</code> and the difference between
these two a student asked me:</p>
<blockquote>
<p>Does the <code>@</code> have anything to do with the fact that we are
talking about an indirect linked list of command parameters?</p>
</blockquote>
<p>WTF?</p>
<p>Unfortunately I couldn't answer the question, because I don't have
any idea what he's talking about.</p>
<!-- start-append-index --><div class="info"><span class="comments-link"><a href="%blog_baseurl%%post[108]%#disqus_thread" data-disqus-identifier="article_108" rel="nofollow">Comments</a></span></div><!-- end-append-index -->
<!-- End of We-Blog Post ID 108 -->
    ]]></description>
  </item>
  <item>
    <title>Working on We-Blog</title>
    <link>http://tonkersten.com/2011/10/107-working-on-we-blog/</link>
    <guid>http://tonkersten.com/2011/10/107-working-on-we-blog/</guid>
    <pubDate>Fri, 07 Oct 2011 00:00:01 GMT</pubDate>
    <description><![CDATA[
<!-- Start of We-Blog Post ID 107 -->
<p>At the moment I'm working on We-Blog.
I added an 'alt' tag to pages. The defined text will be shown on
'mouse-over' when you hover over the page link.</p>
<p>This is part of We-Blog 0.8. This release is not stable yet, but
the current code is already on <a href="https://github.com/tonk/we-blog">GitHub</a>.</p>
<!-- start-append-index --><div class="info"><span class="comments-link"><a href="%blog_baseurl%%post[107]%#disqus_thread" data-disqus-identifier="article_107" rel="nofollow">Comments</a></span></div><!-- end-append-index -->
<!-- End of We-Blog Post ID 107 -->
    ]]></description>
  </item>
  <item>
    <title>Updated to Linux 3.0</title>
    <link>http://tonkersten.com/2011/08/106-updated-to-linux-30/</link>
    <guid>http://tonkersten.com/2011/08/106-updated-to-linux-30/</guid>
    <pubDate>Sun, 14 Aug 2011 00:00:01 GMT</pubDate>
    <description><![CDATA[
<!-- Start of We-Blog Post ID 106 -->
<p>I have a eeePC 900 (the 9" version) running <a href="http://archlinux.org/">Arch Linux</a>
for some time now. I didn't update it for a while, so, today being a rainy Sunday,
I decided it was time to do it.</p>
<p>So, I typed:</p>
<div class="codehilite"><pre><span class="n">pacman</span> <span class="o">-</span><span class="n">Syu</span>
</pre></div>


<p>and waited for about half an hour.</p>
<p>And look what I got</p>
<div class="codehilite"><pre><span class="n">Linux</span> <span class="n">eeetje</span> <span class="mf">3.0</span><span class="o">-</span><span class="n">ARCH</span>
</pre></div>


<p>Everything is running nice and smooth, so I'm very happy.</p>
<p>Can't wait to get my hands on <code>Linux 3.11 for Workgroups</code> <img class="smiley" alt="smiley" src="/images/smilies/wink_smile.gif" /></p>
<!-- start-append-index --><div class="info"><span class="comments-link"><a href="%blog_baseurl%%post[106]%#disqus_thread" data-disqus-identifier="article_106" rel="nofollow">Comments</a></span></div><!-- end-append-index -->
<!-- End of We-Blog Post ID 106 -->
    ]]></description>
  </item>
  <item>
    <title>Update to OS X Lion</title>
    <link>http://tonkersten.com/2011/07/105-update-to-os-x-lion/</link>
    <guid>http://tonkersten.com/2011/07/105-update-to-os-x-lion/</guid>
    <pubDate>Sun, 24 Jul 2011 00:00:01 GMT</pubDate>
    <description><![CDATA[
<!-- Start of We-Blog Post ID 105 -->
<p>Last Friday I decided it was time to update my MacBook to OS X Lion. So I went
to the app-store and <em>donated</em> my 23.99 euros to Apple.</p>
<p>The download was fast, very fast, if you consider how many people where
downloading at that same moment.</p>
<p>After the download I first made a copy of the installer files, because I read
that the installer throws these files away after installation. And, of course,
I made a full backup with Time Machine.</p>
<p>Installation went smooth, but took a very long time. Initially the installer
said it would take 33 minutes, but the total time ended up to be closer to two
hours.</p>
<p>This is what the system says now: <img alt="OS X Lion" src="/images/OSX_Lion.png" /></p>
<p>Everything is working smoothly, but I did have to reinstall VMware Fusion. This
had a little USB problem, that went away after the reinstall. Some programs
needed to be updated (MacPorts and some others). And, if you are using
anything like Photoshop, you need to install Java. Java is not part of the
Lion install (due to licensing tricks made by Oracle) but you can still
download it from Apple. Just search for <em>'Java Lion'</em>.</p>
<!-- start-append-index --><div class="info"><span class="comments-link"><a href="%blog_baseurl%%post[105]%#disqus_thread" data-disqus-identifier="article_105" rel="nofollow">Comments</a></span></div><!-- end-append-index -->
<!-- End of We-Blog Post ID 105 -->
    ]]></description>
  </item>
  <item>
    <title>Switching to tmux</title>
    <link>http://tonkersten.com/2011/07/104-switching-to-tmux/</link>
    <guid>http://tonkersten.com/2011/07/104-switching-to-tmux/</guid>
    <pubDate>Sun, 24 Jul 2011 00:00:01 GMT</pubDate>
    <description><![CDATA[
<!-- Start of We-Blog Post ID 104 -->
<p>Some time ago I was fighting my <code>.screenrc</code> again. I wanted to change
the status line, but it was hardly possible to read and understand
what I typed hardly half a year ago. The <code>screen</code> config file is not
exactly poetry.</p>
<p>While searching the web to find how to change the status line I ran
into <a href="http://tmux.sourceforge.net"><code>tmux</code></a> and I thought: "Let's give it
a try". And after the very simple compile I started configuring it.
What a surprise I was in for. This config file could be read, understood and
changed. Man, this is good.</p>
<p>One of the first things I changed was the default Prefix key <code>Ctrl-B</code>. I changed
it to <code>Alt-A</code>, so I can still use all the control keys with Vim and in the
terminal.</p>
<!-- start-append-index --><div class="info"><span class="comments-link"><a href="%blog_baseurl%%post[104]%#disqus_thread" data-disqus-identifier="article_104" rel="nofollow">Comments</a></span></div><!-- end-append-index -->
<!-- End of We-Blog Post ID 104 -->
    ]]></description>
  </item>
  <item>
    <title>Blaze blogger emoticons</title>
    <link>http://tonkersten.com/2011/07/103-blaze-blogger-emoticons/</link>
    <guid>http://tonkersten.com/2011/07/103-blaze-blogger-emoticons/</guid>
    <pubDate>Fri, 15 Jul 2011 00:00:01 GMT</pubDate>
    <description><![CDATA[
<!-- Start of We-Blog Post ID 103 -->
<p>In my original Markdown setup I had some smilies, or emoticons, defined that
could be used in the posts. As Python Markdown lacks that I decided to hack it
into BlazeBlogger. The only reason being that I can hack Perl and I can't hack
Python.</p>
<p>In the <code>.blaze/config</code> I now have an option called <code>smilies</code> that points to the
top of the directory containing all smiley images. If this option is not defined
the smiley conversion is skipped.</p>
<p>The option looks like this:</p>
<div class="codehilite"><pre><span class="nv">smilies</span><span class="o">=</span>/images/smilies
</pre></div>


<p>and the code hacked into <code>blaze-make.pl</code> is:</p>
<div class="codehilite"><pre><span class="k">sub </span><span class="nf">convert_smilies</span> <span class="p">{</span>
    <span class="c1">#</span>
    <span class="c1"># Change the smiley ascii&#39;s to picts</span>
    <span class="c1">#</span>
    <span class="k">my</span> <span class="nv">$text</span>  <span class="o">=</span> <span class="nb">shift</span><span class="p">;</span>
    <span class="k">my</span> <span class="nv">$smurl</span> <span class="o">=</span> <span class="nv">$conf</span><span class="o">-&gt;</span><span class="p">{</span><span class="n">blog</span><span class="p">}</span><span class="o">-&gt;</span><span class="p">{</span><span class="n">smilies</span><span class="p">}</span> <span class="o">||</span> <span class="k">return</span> <span class="nv">$text</span><span class="p">;</span>
    <span class="nv">$smurl</span> <span class="o">=</span> <span class="s">&#39;&lt;img class=&quot;smiley&quot; alt=&quot;smiley&quot; src=&quot;&#39;</span> <span class="o">.</span> <span class="nv">$smurl</span><span class="p">;</span>

    <span class="k">my</span> <span class="nv">%smilies</span> <span class="o">=</span> <span class="p">(</span>
        <span class="s">&#39;:-\)&#39;</span><span class="p">,</span>  <span class="s">&#39;regular_smile.gif&#39;</span><span class="p">,</span>   <span class="s">&#39;:-\D&#39;</span><span class="p">,</span>  <span class="s">&#39;teeth_smile.gif&#39;</span><span class="p">,</span>
        <span class="s">&#39;:-\O&#39;</span><span class="p">,</span>  <span class="s">&#39;omg_smile.gif&#39;</span><span class="p">,</span>       <span class="s">&#39;:-\P&#39;</span><span class="p">,</span>  <span class="s">&#39;tongue_smile.gif&#39;</span><span class="p">,</span>
        <span class="s">&#39;;-\)&#39;</span><span class="p">,</span>  <span class="s">&#39;wink_smile.gif&#39;</span><span class="p">,</span>      <span class="s">&#39;:-\(&#39;</span><span class="p">,</span>  <span class="s">&#39;sad_smile.gif&#39;</span><span class="p">,</span>
        <span class="s">&#39;:-\S&#39;</span><span class="p">,</span>  <span class="s">&#39;confused_smile.gif&#39;</span><span class="p">,</span>  <span class="s">&#39;:-\|&#39;</span><span class="p">,</span>  <span class="s">&#39;what_smile.gif&#39;</span><span class="p">,</span>
        <span class="s">&#39;:\&#39;\(&#39;</span><span class="p">,</span> <span class="s">&#39;cry_smile.gif&#39;</span><span class="p">,</span>       <span class="s">&#39;:-\$&#39;</span><span class="p">,</span>  <span class="s">&#39;red_smile.gif&#39;</span><span class="p">,</span>
        <span class="s">&#39;\(H\)&#39;</span><span class="p">,</span> <span class="s">&#39;shades_smile.gif&#39;</span><span class="p">,</span>    <span class="s">&#39;:-\@&#39;</span><span class="p">,</span>  <span class="s">&#39;angry_smile.gif&#39;</span><span class="p">,</span>
        <span class="s">&#39;\(A\)&#39;</span><span class="p">,</span> <span class="s">&#39;angel_smile.gif&#39;</span><span class="p">,</span>     <span class="s">&#39;\(6\)&#39;</span><span class="p">,</span> <span class="s">&#39;devil_smile.gif&#39;</span><span class="p">,</span>
        <span class="s">&#39;:-\#&#39;</span><span class="p">,</span>  <span class="s">&#39;47_47.gif&#39;</span><span class="p">,</span>           <span class="s">&#39;8o\|&#39;</span><span class="p">,</span>  <span class="s">&#39;48_48.gif&#39;</span><span class="p">,</span>
        <span class="s">&#39;8-\|&#39;</span><span class="p">,</span>  <span class="s">&#39;49_49.gif&#39;</span><span class="p">,</span>           <span class="s">&#39;\^o\)&#39;</span><span class="p">,</span> <span class="s">&#39;50_50.gif&#39;</span><span class="p">,</span>
        <span class="s">&#39;:-\*&#39;</span><span class="p">,</span>  <span class="s">&#39;51_51.gif&#39;</span><span class="p">,</span>           <span class="s">&#39;\+o\(&#39;</span><span class="p">,</span> <span class="s">&#39;52_52.gif&#39;</span><span class="p">,</span>
        <span class="s">&#39;:\^\)&#39;</span><span class="p">,</span> <span class="s">&#39;71_71.gif&#39;</span><span class="p">,</span>           <span class="s">&#39;\*-\)&#39;</span><span class="p">,</span> <span class="s">&#39;72_72.gif&#39;</span><span class="p">,</span>
        <span class="s">&#39;\&lt;:o\)&#39;</span><span class="p">,</span><span class="s">&#39;74_74.gif&#39;</span><span class="p">,</span>           <span class="s">&#39;8-\)&#39;</span><span class="p">,</span>  <span class="s">&#39;75_75.gif&#39;</span><span class="p">,</span>
        <span class="s">&#39;\|-\)&#39;</span><span class="p">,</span> <span class="s">&#39;77_77.gif&#39;</span><span class="p">,</span>           <span class="s">&#39;\(C\)&#39;</span><span class="p">,</span> <span class="s">&#39;coffee.gif&#39;</span><span class="p">,</span>
        <span class="s">&#39;\(Y\)&#39;</span><span class="p">,</span> <span class="s">&#39;thumbs_up.gif&#39;</span><span class="p">,</span>       <span class="s">&#39;\(N\)&#39;</span><span class="p">,</span> <span class="s">&#39;thumbs_down.gif&#39;</span><span class="p">,</span>
        <span class="s">&#39;\(B\)&#39;</span><span class="p">,</span> <span class="s">&#39;beer_mug.gif&#39;</span><span class="p">,</span>        <span class="s">&#39;\(D\)&#39;</span><span class="p">,</span> <span class="s">&#39;martini.gif&#39;</span><span class="p">,</span>
        <span class="s">&#39;\(X\)&#39;</span><span class="p">,</span> <span class="s">&#39;girl.gif&#39;</span><span class="p">,</span>            <span class="s">&#39;\(Z\)&#39;</span><span class="p">,</span> <span class="s">&#39;guy.gif&#39;</span><span class="p">,</span>
        <span class="s">&#39;\(\{\)&#39;</span><span class="p">,</span><span class="s">&#39;guy_hug.gif&#39;</span><span class="p">,</span>         <span class="s">&#39;\(\}\)&#39;</span><span class="p">,</span><span class="s">&#39;girl_hug.gif&#39;</span><span class="p">,</span>
        <span class="s">&#39;\:-\[&#39;</span><span class="p">,</span> <span class="s">&#39;bat.gif&#39;</span><span class="p">,</span>             <span class="s">&#39;\(^\)&#39;</span><span class="p">,</span> <span class="s">&#39;cake.gif&#39;</span><span class="p">,</span>
        <span class="s">&#39;\(L\)&#39;</span><span class="p">,</span> <span class="s">&#39;heart.gif&#39;</span><span class="p">,</span>           <span class="s">&#39;\(U\)&#39;</span><span class="p">,</span> <span class="s">&#39;broken_heart.gif&#39;</span><span class="p">,</span>
        <span class="s">&#39;\(K\)&#39;</span><span class="p">,</span> <span class="s">&#39;kiss.gif&#39;</span><span class="p">,</span>            <span class="s">&#39;\(G\)&#39;</span><span class="p">,</span> <span class="s">&#39;present.gif&#39;</span><span class="p">,</span>
        <span class="s">&#39;\(F\)&#39;</span><span class="p">,</span> <span class="s">&#39;rose.gif&#39;</span><span class="p">,</span>            <span class="s">&#39;\(W\)&#39;</span><span class="p">,</span> <span class="s">&#39;wilted_rose.gif&#39;</span><span class="p">,</span>
        <span class="s">&#39;\(P\)&#39;</span><span class="p">,</span> <span class="s">&#39;camera.gif&#39;</span><span class="p">,</span>          <span class="s">&#39;\(\~\)&#39;</span><span class="p">,</span><span class="s">&#39;film.gif&#39;</span><span class="p">,</span>
        <span class="s">&#39;\(\@\)&#39;</span><span class="p">,</span><span class="s">&#39;cat.gif&#39;</span><span class="p">,</span>             <span class="s">&#39;\(\&amp;\)&#39;</span><span class="p">,</span><span class="s">&#39;dog.gif&#39;</span><span class="p">,</span>
        <span class="s">&#39;\(T\)&#39;</span><span class="p">,</span> <span class="s">&#39;phone.gif&#39;</span><span class="p">,</span>           <span class="s">&#39;\(I\)&#39;</span><span class="p">,</span> <span class="s">&#39;lightbulb.gif&#39;</span><span class="p">,</span>
        <span class="s">&#39;\(8\)&#39;</span><span class="p">,</span> <span class="s">&#39;note.gif&#39;</span><span class="p">,</span>            <span class="s">&#39;\(S\)&#39;</span><span class="p">,</span> <span class="s">&#39;moon.gif&#39;</span><span class="p">,</span>
        <span class="s">&#39;\(\*\)&#39;</span><span class="p">,</span><span class="s">&#39;star.gif&#39;</span><span class="p">,</span>            <span class="s">&#39;\(E\)&#39;</span><span class="p">,</span> <span class="s">&#39;envelope.gif&#39;</span><span class="p">,</span>
        <span class="s">&#39;\(O\)&#39;</span><span class="p">,</span> <span class="s">&#39;clock.gif&#39;</span><span class="p">,</span>           <span class="s">&#39;\(sn\)&#39;</span><span class="p">,</span><span class="s">&#39;53_53.gif&#39;</span><span class="p">,</span>
    <span class="p">);</span>

    <span class="k">my</span> <span class="nv">$tag</span><span class="p">;</span>
    <span class="k">foreach</span> <span class="nv">$tag</span> <span class="p">(</span><span class="nb">keys</span> <span class="nv">%smilies</span><span class="p">)</span>
    <span class="p">{</span>
        <span class="nv">$text</span> <span class="o">=~</span> <span class="sr">s!$tag!$smurl/$smilies{$tag}\&quot; /&gt;!g</span><span class="p">;</span>
    <span class="p">}</span>

    <span class="k">return</span> <span class="nv">$text</span><span class="p">;</span>
<span class="p">}</span>
</pre></div>


<p>and add it to the functions <code>generate_posts</code> and <code>read_entry</code>.</p>
<p>This list is already rather long, and I do think it's not a very good idea to make
it longer. It will seriously impact the performance.</p><!-- start-append-index --><div class="info"><span class="comments-link"><a href="%blog_baseurl%%post[103]%#disqus_thread" data-disqus-identifier="article_103" rel="nofollow">Comments</a></span></div><!-- end-append-index -->
<!-- End of We-Blog Post ID 103 -->
    ]]></description>
  </item>
</channel>
</rss>
