<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>ioannis blog</title>
	<atom:link href="http://ioannis.mpsounds.net/blog/feed/" rel="self" type="application/rss+xml" />
	<link>http://ioannis.mpsounds.net/blog</link>
	<description></description>
	<lastBuildDate>Thu, 06 May 2010 09:27:06 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<item>
		<title>sqlite3_unicode update to UNICODE v5.2.0</title>
		<link>http://ioannis.mpsounds.net/blog/2010/05/05/sqlite3_unicode-update-to-unicode-v5-2-0/</link>
		<comments>http://ioannis.mpsounds.net/blog/2010/05/05/sqlite3_unicode-update-to-unicode-v5-2-0/#comments</comments>
		<pubDate>Wed, 05 May 2010 18:10:42 +0000</pubDate>
		<dc:creator>ioannis</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[SQLite]]></category>
		<category><![CDATA[SQLite3]]></category>
		<category><![CDATA[unicode]]></category>
		<category><![CDATA[utf-16]]></category>
		<category><![CDATA[utf-8]]></category>

		<guid isPermaLink="false">http://ioannis.mpsounds.net/blog/?p=81</guid>
		<description><![CDATA[Lately I have been hyped about encryption and specifically sqlite3 database encryption,  so I decided to update my test application with the  latest version of sqlite3 (v3.6.23.1 at the time) and started reading segments of sqlite3 code to get a feeling how everything relating to encryption is glued together. Good thing I had located SQLCipher [...]]]></description>
			<content:encoded><![CDATA[<p>Lately I have been hyped about encryption and specifically sqlite3 database encryption,  so I decided to update my test application with the  latest version of sqlite3 (v3.6.23.1 at the time) and started reading segments of sqlite3 code to get a feeling how everything relating to encryption is glued together. Good thing I had located <a title="SQLCipher" href="http://github.com/sjlombardo/sqlcipher" target="_blank">SQLCipher </a>during my search and got a heads up.</p>
<p>In any case, while testing the encryption / decryption functionality, I identified some database integrity problems arising from indexes created with my slightly modified sqlite3_unicode library. A bug in the collation function would cause the string comparison function to return incorrect results both for UTF-8 and UTF-16 comparisons, and as such would report errors for missing rows in the indexes during the integrity check. This was mainly due to the fact that the string size parameter provided by sqlite3 is actually the number of bytes and not the string length.</p>
<p>On another note UNICODE v5.2.0 has been released for some time now, but I kept  postponing any update to sqlite3_unicode library since there was no  need. So with the release of the above bug fixes I decided to update the library unicode tables as  well.</p>
<p>The update to v5.2.0.15 is recommended for users of all prior versions, to eliminate database integrity errors arising by indexing tables using prior versions of this library. Tables having indexes using the sqlite3_unicode collation will have to be reindexed using the revised string comparison function. The updated source is included for grabs in the download section <img src="http://ioannis.mpsounds.net/blog/wp-includes/images/smilies/icon_smile.gif" alt=")" class="wp-smiley" /> </p>
]]></content:encoded>
			<wfw:commentRss>http://ioannis.mpsounds.net/blog/2010/05/05/sqlite3_unicode-update-to-unicode-v5-2-0/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Renew IP directly from Cytanet NetRunner service</title>
		<link>http://ioannis.mpsounds.net/blog/2009/07/18/renew-ip-directly-from-cytanet-netrunner-service/</link>
		<comments>http://ioannis.mpsounds.net/blog/2009/07/18/renew-ip-directly-from-cytanet-netrunner-service/#comments</comments>
		<pubDate>Sat, 18 Jul 2009 10:00:04 +0000</pubDate>
		<dc:creator>ioannis</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[ADSL]]></category>
		<category><![CDATA[command line]]></category>
		<category><![CDATA[cURL]]></category>
		<category><![CDATA[CyTA]]></category>
		<category><![CDATA[cytanet]]></category>
		<category><![CDATA[ip]]></category>
		<category><![CDATA[netrunner]]></category>
		<category><![CDATA[open source]]></category>
		<category><![CDATA[password]]></category>
		<category><![CDATA[renew]]></category>
		<category><![CDATA[reset]]></category>
		<category><![CDATA[script]]></category>

		<guid isPermaLink="false">http://ioannis.mpsounds.net/blog/?p=73</guid>
		<description><![CDATA[Modern file hosting services (eg rapidshare or megaupload) have more than often utilized various methods to secure and promote their services annoying the regular non-premium user with the most prominent method of limiting downloads per user through IP logging, and then waiting for an upsurd amount of time for the next download. Now, now not [...]]]></description>
			<content:encoded><![CDATA[<p>Modern file hosting services (eg <a href="http://rapidshare.com/" target="_blank">rapidshare</a> or <a href="http://www.megaupload.com/" target="_blank">megaupload</a>) have more than often utilized various methods to secure and promote their services annoying the regular non-premium user with the most prominent method of limiting  downloads per  user through IP logging, and then waiting for an upsurd amount of time for the next download.</p>
<p>Now, now not all of you have the time to spend in front of a pc monitor, do ya, and NO don&#8217;t start suggesting paying for premium services for EVERY file hosting service out there.</p>
<p>Therefore today i will share  with you a nifty trick to use with your favourite download manager <a href="http://www.jdownloader.org/" target="_blank">jDownloader</a>, to renew your IP directly from Cytanet NetRunner service, and get your downloads as fast as possible.</p>
<p>As only a few of you know, the Cytanet NetRunner service leases the IP for 1 week, BUT it is possible to renew the IP by logging-in the NetRunner service, disconnecting and then reconnecting. This will achieve you a brand new, just out of the box IP.</p>
<p>You can streamline the process by using the direct below, replace the red bold username and password references below with your  NetRunner Service credentials, and you will instantly acquire a new IP.<br />
<code>https://netrunner.cytanet.com.cy/cgi-bin/netrunnerlogin.cgi?username=<span style="color: #ff0000;"><strong>username</strong></span>&amp;password=<strong><span style="color: #ff0000;">password</span></strong>&amp;action=initial&amp;Login=Login</code></p>
<p>Now, in order to use this  in your favourite download manager or in a script,  you will need to procure a  small open-source application called <a href="http://curl.haxx.se/" target="_blank">cURL</a> that will execute the above URL and achieve the same result without even opening an Internet Browser.</p>
<p>Execute the following command in the command prompt, et viola, a brand new IP coming right up:<code><br />
curl -k "https://netrunner.cytanet.com.cy/cgi-bin/netrunnerlogin.cgi?username=<span style="color: #ff0000;"><strong>username</strong></span>&amp;password=<strong><span style="color: #ff0000;">password</span></strong>&amp;action=initial&amp;Login=Login"</code></p>
<p>Then you can have <a href="http://www.jdownloader.org/" target="_blank">jDownloader</a> execute this <strong>batch</strong> command every time it requires a new IP to continue downloading.</p>
<p>PS: make sure to get a flavor of cURL supporting HTTPS and SSL in order to be able to process the link.</p>
<p>That&#8217;s all folks.</p>
]]></content:encoded>
			<wfw:commentRss>http://ioannis.mpsounds.net/blog/2009/07/18/renew-ip-directly-from-cytanet-netrunner-service/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
		<item>
		<title>sqlite3_unicode updated for SQLite3 v3.6.7</title>
		<link>http://ioannis.mpsounds.net/blog/2009/01/11/sqlite3_unicode-updated-for-sqlite3-v367/</link>
		<comments>http://ioannis.mpsounds.net/blog/2009/01/11/sqlite3_unicode-updated-for-sqlite3-v367/#comments</comments>
		<pubDate>Sun, 11 Jan 2009 18:23:32 +0000</pubDate>
		<dc:creator>ioannis</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[greek]]></category>
		<category><![CDATA[SQL]]></category>
		<category><![CDATA[SQLite]]></category>
		<category><![CDATA[SQLite3]]></category>
		<category><![CDATA[unicode]]></category>
		<category><![CDATA[utf-16]]></category>
		<category><![CDATA[utf-8]]></category>

		<guid isPermaLink="false">http://ioannis.mpsounds.net/blog/?p=64</guid>
		<description><![CDATA[Since v3.6.1, SQLite3 amalgamation package includes the ICU (International Components for Unicode) source code to make it easier to build SDLite3 with the ICU extension enabled, see [check-in]. This change has broken sqlite3_unicode source code and could no longer be automatically loaded by hijacking the ICU start-up function. For this reason sqlite3_unicode has been updated [...]]]></description>
			<content:encoded><![CDATA[<p>Since v3.6.1, SQLite3 amalgamation package includes the ICU (International Components for Unicode) source code to make it easier to build SDLite3 with the ICU extension enabled, see <a href="http://www.sqlite.org/cvstrac/chngview?cn=5533" target="_blank">[check-in]</a>.</p>
<p>This change has broken sqlite3_unicode source code and could no longer be automatically loaded by hijacking the ICU start-up function. For this reason sqlite3_unicode has been updated (to build 10) which is fully compatible with SQLite v3.6.7, but must be manually loaded using custom exported functions, which are defined in a separate sqlite3_unicode.h header file, and explained below.</p>
<p>This version has been tested to build under Microsoft Windows and Ubuntu 8.10 Intrepid and work flawlessly either as a static or shared library.</p>
<p>A bug was fixed in the NOCASE collation source that prevented proper sorting of UTF-8 encoded strings.<br />
NOCASE collation now works for both UTF-8 and UTF-16 encoded strings, but unlike ICU it does not take into account any language specific sorting logarithms.</p>
<p>To activate unicode functionality the following function must be called during application initialization sequence: sqlite3_unicode_load();<br />
The function does not take any arguments and simply calls sqlite3_auto_extension(); function to load the extension.</p>
<p>Similarly before application exit the following function must be called to cleanup memory and unload extension: sqlite3_unicode_free();<br />
The function does not take any arguments and simply calls sqlite3_reset_auto_extension(); function to unload the extension.</p>
<p>The library has been thouroughly tested for Greek language through a small greek-english dictionary project, designed to test:</p>
<ol>
<li>the case folding conversion,</li>
<li>the LIKE operation in a SELECT statement, and</li>
<li> the NOCASE collation (using case folding and unaccenting of greek strings to enable proper sorting).</li>
</ol>
<blockquote><p>Download the implementation file <strong><a href="?dl=sqlite3_unicode.zip" title="(5511 downloads)"><strong><code>sqlite3_unicode.c</code></strong></a></strong></p></blockquote>
]]></content:encoded>
			<wfw:commentRss>http://ioannis.mpsounds.net/blog/2009/01/11/sqlite3_unicode-updated-for-sqlite3-v367/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>CyTA ADSL speed upgrade</title>
		<link>http://ioannis.mpsounds.net/blog/2008/07/09/cyta-adsl-speed-upgrade/</link>
		<comments>http://ioannis.mpsounds.net/blog/2008/07/09/cyta-adsl-speed-upgrade/#comments</comments>
		<pubDate>Tue, 08 Jul 2008 22:26:17 +0000</pubDate>
		<dc:creator>ioannis</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[abuse]]></category>
		<category><![CDATA[ADSL]]></category>
		<category><![CDATA[B-FOCuS]]></category>
		<category><![CDATA[CyTA]]></category>
		<category><![CDATA[monopoly]]></category>
		<category><![CDATA[router]]></category>
		<category><![CDATA[speed]]></category>
		<category><![CDATA[wireless]]></category>

		<guid isPermaLink="false">http://ioannis.mpsounds.net/blog/?p=53</guid>
		<description><![CDATA[It&#8217;s been rumored for quite some time now, here in Cyprus, but as they say, it ain&#8217;t true &#8217;til the fat lady sings, pigs can fly, etc &#8230; you catch my drift, but even then it might not happen, cause guess what, we live in CYPRUS. Seriously now back to the subject, considering the fact [...]]]></description>
			<content:encoded><![CDATA[<p>It&#8217;s been rumored for quite some time now, here in Cyprus, but as they say, it ain&#8217;t true &#8217;til the fat lady sings, pigs can fly, etc &#8230; you catch my drift, but even then it might not happen, cause guess what, we live in CYPRUS.</p>
<p>Seriously now back to the subject, considering the fact that something expected takes forever to materialize, the unreasonable long wait seems to just have shortened, in respect of ADSL speeds in Cyprus&#8230;</p>
<p>I am talking about the image below from my B-FOCuS Wireless 352+ which briefly insinuates that CyTA has allocated the folowing bandwidth on my account and i should be getting download speeds of 2368kbps and an upload speed of 448kbps, but i am currently NOT (CyTA seems to restrict the download speed to 1mbit).</p>
<p><center><img class="size-full wp-image-55" title="cyta_adsl_speed_upgrade" src="http://ioannis.mpsounds.net/blog/wp-content/uploads/2008/07/cyta_adsl_speed_upgrade.png" alt="" /></center></p>
<p>I couldn&#8217;t really understand why everything <span style="text-decoration: line-through;">was</span> is kept hash-hash, till i had some conversations with people in the market, who made it all crystal clear to me.</p>
<p>Still wandering why Cyprus is still in the stone-age of ADSL speeds when our providers market a 2mbit download speed of as being &#8220;Speedy Gonzales&#8221;, where the rest of the world moves with 24mbit speeds having 2mbit as a bare minimum.</p>
<p>At first there was <span style="text-decoration: line-through;">GOD</span> only CyTA, providing all ADSL services, *monopoly abuse* but who cared&#8230;</p>
<p>As ADSL became more and more widespread, clientele became bigger CyTA did nothing to keep up, thus providing a really lousy service to the clients. Then people began changing internet service providers, -who leased CyTA lines-, promising better services, which somwhat reduced CyTA&#8217;s server load. Still nobody cared about CyTA&#8217;s *monopoly abuse*.</p>
<p>Then all of a sudden Cyprus became an EU member, and as such all EU member companies have to abide the EU regulations, and now somebody cares about *monopoly abuse* &#8230; did anybody ask them to ? come again ?  <img src="http://ioannis.mpsounds.net/blog/wp-includes/images/smilies/icon_evil.gif" alt="evil" class="wp-smiley" /> </p>
<p>So, now CyTA has make room for the new market entrants in order to avoid any fines and penalties from the EU. <strong>CyTA therefore can NOT currently reduce prices and can NOT offer better services</strong> than its competitors, until it loses a major portion of its clientele to its competitors in order to favour fair competition. :dizzy:</p>
<p>In the end the ones in loss is the internet community that may not enjoy speeds and prices comparable to other countries.</p>
<p>Speculators though say, that from <strong>September 2008</strong>, CyTA clients may enjoy further reductions in prices and better services offered including increased ADSL speeds.</p>
<p>Only time will tell&#8230; if my patience doesn&#8217;t run out till then&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://ioannis.mpsounds.net/blog/2008/07/09/cyta-adsl-speed-upgrade/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>are you secure ?</title>
		<link>http://ioannis.mpsounds.net/blog/2008/07/03/are-you-secure/</link>
		<comments>http://ioannis.mpsounds.net/blog/2008/07/03/are-you-secure/#comments</comments>
		<pubDate>Thu, 03 Jul 2008 13:35:42 +0000</pubDate>
		<dc:creator>ioannis</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[password]]></category>
		<category><![CDATA[security]]></category>
		<category><![CDATA[strength]]></category>

		<guid isPermaLink="false">http://ioannis.mpsounds.net/blog/?p=52</guid>
		<description><![CDATA[i sure thought so, until i decided to google for a password checker and rate my passwords. after all, i&#8217;m still human and can&#8217;t recall more than two passwords at a specific time, probably you fit in the same scheme as well . i hate it that at work i have five different sets of [...]]]></description>
			<content:encoded><![CDATA[<p>i sure thought so, until i decided to <a href="http://www.google.com/search?q=password+checker" target="_blank">google</a> for a password checker and rate my passwords. after all, i&#8217;m still human and can&#8217;t recall more than two passwords at a specific time, probably you fit in the same scheme as well <img src="http://ioannis.mpsounds.net/blog/wp-includes/images/smilies/icon_biggrin.gif" alt="D" class="wp-smiley" /> . i hate it that at work i have five different sets of usernames and passwords that i have to use two or three every day just to access &#8220;my&#8221; personal computer and a couple of others on special occasions.</p>
<p>in any case, for home use i too have two sets of passwords, my standard one (shorter) and a more &#8220;secure&#8221; password (longer), i thought.</p>
<p>i&#8217;ve been using them for so long with out ever considering the strength of the passwords as after all they are a bunch of random key strokes.</p>
<p>now i have decided it&#8217;s time to strengthen my security by revising both my passwords, difficult part is remembering all the places i&#8217;ve used them <img src="http://ioannis.mpsounds.net/blog/wp-includes/images/smilies/icon_biggrin.gif" alt="D" class="wp-smiley" /> </p>
<p>so back to the matter in hand, google has found some good tools in order to test your password strenght. after all there is no patented procedure to test one&#8217;s password strength so i decided to run them on all available tools.</p>
<p>to my disappointment <img src="http://ioannis.mpsounds.net/blog/wp-includes/images/smilies/icon_sad.gif" alt="(" class="wp-smiley" />  and surprise :dizzy:  both my passwords were rated weak and medium, with all password checkers, which is really unacceptable for my standards, so this post ends here, you know what i&#8217;ll be doing for the time being, and if i don&#8217;t post here ever again, you know what that means -better write that new password down somewhere-, *oups*&#8230;</p>
<p>below, you can find links to the password checkers i&#8217;ve used&#8230;</p>
<ul>
<li><a title="Microsoft Password Checker" href="http://www.microsoft.com/protect/yourself/password/checker.mspx" target="_blank">Microsoft Password Checker</a></li>
<li><a title="Password Meter" href="http://www.passwordmeter.com/" target="_blank">Password Meter</a></li>
<li><a title="Security Stats" href="http://www.securitystats.com/tools/password.php" target="_blank">Security Stats</a></li>
</ul>
<p>more reading at <a href="http://www.microsoft.com/protect/yourself/password/create.mspx" target="_blank">http://www.microsoft.com/protect/yourself/password/create.mspx</a> where microsoft has put together a really nice article for a change, on how to create passwords, dos and don&#8217;ts, etc&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://ioannis.mpsounds.net/blog/2008/07/03/are-you-secure/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Microsoft Windows XP Service Pack 3</title>
		<link>http://ioannis.mpsounds.net/blog/2008/04/29/microsoft-windows-xp-service-pack-3/</link>
		<comments>http://ioannis.mpsounds.net/blog/2008/04/29/microsoft-windows-xp-service-pack-3/#comments</comments>
		<pubDate>Tue, 29 Apr 2008 17:55:37 +0000</pubDate>
		<dc:creator>ioannis</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[microsoft]]></category>
		<category><![CDATA[sp3]]></category>
		<category><![CDATA[windows xp]]></category>

		<guid isPermaLink="false">http://ioannis.mpsounds.net/blog/?p=49</guid>
		<description><![CDATA[Microsoft Windows XP Service Pack 3 is out as of today, 29th April 2008, if you are suspicious of the authenticity of Windows XP Service Pack 3 file posted by 3rd party sites, this is the link for you as it is directly from Microsoft. Here is the direct link (Right Click -&#62; Save Link [...]]]></description>
			<content:encoded><![CDATA[<p>Microsoft Windows XP Service Pack 3 is out as of today, 29th April 2008, if you are suspicious of the authenticity of Windows XP Service Pack 3 file posted by 3rd party sites, this is the link for you as it is directly from Microsoft.</p>
<p><a href="http://download.windowsupdate.com/msdownload/update/software/svpk/2008/04/windowsxp-kb936929-sp3-x86-enu_c81472f7eeea2eca421e116cd4c03e2300ebfde4.exe">Here is the direct link</a> (Right Click -&gt; Save Link As). The file size is <strong>316.43MB (331,805,736 bytes)</strong>.</p>
<p>The official hashes for the Microsoft Windows XP Service Pack 3 posted on <a href="http://technet.microsoft.com/en-us/default.aspx">TechNet</a> are as follows:</p>
<ul>
<li>CRC32: <strong>C411A9DA</strong></li>
<li>MD5: <strong>BB25707C919DD835A9D9706B5725AF58</strong></li>
<li>SHA-1: <strong>C81472F7EEEA2ECA421E116CD4C03E2300EBFDE4</strong></li>
</ul>
<p>You can verify the hashes by using <a href="http://sourceforge.net/project/showfiles.php?group_id=192429">FileVerifier++</a>, it is a freeware.</p>
<p>Installed Windows XP SP3 and everything works normally, <strong>at the moment</strong>.</p>
]]></content:encoded>
			<wfw:commentRss>http://ioannis.mpsounds.net/blog/2008/04/29/microsoft-windows-xp-service-pack-3/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>SQLite and native UNICODE LIKE support in C/C++</title>
		<link>http://ioannis.mpsounds.net/blog/2007/12/19/sqlite-native-unicode-like-support/</link>
		<comments>http://ioannis.mpsounds.net/blog/2007/12/19/sqlite-native-unicode-like-support/#comments</comments>
		<pubDate>Wed, 19 Dec 2007 17:22:31 +0000</pubDate>
		<dc:creator>ioannis</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[database]]></category>
		<category><![CDATA[embedded]]></category>
		<category><![CDATA[engine]]></category>
		<category><![CDATA[LIKE]]></category>
		<category><![CDATA[lower]]></category>
		<category><![CDATA[open source]]></category>
		<category><![CDATA[SQLite]]></category>
		<category><![CDATA[unicode]]></category>
		<category><![CDATA[upper]]></category>
		<category><![CDATA[utf-16]]></category>
		<category><![CDATA[utf-8]]></category>

		<guid isPermaLink="false">http://ioannis.mpsounds.net/blog/2007/12/19/sqlite3-and-native-unicode-support-in-cc/</guid>
		<description><![CDATA[SQLite is a software library that implements a self-contained, serverless, zero-configuration, transactional SQL database engine. SQLite is the most widely deployed SQL database engine in the world. It is used in countless desktop computer applications as well as consumer electronic devices including cellphones, PDAs, and MP3 players. The source code for SQLite is in the [...]]]></description>
			<content:encoded><![CDATA[<blockquote><p>SQLite is a software library that implements a self-contained, serverless, zero-configuration, transactional SQL database engine.</p>
<p>SQLite is the <a href="http://www.sqlite.org/mostdeployed.html">most widely deployed</a> SQL database engine in the world. It is used in countless desktop computer applications as well as consumer electronic devices including cellphones, PDAs, and MP3 players. The source code for SQLite is in the <a href="http://www.sqlite.org/copyright.html">public domain</a>.</p></blockquote>
<p>Please, rest assured that SQLite does indeed have UNICODE (UTF-8, UTF-16) support, but&#8230;</p>
<p>If you have searched and resulted in reading this post, then you have probably realized the true facts of life; the limitations of SQLite in regards to native non case-sensitive UNICODE text comparison and especially the use of the LIKE operator which has been crippled.<br />
<span id="more-48"></span><br />
Traditionally non case-sensitive string comparison, would mean that, strings being compared would be transformed into lowercase before comparison, and then an incremental binary comparison loop wound be made for each byte constituting the strings to determine whether the strings were identical or not.</p>
<p>Unfortunately SQLite uses C/POSIX functions <code>tolower()</code> and <code>toupper()</code> to make string transformations and subsequently non case-sensitive string comparisons, which have no native UNICODE equivalents but instead are locale-specific.</p>
<p>As specified in MSDN library :</p>
<blockquote><p>The case conversion of <code>tolower()</code> is locale-specific. Only the characters relevant to the current locale are changed in case. The functions without the _l suffix use the currently set locale. The versions of these functions with the _l suffix take the locale as a parameter and use that instead of the currently set locale.</p></blockquote>
<p>Therefore, a problem arises where locale-specific case mappings do not agree with UNICODE case mappings for each language family character.</p>
<p><a href="http://www.icu-project.org">ICU</a> people have faithfully followed the <a href="http://www.unicode.org">UNICODE</a> standard and produced open-source libraries, which have been also used by SQLite to <em>optionally</em> provide native UNICODE support. The disadvantage of this library is that it is too darn big ~10mb of compiled binary libraries to be used in association with SQLite. Even by omitting features I couldn&#8217;t get it to build to a sensible binary size <img src="http://ioannis.mpsounds.net/blog/wp-includes/images/smilies/icon_neutral.gif" alt="|" class="wp-smiley" />  added the fact that i despise having dependencies in dynamically linked libraries that i have to ship as well.</p>
<p>Therefore i decided to extract the case folding tables from the UNICODE standard, similarly to what SQLite developers have done for lowercase mappings of the ASCII table, and implement the functionality in SQLite.</p>
<p>The following file may be build as a separate dynamic library or a static library to be compiled directly in your SQLite compilation.<br />
It uses the already existing ICU infrastructure built in SQLite in order to unleash its power.<br />
Build with <strong>SQLITE_CORE</strong> and <strong>SQLITE_ENABLE_ICU</strong> preprocessor definitions.</p>
<p>Hopefully there are *no significant* errors in the code, if you find one please leave a comment below.</p>
<blockquote><p>Download the implementation file <a href="?dl=sqlite3_unicode.zip" title="(5511 downloads)"><strong><code>sqlite3_unicode.zip</code></strong></a></p></blockquote>
]]></content:encoded>
			<wfw:commentRss>http://ioannis.mpsounds.net/blog/2007/12/19/sqlite-native-unicode-like-support/feed/</wfw:commentRss>
		<slash:comments>15</slash:comments>
		</item>
		<item>
		<title>Dynamic Library v2.0</title>
		<link>http://ioannis.mpsounds.net/blog/2007/12/01/dynamic-library-v20/</link>
		<comments>http://ioannis.mpsounds.net/blog/2007/12/01/dynamic-library-v20/#comments</comments>
		<pubDate>Fri, 30 Nov 2007 22:00:47 +0000</pubDate>
		<dc:creator>ioannis</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[Dynamic Library]]></category>
		<category><![CDATA[plugin]]></category>
		<category><![CDATA[Winamp]]></category>

		<guid isPermaLink="false">http://ioannis.mpsounds.net/blog/2007/12/01/dynamic-library-v20/</guid>
		<description><![CDATA[A quote from the lead developer: The Dynamic Library is created as a complement to the Media Library bundled with Winamp. Dynamic Library implements the ability to mirror the files on your hard disk and dynamically update the library when changes are made. As Noveber 25th, 2007, the brand new, refurbished, all around renewed and [...]]]></description>
			<content:encoded><![CDATA[<p>A quote from the lead developer:</p>
<blockquote><p>The Dynamic Library is created as a complement to the Media Library bundled with Winamp. Dynamic Library implements the ability to mirror the files on your hard disk and dynamically update the library when changes are made.</p></blockquote>
<p>As Noveber 25th, 2007, the brand new, refurbished, all around renewed and rewritten Dynamic Library v2.0 for Winamp is released to the general public. After a 9 month incubation, from its first inception, we are proud to deliver the fruits of our labour.</p>
<p>This new release is no more considered as freeware nor donateware as the previous releases, as a lot of effort and time was spent by <a href="http://nunzioweb.com/joonas">Jonas Sandman</a> the lead developer and of course me as the lead quality review and beta tester, in order to keep up with the rigorous development of Winamp, familiarise with the   .  Therefore as you have guessed the new version is released under shareware license, with a minimal <a href="https://www.paypal.com/cgi-bin/webscr?cmd=_xclick&#038;business=svph0140%40informatik%2eumu%2ese&#038;item_name=Dynamic%20Library%20v2%2e0&#038;amount=10%2e00&#038;no_shipping=0&#038;no_note=1&#038;currency_code=USD&#038;lc=SE&#038;bn=PP%2dBuyNowBF&#038;charset=UTF%2d8">registration</a> fee of $10, and only a few limitations to the general functionality of the plugin.</p>
<p>The new release was rewritten from scratch implementing most of the ideas and functionality of the previous releases, but basically incorporating very little of the legacy code, due to major changes by the :</p>
<ul>
<li>implementation of unicode support, keeps up with <a href="http://www.winamp.com">Winamp</a> internationalization development, provides the availability of your library, on any system irrespective of the localization settings.</li>
<li>implementation of an <a href="http://www.sqlite.org">SQLite</a> database system, a well known and fast client-server database system, hat supersedes the poorly implemented memory  database system that run in previous versions. This new development resolves many issues reported in the past, such as database corruption, poor load, response, exit times, etc.</li>
</ul>
<p>The plugin&#8217;s main features include but are not limited to :</p>
<ul>
<li>a hard disk folder and file structure mirroring system, implemented within Winamp, that is dynamically updated whenever changes occur, provided Winamp is running.</li>
<li>storing the folder and file structure in a database system including all the meta data as retrieved by Winamp for each file.</li>
<li>quick query system for keywords located in filenames and folder paths as well as ID3v1 and ID3v2 meta data as retrieved by Winamp mainly consisting of (<em>Artist, Title, Album, Track number, Comment, Bitrate, Length</em>)</li>
<li>creation of smart playlists which perform a specific query on the database and are dynamically updated whenever changes occur to the databse.</li>
<li>creating, editing and searching within Winamp playlists (<em>currently supporting, m3u and m3u8 unicode</em>)</li>
<li>design queries disregarding any accents that may be found in the query string or the information stored in the database, thus returning an enhanced result list.</li>
<li>functionality to play, enqueue, enqueue after current, from the folder of file list and place the items directly in Winamp&#8217;s playlist.</li>
</ul>
<p>The plugin requires Microsoft Windows 2000 or XP and Winamp 5.33 or higher to function properly, due to the inherent limitations of some libraries being used.<br />
(<em>Microsoft Vista support is not yet confirmed</em>)</p>
<p>Enough of the chit chat, give it a shot and post your thoughts. <img src="http://ioannis.mpsounds.net/blog/wp-includes/images/smilies/icon_razz.gif" alt="P" class="wp-smiley" /> </p>
<blockquote><p>Download <a href="?dl=Dynamic_Library_v2.0.exe" title="(602 downloads)"><strong><em>here</em></strong></a> or <a href="https://www.paypal.com/cgi-bin/webscr?cmd=_xclick&#038;business=svph0140%40informatik%2eumu%2ese&#038;item_name=Dynamic%20Library%20v2%2e0&#038;amount=10%2e00&#038;no_shipping=0&#038;no_note=1&#038;currency_code=USD&#038;lc=SE&#038;bn=PP%2dBuyNowBF&#038;charset=UTF%2d8"><strong><em>Buy Now</em></strong></a></p></blockquote>
]]></content:encoded>
			<wfw:commentRss>http://ioannis.mpsounds.net/blog/2007/12/01/dynamic-library-v20/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Mahna Mahna!</title>
		<link>http://ioannis.mpsounds.net/blog/2007/09/03/mahna-mahna/</link>
		<comments>http://ioannis.mpsounds.net/blog/2007/09/03/mahna-mahna/#comments</comments>
		<pubDate>Mon, 03 Sep 2007 18:23:04 +0000</pubDate>
		<dc:creator>ioannis</dc:creator>
				<category><![CDATA[General]]></category>

		<guid isPermaLink="false">http://ioannis.mpsounds.net/blog/2007/09/03/mahna-mahna/</guid>
		<description><![CDATA[Warning: This will be stuck in your head for weeks to come&#8230; MP3 Audio: mahnamahna.mp3 (2,712KB)]]></description>
			<content:encoded><![CDATA[<p>Warning: This will be stuck in your head for weeks to come&#8230;</p>
<p>MP3 Audio:  <a href="?dl=mahnamahna.mp3" title="(437 downloads)">mahnamahna.mp3</a> (2,712KB)</p>
]]></content:encoded>
			<wfw:commentRss>http://ioannis.mpsounds.net/blog/2007/09/03/mahna-mahna/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Updates !!!</title>
		<link>http://ioannis.mpsounds.net/blog/2007/03/17/updates/</link>
		<comments>http://ioannis.mpsounds.net/blog/2007/03/17/updates/#comments</comments>
		<pubDate>Sat, 17 Mar 2007 17:07:38 +0000</pubDate>
		<dc:creator>ioannis</dc:creator>
				<category><![CDATA[General]]></category>

		<guid isPermaLink="false">http://ioannis.mpsounds.net/blog/?p=44</guid>
		<description><![CDATA[As some frequent visitors may have noticed, there have been some changes to the web site lately and I am finally glad to announce that the updates I have been planning to do for a long time, are finally here. :dizzy: First of all, no, the website design has not changed (probably will not for [...]]]></description>
			<content:encoded><![CDATA[<p>As some frequent visitors may have noticed, there have been some changes to the web site lately and I am finally glad to announce that the updates I have been planning to do for a long time, are finally here. :dizzy:</p>
<p>First of all, no, the website design has not changed (probably will not for the time being), but I have made upgrades to the final version of <a href="http://www.wordpress.org">WordPress</a> as well as adding some new functionality to the WordPress interface and mainly in regards to commenting posts.  <img src="http://ioannis.mpsounds.net/blog/wp-includes/images/smilies/icon_cool.gif" alt="cool" class="wp-smiley" /> </p>
<p>The updates, among others, are:</p>
<ul>
<li>Ability to subscribe to comments so that you will get notified by an e-mail message next time there is a new comment or activity to a specific post.</li>
<li>Ability to quote other posters&#8217; comments in your reply, making clearer to which person/question you refer/reply to.</li>
<li>Ability to add tags and smilies to your comments by clicking on the desired tag or smilie button above the comment box.</li>
<li>Ability to print comments in addition to the post with the print post function.</li>
</ul>
<p>Secondly, I have made necessary updates to the   <img src="http://ioannis.mpsounds.net/blog/wp-includes/images/smilies/icon_arrow.gif" alt="arrow" class="wp-smiley" />  <a href="http://ioannis.mpsounds.net/blog/?p=35">ECI B-FOCuS Router (Router Configuration Manual)</a> post in order to add instructions on how to configure <strong>Static LAN IPs</strong> for different MAC addresses as well as on how to enable <strong>Port Forwarding</strong> feature to enhance the functionality of p2p and torrent downloads (for programs such as <a href="http://www.emule.com/">eMule</a>, <a href="http://www.limewire.com">Limewire</a>, <a href="http://www.utorrent.com">uTorrent</a>, <a href="http://www.bitcomet.com">BitComet</a>, etc). <img src="http://ioannis.mpsounds.net/blog/wp-includes/images/smilies/icon_eek.gif" alt="8-O" class="wp-smiley" /> </p>
]]></content:encoded>
			<wfw:commentRss>http://ioannis.mpsounds.net/blog/2007/03/17/updates/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
	</channel>
</rss>
