Sunday, September 30, 2007

For the Love of Rails..

Most people who know me personally know that I'm an Open Source enthusiast. And they probably know that I'm more of a SysAdmin than a developer. Well, thats quite true. Eventhough I enjoyed programming, my main interest was always System (especially Linux) administration. However in the last 6-8 months aor so I've started getting more and more into Open Source development. A major breakthrough for me was getting selected for Google Summer of Code 2007, to participate in Nmap! (Nmap is much like a grail among SysAdmins :) Unfortunately my persoanl circumstances didn't allow me to finish the work with them. Family matters and other things piled up and I have to give up. Nmap people has been very supportive though and the same was true about the Google people. So after some weeks here I was trying to look more into Nmap, Metasploit and other things. Then I realized that I could give sometime to this Ruby thing which I heard was on Rails or something.

Here I am now, after a few months. Although my software developing exposure hasn't seen a lot more, I've ventured into it. And I have to admit, that Ruby as a language and Rails as a framework has changed my view about the whole software development arena. So what's new? Another fanboy article about Ruby on Rails? Not really. I just want to thank Ruby on Rails. :) If you are offended by Rails please skip this post. I promise there are couple of posts about other things coming up shortly. :)

First I thought of following J2EE and web services, because I knew virtually nothing about them. You know, I can't stop myself getting interested in new technologies. (For example I've started with the Xen tools in Linux and got to like it very much........ Ok, not so new :). But before I did that I gave Ruby a try, and started using Rails to create simple things (which is what I still do. :) And what else? I simply love it. Ruby as a language helped me grok more of OOP concepts. And when I got to try Rails, I just had to hold my breath in amazement (and amusement too).

I always felt that business application level programming was messy, tedious and boring, partially due to the way we were taught about them. However after Rails, I just feel it's not that bad afterall. I'm not saying that J2EE is a bad platform, not even being funny as RailsEnvy people. :) Just as a user, after using Rails I feel, "why the hell it has to be more obscure or tedious?"

Rails uses DRY and Convention Over Configuration concepts. DRY means don't repeat yourself. And Convention over Configuration means unless you make specific changes, there's no need to worry about grunt work in configuration files, XML and etc. Everything has a conventional way of doing it. And if you choose to differ you may well do it.

The scaffolding is great to learn Rails and also give a good idea of how to organize a web app. And migrations!!! Just have to say wow. With migrations one can use the database without worrying about changing database level things. Object-Relational mapping is implemented using a design pattern called "Active Record" opposed to the hibernate technology in Java. With these thing, a Rails developer don't have to worry about the underlying database or the DBMS for that matter. Now, doesn't it sound good? All in all, I've so far loved the learning process, and I have a feeling that I'm going to remain so. For Java, .NET and other framework users, I'm not asking you to throw away your tools. Just give Rails a fair try, totally worth it.

More I use Rails, more I realize that it isn't a toy. It's a serious framework which is giving other frameworks a serious run for their money. As far as I can say, you cannot appreciate the power and ease of Rails without getting your hands dirty with some coding.

For a quick peek of Rails try Rolling with Ruby on Rails short tutorial.

Saturday, September 01, 2007

MySQL and EnterpriseDB Launched in Sri Lanka

Leave a Comment
The two premier Open Source Database Management Systems were officially launched recently in Sri Lanka. While MySQL itself was launched, PostgreSQL availability was in the form of EnterpriseDB, which is not exactly PostgreSQL.

EnterpriseDB Corporation, the maker of EnterpriseDB DBMS (a commercial DBMS based on the advanced Open Source DBMS PostgreSQL), together with a new IT firm called Fossmart announced their partnership on 10th, May to provide EnterpriseDB Advanced Server to Fossmart customers. EnerpriseDB is well know for it's Oracle compatibly, which means applications written to work with Oracle DBMS (worlds leading DBMS) can be used with EnterpriseDB usually with no or little modifications.

MySQL, the popular Open Source DBMS was launched 31st, July in Sri Lanka by hSenid Software International. hSenid will provide MySQL Enterprise Server in Sri Lanka. MySQL, provided by MySQL AB is probably the more popular of PostgreSQL and MySQL.

I personally believe this expresses the awakening of the Sri Lankan IT industry to FOSS in the enterprise front. As people in Sri Lanka may be aware, there are more and more FOSS based software solutions appearing. I'm very eager to see the future and be a part of it.

Nmap is Ten

Leave a Comment
Nmap, the popular Open Source security scanner turns ten years old today (1st September)! Ten years ago, i.e. in 1997, Fyodor released first release of Nmap as an article with the Phrack Magazine. It has since come a long way from that humble beginning into one of the foremost network/security tools on the planet, and also was featured in a couple of movies, including "The Matrix: Reloaded".

Current Nmap stable release is 4.20 and it was released some months ago. However the Nmap developers have been very busy. Nmaps development branch includes quite a few hot and wonderful features including the NSE (Nmap Scripting Engine), a new GUI frontend (UMIT), and many more. You can download both the stable and development releases from the Nmap download page. For cutting edge development the Nmap SVN repository is recommended. The improvements made in the development include development contributions from the Google Summer of Code students (5 Nmap students and 7 UMIT students) also. The two major feature additions have already received a nice reception from the relevant communities. UMIT is full of wonderful ideas such as UmitMapper and other things. And NSE has already received attention of SourceFire, the SnortIDS people.

By the way Nmap still remains humble and excellent. Fyodors very pleasant leadership and the vibrant community has always been and will be a major factor in the Nmaps success. I have to say "very well done" to Nmap which is a true Open Source project, and which didn't give into commercialization. So lets wish Nmap Security Scanner a very happy B'day, one of many more to come.

Edit Note: Some details have been removed from the original post. This was done in order to correct the information I had put about a future Nmap release. I'm sorry for any inconveniences I caused by posting that incorrect information.