Applied computer science
I finished up my Ruby on Rails tutorial last night and I felt that it was a little anti-climatic. There was no rush of achievement or anything. But there was a little excitement in what it meant, it meant that I could start working on my Raspberry Pi.
The Raspberry Pi is a fully working computer, probably with the power of a pentium 2 but with a little added for graphics. But because the only place to store anything is on the SD card it means that the really low level tools (The boot-loader and the kernel) are exposed and easily modified.
This allows for us to mess around with some parts of the computer that are normally pretty difficult; this sort of programming is named Bare Metal (because you are working almost directly with the hardware).
So I spent today learning all the basics and getting the tool-kits working. Then after many hours I managed to do something really simple: I got a little green LED on the board to light up. That is all I did.
But the significant thing about this insignificant LED was that it is the first external thing to ever come out of my efforts in computing.
Normally when I am playing around with this stuff, all that ever comes about are a few pixels changing on the screen. This LED is tangible, it required a signal down a specific line to power up the LED. It isn’t much more effort to make the signal work all kinds of electronic circuits.
And there was a significant feeling of achievement, all because a silly little light turned on.