Mini datacenter when i was in late teens – From right, is a Intel Pentium 133Mhz computer serving as a webserver running FreeBSD, middle is a 486-DX2-66 running OpenBSD as a mail server and next to it is a Compaq 486-DX2-66 running NetBSD as a testing server.
Sorry for the mess in the picture. This picture was taken in 2000 and during those days, everyone was freaking out on the millennium bug but in fact in real life, it was not as severe. (I think the most impact is with the industrial control systems)
Anyway, i had moved between Ethernet to ATM networks during the time but i loved ATM better. (Most of us today are using ADSL which encapsulates Ethernet packets within the ATM cell network)
I was inspired by dis.org’s picture of their server room which is located in Peter Shipley’s house (this guy ‘invented’ what we call today the ‘Intrusion Prevention System’ or IPS). I was in defcon.org mailing list (and most people tend to think a hacker list are all the “badguys” go). In actual fact, the defcon.org people who are a bunch of guys from anywhere like NASA JPL (Jet Propulsion Laboratory – rocket scientist, hurrah!) and many U.S government agencies and these from from defcon loves sharing cooking recipes when conversations get too loud or probably a bit nasty. (I love fish!)
During that time i took the picture above, i had ported the Efficient Networks 3010 ATM interface to be used by ATMF 25 card (Efficient Networks 3010 had a similar chipset with the more old, “dinosaur” chipset like ATMF 25) and boy, that room is hot and stuffy!
Anyway, it was during my late teens that i began to discover on using crypto and i was stucked with it today with credits due to the defcon guys who introduced me to PGP.
There was one point that i felt that having to understand different systems and platforms came to be as a severe limitation scope of my work and had been playing with the idea to go back to software engineering.
2009 was the year i began looking into different scopes of computing as a whole when i started build an in-house prototype of a search engine. (I was spurred by curiosity when my ex-classmate talked to me about Google PageRanks). So before everyone started working on BigData – i knew it was called “Search Engine engineering” back then.
I was flouting into the idea of software engineering and once i began to understand of combining both system and software engineering, when it left me to think of it as computer science.
How do we make our repetitive tasks and cut down out time better than before that changes our lives? How do you make a software that makes another software on-demand without you actually writing it to help you? I was into this idea which was self-discovery (Lecturers may tell you but experiencing your computer doing all your work without typing is cool)
Having a background in C programming for procedural programming and having self-taught on Java (and object-oriented programming) i now enjoy typing in both duck-type languages and static-type languages, interpreted or compiled.
A friend of mine who is a computer biologist (that same guy who recommended me to look at Google Pageranks) started doing Haskell while i was still loving object-oriented Ruby. In fact, there are little differences if i were to say Ruby *has* functional-language capabilities. Haskell and Ruby makes life easier for me for things that i have to type a lot more in other languages.
Nevertheless, this is not to say Ruby, Haskell or Clojure is better than say, PHP, C# or Java but think of the beauty of how your machine works beautifully with your code. I love it so much that i do not look at the weakness of a language but rather how fast can i live my life automating almost everything i do, even in Python. I do not exclude Perl from the list as well.
I remembered about this old book “The Art of Programming”. During these few years there are a lot of commotion into functional languages but i felt that to understand the “Art” of programming requires one to understand all languages to get a clear and big picture that would open up one’s mind to the possibilities of their creativity.
I hope to talk more about what causes the creativity of the code to decline in one of my next articles, hopefully.
The reason of writing on a blog is due to having a lot of pictures that i had eversince secondary school days when i was using Linux (kernel 2.0.30) and my personal lab at home that ran E-mail, Web and testing servers for my own.
More than a decade later, uhm… i mean now, things had gotten a bit slower for me. I became very open towards a heterogeneous computing environment where all type of operating systems lives (without taking into consideration on costs) compared to a decade ago which i was purely a Linux and C-programming language person, now i do not have an actual preference for a language (be it static typed, duck typed, procedural or object-oriented), albeit as a polyglot that loves to use .NET (given much of a choice, i only have Mono) to fit the description of a problem.
I am a networking guy who had implemented and used Appletalk (netatalk), IPX/SPX and TCP/IP (including IPv6) and protocols that we take for granted in our daily lives (Bonjour protocol) and even media and voice protocols such as SIP.
So to say, i am a Linux, *BSD, Solaris, Mac OS Classic and Mac OS X and Windows guy and i love working with many languages (ignoring the fact about the weaknesses – i do not like to see the weaknesses but the strengths) and had written web apps in Ruby on Rails.
Now i am showing more interest into functional languages such as Haskell, Clojure while still loving PHP Frameworks such as Laravel and the love for Java never fades because of their openness to bring forth the “niceness” to other languages for things that make JRuby (Java-Ruby implementation), possible.