I’d been using this multi-protocol chat program called Miranda which is for Windows and is open source. It has a nice plugin called “Webaware” which allows you to store your current chat status on your website so you can display it on your webpages.
Recently another piece of open source software which is also cross platform called GAIM was renamed to Pidgin and got a lot of publicity so I thought to try it out. It’s a fun/cute program and I decided to move to it especially since the same program works on Windows as well as Linux. The only problem was that there wasn’t (or I couldn’t find) a similar plugin as Miranda’s Webaware which was a bummer for me.
So I tried to write a Pidgin plugin myself which would do the same work as the Miranda Webaware plugin. I thought why not just make it open source, and thus came about my first bit of GPL code! I’d previously never really done programming at home, just at work, and as Larry Augustin (VA Linux Systems founder) said in the movie Revolution OS I felt that tremendous sense of empowerment working with open source :-)
It feels good being able to easily download powerful software to which you have access to the source code. I started off by reading the C plugin HOWTO and using the helloworld.c plugin as a guide to write my own plugin called webaware.c. I later needed an easy way to do FTP uploads of my chat status data and someone suggested I use cURL library which I indeed found to be useful. The compilation was failing for me and I quickly realised I needed to provide double-quotes to the echo calls in the lib’s MinGW32 makefile and off it went.
I had earlier compiled the plugin on openSUSE Linux which came with all the tools already. This week I thought to try compiling on Windows to test that it worked on both platforms. This involved downloading software such as Cygwin, MinGW and a bunch of others which is really a pleasure to not be restricted by “free” versions or the prohibitive costs of commercial tools.
I get to do fun stuff at work but it’s been a blast actually working with open source at home. The plugin resides at http://lahsiv.net/code/ , and as they say, “it works for me” ™ !
Well, Happy Diwali!