<?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>Code Muse</title>
	<atom:link href="http://www.code-muse.com/blog/?feed=rss2" rel="self" type="application/rss+xml" />
	<link>http://www.code-muse.com/blog</link>
	<description>Software Development: Design, Coding, and Related Musings</description>
	<lastBuildDate>Fri, 03 Sep 2010 23:24:54 +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>Qt and Fontconfig</title>
		<link>http://www.code-muse.com/blog/?p=236</link>
		<comments>http://www.code-muse.com/blog/?p=236#comments</comments>
		<pubDate>Fri, 03 Sep 2010 23:24:54 +0000</pubDate>
		<dc:creator>gert</dc:creator>
				<category><![CDATA[Ubuntu]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[user interface]]></category>

		<guid isPermaLink="false">http://www.code-muse.com/blog/?p=236</guid>
		<description><![CDATA[After upgrading to Lucid Lynx I found that all Qt based applications would not have anti-aliased fonts anymore. For example Skype would look awful with these pixelated fonts. Unfortunately Google didn&#8217;t help me out, so I started a little research of my own into this issue. I was previously able to tweak font settings using [...]]]></description>
			<content:encoded><![CDATA[<p>After upgrading to Lucid Lynx I found that all Qt based applications would not have anti-aliased fonts anymore. For example Skype would look awful with these pixelated fonts. Unfortunately Google didn&#8217;t help me out, so I started a little research of my own into this issue. I was previously able to <a href="?p=111">tweak font settings</a> using <code>~/.fonts.conf</code> so I thought to start there.</p>
<p>To make a very long story a whole lot shorter; assigning pixelsize turns off font hinting for Qt apps. I wasn&#8217;t able to figure out why, but I did find a solution for my particular setup, resulting in the following <code>~/.fonts.conf</code>:</p>
<pre class="brush:xml; light:true">
<?xml version='1.0'?>
<!DOCTYPE fontconfig SYSTEM 'fonts.dtd'>
<fontconfig>
  <match target="font">
    <test qual="all" name="family" compare="eq"><string>Arial</string></test>
    <test qual="all" name="pixelsize" compare="eq"><double>12</double></test>
    <edit name="pixelsize" mode="assign"><double>13</double></edit>
  </match>
</fontconfig>
</pre>
<p>You really have to look carefully to notice the difference with the <a href="?p=111">original</a>: it&#8217;s the <code>qual="all"</code> attribute in both <code>test</code> nodes. That did the trick for me.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.code-muse.com/blog/?feed=rss2&amp;p=236</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>The Future is Now</title>
		<link>http://www.code-muse.com/blog/?p=272</link>
		<comments>http://www.code-muse.com/blog/?p=272#comments</comments>
		<pubDate>Wed, 01 Sep 2010 05:24:52 +0000</pubDate>
		<dc:creator>gert</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[iPhone]]></category>

		<guid isPermaLink="false">http://www.code-muse.com/blog/?p=272</guid>
		<description><![CDATA[Been on an Amsterdam-San Francisco flight again, so more time to read. An excerpt from &#8220;The Design of Everyday Things&#8221;: Would you like a pocket-size device that reminded you of each appointment and daily event? I would. I am waiting for the day when portable computers become small enough that I can keep one with [...]]]></description>
			<content:encoded><![CDATA[<p>Been on an Amsterdam-San Francisco flight again, so more time to read. An excerpt from &#8220;The Design of Everyday Things&#8221;:<a href="http://www.amazon.com/Design-Everyday-Things-Donald-Norman/dp/0465067107/ref=sr_1_1?ie=UTF8&amp;s=books&amp;qid=1283316654&amp;sr=8-1"><img class="alignright size-full wp-image-277" style="border: 0pt none;" title="The Design of Everyday Things (Cover)" src="http://www.code-muse.com/blog/wp-content/uploads/2010/09/design-of-everyday-things-cover-e1283318284526.png" border="0" alt=""/></a></p>
<blockquote><p>Would you like a pocket-size device that reminded you of each appointment and daily event? I would. I am waiting for the day when portable computers become small enough that I can keep one with me at all times. I will definitely put all my reminding burdens upon it. It has to be small. It has to be convenient to use. And it has to be relatively powerful, at least by today&#8217;s standards. It has to have a full, standard typewriter keyboard and a reasonably large display. It needs good graphics, because that makes a tremendous difference in usability, and a lot of memory &#8212; a huge amount, actually. And it should be easy to hook up to the telephone; I need to connect it to my home and laboratory computers. Of course, it should be relatively inexpensive.</p>
<p>What I ask for is not unreasonable. The technology I need is available today. It&#8217;s just that the full package has never been put together, partly because the cost in today&#8217;s world would be prohibitive. But it will exist in imperfect form in five e years, possibly in perfect form in ten.</p></blockquote>
<p>Do you think what I think? I reckon that Donald A. Norman must be the owner of an iPhone. At least the quote above is a perfect description of today&#8217;s smartphones. In particular the iPhone, which, in my opinion, is a one of a kind both in design and usability. Now this book is first published in 1988, so Norman was ~10 years off, though not bad. Funny to bump into, in the already quite interesting book.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.code-muse.com/blog/?feed=rss2&amp;p=272</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>SCons, SWIG &amp; Python</title>
		<link>http://www.code-muse.com/blog/?p=51</link>
		<comments>http://www.code-muse.com/blog/?p=51#comments</comments>
		<pubDate>Fri, 27 Aug 2010 14:19:06 +0000</pubDate>
		<dc:creator>gert</dc:creator>
				<category><![CDATA[C++]]></category>
		<category><![CDATA[Software Development]]></category>
		<category><![CDATA[coding]]></category>
		<category><![CDATA[scons]]></category>
		<category><![CDATA[swig]]></category>

		<guid isPermaLink="false">http://www.code-muse.com/blog/?p=51</guid>
		<description><![CDATA[There are some problems that you can only really solve, let alone understand, by diving into code. Lucky enough the Open Source movement has spread like wildfire these days, also for developer tools. So besides that it&#8217;s fun and very educating to read someone else&#8217;s source code, in come cases it&#8217;s also really, really helpful [...]]]></description>
			<content:encoded><![CDATA[<p>There are some problems that you can only really solve, let alone understand, by diving into code. Lucky enough the Open Source movement has spread like wildfire these days, also for developer tools. So besides that it&#8217;s fun and very educating to read someone else&#8217;s source code, in come cases it&#8217;s also really, really helpful to find out how a program is doing its tricks internally to really understand how to best use it. In particular this problem case that I&#8217;ve been investigating including a combination of <a href="http://www.scons.org" target="_blank">SCons</a>, <a href="http://www.swig.org" target="_blank">SWIG</a> and Python.</p>
<p>It&#8217;s a pretty straightforward setup. You&#8217;ve got this C++ library which you want to export to Python. You&#8217;ve already setup an interface to Lua, using SWIG. Now the cool thing about SWIG<sup><a href="http://www.code-muse.com/blog/?p=51#footnote_0_51" id="identifier_0_51" class="footnote-link footnote-identifier-link" title="Yes I am a fan.">1</a></sup> is, that it&#8217;s really easy to export the same interface to different scripting languages, so you want to use SWIG&#8217;s power to use your existing setup and extend that from Lua to Python as well. You take your existing <code>.i</code> file, divide it up into two separate files, a general one and a Lua specific one. Say <code>common.i</code> and <code>lua.i</code> where you include <code>common.i</code> in <code>lua.i</code>. Then you can create your new <code>python.i</code> with the Python specific instructions for SWIG, again including <code>common.i</code>. Problem solved.</p>
<p>Well, not if you&#8217;re using SCons as your build tool and you put the <code>%module</code> statement in <code>common.i</code>. That does work for Lua, but for Python strange things will happen with SCons&#8217; build dependencies on the <code>.py</code> wrapper file generated by SWIG. I had to go all the way into SCons&#8217; <code>Tool/swig.py</code> to find out what the problem was. While SCons scans for <code>%module</code> statements, which, if found SCons uses to define the <code>.py</code> file build dependencies for Python extensions, <code>%include</code> statements aren&#8217;t honored as such. That&#8217;s when I undestood that the problem was my Python specific <code>python.i</code> which didn&#8217;t have a <code>%module</code> statement! I put that into <code>common.i</code>, reusing it for Lua and Python, thinking that would be ok. However, that setup will mislead SCons to thinking that there are no <code>%module</code> statements at all. So build dependencies will be incorrect, leading to build errors.</p>
<p>Lesson learned: when using SCons, always put the <code>%module</code> statements for SWIG in the <code>.i</code> file that is used to directly generate the scripting language extension from.</p>
<ol class="footnotes"><li id="footnote_0_51" class="footnote">Yes I am a fan.</li></ol>]]></content:encoded>
			<wfw:commentRss>http://www.code-muse.com/blog/?feed=rss2&amp;p=51</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Building a mini-ITX ION Based HTPC</title>
		<link>http://www.code-muse.com/blog/?p=203</link>
		<comments>http://www.code-muse.com/blog/?p=203#comments</comments>
		<pubDate>Sat, 24 Jul 2010 11:49:28 +0000</pubDate>
		<dc:creator>gert</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[hardware]]></category>
		<category><![CDATA[htpc]]></category>

		<guid isPermaLink="false">http://www.code-muse.com/blog/?p=203</guid>
		<description><![CDATA[Motivated by a heavy summer storm, where lightning struck a tree in the front garden of one of my neighbors, killing my iPod, I&#8217;m building my very own HTPC. Besides my broken iPod, also the fact that the cost of compact sized hardware has dropped, was another reason to start looking into the option of [...]]]></description>
			<content:encoded><![CDATA[<p>Motivated by a heavy summer storm, where lightning struck a tree in the front garden of one of my neighbors, killing my iPod, I&#8217;m building my very own HTPC. Besides my broken iPod, also the fact that the cost of compact sized hardware has dropped, was another reason to start looking into the option of building a little media box. Last but not least, having an iPhone that fits my entire iTunes library, I don&#8217;t need another portable music player anymore.</p>
<p>I&#8217;ve got several purposes planned for my media box, namely: to host my music library using Squeezebox Server, connect it to my amplifier and play music with it, connect it to my TV to be able to play videos with it &#8212; most likely using XBMC, and to use it as a little webserver and source control server. With that in my mind,  I pointed Safari to a couple of hardware web shops, and ordered the following hardware to start with:</p>
<ul>
<li><strong>Mini-Box M350</strong> &#8212; Currently one of the smallest (if not smallest) mini-ITX enclosures, very suitable for fanless operation because of its design for natural air convection. I&#8217;m not planning on installing a internal DVD or Blu-ray drive, which would require a different case.</li>
<li><strong>Zotac ION ITX A-E</strong> &#8212; A low power dual-core Intel Atom N330 @ 1.6Ghz operated mainboard, with nVidia ION graphics processor capable of 1080p video playback. Perfectly fits my needs. Should even be possible to operate fanless, but we&#8217;ll see how hot it will get when I finally put the pieces together. One of the nice things about this mainboard is that it comes with an integrated PSU, which saves you some money and installation hassle. Goes well with the M350 too.</li>
<li><strong>Zalman Fan Mate 2 </strong>&#8211; Just to be sure, when things get too hot, I can still install the optional fan that comes with the mainboard. With this handy tool it&#8217;s possible to reduce the fan&#8217;s speed to reduce the produced noise, because usually the fan doesn&#8217;t need to be running full speed.</li>
<li><strong>WD5000BUDT</strong> &#8212; A 2.5&#8243; 500Gb Western Digital hard drive design for systems that are running 24/7. Low power, cooler operation and 32Mb cache.</li>
<li><strong>Kingston 2Gb DDR2</strong> &#8212; Running at 800Mhz, the highest speed supported by the Zotac board, I&#8217;ve only ordered one piece of 2Gb. I might consider upgrading to 2x2Gb to take advantage of the Dual Channel feature. But for now, I&#8217;m sticking with only one piece of 2Gb DDR2 memory.</li>
</ul>
<p>The grand total of these 5 items was € 335.56. If I&#8217;d had to buy a new iPod Classic and docking station (which were both dead), that would&#8217;ve cost me € 278. So for an additional € 57.56 I now have a full blown little media pc. Not bad. Not bad at all.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.code-muse.com/blog/?feed=rss2&amp;p=203</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Ubuntu, setuptools and --install-layout=deb</title>
		<link>http://www.code-muse.com/blog/?p=192</link>
		<comments>http://www.code-muse.com/blog/?p=192#comments</comments>
		<pubDate>Fri, 23 Jul 2010 12:09:15 +0000</pubDate>
		<dc:creator>gert</dc:creator>
				<category><![CDATA[Software Development]]></category>
		<category><![CDATA[Ubuntu]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[user interface]]></category>

		<guid isPermaLink="false">http://www.code-muse.com/blog/?p=192</guid>
		<description><![CDATA[I wanted to start out with some wxPython GUI testing and was trying to get dogtail installed on my Ubuntu 10.04 system. The current dogtail version that you can install with Synaptic is 0.6.1, while I want to try out 0.7.0. So I grabbed the source from dogtail&#8217;s website, unpacked it into /usr/local/src and ran: [...]]]></description>
			<content:encoded><![CDATA[<p>I wanted to start out with some wxPython GUI testing and was trying to get <a href="https://fedorahosted.org/dogtail/" target="_blank">dogtail</a> installed on my Ubuntu 10.04 system. The current dogtail version that you can install with Synaptic is 0.6.1, while I want to try out 0.7.0. So I grabbed the source from dogtail&#8217;s website, unpacked it into <code>/usr/local/src</code> and ran:</p>
<pre>
$ cd /usr/local/src/dogtail-0.7.0
$ sudo setup.py install
</pre>
<p>However, when I tried to run <code>sniff</code> for example, it can&#8217;t find it&#8217;s image files, because it&#8217;s looking explicitly in <code>/usr/share</code> instead of <code>/usr/local/share</code>. Ok, so let&#8217;s try again:</p>
<pre>
$ sudo setup.py install --prefix=/usr
</pre>
<p>This time, <code>sniff</code> start complaining that there&#8217;s no module named <code>dogtail.config</code>. A bit of Googling tells me that Ubuntu doesn&#8217;t have <code>/usr/lib/pythonx.y/site-packages</code> in its path by default. Only <b><code>site</code></b><code>-packages</code> inside <code>/usr/local/lib/pythonx.y</code> and <b><code>dist</code></b><code>-packages</code> in <code>/usr/lib/pythonx.y</code> are added to Python&#8217;s path by default. This is to clearly separate the place for packages that are included in the Ubuntu distribution (<code>dist-packages</code>) and those you install yourself (<code>site-packages</code>).</p>
<p>Now there&#8217;s a special argument for distutils if you want to install a &#8220;distribution&#8221; package manually, namely <code>--install-layout=deb</code>. Passing this argument will put the package using <code>/usr</code> as prefix and using </code>dist-packages</code> instead of <code>site-packages</code>, as if you were installing a deb package. So:</p>
<pre>
$ sudo setup.py install --install-layout=deb
</pre>
<p>That did the trick for me. Now back to what I was originally wanting to figure out: wxPython GUI scripting and testing with dogtail.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.code-muse.com/blog/?feed=rss2&amp;p=192</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Gnome Keyring Password Problem Fixed in Ubuntu 10.04</title>
		<link>http://www.code-muse.com/blog/?p=188</link>
		<comments>http://www.code-muse.com/blog/?p=188#comments</comments>
		<pubDate>Thu, 15 Jul 2010 07:13:38 +0000</pubDate>
		<dc:creator>gert</dc:creator>
				<category><![CDATA[Ubuntu]]></category>
		<category><![CDATA[linux]]></category>

		<guid isPermaLink="false">http://www.code-muse.com/blog/?p=188</guid>
		<description><![CDATA[After I wrote up my post about problems changing my Ubuntu&#8217;s user account password, which didn&#8217;t automatically updated Gnome&#8217;s keyring, I found that I was not the only one suffering from this problem. A while ago I upgraded to 10.04, and not long after that I had to change my password again (the half-yearly password-will-expire-soon [...]]]></description>
			<content:encoded><![CDATA[<p>After I wrote up <a href="?p=53" target="_self">my post</a> about problems changing my Ubuntu&#8217;s user account password, which didn&#8217;t automatically updated Gnome&#8217;s keyring, I found that I was not the only one suffering from this problem.</p>
<p>A while ago I upgraded to 10.04, and not long after that I had to change my password again (the half-yearly password-will-expire-soon emails started coming in on the account I use on that system). So I did. And as charlesb points out in a <a href="?p=53#comment-757" target="_self">comment</a> on my earlier post, I can also confirm that the keyring password problems have been fixed by the Ubuntu team in 10.04.</p>
<p>Thanks Ubuntu!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.code-muse.com/blog/?feed=rss2&amp;p=188</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Some Random Quotes</title>
		<link>http://www.code-muse.com/blog/?p=157</link>
		<comments>http://www.code-muse.com/blog/?p=157#comments</comments>
		<pubDate>Sun, 13 Jun 2010 09:54:50 +0000</pubDate>
		<dc:creator>gert</dc:creator>
				<category><![CDATA[Software Development]]></category>
		<category><![CDATA[coding]]></category>
		<category><![CDATA[human factor]]></category>
		<category><![CDATA[processes]]></category>

		<guid isPermaLink="false">http://www.code-muse.com/blog/?p=157</guid>
		<description><![CDATA[Last month I visited silicon valley again. Always nice to be there. Not only for the weather and the surroundings, but also always really good to catch up and work together with my overseas colleagues face to face again. Only the flight from Amsterdam to San Francisco is not a short one, though that leaves [...]]]></description>
			<content:encoded><![CDATA[<p>Last month I visited silicon valley again. Always nice to be there. Not only for the weather and the surroundings, but also always really good to catch up and work together with my overseas colleagues face to face again. Only the flight from Amsterdam to San Francisco is not a short one, though that leaves you a lot of time for reading. So I took my chance and took with me some various writings, most notably <a href="http://www.amazon.com/Coders-at-Work-Peter-Seibel/dp/1430219483/ref=sr_1_1?ie=UTF8&amp;s=books&amp;qid=1276251543&amp;sr=8-1" target="_blank">Coders at Work</a>, which I can definitely recommend.</p>
<p>Anyways, all that reading got me to pen down some random but interesting quotes I encountered:</p>
<blockquote><p>There are two ways to design a system: <em>&#8220;One way is to make it so simple that there are obviously no deficiencies and the other ways is to make it so complicated that there are no obvious deficiencies&#8221;</em> &#8212; C.A.R. Hoare.</p></blockquote>
<blockquote><p><em>&#8220;When documents are mostly to enable handoffs, they are evil. When they capture a record that is best not forgotten, they are valuable&#8221;</em> &#8212;  Tom Poppendieck.</p></blockquote>
<blockquote><p><em>&#8220;Its easier to optimize correct code than to correct optimized code&#8221; </em>&#8212; Joshua Bloch.</p></blockquote>
<blockquote><p><em>&#8220;There’s a grand myth about requirements: If you write them down, users will get exactly what they want. That’s not true. At best, users will get exactly what was written down, which may or may not be anything like what they really want.&#8221;</em> &#8212; Mike Cohn</p></blockquote>
<p>It&#8217;s interesting that only such a small number of words can express such a great deal of experience.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.code-muse.com/blog/?feed=rss2&amp;p=157</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>New Title Image</title>
		<link>http://www.code-muse.com/blog/?p=158</link>
		<comments>http://www.code-muse.com/blog/?p=158#comments</comments>
		<pubDate>Thu, 03 Jun 2010 08:06:06 +0000</pubDate>
		<dc:creator>gert</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.code-muse.com/blog/?p=158</guid>
		<description><![CDATA[I&#8217;ve already been living in &#8216;s-Hertogenbosch for one and a half years now, so it&#8217;s about time to update my blog&#8217;s header image, because it was still depicting Utrecht, which is the city I used to live. So this time I chose a photo that&#8217;s not related to where I live, so I can safely [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve already been living in <a href="http://maps.google.com/?q='s-Hertogenbosch" target="_blank">&#8216;s-Hertogenbosch</a> for one and a half years now, so it&#8217;s <a href="?p=46#footnote_0_46" target="_self">about time</a> to update my blog&#8217;s header image, because it was still depicting Utrecht, which is the city I <em>used </em>to live. So this time I chose a photo that&#8217;s not related to where I live, so I can safely move without having to update my blog&#8217;s design. I took this one on my last trip to California; it&#8217;s seaweed on one of the beaches along the <a href="http://en.wikipedia.org/wiki/17-Mile_Drive" target="_blank">17-Mile Drive</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.code-muse.com/blog/?feed=rss2&amp;p=158</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Google Nexus One: YAAP</title>
		<link>http://www.code-muse.com/blog/?p=150</link>
		<comments>http://www.code-muse.com/blog/?p=150#comments</comments>
		<pubDate>Tue, 16 Mar 2010 15:09:07 +0000</pubDate>
		<dc:creator>gert</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[andriod]]></category>
		<category><![CDATA[iPhone]]></category>

		<guid isPermaLink="false">http://www.code-muse.com/blog/?p=150</guid>
		<description><![CDATA[In the past six months I could not put up and resist my tech-innards wanting a smartphone anymore. I had almost bought an iPhone last year, after which I impatiently was awaiting Google&#8217;s launch of the Nexus One, only to find out it would only be available in the US the first months after its [...]]]></description>
			<content:encoded><![CDATA[<p>In the past six months I could not put up and resist my tech-innards wanting a smartphone anymore. I had almost bought an iPhone last year, after which I impatiently was awaiting Google&#8217;s launch of the Nexus One, only to find out it would only be available in the US the first months after its initial release. I was seriously considering importing one, so this month it was time to finally make up my mind: iPhone or Android.</p>
<p>After reading and viewing many technical comparisons (I especially liked <a href="http://www.technobuffalo.com/blog/iphone/nexus-one-vs-iphone-3gs" target="_blank">TechnoBuffalo&#8217;s review video</a>), I was still in doubt. Although the Nexus One is technically a very capable phone and Android is certainly a promising platform, Apple&#8217;s iPhone kind of still kept &#8220;feeling&#8221; better. Then I found <a href="http://www.boygeniusreport.com/2010/01/09/google-android-personal-thoughts/" target="_blank">Boy Genius&#8217; Personal Thoughts</a> about Android, which pushed me all the way over to the iPhone camp again. I too am missing the soul in Andriod. The little robot logo is cute, but it seems to me that that is almost the only thing that&#8217;s consistent.</p>
<p>So I wasn&#8217;t surprised by today&#8217;s Gizmodo article stating that <a href="http://gizmodo.com/5494406/the-nexus-one-is-a-total-flop" target="_blank">The Nexus One is a Total Flop</a>. Well, to me, the Nexus One is simply Yet Another Andriod Phone.<sup><a href="http://www.code-muse.com/blog/?p=150#footnote_0_150" id="identifier_0_150" class="footnote-link footnote-identifier-link" title="But hey, I might have become a little biased, after using an iPhone for the past 11 days">1</a></sup></p>
<ol class="footnotes"><li id="footnote_0_150" class="footnote">But hey, I might have become a little biased, after using an iPhone for the past 11 days</li></ol>]]></content:encoded>
			<wfw:commentRss>http://www.code-muse.com/blog/?feed=rss2&amp;p=150</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Help, NUMLOCK is Broken!</title>
		<link>http://www.code-muse.com/blog/?p=138</link>
		<comments>http://www.code-muse.com/blog/?p=138#comments</comments>
		<pubDate>Thu, 28 Jan 2010 14:51:05 +0000</pubDate>
		<dc:creator>gert</dc:creator>
				<category><![CDATA[Ubuntu]]></category>
		<category><![CDATA[user interface]]></category>

		<guid isPermaLink="false">http://www.code-muse.com/blog/?p=138</guid>
		<description><![CDATA[I can&#8217;t remember after which update (of Gnome/Ubuntu) this happened, but each time when I fire up the Gnome Calculator and start hitting the numbers on my keyboard&#8217;s keypad, nothing appears in the calculator&#8217;s display! Aha, of course, NUMLOCK turned off. So I hit the NUMLOCK key and start banging on the keypad again. Still [...]]]></description>
			<content:encoded><![CDATA[<p>I can&#8217;t remember after which update (of Gnome/Ubuntu) this happened, but each time when I fire up the Gnome Calculator and start hitting the numbers on my keyboard&#8217;s keypad, nothing appears in the calculator&#8217;s display! Aha, of course, NUMLOCK turned off. So I hit the NUMLOCK key and start banging on the keypad again. Still no numbers appear, but&#8230; What the heck, the mouse is moving?</p>
<p>After consulting the all-knowing Google, I found the cause of this rather interesting behavior. Open <strong>System</strong> -> <strong>Preferences</strong> -> <strong>Keyboard</strong>. Then go to the <strong>Mouse Keys</strong> tab. Now here&#8217;s the million dollar question. Why would somebody _ever_ want to move its mouse pointer with the keypad? Maybe because you broke your mouse slamming it on your desk because you we&#8217;re so irritated that you couldn&#8217;t use your keypad? I don&#8217;t know. I&#8217;ve never had the urge to control my mouse pointer using the keyboard. Maybe they&#8217;d called it <em>keypad-pointer</em> if it was meant to be controlled by the keypad. </p>
<p>Well, they didn&#8217;t, so press <strong>Shift+NUMLOCK</strong>. This will uncheck the &#8220;Pointer can be controlled using the keypad&#8221; checkbox. Why was this box checked in the first place? Maybe its the default. Or maybe I once accidentally held down the shift key when I pressed NUMLOCK.</p>
<p>That must be it.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.code-muse.com/blog/?feed=rss2&amp;p=138</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
