May 21, 2014

The Bucket List

At what age do developers, hackers, makers, programmers, etc. (un)officially kick the bucket? According to this recent article from The New Republic, a lot of us are already pushing up daisies and have been for quite some time.

All kidding aside, that article and a recent reread of Steven Levy’s Hackers got me thinking about things I’d like to do before it’s too late – ok, maybe I’m still kidding a little.

The following bucket list is in no particular order, though, as you’ll see, some items, being more feasible than others, should possibly be pushed to the top of the stack. You’ll see no mention of taking up en plein air painting in the French Polynesians or climbing Machu Picchu. This is largely due to the fact that, to appropriate a phrase from Jeff Atwood, I’m an indoor enthusiast.

  1. Learn assembly language – When I was a teenager, I learned some basic assembly on my Apple II+. That knowledge has long faded from my memory. I looked into doing this on the Raspberry Pi earlier this year. I even completed a couple of lessons from these tutorials. From recent reading, however, it’s my understanding that 32-bit RISC microprocessors like the ARM11 are not the best place to start. The Texas Instruments MSP430, on the other hand, with its 16-bit processor and focused instruction set is supposed to be one of the better platforms around today on which to learn.
  2. Build an open source computer – I’m waiting to see what happens with Sean Cross and Bunnie Huang’s Novena project. If kits become available, this may be the way to go. I imagine building an open source laptop like the Novena would provide some of the satisfaction of building an Altair or Apple I and would probably provide a slightly more useful end product.
  3. Write an operating system – Obviously, I’m not talking about OS X or Gnu/Linux here. What I am talking about is writing the bare minimum required to call a codebase an operating system. Perhaps after I find the time to learn some assembly language, I can take a closer at JamesM’s kernel development tutorials. and/or BareMetal OS.
  4. Build a Linux distribution from scratch – I don’t have a dedicated Linux machine to build on or for right now, so I may build a distribution for my Raspberry PI by following the Linux from Scratch book with modifications from PiLFS.

When I first started thinking about this list, I thought it would be a bit more ambitious or, at the very least, a little longer. However, given the amount of time required to accomplish a single item from the list above, I’ve decided to leave it as is for now.

I’ll write some follow up entries once I start working through the list and add to it as I go.

Posted in: ASM | Linux | Open Source | Raspberry Pi