I had some plans that were cancelled today so I found myself with some extra time, and decided to write about something that was on my mind a day ago.
When I think of magic I don’t typically think of computers. They are rather finite machines that can only do an assigned task. However, it was my initial enchantment with computers that led me in to the major I am in. Wondering exactly how a window was opened, wondering how the computer booted, wondering how to install software, etc. This is the stuff that kept me wanting more which brought me deeper in to the world of computers.
I find that as I move further in the computer science world, and in my experience as a coder, some of the magic gets lost amongst the code and the understanding of how things work. I no longer find it impressive when I compile my code and run it from a terminal. No longer do I stare at a scene in a video game and wonder how everything fits together. I can assemble and repair a computer and it doesn’t seem terribly difficult or nerve racking.
I started thinking about these things a day ago when I had to recompile my kernel to add support for an old floppy drive. For some reason it brought back memories of when I first compiled the Linux kernel (yay Gentoo Linux ^_^). I got such a sense of accomplishment out of watching my computer boot from the configuration I just devised out. That magic has been lost on me because since then as I recompile the kernel as if nothing is special about it. Even more than that I did it through several ssh tunnels I had configured to allow me off campus access to my dorm room computer. I gave none of this even a second thought I just knew it was what I had to do. The magic of all those things has been lost. I’m sure anyone who was around me when I learned about ssh, or more recently the -D, -L, and -R flags could have told you I was like a kid in a candy store. Absolutely enchanted by the assortment of options I had just been given, and never content just trying one particular flavour or style. I desired to know the ins and outs of ssh and every additional piece of information was as awesome as the last.
Why do I write all of this? Well, during my pondering I couldn’t help but wonder what would happen if I understood so much that I never found magic in computers. Even though certain aspects of computing no longer excite me the way it used to I know there are many more areas that are littered with things for me to explore. I remember reading an interview with one of the Gentoo devs on gentoo.org. He was saying that now that he works on all this essential tools he longer sees the magic in computers. I don’t think he was particularly bothered by this, but it struck me as sort of a sad thing. I LOVE discovering new commands and gaining knowledge about computers. It is one of the things that keeps me coming back for more. I often feel that there is no way I could ever learn everything about computers (or come close), and I sincerely hope that is true.
I always enjoy seeing a new CS student delight in some of the awesome things you can do with ssh, or to see their excitement in finally getting a tricky program to just compile (let alone run). It reminds me much of myself, and I think it is those sorts of people that will be most fulfilled in jobs as computer scienctists, but also the people that will require the most fulfillment out of their job to continually enjoy working somewhere. With any luck I hope to find that in a job, but I don’t expect I will land a programmers dream job straight out of college either.
I suppose only time will tell, as they say 🙂 .