Battle of Rich Internet Application Clients
Most of us who were on the web in the 90s have some experience with the browser wars and those of us who are in the tech community are probably familiar with platform wars (.NET vs Java vs Other mumbo jumbo). I think for 2009 tech companies are perparing for another battlefield;Rich Internt Application Clients. Ofcourse I am not the smartest person to figure this out first, there are so many others who have already hinted about this impending battle.
There are many competitors in this field the biggest one being Adobe. With acqusition of Macromedia, Adobe is the leader in rich internet media. Their new venture Adobe Air promises to bring even flashier experience to the Desktop. I installed Adobe Air on my Ubuntu 8.10 system after it was declared stable this week. I was not able to run it out of the box on my 64 bit system as apprently one has to make a symlink of libadobecertstore.so which is in the /usr/lib folder in the /usr/lib32 folder. So for the naieve you have to do the followingas root
I tried out the Ebay application and I am failry impressed with the offering. But one thing which I don't understand is that how does it differ from a JNLP application. Perhaps in the way it's built and being more flash centered (which gives a richer user experience), but essentially the same thing could be done with a Java Webstart application.
The other big player in RIA game is Sun (or should I say Java). They have a new platform called JavaFX which tries to bridge the gap between programmers and artists to give richer media centered application on the java platform.
To check JavaFX I first installed 64-bit open source JRE as well as the 32-bit Sun JRE to get JavaWebstart and Java Plugin working in my firefox (I think the Ubuntu's Sun 64-bit JRE will be shipping soon with Java Plugin as well as it has been released). I Then tried JavaFX. Although the technology looks promising, but it's not yet production ready (it's samples page is painfully slow atleast on my ubuntu box)
Silverlight in my opnion is not a contender for the RIA War but can be a stepping stone for Microsoft to get into the RIA War. I also came across smaller names like Curl and Mozilla Prism which I was not familiar with before today. But what's interesting to see is that Google is not participating in this war the same way as other corporates. Google rather focusing on promoting it's own way of connecting people with Android and Chrome (backed by the Google cloud of applications, with offline capabilities and what not). Let's see where 2009 takes un in the RIA field.
Personally I would like to see smaller overhaead downloads and faster application peroformance and would not like to worry about where or on which platform I run the RIA/Desktop application.
Posted in Technology | no comments |
Updatig my Linode to latest Ubuntu 8.10
I had been running on Ubuntu 7.10 since Feb 2008. After my typo svn instllation hit a road block I had an opportunity to move to latest Ubuntu and do things right from scratch. So I made a new installation and I am loving it now. The following tips may help any one who would like to run a Ubuntu server with postfix email and any ruby on rails application.
First I just installed Ubuntu 8.10. Unfortuntaley the 64 bit version was not supported on the Xen box on which my VPS currently runs so I had to be content with 32 bit for now. I followed part of an excellent HowToFourge The Perfect Server - Ubuntu Intrepid Ibex (Ubuntu 8.10) guide (for Postfix and IMAP)
Next up was the installation of RoR 2.2 on Ubuntu 8.10. Based on a recomendation I first did the following two
sudo update_rubygems
(since update_rubygems is a ruby gem it's self, it has to lie in a directory which is under you $PATH (or you can directly ./ it. On my Ubuntu 8.10 box it is at /var/lib/gems/1.8/bin )
But I did run into trouble when apprently the currently installed rails version had some conflicts. I couldn't simply gem uninstall it. So after some searching I found a simple solution as recommended here (basically give the gem it's installation directoy). So I uninstalled the rails gem and after that installing different gems including rails, mongrel and mongrel_cluster was a piece of cake.
To install mysql gem one has to have libraries of mysql as well as all essential buld tools (like make, gcc etc).I also needed nginx for being the proxy front (in case i want to run other server like php or jetty) The following takes care of these dependencies.
I had already taken database dump of my previous typo installation through mysqldump and had gotten typo from it's git repository. I didn't notice it firstly but one has to git-pull some submodules of typo as well. One thing which I always forget in doing a rake database migration without specifiying the environment. So if you are running a production website in RoR this is some thing to watcch out for.
Then I only needed to replace my previously tweaked mysql configuration file and I was good to go and start my nginx cluster. I did the following two in the typo folder
mongrel::start -p 8000 -n 10 -e production
So right now the clutser is started in screen instead of with /etc/init.d script. That's next on my task. I will also try to post configuration files for mysql and nginx (I basically reroute http://name.com/blog/pages/home to http://name.com/ and some other fancy proxy stuff)
Posted in Technology | no comments |
Updating Typo to SVN and hitting roadblock
Every now and then I decide to update my typo svn to latest version. I have not been able to follow my goals of working on a ruby on rails as vigorously as possible, but atleast I make sure that I keep my self updated to this RoR application to some extent. And looks like there have been some changes happening. First I see alot of rails stuff in the vendor directory.
Secondly I see that there are lots of new changes within the routes in admin. This means that I would need ot put some more routes in my nginx, which basically runs on top of mongrel cluster (thing which manages my rails application)
So as of now my home page is broken, which is not good. I will try to fix it as soon as possible. It seems the error is within typo it's self.
Edit: I have found out that my blog's CMS has shifted its version control from svn to git and is also on latest rails 2.2. As of now I have lost my customizations to the main page. But I think it would be better if I work on moving away from my VPS instead of trying to fix all the nitty gritties in it. I would like to move on to a fully hosted solution instead. Let's see if I can get some sort of front page working for my website.
Posted in Technology | no comments |
Urdu-BB : a new linux distribution
I already have so many other ideas in the works that I should probably not venture into any new ideas. But this is some thing which I feel is very natural for computing in Pakistan. I realized this after coming to Sweden. I chose Sweden because almost all it's population could speak English but the thing which I didn't realize untill I came here was that how much importance Swedes still give to their own language. It is prevelent in computing and media and it comes vary natural to them becuase they have the same script as other Latin based languages.
The case for urdu is not the same. I guess there have been some attempts to make urdu an acceible language on an OS but I have not seen a very good out of the box solution which works on an old machine. For this reason I am scrapping the project of urdu-bb as a web based urdu input system and reusing the name to make it an urdu based OS. It will effectively solve the same problem, bringing urdu computing to the masses but it would make it simple to operate the whole machine. In this modern age of internet we some times forget that computer doesn't alwasy means being connected. You can do wonderful things with a computing device which is not connected. Primarily this device can be used as an instructional tool in schools and as an information device.
Following are some of the goals I have come up with for now. I will keep on refining them and if you have some ideas please make a comment.
Urdu-BB aims to be a an Ubuntu based linux distribution
- whose primary focus is users from Pakistan and India who use Urdu in Arabic/Farsi script .
- is very very easy to use (bringing computing to villages, madrassas, train stations, mosques, parchoon shops ,khokas, taat schools)
- is very low on resources (should be able to run on old computers, laptops easily)
- doesn't let end users miss out on any thing (like mp3, flash)
- can easily tap into the WiMax and mobile revolution currently happening in Pakistan and let people connect easily.
It is not aimed for high end programming, servers, high end multimedia etc (it is assumed that a person who requires such things would move on to Ubuntu or other more suited alternatives. It will be available in urdu only but can be used to browse english based websites and type in english if needed. This project will probably take a good deal of time to get some foothold but I think it's the step in right direction. Let's hope it doesn't take as much time as GNU Mach kernel did.
Posted in Technology | 2 comments |
Ubuntu 8.10 Intrepid Ibex
I was unable to contain my self into not trying Ubuntu 810 Intrepid Ibex. Just 3 days before the actual launch I wasted a perfectly good DVD late at night to make room for a much smaller sized Ubuntu 8.10 x86_64 ISO. Now that I am posting from the new system there is no going back. I did how ever dedicated a 20 GB partition for ubuntu as 10 gb was not enough for my set of programs.
The first thing which I noticed in my machine was slightly faster booting time, but that could just be less services running. Another thing which was a pleasant surprise was that during installation Ubuntu was able to pickup my other installations and asked for importing various settings like Bookmarks, Contacts etc. But there are few things which are bothering, one being slow firefox and other being really sloppy synaptic in GUI mode, but probably these small imperfections will be take care of soon. Another small hitch came when I tried the RC DVD on a neighbor's laptop and it didn't get a configured X screen even while having a standard Nvidia GPU(one of the new generation ones).
I really like the new Ibex default wallpaper, reminds me of my first days of experimenting with Photoshop. Lets see how this release works out for me till next April
Posted in Technology | 2 comments |
Fscons 2008
I decided to volunteer for Fscons 2008 this year. This is my first open source conference and I thought that it would be a good idea to attend it as it was on a weekend and in the city of my residence. For friday 24th we were asked to attend a video streaing workshop (which I skipped), but I did help out with packing some bags, moving stuff around and then late at night attending the social event which was ok in the sense that it was a gathering of geeks (and there was free beer there too).
The second day for me started at 8:00. I attended few talks inclusing one on Cop5/Nagios. Good thing I was there to represent OpenNMS in the hall when some questions/comments were floated comparing OpenNMS, Nagios and other network monitoring tools. The whole day was rather slow for me in the free software developer section. But in the free software track there was this one talk by Denis Jaromil Rojo which really inspired me. He talked about freedom in software and freedom in general and how our future is going to be shaped by free software. Another talk which was worth listening to was the keynote The End of Free Communications? by Oscar Schwartz. He talked about how governments even such as the Swedish are trying to interfere with electronic lives of people and how this will tranlsate into future where every thing from voting to government, law enforcement will be done by use of technology. A fun part about his presentation was that he made sure to show us the pictures of all the "culprits" in Swedish parliment who have passed/supported these fascisist laws. He also suggested on how to combat this menace (by protests, activism, spreading awareness and ofcourse talking to your representitives)
Day 3 was a late start for me but it was more productive in technical terms. I attended various talks related to Debian, Postgres, KDE etc. But the highlight of the day for me was a work shop conducted by David Cuartielles of the arduino project. Arduino is a small Amtel chip based easy to use electornics prototyping platform meant for hobbyists and for learning purposes. It has its own programming language and a small IDE. I even bought my own board for 200 Kr and have plans to play with it in the near future.Here is the pic of my new board.
Overall the conference was a god experience for me. I met interesting people, learnt some new things and found passion for some previously known things (and I got a T-shirt).
Posted in Technology | no comments |
Beating my self with PGP
I have learnt a few things while having PGP the hard way. First is that one should read complete documentation before dwelling into serious things like encryption and security. Thsi is becuase I didn't know few things like lost key certificates remain at keyservers. Second is that what ever you do with your keys, the deleted information always remain on the keyserver. The only way to get rid of a key is to revoke it, but it still shows up on a keyserver. So now on the key server if one searched my full name or email address, there would be many key IDs which are there (some are revoked, others are expired but still showing up as if they were active), so it kind of makes me look sloppy, but I have a key/fingerprint and its shared on my site and integrated with my mutt client, that's what all counts.
Posted in Technology | no comments |
Browser War - Year 2008 (comparing major browsers on my machine)
The war of the browsers has had a new twist after the introduction of Google Chrome. Wikipedia has a nice entry about the ongoing competetion. Just to give some of the browsers a try I switched on my Windows box (shamefully these days I do it more often than I used to, thanks to many propietery services of Banks and Universities which are not available to linux users). I have installed all the major browsers and I decided to give all these browsers a test run on my machine. The OS in question is a Windows Vista Ultimate (64 bit version with 3 Gig RAM). I used a highly page-ranked entry to do some javascript tests, and the results weren't surprising to me. These tests were not done by using any scientific method. My firefox installation is probably bit heavy with all the addons. In practice I do find Chrome and Opera to be bit faster than the other browsers.
First came Opera with 140-160 ms range, following behind was Chrome with 185-205 ms range. Firefox 3 was not very consistent with its results but it was also close to 195-210ms range. Safari on windows was in the range of 280-290ms. The worst was ofcourse IE7 which was coming in the range of 1450-1470ms range.
Next I decided to do some rendering speed tests. First I ran a simple rendering test, but after reading a detailed report on tests done for Safari 9.5 I also did full progressive raytracer tests. Following are the results of one time run only
- 27.745 Chrome
- 32.033 Opera
- 38.079 Safari
- 47.478 IE
- 896.077 Firefox
Chrome also came first in the simple redering tests. For me this is proof enough that Google has produced a real fast browser. What I don't like about Chrome for now is no extensions and no linux version but that will probably be solved soon. I am also surprised to find firefox performing real bad. Perhaps the people at Mozilla should start focusing on performance issues as most end users don't care about bells and whistles, but a simple browser for daily chores.
Posted in Technology | 1 comment |
Chalmers Wifi and Devicescape
I bought a VOIP service from BrainTel so that my folks could easily get in touch with me (and vice versa, but the BrainTel service is really crappy, and deserves another blog entry). I had specially bought a Nokia E51 which has builtin WiFi and a SIP phone as I was under the impression that it would be very easy to connect to the internet at Chalmers campus. Chalmers uses an online web based authentication system called NOMAD which is tied into its RADIUS/AAA servers, the problem is that this authentication is webpage based, ie one has to sign in on a webpage as a HTTP POST request. After some searching around I found a Win32 Application named NomadMonitor which does the same. Following is some code snippet for its HTTP request.
I was actually thinking of making a small midlet following this simple code, but then I found out devicescape which is exactly what I needed. This software lets you manage your wifi access points through a single interface and will hopefully login me to Chalmers nomad automatically. It's funny actually as I was searching for Nomad and Chalmers on the internet and I came across an entry in their forums where another student from chalmers was discussing some problmes in using devicescape with MacBook at Chalmers campus. So some times you find the best things when you are not looking for them :)
Edit: I have successfully tested device scape on Symbian S60, but for some reason the latest version doesn't let me use keypad to enter user info (or any thing else). So instead I am using an older version 2.0.6. Now I will never have to sign in for NOMAD on my phone again :)
Edit I later got the latest version of the devisecaspe's program from devicescape forums, which is signed only for my mobile (using MEI number). And it is working perfectly for me now
Posted in Technology | no comments |
Agile Devlopment application idea
I have been working in a group of 8 student developers for my Agile Devlopment in teams course. Since this is a process course, the focus is on practice and not on results (one would hope). For second week of work session I volunteered to be the tracker. The main problem which I observed so far was that the documentation was all haphazard. I am not used to working with papers and a previous experience of mine with time tracking is also a big motivation (I really hate to pinpoint time tracking, but it is useful in some scenarios).
At the beginning of each iteration we have a bunch of user stories. Each user story has atleast a description and a set of acceptance tests. These acceptance tests have description and an expected result. Then each of these user stories have a priority for the current iteration. Each user story can be devided into tasks, but this is some thing best done by the programming team. Each User story has an estimate and so does each task. The estimate is usually in number of man hours but it can be less (and it is certainly in our case) In XP since every thing is done in pairs, therefore each task (and probably all with the same user story) go to a particular pair based on bidding (who so ever bids the least time gets the task).
After completion of a task/user story, some one from the team (probably the customer representitive) has to check each user story against it's acceptance tests.
Each week any two personnel from the teams act as Customer representetive and Tracker for the project. The tracker is suppose to keep track of all the metrics involved in the project. The idea is to make a simple web/desktop based software which can do all of these simple things with no hassle. And since this course is all about agility this software should be up and running over the weekend.
I am thinking of using Ruby on Rails. This would finally be my chance to work with RoR. Perhaps all the facilities are readily provided by other open source software like Trac, but there are many features like time tracking (like in basecamp) which I would like to see in an Agile Devlopment Tracking software. This is just an idea for now , lets see if I am able to cook some thing nice :)
Posted in Technology | no comments |
Coming to Sweden
I am posting this blog entry from Slottsskogens Youth Hostel, Gothenburg, Sweden. I departed from Lahore on a red eye Lufthansa flight and reached gothenburg in around 10 in the morning. By coincidence a friend of mine from GIKI who was also going back to Chalmers was also on the flight. We had a very short stay in Frankfurt where I got entered in the European immigration system. The immigration was painless compared to US where one has to go through a long list of things, including being fingerprinted. Once we reached Gothenburg I was surprised that there was no checking on the airport, we were absolutely on our own.
I got my self on a airport shuttle to central bus station and from there I bought a 310 SEK unlimited transit pass for Gothenburg. From there I got to my youth hostel. Here are some pics from this youth hostel
Posted in Technology | 1 comment |
Injecting DAOs in OpenNMS
In my Summer of code project I have to use already established DAOs (well some times adding a few tid bids) and using them to replace JDBC code. Testing DAOs with Hibernate tools made it alot easy to play with both HQL and criteria, but I was stuck when it came to injection. It seems that OpenNMS uses lots of technologies like JMX which I have never even touched before
attached is a log of a conversation which I had with a devel on #opennms. Based on this conversation I some how was able to bug the devel into writing all of this into a wiki page.
There was one small confusion though, I was working with Poller which was infact Pollerd, there being a naming inconsistency. Following this wiki page I should be now able to easily inject Dao's to my required daeomons and other classes.
Posted in Technology | no comments |
Summer of Code Midterm Review and Second Half
My summer of code midterm review was done and I am some what content with it. Although I have not been able to achieve much tangibally but I have covered some ground. My project involves some very interesting things most of which I had not touched before in my previous encouter with Spring/Hibernate. For now I am focused on finishing the task.
I am behind schedule so I am thinking of following tweaks to schedule. As you probably already know that I would be moving to Sweden soon, I will be going to another city and get some shopping done so I wont be working on 22nd - 25th. so skipping these days and just barely meeting the review deadline of 1st Sep 2008 I have a good 25 days left with me. I will be finalizing some stuff in the last days of August which I admit would be tricky as I would be in a totally different place.
Posted in Technology | no comments |
OpenNMS Poller Tests
For past few days I have been working on OpenNMS poller tests. I have to adapt the curretn tests so that they can better utilize the Hibernate upgradation i am taked for do for my SoC project. A quick grep led me to find the following java files in my svn branch.
Under trunk/opennms-services/
src/test/java/org/opennms/netmgt/config/PollerConfigFactoryTest.java
src/test/java/org/opennms/netmgt/config/PollerConfigManagerTest.java
src/test/java/org/opennms/netmgt/mock/MockPollerConfigTest.java
src/test/java/org/opennms/netmgt/poller/PollerTest.java
src/test/java/org/opennms/netmgt/poller/remote/PollerBackEndIntegrationTest.java
src/test/java/org/opennms/netmgt/poller/remote/PollerBackEndTest.java
src/test/java/org/opennms/netmgt/poller/remote/PollerFrontEndIntegrationTest.java
src/test/java/org/opennms/netmgt/poller/remote/PollerFrontEndTest.java
Under trunk/opennms-webapp/
src/test/java/org/opennms/web/services/PollerServiceTest.java
I have skipped remote poller tests for now. I have started with PollerTest as it seems to be the most obvious. As per suggestions of OpenNMS community I am extending this Test class from AbstractTransactionalDaoTestCase. But since AbstractTransactionalDataSourceSpringContextTests comes in its parent hierarchy, which sets setUp and tearDown as final. This means that eiteher a new way of setUp and tearDown have to be figured out, or spring context has to be provided from with in the indivisual tests. I think the second way means much of boilerplate code in different unrelated places and hence duplication.
I am still updating the code, more to come on this blog entry.
Posted in Technology | no comments |
Hibernate Tools and OpenNMS
I was in need of checking my HQL queries from within Eclipse so I could check for their validity. Furthermore since it was for a Spring/Hibernate based project (namely OpenNMS for my Google Summer of code) so there was no hibernate.cfg.xml to begin with (OpenNMS has loads of other configurations in which it stores what it needs to do with hibernate and databases). So the solution was simple, to make a brand new hibernate.cfg.xml for own use (this file wont be committed, but i think a provision of such thing should be there so there is easy way for new comers to startup hibernate tools)
I have been reading up alot for my Summer of Code, I have completely read Harnessing Hibernate and am currently taking reference from Beginning Hibernate and from Java Persistence with Hibernate. These are all excellent books. Harnessing hibernate was helpful in the setup of hibernate tools in Eclipse.
Following are some screenshots of hibernate tools on my system.
Posted in Technology | no comments |
LinkDotNet DSL at Home
I have to confess that I have never owned a DSL connection. It was always a Fiber optic connection or a shared T1 line at the workplace/university. With the ongoing price wars for DSL connections I decided to get a connection for my self at home (actualy it was for my sister). The connection was ordered in April 2008 and then there was a long wait. Every time I would call to them they would make up some excuse. In the end around June 15th I decided to lynch the call center guys. In limits of decency I lynched him on the phone, and the next thing you know that with in 24 hours the installation of modem was done. It was running fine for one week, when it suddenly it stopped working.
On inquiring from the people in Tech support I was told that this connection was not installed to begin with. I admit that there were probably few loose ends to tie, for example when ever there was an incoming or outgoing phone call the DSL connection would drop. And even though the connection was dropped if the DSL device was on, there would be noise. I had to literally beg the equipment installation guy to make my connection work as I had lots of work to catch up to, he gave me some one elses ID (how typical of Pakistan, solve a problem by breaking rules).
Then I lodged a complains a few times with PTCL(the telephone company) to clear the noise and they always give me a token number (like its a big prize). In short getting a DSL connection in Pakistan is not easy even though as compared to previous years prices have come down considerably. With no electricity or sane internet I wonder why people think Pakistan is an ideal place for outsourcing.
Posted in Technology | 1 comment |
Unlimited GPRS through Zong on my Ubuntu laptop using SonyErricson W810i
My telephone line at home was out of order for about 3 weeks now and I was in need of an internet connection at home. I decided to give using internet through my cell phone (GPRS) a try. The reason for this was simple, I needed an internet connection which would make me truly mobile and was cost effective as well. And ofcourse an implied requirement was that it should work with Linux(easily). So I searched up the internet for tarrifss of local cellular companies and compared them with other options which I had. I decided to go with Zong's (a China Mobile comapny) unlimited GPRS package. I was skeptical about the internet speed and was not even sure how I would be ablt to connect my laptop with the internet as it was only recently that I had begun using internet through my Mobile.
First I got hold of a Sony Erricson data cable as I had lost the one which came with my phone. This cost me 200Rs (3 US$), then I purchased some Zong credit for testing. Then using another internet connection I searched on how to use ubuntu with GPRS enabled phones. I found an article at softpedia to be very helpful. I found through dmesg that on my system, my phone was registering itself at ttyACM0 as well
[528.702039] usb 4-1: new full speed USB device using uhci_hcd and address 3
[528.873965] usb 4-1: configuration #1 chosen from 1 choice
[528.987405] cdc_acm 4-1:1.1: ttyACM0: USB ACM device
[528.989688] cdc_acm 4-1:1.3: ttyACM1: USB ACM device
[528.991639] usbcore: registered new interface driver cdc_acm
Then I installed gnome-ppp and used it as per described in the article. The APN for Zong is zonginternet and apprently there is no username and password, but I still used zon/zong so that gnome-ppp could dial out. I also had to ensure that my user was in the modem/dial_out group. I tested the internet connectivity and was delighted to see that after dailing in there was nothing else to be done. Later I called up Zong customer services after feeding in some extra credit of 550 Rs (roughly 8US$) and activated my monthly unlimited internet package.
Later I tried watching a Youtube video, the bandwidth was not enough for me to stream it live but I was able to download a 9 MB file in a relatively short time compared to dialup connection. I was able to go to a download speed of 15KB/sec which I think is more than enough for day to day browsing and coding related tasks. I am looking forward to using this connection for my summer of code activities.
Posted in Technology | 1 comment |
Skype on 64-bit Ubuntu
I have always wanted to try out skype. I had an idea about it's excellent voice quality from guys a Twit, but today I witnessed it first hand. The thing which was holding me up was the unavailibility of Mic (input sound) on my laptop. Today I figured out what the problem is. On my Acer 7720-6604 I have an internal mic, for some reason it does not work, but an external mic does. I for some reason was thinking that no mic works what so ever. I added a line in /etc for proper module loading (I didn't have it in my fresh Hardy installation) and in options for volume control I chose Mic as input source. When recording from Gnome's sound recorder I chose Digital as input of recording. So atleast I am able to record sound now (although not with my internal mic)
Then I checked out this link for installation of Skype on my linux box. On 64 bit machines you have to fool the thing to use 32 bit libraries. I made a test call and it soudedd perfect. Then i even tried a call with webcam and it worked well too. I actually have a conference call with browzow from OpenNMS regarding my summer of code assignment, which has started since this Monday. I have not coded any thing worth committing yet and lets hope I have some small stuff cooked up by the end of this week.
Posted in Technology | no comments |
Summer of Code gift from Google
Well its no longer a surprise that Google sends out goodies to its Summer of code students before the start of Summer of Code, but it is still a surprise that which title would they be sending. I recieved (with apologies to those who still want this surprise to be secret) Beutiful Code by Andy Oram & Greg Wilson. I had this book in e-format previously, but i would probably never have read it. I already started reading it's Chapter 20 which is reltaed to a Java based information portal which was devloped for Mars Rover missions. This is an excellent gift for an aspiring Software engineer like me. Thank you Google :)
Posted in Technology | no comments |
Posting blog from my cellphone
I have finally broken the taboo. I am posting this blog from my Sony Erricson W810i.
Edit: Actually the above two sentences were the only things which i was able to post from my cell phone (this I am posting from my Desktop at work). Yesterday I decided to enable WAP over my cellphone. It was much easier than the last time I had tried. My cellphone service provider is an old memoth and is loosing its customers fast to new rivals, so I guess they have made their customer services much better. Any who I only used it to reply to one messege which i got on my gmail and to post this blog micro entry above. Poisting blog from a cell phone like mine is a big hassle in my opnion, but still its better than not posting at all.
Posted in Technology | no comments |
Debain's security breach
I had been reading up on the Ubuntu security breach since this Tuesday and was concerned that my system would also have been compromised. A little searching yielded a site which described the venerability in some detail and shows how to exploit it. It also has a bunch of private/public keys which were generated on a 31 core machine (some thing which only a serious computer venerability researcher would do).
I looked up into the keys and I was not able to find my public keys. Perhpas the vernerability is more than it seems (or perhaps lesser). But In any case I have changed my keys :)
Posted in Technology | no comments |
Disappointing Fedora 9
In the last few days I had been reading reviews and hearing some good things about Fedora 9, so I decided to give it a try. I downloaded the 64 bit version of fedora kde-livecd. The CD booted easily on my Acer Aspire 7720-6604. I was greeted by a dark theme (which is not my taste). I then tried out some preinstalled software and frankly I was not impressed. The KDE version comes with Koffice and Konqueror. Since I have not used KDE for some time now I had not realized that I had grown used to Gnome. Overall there was nothing mindblowing about KDE 4 and it was yet another Fedora release. I then tried to do a dummy install to check that how ext4 support works, again to my disappointment there was no ext4 option available (i later tried with the kernel parameter ext4 but without any luck) I think ext4 is only available on the full installer version.
The lack of packages in precompiled distributions like Ubuntu and Fedora is prompting me to move back to Gentoo (or some even flexible operating system choice). Lets hope that Gentoo guys release 2008.0 before the start of 6th month of this year (its already behind schedule)
Posted in Technology | no comments |
Ubuntu Alternate Intaller 8.04 , Thoughts
I tried Ubuntu 64 bit Alternate Installer on a brand new desktop with core2duo and software RAID (i previously wrongly reported it as Ubuntu Server). The installation was a brreze but for some reason I was not able to install GRUB out of the box. Once I realized what I was missing I staright away copied the grub files (stage1 stage2 files etc) and installed grub and I was on my way.
Installing RAID on ubuntu is easy with server installation, but one has to make the software RAID partitions manually before the install. I also made the unused space after RAID as part of LVM so as to utilize the disks effeciently. I also installed webmin through a deb package, I realize that its not very secure, but from webmin one can learn alot of configurations and can supplement some user based managament of the server.
As for Ubuntu's latest offering, I am fairly impressed. This distro is getting better with every release. The other day I was having a discussion on #opennms about using customizable distros like "Gentoo". I think I have done good by trading in felxibility for stability so I can concentrate on the real problems at hand. One learns alot on Gentoo, but one could also learn much stuff on gentoo as well becuase kernel and other packages are essentially the same.
I have yet to install Ubuntu Desktop 8.04 on my laptop but I think I will probably wait for Ubuntu 8.10 to come to make the swicth. With summer of code and other devlopment activities, I dont have the time to meddle with new installations.
Edit: I did install te 32 bit version on my laptop for a test run and was not convinced of its stability. I would be sticking with 7.10 for some time now. It atleast works.
Posted in Technology | no comments |
Getting Selected for Google Summer of Code '08
I have been selected for Google Summer of code for the second time. My writing skills and my socilazing on irc has paid off well and now it time to concentrate on my software devlopment skills. Like last year I witnessed the irc party on #gsoc @ freenode. There were almost 900 people in attendence and Leslie was trying to calm every one down by frantically typing, 'calm down' , 'chill', 'patience' every other second :). I have so far gotten emails from both Google and OpenNMS. here is an excrept from Google's email
Dear Applicant,
Congratulations! This email is being sent to inform you that your
application was accepted to take part in the Summer of Code. Please
check your student home page in the SoC web application at
http://code.google.com/soc/student_home.html to determine which of
your applications was accepted.
Over the next few days, you will be added to a special members only
......If you cannot take part for some reason, please email us at
gsoc@google.com as soon as possible so that we can allocate your slot
to another student.
Other questions and concerns should be send to gsoc@google.com
Thanks for taking part; we're very excited to see what the Summer will bring!
Congratulations once again,
The Google Summer of Code Progam Administration Team
and here from RangerRick (Ben Reed from OpenNMS)
== Hello ==
So I just wanted to send out a quick note to welcome you to the OpenNMS
community, and to thank you for getting involved in Summer of Code!
This is our first time as a mentoring organization, so we'll be learning
alongside you how to do things. If you have any questions, please don't
hesitate to contact.........the next month, it's "Community Bonding" time. Time for you to get
to know us, for us to get to know you, and for everyone to get familiar
with interacting, checking out/building/working with the OpenNMS
codebase, and all that fun stuff. Get on the mailing lists, join us in
IRC, introduce yourselves, and most importantly, have fun!
- --
Benjamin Reed
The OpenNMS Group
http://www.opennms.org/
I am already a part of the Google Student mailing list and have updated my profile for this year's project. I aslo see that this year there is some one else working on Internet2 Java OWAMP project and hopefully they will succeed this time. As for me I will be start the tasking of my project as of today (ie identifying the small tasks for the migration).
Wish me luck :)
Posted in Technology | no comments |
Setting up WebSVN
I wanted to setup Trac on my server, but haven't found a recepie which only uses nginx for Trac and SVN componenet. So I decided to go for plain Webbased SVN application. I chose WebSVN because it uses PHP and is easy to setup, it's used by KDE project for their SVN view and most of all, its readily available in Ubuntu :). I found a nice tutorial from HowToForge.com for setting up svn and websvn on Ubuntu. My websvn repository can be found here.
Posted in Technology | no comments |
Trying out AppFuse
I was looking inot making my own spring-mvc project through maven and found the archetype:generate command. I was pleasently surprised to find app-fuse stuff within the realms of maven. These projects (maven and appfuse) are different but related projects and some times cause confusion. Appfuse basically allows devlopers to quickly setup an application for a Java EE project with the option of using state of art open source Java EE frameworks (Spring, Struts2, Tapestry). Where as maven is a build tool (like maven) with a flexible project model. It even has its own integration server by the name of continuum (which can tell devs if a build is broken).
I only ran mvn archetype:generate command and rest of the SpringMVC-Hibernate application was setup by the framework it's self. It even made it's own database and put in the required tables. It would be interesting to see how it does all of this with maven.
Posted in Technology | no comments |
Configuring Mutt
These days mutt is my default email client. Even though I still use webmail for my service based accounts (gmail, yahoo) and Evolution at work I would one day like to merge all my accounts under one roof with IMAP, spam control and mutt as my 'Mail User Agent'. The first thing which I wanted to do with my mutt was to make it send PGP-signed messages. I found the following links to be interesting read.
- muttrcexample
- setting up mutt with GnuPG
- setting up mutt with maildir
- reading html mails with mutt
Posted in Technology | no comments |
Moving to Xen, maven jetty works now.
I requested my hosting service to migrate my virtual private box from a User Mode Linux setup to a Xen setup. Xen seems to be the de facto visualization solution for Linux. It has become a considerable part of new Red Hat Certified Engineer's exam as well (for which I am prepping these days). Interestingly I was having troube running jetty plugin on User Mode Linux but now I am ablt to run that plugin (jetty wont bind to port on the local UML machine, now it does).
Posted in Technology | no comments |
Project Summer Hibernation
following is a repost of my SoC proposal for OpenNMS
Synopsis
OpenNMS currently still depends on some PostgreSQL-specific behavior (especially in stored procedures) which keeps it from being database-independent. Although OpenNMS has been slowly transitioning its code to use Hibernate instead of direct JDBC calls, but there is a lot of code still using JDBC. The following is a project proposal for Google Summer of code 2008 to the OpenNMS project. This document gives details of project methodology, time lines, and risks.
in short
- The aim is to complete hibernate transition for the entire OpenNMS project. Author's aim is to complete major tasks by Dev-Jam 2008.
- The deliverable are code, test cases and documentation. OpenNMS installation documentation which deals with OpenNMS install with MySQL and perhaps a few other OSS Databases will be part of deliverable.
- Applicant has been a part of OpenNMS user community for a year now and has genuine interest in Java EE software development(due to his present job and future education and career directions)
- Applicant will be sharing code samples before project selection to show mentors that the applicant has sufficient background in Java EE software development.
Further info and code samples will be available at http://code.hatimonline.com/opennms
Who Am I
My name is Shahzada Hatim (aka geoaxis on #opennms). I am a 25 year old computer system engineer from Pakistan, currently part time certificate course student (http://www.vu.edu.pk) and a prospective Masters student for different IT programs in EU (starting in Aug, Sep 2008).I work for a small Belgian company as open source software developer. I am also a returning summer of code participant. I was selected for a project by Internet2 in 2007. I started work on the project and made some headway with it. Unfortunately timing constraints and a work emergency on my then job took precious weeks off my schedule and I was unable to deliver the project's Midterm goals. I dropped out of the program.
Interestingly one of the things which I was involved during my work emergency was to replace Jff-NMS with OpenNMS and to use it to monitor a SAN setup (previous setup had a server meltdown causing the emergency) at a major telecoms client's site. At that time the job I was doing was part support and part software development. Since last six months I have joined a core development company working on Java EE and specifically Spring/Hibernate. I have gained considerable know how for using these technologies.
Methodology
I am resigning from my full time position in May 2008 as I am already getting pre-admission offers from universities in Germany and Sweden. Since their course work will start in Sep/Oct 2008 I will have considerable time on my hand to work for SoC. Therefore I will have no commitments other than SoC and 3 credit hour distance education Masters level certificate course.
I would divide my tasks into practical and attainable parts along with the help of my mentor. My experience with Spring/Hibernate leads me to believe that this tasking would be trivial but it would ideally be done with deeper discussion with the mentor (before the project starts). Good thing about this project is that it can be done in small incremental steps which are virtually independent of each other and is unlike some other projects where there can be a lot of dependency on past work.
The time before SoC session 1 would be used to do administrative work and revision of technologies. The major coding portion will take place in 3 time slots which would account for 7 weeks. I intend to participate in Dev Jam through telecommute (1 week). Rest of 4 weeks are dedicated as cushion time and for testing.
Committing code in small chunks would be the best practice for this project. Not only would daily commits be helpful for everyone to ascertain the progress of the project, but also when these changes make it to trunk they will have more chance of getting tested and reviewed by OpenNMS community.
I have sufficient knowledge of Java EE to start working on this particular OpenNMS project. My preferred work platform is my 17inch Core 2 Duo, 3GB Ram Acer Laptop running latest Ubuntu Linux and Eclipe Europa with WTP. I have an optimal DSL connection at home for the purpose of daily checkouts and commits. I have my own Virtual Private Server with an irssi screen session running (and joined on #opennms) so I am always available on irc. Of course I would be thrilled to be part of the OpenNMS’s internal jabber list as well. Weekly/Bi-Weekly meetings through text or voice chat could also be helpful.
I will be blogging extensively about my development activities on my blog with tags of ‘opennms' and ‘soc’.
Why I want to do this project
- Brush my Spring/Hibernate skills, Java EE skills.
- Get up to speed with latest (but necessary) Spring/Hibernate techniques and be part of a team to design and code OpenNMs with those techniques.
- Get a chance to contribute to OpenNMS community.
- to get Google SoC T-Shirt.
Project Schedule
April 7 – April 21
Placing samples on-line, revising proposal, reading up texts such as ‘Spring in Action’ and ‘Java Persistence with Hibernate’
April 21 – May 25 (5 weeks)
Week 1 Finalize/Tweak Goals, Review Code to identify tasks for Slots.
Week 2-4 Learn unknowns like Maven, OpenNMS patch how-to, revise Spring/Hibernate (+ other theory like DAO pattern and how it’s used in OpenNMS)
Week 5 Complete all design aspects/discussion with Mentors.
May 26 - July 07 ( 6 weeks)
Week 1-2 Time Slot A
Week 3-4 Time Slot C
Week 5-6 (wrap up, cushion, testing)
July 7 - July 14 ( 1 week)
Midterm evaluation
July 07 - Aug 18 (6 weeks)
Week 1-3 Time Slot C
Week 4 Dev Jam
Week 5-6 (wrap up, cushion, testing, finalize documentation)
Aug 19 - Aug 25 (1 week)
Final Review
Deliverable
- Complete Hibernate Migration with DAO and Service (mock) tests.
- Running OpenNMS on MySQL only (and perhaps some commercial database like Oracle or MSSQL)
- Replace all stored procedures with equivalent constructs (in terms of relative performance)
- Documentation and tests to accompany code (an embedded DB would be used for persistence tests).
Bonus Goals
Since major portion of OpenNMS code will be reviewed, I am also suggesting that code overhaul with respect to spring framework can be a bonus goal. This could include useage to latest Spring 2.5 techniques and annotation based Hibernate mappings.
One tangible bonus goal can be to benchmark the performance of OpenNMS after code changes. I am confident that there won’t be any negative
performance impact but it would be good to have statistics. For this open source Java profilers may be used. This is strictly in the case
where all tasks are done well ahead of schedule.
Risks
Every project has some risks involved. It is wise to identify them first and follow a strategy to avoid them.
One risk could be any prior commitments which cause hindrances in SoC. Since last year I got stuck in a work related issue which made me leave SoC, this year I am choosing to only focus on SoC (and my Summer course). I have absolutely no commitments (at least till end of August) in the coming summer
Another risk can be lack of expertise. Though I don't claim to be an expert in ORM and dependency injection frameworks, but for the past 6 months I have been working on commercial applications which use Spring/Hibernate. I am willing to back my claims with working code which I am currently adapting to use maven and should be available on my site running under jetty—maven plug-in (similar to OpenNMS bundled jetty).
In short I am pretty confident that I am a strong candidate to work on SoC project for OpenNMS. Thank you for considering my application for your project.
Posted in Technology | no comments |
Summer of Code Application extended
Google's Summer of code application deadline for students has been extended for one week. It's now Monday April 7th 2008. This is good as well as bad. It's good because it gives me one more week to make my application even better, and it's bad because I will be spending now more time in the application process than in actual coding
Edit:
Well I didn't spend more time on my application, but I was able to get Jetty running through maven. Apprently User Mode Linux was preventing Jetty from binding to an IP, but after migrating to Xen every thing works smoothly now. It seems that I would also be able to run OpenNMS now :).
I am currently following the following good links for sample application devlopemnt
http://www.lulu.com/content/1087191 (Set of tutorials to start devlopment with Spring and Hibernate using Maven2)
http://today.java.net/pub/a/today/2007/03/01/building-web-applications-with-maven-2.html (Maven 2 Web application devlopment tutorial using Jetty plugin)
I have also found the following book to be useful
Posted in Technology | no comments |



