My Hackergotchi

Updated: Never — Philip's Blog

Now featuring regular updates!

Mon, 01 Dec 2008

23:24 – Page 56

As usual, I'm late to the game with these things.

  1. Grab the nearest book.
  2. Open it to page 56.
  3. Find the fifth sentence.
  4. Post the text of the sentence in your journal along with these instructions.
  5. Don’t dig for your favorite book, the cool book, or the intellectual one: pick the CLOSEST.

My result:

When an IP datagram is to be sent out an interface, if the size of the datagram exceeds the link MTU, fragmentation is performed by both IPv4 and IPv6. -- UNIX(R) Network Programming, vol. 1, 3rd ed. The Sockets Networking API.

This book lives on the leftmost edge of the bookshelf above my monitor. It recently survived a near-tragic incident involving a mug of tea and a power cable. It fights for 'nearest' with the other Stevens bibles on the shelf.

Thu, 01 May 2008

00:04 – Programmers don't read books?

Our Microsoftie pal at Coding Horror boldly claims that programmers don't read books. Perhaps this is the case in the fuzzy world Jeff lives in, but my experience is vastly different. Most programmers I know treasure their books and tear through quite a number of them. Some canonical books are also pretty much on every desk or at least in a drawer or on a shelf not far away.

On my own desk at work are currently only two books. Mainly because I've been too lazy to drag any other books to work with me. They are TCP/IP Illustrated volumes 1 and 2. Yes - I have the sources to more than one IP stack at my fingertips, I have manual pages, I have Google but I still find it infinitely more efficient just to open The Book (often to pages or chapters I've memorized) to refresh my memory on whatever detail I happen to need.

Often on my desk too, are Advanced Programming in the UNIX Environment and UNIX Network Programming. Unlike the dry prose of manual pages or the cold (and occasionally twisted) logic of the source code, these tomes explain why. Of course, this is in sharp contrast to the "help, my socket program barfs, what am I doing wrong?"/"Perhaps you need to accept() the occasional connection?" kind of exchanges Google archives by the boatload.

At home on my bookshelf -- among loads of other crap -- I also have some books I would never want to live without.

I agree with Jeff about one thing:

"The best programming books are timeless. They transcend choice of language, IDE, or platform. They do not explain how, but why. If you feel compelled to clean house on your bookshelf every five years, trust me on this, you're buying the wrong programming books."

Most programmers I know subscribe to this statement. I happily do not have many dealings with the other kind of programmer. They kind who doesn't read. The kind who cleans out his bookshelf every five years or who has a stack of programming book pornography to flaunt. This kind of programmer appears not to be so abundant in the Unix or the embedded world.

To conclude, my top 5 - not in any particular order:

  • Code Reading - We spend most of our time reading code. Every trick helps. Good code reading skills are essential to survival in non-trivial software environments. I have blogged about this book before.
  • See MIPS Run - Even if you never touch a MIPS in your life, this book is required reading. It details loads of MIPSisms but also clarifies many generic aspects of hardware/software interfacing. Even way up in userspace with the pointy-clickiests, 'hardware/software interfaces' is what you're doing. Understand your hardware. It helps write better software.
  • The Mythical Man-Month - Yes, this is a programming book. If you do not understand this, go read it again. And again. And again. And hit anyone who tries to pull a Mythical Man-Month on you over the head with it.
  • Beautiful Code - This is a fairly recent book. It has some very nifty ideas in it. Go read it.
  • The C Programming Language - No matter what language you're writing, if it's not C, you must be doing something wrong. ;-) More seriously: C forms the basis of most relevant programming languages and even many irrelevant ones borrow from it heavily.

Get reading!

Wed, 19 Mar 2008

23:41 – The end of an era

Unless you've been living under a rock or are totally illiterate and/or indifferent, you have probably also read the sad news that Arthur C. Clarke is no more.

Now is a good time to re-read those books, gathering dust at the back of the bookshelves. If it's been more than two weeks since last you did, it might also be the time to watch 2001 A Space Odyssey again.

Next time you're lost somewhere in an urban jungle, and grab your GPS or GSM to find your way out or to get help finding your way out -- remember Islands in the Sky.

Sat, 22 Sep 2007

21:56 – Tearing through books

Despite the excitement, I somehow managed to read three books in the last two weeks. Since so many bloggers I read seem intent on talking about books of late, I thought I'd join in.

Just before EuroBSDCon, I started reading Terry Pratchett's A Hat Full of Sky, finishing it on the plane to Copenhagen. I recommend this one only if you're able to switch your mind down to its level. It is nothing like the real Discworld series. Good laughs though!

In Denmark, I read most of Philip Pullman's Northern Lights, the first part of the His Dark Materials trilogy. I bought this book, and indeed the whole trilogy in one go, on an impulse because I liked the author's name (cough) and I found the blurbs interesting. It was a good impulse. The book is fairly fast-paced and doesn't include boredom. The "science" is a bit dubious and there is a bit too much Church-with-a-capital-C in it to my liking, but it doesn't spoil the fun. Go read this one.

Yesterday and today, then, I read Salmon Fishing in the Yemen (I don't know what's on this site, it's not HTML), which I traded for A Hat Full of Sky with Jennifer in Denmark. This one is 'something different' and you should just read it for yourself. It is very British in places. Not so much a book as a collection of different reading materials. The story gets very far-fetched here and there, but it never gets totally whacky. Just go read it and find out. :-)

Tomorrow, I plan to make a large dent in The Subtle Knife. No, I don't think I'm reading too much. I just go literature-omnivore when I'm hyper. Keeps the mind active. And we all know an idle mind is a very dangerous thing!