Category: Geek

The programmer and the SDLC

The SDLC as it happens in the real world:

  1. Programmer produces code he believes is bug-free.
  2. Product is tested. 20 bugs are found.
  3. Programmer fixes 10 of the bugs and explains to the testing department that the other 10 aren’t really bugs.
  4. Testing department finds that five of the fixes didn’t work and discovers 15 new bugs.
  5. Repeat three times steps 3 and 4.
  6. Due to marketing pressure and an extremely premature product announcement based on overly-optimistic programming schedule, the product is released.
  7. Users find 137 new bugs.
  8. Original programmer, having cashed his royalty check, is nowhere to be found.
  9. Newly-assembled programming team fixes almost all of the 137 bugs, but introduce 456 new ones.
  10. Original programmer sends underpaid testing department a postcard from Fiji. Entire testing department quits.
  11. Company is bought in a hostile takeover by competitor using profits from their latest release, which had 783 bugs.
  12. New CEO is brought in by board of directors. He hires a programmer to redo program from scratch.
  13. Programmer produces code he believes is bug-free…

It’s true, no word of lie.

Geek O'Clock

Geek O'Clock

(HT Kangaroo Digital)

The Story of Mini and Micro

I wish I could claim to have written this, but I can’t. It’s genius and I couldn’t help myself from ripping it off to bulk up the content on my content deprived blog.

For your enjoyment, The Story of Mini and Micro. Safe for work, the people who care won’t get it anyway…

Micro was a real-time operator and dedicated multi-user. His broadband protocol made it easy for him to interface with numerous input/output devices, even if it meant time-sharing.

One evening he arrived home just as the Sun was crashing, and had parked his Motorola 68040 in the main drive (he had missed the 5100 bus that morning), when he noticed an elegant piece of liveware admiring the daisy wheels in his garden. He thought to himself, “She looks user-friendly. I’ll see if she’d like an update tonight.”

Mini was her name, and she was delightfully engineered with eyes like COBOL and a PRIME mainframe architecture that set Micro’s peripherals networking all over the place.

He browsed over to her casually, admiring the power of her twin, 32-bit floating point processors and enquired “How are you, Honeywell?” “Yes, I am well,” she responded, batting her optical fibers engagingly and smoothing her console over her curvilinear functions.

Micro settled for a straight-line approximation. “I’m stand-alone tonight,” he said, “How about computing a vector to my base address? I’ll output a byte to eat, and maybe we could get offset later on.”

Mini ran a priority process for 2.6 milliseconds then transmitted 8 k, “I’ve been dumped myself recently, and a new page is just what I need to refresh my disks. I’ll park my machine cycle in your background and meet you inside.” She walked off, leaving Micro admiring her solenoids and thinking, “Wow, what a global variable, I wonder if she’d like my firmware?”

They sat down at the process table to top of form feed of fiche and chips and a bucket of Baudot. Mini was in conversational mode and expanded on ambiguous arguments while micro gave the occasional acknowledgements, although, in reality, he was analyzing the shortest and least critical path to her entry point. He finally settled on the old would you like to see my benchmark routine, but Mini was again one step ahead.

Suddenly she was up and stripping off her parity bits to reveal the full functionality of her operating system software. “Let’s get BASIC, you RAM,” she said. Micro was loaded by this his hardware was in danger of overflowing its output buffer, a hang-up that Micro had consulted his analyst about. “Core,” was all he could say, as she prepared to log him off.

Micro soon recovered, however, when Mini went down on the DEC and opened her divide files to reveal her data set ready. He accessed his fully packed root device and was just about to start pushing into her CPU stack, when she attempted an escape sequence.

“No, no!” she cried, “You’re not shielded!”

“Reset, Baby,” he replied, “I’ve been debugged.”

“But I haven’t got my current loop enabled, and I can’t support child processes,” she protested.

“Don’t run away,” he said, “I’ll generate an interrupt.”

“No, that’s too error prone, and I can’t abort because of my design philosophy.”

Micro was locked in by this stage, though, and could not be turned off. But Mini soon stopped his thrashing by introducing a voltage spike into his main supply, whereupon he fell over with a head crash and went to sleep.

“Computers!” she thought as she recompiled herself, “All they ever think of is hex!”

I read it here first (and he doesn’t seem to know who wrote it either):


There are three kinds of lies: Lies, damned lies, and benchmarks.

Look, I’ve been practising to pronounce that bloody word so I am going to use it at often as possible. Australopithecus Sediba. For those of you who don’t know what Australopithecus Sediba is, go here: and here: and see the photo’s below:

(The quality of the photo’s aren’t great because I took them on my crappy K850i, uploaded them directly to my photo blog and subsequently stole them back from there)

Hamish, a good friend of mine (THE Hamish, The One I thank for Fridays, THIF) messaged me on Friday wondering if I would like to go see Australopithecus Sediba that was, briefly, being exhibited at Maropeng, the official visitors centre of The Cradle of Humankind World Heritage Site. Since the Australopithecus Sediba fossils would only be on display for two weeks there, I don’t think there was much of a choice in the matter, we would go.

So today, Hamish, Hamish’s girlfriend Suzette, my wife and I went and had a browse through the exhibits at Maropeng, which includes a water ride, a history of earth (right back from 4.5 (ish) billion years until today), several science exhibits as well as an original fossil exhibit. We thoroughly enjoyed the whole experience and I have a couple of observations.

The exhibits in general

I’ve been to more than a couple of science exhibits in several countries and I have to say, Maropeng is very well done. It’s definitely on par with world facilities of a similar nature, possibly better than most. The exhibits themselves are interesting and visually appealing (and they all worked), the walk trough is logical, makes sense and I think kids would enjoy the process as much as us adults did. It’s clean and it also doesn’t take all day (which I believe is a bonus for people with short attention spans or persons afflicted with screaming smaller versions of themselves).

The science

The displays and explanations are put in such a way that a five-year old can understand it. Seriously. I may be a bit biased, but to be brutally honest, if you walk through Maropeng and still come out the other side believing that the earth was created 10,000 years ago, humanity in-tact and at the pinnacle of creation, then you, sir, are a knave and a fool.

The exhibits are clear enough that a casual walk through will be interesting but there is also enough information to satisfy people with an interest beyond casual. The topics are well explained from several angles and on a whole, I think the science portrayed there is of a high standard.

What I didn’t see

There were no humans and dinosaurs in the same space. There were no Adams or Eves (with or without belly buttons, how we laughed). No exhibits about 600 year old men building floating zoos big enough for a million or two species (we laughed some more). There were no fairy tales of ghosts in bushes or vindictive columns of cloud, no unicorns or flying horses (we weren’t sure about the unicorns, since ThinkGeek sells canned unicorn meat). Sadly, there were also no llamas.

But what about ‘transitional fossils’?

Get off your ever increasingly large, dough like behind and go and look at the damn fossils. They are there. They are many and wishing them away isn’t going to make them any less real.

And Australopithecus Sediba?

I wish I could say it was a ‘religious experience’ but it was not. The fossil is fascinating, beautiful and interesting and I am very happy it was found in what is currently my back yard. It may be one of the most important palaeoanthropological finds ever but unless you’re actually a  palaeoanthropologist, it may not be as awe-inspiring as one would like it to be. I am happy though that I took the time to go see it in person, it and the rest of the facility certainly made it worth the time and money.

While walking through the exhibits, the four of use mused and came to the following conclusions:

1. One would have to make an awfully large number of apologies to be able to discard and ignore the mountain of evidence for macro evolution that exists there for anybody to see (and Maropeng is hardly the largest facility of its kind)

2. We would love to actually go and see the ‘Creation Museum’ for some additional edutainmusement™

3. We were very sorry that we missed visiting the facility mentioned in point 2 with PZ Myers

4. Evolution is true, no amount of foot stamping and closed-eye wishing is going to change that fact

5. We are overjoyed at the number of people at the facility and even happier at the number of children we saw there.

If you have the opportunity to visit Maropeng, do it, it is worth the effort.

A female llama will only produce about 60 ml of milk at a time when she gives milk.

The withering away of Flash

I just read an excellent post of the Future of flash and HTML 5 on Full Stop Interactive. The article was thought out and presented very well. You should really make an effort and check out the full article here:

I think it’s the intro that got me into the article (I’m generally not that interested in the whole Flash debate, since I lack even the meagre ability to draw a stick man, Flash never really did it for me):

Programmers are, by nature, practical. (Exhibit A, Jonathan Snook.) We will find the shortest, most efficient route to complete whatever task is set before us. Need this website complete by Friday? You got it. We’ll take a shortcut here, cut a corner there. We’ll import a library, ignore accessibility, and pretend like the idea of print stylesheets and Internet Explorer 6 never entered our minds. You’re happy; we’re happy.

Except when we aren’t.

Programmers, you see, are also intensely ideological. If more than one option is available, we pick a side and defend it against all comers. You use PHP not Ruby? YOU’RE DOING IT WRONG.

You think it doesn’t matter if you camel case or underscore? FAIL.

You’re on a PC? In 2010? EPIC FAIL.

This apparent contradiction is actually easily reconciled. At least according to this incredibly scientific poll on Hacker News, the vast majority (60 percent) of programmers score as either INTJ or INTP on the Myers-Briggs test. A study of the U.S. population suggests the total INTJ and INTP population is only 5.4 percent. Our working hypothesis, therefore, is that programming attracts (or requires) people predisposed to thinking, judging personality types.

When we isolate the Thinking/Feeling and Judging/Perceiving factors from all responses, however, a slightly different picture is revealed. “Thinking” soars to 82 percent of those tested, while “judging” falls back to the pack at 48 percent. (The same study shows T of 40 percent and J of 54 percent.) Pushing our amateur psychology to its limits, we deduce that practical nature of programmers corresponds to the high likelihood of self-identifying as a thinker, and while our detached nature makes us less likely to judge, we shouldn’t be surprised to find that ideologues tend to shout louder.

In the spirit of realpolitik, let’s set the record straight.

The article goes on to explain Flash and HTML and how they are similar and how and why HTML 5 is closing the space that Flash has to play in. I agree completely with what Nate says there and I’ve got to say, I won’t be terribly sorry to see Flash go.

Flash is cool, but it’s not… right, if you know what I mean.

The article is certainly worth the read:

Llamas give birth standing. Birth is usually quick and problem free, over in less than 30 minutes.

The Nuclear Physics Department of the University of Stellenbosch has discovered the heaviest element yet known to science. The new element, Governmentium (Gv), has one neutron, 25 assistant neutrons, 88 deputy neutrons, and 198 assistant deputy neutrons, giving it an atomic mass of 312.

These 312 particles are held together by forces called morons, which are surrounded by vast quantities of lepton-like particles called peons. Since Governmentium has no electrons, it is inert; however, it can be detected, because it impedes every reaction with which it comes into contact. A tiny amount of Governmentium can cause a reaction that would normally take less than a second, to take from 4 days to 4 years to complete.

Governmentium has a normal half-life of 2 – 6 years. It does not decay, but instead undergoes a reorganization in which a portion of the assistant neutrons and deputy neutrons exchange places. In fact, Governmentium’s mass will actually increase over time, since each re-organization will cause more morons to become neutrons, forming isodopes. This characteristic of moron promotion leads some scientists to believe that Governmentium is formed whenever morons reach a critical concentration.

This hypothetical quantity is referred to as critical morass.

When catalyzed with money, Governmentium becomes Administratium, an element that radiates just as much energy as Governmentium since it has half as many peons but twice as many morons.


I just read this on Gizmodo (HT @penkin) and I find it quite interesting. I have thought about what the iPad could be good from since yesterday when it launched and couldn’t quite decide. I mean, I probably want one, purely cos its tech, but to be honest, it doesn’t excite me nearly as much as it should (and I do get very excited about new tech).

I think this article sums up the issues very nicely (missing one though, can you make a phone call from it?). You can read the full article here at Gizmodo:

Big, Ugly Bezel
Have you seen the bezel on this thing?! It’s huge! I know you don’t want to accidentally input a command when your thumb is holding it, but come on.

No Multitasking
This is a backbreaker. If this is supposed to be a replacement for netbooks, how can it possibly not have multitasking? Are you saying I can’t listen to Pandora while writing a document? I can’t have my Twitter app open at the same time as my browser? I can’t have AIM open at the same time as my email? Are you kidding me? This alone guarantees that I will not buy this product.

No Cameras
No front facing camera is one thing. But no back facing camera either? Why the hell not? I can’t imagine what the downside was for including at least one camera. Could this thing not handle video iChat?

Touch Keyboard
So much for Apple revolutionizing tablet inputs; this is the same big, ugly touchscreen keyboard we’ve seen on other tablets, and unless you’re lying on the couch with your knees propping it up, it’ll be awkward to use.

Want to watch those nice HD videos you downloaded from iTunes on your TV? Too damned bad! If you were truly loyal, you’d just buy an AppleTV already.

The Name iPad
Get ready for Maxi pad jokes, and lots of ’em!

No Flash
No Flash is annoying but not a dealbreaker on the iPhone and iPod Touch. On something that’s supposed to be closer to a netbook or laptop? It will leave huge, gaping holes in websites. I hope you don’t care about streaming video! God knows not many casual internet users do. Oh wait, nevermind, they all do.

Adapters, Adapters, Adapters
So much for those smooth lines. If you want to plug anything into this, such as a digital camera, you need all sorts of ugly adapters. You need an adapter for USB for god’s sake.

It’s Not Widescreen
Widescreen movies look lousy on this thing thanks to its 4:3 screen, according to Blam, who checked out some of Star Trek on one. It’s like owning a 4:3 TV all over again!

Doesn’t Support T-Mobile 3G
Sure, it’s “unlocked.” But it won’t work on T-Mobile, and it uses microSIMs that literally no one else uses.

A Closed App Ecosystem
The iPad only runs apps from the App Store. The same App Store that is notorious for banning apps for no real reason, such as Google Voice. Sure, netbooks might not have touchscreens, but you can install whatever software you’d like on them. Want to run a different browser on your iPad? Too bad!

And you still have to carry your iPhone (that can do all of the above!?!) with you anyway to make phone calls. Seriously? Look, no doubt its great tech, but no multitasking? Are you kidding me? Ah, I see, for multitasking you run one app on the iPad and the other app on the iPhone you also need to carry. Nice.

One more thing: Objective C and Mac only development environment. Fail.

You know I am an Amazon fan boy, right? You should, I wrote a million posts on it and you have to agree, I do have reason to be an Amazon fanboy. Amazon is made of win and so is the Kindle.

But now, now they have taken my ‘fanboy’ affection to a whole new level, a semi religious experience even. They are releasing a software development kit for the Kindle and are planning to roll out an ‘App’ store by the end of the year. It’s almost like an omniscient deity was listening to my wishes… almost.

Just the other day, whilst waiting and reading my Kindle (that I love and adore like a child) I thought, damn, it would be really cool if I could download some apps for it. Just a nice little note application. Or, and here is the thing, if I could get to my GMail from my Kindle, my life would, pretty much, be complete.

Sadly, I live in a country where the telecoms industry is run by a capitalist Gestapo that firmly believe in raping their subscribers in every possible way for every cent they have. So in this particular hell hole, Kindle does not have open internet access, making the GMail thing somewhat complicated.

Anyway, the reason I had my semi religious experience and am now giggling like a school girl is because I will be getting apps for my Kindle this year, and, even better, I will be able to write my own applications. I cannot, fucking, wait. So I’ve submitted my email address to the limited beta about a million times and if anybody from Amazon happen to read this, I may actually be willing to give you money to be part of said beta for the KDK.

Quick Kindle specs: 532Mhz CPU, 2Gb storage (mine anyway), 600 x 800 6″ grey scale screen (16 shades of grey), USB port, 3G/EDGE/GPRS connectivity, runs Linux-2.6.10.

The Kindle screen refresh rate doesn’t lend it’s self very well to action games or video so I expect the applications will probably be text oriented and the games will probably be puzzle type games. This is all good in my boo… Kindle.

If you want more, check out these links: and and

Overall, the fiber produced by a llama is very soft and is naturally lanolin free. Llamas are intelligent and can learn simple tasks after a few repetitions.

I was speaking to a friend of mine (OneFlew) on IRC today (yes, it’s still around, and yes, I still use it) about the Real Programmers that he worked with in his career as a programmer. He told me about Russel Hollick, who was then (and, still is, it seems), the Research and Development director of SYSPRO Africa.

In OneFlew’s opinion, Russell Hollick is a Real Programmer of note. Russell, at the time (and hopefully still) programmed in COBOL. Now the discerning reader may note that Real Programmers don’t program in COBOL. Generally, this would be true, but the legendary feats accomplished by Russell using COBOL are, apparently, manifold.  I didn’t manage to get a lot of detail from OneFlew but he described Russell as “my god, a fucking genius”. Russell was apparently a vi master of the 8th degree, and single-handedly bent vi to his will. His will being programming Object COBOL in vi. Just using vi in the first place places the man somewhat higher up on the ladder of Real Programmers.

One of the feats that elevates Russell to the realm of Real Programmer is that he went and wrote a printer driver in COBOL. Now, the COBOL that was forced down my throat while studying is a bit hazy these days but from the little bit I can remember, the language wasn’t exactly meant for bare bones systems programming. This petty restriction does not deter the Real Programmer. Russell apparently also had a knack for calling the Windows API from COBOL and knew it inside out (most likely, he still knows it inside out today).

What sealed the deal for me was the fact that Russell had a cup of coffee permanently attached to his hand, a sure sign of Real Programmerness.  Also a sure sign of one-handed typing skill I guess. He drove a red Porsche Carrera. Respect. Real Programmers like fast cars, fast bikes are highly regarded.

As I mentioned before, Russel was (and still is) the R&D Director of SYSPRO, code for “he wrote the fucking product with his bare hands”.

So here’s to Russell Hollick, Real Programmer.

Some llamas appear to bond more quickly to sheep or goats if they are introduced just prior to lambing.

%d bloggers like this: