Why I don’t use Microsoft technology

Posted by Luke | General, Programming | Saturday 28 March 2009 4:36 pm

Everyone who knows me knows that I’m big on Linux, well Ubuntu to be more specific. I also have strong tendencies towards Java and open source when it comes to programming. But, it wasn’t always like that… Long ago, when I was still a lad, I was BIG on Microsoft. I guess because that’s all I knew. I’ve been programming since my early teens and simply never been introduced to anything else than DOS and, a bit later on, Windows.

Naturally I started using Visual Studio to program in C and C++ during the late 90’s after swinging a bit with Watcom and Borland for a while. But Watcom ceased to exist and Visual C++ was the next best thing because of the C++ optimizing compiler it used. Intel’s C++ compiler was to expensive other than the fact that none of my friends had a “free” copy of it (if you know what I mean).

When I became a professional, full time, programmer I started to learn things. Slowly that is. The first couple of years of my career I was pretty mindless. I didn’t know what to do, so, I just did what I did best, I programmed. I programmed in C, in C++, in ToolBook, in GRASP, in Lingo (Director), Java, and some more C++. Then the web became very popular so I did some HTML and Javascript. I hated HTML and Javascript in those early days of the web, to chaotic and messy. So, I did more Java and C++. Then Flash became really hot in 2001/2002. So I did ActionScript and started to specialize in the Flash Platform.

I did all of this in a Microsoft world using Windows as a platform.

Then, in the early 2000’s I started to notice something. At the time I was working for a large consulting/outsourcing company in Europe. I was also swinging between Java and C++ at the time. All C++ work was done with Visual Studio for the Windows platform. Actually, to be more specific, it was all MFC. I loved MFC. Because I did Java and C++ projects I switched between two different departments. And what I started to notice was that whenever I was with the ‘Java guys’ I just learned so much more. Even though I was working on a Windows box when developing Java, these ‘Java guys’ where all running Linux desktops and Linux servers. I saw them type in magical commands into consoles that vaguely reminded me of the commands I used to type in when I used DOS when I was a kid. But somehow, these commands where much more complex with weird characters and what’s not. I learned about regular expressions, design patterns, databases, client server models, reverse proxies, tunneling, security, the list goes on and on. I thought my head exploded.

Then, when doing C++ with the ‘Microsoft guys’ I noticed that I didn’t learn anything significant. I mostly worked with guys that I now like to call “drag & drop programmers”. They hooked up ActiveX controls and dragged and dropped some UI controls onto a gray canvas and called it an application. These guys where clearly in it for the money and the title on their business cards. They didn’t give a crap about programming or, beautiful code. Of course, there where a couple guys who’d know their stuff but most of them where the product of Microsoft’s latest Visual Studio features. Just drag and drop, click and point. In my opinion Microsoft had singlehandedly created an whole generation of programmers who didn’t care. Microsoft had made programming accessible to just about anyone with a university degree and an interested in a big paycheck every month.

At the time, programming in Java was something that you could only do if you really really wanted it. To work with Java you had to get over quite a threshold. There where no fancy editors (Eclipse was just emerging) and there was a lot of command-line stuff with build scripts involved. I guess this culled of a large amount of the drag & drop programmers and only the motivated programmers where left. The sad thing is that this has nothing to do with the quality of Microsoft’s products. I’ve used them for years and know it to be very good. It was just the people I was working with that weren’t that interesting and made me switch.

I guess this is also the reason why I never picked up any of Microsoft’s .NET stuff. .NET became popular just around the time I was losing interest in Microsoft. I know C# to be an excellent programming language. It might even be better than Java on some points. But the lack of choice is just not appealing to me. If I choose Microsoft I would feel locked in. There is no alternative if you find yourself unhappy with it for some sort of reason. This is why I love e.g. Java. If I choose to use Java technology to power my business and applications I can actually choose. Not only can I choose my runtime but I can choose my platform like JBoss, Geronimo, JRun or even just a servlet engine like Tomcat or Jetty and there a numerous frameworks for Java available. The list is endless.

What it basically comes down to is, instead of not choosing Microsoft I chose freedom. The freedom of choice. The good thing is is that I’m still free to choose Microsoft if I wanted to.

Stackoverflow

Posted by Luke | Dribble, General, Programming | Thursday 25 December 2008 12:09 am

When Stackoverflow went in beta I was really excited. Joel & Jeff had been discussing it for a couple of months already in their pod-cast and I was kind of curious to finally see it in action. I already had an OpenId which I had never actually used so Stackoverflow gave me a chance to finally test it out. I signed in…

It’s a couple of months later now and I’m currently not sure what to think of Stackoverflow. I liked the idea of a community of programmers coming together to discuss programming and anything related in a forum/wiki style environment. But what can I say, programmers will always be programmers.

By participating on Stackoverflow you gain reputation points and badges. The old style forum set ups had a similar thing where you basically gained status by the number of posts you had contributed to the forum. Often forums would also give you a title, or rank, based on this number or contributions. E.g. if Bill Gates would sign up at some Windows discussion forum he would gain the status of “rookie” because he had made zero contributions. These forums would always assume that if you hadn’t posted anything yet you knew nothing about the subject, so “rookie” in this context would mean that Bill was a “beginner” or a complete “noob” when it comes to Windows.

Stackoverflow’s reputation scheme works a bit different. Your reputation is based on what others think of you. Your questions and answers can be up or down voted by the other participants of Stackoverflow. Badges are assigned according to what type of actions you perform. E.g., if you write a lot of comments (which are like annotations to questions and answers) you might receive at some point the Commentator badge.

However, besides all the fun, Stackoverflow is starting to bug me.

As I said earlier, programmers will always be programmers. I’m not sure if the reputation scheme aggravates the typical programmer behavior (you know, that of the anal attitude and the obsession with the specific definition of things) but it seems to happen within Stackoverflow with an irritating presence.

To give you an example. I gained reputation points (or votes) for an answer that basically told the person asking the question to use Google. Now, even though its a valid answer because people should use Google before asking questions like that. To “up vote” an answer like that is kinda, well…, sad. It’s like kicking someone who is already down.

As I understand it, Stackoverflow was created as a community for programmers to share all things programming and related. However, there seems to be a certain self righteousness on Stackoverflow where certain individuals seem to think that its up to them to decide whether a question is a valid question or not. I really don’t understand why people need to go around and close other peoples questions just because it doesn’t fit with their opinion of what type of questions can and can’t be asked. If my question was totally unrelated to anything programming, e.g. about shepherding or something, I could understand, but just because someone doesn’t share a certain interest (in my case O’Reilly programming books) doesn’t mean they should be closing questions. E.g. asking a question about Programmer Jokes seems to be just fine. I guess, it doesn’t really matter if your question is pointless as long as it has a gimmick or an element of fun to it.

The typical programmer behavior comes to surface in the type of contributors who go around “editing” other peoples questions and answers for, guess what…, typos! It’s “Apache”, not “apache”! Oh dear…

Well. I’m not sure what Stackoverflow will do for me in the new year. I’ll probalby phase myself out at some point as happend in the past when I used be very active on a certain forum where I haven’t been activally contributing for over a year now.

I guess time will tell…

In the meantime, have a good one and the best wishes for 2009!

New hosting

Posted by Luke | Dribble, General | Friday 22 August 2008 3:23 am

Just got myself some new hosting. I used to have my stuff hosted at MDWebhosting in Melbourne and they gave me a pretty good deal. However, I came across HawkHost and I just could resist their offering. Good storage, good bandwidth, unlimited add-on domains, unlimited sub-domains, unlimited databases (MySQL and PostgreSQL), the list goes on and on.

I also took the opertunity to get a new domain up and running. I used to use my opject.org domain but I thought maybe a name change couldn’t hurt. I’m always in for a bit of change (not to much though!). So, there you go. I’m now reachable under NorthernBinary.org (because I’m from the northern hemisphere and I guess, a bit binary…).

Last but not least. I also took the opportunity to upgrade to the latest version of Wordpress. Ah yeah, good ‘ol Wordpress. Not sure what the current version is, something like 2.6.1 or so.

Anyways, there is still some stuff to do. Getting rid of the default theme and some external dependencies need to be resolved (images that are loaded etc.)

Busy busy busy…

The proprietary (in-house) CMS (revisited)

Posted by Luke | CMS, Dribble, General | Thursday 1 May 2008 10:21 am

I’m sure you’ve seen them. You might even have worked with them. The company with the proprietary CMS. Almost every company that specializes in web development has some sort of self proclaimed spectacular and ground breaking CMS that was developed in-house. My opinion? Try to avoid them!

Why? You ask. Well let me explain. Say you’re a developer and you’re being hired by one of these companies. It will be highly likely that they expect you to further develop this CMS or at least work with it. Most of the time this is almost impossible to do. I’ll bet you, there will be no documentation and the complete system architecture (if there is any) is probably all locked up inside one guy’s head (the guy who built it). Great. Now imagine you’re a client of a company with a proprietary CMS. I’m sure they will tell you that their CMS is the most fantastic and easy to use CMS in the world. It will solve all your problems. Unfortunately, you as the client has no way of actually testing if this statement is true, all you can do is believe them.

Now, in comes the established open source CMS. There are so many open source CMS’s out there that it’s almost not funny if you need to pick one. Just hop over to CMSMatrix and you’ll see what I mean. Currently the popular ones and my personal pet favorites are Drupal, Joomla! & Wordpress (For the moment we put aside the discussion if Wordpress is an CMS or not). Of course, the benefits of using an established open source CMS over a proprietary CMS is obvious:

  1. There will be documentation (for both end-users and developers).
  2. The implementation of features has been questioned during development (i.e. with all likelihood, more than one developer has worked on it and they discussed amongst each other the best way to implement certain features).
  3. The number of implementations will be much higher (i.e. real world examples).
  4. Clients are not locked in with a single development party.
  5. Clients are free to investigate the system before using it for their solution (transparency).
  6. Community (knowledge sharing).
  7. Jobs (for developers).

Well, I don’t know about you. But there’s not a lot that can compete with that and I’m sure that at least you will agree with me on most of these points. As a matter a fact, I can’t think of any benefit of using an proprietary CMS all together.

Of course, like most developers I would love to build a full fledged CMS myself. Heaps fun! But in the end its pointless. The market for CMS’s is completely over saturated and building your own can be considered a complete waste of time and effort. Now, by all means. I’m not claiming in any way that there is no room for proprietary CMS’s. Proprietary CMS’s are very suitable for the Amazon’s and eBay’s out there which are specialized systems, not generic ones.

As a developer, there is another very important aspect of proprietary CMS’s to consider. If you work for a company that utilizes a proprietary CMS, then whenever you would leave your position at that company, all your CMS knowledge will be worthless. On the other hand. If you had worked all that time with Drupal or Joomla! than you could actually utilize that knowledge in your next job. It might even be the case that you will be primarily hired for that knowledge.

eBooks

Posted by Luke | Dribble, General, books | Sunday 27 April 2008 1:19 pm

Ever since I got involved with computers (20 or so years ago) I’ve always been buying books about various subjects to extend my knowledge and learn about new things. Over the years I’ve built up quite a little collection of books and a quick peek at my bookshelf learns me that there’s about 250 or so books there. Some them are really old. I mean really old! I think the oldest is called Using QuickBasic 4 and dates from 1987 (print). I think I’ve got a copy of it in 1989 or so (around the time of my QuickBasic era).

A couple of years ago I moved counties. I moved from the Netherlands to Australia. Guess what I took with me? I had about 11 boxes shipped over. 10 of them filled with books. So effectively I’ve been lugging this stuff half across the world.

I’ve always been intrigued with Safari (no, not the browser, but the service offering from O’Reilly). Getting a subscription to this service is very appealing to me. However, it still seems quite expensive. I do not buy books every month (I usually go through book buying phases). And since Safari is a monthly (or annual) subscription, I haven’t signed up yet. I believe that this sort of subscription/service is ideal for employers who employ programmers (hint hint).

Buying computer related books in Australia is a pretty expensive hobby. The average book goes for about $80 AUD. That’s currently about $75 USD! The average computer book on Amazon goes for about $35 USD ($ 38 AUD)!!! I guess buying in a normal store in the States doesn’t change the price that much and you get an actual physical book for that price. I guess that’s because of the shear volume of books being sold in the States is much higher than in Australia (1% of 300 million is a lot more than 1% of 22 million). Also, computer related books are not printed in Australia but overseas and have to be imported. On top of that the margin must be higher because less books will be sold in Australia and the shop owner still needs to pay the electricity bills of the book store (which doesn’t change whether you sell a 100 books or 10 books).

So, instead of buying physical books, I’ve been looking into cheaper alternatives. eBooks are a great thing. Not only are they cheaper to buy but also a hell of a lot cheaper to ship to the other side of the world. In the recent month I’ve bought eBooks from four different publishers. O’Reilly, Packt Publishing, Manning and Apress. My best experience so far is with Manning.

All the publishers so far had me create an account before I could purchase my eBook. I can see their point of view of this. By creating an account, my purchase is associated with my account. E.g. with O’Reilly I can go back into my account and download my eBook over and over again. This is handy if I ever delete my eBook by mistake, for me, Manning has succeeded the best with mimicking the real live event of buying a book. When you buy an eBook on Manning’s site and you pay with PayPal (yes, PayPal is awesome!) you don’t have to create an account. All you need to do is to click on the pay with PayPal button, which guides you through the familiar PayPal process, and the book is emailed to the email address that’s associated with you PayPal account. So yes. they have your email address but so what? So do the others with a lot more information. Not to mention the time I had to spend setting up the account, which of course next time I want to purchase an eBook I’ve forgotten the password of.

Now being true geeks you probably wonder what eBooks I purchased. This is the list:

So there you go. Lots of stuff about Joomla! and CMS related things plus a bit of Java to top it off (anything Java is still my favorite). I’ll be reading a lot for the next coming weeks. Maybe I can squeeze out another post with my thoughts on proprietary (or in-house) developed CMS systems. Have fun buying eBooks and till next time.

WebDU 2008

Posted by Luke | Dribble, General, WebDU | Saturday 12 April 2008 4:19 pm

Somehow I’ve been able to get my big fat head on the WebDU about page! I’m the one looking straight into the camera and my buddy Dave is sitting right next to me. Man, that was a shock when I saw that page for the first time. Funny enough I remember that photo being taken and who took it!

Unfortunately I will not be able to attend WebDU this year. Maybe next year again…

Mate, your blog is broken…

Posted by Luke | Dribble, General | Thursday 22 November 2007 12:43 pm

No, its alright! I chose to go for the minimalistic theme called SandBox. Not only do I actually like this theme, it also gives me a great clean template to work from if I ever want to change the CSS for this blog myself.

I influenced Google Analytics

Posted by Luke | Dribble, General | Friday 9 November 2007 10:31 am

…or as I would like to believe. I have a number of websites for which I use Google analytics and I check the stats on a regular basis. However, ever since Google applied the “new” design I had some trouble interpreting the main visitor statistics graph.

When ever you would hover with the mouse on one of the blue dots it would bring up a tool-tip stating the date of that particular blue dot. However, it would only say something like “18 October, 2007″. Now, what day was the 18th of October exactly? Was it a Monday, a Friday…? It would never give me context that I needed and I always had to look this up on a separate calender. A bit of a pain if you’d ask me. So, a couple of weeks ago I wrote the Google Analytics support team an email explaining my problem. And voila! When hovering the blue dots the other day it now states the day of the week in front of the date.

Now, I’m sure that Google already had this on their TODO list, but I would still like to believe that they actually listened to my suggestion. Anyways, all in all pretty cool…

First Post

Posted by Luke | General | Tuesday 2 October 2007 9:52 pm

So, it finally happened. My blog is online! I’ve been thinking about this for some time now and finally I’ve taken the time to set it all up (which was surprisingly easy thanks to WordPress).

What is this blog all about you might ask… Well, the purpose of this blog is more about the articles rather than to bore you with my opinions about technology or be the 25th listed on FullAsAGoog to let you know about all the exited things that are new Flash Player 10. Therefore, I will only try to post when I think I have something useful to contribute.

When I do post, I will with high probability post about subjects like; Flash Player, Actionscript, Eclipse, Subversion, Linux (Ubuntu), general programming, software design, patterns and architecture and of course many more stuff.

In the meantime you can enjoy the first published article on this blog; XPath for Actionscript 2.0. I wrote this article about a year and a half ago for a high profile Actionscript related forum site, but in the end I never was happy enough with it to be published. In the end I decided that it might be useful for someone out there, so here it is. Enjoy!

The visual appearance of this blog is definitely not final yet and I will try to fix this in the next couple of weeks if I can find the time. I’m currently very busy with pushing out the first version of CoreTween so the CSS might have to wait a little while longer. We’ll see…