< February 2006 >
    1 2 3 4
5 6 7 8 91011
Thu, 23 Feb 2006:

So there I was watching Simpsons episode 9F21 where Homer talks about his barbershop quartet - the The Be Sharps. It was a quite unmistakable take on the original fab four - The Beatles. But what I hadn't counted on was the amount of research the screenplay and directors had been willing to put into this (or the one I was about to undertake).

I am not talking about the storyline and the parallels between the incident of Pete Best or the arrival of Barney's japanese girlfriend. I am talking about things which you'd miss out unless you took pains to research yourself. Take the Meet the Be Sharps album cover, for example. Compare it with the original cover of the Sgt. Pepper album .

Then there are the stunts which would've been hard to capture easily if it were not for the fact that Simpsons was a cartoon. In one of the studio stills from the recording of Let it be, Yoko Ono is in frame and hiding behind Lennon. In Simpsons we see the same with the machine playing a Number 8 which is sneaky take on the controversial Revolution 9 soundtrack.

John Lennon became infamous for one of his statements which in more cultured terms could be put as - "music transcends all borders, even religion". But he had to brashly put it down as "We're more popular than Jesus now." - this and the previous statements about religion and rock-n-roll cause no end of trouble for the beatles. It does put the following sequel album cover (of the quartet walking on water, like the Abbey Road album) in context (for the Be Sharps).

I can't imagine to quantify the effort pushed into twenty minutes of comedy where all these jokes just fade away on the TV screen before two in a hunderd thousand note these down on a pad to laugh later. I just had the luxury of screenshots and dynamic pausing to actually enjoy these jokes interspersed in the actually story. Of course, it takes a hardcore fan to note down the Moe's *C*avern and that Skinner's prisoner number (#24601) is the same as Jean Valjean.

Simpsons, the Most Accurate Cartoon ever.
And I am a night bird.

Real computer scientists don't write code and therefore hardly count (and rarely count accurately; precision is for applications).

posted at: 16:53 | path: /movies | permalink | Tags: ,

Even though libCrayons is taking its sweet time, the drawing library on top of it is actually moving along pretty nicely recently. Brubbel has been working quite hard on the path handling (as the changelog shows). He checked in an absolutely brilliant sample which should show off what pnet's graphics drawing is actually capable of. I've pulled out the code out of the FormsTest for the sake of those who just want to play around with it - TigerPath.cs.

The anti-aliasing and fill curve patches just rock, just take a look at the state the codebase was in before. Three patches in CVS and it is all smooth as silk - *sweet*.

It isn't often a huge patch hits pnetlib - but 600 odd lines in one week sort of makes me happy to just sit back and look at the pretty pictures :)

Now, I'm headed deep to investigate what XmlNodeReader really does...

These are merely lines to me, but they paint a picture for you.

posted at: 13:14 | path: /dotgnu | permalink | Tags: , ,

Halfway through debugging APC last night, I started to get seriously bored with the complete lack of success I was having. So I just kicked back and implemented a new feature for pnet. So far pnet's System.IO.Ports implementation has support for regular serial ports, USB ports and Infrared ports - I wanted it to work with bluetooth. For no good reason, the thought popped into my head - backup my phone numbers with a program.

So I started to recall all the AT commands I'd studied so hard while doing mobile phone testing in Wipro. I didn't have a document for GSM AT commands, neither was I sure how to set up a serial simulation via bluetooth. I cheated a bit by doing a strings libgnokii.so | grep "^AT" but I knew what those commands did. After starting the bluetooth daemon, I discovered that hciconfig/hciattach is *NOT* the tool to attach stuff to hci0. The point to note is that you need to know the bdaddr of the phone you want to hook into.

[root@phoenix ~]# rfcomm -i hci0 connect rfcomm0  00:13:70:C3:AA:7A 
Connected /dev/rfcomm0 to 00:13:70:C3:AA:7A on channel 1
Press CTRL-C for hangup

Now this is what happens when I give rfcomm0 as the resource in pnet's System.IO.Ports implementation.

Uncaught exception: System.ArgumentException: Arg_PortName
Parameter name: value
        at System.IO.Ports.SerialPort.set_PortName(String) in ./IO/Ports/SerialPort.cs:574
        at System.IO.Ports.SerialPort..ctor(String, Int32, Parity, Int32, StopBits)
        at System.IO.Ports.SerialPort..ctor(String, Int32)
        at Phonebooker..ctor(String) in phonebooker.cs:52
        at Driver.Main(String[]) in phonebooker.cs:22

Because the terminal I/O device should work with the same API no matter whether it is USB, bluetooth or regular serial ports, there was no real change to the entire code to make it work. Let's just say that it just works and leave it at that.

Then it was smooth sailing to write a small app which would read/write data from the serial port. Essentially the code looks something like the following.


while(port.BytesToRead > 0)
	String line = port.ReadLine();
	if(line.StartsWith("ERROR") || 

With these four AT commands

  • AT+CSCS='8859-1'
  • AT+CPBR?
  • AT+CPBR=n
I can select the charset and phonebook I want, check phonebook status and read the nth entry in there. And that basically is what the whole program does.

Just a quick reminder, you need the latest CVS head code of pnet and pnetlib to test this toy out :)

If you find a solution and become attached to it, the solution may become your next problem.

posted at: 12:19 | path: /hacks | permalink | Tags: , ,

We've always seen them around. We've also at some level or other accepted and acknowledged them. I'm not talking about the BMW in the garage (bought by daddy dearest) or the bachelor pad full of dim lights & candles. I am talking about some very muted down social signals I've run into over the course of my academic and professional life. These are signals which reflect the granularity of the social grade structure which we all unconsciously are trained to perceive and act accordingly.

Before I dig into my bag of stories, let us look at local social badges. Fair skin is one on the top of my list. In a historical context, it meant that the person was not forced to move around in sunlight and implied a protected life style commonly associated with the rich (always been rich). A prison pallor which is considered unhealthy in some other places would be a glowing social symbol somewhere else. In short, the badges I'm talking about have no significant value in the present context other than what it has been provided by the group.

Tag, you're IT: Anybody who visits an Indian software company (as in a true blue services company) should take a few moments and take a good long look at the identity cards carried around in office. Usually companies have different coloured badges for different graded employees, that is quite normal. Those are signals of a real organizational structure - but look closer. There will be a small group in the crowd who'd be carrying their company ID cards with a customer tag - one that distinguishes them as people who've been onsite and back. This is meant to convey - I'm an important man for my project and I've been abroad . This is a social badge which had nothing to do with the company organization and is purely a product of the office community. The perceived social status of someone who has been onsite completely vanishes when the group is no longer an exclusive elite.

And all I got was: That was probably a bad example, but here's a better one. Anyone who has visited a recurring conference has seen this one. People show up with souvenirs from the the previous events. I've seen people around FOSS.in this year wearing the first Linux Bangalore t-shirt and a larger number wearing the 2004 t-shirt. At Linux.Conf.au I saw a crowd in the old green t-shirts and the red ones too. After resetting my natural ignore switch, these seem to ask the unspoken question - I've been around for a while, what about you ?

Bower Bird Approach: The same scenario shows up when everyone's pushed into a nearly identical cubicle somewhere. Cubicle decorations are another one of the interesting social badges found in the software industry. For some, his/her workplace is a second home - you end up decorating it to be yours. There is a sort of permanence about a cube with half your house moved in that appeals to the ones who have just joined. The elements of decoration might also move towards advertisement - full of free or branded things from the company. I'm not talking about showing off your Employee of the Month rock or I mad a Difference (*heh*) coffee mug. I am talking about pinning up the conference badge from the last one you went, sticking on that chest sticker from the last marathon you ran and of course, the poster that you couldn't find room for in your bedroom. All these say to the guy who walked past that I've been there, done that and still have the poster.

These badges communicate in ways words can't. They are powerful because they can't be denied, they can only be outdone by others. And just because I understand what is happening does not exclude me from participation. So if you see me wearing a t-shirt with New Zealand on it and lugging a LCA laptop bag - just smile.

If you are a police dog, where's your badge ?

posted at: 09:44 | path: /observations | permalink | Tags: