“Any fool can use a computer. Many do.”
– Ted Nelson
Category: Computing
“There are two ways of constructing a software design. One way is to make it so simple that there are obviously no deficiencies. And the other way is to make it so complicated that there are no obvious deficiencies.”
– C.A.R. Hoare
But first, let us establish the exact extent of the Nerdity:
I was thinking about starting a series of posts on programming an evolution simulator, about how I am going to go about it this time (I’ve started a couple of times but some of the details eluded me in the past). But then my ThinkGeek order arrived and now I can’t concentrate properly on what I wanted to write about before, my mind clouded with the geekly awesome currently in the air.
So, I’m going to show off the Nerd!(tm) gear that arrived today instead.
The shirts I got for myself (ok, I may have gone a bit overboard, but that is entirely besides the point):
Go away or I will replace you a small shell script
http://www.thinkgeek.com/tshirts-apparel/unisex/frustrations/374d/
Do or Do Not

http://www.thinkgeek.com/tshirts-apparel/unisex/itdepartment/9e4a/
user error

http://www.thinkgeek.com/tshirts-apparel/unisex/frustrations/59fe/
Killer Coding Ninja Monkeys

http://www.thinkgeek.com/tshirts-apparel/unisex/itdepartment/5e89/
Arrgh

http://www.thinkgeek.com/tshirts-apparel/unisex/generic/7666/
You are dumb v2.0

http://www.thinkgeek.com/tshirts-apparel/unisex/generic/38db/
And for my wife:
GeeKISSexy Babydoll Tee

http://www.thinkgeek.com/tshirts-apparel/womens/5c8f/
Geek Love Poem Babydoll

http://www.thinkgeek.com/tshirts-apparel/womens/724f/
Pixel Angel
![]()
http://www.thinkgeek.com/tshirts-apparel/womens/ccb7/
Can you feel the awesome? Can you? No doubt that you can.
Many sheep and goat producers indicate a special bond quickly develops between lambs and their guard llama and that the llama is particularly protective of the lambs. Guard Llamas. Cool.
“No matter how slick the demo is in rehearsal, when you do it in front of a live audience, the probability of a flawless presentation is inversely proportional to the number of people watching, raised to the power of the amount of money involved.”
– Mark Gibbs
Clearly Mr. Gibbs is talking from experience. Anybody in software development knows this one to be the god’s own truth.
While sitting this evening and trying to come up with something amusing to write about, it occurred to me that I would dearly like to write something reasonably interesting about Python, Django and programming. I’ve done posts about the combination before, right in the beginning when I was just coming to grips with MVC, Active Record and Django and was frustrated as all hell with Django’s really crappy error messages.
The problem, this evening, is that I realised that I am probably not good enough in Python to write anything really cool. Sure, I could write something about Python and Django, but what would be the point of that? I guess another ‘how to’ get past some of the more infuriating beginners problems would be useful to some people but it’s, well, not cool.
I could write some cool stuff about PHP because I know PHP and have written every conceivable type of script in PHP (web, daemons, sysadmin scripts, IRC clients even a script that uses WS-Security, once). PHP and I have been friends for a very long time and don’t get me wrong, I do still have very much affection for the language but it’s not what I’m ‘doing’ right now. I could also write something cool about Visual Basic, I have done some really neat things (in my biased opinion) in that language; at one point, everything I could think of. A particular favourite was a 3D rotation application with some interesting Z-sorting procedures but I digress.
The point is that I want to write about Python because that’s what I’m doing now and what I’m interested in, now, but I haven’t done any cool enough things with it yet, at least not anything I think is worthy of talking about and I am not yet confident enough with either to venture my opinion on how things should be done.
So basically, what I am pondering is, how long should it take to climb the hill of cognition (or some-such), working with a brand new programming language, before you know cool stuff. Four months is not enough for me but I’m already trying to think of something ridiculously cool (and, er, useful of course) to add to my current project, mostly for the sake of having done something, well, cool (and also, I do kind of enjoy learning somewhat).
The most apparent visual difference between llamas and camels is that camels have a hump or humps and llamas do not.
“Most software today is very much like an Egyptian pyramid with millions of bricks piled on top of each other, with no structural integrity, but just done by brute force and thousands of slaves.”
– Alan Kay
I had an iPhone 3G not too long ago and it was great. I was then forced to part with it and I have missed it sorely since. I have been using a really crappy Sony Eriksson since that sad day and it’s getting to the point now where that has to change.
There are, in my mind, 3 realistic options at moment (or there will be soon anyway): the Apple iPhone 3GS, the Google Nexus One and the Nokia N900.
Since I had an iPhone before, which I loved, quite frankly, I know I won’t be disappointed. I have two gripes with it: it’s insanely expensive here and I don’t have a Mac to develop software for it on. And I have no plans for acquiring a Mac any time soon. It’s not a train smash but I do like the tinker sometimes. The technical specs are pretty good, 844 MHz CPU, 256 Mb RAM, 7.2 Mb HSDPA, 3 mega pixel camera.
I’ve been waiting for proper news on the Google Nexus One for a while now and from what I have seen, it looks to be an excellent phone. I don’t personally know anybody that has one yet, so all I have to go on so far are reviews. The technical specs for it look great, to be honest: 1 GHz CPU, 800 x 480 screen, 5 mega pixel camera, 512 Mb RAM and 7.2 Mb HSDPA. This is all good, all, good.
The Nokia N900 from Nokia is interesting, it has an actual keyboard. My experience with the iPhone was that an on-screen keyboard is passable until you have an SSH terminal open and are trying to work. At that point, it gets a bit painful. I am a bit worried at the quality of Nokia phones lately, my wife has had many issues with her E71. From a spec point of view it seems ok, 800 x 480 display, 256 Mb RAM, 600 MHz CPU with graphics accelerator, 7.2 Mb HSDPA.
What is causing me to think about the situation is that both Nokia’s S60 and Google’s Android have Python support. I have recently started programming in Python and are loving it very much. Objective C, on the other hand, I have had an unpleasant encounter with, which doesn’t matter since I don’t plan on buying a Mac any time soon. If I were to be given one, on the other hand…
The Nexus One isn’t available here yet but I can already see that the price for it will be somewhat lower than the iPhone and will, it seems, be available unlocked by default.
On pure specs then, and programming language support, the Nexus One would beat the iPhone in my books and I am a Google fanboy, no doubt about that. The problem is I don’t know how well the Android OS stacks up against the iPhone OS – which is excellent.
What I really need is to find me somebody who owns an iPhone and now a Nexus One. If you happen to be in that situation, let me know, I would love to know what your experience with them are.
Like humans, llama males and females mature sexually at different rates. Females reach puberty at approximately 12 months.
“It has been discovered that C++ provides a remarkable facility for concealing the trivial details of a program — such as where its bugs are.”
– David Keppel
“Manually managing blocks of memory in C is like juggling bars of soap in a prison shower: It’s all fun and games until you forget about one of them.”
– anonymous Usenet user
“When debugging, novices insert corrective code; experts remove defective code.”
– Richard Pattis


