Archive for June, 2010


“Any sufficiently advanced bug is indistinguishable from a feature.”
– Unknown

An epic tale of murder and intrigue… and genocide and… well, if you’ve read the Bible, you probably know the story. Right? Ah hell, watch it anyway and answer the question at the bottom of the page, you could win something (but probably won’t).

Write a comment and explain in 100 words or less why the events in this video were OK.

Happy Sunday!

Rember to check out NonStampCollector’s other, very awesome videos at: http://www.youtube.com/user/NonStampCollector

“Never put off until run time what you can do at compile time.”
David Gries, in “Compiler Construction for Digital Computers”, circa 1969.

Real Programmers never use API’s, they create API’s.

I’ve been thinking about writing an article on the sad realities of debugging a program and the effect that it has on us barely human programmers. Then I came across this post at 4 Lines of Code. It’s genius and I love it and it is all perfectly true. Somebody should be collecting these pearls of wisdom from blogs and making a book. Seriously.

We have examined earlier the fundamental laws of bug finding. You will probably know the fundamental stages of bug finding. The 6 basic stages of debugging are well-known among programmers and can be found in various blog posts. During debugging, developers and programmers go through a cycle of emotional states:

  1. DENIAL. That can’t happen.
  2. FRUSTRATION. That doesn’t happen on my machine.
  3. DISBELIEF. That shouldn’t happen.
  4. TESTING. Why does that happen?
  5. GOTCHA. Oh, I see.
  6. RELIEF. How did that ever work?

First (1) we have a stage of denial and surprise: you say that the bug isn’t possible, that it can’t happen, because you have not observed it before. You are surprised. The reason is (2) that is doesn’t happen on your machine or on your computer. You can not reproduce it instantly, and you have not seen this bug before. You get frustrated and sometimes a bit angry. Therefore you think that (3) it shouldn’t happen. Yet someone – unfortunately often a customer or a user – insists that it does. So you (4) ask why it is happening, and why it can happen. The only way to solve this problem is to find out what really happens. You start to examine logs and to debug the program, until you are able to find and to reproduce the bug. If you’ll do this long and hard enough then (5) you see the reason for the bug, and are able to remove it. You are trying to reproduce the bug again to see if it is fixed. Finally (6) you ask yourself how it ever work before. The longer you seek a bug and the longer the phases (1)-(4), the larger the relief in the end.

You can read the original post here: http://4loc.wordpress.com/2010/03/13/the-six-stages-of-debugging/

If you’re into development at all, be sure to check out 4 Lines of Code, it’s good stuff.

“Programming graphics in X is like finding sqrt(pi) using Roman numerals.”
Henry Spencer

I saw this video posted at Bad Astronomy and since I can’t really say it better than Phil:

In April 2010, physicist and outspoken lover of science Brian Cox spoke at a TED meeting about the state of science funding in the UK and the world, and why we do science. Trust me, you need to find the 17 minutes today to watch this.

Brian Cox really manages to speak to the science geek in me. Near the end he reads a famous piece by Carl Sagan… and at that very moment I got something in my eye. Watch the video, you’ll be better off for it.

Happy Sunday!

Original post at: http://blogs.discovermagazine.com/badastronomy/2010/06/18/cox-on-ted/

(CnP™ Phil Plait)

We don’t need no indirection
We don’t need no flow control
No data typing or declarations
Did you leave the lists alone?

Hey! Hacker! Leave those lists alone!

Chorus:
All in all, it was, just a pure-LISP function call.
All in all, it was, just a pure-LISP function call.

Sung like so: http://www.youtube.com/watch?v=-Py5aPLG348

Seriously, somebody needs to put together an album of these gems. I’m speaking to you Mr. Weird Al’ Yankovic. *pointed look*

Hanging around #pharyngula on synIRC today, links to the video’s below came up this afternoon. It’s a major geek thing really but anybody who’s read some H.P. Lovecraft will appreciate them… quite a bit… man, how I laughed.

Don’t know H.P. Lovecraft or the Necronomicon? Read these first:

http://en.wikipedia.org/wiki/H._P._Lovecraft

http://en.wikipedia.org/wiki/Necronomicon

http://en.wikipedia.org/wiki/Cthulhu

Also check out this blog/podcast that is made of win: http://hppodcraft.com/

(HT Edheldude of #pharyngula)

“C makes it easy to shoot yourself in the foot. C++ makes it harder, but when you do, it blows away your whole leg.”
Bjarne Stroustrup

Follow

Get every new post delivered to your Inbox.

Join 125 other followers

%d bloggers like this: