The Computing Big Bang Moment

The Gods of The Computer

dmr and ken: Gods of the industry

Folks, I hate to talk about death, but often when someone whose influenced you on so many various levels passes away, it becomes an inevitability. Mr dmr was no ordinary programmer or computer scientist, he was quite simply put, a God in the computing field.

When dmr met with ken and built the almighty OS that was Unix, a simpler version of the failed Multics, I am pretty sure a new galaxy somewhere on the edge of the universe was formed. That was the moment which everything that you now consider to be technology in your life came into existence. As I like to refer to it, the Computing Big Bang Moment (CBBM). That extremely pivotal moment in history marked a complete shift in the attitudes of everyone involved in software (and eventually hardware) worlds to the better.

For starters it brought about the C programming language, which is pretty much one of the building blocks of DNA that your machines and softwares all rely on in some form or another. C was needed by dmr and ken to build a faster version of Unix, and that was needed because they had to pretty much beg Bell Labs to get them a faster computer at the time, so they sold the idea to the corporate heads by promising to deliver fast text processing software through developing Unix!

RIP dmr

RIP dmr

Later when corporate greed kicked in and AT&T tried to pretty much steal Unix and start marketing it, a certain rms started the GNU project, widely responsible for all the open source fashionista movement that exists today, although discussing how the GNU project evolved and how corporations also tried to capitalize on that would be a subject to be discussed at length later on. Other massive contributions emerging from that time was the BSD and later on Linux.

But I would suspect one of the most influential (unfotrunatly!) products to come out of the CBBM was Steve Jobs’s NeXT computer. During that time Jobs had been ousted from Apple, but being the Unix head that he was, he orchastrated his return to Apple using Unix and NeXT. Unix then became the base OS for all future Apple OS and subsequently all their products. Your fancy iPad and iPhones owes more of it’s petty existances to dmr than they do Steve Jobs! And I won’t even delve into social media and how they were all concieved from that same DNA building block!

Enjoy your jars and beans

Enjoy your jars and beans

The internet as we know it is a result of that CBBM, but it was Usenet that benefited most from that CBBM. Usenet came into being almost a decade before there was a world wide web, and Usenet’s influence of the progression of software is simply to immense to comprehend. What Usenet offered to the hacker community was just too inextricably linked to the progress of software and open source (in it’s pure forms). dmr himself once said that “Usenet is a strange place”! Indeed it is the strangness of that all powerful alternate universe that continues to foster innovation and internet freedoms. Corporations like Apple and Google constantly try to quell your internet freedoms, on an unbelievably obtrusive scale! Usenet is the true haven in the face of the degradation of software that we are witnissing today, and it represents that go to zone for copyleft, internet freedoms and free software.

dmr’s legacy will live on as long as there will be machines and software. His contributions are so immense to the progress of the field that quite simply the majority of anything to be created in the future that is atleast remotely loosely related to software will have dmr’s innovations in it’s DNA building blocks.


int main(void){
printf("RIP comrade dmr, the battle goes on.\n");
return 0;
}

Advertisements

If Google went down, would you still be able to code?

Anime Godzilla

Godizlla, destroying Tokyo (credit: Steven Stahlberg)

Folks, assume one day that the monster to my right managed to grab a hold of our cities and was destroying Tokyo. Then assume that Megatronus Prime had taken hold of the internet (pictured below) and has destroyed it. In this grim, but extremely realistic situation, you are assembled as part of an elite team to create a software that has to remotely revive the interenet, but get this, you have to use balanced B-Trees and doubly linked lists, and worst it has to be TEST DRIVEN!! (Cue dramatic horrifying music not heard since A Nightmare on Elm Street). Google, the almighty being, now seizes to exist on earth, despite it’s existence on other Galaxies through the Quantum Nonlocality paradox.

Amid all this confussion, the question is, would you be able to code? The answer is … (cue some more incredible dramatic music not heard since The Slumber Party Massacre) … we just don’t know! No, actually we do, because 99 Out Of 100 programmers can’t program, therefore statiscally at least, you cannot program.

Megatronus Prime

He might get a hold of our precious, the internet!

Why am I bringing this up you may ask? Well for starters, I am a web trader, and I do think about these things quite often. As detailed here, I too struggle with peace pipes and co on a daily basis. Furthermore, a murky web trader recently challanged me to solve the FizzBuzz problem without using google, test driven, in 15 minutes… I failed, it took me 20.

The FizzBuzz problem is a rather common problem in the UK failed education system. Young hackers students are asked to write a program that will print numbers from 1 to a 100, but when the number is a multiple of 3 it should print ‘Fizz’, when it’s a multiple of 5 it should print ‘Buzz’, and when it’s a multiple of 15 it should print ‘FizzBuzz’. A simplified solution would look like this:


String output="";

for(int i=1; i<=100; i++){
if((i % 3 == 0) & (i % 5 == 0)) {
output+="FizzBuzz";
} else if (i % 3 == 0){
output+="Fizz";
} else if (i % 5 == 0) {
output+="Buzz";
} else {
output+=Integer.toString(i);
}
}

System.out.println(output);

The Internet

The Internet, it must not get in the wrong hands

The idea of the problem was to be agile though, and thus to create a FizzBuzz application using TDD. To do that you’d have to create the tests first (duh!), and then create a method that generates the output as a string. The tests would test for the different possible outputs (integers, Fizz, Buzz). FizzBuzz would then be an object. A decent solution that I “later” found online was this.

The moral of the story my followers friends is: Use Google while you still can, because one day and we all know its going to come, Cybertronian Tanks and Kaijus will take over the globe and threaten our existence. If you were on that elite ninja team of coders, you better do us proud, you better FizzBuzz!

Actually no scrap the last paragraph, even a small child will tell you Kaijus and Cybertronians hate each other, thus they will most probably destroy each other before the internet is harmed, but still humanoid, YOU HAVE BEEN WARNED, start learning how to code without Google.