<?xml version="1.0" encoding="utf-8" ?>

<rss version="2.0" 
   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
   xmlns:admin="http://webns.net/mvcb/"
   xmlns:dc="http://purl.org/dc/elements/1.1/"
   xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
   xmlns:wfw="http://wellformedweb.org/CommentAPI/"
   xmlns:content="http://purl.org/rss/1.0/modules/content/"
   >
<channel>
    <title>Anatoliy Belsky</title>
    <link>http://www.belsky.info/</link>
    <description>That's what I'm thinking ...  </description>
    <dc:language>en</dc:language>
    <generator>Serendipity 1.2.1 - http://www.s9y.org/</generator>
    
    

<item>
    <title>Using great Geonames database for geographical data handling</title>
    <link>http://www.belsky.info/archives/29-Using-great-Geonames-database-for-geographical-data-handling.html</link>
            <category>Bash</category>
            <category>Linux</category>
            <category>PostgreSQL</category>
            <category>Web</category>
    
    <comments>http://www.belsky.info/archives/29-Using-great-Geonames-database-for-geographical-data-handling.html#comments</comments>
    <wfw:comment>http://www.belsky.info/wfwcomment.php?cid=29</wfw:comment>

    <slash:comments>2</slash:comments>
    <wfw:commentRss>http://www.belsky.info/rss.php?version=2.0&amp;type=comments&amp;cid=29</wfw:commentRss>
    

    <author>nospam@example.com (Anatoliy Belsky)</author>
    <content:encoded>
    This time I needed some geographical data evaluation for one of my current projects. The data used to be opensource and as possible qualitative and complete. After spending some time in front of the famous search engine window there was a solution: &lt;br /&gt;
&lt;br /&gt;
&lt;a href=&quot;http://www.geonames.org/&quot;&gt;http://www.geonames.org/&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
That&#039;s the first sentence from the site:&lt;br /&gt;
&lt;br /&gt;
&lt;blockquote&gt;The GeoNames geographical database covers all countries and contains over eight million placenames that are available for download free of charge.&lt;/blockquote&gt;&lt;br /&gt;
&lt;br /&gt;
Geonames is used by number of sites. Besides data it has also web services and code libraries in many programming languages to access them. &lt;br /&gt;&lt;a href=&quot;http://www.belsky.info/archives/29-Using-great-Geonames-database-for-geographical-data-handling.html#extended&quot;&gt;Continue reading &quot;Using great Geonames database for geographical data handling&quot;&lt;/a&gt;
    </content:encoded>

    <pubDate>Thu, 03 Jun 2010 13:57:19 +0200</pubDate>
    <guid isPermaLink="false">http://www.belsky.info/archives/29-guid.html</guid>
    
</item>
<item>
    <title>Turn PHP non public class/object methods available</title>
    <link>http://www.belsky.info/archives/28-Turn-PHP-non-public-classobject-methods-available.html</link>
            <category>C/C++</category>
            <category>PHP5</category>
            <category>PHP5 extentions</category>
    
    <comments>http://www.belsky.info/archives/28-Turn-PHP-non-public-classobject-methods-available.html#comments</comments>
    <wfw:comment>http://www.belsky.info/wfwcomment.php?cid=28</wfw:comment>

    <slash:comments>5</slash:comments>
    <wfw:commentRss>http://www.belsky.info/rss.php?version=2.0&amp;type=comments&amp;cid=28</wfw:commentRss>
    

    <author>nospam@example.com (Anatoliy Belsky)</author>
    <content:encoded>
    Anyone who did unit testing in PHP knows that private methods are untestable. One workaround for this could be to make no private but protected only members and to call methods using a proxy class. Another approach I&#039;d like to present here is a small extension hack. &lt;br /&gt;&lt;a href=&quot;http://www.belsky.info/archives/28-Turn-PHP-non-public-classobject-methods-available.html#extended&quot;&gt;Continue reading &quot;Turn PHP non public class/object methods available&quot;&lt;/a&gt;
    </content:encoded>

    <pubDate>Thu, 17 Sep 2009 22:46:02 +0200</pubDate>
    <guid isPermaLink="false">http://www.belsky.info/archives/28-guid.html</guid>
    
</item>
<item>
    <title>Making server side playlist with PHP</title>
    <link>http://www.belsky.info/archives/26-Making-server-side-playlist-with-PHP.html</link>
            <category>Linux</category>
            <category>PHP5</category>
            <category>Web</category>
    
    <comments>http://www.belsky.info/archives/26-Making-server-side-playlist-with-PHP.html#comments</comments>
    <wfw:comment>http://www.belsky.info/wfwcomment.php?cid=26</wfw:comment>

    <slash:comments>2</slash:comments>
    <wfw:commentRss>http://www.belsky.info/rss.php?version=2.0&amp;type=comments&amp;cid=26</wfw:commentRss>
    

    <author>nospam@example.com (Anatoliy Belsky)</author>
    <content:encoded>
    Hi again,&lt;br /&gt;
&lt;br /&gt;
whole last week I was mad about hearing music. I&#039;ve heared tons of mp3&#039;s and radio stations over the internet.  After a couple of days hearing music at work and at home I was really bored with creating and syncronizing playlists/files. Based on this, I came to the idea to make an online playlist which I would must update only one time and in one place and it would be accessible from anywhere. The idea was easy brougth out with PHP. So just a light reading for you:&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;&lt;a href=&quot;http://www.belsky.info/archives/26-Making-server-side-playlist-with-PHP.html#extended&quot;&gt;Continue reading &quot;Making server side playlist with PHP&quot;&lt;/a&gt;
    </content:encoded>

    <pubDate>Thu, 02 Oct 2008 19:36:35 +0200</pubDate>
    <guid isPermaLink="false">http://www.belsky.info/archives/26-guid.html</guid>
    
</item>
<item>
    <title>Gender PHP Extension</title>
    <link>http://www.belsky.info/archives/25-Gender-PHP-Extension.html</link>
            <category>C/C++</category>
            <category>PHP5</category>
            <category>PHP5 extentions</category>
    
    <comments>http://www.belsky.info/archives/25-Gender-PHP-Extension.html#comments</comments>
    <wfw:comment>http://www.belsky.info/wfwcomment.php?cid=25</wfw:comment>

    <slash:comments>1</slash:comments>
    <wfw:commentRss>http://www.belsky.info/rss.php?version=2.0&amp;type=comments&amp;cid=25</wfw:commentRss>
    

    <author>nospam@example.com (Anatoliy Belsky)</author>
    <content:encoded>
    Hi there,&lt;br /&gt;
&lt;br /&gt;
last week I wrote a PHP port for Joerg Michael&#039;s gender program. The program stands for gender recognition based on firstnames and has a base of &gt;40000 firstnames from around the world. I hope the stuff is deserved to be accepted on PECL.&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;&lt;a href=&quot;http://www.belsky.info/archives/25-Gender-PHP-Extension.html#extended&quot;&gt;Continue reading &quot;Gender PHP Extension&quot;&lt;/a&gt;
    </content:encoded>

    <pubDate>Sun, 24 Aug 2008 21:25:41 +0200</pubDate>
    <guid isPermaLink="false">http://www.belsky.info/archives/25-guid.html</guid>
    
</item>
<item>
    <title>Phurple - per se PHPurple</title>
    <link>http://www.belsky.info/archives/23-Phurple-per-se-PHPurple.html</link>
            <category>C/C++</category>
            <category>Linux</category>
            <category>PHP5</category>
            <category>PHP5 extentions</category>
    
    <comments>http://www.belsky.info/archives/23-Phurple-per-se-PHPurple.html#comments</comments>
    <wfw:comment>http://www.belsky.info/wfwcomment.php?cid=23</wfw:comment>

    <slash:comments>71</slash:comments>
    <wfw:commentRss>http://www.belsky.info/rss.php?version=2.0&amp;type=comments&amp;cid=23</wfw:commentRss>
    

    <author>nospam@example.com (Anatoliy Belsky)</author>
    <content:encoded>
    Hey you all (and me too) web developers. The huge important news today is - now we can send IMs from a script running within a web server - isn&#039;t it cool? Only one restriction conditioned by libpurple itself is there - use is definitely safe within CGI environment only. The second important news, as you see from the title - the project was renamed to Phurple. Furthermore there are a couple essential changes I was made as refactoring of the code was written so far.&lt;br /&gt;
&lt;br /&gt;
Became interested? Lets look onto most important points in the changelog:&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;&lt;a href=&quot;http://www.belsky.info/archives/23-Phurple-per-se-PHPurple.html#extended&quot;&gt;Continue reading &quot;Phurple - per se PHPurple&quot;&lt;/a&gt;
    </content:encoded>

    <pubDate>Fri, 08 Aug 2008 23:58:00 +0200</pubDate>
    <guid isPermaLink="false">http://www.belsky.info/archives/23-guid.html</guid>
    
</item>
<item>
    <title>PHPurple v0.3 alpha released</title>
    <link>http://www.belsky.info/archives/22-PHPurple-v0.3-alpha-released.html</link>
            <category>C/C++</category>
            <category>Linux</category>
            <category>PHP5</category>
            <category>PHP5 extentions</category>
    
    <comments>http://www.belsky.info/archives/22-PHPurple-v0.3-alpha-released.html#comments</comments>
    <wfw:comment>http://www.belsky.info/wfwcomment.php?cid=22</wfw:comment>

    <slash:comments>19</slash:comments>
    <wfw:commentRss>http://www.belsky.info/rss.php?version=2.0&amp;type=comments&amp;cid=22</wfw:commentRss>
    

    <author>nospam@example.com (Anatoliy Belsky)</author>
    <content:encoded>
    So, new PHPurple version was issued yesterday and is downloadable from sf.net. What&#039;s inside:&lt;br /&gt;
&lt;br /&gt;
* PurpleAccount::isConnecting() added&lt;br /&gt;
* PurpleAccount::getUserName() added&lt;br /&gt;
* PurpleAccount::getPassword() added&lt;br /&gt;
* PurpleClient::deleteAccount() added&lt;br /&gt;
* PurpleClient::findAccount() added&lt;br /&gt;
* PurpleClient::addAccount returns now a PurpleAccount instance (but was null)&lt;br /&gt;
* PurpleClient::authorizeRequest() added&lt;br /&gt;
&lt;br /&gt;
The most interesting thing there is of course the remote client authorization. &lt;br /&gt;&lt;a href=&quot;http://www.belsky.info/archives/22-PHPurple-v0.3-alpha-released.html#extended&quot;&gt;Continue reading &quot;PHPurple v0.3 alpha released&quot;&lt;/a&gt;
    </content:encoded>

    <pubDate>Tue, 01 Jul 2008 18:53:34 +0200</pubDate>
    <guid isPermaLink="false">http://www.belsky.info/archives/22-guid.html</guid>
    
</item>
<item>
    <title>Functions vs. inline code</title>
    <link>http://www.belsky.info/archives/21-Functions-vs.-inline-code.html</link>
            <category>Perl</category>
            <category>PHP5</category>
            <category>Python</category>
    
    <comments>http://www.belsky.info/archives/21-Functions-vs.-inline-code.html#comments</comments>
    <wfw:comment>http://www.belsky.info/wfwcomment.php?cid=21</wfw:comment>

    <slash:comments>1</slash:comments>
    <wfw:commentRss>http://www.belsky.info/rss.php?version=2.0&amp;type=comments&amp;cid=21</wfw:commentRss>
    

    <author>nospam@example.com (Anatoliy Belsky)</author>
    <content:encoded>
    Recently I had a little discussion about our style guide with one of the co-workers. And the matter was concerning the line length. Most default is to limit the line length with 79-85 characters - because of terminals, printing etc. But an other question took my head in the middle of the conversation: limiting the line length would mean for example to encapsulate deep included blocks of the code into functions - sounds not bad, but ... &lt;br /&gt;
 &lt;br /&gt;&lt;a href=&quot;http://www.belsky.info/archives/21-Functions-vs.-inline-code.html#extended&quot;&gt;Continue reading &quot;Functions vs. inline code&quot;&lt;/a&gt;
    </content:encoded>

    <pubDate>Sun, 22 Jun 2008 16:56:22 +0200</pubDate>
    <guid isPermaLink="false">http://www.belsky.info/archives/21-guid.html</guid>
    
</item>
<item>
    <title>PHPurple v0.2 alpha released</title>
    <link>http://www.belsky.info/archives/20-PHPurple-v0.2-alpha-released.html</link>
            <category>C/C++</category>
            <category>Linux</category>
            <category>PHP5</category>
            <category>PHP5 extentions</category>
    
    <comments>http://www.belsky.info/archives/20-PHPurple-v0.2-alpha-released.html#comments</comments>
    <wfw:comment>http://www.belsky.info/wfwcomment.php?cid=20</wfw:comment>

    <slash:comments>3</slash:comments>
    <wfw:commentRss>http://www.belsky.info/rss.php?version=2.0&amp;type=comments&amp;cid=20</wfw:commentRss>
    

    <author>nospam@example.com (Anatoliy Belsky)</author>
    <content:encoded>
    Today I&#039;ve maked the second PHPurple release and changed it&#039;s status to alpha. The changes, came into it, are:&lt;br /&gt;
&lt;br /&gt;
* fixed zts compatibility&lt;br /&gt;
* implemented the loopHeartBeat method&lt;br /&gt;
* the runLoop method was changed to set the heartbeat interval&lt;br /&gt;
* fixed memory leak on empty alias&lt;br /&gt;
* purple.debug_enabled is now boolean&lt;br /&gt;
&lt;br /&gt;
The most interesting on this release is the PurpleClient::loopHeartBeat() story, which is of course implemented with g_timeout_add. Take a look at the new example script to see how it works.&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;&lt;a href=&quot;http://www.belsky.info/archives/20-PHPurple-v0.2-alpha-released.html#extended&quot;&gt;Continue reading &quot;PHPurple v0.2 alpha released&quot;&lt;/a&gt;
    </content:encoded>

    <pubDate>Sat, 31 May 2008 07:44:20 +0200</pubDate>
    <guid isPermaLink="false">http://www.belsky.info/archives/20-guid.html</guid>
    
</item>
<item>
    <title>Postfix+Spamassassin</title>
    <link>http://www.belsky.info/archives/19-Postfix+Spamassassin.html</link>
            <category>Bash</category>
            <category>Linux</category>
    
    <comments>http://www.belsky.info/archives/19-Postfix+Spamassassin.html#comments</comments>
    <wfw:comment>http://www.belsky.info/wfwcomment.php?cid=19</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>http://www.belsky.info/rss.php?version=2.0&amp;type=comments&amp;cid=19</wfw:commentRss>
    

    <author>nospam@example.com (Anatoliy Belsky)</author>
    <content:encoded>
    Referencing my previous &lt;a href=&quot;http://thinker.rubay.de/archives/12-Postfix-+-Dovecot-SMTP-and-IMAP-on-Debian-Etch.html&quot;&gt;article&lt;/a&gt; about the mali server configuration, I&#039;m continuing with spam and antivirus scanners setup. On my Debian box i&#039;m installing the following:&lt;br /&gt;
&lt;br /&gt;
&lt;div&gt;&lt;b&gt;BASH:&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;pre class=&quot;bash&quot; style=&quot;color: #000066; border: 1px solid #d0d0d0; background-color: #f0f0f0;padding-left: 3px;&quot;&gt;user@host~$ apt-get &lt;span style=&quot;color: #c20cb9; font-weight: bold;&quot;&gt;install&lt;/span&gt; spamassassin&lt;/pre&gt;&lt;/div&gt;&lt;br /&gt;
&lt;br /&gt;
With this groups spamd and clamav are automatically created. Before you start, keep in mind - if something goes wrong, allways check the /var/log/mail.* files. &lt;br /&gt;&lt;a href=&quot;http://www.belsky.info/archives/19-Postfix+Spamassassin.html#extended&quot;&gt;Continue reading &quot;Postfix+Spamassassin&quot;&lt;/a&gt;
    </content:encoded>

    <pubDate>Fri, 02 May 2008 21:02:13 +0200</pubDate>
    <guid isPermaLink="false">http://www.belsky.info/archives/19-guid.html</guid>
    
</item>
<item>
    <title>Don't underestimate SQL</title>
    <link>http://www.belsky.info/archives/18-Dont-underestimate-SQL.html</link>
            <category>Bash</category>
            <category>PostgreSQL</category>
            <category>Python</category>
    
    <comments>http://www.belsky.info/archives/18-Dont-underestimate-SQL.html#comments</comments>
    <wfw:comment>http://www.belsky.info/wfwcomment.php?cid=18</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>http://www.belsky.info/rss.php?version=2.0&amp;type=comments&amp;cid=18</wfw:commentRss>
    

    <author>nospam@example.com (Anatoliy Belsky)</author>
    <content:encoded>
    Hi there.&lt;br /&gt;
&lt;br /&gt;
The things I wanna to talk about today are - relational databases building. Particularly I would discuss such the attainments of relational sql as join and subselect. For my experiment I&#039;ll take PostgreSQL and Python.&lt;br /&gt;
&lt;br /&gt;
So, lets start:&lt;br /&gt;
&lt;br /&gt;
&lt;div&gt;&lt;b&gt;BASH:&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;pre class=&quot;bash&quot; style=&quot;color: #000066; border: 1px solid #d0d0d0; background-color: #f0f0f0;padding-left: 3px;&quot;&gt;user@host~$ &lt;span style=&quot;color: #c20cb9; font-weight: bold;&quot;&gt;su&lt;/span&gt; postgres
postgres@host~$ createuser -P &lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;test&lt;/span&gt;
Enter password &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;for&lt;/span&gt; new role:
Enter it again:
Shall the new role be a superuser? &lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#40;&lt;/span&gt;y/n&lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#41;&lt;/span&gt; n
Shall the new role be allowed to create &lt;span style=&quot;color: #c20cb9; font-weight: bold;&quot;&gt;more&lt;/span&gt; new roles? &lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#40;&lt;/span&gt;y/n&lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#41;&lt;/span&gt; n
postgres@host~$ createdb &lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;test&lt;/span&gt;
postgres@host~$ &lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;exit&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt; &lt;br /&gt;&lt;a href=&quot;http://www.belsky.info/archives/18-Dont-underestimate-SQL.html#extended&quot;&gt;Continue reading &quot;Don&#039;t underestimate SQL&quot;&lt;/a&gt;
    </content:encoded>

    <pubDate>Sun, 27 Apr 2008 21:37:00 +0200</pubDate>
    <guid isPermaLink="false">http://www.belsky.info/archives/18-guid.html</guid>
    
</item>
<item>
    <title>Domains avaliability checker</title>
    <link>http://www.belsky.info/archives/17-Domains-avaliability-checker.html</link>
            <category>Bash</category>
            <category>Linux</category>
            <category>Web</category>
    
    <comments>http://www.belsky.info/archives/17-Domains-avaliability-checker.html#comments</comments>
    <wfw:comment>http://www.belsky.info/wfwcomment.php?cid=17</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>http://www.belsky.info/rss.php?version=2.0&amp;type=comments&amp;cid=17</wfw:commentRss>
    

    <author>nospam@example.com (Anatoliy Belsky)</author>
    <content:encoded>
    About a month ago I&#039;ve written a simple domain checker, which is using whois.net to get the domains availiable. The main goal was to find free 3-symbols domains. &lt;br /&gt;
&lt;br /&gt;
&lt;div&gt;&lt;b&gt;BASH:&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;pre class=&quot;bash&quot; style=&quot;color: #000066; border: 1px solid #d0d0d0; background-color: #f0f0f0;padding-left: 3px;&quot;&gt;&lt;span style=&quot;color: #808080; font-style: italic;&quot;&gt;#!/bin/&lt;span style=&quot;color: #c20cb9; font-weight: bold;&quot;&gt;sh&lt;/span&gt; &lt;/span&gt;
&amp;#160;
&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;if&lt;/span&gt; &lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#91;&lt;/span&gt; &lt;span style=&quot;color: #007800;&quot;&gt;$#&lt;/span&gt; -lt &lt;span style=&quot;color: #000000;&quot;&gt;1&lt;/span&gt; &lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#93;&lt;/span&gt;
&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;then&lt;/span&gt;
    &lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;echo&lt;/span&gt; &lt;span style=&quot;color: #ff0000;&quot;&gt;&amp;quot;usage: `basename $0` extension
Check domains avaliability
&amp;#160;
examples:
`basename $0` com
&amp;quot;&lt;/span&gt;;
    &lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;exit&lt;/span&gt; &lt;span style=&quot;color: #000000;&quot;&gt;2&lt;/span&gt;;
&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;fi&lt;/span&gt;
&amp;#160;
&lt;span style=&quot;color: #007800;&quot;&gt;EXT=&lt;/span&gt;$&lt;span style=&quot;color: #000000;&quot;&gt;1&lt;/span&gt;;
&lt;span style=&quot;color: #007800;&quot;&gt;LAST_FILENAME=&lt;/span&gt;/tmp/dc_&lt;span style=&quot;color: #007800;&quot;&gt;$USER&lt;/span&gt;&lt;span style=&quot;color: #007800;&quot;&gt;$EXT&lt;/span&gt;.&lt;span style=&quot;color: #c20cb9; font-weight: bold;&quot;&gt;last&lt;/span&gt;
&amp;#160;
&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;if&lt;/span&gt; &lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#91;&lt;/span&gt; -f &lt;span style=&quot;color: #ff0000;&quot;&gt;&amp;quot;$LAST_FILENAME&amp;quot;&lt;/span&gt; &lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#93;&lt;/span&gt;; &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;then&lt;/span&gt; &lt;span style=&quot;color: #007800;&quot;&gt;LAST_DOMAIN=&lt;/span&gt;`&lt;span style=&quot;color: #c20cb9; font-weight: bold;&quot;&gt;cat&lt;/span&gt; &lt;span style=&quot;color: #007800;&quot;&gt;$LAST_FILENAME&lt;/span&gt;`; &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;fi&lt;/span&gt; 
&amp;#160;
&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;for&lt;/span&gt; DOMAIN &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;in&lt;/span&gt; &lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#123;&lt;/span&gt;&lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#123;&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;0&lt;/span&gt;..&lt;span style=&quot;color: #000000;&quot;&gt;9&lt;/span&gt;&lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#125;&lt;/span&gt;,&lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#123;&lt;/span&gt;a..z&lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#125;&lt;/span&gt;,-&lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#125;&lt;/span&gt;&lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#123;&lt;/span&gt;&lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#123;&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;0&lt;/span&gt;..&lt;span style=&quot;color: #000000;&quot;&gt;9&lt;/span&gt;&lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#125;&lt;/span&gt;,&lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#123;&lt;/span&gt;a..z&lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#125;&lt;/span&gt;,-&lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#125;&lt;/span&gt;&lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#123;&lt;/span&gt;&lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#123;&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;0&lt;/span&gt;..&lt;span style=&quot;color: #000000;&quot;&gt;9&lt;/span&gt;&lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#125;&lt;/span&gt;,&lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#123;&lt;/span&gt;a..z&lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#125;&lt;/span&gt;,-&lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#125;&lt;/span&gt;
&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;do&lt;/span&gt;
    &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;if&lt;/span&gt; &lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#91;&lt;/span&gt; &lt;span style=&quot;color: #ff0000;&quot;&gt;&amp;quot;$DOMAIN&amp;quot;&lt;/span&gt; \&amp;lt; &lt;span style=&quot;color: #ff0000;&quot;&gt;&amp;quot;$LAST_DOMAIN&amp;quot;&lt;/span&gt; &lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#93;&lt;/span&gt;; &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;then&lt;/span&gt; &lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;continue&lt;/span&gt;; &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;fi&lt;/span&gt;
&amp;#160;
    &lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;trap&lt;/span&gt; &lt;span style=&quot;color: #ff0000;&quot;&gt;&amp;quot;echo $DOMAIN &amp;gt; $LAST_FILENAME;exit;&amp;quot;&lt;/span&gt; SIGHUP SIGINT SIGTERM
&amp;#160;
    &lt;span style=&quot;color: #007800;&quot;&gt;STATUS_STRING=&lt;/span&gt;`&lt;span style=&quot;color: #c20cb9; font-weight: bold;&quot;&gt;wget&lt;/span&gt; -qO - http://www.whois.net/whois_new.cgi\?d\=&lt;span style=&quot;color: #007800;&quot;&gt;$DOMAIN&lt;/span&gt;\&amp;amp;tld\=&lt;span style=&quot;color: #007800;&quot;&gt;$EXT&lt;/span&gt; | &lt;span style=&quot;color: #c20cb9; font-weight: bold;&quot;&gt;grep&lt;/span&gt; &lt;span style=&quot;color: #ff0000;&quot;&gt;&#039;Status&#039;&lt;/span&gt;`
&amp;#160;
    &lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;echo&lt;/span&gt; &lt;span style=&quot;color: #ff0000;&quot;&gt;&amp;quot;$STATUS_STRING&amp;quot;&lt;/span&gt; | &lt;span style=&quot;color: #c20cb9; font-weight: bold;&quot;&gt;grep&lt;/span&gt; &lt;span style=&quot;color: #ff0000;&quot;&gt;&#039;free&#039;&lt;/span&gt; &amp;amp;&amp;amp; 
    &lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;echo&lt;/span&gt; &lt;span style=&quot;color: #ff0000;&quot;&gt;&amp;quot;$DOMAIN.$EXT&amp;quot;&lt;/span&gt; &amp;gt;&amp;gt; ~/domains_found_&lt;span style=&quot;color: #007800;&quot;&gt;$EXT&lt;/span&gt;.txt &amp;amp;&amp;amp; 
    &lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;echo&lt;/span&gt; &lt;span style=&quot;color: #ff0000;&quot;&gt;&amp;quot;the domain is free: $DOMAIN.$EXT&amp;quot;&lt;/span&gt; | mail -c my@mail.com -s &lt;span style=&quot;color: #ff0000;&quot;&gt;&amp;quot;free domain&amp;quot;&lt;/span&gt; other@mail.com
&amp;#160;
    &lt;span style=&quot;color: #c20cb9; font-weight: bold;&quot;&gt;sleep&lt;/span&gt; &lt;span style=&quot;color: #000000;&quot;&gt;7&lt;/span&gt;
&amp;#160;
&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;done&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;&lt;br /&gt;
&lt;br /&gt;
The thing is very simple and the results can be kept on. Additionally it sends mail messages about each found domain. Lets see, what it brought for the .de domains ( about 9000 free domains was found &lt;img src=&quot;http://www.belsky.info/templates/default/img/emoticons/wink.png&quot; alt=&quot;;-)&quot; style=&quot;display: inline; vertical-align: bottom;&quot; class=&quot;emoticon&quot; /&gt; ) &lt;br /&gt;&lt;a href=&quot;http://www.belsky.info/archives/17-Domains-avaliability-checker.html#extended&quot;&gt;Continue reading &quot;Domains avaliability checker&quot;&lt;/a&gt;
    </content:encoded>

    <pubDate>Wed, 12 Mar 2008 22:44:06 +0100</pubDate>
    <guid isPermaLink="false">http://www.belsky.info/archives/17-guid.html</guid>
    
</item>
<item>
    <title>Map objects recursive in perl</title>
    <link>http://www.belsky.info/archives/16-Map-objects-recursive-in-perl.html</link>
            <category>Perl</category>
    
    <comments>http://www.belsky.info/archives/16-Map-objects-recursive-in-perl.html#comments</comments>
    <wfw:comment>http://www.belsky.info/wfwcomment.php?cid=16</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>http://www.belsky.info/rss.php?version=2.0&amp;type=comments&amp;cid=16</wfw:commentRss>
    

    <author>nospam@example.com (Anatoliy Belsky)</author>
    <content:encoded>
    One interesting thing I&#039;ve got stucked on - if we have some multilevel arrays/hashes (which aren&#039;t the same in perl), there is no standard way to change all the object&#039;s values. The only thing I&#039;ve found usefull is &lt;a href=&quot;http://perldoc.perl.org/functions/map.html&quot;&gt;map&lt;/a&gt; function, which nevertheless works only for map arrays.  However, it could be very usefull, to have a possibility to change each scalar element of some multilevel object. For example, if you ever used XML::Simple, you could observe the following behavior with values, which contain new lines.&lt;br /&gt;
&lt;br /&gt;
&lt;div&gt;&lt;b&gt;XML:&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;pre class=&quot;xml&quot; style=&quot;color: #000066; border: 1px solid #d0d0d0; background-color: #f0f0f0;padding-left: 3px;&quot;&gt;&lt;span style=&quot;color: #009900;&quot;&gt;&lt;span style=&quot;font-weight: bold; color: black;&quot;&gt;&amp;lt;root&lt;span style=&quot;font-weight: bold; color: black;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
    &lt;span style=&quot;color: #009900;&quot;&gt;&lt;span style=&quot;font-weight: bold; color: black;&quot;&gt;&amp;lt;elem&lt;span style=&quot;font-weight: bold; color: black;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;asdf&lt;span style=&quot;color: #009900;&quot;&gt;&lt;span style=&quot;font-weight: bold; color: black;&quot;&gt;&amp;lt;/elem&lt;span style=&quot;font-weight: bold; color: black;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span style=&quot;color: #009900;&quot;&gt;&lt;span style=&quot;font-weight: bold; color: black;&quot;&gt;&amp;lt;/root&lt;span style=&quot;font-weight: bold; color: black;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;&lt;br /&gt;
 &lt;br /&gt;&lt;a href=&quot;http://www.belsky.info/archives/16-Map-objects-recursive-in-perl.html#extended&quot;&gt;Continue reading &quot;Map objects recursive in perl&quot;&lt;/a&gt;
    </content:encoded>

    <pubDate>Sat, 08 Mar 2008 17:19:33 +0100</pubDate>
    <guid isPermaLink="false">http://www.belsky.info/archives/16-guid.html</guid>
    
</item>
<item>
    <title>Relicensing PHPurple</title>
    <link>http://www.belsky.info/archives/15-Relicensing-PHPurple.html</link>
    
    <comments>http://www.belsky.info/archives/15-Relicensing-PHPurple.html#comments</comments>
    <wfw:comment>http://www.belsky.info/wfwcomment.php?cid=15</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>http://www.belsky.info/rss.php?version=2.0&amp;type=comments&amp;cid=15</wfw:commentRss>
    

    <author>nospam@example.com (Anatoliy Belsky)</author>
    <content:encoded>
    Just a short message. PHPurple is falling back to GPL. It will get neither PHP nor any other (commercial) license ever. The ground is simply, the libpurple is GPL&#039;ed itself and the developers count is so much, that there is no chance to get a special permission to do this. If you interested in details of this discussion, take look at the libpurple&#039;s developers mailing lists. 
    </content:encoded>

    <pubDate>Wed, 05 Mar 2008 22:18:36 +0100</pubDate>
    <guid isPermaLink="false">http://www.belsky.info/archives/15-guid.html</guid>
    
</item>
<item>
    <title>PHPurple 0.1.0 pre-alpha</title>
    <link>http://www.belsky.info/archives/14-PHPurple-0.1.0-pre-alpha.html</link>
            <category>C/C++</category>
            <category>Linux</category>
            <category>PHP5</category>
            <category>PHP5 extentions</category>
    
    <comments>http://www.belsky.info/archives/14-PHPurple-0.1.0-pre-alpha.html#comments</comments>
    <wfw:comment>http://www.belsky.info/wfwcomment.php?cid=14</wfw:comment>

    <slash:comments>35</slash:comments>
    <wfw:commentRss>http://www.belsky.info/rss.php?version=2.0&amp;type=comments&amp;cid=14</wfw:commentRss>
    

    <author>nospam@example.com (Anatoliy Belsky)</author>
    <content:encoded>
    The first pre-alpha is released and can be downloaded at &lt;a href=&quot;http://sourceforge.net/projects/phpurple/&quot;&gt;http://sourceforge.net/projects/phpurple/&lt;/a&gt;. The common documentation I&#039;ve started to make was placed to &lt;a href=&quot;http://phpurple.rubay.de/&quot;&gt;http://phpurple.rubay.de/&lt;/a&gt;. &lt;br /&gt;
&lt;br /&gt;
The main features implemented are:&lt;br /&gt;
&lt;br /&gt;
- send and recieve IMs&lt;br /&gt;
- fully implemented account dsn like string&lt;br /&gt;
- ability to make account specific settings&lt;br /&gt;
- basic work with buddy, buddy group and buddy list&lt;br /&gt;
&lt;br /&gt;
&lt;strike&gt;The license was changed to the BSD like proprietary license.&lt;/strike&gt;&lt;br /&gt;
 &lt;br /&gt;&lt;a href=&quot;http://www.belsky.info/archives/14-PHPurple-0.1.0-pre-alpha.html#extended&quot;&gt;Continue reading &quot;PHPurple 0.1.0 pre-alpha&quot;&lt;/a&gt;
    </content:encoded>

    <pubDate>Sun, 02 Mar 2008 16:14:37 +0100</pubDate>
    <guid isPermaLink="false">http://www.belsky.info/archives/14-guid.html</guid>
    
</item>
<item>
    <title>Building static executables on Linux</title>
    <link>http://www.belsky.info/archives/13-Building-static-executables-on-Linux.html</link>
            <category>C/C++</category>
            <category>Linux</category>
    
    <comments>http://www.belsky.info/archives/13-Building-static-executables-on-Linux.html#comments</comments>
    <wfw:comment>http://www.belsky.info/wfwcomment.php?cid=13</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>http://www.belsky.info/rss.php?version=2.0&amp;type=comments&amp;cid=13</wfw:commentRss>
    

    <author>nospam@example.com (Anatoliy Belsky)</author>
    <content:encoded>
    An interesting question I had to answer a couple months ago was - how could I compile an executable statically, so then it works on various linux distributions without the need to install some additional libs. Of course, such the executables are bigger as that, which was compiled in order to use the dynamic libs. But if one wanna to have an independent production executable, this is what one could need.&lt;br /&gt;
&lt;br /&gt;
So, I will explain the thing with the help of an example program, which uses ncurses. First I&#039;m creating the project dir, for example:&lt;br /&gt;
&lt;br /&gt;
&lt;div&gt;&lt;b&gt;BASH:&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;pre class=&quot;bash&quot; style=&quot;color: #000066; border: 1px solid #d0d0d0; background-color: #f0f0f0;padding-left: 3px;&quot;&gt;user@host~$ &lt;span style=&quot;color: #c20cb9; font-weight: bold;&quot;&gt;mkdir&lt;/span&gt; ~/programming/static_test
user@host~$ &lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;cd&lt;/span&gt; ~/programming/static_test&lt;/pre&gt;&lt;/div&gt; &lt;br /&gt;&lt;a href=&quot;http://www.belsky.info/archives/13-Building-static-executables-on-Linux.html#extended&quot;&gt;Continue reading &quot;Building static executables on Linux&quot;&lt;/a&gt;
    </content:encoded>

    <pubDate>Fri, 29 Feb 2008 19:05:03 +0100</pubDate>
    <guid isPermaLink="false">http://www.belsky.info/archives/13-guid.html</guid>
    
</item>

</channel>
</rss>