Nerderati

You're probably not nerdy enough.

Shebang

An explanation of the shebang[1], and what it means when included in a script:

#!/path/to/interpreter -flags

Means

“This file is not My Words, but My Commandment to you, System. You must travel along this Path. At the end, you will find an Interpreter. You will pass unto him these Flags, and he will help you to understand My Biddings. You will do this, for I have execution permissions on this file.”

From the bowels of Reddit.


[1]: Shebang (#!)

Macro Humanity

It’s not often that I come across an essayist that completely blows me away, but Nick Bostrom has done just that.

I came across his name for the first time while browsing the latest Hacker News submissions, under the link-baited submission title: Why I Hope the Search for Extraterrestrial Life Finds Nothing. Needless to say, I was intrigued, and the comments on the HN page were encouraging.

After a few cursory credential checks1 to confirm that the author wasn’t a complete nut job (quite the opposite, actually – see the footnote), I took the time to sit down and read the essay.

Here is a short excerpt:

What could be more fascinating than discovering life that had evolved entirely independently of life here on Earth? Many people would [...] find it heartening to learn that we are not entirely alone in this vast cold cosmos.
But I hope that our Mars probes will discover nothing. It would be good news if we find Mars to be completely sterile. Dead rocks and lifeless sands would lift my spirit.

Where Are They? [pdf]

I won’t go into any of the finer details – for that, you should read Professor Bostrom’s elegantly written article – but If you’ve ever heard of the Fermi Paradox or pondered over the murky details of the Anthropic Principle, I highly recommend reading the article I’ve linked to above. These topics may have been discussed ad nauseam in many corners of the web, Professor Bostrom’s thoughts and insights are trully a breath of fresh air.


[1] Professor Bostrom has quite the resumé, including a Wikipedia page, two published books, dozens of published articles in well respected journals, and is currently the director of The Future of Humanity Institute at Oxford University. In other news, I now feel more inadequate than ever.

Redis Memory Monitoring – Python Edition

A few hours ago, Salvatore Sanfilippo (the lead developer of Redis), tweeted a little Ruby script to interactively estimate the memory usage of a running redis-server instance:

I’ve been experimenting with a Python+Redis combination (with redis-py) for data analysis on a few side projects lately, and a simple script like this can come in handy when you want to make sure you’re not doing something completely stupid with Redis that gobbles up all of the allocated memory. And yes, I’ve been guilty of doing that on a few occasions.

Converting the script from Ruby to Python (with some additional logic for command line option parsing) is very straightforward:

Once again, git and GitHub make this kind of collaborative development almost too easy.

ConFoo You Too

While a bit late, I’m extremely happy to announce that I have been selected as a speaker for the ConFoo.ca Conference to be held in Montréal at the beginning of March, 2010.

I attended this conference last year when it known as PHPQuébec, and had a fantastic time; the sessions as well as the speakers were excellent, as were the hallway conversations with other conference attendees.

Along with the change in name, the focus of the conference itself has shifted from being PHP-centric to something more language and technology agnostic, with sessions on .NET development, Python tricks & idioms, databases and a host of other topics. The list of sessions and speakers should make any developer worth his salt giddy with anticipation.

The talk I will be presenting is entitled A Web Framework for People Who Hate Frameworks, and focuses on Lithium, one of my most recent endeavours with CakePHP core alumni @nateabele and @gwoo. You can read more about the talk I’ll be giving on the session page, and for all those who will not be attending ConFoo 2010 I encourage you to visit #li3 or #li3-core on irc.freenode.net, and ask us why Lithium is making waves in the web framework world.

New Design, New Engine

As some of you may have noticed, I recently changed the design of Nerderati.

While I quite liked the last design — Charcoal — I wanted something lighter, and that put more emphasis on the content. Moreover, I had made the decision to switch from Habari, to Wordpress.

Habari is a fantastic blogging engine. It’s design & architecture is particularly well done, and is how WordPress should have been done in the first place. Their community is both active and knowledgeable, having put out three minor releases since I had started Nerderati last year, as well as releasing a great deal of plugins.

So why the hell would I switch to WordPress, of all things?

I realized that I was eternally attempting to tinker with Habari; A plugin incompatibility here, an issue with the media browser there, and a sprinkling of minor missing features. While every problem I had experienced was minor and should be expected for relatively new (and pre-1.0 release) software, they were additional psychological barriers between me and posting new articles.

Then, I had an epiphany: I was looking at my blog from the perspective of a Developer, instead of a User. WordPress’ internals might not sit well with me on a technical front, but who cares? I’m not developing for it. I’m not designing for it. I sure as hell don’t have the time to be continually tinkering with a blog engine (and I have no interest whatsoever in blog engines, not just WordPress). I have no doubt that Habari will one day compete toe-to-toe with WordPress feature-wise, but that’s not today.

So I decided to apply my normal work philosophy, and use the best available tool for the job at hand. And as soon as I stopped thinking of it from a developer point of view, the choice was obvious.

I just have to make sure to never look at the source code of this damned thing.