Having switched to Suse linux a while back, I am enjoying the ride but for a few gripes. The UI does not load as smoothly as it should under certain circumstances. The keyboard also acts all crazy without warning. The new ubuntu release 10.10 is here, so I wanted to give that a shot hoping the experience would be better than what Suse had to offer. May be this was a KDE Vs Gnome problem. Perhaps 32 bit installations are less troublesome than the 64 bit ones. Well I wont know unless I try.
And it begins:
After downloading the Ubuntu ISO, I went about writing it to a CD and started the install process. The installation was riddled with error messages. Selecting partition X on hard disk 1, made the installer hate me. It complained saying ‘Either the hard disk or the CD has some sort of media related problem’. ‘hmmm… its probably the hard disk since there were no errors when the CD was written’ I thought.
Every developer out there has to troubleshoot a problem in PROD every now and then. The series of steps goes something like this
- User notices something fishy
- Clicks on a button that reads ‘Do not click here’
- Boom !
- Developer tries to figure out what happened by fishing through log files.
Now step 4 can be relatively more simple than it needs to be. It is often complicated by bad practices or obstacles like the ones mentioned below
- Developers log all application logs into a central server log
- Access to logs are restricted by a ‘log viewing’ application.
Instead of fishing around for errors, would it not be cool if you could visualize the errors that occur in your application through some sort of timeline ? After investigating a couple of frameworks that would allow one to do this, I figured ‘Simile Timeline‘ would be a good fit.
Oracle has decided to re-brand Sun certification under its own brand name. First the sun website redirected to Oracle.com, then the javadoc links began to look more different than ever before. Now the red tinge we are all becoming familiar with has found its way into the certification domain.
So what does it mean for those that are already certified ? The gist of the changes which are effective from Sep 1 2010 are summarized below
- The change is only to the title of the certification and not its contents / syllabus.
- Old Sun exam numbers are now mapped to new ones.
- Anyone taking say a java programmer certification after Sep 1 will earn the title ‘Oracle Certified Professional, Java SE 6 Programmer’ instead of ‘Sun Certified Java Programmer (SCJP) SE 6′.
- You cannot request a certificate re-branded under Oracle if you already own a Sun certificate. You need to take the exam again or upgrade.
It was a normal day. The sun rose, birds were singing and everything seemed to be going fine until Kaboom ! A bug appeared in the live environment. Things turned downhill from there that day. But we are more interested in how things got fixed so lets focus on that.
An investigation of the code revealed that the bug had crept in because of a minor mistake. A variable was referring to the wrong column index on a table. ‘Hmmm… simple fix’ I thought. I told my manager it would not take more than 5 minutes to do. ‘Its a one line fix’. Mistake.
There were loads of other things to do after fixing this bug. This is what I ended up doing over the next 4 hours.
- Analyze if any other code flow would explode.
- Code the fix – This only took 5 minutes as expected.
An article was written a while back about how neural networks can be used to classify source code. Yes the source code that you write to feed to compilers / interpreters.
The article explains at a high level what method could be used to perform this activity. In the end the author claims some level of success and wonders how other neural-network implementations / techniques would solve the same problem. This got me curious enough and I spent a weekend trying to crack this with Neuroph, the neural network library for java. I present to you my analysis and results below. For the impatient here is the code-classifier DEMO.