The Last Human Death

August 7, 2011 15 comments

So this guy Ray Kurzweil  believes that we can achieve immortality through backup. Yep, that’s right. Walk into a phone booth, pick up the receiver, dial your private number and a backup of your mind is uploaded to Telkom (or any one of competing providers). There are all sorts of packages on offer – post-paid unlimited backup, pre-paid backup-as-much-as-you-can-afford-right-now, there’s a free annual backup which however has a hefty fee when you wish to restore, and so on.

Read on »


Huawei IDEOS U8150 – The Little Android That’s Bigger On The Inside

April 17, 2011 73 comments

“Yes, it’s bigger on the inside”, to quote the words of Doctor Who whenever he’s addressing a first time visitor to the Tardis. Anyone regarding the Ideos from the outside tends to dismiss it. Despite being a nice looking phone, it has characteristics that immediately put you on your guard when phone shopping. For starters, Huawei is not exactly a leading name in the smartphone market. Next up is the size. It’s small, very small. So you can be excused for being skeptical about its utility as a smartphone. Finally comes the price tag. USD 100 (KES 8,500). In Kenya it’s even cheaper when you factor in the bundled talk time and data package. Did I mention it’s unlocked? So in your mind there must be a catch. Someone somewhere is going to be having a good laugh at your expense if you buy this phone.

Here’s the thing. I’ve been having an Ideos for some time now and, well, I’m still the one laughing. There’s so much you can do with this little smartphone, you literally forget the size. All courtesy of the Android 2.2 operating system running inside it. And the best part is I haven’t had to invest in a larger SD card like I had originally planned. The 1GB card is sufficient for plenty of apps and data. What apps you ask? I love customizing any device I own, so I got down to shaping the Ideos to my preferences from the moment I unboxed it. Here’s some of what I’ve done with it:

Read on »

Categories: Android, Gadgets, Techie Tags: , , ,

The Secret to Immortality

November 11, 2010 10 comments

Take a trip down memory lane. Think about the people you remember most vividly. Especially those you haven’t met in a long time – and probably never will for the rest of your days on earth. Chances are, most if not all of them taught you something. Something you value to this day.

When I think back, I recall Mr. Kimaru who taught me swimming, Mrs. Kago who taught me music, Mr. Ogalo (r.i.p) who was my choir master and Dr. Sevilla who taught me C++. There is one thing in common among all these. None of what they taught me was in the school curriculum yet I value it all to this day.

Now the people who teach you stuff are not found only in learning institutions, you meet them all over, but there does need to be extended contact for you to learn most things. Well back to the question of immortality. These people have achieved immortality by having their very vivid impressions etched forever in my memory. I remember them like I just met them yesterday. I can hear their voices with varied accents, see their gestures and most importantly recall every bit of what they instructed.

The secret to immortality is teaching. Teach someone something you don’t have to teach and they don’t have to learn. If you don’t have to teach it and they don’t have to learn it, then the only reason you are in contact is a shared passion for the subject at hand. You’ll always remember someone who taught you something you were both passionate about.

Categories: Ideas, teaching

Rare Proximity of Jupiter to Earth

September 21, 2010 7 comments

I’m something of an amateur star-gazer. I regularly look up at the night sky in wonderment, pondering the vastness of the universe and just how little we know about it. Looking at the stars is constant confirmation that there’s an ‘out there’. Not all shiny objects up there are stars though. Even more intriguing are the planets, and in particular the giant Jupiter.



A few weeks back I noticed an unusually large star that I couldn’t quite place. I still have difficulty translating the sky charts I find on the Internet to the actual sky above. Fortunately, though there was a newsworthy alignment of Venus, Mars and Saturn that got me digging for some decent sky charts so I could figure out where to gaze. I ended up at the Neave Planetarium where I typed in my coordinates and started orienting myself with the patterns. That’s when I noticed the placement of Jupiter and realized it was the bright star I’d been seeing. It was surprising since I’ve always thought of Jupiter as being too far away to have a significant presence in the night sky.

It’s actually true that the planet is normally too far away to be of much interest, but this year is different. Jupiter is on its closest approach to Earth, which happened last in 1951 and won’t be expected again until 2022 according to the National Geographic. The most exciting thing about the close proximity is that I was able to see four of its moons through a pair of binoculars! At first I wasn’t sure since I expected them to be too small, but the dots of light changed their position relative to Jupiter over two days. Two of them are much brighter than the rest so I guess they must be Europa and Ganymede.

I wonder when space tourism pioneers such as Virgin Galactic are going to be capable of getting passengers to destinations beyond Earth orbit.

(image source:

The Turbocharged Calculator

August 28, 2010 Leave a comment

I once came across a document by Harold Thimbleby describing why conventional calculators suck and what should be done about them to make them more natural to use. I was completely sold on his perspective so I went about creating my own calculator that followed those guidelines. Two of the most important features were displaying the answer as you type and keeping the expression on screen so you could see how the answer was arrived at.

Convert km per litre to miles per gallon

Convert km per litre to miles per gallon

I implemented those bits, but soon got too distracted with work to go much further. However I still use that calculator exclusively – no more calc for me 🙂 . That is until now. I recently came across the instacalc . A calculator that takes Thimleby’s ideas and pushes them to another level. It not only shows the answer as you type, but you can create variables and reference them in subsequent calculations (sort of like a spreadsheet but way cooler). You can save your calculations, share them with other people and even embed a calculation on your blog!

The calculator also has conversions of all sorts (temperature, length, mass) and supports the use of English words such as ‘million’ so your formulas look even prettier. Sadly, this means I have to retire my beloved calculator project, Desk Calc 😦 .

Categories: Ideas Tags:

Production Code Deployment with Mercurial Version Control

May 26, 2010 2 comments

I recently switched to Mercurial source control and it’s proving to be a lot more fun to work with than Subversion. However there is one SVN feature that I have been missing dearly: The ability to export deployment code. SVN has an export command that I would use to generate a copy of project source files free from all the source control utility folders.

Up until recently, I had not figured out how to do this in Mercurial. I had to manually remove the .hg folder in order to move project files to production. That was until I came across this gem. Mercurial has an Archive command. It essentially does the same thing as the SVN Export command. In order to archive in TortoiseHg (Windows):

Export Prodcution Code

Export Prodcution Code

  1. Right-click the source code project folder and select Hg Repository Explorer.
  2. In the Repository Explorer, right-click on the default (tip) revision point and select Archive.
  3. On the Archive dialog:
  • Select the Archive revision you want to export
  • Supply the destination path
  • Pick Directory of files as the Archive type.
  • Click Archive.

You now have a copy of your source files that does not contain source control infrastructure.

Add a Custom Page Template to WordPress Thesis Theme

May 16, 2010 146 comments

Thesis is a popular premium WordPress theme. Unlike many themes that are implemented to plug directly into the WordPress-defined template structure, Thesis is a force unto itself. It’s a framework that completely redefines the approach to WordPress customization. It achieves this by supplying a rich set of hooks into the various stages of the page generation process and then creates one location where all customization code goes. One file – custom_functions.php – holds all the custom code and is safe from overwriting during theme upgrades.

The Thesis framework is sufficient for a wide range of customization needs. However, as with all popular software, users’ needs eventually go beyond the default capabilities of the software. Thesis has in-built support for creating 2-column and 3-column sites. The layouts are configured via the Design Options menu and apply site-wide. You can override the layout of particular pages (eg home page) by intercepting the page generation process in custom_functions.php. The problem with this approach is that you have to know the designation (home), name or id of the page before-hand as you customize the site. If these details change after the site has been launched, then the customization code is going to break.

Page Template List

Page Template List

What if you want to alter the layout of an arbitrary number of pages that are going to be created in the future? All you know at customization time is what the layout shall be, but not which particular pages shall use it. This obviously calls for a solution that does not involve updating the customization code every time a page requires the custom layout. Even better, it calls for a facility that can be triggered while the page is being created by the user. A facility such as the WordPress  page Template selection drop-down. If you could create a custom template and have it selectable on the Template drop-down, then the user would simply pick it during page creation (or editing) and have it used for page rendering.

Thesis (version 1.6) does not support plugging in of custom template files, but it is flexible enough to pick them up if you know where to tweak. Here’s how you go about doing exactly that:

1)       Problem description

The hypothetical site we shall be working with is a travel blog. The site has various sections, but the one that is of interest here is one called Places. It has pages describing various travel destinations. These pages have advertising that shows in the left column. Every other type of page on the site does not have this left column and therefore no ads showing. How do we get the ads to show on the Places pages, but not on any other page?

Read on »

Categories: programming, Techie Tags: , ,