Mass Hypocrisy

Lately I’ve been amazed about the sheer amount of people, even in my direct social environment, who seem to have completely lost track of what’s going on these days. It seems the mass hysteria has done it’s job well. Since my birthday in 2001, the day the WTC and the Pentagon were attacked, the western world sacrificed everything it held dearly and plunged itself in a bloody war for vengeance. This war wasn’t only fought on the battlefield abroad, it was also present in our living rooms. Constant pro-western propaganda flooded the news channels every day. People have been brainwashed into patriotic maniacs who will do anything to defend their freedom.

There’s nothing wrong with defending your freedom. But what if this freedom you’re fighting for is actually a strict regime? Just think about it. What does freedom mean in our modern world? Are you free to say whatever you want to say? Are you free to educate people, are you able to choose your favorite religion? Can you go anywhere you want to? Are your personal secrets confidential? Can you start a political movement? People have been giving up their freedom they say to defend. So to defend your freedom, you just give it up? Let me illustrate this for a moment.

The islamic states that have been granted the status “evil” have no freedom at all and we should liberate these people, right? Ok, so what do we have to offer instead? They have a violent way of dealing with their enemies, they kill people using suicide bombers and other terrorist activities. We invade their country, kill hundreds of thousands innocent people, completely disable their infrastructure and economy and carpet bomb their asses with depleted uranium to be sure their children will still feel the wrath of our vengeance just to take out a few thousand fanatic people loyal to a guy we didn’t get the first time we destroyed their country.

The “evil” states forcefully subject their people to islamic laws. That’s a bad thing, right? We do exactly the same. We’ve got christian laws to abide. It’s only allowed to have one wife or husband. You aren’t allowed to have an abortion at all times. You aren’t allowed to end your own life. You aren’t allowed to publically humiliate fictional characters used in christian religion. We’ve even got “God zij met ons” (God is with us) and “In God we trust” printed on our currency.

Islamic dictatorial states don’t have an unbiased educational system. Children don’t get to learn the entire truth about their past. Again, it’s the same in the western world. Here in the Netherlands kids don’t learn about the slaughter the Dutch christian soldiers did in the middle east during the crusades. Children don’t learn about the eradication of entire cultures in the Dutch Indies during what we call “the golden age”. Children don’t learn about the prosecution and torture of catholics in Holland. Due to international pressure our role in slavery has been introduced in our history classes, or else we would have still denied it.

Oh, and a few more things. We uphold justice. But justice doesn’t count anymore when you’re a terrorist. The same can be said about human rights or the Geneve treaty. We defend laws we only abide when we see fit. Can’t you people see we are fighting to defend and spread or hypocrisy instead of freedom and democracy?

Why even fight abroad when we can’t even use our own countries as bright shining examples of how great the western world is? Why would these “evil” people give in when the only alternative they see is an unlawful, corrupt and hypocrite society? The thing we need right now is a revolution. A revolution with the same goal as what we have in the middle east. Let us first cleanse our own countries before we tell others how to behave.

Obstacle Oriented Programming

What’s up with software development lately? As in the last five years or so. It used to be a fast paced ongoing stream of innovation. It seems to become sluggish and less innovative over the years. The engineers didn’t get dumber, they didn’t become more lazy all of a sudden. So what happened? I’ve got a theory that surprisingly fits and explains the recent developments in software engineering.

A long time ago, in the old days, programmers were programmers. They knew how to write code, they knew how to implement their knowledge into a system that complied to the requirements made by the technical staff. They could listen to a detailed technical story and almost instantly produce code. These programmers were skilled people with knowledge of advanced system engineering, algorithms, logic and so forth. Let’s just call them hackers from now on. These hackers were able to get a product up and running in no time. You just had to have skilled people to translate management gibberish into a language understandable for hackers. These roles were usually fulfilled by senior hackers with loads of experience. This system has produced lots of ground breaking code. Just look it IBM, Sun, Microsoft (to some extend) and other big companies. Entire operating systems were built in a matter of a few years.

Somewhere along the line it took a turn for the worst. The clear manager/programmer boundary was getting more fuzzy by the day. Managers started using hacker terminology, often entirely wrong. Hackers were forced to become “System Engineers”. Because management wanted it’s share of the fun, and just stealing terminology wasn’t enough, they needed a management perspective on the coding work itself. Object Oriented Programming was born. Don’t tell me this was a good thing. All the benefits OOP gives us can be made using proper modularisation. But now managers could see schematics and nifty other pictures. Thanks to this new way of designing a system, code becomes a byproduct. The system is built on paper. And just like we expect from management, the necessary paperwork has to be created before and after the system itself. In the old days it was alright to write well documented code in a clean way. Other hackers could read your code and comments, some documentation with your major design strategy and changelogs and that would be enough. How do you test or debug paper? Or even more important, how can innovation happen when the paper protocol restricts people from doing actual research? But there’s a solution. People started to write software to actually simulate an OOP system without even writing it. It becomes utterly abstract for the old school hacker. By this point he’s pulling his hairs out out of pure frustration. This same software can even output half the source code, using only a block diagram.

You know, what if. What if this OOP thing actually works. I’ve done it. And yes, it does work. But there are a few minor points of criticism. First off, development takes eons. You need to spend a lot of time building your classes and connections between them on paper or in a design tool. That’s quite a labour intensive process. Without that step it would be impossible to write code because it’s split up in too many modules with different connections between them. Second, you can’t force programmers to conjure up schematics and fill in the gaps in the code afterwards. It’s against their nature. This will work counter productive. Third, the code becomes almost unreadable and undebuggable. If you give someone uncommented code in C that person will be capable of understanding what it does in say, a few hours. The same amount of code in OOP C++ will take a small army to dissect and understand in the same period of time. Really, especially with inheritance and virtual recursion it becomes unreadable. You’ll simply need the diagram from which it’s created to understand.

And after all this I can still live with OOP code. If it’s documented properly and built the right way, I can manage. But the problem is that the kids don’t learn how to write proper OOP at school. Somehow the teachers just don’t get it. Time after time when I see OOP code from a freshly graduated student I just can’t help myself and vomit all over my keyboard. Object Madness. Somehow all the teachers think it’s a good idea to teach that every little thing where you can create some parameters and functions with, has to be an object. And every object has to inherit, be special, virtual, whatever. What hackers would make with two functions and a struct, a student would make it using three objects all inheriting from a big central singleton class. Schools deliver “System Engineers” who can’t write code and can’t think straight anymore. Yeah, they know how to create neat schematics and paperwork. But even the simplest programming tasks are too hard for them. And people can’t stop asking themselves why it’s so hard to find good IT students. If “System Engineer” would be my job, I’d hate my job.