Ayttm IRC fixes... and much more

Another weekend without my wife... which means another full weekend spent hacking as opposed to the regular few hours every other day.

I finally finished off and committed the /whois bug fixes that George had reported a while back. In the process I found that the buddy management (adding, messaging, signing on, signing off, etc.) was completely broken in IRC. So I had to shuffle a lot of things around to finally be able to chat with users on IRC as well as add them to our chat list.

While I was busy doing this, I also remembered that there were a few low priority chinks in the html parsing code. For one, text inside <body> tags are supposed to stretch across the entire textbox window. I still haven't been able to figure it out but while trying it I thought about some other things like rewriting the entire html parsing in lex and/or yacc. That would mean that my code would be a lot simpler as well as a lot more robust.

Also, writing on a GtkLabel instead of a GtkTextView/Buffer could simplify some things. At the same time though, I would have to think a little about things like link clicks/double-clicks, embedding widgets, images, etc. I guess if that's doable then it's an attractive alternative.


The Estimation Business

I was recently involved in estimation talks with my client along with my manager. I gave me so many reasons why I don't really enjoy heckling that it's not even funny.

We were told that a new system was to be built from the scratch up with a few extra features -- "Nothing really that serious. You would be able to do it within a month and a half". And with a couple of lines describing the system, we were asked to give an estimate. We assumed functionalities of some current systems and made an estimate of around 8 months, allowing for testing in at least 3 environments. And then came the fun part...

When we got back to them with the estimate we got an expected reply, "Itna kya hai sir.... ye to 1 month me ho jaana chahiye... we're not asking for too many extra features...". So we rework our estimate with some additional hours and manpower and come down to their estimate.

And then they tell us all the bells and whistles they want on their system. We can't even refuse at this stage since it could jeopardize our relationship. So I guess we'll be pretty much staying at office for the next month.

Wasn't it like bargaining on buying a car (not mentioning which model) and bringing the price down to 4 lakhs and then saying that you intend to buy the Porsche with it? Only "professionals" like us would probably fall for it...


HP Deskjet F4185 All-in-One on Debian GNU/Linux -- Effortless!

One of the things I've always dreaded about printers has been Linux compatibility. I have somehow always have had trouble installing a printer on my box, due to which I have always hesitated while buying one. But finally my mother got one for her office and I had to set it up for her. She got herself an HP Deskject F4185 which has a printer, scanner and copier.

The copier doesn't need any drivers since it's function isn't related to the computer. So the job was to get the printer and scanner going. So what did I do?

Just apt-get install hplip and then installed the printer driver (which was auto-detected by the way) using CUPS web interface. Somehow, the scanner was also detected and installed -- I didn't have to do anything for it. The only hiccup was that the scanner device had default permissions only for the scanner group, which all my users had to be part of. So I added my users to the scanner group and done!

So if anyone's looking for a decent easy to set up PSC, this is an alternative.


IRC Fixes

There was an silly little memory leak in the CTCP code in the new libirc which was causing Ayttm to crash every 10-15 minutes. Turns out I had not left any space in the string for the ending ''. Fixed and it's been running fine for an hour now.

I no longer show popups; I've reverted to the old style of showing notices, except with a little difference. I show all notices in a notices window. I've kept it as a chat room window so that in future one may even enter commands there.

Next up, I need to get the channel list window working. And then finally, the 'auto-reconnect to chat room' option. It's been broken for a while it seems.


Job hunting

We were recently told at work that they would cut down opportunities for associates to go for assignments abroad, especially those like me who have been with domestic clients. It's an attempt to 'retain domain knowledge' as they put it. For the uninitiated, overseas postings == really good money. They wouldn't even adjust pay-scales so that offshore employees wouldn't get the short end of the stick.

That and rising expenses mean that I have no choice but to go job hunting. I got a call from Adobe yesterday and was told to take a test today. I did. And I realized that I don't exactly excel at Computer Science yet, me being a Computer Science student once. I can write code, but if someone asks me what a Reverse Polish notation means, then I have two answers: look it up on Wikipedia, or ask the Polish ;)

Anyways, I enjoyed giving the test since i had a lot of little smart code snippets to write. Hopefully I'll get in. If I don't, maybe I'm meant to go somewhere else (or maybe stay here... *sob*)

Btw, I had guessed it right about Reverse Polish... it's Postfix ;)


Linux on a Compaq Presario A900

The Compaq A900 is a good looking laptop with a (Update)15.4" 17" screen. It belongs to my sister and surprisingly, after using Linux on my home system, she asked for Linux on her laptop as well. I was happy to oblige -- one more convert :)

Here are the specifications:

  • Processor: Intel Dual core
  • Memory: 1Gig
  • Disk space: 160 Gig
  • AGP: Intel chipset onboard (didn't care to specifically look for the adapter make, you'll find out why ;) )
  • Wireless Atheros (untested, but I'm sure it's been detected)
  • Webcam

I wanted to initiate the beautiful baby with Debian but rummaging through my collection I realized that I had given away all of my CDs and DVDs. Well, all except one: a Slackware 10 I got with LFY.

Reluctantly, I popped in the Slackware CD (I wanted to set up a more user friendly system so that I won't have to run to her frequently for updates and issues) and started up. I started cfdisk for partitioning and it showed me the partition table for /dev/hda -- the DVD ROM drive. I went for it again with cfdisk /dev/sda and it refused to detected my HDD.

I restarted and then at the boot menu, took a look at all the kernels available. I then realized that the default is a 2.4.33 kernel, instead of a 2.6 kernel. I started all over again with the huge26.s and finally managed to partition my disk.

Everything else went well and I finished installing the entire system within 20 minutes. I restarted into the new system and saw that there was a boot time warning that '/lib/modules/2.6.17-386' was not found. I ignored it. Then I realized that even though my LAN card had been configured during installation, it refused to come up. Also, the system would start up on the console and not on X -- I would have to install KDM separately. And finally, X would start, meaning that my video card was supported. But the touchpad was not working. I then went back to the warning I had seen at boot and looked into the /lib/modules directory. All I found was modules for 2.4.33-386. So you see, it looks like Slackware installed a 2.6 kernel and 2.4 modules.

I had to install a new kernel (it was trivial though, just installpkg <packagename>) and then everything was working. Of course, this was just a temporary arrangement. I needed one of the user-friendly OSes (*Ubuntu/Mandriva) for her.

Today, I got a Mandrake 2008 Spring DVD with the LFY magazine. And I installed it. And I fell in love with it.

All I had to do was these things:

  1. Insert DVD
  2. Select Language
  3. Tell Mandriva to handle disk partitioning by itself
  4. Tell Mandriva if you want KDE or Gnome
  5. Watch the two "Desktop on USB" and "Other products by Mandriva" slide over and over again
  6. Enter root password and a new username and password
  7. Configure your network
  8. Select your timezone
  9. Remove DVD, reboot and login!

That's it!

Again, as you can see, I didn't have to bother to find out what display adapter came in the notebook. And I didn't even have to enter the console even once to configure anything. Now here's a distro and Laptop to recommend to friends.

BTW, no offence to Slackware either. It's great if you want a light and completely customized system. However, it's not that great for newbies.

Update: And then there was compiz. What did I have to do to set it up? Well, just start Mandriva Control Centre and click on "Enable 3D Desktop" and select compiz. Logout and log back in. And there you have it; sweet sweet eye-candy!!


Stacktrace

I was browsing through bug reports on the ayttm SF page when I found an old bug report. This was back in the days when I wasn't part of the dev team. I never imagined I would be either.

In spite of being a CS student, I didn't know what stacktraces or debuggin symbols were, so Philip's request for a trace with debugging symbols was Greek to me back then. I simply removed ayttm and moved on to Gaim.


Busy life...

Married life is busier than I expected it to be. I'm now busy buying a home for me and me missus. Hopefully I'll have enough money left after that to buy me a laptop or else I'll be without a computer for a while :(

Ayttm's been stagnant (has had a bug report recently so somebody is using it ;) ), antidialer was supposed to finally become POSIX compliant; not that it matters anymore, since there's a Linux dialer supplied by Sify. This one's just for kicks...

Work at my day job has finally become a bit more interesting in the past few days. One was due to the recent spate of a couple of grave bugs which kept us up for a couple of nights. That was a lot of fun. But mainly it is due to my transition to a new project which involves language processing with lex and yacc. This is about striking deals between dealers by interpreting their chats. Nifty stuff...


Photo Gallery

I didn't want to put my photos on some site like Webshots, Picasa, etc. So I finally put up my own little photo gallery on my site. Currently there's only a private family album -- will put up more stuff soon :)

I didn't do it from scratch though. I customized yappa-ng according to my needs and got it running. Pretty cool piece of software for anyone who wants their own customized GPL'ed photo gallery. Thank you Fritz 'wizard' Berger :)


Why I love to hack...

I was email-chatting with an old friend when I realized why I love writing free software. The biggest reason why I write FOSS is that it makes me feel worthwhile. Whenever I find a feature/tool is missing, I no longer feel helpless. I know I can (and do, often) whip up a solution for myself if I want it bad enough.

And to top it all, I can show off to the world how good (or bad) I write my stuff. It's feels great to see so many people downloading and using stuff I helped make. It feels great when I get an email from someone thanking me for writing some software or suggesting improvements to keep me on my toes.

I haven't contributed much to any code of late -- just couldn't find time out of wedding preparations, invites, hand-over at work and all that. Coming up are animated smileys... soon :)

Btw, finally someone else other than me committed code to ayttm. Cool, I had been feeling a little lonely of late ;)


Comments are closed.