Comments

One of the Life’s greatest ironies. I actually enjoyed studying for the Artificial Intelligence exam, one of my favourite areas. In fact an hour of my favorite anime, Ghost in the Shell: SAC on monday was timed perfectly for the exam the next day.

But when I received the question paper, I sat there wide eyed just like the android who gets pwned by the Tachikomas when they attack her with the Liar Paradox. A big BLEH..

I managed to write (in my own words and crappy handwriting), a couple of big questions and 5 short ones. To add insult to the injury, yesterday’s paper was my personal record for the most number of pages filled in an exam; 42/44. My previous record was 34 :D.

On the brighter side, I may get to read Peter Norvig’s a second time for the back paper. Well, rationalization is the solution to all of world’s problems ;).

But somehow, I didn’t feel bad about it…..shit

Man, its quite difficult to sneak up and write a blog post when semesters are around the corner. So as mentioned in the last post, my project for this summer would be to write a device daemon for the Openmoko platform. We already have neod offering keypad and power management, but its not that elegant. Hence I proposed a DBUS replacement as a SoC project which got through.

So, heres a pdf of the proposed ahem architecture. (Boy, I love that word. Sounds enterprisey). it looks a bit sucky since I did it using a touchpad, but hey, something is better than nothing.

I was looking at pulseaudio code for a while and liked it pretty much. So naturally, odeviced will borrow ideas from pulseaudio a bit heavily. My idea of odeviced is as follows,

  • A dbus service with support for loadable plugins.

  • These plugins can be arbitrary, from managing power, gps to controlling the uber secret laser katana in the FreeRunner (oops. I let the secret out)

  • And of course, some user space applications may want to know whats going on under the hood. So expose some sort of api from the dbus service.

Initially for the SoC, I will be working for full odeviced support for the FreeRunner, and maybe later on write plugins for other devices as well. Especially for the ones from Motorola.

For the implementation, here are the things I need to learn over the next month

  • Vala, its a cool language built around GLib.

  • DBUS, My experience with dbus is now limited to the tutorial code

  • Prolly some HAL and udev and touch upon the kernel stuff if need arises

  • …and cough to manage my time and write good code…

Heres the abstract of my proposal. Thanks to tuxmaniac, Casanova, techno_freak, tuxplorer, pygi and many more for proofreading my proposal which at the beginning looked like a love letter written by a 5 year old.

As I said in my earlier post, Vista didn’t last long. I was planning to install Gentoo in my Vaio CR 36 but couldnt, as it had problems with the ethernet card ( not to mention the wireless). My option was to install Ubuntu Gutsy as it has very good support for laptops out of the box. But Gutsy couldn’t get sound working and hence found a perfect excuse to upgrade to hardy beta.

24 after upgrading to hardy, came to know that beta_1 of gentoo 2008.0 is out. Downloaded the 64 bit mrinimal iso and got it up and running on my laptop. Things that doesn’t work in both the distros (as of now. May change as I RTFM more)..

  • Fn keys for the brightness controls. I have a brightness applet in my panel, so no real big deal.

  • The Ricoh webcam. lsusb picks up the device and whats more strange; the r5u870 driver gets loaded and the device node ‘/dev/video0’ is getting created properly. Neither cheese nor camorama could pick up the camera. The device id is “05ca:1839”, which seems to be well supported. Maybe I am missing something obvious (yes, the firmware files are in place)

  • The fingerprint reader. Its the same as that of the ones from the Thinkpads but thinkfinger doesn’t support vaios :S

  • Bluetooth, gets detected by hciconfig but other devices can’t see my laptop. (See below)

If anyone had any luck with the above, please let me know.

What works..

  • DRI with the binary ‘fglrx’

  • Sound works well

  • Wireless pwns with the iwl4965 module

  • Ethernet with the realtek modules

  • Software suspend to disk (and RAM) using patches from the TuxOnIce project

  • Volume keys and media keys work like a charm.

  • Adobe doesn’t offer support for flash on amd64. You can getaway with it by installing a 32 bit firefox binary alongside your 64 bit installation. ‘emerge mozilla-firefox-bin netscape-flash’ and you are all set.

  • Bluetooth works beautifully. I have had issues with I/O errors with the chipset. But a post to the gentoo forums solved the issue. This VAIO comes with a Broadcom 2046 chipset. Be sure to ‘emerge bluez-firmware’ just in case. Click here for the thread. Be sure to follow the wonderful gentoo bluetooth guide. emerge gnome-phone-manager and gnome-bluetooth for extra fun

The kernel .config and the xorg.conf with hardware acceleration for my laptop is here, in case if anyone is interested.

Gentoo-wiki has been a great resource. Information about other vaios here.

I havent been a big fan of creating python extensions using gobjects but noticed that the libjana by chris doesnt have one. So just my bit to help around.

Bindings for the above libjana library. Still really really really……..really (500th) super prototype code.

Get the bindings here

As always all sorts of help is appreciated

Totally screwed out for the last 5 days. 3 days of intense FOSS at Fossconf and internal assessments at College after that. What a week. I had Ub3rcool fun at fossconf meeting new people and matching irc nicks with faces, presenting a tutorial on writing python extensions and pygsmd, and of course voluntary work eating food which was provided to us.

I am feeling lazy to give a report on the event, which my fat elder bro has taken time to do so.

The best I can do is give you some links =).

http://flickr.com/search/?q=fossconf

http://picasaweb.google.co.uk/tshrinivasan/FossConfDayOne

I got to test some code in the neo and found that sms sending using pygsmd works quite well!!..Also I was looking for an opportunity to brush up my 2 hour stint with pyGTK which I had a long long time ago. What better reason than to create a dirty, scrawny, crufty, fugly GUI for sending SMS. Heres a screenshot of the GUI in action taken from the neo itself. It doesnt really follow any GUI guidelines (who would care at 2:30 AM)…When you click SendSMS, it calls pygsmd.sms.send() and sends your message..and when you click Quit button, the obvious thing happens.

Oh there is also this another more better looking tool called SMSTool by alessandro, you might want to check that out as well if you want, it achieves its purpose in a weird sort of interesting way. It communicates with libgsmd-tool in shell mode through python subprocesses.

If anyone is willing to modify the GUI and make it look more humane, be my guest..It ofcourse depends on pygtk and its dependencies

P.S: SVN in projects.openmoko.org seems to be down. So I was not able to commit these example scripts.

Goofup: I did it again..The SMSTool is written by kriss and maintaned by alessandro

Got some sms and phonebook code in the svn, but not all. So once I had some bindings finished. I decided to write a sort of example script that uses our pygsmd module. libgsmd-tool have always been a friend of mine in knowing whats up with gsmd. Therefore to pay a tribute to my good “friend”, I came up with a python script that mimics ‘libgsmd-tool -m shell’. Of course since pygsmd itself is yet to be completed, the script is incomplete although functional. Its been a long time since I had written a real python script, so if its not pythonic, please comment..The script is already in the svn, so if you are interested take a look and most importantly test it out and extend it..=D

Heres a more sane version(88) from the svn

And the screenshot of pygsmd-shell in action. Notice the AT commands in Phonesim to the right. And the screenshot of the script running in the neo.

For pygsmd svn repository, click here