I Ditched Windows…and, So Can You

etiqueta_ubuntu4I bought a new desktop computer like a week ago, a nice desktop PC with a beautiful 22″ screen. The truth is that I was looking for an iMac 24″, but unfortunately here in Colombia it could be have an overprice of USD$500 ~ USD$1000. So as you can tell it could be a trip to U.S. with an iMac on your baggage. I talked to some of my friends and coworkers asking for somebody to bring it, but it wasn’t possible this time -at least shortly.

So I bought a nice computer with Windows Vista Home Premium -as usual and some useless stuff like a remote and MediaCenter. I tried it few days and Vista did its magic -slowing down the newest computer even faster than I thought- so I moved to Windows 7 (64 bits version) -Oh Yeah it is like Windows Vista but better (like G.M. TV commercials with their cars).

A week ago, and after doing a realistic evaluation of my computing needs I decided to switch to Ubuntu 9.04 (64 bits version) and mount a VM with Windows XP Home to keep testing on Internet Explorer 6.0. It was a HUGE improvement in performance – I just remembered D.O.S. days when programs run immediately after being called. Ubuntu offers a lot of advantages in compare to Windows, but obviously we are so attached to Microsoft pseudo-world that just thinking on the switch could be a nightmare. I will not debate on architecture, security or speed. I’ll say this as clear as possible. If you do not have to use MS products like Exchange, or you do not have to use speciallized software that runs on Windows -like AutoCAD or Adobe CS4- you can just switch without fair, it will be the reinvention of the computer processing performance.

There are a lot of Linux Distributions in the market -like Ubuntu- but I have to say that Ubuntu is for soft-users and not hard-crazy linux fans. Ubuntu is nice, is really REALLY REALLY easy to install and if you aren’t sure about replacing your desktop with it, you can try Wubi -it installs Ubuntu as a Windows application -WOW!

Just to clarify, I had been using Ubuntu and other linux distributions for a long time (Fedora is another one) but it is the first time I decided to switch to Linux WITHOUT a Windows partition. My wife -who is a dentist- hates its portable due to its response time, and I did all the normal-not-so-risky tasks to speed up its XPS 1210 (that used to be mine) with Windows XP Home Edition, today we had our first class about linux and she is so happy about the speed and performance, and also the virus/crappy-sw situation that isn’t a critical issue on Ubuntu (Linux) so she is thinking seriously about moving to Ubuntu her portable too.

“So, if you’re using Windows and want to ditch it, click here to begin a less stressful life”

IMPORTANT NOTE: I decided to write this post when a friend of mine sent me a link to a post who has the same title of this one. Thanks to Gregory Ferenstein for such inspiring post -I did’t move to Linux because of his post, but I makes me feel like “I’m not alone, I’m not just a crazy guy that hates Microsoft, I’m not a linux fanboy… we are just right about Windows: it sucks!


Automagic Platforms

Few years a go, Ruby on Rails (RoR) start shinning because it was only framework able to speed up the Web development with a set of all-in-one tools. As Java experienced programmer and architect, I’ve to recognize that the RoR team made their point. I still remember that video with a guy with a lot of jars on top of a table (check it here) that made me LoL for a while -an awful truth. Now we have a lot of solutions that offers similar out-of-the-box scripts and frameworks that build code as RoR does -the fancy but power/useful scaffolding, the code generators, and others. Few of them:

The list could be huge, but the main point is not to check them all but to provide few tips to start a Web-based project and choose the right tool.

The .NET and Java mistakes
I do love Java, I’m a fan-boy of JEE technology and portability but, I’ve to say, even if it hurts, Java is a huge rock. It means you need to have a huge infrastructure, a huge processing capacity and a lot of tools to start a JEE project. Why? Let’s face it, you need more than your imagination to start a project and it isn’t easy nor cheap to find a great hosting solution, to properly setup an environment for development (with sandbox and preproduction/test environments). Even if your project is really small it is a good idea not to have the test environment on the developer computer -I hope you don’t think this is a joke, it happens ALL the time.

So, instead of being easy to start with a basis, you have to deal with complex configuration problems -it is good to have all those options if you are on a banking/financial project with a couple millions as budget, but in a real economic-crisis world you should look for “point-n-shoot” solutions -if you know what I meant.

The Apache Friends
So you have a lot of alternatives on the Apache HTTPD side, with PHP (the popular), Perl (the bad cousin), Python (the genius), RoR (the cocky brother) and all others.

I’m not a scripter guy, the compiling hell is for me but, the simplicity shows us that you don’t have to deal with complexity all the time for Web projects. So, give non-corporate-supported technologies a chance. It was hard to me, but they worked faster and cheaper than expected -there is not measure to say better. It is cheaper to create a top-class development and testing environment and work with remote teams if you use open solutions -not necessarily open source. It is not all about the language you love, the server you own, the database that rules the world. It is about cost, simplicity and efficiency. It is easier to get/hire great developers on these tools than for Java – .NET is for chickens and everybody knows it (check this article if you do not believe me). Software development is not about coding, is about solving, that’s what Microsoft doesn’t understand. They code a lot but they do not solve too much, right? You should notice since Windows 95 and the coming of the Blue Screen ERA!

The Automagic
Before I became a senior developer I worked migrating some applications from Oracle Forms and PowerBuilder to J2EE -we used to put a horrible 2 in the middle few years ago. And those tools were great for the task they were created. So it took almost a decade to have those tools on the Web -and they do not work as fine as those mentioned. However, the Automagic isn’t new at all. ActiveRecord exists since, I don’t know, the Z81 maybe? He He He!

So now we have tools that reverse the database and create ORM models, pre-formatted pages and objects that speed up -years- the development. So you can concentrate in other IMPORTANT STUFF like, User Experience (UX), Information Architecture (IA) and the forgotten design.

The generated code is clean as possible (I remember the JBuilder and its generated & encrypted code). And this is thanks to the separation of concerns and excellent pattern implementations – the commonly used for the Web is the MVC supported with other ones like ActiveRecord and IoC, but you can find a whole universe on each platform and framework – I do have an old poster of J2EE patterns as wallpaper for example!

The Verdict
Before fan-boys appears into the scene while you are deciding what platform should use, please take a look to the ones you probably will not look at -don’t waste your time with .NET :-) . During these 7 (should I said 8?) years working on Web development I’ve noticed that only big companies uses robust (slow development) platforms like Java and .NET -by big  companies I meant with more than couple billions of dollars on their budgets. They spent a lot of money in servers and infrastructure and ironically most of the time they use always versions old versions of platforms, servers, databases and all. So even if they spent a lot of money they cannot move as fast as it happens with the technology. Microsoft still produces Adobe Flash banners right, even if they have their own Silverlight. And it also happens with JavaFX. When you develop Flash components some companies still requests Flash 6 or 7, when we all know that we have version 9 and 10 running on most of the computers on the web. But hey, they want to be sure and even those computers that are off since 1995 can see them! – why?

Before you spent more then 6 months working on a project without a single release -could be a partial one, but functional- keep in mind that probably it will take other 6 months before you see the product/result you are expecting. Automagic means fast, so I hope you do not spend more time thinking on if you should or not, and how, than coding… Otherwise it will demostrate my point :-)


Better late than never

They made it!. They made it! – it is better late than never. I’m so happy now! Ubuntu Intrepid Ibex is here to make us happy.

Better Late than Never Next time you should set the expectation acordingly -you can have the release one day after, and align communications plan to avoid misunderstaning -could be Launch at 12M EST or something like that. It will be good to put the MAINTENANCE MODE on the site :-) And suddenly launch the new version -i will prefer that than see things changing during the whole day -it becomes like my girlfriend, she takes hours to get ready to exit.


WTF: Ubuntu 8.10 Coming Soon?

Coming Soon I put the countdown logo on my page, I waited patiently for the new release, and what I got? Coming Soon. WTF expression came to my face. I know that I can get the official release from the update manager or looking deeper under downloads section -I already did that, however this is all about communication. If you want to create a kind of expectation around the promotion or release -to boost your product launch, you have to do it right, otherwise it will be confusing. People like me will be disappointed. And it is not because I do not elieve, I do believe on the team, on the product, but I also check the details. It is not what you did, it is not how you did it, it is how you sell it.


BogoTech @ Studiocom done – only one more to go

First of all, I would like to congratulate the organizers of the second BogoTech event. Last night we saw an improved logistic and infrastructure supporting this event/ It is not about money, it is not about politics, it is about decision and motivation.

Also I would like to say thanks to Studiocom management team, Maria Claudia and Javier for all their support and willingness helping us with the location, the chairs, the video and sound. Thanks to IT Team for taking the time of setting all the stuff ready for our little event. Thanks to all Studiocom for participate and let us use their space.

This week is a king of crazy time for me. My boss is out -doing biz I hope :-) – and I had to organize BogoTech and a presentation for the national association of Computer Engineers -ACIS. So there is only one more to go. I hope to meet you there (@ACIS Octuber 23th, 6:30pm)