<?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>whats the plot &#187; technology</title>
	<atom:link href="http://whatstheplot.com/blog/category/technology/feed/" rel="self" type="application/rss+xml" />
	<link>http://whatstheplot.com/blog</link>
	<description>a plotting plotter plotted a plot at whatstheplot.com</description>
	<lastBuildDate>Fri, 26 Feb 2010 07:25:31 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0-alpha</generator>
		<item>
		<title>desktop screenshot for february 2010</title>
		<link>http://whatstheplot.com/blog/2010/02/25/desktop-screenshot-for-february-2010/</link>
		<comments>http://whatstheplot.com/blog/2010/02/25/desktop-screenshot-for-february-2010/#comments</comments>
		<pubDate>Fri, 26 Feb 2010 07:08:18 +0000</pubDate>
		<dc:creator>ahmedre</dc:creator>
				<category><![CDATA[technology]]></category>
		<category><![CDATA[screenshots]]></category>

		<guid isPermaLink="false">http://whatstheplot.com/blog/?p=463</guid>
		<description><![CDATA[
here&#8217;s a screenshot of my linux box taken on february 25th, 2010.  click the image above for the full sized view.  linux desktop running openbox, a bunch of transparent urxvt terminals, cairo clock, and trayer (with banshee, pidgin, transmission, pino, dropbox, guake, and tomboy running).
i recently finished watching the old star trek movies, [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://whatstheplot.com/images/screenshot-02.25.2010.png"><img alt="" src="http://whatstheplot.com/images/thumbnail-02.25.2010.png" title="screenshot, feb 25th, 2010" class="aligncenter" width="384" height="240" /></a><br />
here&#8217;s a screenshot of my linux box taken on february 25th, 2010.  click the image above for the full sized view.  linux desktop running openbox, a bunch of transparent urxvt terminals, cairo clock, and trayer (with banshee, pidgin, transmission, pino, dropbox, guake, and tomboy running).</p>
<p>i recently finished watching the old star trek movies, hence the star trek influenced desktop.  and, of course, here&#8217;s <a href="http://www.youtube.com/watch?v=9eTUz61LNjo">the problem with teleportation</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://whatstheplot.com/blog/2010/02/25/desktop-screenshot-for-february-2010/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>rtm versus toodledo</title>
		<link>http://whatstheplot.com/blog/2009/09/26/rtm-versus-toodledo/</link>
		<comments>http://whatstheplot.com/blog/2009/09/26/rtm-versus-toodledo/#comments</comments>
		<pubDate>Sat, 26 Sep 2009 07:40:44 +0000</pubDate>
		<dc:creator>ahmedre</dc:creator>
				<category><![CDATA[technology]]></category>
		<category><![CDATA[productivity]]></category>

		<guid isPermaLink="false">http://whatstheplot.com/blog/?p=368</guid>
		<description><![CDATA[last year, i signed up for a 1 year subscription to rememberthemilk.  now that it has expired, i&#8217;ve started wondering whether i should re-subscribe or switch to something else (toodledo appears to be a popular option).
so i made a toodledo free account and imported my tasks from rtm &#8211; fairly straight forward and easy [...]]]></description>
			<content:encoded><![CDATA[<p>last year, i signed up for a 1 year subscription to <a href="http://rememberthemilk.com">rememberthemilk</a>.  now that it has expired, i&#8217;ve started wondering whether i should re-subscribe or switch to something else (<a href="http://toodledo.com">toodledo</a> appears to be a popular option).</p>
<p>so i made a toodledo free account and imported my tasks from rtm &#8211; fairly straight forward and easy (although i had to re-tag and group everything, but no big deal).  i tried using both of them for a few days together, and here are my thoughts:</p>
<ul><strong>what i like about rtm:</strong></p>
<li>interface &#8211; the ui is really slick</li>
<li>keyboard shortcuts are like vim&#8217;s &#8211; familiarity is good!</li>
<li>the new smart input bar is really nice and allows for fast inputting of tasks</li>
</ul>
<ul><strong>what i like about toodledo:</strong></p>
<li>more emphasis on goals, tying tasks to goals, etc</li>
<li>development seems a lot more active &#8211; rtm seems dead at times</li>
<li>team seems to be more friendly</li>
<li>nice subscription features (statistics, subtasks, auto-scheduler).</li>
</ul>
<p>i&#8217;ve used rtm&#8217;s iphone app but haven&#8217;t used toodledo&#8217;s yet (although i read that it&#8217;s also really good) &#8211; so i am guessing that on the phone front, they are roughly equivalent.  rtm is $25/year and toodledo is either $15 or $30/year, depending on which plan you get.</p>
<p>rtm is pretty functional without a pro subscription, but you can&#8217;t use the iphone version.  with toodledo, you can use the iphone app (a one time ~$4 charge), but you have other limitations (task history of completed tasks is limited to 2 weeks).</p>
<p><strong>so in summary</strong> &#8211; it&#8217;d be pretty nice to use something like <a href="http://orgmode.org/">orgmode</a> for emacs (if i can dedicate enough time to learn it) or something like <a href="http://taskwarrior.org/">taskwarrior</a> and just use plain text files.  the advantages of such approaches are the price tag and portability/accessibility, and ease of use.  the downside is that there&#8217;s no mobile (or web) interfaces unless i were to serve my todo files on my webserver (or write some code to sync to another service, etc).</p>
<p>another option is to buy <a href="http://culturedcode.com/things/">things</a>, which is a really well done app &#8211; but the problem is that i am then locked in to seeing my tasks on my mac and my phone (but not on the web and therefore, not on my linux box).  it&#8217;s also $50 for the desktop app plus $10 for the iphone app.  other apps have similar issues (<a href="http://www.omnigroup.com/applications/omnifocus">omnifocus</a> and <a href="http://www.potionfactory.com/thehitlist/">the hit list</a>).</p>
<p>decisions, decisions&#8230;  sometimes, deciding on this sort of thing makes it &#8220;how to <strong>not</strong> to get things done&#8221; <img src='http://whatstheplot.com/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://whatstheplot.com/blog/2009/09/26/rtm-versus-toodledo/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>reading quran on the iphone</title>
		<link>http://whatstheplot.com/blog/2009/03/08/reading-quran-on-the-iphone/</link>
		<comments>http://whatstheplot.com/blog/2009/03/08/reading-quran-on-the-iphone/#comments</comments>
		<pubDate>Sun, 08 Mar 2009 07:43:50 +0000</pubDate>
		<dc:creator>ahmedre</dc:creator>
				<category><![CDATA[islam]]></category>
		<category><![CDATA[technology]]></category>
		<category><![CDATA[iphone]]></category>
		<category><![CDATA[quran]]></category>

		<guid isPermaLink="false">http://whatstheplot.com/blog/?p=269</guid>
		<description><![CDATA[a long time ago, when i got my iphone, i realized that it would be nice to be able to read the quran on my phone.  what i wanted was a way to read the arabic text on the phone (page by page, not ayah by ayah).  anyhow, i&#8217;ll outline the solutions i&#8217;ve [...]]]></description>
			<content:encoded><![CDATA[<p>a long time ago, when i got my iphone, i realized that it would be nice to be able to read the quran on my phone.  what i wanted was a way to read the arabic text on the phone (page by page, not ayah by ayah).  anyhow, i&#8217;ll outline the solutions i&#8217;ve found here along with my preferred solution and how to set it up.</p>
<p><strong>options</strong></p>
<ul>
<li>quran applications in the app store &#8211; there are a few in the app store, but only one version of iQuran is free.  it shows you the text (ayah by ayah, however), has translations, and audio.</li>
<li>images &#8211; copy a set of 604 images to your iphone, with each image representing one page of the Quran.  then, when you want to read Quran, you load up the photo viewer and read the pages there.  you can find these images in many places. <a href="http://www.hackint0sh.org/forum/f127/10088.htm">here</a> is one example.  this is the best solution for reading the Quran in Arabic if you don&#8217;t want to jailbreak your phone.</li>
<li>pdfs &#8211; in my opinion, the best way to read quran on the iphone (if you have a good pdf viewer).  you don&#8217;t have to hassle with syncing images, nor do you have to deal with 604 files on your phone that you must go through in order to read Quran.  also, pdfs tend to be of higher quality than images.  this is the solution i recommend if you have or are willing to jailbreak your phone.</li>
</ul>
<p>since the first solution is straight forward and instructions for the second solution are available on the link above, i will here outline instructions on how to use pdfs.</p>
<p>first, i need to point something out &#8211; you technically don&#8217;t need to jailbreak your phone to view the quran pdfs on it &#8211; you could download one of the apps in the appstore that views pdfs and use it.  however, i&#8217;ve tried several of the free ones, and was never satisfied with the speed and performance of any of them.  the best pdf viewer i found for the iphone is safari itself.  so in order to be able to access these pdfs without a connection, you need to have a webserver running on your phone&#8230; and that is why you need to jailbreak your phone <img src='http://whatstheplot.com/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p><strong>preview</strong><br />
here are three screenshots of how it looks like:<br />
<a href="/images/iphonepdfs/pdf_quran_menu-03.07.2009.png">menu</a><br />
<a href="/images/iphonepdfs/pdf_quran.03.07.2009.png">quran text</a><br />
<a href="/images/iphonepdfs/pdf_quran_w-03.07.2009.png">quran text (wide)</a>.</p>
<p><strong>instructions</strong></p>
<ol>
<li>jailbreak your phone.  on an older iphone, this is easy (install the newest firmware via itunes, then install and run <a href="http://www.quickpwn.com/">quickpwn</a>).  for the 3g iphone, carefully read the instructions on <a href="http://www.quickpwn.com/">quickpwn</a>&#8217;s website, especially if you want your phone to be unlocked and/or are already using it unlocked.</li>
<li>once the phone is jail broken, run cydia.  install openssh.  then install lighttpd.</li>
<li>when you&#8217;re on a wifi network, go to your phone&#8217;s settings (from the main screen), click on wifi, and choose the network that you are currently connected to by pressing the blue arrow &#8211; note down the value of the ip address</li>
<li>ssh into your iphone as root &#8211; in linux or osx, just open a terminal and run &#8220;ssh root@[your phone's ip address]&#8220;.  on windows, you can do this by downloading <a href="http://www.chiark.greenend.org.uk/~sgtatham/putty/">putty</a>.  the default password is alpine.  keep this terminal open for the next step (recommendation &#8211; once you&#8217;re in, change your password.  type passwd and choose something else besides the default.  this is for security purposes).</li>
<li>now you can set up lighttpd.  download <a href="/misc/iphone_pdfs/com.http.lighttpd.plist">com.http.lighttpd.plist</a> and scp it to /Library/LaunchDaemons (using mac/linux, just do scp com.http.lighttpd.plist root@[iphone's ip]:/Library/LaunchDaemons).  on windows, download <a href="http://winscp.net">winscp</a>, log in (user name root, password is &#8216;alpine&#8217; unless you&#8217;ve changed it in the above step), navigate to /Library/LaunchDaemons, and copy the file over).  this file is what will set up lighttpd to start every time the phone is started, and to read the lighttpd.conf from the path below.</li>
<li>download <a href="/misc/iphone_pdfs/lighttpd.conf">lighttpd.conf</a> and scp it to /etc.  this is the configuration file for the webserver.</li>
<li>download the <a href="/misc/iphone_pdfs/iphone_web.zip">pdfs and web files</a>.  unzip them (you&#8217;ll get a web directory), and scp this directory to /var/root/Media (so that the files will be in /var/root/Media/web/*).  note that if you change this path, you have to edit lighttpd.conf to reflect wherever you put this.</li>
<li>finally, in the terminal you opened in the earlier step, type the following command (this command is what ultimately makes lighttpd start everytime the phone is started):<br />
<code>launchctl load -w /Library/LaunchDaemons/com.http.lighttpd.plist</code>.</li>
</ol>
<p>and that&#8217;s it&#8230; you should be good to go!  open up safari and navigate to http://localhost/index.html and enjoy!</p>
<p><strong>known issues</strong></p>
<ul>
<li>when transferring data to and from the phone (via ssh or scp), you want to make sure that you&#8217;re on wireless.  you may also want to make sure the iphone doesn&#8217;t &#8220;sleep&#8221; so that the connection doesn&#8217;t drop.</li>
<li>sometimes, when you choose a particular file to read, you get a &#8220;cannot connect to server&#8221; error &#8211; it usually disappears and loads the page before you have a chance to click &#8220;ok.&#8221;</li>
<li>if you turn the iphone off while reading a pdf (or go to the main screen, etc), when you come back to safari, sometimes, the page may appear malformed and not allow you to read.  to solve this problem, hit back to go to the index and choose a juz&#8217; to reload it.</li>
</ul>
<p>suggestions/additions/comments are welcome and appreciated.</p>
<p><strong>update</strong> &#8211; i&#8217;ve been using batoul apps&#8217; <a href="http://quranapp.com/iphone/">quranreader</a> at the recommendation of a friend.  it&#8217;s $1 in the app store, but well worth it.</p>
]]></content:encoded>
			<wfw:commentRss>http://whatstheplot.com/blog/2009/03/08/reading-quran-on-the-iphone/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
		<item>
		<title>thoughts on the g1</title>
		<link>http://whatstheplot.com/blog/2009/02/11/thoughts-on-the-g1/</link>
		<comments>http://whatstheplot.com/blog/2009/02/11/thoughts-on-the-g1/#comments</comments>
		<pubDate>Wed, 11 Feb 2009 09:14:35 +0000</pubDate>
		<dc:creator>ahmedre</dc:creator>
				<category><![CDATA[technology]]></category>
		<category><![CDATA[g1]]></category>
		<category><![CDATA[iphone]]></category>

		<guid isPermaLink="false">http://whatstheplot.com/blog/?p=252</guid>
		<description><![CDATA[for some (crazy) reason, i decided to try out the g1 after reading gina&#8217;s article and finding a good deal on craigslist.  the summary is &#8211; i think i am going to sell it and keep my iphone  
thoughts so far:

it&#8217;s nice to have a keyboard &#8211; but something doesn&#8217;t feel right about [...]]]></description>
			<content:encoded><![CDATA[<p>for some (crazy) reason, i decided to try out the g1 after reading <a href="http://smarterware.org/184/why-i-switched-to-android-from-the-iphone">gina&#8217;s article</a> and finding a good deal on craigslist.  the summary is &#8211; i think i am going to sell it and keep my iphone <img src='http://whatstheplot.com/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>thoughts so far:</p>
<ul>
<li>it&#8217;s nice to have a keyboard &#8211; but something doesn&#8217;t feel right about it.  i can&#8217;t quite put my hands on it yet.</li>
<li>no arabic fonts in the browser, and no arabization!! <img src='http://whatstheplot.com/blog/wp-includes/images/smilies/icon_sad.gif' alt=':(' class='wp-smiley' />   iphone doesn&#8217;t have it either, but third party solutions <a href="http://iphoneislam.com">(iphone islam)</a> exist that work very well.</li>
<li>touch screen isn&#8217;t multi touch.  also, you have to press with your finger (not the finger tip) &#8211; pressing with the finger tip is useless.
   </li>
<li>gmail app totally rocks</li>
<li>integration with google (for gmail and calendar) rocks</li>
<li>integration with contacts is HORRIBLE.  seriously.  gmail, as you may know, makes a contact for every person you email.  so if you sync your contacts as is with the phone, you&#8217;re looking at a ridiculous set of contacts.  moreover, if you use the built in google syncing within address book, your address book gets sullied with all these random contacts, duplicates, etc.  not very cool.  i worked around this by using <a href="http://www.antoniolore.net/ab2csv.php">ab2csv exporter</a>, exporting a csv, and importing it into google contacts under a specific group, then only syncing that group with the phone.</li>
<li>one odd caveat &#8211; you have to use the supplied usb cable to connect the hone to the pc and be able to mount the micro sd card.  using any normal cable you may have (from a camera, for example) will charge the phone, but won&#8217;t work for mounting the micro sd card.  took me a while to figure this out.</li>
</ul>
<p>i upgraded the firmware, but haven&#8217;t played with <a href="http://www.google.com/latitude/intro.html">google latitude</a> yet (nor with the gps).</p>
<p>i may play with it some more, but at the time being, i am thinking of selling this and sticking with my iphone, as it feels a lot more polished.  there are definitely some nice things about it that are missing from the iphone &#8211; gears, the fact it runs linux, development seems to be easier (java based), cut and paste, better camera, built in voice dialer, etc.  but the iphone feels a lot more polished.</p>
<p><strong>*update*</strong> &#8211; &#8220;compare everywhere&#8221; app rocks &#8211; iphone has an equivalent (snaptell, and the amazon app is good too), but it doesn&#8217;t scan barcodes.  the english to arabic dictionary actually renders proper shaped arabic.  apparently, <a href="http://www.ahmed-essam.com/2007/11/applicability-for-arabizing-android.html">some</a> <a href="http://blog.amr-gawish.com/39/arabic-language-in-android/">people</a> have gotten arabic (the font and shaping) to work (though i am not sure if it&#8217;s throughout all the apps or not).  they haven&#8217;t documented it all yet but should soon.  i doubt it&#8217;ll be to the extent that arabization is done on the iphone, however.  battery life is sup-par &#8211; went from 100% to 82% in a few minutes by installing and trying a handful of apps.</p>
<p>summary &#8211; iphone (even the first gen) still wins.</p>
]]></content:encoded>
			<wfw:commentRss>http://whatstheplot.com/blog/2009/02/11/thoughts-on-the-g1/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>faster and better text search</title>
		<link>http://whatstheplot.com/blog/2009/01/25/faster-and-better-text-search/</link>
		<comments>http://whatstheplot.com/blog/2009/01/25/faster-and-better-text-search/#comments</comments>
		<pubDate>Mon, 26 Jan 2009 01:54:04 +0000</pubDate>
		<dc:creator>ahmedre</dc:creator>
				<category><![CDATA[code]]></category>
		<category><![CDATA[technology]]></category>
		<category><![CDATA[lucene]]></category>
		<category><![CDATA[mysql]]></category>
		<category><![CDATA[sphinx]]></category>

		<guid isPermaLink="false">http://whatstheplot.com/blog/?p=232</guid>
		<description><![CDATA[important update (august 5th, 2009) &#8211; so i realized that some of the results here (specifically, the java lucene ones) were incorrect.  the reason is because as is mentioned on the lucene wiki, the first search has to initialize the caches.  as thus, the results aren&#8217;t accurate.  this seems to be very [...]]]></description>
			<content:encoded><![CDATA[<p><strong>important update (august 5th, 2009)</strong> &#8211; <em>so i realized that some of the results here (specifically, the java lucene ones) were incorrect.  the reason is because as is mentioned on the lucene wiki, the first search has to initialize the caches.  as thus, the results aren&#8217;t accurate.  this seems to be very true.  for example, if i run a test query, discard the results, and then run the real query, results for the three classes of queries are now 17, 8, and 4 ms respectively, which is very comparable (if not sometimes better) than that of sphinx.  i will probably need to re-run this benchmark to do a better job of giving the backend systems a level playing field to test on.</em></p>
<p><strong>update (jan 26th, 2009)</strong> &#8211; <em>as mentioned in the comments, the mysql results aren&#8217;t very accurate either because i was probably not properly searching against the index.</em></p>
<p>i have a set of ~6000 quotes (verses, if you will), along with a multiple set of translations for each of those verses.  before, i was searching across these verses using mysql.  while this seemed to work, it was very limiting, and i began looking into alternatives.</p>
<p>so i did a little bit of research and tried out <a href="http://lucene.apache.org/java/docs/">lucene</a> and <a href="http://www.sphinxsearch.com/">sphinx</a>.  for lucene, i specifically used the <a href="http://framework.zend.com/manual/en/zend.search.lucene.html">zend version</a> (i&#8217;ll discuss standard <a href="http://lucene.apache.org/">lucene</a> (java) towards the end of this post.)</p>
<p>i&#8217;ll show the results first, and then explain them after.</p>
<p><img src="http://chart.apis.google.com/chart?chs=350x100&#038;cht=bhs&#038;chd=t:8.030,7.542,8.324|8.304,7.898,11.131|106.254,106.561,108.747|285.759,116.222,224.381&#038;chds=0,400&#038;chco=ff0000,C6D9FD,4D89F9,123456&#038;chxt=y&#038;chxl=0:|query3|query2|query1&#038;chdl=sphinx|sphinx alt|mysql|lucene"/></p>
<p>the graph above shows a quick overview of the tests run.  a set of 3 different queries were run against 4 different backends.  the numbers were generated using apache bench (ab) using 100 requests with a concurrency of 1.</p>
<p><strong>backends</strong>:<br />
<em>lucene</em>:  this was the first implementation.  in it, each verse was a &#8220;document.&#8221;  each translation was a property of the document.  the total number of documents was thus equivalent to the number of verses. </p>
<p><em>sphinx</em>:  this was the second sphinx implementation (see sphinx alt below for the first implementation).  this implementation was just done to make the data model similar to that of lucene, which is exactly what it is.  although this ended up being the fastest (by &lt; 5ms in the tests run), i prefer the sphinx alt implementation because it&#8217;s closest to that of the database schema.</p>
<p><em>sphinx alt</em>: although it is named &#8220;sphinx alt&#8221; in the graph above, this is really the initial sphinx implementation.  in this model, a translation of one verse was a document.  consequently, the total number of documents was (number of translations) * (number of verses).  i sort of like this one most (even though it&#8217;s not the fastest) because it is the closest to the current database schema.</p>
<p><em>mysql</em>:  this is sort of the baseline, and, to be honest, it&#8217;s not fair either.  the query used here is something in the nature of getting the row where the text is like &#8216;%word1%word2%&#8217;;  the number of results returned by this are far fewer (and less valuable) than those returned by either lucene or sphinx.  one would need to do &#8220;where text like &#8216;%word1%word2%&#8217; or text like &#8216;%word2%word1%&#8217;&#8221; to get a more accurate estimate, but for baseline purposes, i simply ran the first query.  note that the query cache size is 0 (ie query cache is on but effectively off for this set of tests).  note that the text field has a fulltext index on it.</p>
<p><strong>results</strong>:<br />
sphinx wins hands down.  however, although it seems that lucene comes in last, this is not really accurate because of the type of mysql query being used.  from my limited tests (using a more complicated sql query), lucene and mysql have comparable performance, but lucene of course has the added benefit of more advanced query options, etc.</p>
<p>sphinx times were 8.030 ms, 7.542 ms, 8.324 ms, sphinx alt times were 8.304 ms, 7.898 ms, 11.131 ms, lucene times were 285.759 ms, 116.222 ms, 224.381 ms, and mysql times were 106.254 ms, 106.561 ms, 108.747 ms for queries 1, 2, and 3, respectively.  query 1 contained three words (+term1 +term2 +term3), query 2 contained one word (+term4), and query 3 contained two words (+term5 +term6).</p>
<p><strong>additional details</strong>:<br />
plain vanilla java lucene is usually faster than zend&#8217;s lucene implementation.  the largest difference can be noted in indexing times (a few seconds for java versus 15+ minutes in php).  if i had to index frequently, i&#8217;d use java lucene or sphinx because they are <em>insanely</em> faster.</p>
<p>for example, the first query takes 179.84 ms on average in java (over 100 queries) versus about 272.61 ms on average for php.  the second query takes 173.22 ms on average in java versus about 103.30 ms in php. the third query takes 178.98 ms on average in java versus about 214.78 ms in php.</p>
<p>php only won at the second query, which also happens to be the simplest query.  two things to note &#8211; first, the times here don&#8217;t include the jvm or php interpreter start times.  these are times reported by taking the time before and after the search call and displaying them.  second, unlike the first test, this was all run from the command line and not directly via web (didn&#8217;t want to bother setting up tomcat or solr, etc).</p>
<p>just for fun, i implemented the &#8220;sphinx alt&#8221; data scheme in java lucene as well and re-ran the 3 tests 100 times each.  the results were 178.54 ms, 160.20 ms, and 172.72 ms &#8211; very much comparable to the results with the alternate schema.</p>
<p><strong>the summary of this very long post in 2 words</strong>:  sphinx rocks.</p>
]]></content:encoded>
			<wfw:commentRss>http://whatstheplot.com/blog/2009/01/25/faster-and-better-text-search/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>whatstheplot: iphone edition &#8482;</title>
		<link>http://whatstheplot.com/blog/2008/03/02/whatstheplot-iphone-edition-tm/</link>
		<comments>http://whatstheplot.com/blog/2008/03/02/whatstheplot-iphone-edition-tm/#comments</comments>
		<pubDate>Sun, 02 Mar 2008 22:18:25 +0000</pubDate>
		<dc:creator>ahmedre</dc:creator>
				<category><![CDATA[technology]]></category>
		<category><![CDATA[website]]></category>
		<category><![CDATA[iphone]]></category>

		<guid isPermaLink="false">http://whatstheplot.com/blog/2008/03/02/whatstheplot-iphone-edition-tm/</guid>
		<description><![CDATA[thanks to the iwphone wordpress plugin, the blog now looks a lot better on the iphone!
speaking of the iphone, i am really disappointed at the notion that the long awaited sdk coming out on 3/6 will potentially be locked down.   i guess we can&#8217;t know for sure until the announcement on thursday, but [...]]]></description>
			<content:encoded><![CDATA[<p>thanks to the <a href="http://iwphone.contentrobot.com/" title="iwphone wordpress plugin">iwphone wordpress plugin</a>, the blog now looks a lot better on the iphone!</p>
<p>speaking of the iphone, i am really disappointed at the notion that the long awaited sdk coming out on 3/6 will potentially be <a href="http://www.engadget.com/2008/02/29/iphone-software-development-to-be-locked-down-by-apple/" title="iphone development to be locked down by apple">locked down</a>.   i guess we can&#8217;t know for sure until the announcement on thursday, but i personally have gone ahead and re-jailbroken my phone, courtesy of zibri&#8217;s <a href="http://www.ziphone.org/" title="ziphone">ziphone</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://whatstheplot.com/blog/2008/03/02/whatstheplot-iphone-edition-tm/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>unicode control characters</title>
		<link>http://whatstheplot.com/blog/2008/03/02/unicode-control-characters/</link>
		<comments>http://whatstheplot.com/blog/2008/03/02/unicode-control-characters/#comments</comments>
		<pubDate>Sun, 02 Mar 2008 20:42:57 +0000</pubDate>
		<dc:creator>ahmedre</dc:creator>
				<category><![CDATA[technology]]></category>
		<category><![CDATA[arabic]]></category>
		<category><![CDATA[unicode]]></category>

		<guid isPermaLink="false">http://whatstheplot.com/blog/2008/03/02/unicode-control-characters/</guid>
		<description><![CDATA[i always used to get upset when i send a message or set a status on an english site in arabic, only to have the punctuation all messed up.  well, thanks to two unicode control characters, \u200e and \u200f  (for ltr and rtl, respectively), i can finally go from writing:
يحيى الإسلام!
to writing:
يحيى الإسلام!‏
much [...]]]></description>
			<content:encoded><![CDATA[<p>i always used to get upset when i send a message or set a status on an english site in arabic, only to have the punctuation all messed up.  well, thanks to two unicode control characters, \u200e and \u200f  (for ltr and rtl, respectively), i can finally go from writing:</p>
<blockquote><p>يحيى الإسلام!</p></blockquote>
<p>to writing:</p>
<blockquote><p>يحيى الإسلام!‏</p></blockquote>
<p>much better <img src='http://whatstheplot.com/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />   thanks goes to this <a href="http://en.wikipedia.org/wiki/Bi-directional_text" title="bidirectional text, wikipedia">wikipedia article</a> and <a href="http://diwan.com" title="diwan.com">adil allawi</a>, whom i first heard about this from.</p>
]]></content:encoded>
			<wfw:commentRss>http://whatstheplot.com/blog/2008/03/02/unicode-control-characters/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>windows downgrade</title>
		<link>http://whatstheplot.com/blog/2008/02/09/windows-downgrade/</link>
		<comments>http://whatstheplot.com/blog/2008/02/09/windows-downgrade/#comments</comments>
		<pubDate>Sat, 09 Feb 2008 21:35:24 +0000</pubDate>
		<dc:creator>ahmedre</dc:creator>
				<category><![CDATA[gaming]]></category>
		<category><![CDATA[technology]]></category>
		<category><![CDATA[windows]]></category>

		<guid isPermaLink="false">http://whatstheplot.com/blog/2008/02/09/windows-downgrade/</guid>
		<description><![CDATA[i&#8217;ve been dual booting my gentoo box with windows vista 64 for my occasional bouts of gaming&#8230; but yesterday, i decided that despite microsoft ending it&#8217;s support for xp sometime this year, that i am better off running xp for gaming than vista.  so i downgraded vista 64 to xp 32.  i think [...]]]></description>
			<content:encoded><![CDATA[<p>i&#8217;ve been dual booting my gentoo box with windows vista 64 for my occasional bouts of gaming&#8230; but yesterday, i decided that despite microsoft ending it&#8217;s support for xp sometime this year, that i am better off running xp for gaming than vista.  so i downgraded vista 64 to xp 32.  i think i made this decision after seeing <a href="http://games.slashdot.org/article.pl?sid=08/02/02/0236200&amp;from=rss" title="linux has better windows compatibility than vista">this article</a> on slashdot.</p>
]]></content:encoded>
			<wfw:commentRss>http://whatstheplot.com/blog/2008/02/09/windows-downgrade/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>update on the dns situation</title>
		<link>http://whatstheplot.com/blog/2008/02/06/update-on-the-dns-situation/</link>
		<comments>http://whatstheplot.com/blog/2008/02/06/update-on-the-dns-situation/#comments</comments>
		<pubDate>Wed, 06 Feb 2008 20:12:46 +0000</pubDate>
		<dc:creator>ahmedre</dc:creator>
				<category><![CDATA[technology]]></category>
		<category><![CDATA[dns]]></category>

		<guid isPermaLink="false">http://whatstheplot.com/blog/2008/02/06/update-on-the-dns-situation/</guid>
		<description><![CDATA[so i spoke with the bro about the dns thing, and it seems as though i jumped the gun a little.  in summary, what he told me is that another islamic site did a dos attack on his site due to the fact that there were non-muslims allowed on the forums and such, which [...]]]></description>
			<content:encoded><![CDATA[<p>so i spoke with the bro about the dns thing, and it seems as though i jumped the gun a little.  in summary, what he told me is that another islamic site did a dos attack on his site due to the fact that there were non-muslims allowed on the forums and such, which some of the people from the other site didn&#8217;t like.  he didn&#8217;t know about this until dnsmadeeasy contacted him, and said he had 48 hours to take the site down or pay the overages.  so he said that within 6 hours, the site was taken down.</p>
<p>when he came to renew, he found the $8000 bill, and he was emailing back and forth with them about this (as it seems that they made a mistake with what had happened in the system etc).  so he decided he&#8217;d switch dns for the time being (and he forgot that i had some of my sites hosted on the same dns server with him).  they said they&#8217;d investigate and contact him back, and, until now, they didn&#8217;t, and he&#8217;s still in the process of trying to get this resolved.</p>
<p>given the sort of not-so-positive tone (if not negative or anti-islamic, even) of the dude on the phone &#8220;oh, this was the guy who was involved in dns attacks with islamic sites,&#8221; versus me knowing my brother, i tend to believe the brother more than this dude.  at the same time, the brother should have remembered the important services that i had hosted on there as well, because that is a responsibility and trust.</p>
<p>in any case, all is good now al7amdulillah and am just posting this as a clarification to my earlier post about the same subject.</p>
]]></content:encoded>
			<wfw:commentRss>http://whatstheplot.com/blog/2008/02/06/update-on-the-dns-situation/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>sublime rhymes for the times</title>
		<link>http://whatstheplot.com/blog/2008/02/05/sublime-rhymes-for-the-times/</link>
		<comments>http://whatstheplot.com/blog/2008/02/05/sublime-rhymes-for-the-times/#comments</comments>
		<pubDate>Tue, 05 Feb 2008 11:57:17 +0000</pubDate>
		<dc:creator>ahmedre</dc:creator>
				<category><![CDATA[code]]></category>
		<category><![CDATA[technology]]></category>
		<category><![CDATA[facebook]]></category>
		<category><![CDATA[rhymes]]></category>

		<guid isPermaLink="false">http://whatstheplot.com/blog/2008/02/05/sublime-rhymes-for-the-times/</guid>
		<description><![CDATA[launched my second facebook app: sublime rhymes!   still a little rough around the edges, some things can be a little more intuitive, but for now, i am going to sleep  
]]></description>
			<content:encoded><![CDATA[<p>launched my second facebook app: <a href="http://apps.facebook.com/rhymeapp/" title="sublime rhymes">sublime rhymes</a>!   still a little rough around the edges, some things can be a little more intuitive, but for now, i am going to sleep <img src='http://whatstheplot.com/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://whatstheplot.com/blog/2008/02/05/sublime-rhymes-for-the-times/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
