Redesign!

After 6 years; Rusty.in has moved on to a brand new design. The design is minimalistic, and I have tried my best to make the site much more readable.

The site more or less conforms to the HTML5 spec and I have tested it across most browsers I have access to. It works best on any standard compliant browser – read Chrome (visitor share of 24.4%) , Firefox (23.5%), Safari (1.9%), Opera (4.3%), IE 9.0+ (1%). On the mobile, it works good in iOS (0.2%), on Android (0.2%) and also (almost perfect) on the Opera Mini (0.1%). IE versions less than 9.0 are a bit rough on the edges – IE6 (5.3%) is the worst but still readable enough. IE 7 (8%) & IE 8 (7%) are more or less ok. I don’t plan to spend too much time on that though as long as more than 3/4th of my visitors see what I intend them to see :)

The site is still powered by WordPress. All the extra HTML, CSS, JS and PHP were coded on gVim on Ubuntu and the logo on top was my first experiment with the excellent vector drawing tool Inkscape. So the new avatar is a 100% pure open source product! Yeah design is possible without spending a penny.

I have also moved the site on to a dedicated new account at A small orange. A big thanks to Anand Bhai for hosting me for free all these years. I finally moved out to my own home :D

I hope you do like the new version. Comments, criticisms and suggestions are most welcome!

2 Comments

My Programming Progression and the Language Block

Tech content advisory : Non-techies exercise caution reading this, maybe a bit of geek overload in here. :)

Like most people (ok, geeks!) of my generation, my first tryst with programming was with BASIC. Sometime during the mid-90s my dad gave me a book on BASIC programming, which he found in some book expo he attended. During that time, I had just about barely used a computer, and I didn’t really have an inclination towards technology at all. I do not know what made my dad buy that book for me, but that single thing changed a lot of things – a defining point in my life, if you may. That was my first spark. I just loved how programs were written, the system and the method in them fascinated me – to the point that I persuaded my dad to buy me a PC (It was a big deal then – to put that into perspective, I guess the computer density in my suburb at that point of time, would have been probably < 10 in a 5km radius).

So I got my first chance to try out some real programs. I got QBasic 4.5 installed from a floppy disk and merrily enjoyed my time making text scroll around, drawing human faces, creating monotone music, yada yada. I just fell in love with BASIC – for the simple reason that I didn’t even know alternatives existed and I could program as though writing in English. Even now, I feel so sad when people say BASIC is evil. Maybe it is, but it did end up as a stepping stone to where I am now. Eternally grateful for that.

A few years later, I got my hands on Visual Basic. Boy did that change the game altogether. I could make Windows apps now – with all those shiny text boxes, 3d effects, command buttons! And for the first time I found that I could monetize my hobby. Those days were just wonderful, that awesome feeling of having dispensable income while you are still in school! I saved up all the bits of money I got then doing mini-freelance projects and ended up buying my first camera – one that I still own. Technically here though, I have to agree with the critics. I had learned so many bad practices doing VB that I had a tough time unlearning it all. But whatever it may be, it was definitely worth it. I cannot remember another time, when I had so much fun doing programming. Nothing absolutely matched VB for me in that!

My first encounter with a ‘serious’ language was, again like most people, C and C++. This was a different beast altogether. I had a strong aversion to the language when I first learnt it in school, but slowly but steadily I have grown to respect it. I am still nervous doing C, but no other language actually gives me that feeling of solidness. Can be slippery, but still solid if you do it right. And that’s definitely the language that has lasted the longest for me. I still enjoy doing stuff in C.

College taught me some very interesting languages like Pascal, COBOL and Assembly. Pascal I loved, because of its cleanliness, but I never had any real use with that (except for the exams off course). COBOL was already of archaeological interest only, but served as a measure that gave me an idea of how much languages had progressed since the ’50s. Assembly was my new friend. But refusal to invest time on it (and basic laziness) has never let me really delve into that deeper.

Sometime sandwiched between all those I came across PHP. And that was only because I wanted to do web (this site basically). And web was just about getting trendy at that time. I have always had a love-hate relationship with this one. I used to hate a lot of it, when I was using it for only personal stuff. But ironically after having to professionally code in PHP, I kind of appreciate the language a bit more. That might raise a few eyebrows – but it’s true. It’s not as perfect as Haskell, but in my opinion it does its job well.

My first real ‘career’ language was Java. And the one in which I can say I am the strongest in. It’s bloated, it’s over-engineered – over-engineered, well I guess that was the buzz word for me. I think I like a bit of over engineering. It was more fun designing for the Java than actually doing stuff in Java. That’s obviously also its biggest pitfall. I cannot say I love Java, but I do like it a lot. And it did improve my design skills a lot and taught me how to think big – really big (and off course it paid my bills for 4 years!)

Then I joined MobME. Things were different here – very different. People coded in Python, Ruby, Clojure, Haskell, PHP.. what not. I was a bit overwhelmed at first, but yeah I got used to it. Python – I liked, maybe because it looked BASIC like and invoked a bit of nostalgia, PHP I had already met. Then there was Ruby.. and here’s were I get the mental block. I just can’t get myself to code in Ruby. I’m in a room filled with Ruby enthusiasts, but I just don’t get it. I even went to a RubyCon for inspiration, but no spark. I read everywhere that Ruby brings back the fun to programming. But I still don’t get that feeling. Have been wondering about that for long, why does the whole world get it, but not me! This post is a result of thinking about that loud. Maybe it’s because of all the unkown magic that happens behind what I type? Or is it that my mind far too entrenched in the bracey C-esque languages? I would never know…

Ah well, let’s leave it there then, for I have to go write a billing engine for a service in Ruby… Wish me luck, or a lot of people are gonna loose a bit of money ;)

7 Comments

Adventures with Ubuntu Karmic Koala

No I am not talking about a spiritual trip to Australia or about the animal; Karmic Koala is the latest version of the Linux distro Ubuntu :)

So I decided to switch to Linux on my laptop; since I found it much better suited for programming than Windows 7. First thing I tried was to run Linux on a VirtualBox environment; though it did work quite beautifully; it still wasn’t ‘perfect’. Therefore I decided to do an actual install; and I chose Ubuntu as it is now more or less the de-facto Linux distro for a desktop (and also since I had a Ubuntu CD lying around). It was an adventure of sorts, so I decided to document all that I did; as a note for myself and also for any of you who wants to do this. But then if you don’t want to read the technical bla-bla; you can go right to the point here.

Pre-installation woes

The first problem was that somehow my hard disk was partitioned as a ‘Dynamic’ volume; which is Microsoft proprietary and I had trouble getting the Ubuntu installation to understand this. So my first task was to revert the ‘Dynamic’ disk to ‘Simple’. It wasn’t as simple as I thought. But thanks to the Google, I managed to find a way. It involved using a low level hex editor to directly edit the values in the partition table. Detailed instructions are here. Now came another problem; as soon as I rebooted to Windows 7, only my first partition was visible. I was a bit scared that all my data was lost, but then I found this wonderful tool called as TestDisk. It scanned my disks and fixed my partition table for me. What a relief! I did a reboot and my happiness was short-lived – Windows 7 won’t boot anymore! Now I have lost my OS too. But this wasn’t as tricky as I thought. To fix that all I had to do was to boot with a Windows 7 setup disk and do a repair (the option comes right after you select the language). So now I finally had a working system with ‘Basic’ disks. Ubuntu now installed as a breeze and all was well.. that’s what I thought.

Post-installation woes

Now once Ubuntu was up and running, my display wasn’t working optimally. But to fix that all I had to do was to install the non-open-source drivers from ATI (which is easy to do from Ubuntu, look under System->Admin->Hardware Drivers). A happy few hours went by and it was time to watch IPL on YouTube when I realized that my sound card was not working. This was a major pain, I spent another few hours trying to figure this one out. The Ubuntu forum said that the solution was to install the backport drivers for ALSA.

sudo apt-get install linux-backports-modules-alsa-karmic-generic

Reboot and lo I had sound! But wait… my display driver is gone now. And now it was not possible to activate it anymore. The problem (my best guess, I am no linux guru) was that the ALSA install also updated my linux kernel version, which wasn’t supported by the display drivers. After another reboot into the older linux kernel version, I finally nailed it. The trick was to install the proper backport version instead of the karmic-generic one. The command is now:

sudo apt-get install linux-backports-modules-alsa-2.6.31-14-generic

You’ll have to replace the ’2.6.31-14′ part to your linux kernel release number; which you can find by typing ‘uname -r’ on the terminal. Now I had sound and light! Awesome; finally a full fledged linux installation.


Ubuntu

Coming to the point…
If you want a real free (as in speech or as in beer) alternative to your Windows or Mac, then Ubuntu is your answer. It is an awesome OS and not just for programmers. The performance is really really impressive and it looks and works clean and secure. But then again is it really ready for the common user? Unfortunately I think not. I am a tech guy, and computers are my bread-and-butter, but even for me the installation was such a headache. For a normal user, this would be a roadblock preventing them from going any further. That’s just a pity. Ubuntu is a real alternative with a solid foundation, but if only it polished some of those rough edges…

My laptop is an HP Pavilion dv6 2020ax and the Ubuntu version I tried to install was Ubuntu 9.10 Karmic Koala.

7 Comments