Dedicated to my late brave, beautiful and silly mummy, Debra Ross. I love you mumster.

Skip navigation

Just ordered a Yubikey

YubikeyAfter listening to a recent episode of Security Now I’ve gone ahead and purchased myself a Yubikey!

The Yubikey is a phenomenal new device that’s smaller than most memory keys that when plugged into a USB port and the loan button on the case is pressed, a one time password is generated and entered. It does this on any HID enabled operating system including my beloved Mac OS X and FreeBSD without extra drivers because it shows itself as a regular USB keyboard. It’s so beautifully simple!

The best part is that the API is open and accessible from a number of different programming languages such as Ruby, PHP and Python (not sure about Perl just yet).

In the coming weeks I’m going to try to implement my Yubikey into my Ruby CMS. I’m really excited!

Latest computer book haul

Having received payment for my latest one off project today, I celebrated by going down to Wheelock Place and splurging on a Starbucks Venti Dulce de Leche from next door and buying some computer books I’ve been dying to get. I’m a wild guy you see.

Happiness is a stack of new interesting computer books!
Happiness is a stack of new interesting computer books!

I find that I learn new skills much faster if I’m given examples and real world applications of technologies rather than just the usual “an array is a collection of objects yada yada” theory. The O’Reilly Cookbooks are absolutely fantastic for this, what irritates me is that I only just discovered them recently when I had to learn Python in a hurry for an assignment. I learned more from that one book than many hours sifting through tutorial pages and the dry slides from the uni.

Starbucks Dulce de LecheAs for the FreeBSD book, heck I just wanted to see how it works! Perhaps a little over my head right now, but we’ll be looking at the Linux kernel at some point so this could be an interesting side study for comparison.

From the blurbs:

The Design and Implementation of the FreeBSD Operating System
As in earlier Addison-Wesley books on the UNIX-based BSD operating system, Kirk McKusick and George Neville-Neil deliver here the most comprehensive, up-to-date, and authoritative technical information on the internal structure of open source FreeBSD.
Perl Cookbook
Find a Perl programmer, and you’ll find a copy of Perl Cookbook nearby. Perl Cookbook is a comprehensive collection of problems, solutions, and practical examples for anyone programming in Perl. The book contains hundreds of rigorously reviewed Perl “recipes” and thousands of examples ranging from brief one-liners to complete applications.
Ruby Cookbook
The Ruby Cookbook is the most comprehensive problem-solving guide to today’s hottest programming language. It gives you hundreds of solutions to real-world problems, with clear explanations and thousands of lines of code you can use in your own projects. From data structures and algorithms, to integration with cutting-edge technologies, the Ruby Cookbook has something for every programmer.

And now I’m off to bed. 00:07, that’s pretty early for me!

Haruhi Suzumiya dancing on FreeBSD?

Today was pretty amazing. Why? I ate a small mango after brushing my teeth and was not bothered by the nauseating spearmint infused citrus flavour.

Actually something big did happen for me today and it’s something that I’ve been wanting to do for ages. I installed FreeBSD on several PCs and without looking at any of the documentation for the first time. I’m dangerous!

The BSD Beastie   haruhisign.gif

In a manner similar to how DarkMirror in Singapore talks about learning Japanese, my knowledge of FreeBSD didn’t consciously happen, it evolved and eventually clicked. Like most people starting out in the FOSS world after living on Mac OS X and… heaven forbid… Windows, I was somewhat confused by the more intricate details of compiling kernels with optimisation flags and updating port trees with CVS; but after a week of informal study I pulled my old 200MHz Pentium MMX machine out and installed FreeBSD without looking at any documentation. Without realising it until after I finished, the process of installing and configuring has become second nature.

I really am impressed with the quality of the BSDs and the open source community’s efforts. Xorg + KDE 3.5 or Xfce 4.2 on a FreeBSD 6.1 box with the correct optimisations works flawlessly even on hardware that would struggle with Windows 98! Suddenly all the old machines that litter my expat family’s house have uses. Heck I’m even looking at my old Amiga in a funny way now…

I feel such an overwhelming sense of power now than I did before in a way that proprietary operating systems never really allow. Open source rocks! If I don’t like my X window manager, my desktop environment, my CLI text editor, my shell, my file browsers, my titlebar widgets or even my daemon services that manage SQL or the web, I can just change them or swap them for something else. A company doesn’t dictate what software has to be installed, I do. And if something doesn’t exist or I need to do something mundane, a quick keyboard lashing session later I’ve got Perl doing it for me.

The BSD Beastie   haruhisign.gif

Now I could have continued my exploration of Linux or just continued to hack away at Mac OS X, but I really do appreciate the strict conventions that the BSDs follow and the unwritten mantra that “if something works it’s good” should actually be “if it’s good it will work”. FreeBSD, NetBSD (and from what I can tell from my currently limited experience, OpenBSD) are elegant, fast, very well documented and extremely robust.

It’s got to the stage now where I’m even considering dual booting my MacBook Pro with FreeBSD and Mac OS X just to be able to use this stuff more and more in my day to day life.

For posterity (and because I think they’re cool) I’ve posted some screenshots of some of the boxes I have happily running now. You can see the Mac OS X influence in my thinking with both the KDE and Xfce panels set up to look like the Dock and the permanent menu bar ;).

Here’s Haruhi happily living in KDE 3.5/FreeBSD on my old HP box, (with the cursor unfortunately positioned on her face!!):

Haruhi on KDE + FreeBSD

And here she is again in Xfce/FreeBSD on my 200MHz (with MMX… wow!) 1997 Sim Lim Square box:

Haruhi on Xfce + FreeBSD

I’ve also configured an old 133MHz Pentium box I picked up for peanuts to run as a dedicated firewall and local intranet webserver to serve up the Schade family wiki, kinda like a digital refrigerator door! Of course I couldn’t put Haruhi on this because I don’t want or need X on this machine. Ah well, can’t win them all!

My next weekend project is to create a Perl script to download portsnap updates so they’re residing on a local hard drive, then configure portsnap on each machine to look up the local server instead of retrieving the same image from the interent four times! Unless anyone knows of a port that already does something similar to this?

The SOS Stack!