More Articles  

5 simple ways to troubleshoot using Strace

I keep being surprised how few people are aware of all the things they can use strace for. It's always one of the first debug tools I pull out, because it's usually available on the Linux systems I run, and it can be used to troubleshoot such a wide variety of ...

Writing a compiler in Ruby bottom up - step 8

Last time we looked at an improved way of handling loops etc. using anonymous functions. But most of that is relatively limited if there's no way of modifying variables. Sure, you can get away with recursion and not allow mutation or even other side effects at all. It might satisfy some ...

TraceViz: Visualizing traceroute output with graphivz

Update: Belorussian translation.

At Edgeio we had a fairly complicated network setup, and at one point I quickly hacked together a Ruby script to merge the paths generated by multiple traceroute runs together into directed graphs, showing the routing from a few selected host in our environment to all ...

Inversions (Iain M. Banks)

I just finished reading Inversions. It's a novel set in Iain Banks massive Culture setting, but at the same time not. If you haven't read any Culture novels before, don't start with this. If you have, you may either love or hate this depending on whether you read Banks ...

OpenVZ and Apache troubleshooting: PRNG still contains insufficient entropy!

I was setting up Apache on OpenVZ earlier today, and ran into a problem with enabling SSL. Apache would refuse to start, and I'd see this in the error log:

 [Sat May 24 07:48:10 2008] [warn] Init: PRNG still contains insufficient entropy! [Sat May 24 07:48:10 2008] [error] Init: ...

Reducing coupling through unit tests

After my previous post on the subject of coupling and cohesion, a lot of the feedback I've gotten has been from people who want examples of lowering coupling, or want to know how they can see if their code is loosely coupled.

The easiest way I know of doing that ...

Confessions of a Commodore 64 remix addict

I admit it, I'm impossibly geeky at times. Sometime last summer I re-discovered Commodore 64 music.

Slay Radio, which primarily plays remixes of old Commodore 64 music, as well as some original tracks inspired by the era of 8-bit home computers became what I listened to while sitting in ...

Would you like to live in the Culture?

If you haven't read Iain Banks' books about The Culture you should be ashamed.

I've seen it referred to as dystopic some places, though I never found it that way, and this is what Iain Banks had to say about it himself in a reasonably interesting recent CNN ...

Writing a compiler in Ruby bottom up - step 7

I've combined two of the planned parts this time, what was in the list from last time as parts 7 and 8.

Making use of lambda / call

We can implement loops using recursion "manually", but adding lambda's now should make it possible to create a slightly cleaner version by actually ...