Thursday, December 01, 2005

Life - Personal/Professional

Work while you work and
play while you play

Those are pretty common lines but hard to follow. Really, I mean it. Had been planning to separate my work related activities from personal activities for quite sometime now. Never had a success. Finally decided to somehow, restarted the mission of identifying a professional Varadhan (during office hours) and a Varadhan of those Golden college days. A Varadhan with his unique sense of humour, a Varadhan with a great personal value, a Varadhan who is active among his friends and above all, a studious Varadhan.

These 6+ years of my software career has given me lot of Professional values/status at the expense of my Personal values. Today, 2nd December 2005, I have determined to claim back all those personal values before they expire completely.

First things first...

1) Rejoin my TaiChi classes.
2) Restart my Gym activities.

Let me see how this plan goes. :-)

Monday, November 21, 2005

Lovely Love brought back my link in planet beagle

Many thanks to Robert Love for bringing back my blogs to planet beagle. DBera pointed to an article that seems like a comparison of Desktop Search Softwares available in Linux. The page is in German language, an almost complete english translation is available here or here. Anybody out there for a "manual" translation of that page?

Lately, my focus of work in office has almost completely shifted towards evolution, though, I am allowed to work on evolution interfaces for beagle. Planning to wrap up the KOffice filter in a day or two for 0.1.3.

Wednesday, October 05, 2005

MPlayer and GCC4

I downloaded the clip from Jeyant Joshua Gonringe's blog, a blog of a 4-5 year old kid. By default windows codecs are not supported by SuSE (and hopefully others as well). I like Xine a lot, however, I equally like mplayer as well. Normally, I install both of them as some clips/movies are played well in Xine and some are played well in mplayer. After upgrading my laptop to SuSE 10, I actually forgot to recompile mplayer. So, downloaded their new 1.0pre7-try2 tarball and started compiling.
During configure itself it yelled at me asking for a gcc version that it supports. With their --disable-gcc-checking, I managed to get the configure stage going. However, the compilation borked with an error saying "memory input 4 is not directly addressable". Luckily google got me this patch which smoothened my mplayer compilation. Voila!! that video clip is amazing/relaxing. :-)

Beagle moments

Yesterday was talking to my buddies in #dashboard channel after a considerably long time. It feels really good and don't know why doesn't it happen with any other channel :-(. Well, may be because I know what I am doing in beagle and what beagle is doing. Myself and Joe were discussing about my archive filter hack for beagle. Joe came with a number of good points on my quick hack. Got to grab some time today to fix those things. From the channel log...

Oct 04 20:26:15 joe varadhan: ok, so the main issue I see with the patch is that it uses MemoryStream
Oct 04 20:26:40 joe mediterr: does your mono-web package have the same version number as your mono-core package?
Oct 04 20:26:59 joe varadhan: which is probably not avoidable with how the filtering system works right now
Oct 04 20:27:09 varadhan joe, Yes.
Oct 04 20:27:13 joe varadhan: but it's kind of an issue because files that are compressed tend to be compressed for a reason. :)
Oct 04 20:27:58 varadhan joe, Exactly, but just thinking of how "possbily" can we avoid that.
Oct 04 20:28:12 varadhan joe, one possible way is a .beagle/tmp stuff.
Oct 04 20:29:05 varadhan joe, we extract there, index the files and delete it. When the parent archive file is deleted, delete the sibling indexes.
Oct 04 20:29:21 joe varadhan: a temp file may make some sense, but then we're using a lot of disk space, which is another reason why the files are compressed in the first place. :)
Oct 04 20:29:50 joe i mean, it's a suboptimal situation either way

Well, sometimes we have to temporarily break the original intention of a thing to reach our goal.

Tuesday, October 04, 2005

Grinding Evolution

Evolution a prestigious mail client for the users of GNOME desktop with integrated mail, addressbook and calendaring functionality, that supports "Microsoft Exchange" and "Novell Groupwise" servers as well. After my series of wrapper work around evolution-data-server, started preparing for another leap of something useful to the evolution community.

Preparing the test-bed took almost weeks together and finally, yes, started gathering details of holes in evolution code that kept leaking memory. Well, evolution behaves nicely when the sampling size is small. Still haven't gathered much, however, will be completing it in another couple of days. Did I mention anything about the tool that I used to watch and report the leaks? I guess not yet.

Valgrind a memory debuggind and threading profiler tool for linux programs. Well, I started using valgrind around August 2002 and since then, it has improved quite a lot. It pre-loads hooks for allocations/deallocations and other threading functions. Will write more about valgrind later. One negative aspect of valgrind is that its memcheck tool will slow down your application to a max of 25 times of its original speed.

Another tool that came very handy is LDTP. With new newly improved LDTP, I can run two tests a day. It is a must tool for profiling Desktop application, though, the actual intent of the tool is different. Just write ldtp-scripts for any operation and run it in a loop. That way, I don't have to manually interact with the application and be relaxed or do any other critical fix. ;-)

Well, just wanted to break my lazyness to blog interesting things that I have been doing since four weeks now. Will be posting a detailed blog soon.

I am mp3

Praveen today told me about this site to find out what kind of a personality we are and got my personality as:

You are .mp3 The kids love you.  You get along with just about everybody except the music industry.  You really make yourself heard.
Which File Extension are You?

Thursday, September 08, 2005

Women - the Weaker sex or Not?

The above question occuppied my brain like anything when I saw my mom feeling lonely even after the presence of my father, my elder brother, myself and my youngest sister. Well, we were (are) "Super Six" for our parents before the "twinkling twin sisters" of us got married. Its been around 6 yrs now, that I started living out, without my parents, brothers and sisters, however, never felt like loosing any of them till my sisters marriage. I felt like loosing them permanently, though it might sound rubbish just like it sounded to others in the family when I expressed that. Well, my parents consoled me by explaining the destiny of a Woman. Yes, it is the un-written(?) destiny of a Woman to live a twin-life, life with her parents/brothers/sisters and a life with her partner/his family.

With the world changing so rapidly, the so said destiny or the gaps between in-laws and own-ones started reducing and giving a feeling that the difference between the twin-life is just a thread-width apart. However, still there are people who "worship" that layer and not let the width of the layer get reduced even by a millimeter, that makes mom like mine an evergreen patient regretting for such decisions.

I have a question for the "Stronger Sex(?)", Men, when we expect our partner to respect our family members and treat them as their family members, why aren't we doing the same?

Though we label them as "weaker sex", are they really a "weaker sex"? I would say "NO".
They are weak, only till they
1) respect you and
2) love you

Once they come out of these two potential weaknesses, which we also have (more than them), they are the "Strongest people" one could ever see. I think we call them "Weaker sex" because we become "weak" without their presence in our life. Is it so? Hmm.. I guess, yes, it is so.

Okay, I don't know why I am writing this, may be that I am too weak to belong to a "Stronger Sex"? Or, the weaker sex made me weak?

I haven't yet seen my partner, though have seen my mom and my sisters. They are my source of inspiration and energy. Don't know who said "Women are weaker sex", whoever said wouldn't have seen any woman. I have seen my mom raising from deep sorrows like the venus on a "No-moon day", giving the whole-family the much needed light-of-confidence, which made us where we are today.

My request to the whole community of Men (including myself) is that try to understand the feelings of your partner and respect it. Try to know what she has in the deep of her heart. Last but not least, try to treat her family with equal respect that you expect from them.

My conclusion to my question in the topic is that, Yes, "Women are weaker sex", but, "Men are weakest sex". I know, but, sorry guys, truth doesn't sound good always. ;-)

Friday, September 02, 2005

Female, Age 23-25, Unmarried, Brahmin-Iyengar, Vadakalai, Non-Bharatwajam

Gotcha! Googling around matrimonial sites with the above search criteria. Koi hain? Yaaraavadhu irukkeengala? Is anyone out there matching the above criteria? Well, mail-me with your details and horoscope. ;-) (Click on "View my complete profile" link on the sidebar and click-on the "email" link in that page)

Hold on!!

The search is for my (elder) brother, who just turned 30 couple of days back and is a Sr. Software Engg working for E-Funds, Chennai. Wanna look at his profile? Click here.

Wait! Wait!! Wait!!!

Let me tell you the reason for me searching a bride for him. Hmm.. umm.. hrm... actually... its like... you know... well... if you see...

My marriage is getting delayed because of him. ;-D
(just kidding... (hmm.. only 50%))

New l(o)(o)K

Did I mention that?

Yes, I changed the look and feel of my home of thoughts(?) and added few useful(?) links to the sidebar. Will be adding more links there.

Should hack the template to match my preferences.

A Beagle visit

Got some time to look back the road which I used to walk through when I joined Novell. The road has improved a lot. Got street lights, direction boards and a nice black road. Many vehicles, from two-wheelers to LMVs have started travelling on it. Soon, HMVs will be benchmarking the road and a grand-opening is awaiting to happen.

heh, what am I talking about?

Its Beagle.

Yes, took some time to hack something quick for beagle. As always, cooked up a filter for archive files. When I say Beagle is Fun, it is, I really mean it. The new filter had hit a bug in the FS backend and is due to be fixed after SuSE 10.0. However, I continued to fix the other corner-points that were blocking the filter from working. Finally, the fully cooked version of the patch lies here, to be picked up by Jon and Jon is a good friend of mine and will take it, haina Jon? ;-)

The filter indexes files inside the archive using appropriate beagle filters. Thus raising the ability of Beagle to smell and dig the contents to/from the core. The filter uses the ICSharpCode's SharpZipLib library and supports all of Zip, Tar, GZip and BZip2. (Though support for GZip and BZip2 are temporarily disabled now)

Wednesday, August 17, 2005

Rescuing a Linux partition

One of my friends just screwed up her linux boot record by installing M$ Windows 2000 Professional on top of it. Luckily she didn't delete any of her partitions. This blog is for her and others who have done similar mistakes, unknowingly.

1) Reboot your system using the Linux bootable CD.
2) Choose "Rescue system" or similar option that would take you to a temporary shell.
3) Follow the steps mentioned in the link given below.

Well, I thought of writing all the steps to setup grub again, however, a google on "setting up grub" revealed this link here, which explains the steps to install grub quite comprehensively.

Scored Top

Thanks to "Google" to give me the top most rank among others. Well, those of you who are confused with my first sentence, look at my previous blog here.

A google search on "veerapuram varadhan" shows the link to my blog as the first hit.

Gnome 2.12 tour

Davyd Madeley has posted a pre-release tour of Gnome 2.12. Check it out here.

Lights On

Today, got sometime to think about my real life. Well, it is quite evident from my blogs that I am hardly paying any attention to my personal life. Last 3.5 years have changed me a lot. Have become more work-aholic than ever. Because of which lost few good friends, well, not really but typically; yes. My FAQ stack on my mind gets overflown by questions like...

What happened to me? What made me change like this? What happened to my hobbies, interests etc?.

Few reasons popped up as answers and the prominent one being "staying alone". Yes, in Delhi, though I stayed alone, had very good, fun-filled and hilarious friend circle. We used to go out on a long drive every weekends. Never missed any movie that got released in Delhi till I was there.

Bangalore has totally turned my life upside down. Have I become more responsible? Would that mean no more such fun and joyous moments? Well, I think I am missing good partner(s) to hang around, kill time, chit chats etc. Most of my friends have got a registered partner for them, making my request to hang-around an invalid one. Though few things that my beloved-friends suggest which would bring a difference to the current way of my living and they are:
1) Go to office on official office timings and
2) Do not awake past MIDNIGHT

Lets see how soon this light brings brightness to the dark-side of my life.

Its around 4:40 AM now, which I have been trying to avoid for months together now.

"Deja vu"

Two days in a week that I don't really like:
1) First working day after the weekend and
2) Last working day before the weekend.

Reached bangalore around 4:30 AM and had a sound sleep till 12:00 noon. Reached office on time ;) and had lunch. With a great determination, started to trace back the roots for the annoying 310461 bug. Yet to form a suitable patch to fix it. It was around 10:30PM, nags pinged me on IM to make me realize that I would miss my dinner. Packed my bag and rushed to my favourite Annapoorna hotel and got a parcel of 6 Idlies and 2 Chappatis.

Reached home, did sandhi and finished the dinner. After a very long time, today did lot of orukut found few of my friends. Tried hard to make vpn work with the tortoise connection (Reliance's rconnect) work, but, didn't get through. So, started reading through Joshua's semweb library to read/write RDF files. This would give me a break through to enter into Beagle land with something nice.

Wednesday, August 10, 2005

Evolution Mail-remote plugin sharp

Today I commited a fairly stable glue-code for the mail-remote plugin bonobo interface that I mentioned in couple of my previous posts. My first commit actually broke the cvs and I had to tweak the glib-genmarshal stuff a little bit to match the source tree structure that we have in evolution-sharp.

I learned quite a few things, though small, but significant. Errors in makefiles are cancer cells that eat your time like anything.

A major part of thanks goes to NotZed for his cons(is)tant support with couple of reviews and suggestions in IRC channel.

The todos are
* a test program
* simplify complex glue-APIs
* bug fixes. ;-)

Monday, August 08, 2005

A Perfect weekend

Boarded the bus on Friday with an intention to complete certain pending tasks over the weekend. If I had known the plans of my parents for my weekend, perhaps, I wouldn't have taken my laptop all the way to my native place.

It all started with an heavy discussion with my auditor in filing my tax returns. Ugh, taxes are a RPITA. Apart from what has been deducted by Novell and my previous employer, I had to pay around 37K, which I paid last week. Though, my auditor got back with a new figure of around 39K and that means another 2K. Hope that chapter ends there.

Once I finished with my auditor, my cousin called me up and told me that he had setup an appointment with a property-broker, well, in Chennai (2 hrs of bus journey). So, accompanied by my father, I reached Chennai around evening. We saw three properties out of which only one appeared to be okay. However, lot many things have to be verified before signing-off a deal.

As mentioned in this post, real-estate business is really coming well. Hope to close that deal in time.

Met my cousin, after long long ago and spent good time with them. Chennai has changed a lot since my last visit (4 yrs?)

And the day of rest, Sunday, passed just like that with enough rest and nice homely-food.

Friday, August 05, 2005

Interviewing skills

For the next three working days including today, I will have to attend interviewing skills triaining program. Yesterday I attended a video presentation on various factors involved in interviewing.

Will write in detail after the training. However, the quality of the material used in yesterday's video presentation was really good. If an interviewer follows the tips/tricks/strategies/etc mentioned in the material, I would say, he will never ever pick a wrong person for his/her company.

Ok, feeling sleepy, will fill-in more at the end of each day's session. :)

Block diagrams to Wireframes

Yesterday, I, finally managed to complete an outline-sketch of the functional working of the mail-remote plugin glue code. After a couple of hours sleep and a good lunch, got NotZed on the evolution channel asking for his views about the outline-sketch.

He was ok with the approach that was taken in the outline-sketch, however, wanted to refine and trim some of the functions/assumptions. He explained me the facts about the data that are passed from the mail-remote plugin (server interface). Also, he suggested few things like defining structures for the interface types exposed in the IDL file and emitting individual signals for each type of "change_type" instead of a single signal with multi-parameters.

As a matter of fact, the values that are passed to the callbacks, registered in the glue-code to handle signals from the plugin, assumes a particular order and the same should be maintained.

So, with those suggestions, the mere outline-sketch has transformed into a more-or-less neat sketch that clearly defines the shape of the glue-code. (Now the sketch spans to multiple-files.)

Epitome of absent-mindedness

Absent-mindedness is one of the common states of human-brain during which it is completely preoccupied by something like a single-big-monolithic process running on a "non-multitasking" system.

Why am I talking about absent-mindedness?

Ah!! its about the result of a recent "preoccupied" state of my brian. As you might know that I am working on writing wrappers and lately started working on writing a bonobo-client/wrapper for the mail-remote plugin. It is this *thing* that occupied my whole brain because of which I forgot to sleep yesterday. Ugh?

After fixing-up that gapi stuff, I disconnected the dialup and was taking a deeeeeep-stretch, there was this sound "trrrrrrrrrrrrrrrrrrrringggggggggg", well, my alarm-timepiece shouted loud (7:15 AM), making me realize that I actually forgot to sleep. :)

(BTW, it was around 7:15 AM)

Thursday, August 04, 2005

I am one among the top three

A google on "Varadhan" showed my blog link in the first three search results. :)

Soon will reach the pretigious No.1 position.

Mail-remote plugin glue code and GAPI

After adding that LastModfied support to the ECal# bindings, I continued my journey of providing wrappers for the mail-remote plugin. With the enough homework that I did during the day time, started with writing the base prototype that exposes four signals, two for session, one for store and one for folder.

Defined functions to lookup and initialize all the necessary callbacks. We connect to signals provided by the listeners process them and emit our own signals that will be handled in the managed-code.

make && make install went through. Now, the final step, generating C# code for the mail-remote-glue object. *BANG*, gapi spit out something like

store_changed struct _EMailRemoteGlueClass {GObjectClass parent_class;void (*session_shutdown) (EMailRemoteGlue* emrg, gpointer data);void (*folder_changed) (EMailRemoteGlue* emrg, GSList* added, GSList* removed, GSList* changed);}; at /usr/bin/ line 881, line 92.

Tried few combinations of typedefs, positioning of "*" in a declaration etc. Nothing helped. Finally, opened the /usr/bin/ file to see what is happening in line 881. It clearly mentioned that it is failing while decoding/creating "Signal" definition.

With that clue, I read through the code once again and found out a typical "copy & paste" error, that resulted in the "registration" of same signal twice, which GAPI promptly pointed out.

I fixed that and GAPI and my glue-code lived happily thenafter.

Was it a race condition?

ECal# provides two types of APIs to get a list of calendar events present in a calendar.

First type is based on "Query/Response" and the other is "Compare-with-last-fetched-items-and-return-the-final-list" sort of method.

In Beagle, the new Evolution Calendar backend that Joe Shaw is working on calls "GetChanges", second-type method, to get a list of what-so-ever-has-happened since last call. Once things are setup properly, GetItems() is called. GetItems() works on "Query/Response" basis and once the query is setup and the Start() method is called, the results satisfying the query are returned immediately, causing Beagle to re-index them immediately.

Where the heck is the race-condition here?

Well, the first-time "results" of the query are the same calendar-events that are already indexed. So, it might appear like a race-condition, but, in reality, it is not. Perhaps, can be called "an unwanted" condition, though, cannot be avoided.

To handle this safely, the new CalComponent class exposes a property called LastModified, with which the first-set-of-results can be compared and avoided from a "re-indexing".

Wednesday, August 03, 2005

Bonobo - The Crypted Magic word

I am happy that atlast the time has come to complete one of my long pending (personal) tasks, learning to use bonobo. Thanks to Michael Zucchi (NotZed) for his mail-remote plugin which exposes bonobo interfaces to talk with it.

As part of writing C# wrappers for things in evolution & co, I started writing a client-code in "C" for the mail-remote plugin interface. Thanks to Michael Meeks for his tutorial on bonobo. The sample How-to also came handy to quickly understand and start coding the client. Thanks to Google to find this one, which really helped me to quickly prototype my client.

Ok, here is how my client works. Client has two parts, 1) Implementation of listeners and 2) glue-code.

Listeners: These implements various listener classes and their methods. Also, emits g_signals that the glue-code can connect to and process it.

Glue-code: This is the actual client-code that talks to the server-side (the plugin) interface and exposes signals to the C# layer. Hope GAPI will pick-it-up and create a "nice" code by itself. ;)

Ok, its time to actually do some coding. More later.

Why a patch review is required?

Today, I witnessed the reason for doing a patch review. Two days back, I landed a load of changes to the Evolution-sharp cvs along with a stupid change to one of the functions in the calendar glue-code that would cause, actually, caused a pretty straight "crash".

Though, my unit-testing passed with out any error, the crash was very obvious when Joe pinged me on the channel.

This blog would keep reminding me to do a self-patch-review before commits.

Also, a message to myself, "DO NOT COMMIT ANYTHING PAST MIDNIGHT."

Tuesday, August 02, 2005

ECal# handles recurrences

Did I say "recurrence"? Ugh, Yes, just did. The show continued to take the pace as the Showstopper was cleared.

I can say ECal# provides recurrence information as well, though, in a similar fashion that of e-d-s. A very minimal ToString() override is in CVS today that returns a "human-readable" string representation of recurrence meetings.

The recurrence part of the RFC 2445 is bit tricky, though, does provides all possible information about a recurrence meeting. This is one of the features in ECal# that took little longer time for me to understand and wrap it up.

More stringifying needs to be done.

The Showstopper

On Friday, 29th July, started my hunt for memory leaks in the recent ECal bindings in Evolution#.

Found a potential memory leak when creating an array of CalComponent objects from icalcomponent and ECalComponent objects. The call to the glue-API that does the intermediate conversion to ECalGlueComponent objects expects the caller to free the returned list of ECalGlueComponent objects but was never freed, instead, the individual fields of this objects were getting freed through the GLib.Marshaller.PtrToStringGFree() method. In order to fix this, I wrote a glue-API that takes the list of ECalGlueComponent objects are unref's them.

Every thing went fine till the new "memory-leak fix" API was called. When the API tried to unref the objects, *BANG*, a sexy segfault occurred.

Spent the whole afternoon trying to nail the culprit in the holy cross, but, didn't. Packed the laptop and caught the 2:30 PM bus to my native.

Saturday, 30th July, 10:00 PM:

Booted to my linux partition. (laptop has got a default windows partition, to be removed). Started hunting for the criminal that actually frees the memory of one of the fields of ECalGlueComponent object. Spent an hour adding all possible g_warning aka fprintf to pring debug messages.

*Voila*, to the epitome of surprise, found the hide-out of the culprit who was doing this - Mono marshaller.

Suppose, if a native call returns a "char*", mono converts it to "string" type by default. However, as an added-offer, it also "de-allocates" the source/original memory.

I am not pretty sure on the behaviour, though.

Expect the unexpected?

Thursday, July 28, 2005

Beagle uncovers the missing features in GNOME

Now our smart doggy started unleashing the missing links in GNOME desktop. When the Best shows the unearthed information from your box, the users are tempted to click on the action links in the eye-catching tiles. It is these *action* links on certain types of data that revealed the missing features in GNOME.

Lets see few of them:

Beagle can index Addressbook entries, however, there is no viewer as such in gnome to view contact information (vcards). Contact-lookup-applet has a minimalistic viewer, though not a full-fledged contact editing/viewing application.

Same with Calendar and message/rfc822 messages. No default viewers available in GNOME. Evolution is one good application that understands all these formats/files, however, doesn't support opening/viewing these files, unless it is part of its configured account.

Going forward, Beagle will definitely uncover many such missing links.

Wednesday, July 20, 2005

Baatein bool jaatein hain, magar, yaadein yaad aatein hain

I took a day off since my 32nd & 33rd vertebral bones and its neighbours raised extreme alarm and went on a strike for more than 5 hrs before I could control them. And because of this strike I couldn't involve myself in much of physical activities, but, my mind started refreshing its cache and found many interesting pieces of evergreen memories.

Recently I met one of my Device driver team mates here in Bangalore. We worked together in Newgen, Delhi. Our days in Newgen passed like our college days. Usual long working hours, gossips, spoofs etc., made us known as the "Coolest" guys. "Less tension More work" was our punch-line, or whatever you call it, at work. Along with us was this girl who used to be like serious, stick to work etc kinda girl and the "mahool" changed her too.

So, was the "mahool" of backend team of EAGLE project. Well, the reason was very obvious that I was also working for them apart from Device drivers. Though we spent long-working-days, the weekends used to be lot of fun. Every weekend starts with a new movie on friday night. Saturdays and Sundays are mostly filled with long drives outside Delhi.

Hope someday I will bring the same "mahool" here in bangalore too. :-)

Saturday, July 16, 2005

ECal bindings in Evolution#

Just got my first version of ECal mono bindings committed to the evolution-sharp cvs tree. Have to add recurrence support and few more fields that may be of some use to the bindings.

Also, got to write couple of APIs so that the same bindings can be used to filter ".ics" files. ;)

On the other hand still banging my head to fix a "SIGSEGV" in Tungsten T5 device!!

Thursday, July 14, 2005

Pilot link 0.11.8 Vs 0.12.x

I would say its a himalayan difference between those two versions of Pilot-link. 0.12.x has nice new, more managed data structures, improved performance, robust error-handling and reporting and supports recent versions of palm-devices. However, 0.11.8 wasn't a bad one though. :-)

Started porting gnome-pilot to use 0.12.x as well as 0.11.8 by writing some wrappers for the APIs that are changed in 0.12.x. The device gets connected but doesn't sync. :(

Nevermind, watch this space for more updates on my encounters with gnome-pilot with latest pilot-link.

Tuesday, July 12, 2005

Beagles @ GUADEC

You can find some photos of the Beagle hackers (and other GNOME hackers) at GUADEC this year here.

Mission Tungsten T5 complete

A while ago I tried to setup Tungsten T5 (pilot device) and did not succeed. Today started with full zeal to finish the mission of configuring it.

With the help of a short write-up about writing udev rules for pilots by Carsten Clasohm and a detailed write-up about writing udev rules by our Daniel Drake, I finally hooked-up my Tungsten T5 to sync evolution calendars/contacts/tasks successfully.

Daniel: Dude you rock!!

Monday, July 11, 2005

Mono bindings - Key to easy hacking

I have been working on providing a good e-cal wrappers in evolution-sharp as the default GAPI stuff don't work for most of the required-APIs because of the intensive use of ical APIs and data definitions.

What I have learnt from this short experience is that any application can be extended to provide good mono API wrappers that can be used to extend these application or write new cool stuffs using them.

Also, I should request for a big hand for GAPI, the provider of these wrappers. Though there are pits and falls, still GAPI rocks!!

Evolution has support for plugins written in Mono. This is a good welcoming step taken by the Evolution team. I would request the evolution team to actively maintain and update evolution-sharp as well, because, people will love to have bindings for the cool features that Evolution has.

(I can be one of your active contributors as well, if you guys like me. ;) )

I heard OpenOffice also supports Mono, but, don't have any exact data on what sort of support they provide. (for running VBA scripts?)

Long long ago...

"Long long ago there was a beagle hacker named Varadhan....." I am afraid that in another couple of months my name will find the first place in HISTORY file in Beagle sources. ;-)

Yes, from hacking in Beagle now my hacking status has become hacking for beagle. Nevermind, till I am close to my pet. These days I am playing with a big-chunk-of-code called "Evolution & Co.," adding support for Beagle in evolution to make beagle seamlessly index evolution data.

Just got my patches for opening a calendar-item and contacts from command-line committed, as moving these editors to evolution-data-server is a future task also have added a "forward" option to the mail-uri that we use to open/reply mails from command-line.

And kudos... my ECal bindings will find its way to cvs in a day or two. With that, I will start hacking in beagle again. :-)

Not the least, the latest puppy is doing fine. I think it has grown-up well to mention it as a dog now. ;-)

Wednesday, February 09, 2005

Dial-up is finally up!!

Voila!! after a marathon-of-hurdles, finally got my PC @ home up and running and connected to internet, howwever, the netapplet goes for a toss whenever I connect to internet. Hope an update of packages will fix it. ;-).

Internet connection @ home always boosts up energy to spend more time on hacking, along with a *good kitchen*, a cable connection on your PC to watch TV programs. Hugh!! sounds like a scene from any Holywood movies?.. heh!! its true.. lemme try it for a week and blog more on it!!

In Beagleland, everyone seems to working towards making the little doggy stronger. I am doing testing of filters and fixing bugs in them when ever I find one. Lately, fixed couple of bugs in Doc filter which were not filed ;-). I have to start the habit of filing bugs and then fixing it. Krish was also mentioning that.

My "C" interface for beagle has inched a bit that possibly will have a working (minimal) prototype by this weekend, not quite sure on timeframe, though. ;-)

If anybody wants to have a look at "Mono Embedded APIs", click here. Dudes!! it is pretty interesting, you should read it!! B-)

Tuesday, February 08, 2005

A quick nutritious recipe

Sunday, as usual, started experimenting few things in my Kitchen. I got sproutted-green-dhal, carrot and baby corn. I have already tried sproutted-dhal-raita already with ginger, coriander leaves, onion, curd, lemon and little asafoedia powder. It was nice and yummy. This time wanted to do something new but quick.

sprouted-dhal sundal, in English - cooked sprouted-dhal. It was so simple. The recipe goes like this

  • Soak the sprouted dhal in Lukewarm water for about 2 mins.
  • Take out the sprouted dhal from water, dry it, add salt (according to taste) and keep it a pressure cooker/microwave oven.
  • Pressure cooker: take it out in three whistles
  • Microwave oven: keep it for 2-3 mins.
  • Fry the cooked sprouted dhal in pure Cow's ghee along with little coriander leaves, little ginger and chopped green chillies and serve it.

    Note: While frying we can add even other garnishings as we like (cashews, almonds etc).

    Try it out... more recipes to come (on Saturdays and Sundays) ;-)
  • Sunday, February 06, 2005


    Another day of my life passed by. Though not a really colourful ;-) Saturday, passed off with few accomplishments. Till early morning 6'O Clock was reading/trying out Mono Embedded APIs, interesting stuff and it works!! Late in the afternoon went to GPR and collected my Plot documents that I bought in Oct 2004, in the outskirts of Bangalore. WOW!! the value of the plot has increased by 200%... hmm... nice investment. Real estate business in Bangalore seems profitable than software business ;-)

    Still couldn't get my SMPS working. Seems to be lot of work involved in bringing it back to shape. Never mind, ordered a new one. :)

    In the Beagle land, fixed the most annoying bug in Filters for word processor documents Bug# 157100, combination of various-text-formatting-styles. Working on creating a "C" interface to beagle and Xchat backend needs little bit tweaking before getting it into CVS.

    Helped few Nosipians in compiling gnome.

    Friday, February 04, 2005

    Hacker crack down - Good to be a student!!

    [This is rather an old blog of mine from Blogspot doesn't support aggregations, it seems.]

    After my Linux Bangalore talk on Beagle, which was sort of not so technical presentation, I wanted to explore further in to Beagle to prepare a good rather a hacky presentation that shows different hackable aspects of Beagle.

    Boarded the train in an usual way, 5 mins before the departure time and that too in Bangalore Cantonment station. Had some fruits and was modifying/adding some slides in the train. Shreyas got his presentation in a floppy and we managed to put it in to the laptop. Intel P4 is rather slow at times or always(?).

    We were received by couple of NITT students, Vishnu and (forgot?!). WOW!! they had a nice guest house with AC, TV, Water heater and neatly maintained rooms. At around 8:00AM, we were served with breakfast and had some puris with aaloo (really tasty!!).

    Hemant, one of the core co-ordinators of the event, took us to the famous Octogon computer centre. Hmmm... all have TFT screens with good configuration. Shreyas and Nagappan downloaded some files for their presentation in to a thumb drive.

    I was feeling damn sleepy as didn't have sleep neither in train nor in guest house. Took photos of the event and finally after lunch and mono session, I started off with Beagle.

    I really don't know how time passed off, it was around 5:00 PM, Poornima buzzed me on stage about the time. Hmm... I started my presentation around 3:15PM.. Students showed a great deal of interest (patience???).

    Then, I started the hacking session on beagle by explaining a Filter code. Later, we decided to write a new filter, on stage. I showed them how easy it is to hack beagle by writing a filter for pascal programs. Voila!! the filter worked!!! and claps.... From the claps, I could imagine how much they had enjoyed the session. [can be otherwise too...;-)]

    Later around 7:15 PM we bid farewell to the students and boarded the train. I immediately went to sleep, hmmm.. had nice sleep and continued it even after reaching my home today morning. Woke up @ around 12:00 noon and reached office around 1:00 PM.

    Will post the pictures later this week!! Hmmm.. got to by a Digital camera...

    Thursday, February 03, 2005

    Health is Wealth!!

    Its true, "Health is Wealth". Yesterday was a horrible day, suffered from indigestion and hunger, two mutually exclusive health problems together jolted my entire immune system like Tsunami killer waves. Still feeling the after Tsunami (!?) effect in my body.

    Though, I managed to prepare a draft of test-strategy-plan for beagle filters, yesterday. ;-)

    Another annoying act from the mobile vendors, my mobile lost its outgoing facility as one of my cheques bounced back!! (Newton's Third law?), called up the customer care, got to pay a visit to their office to pay the bills... I hate it. X(

    Feeling a lot better than yesterday, hope it improves further.

    Read through the mails. Beagle has started getting lots of attention from users and so is bug count ;-).

    Tuesday, February 01, 2005

    Beagle talk on #nosip

    IRC, internet relay chat, as it is called is really effective. Atleast for me, one that is good at typing and lived mostly on IMs and other general chat rooms. ;-)

    Couple of weeks back we had our status meeting in IRC and today I briefed about beagle filters in #nosip. Though not a complete session, a step by step briefing about backends and filters and seems (?) to have helped the NOSIPians to understand the infrastructure of beagle.
    The log of the short session can be found here.

    Reader(s) comments are most welcome. My plans to write a Beagle Filter Developer's guide initiated me to do this brief session. Soon, will add the devel-guide to beagle wiki.

    Stay tuned for more beagle action!!

    A forethought became true

    This was my forethought which became true, recently, about my previous company ;-)

    After having sent my resignation mail to the CEO and others', I started writing a feedback mail about the company, which turned out to be a poem (heh?).

    Time has come for a farewell,
    to the one who i cared well.
    After She had her wedding bell,
    She exiled me to the hell.

    Stayed strong in all season - and
    now annotated as exiled person.
    Feather had no reason - but
    to digest the poison.

    She had a crown of feathers,
    I was one that never withers.
    Fault is not with her, rather
    the bell made this feather wither.

    Crown tried to hold it tight - but
    Bell managed to win the fight.
    Feather broke the behight - and
    prepared to reach aheight.

    Crown will lose its pride - if,
    Bell continues the ride.
    She will lose the Crown - if,
    Bell makes the feathers' down.

    Time has come for a farewell,
    to the one who i cared well.

    -- V. Varadhan.

    Hmm... "resignation poem" would be very near ;-)

    Thursday, January 27, 2005

    Humpty Dumpty had a great fall

    WOW!! Its been the best day so far in 2005. My Ex-manager/dearest friend resigned from my ex-company and joined the de-facto company that everyone knows about it. Its an ecstatic word that reminds me off about that company. With that, just Two of my ex-team mates left in that company. Hmm... got to do something for them. ;)

    Ex-company was not that bad, but, just like an ice-berg brought an end to the great Titanic, the really-bad-attitude of a person in a responsible position brought a great fall to it.

    Our Ex-team was one of the greatest team one could ever find in any company. Hmm... thats a history now.


    My SMPS's fuse got burst yesterday due to a bad-power-fluctuation. Damn!! SMPS manufacturers should think of producing a "pluggable" fuses...

    In the Beagle world, got my XChat irc log indexing working. Writing a more generic-infrastructure-for-irc-logs that can be extended for any IRC clients.

    Tuesday, January 25, 2005

    Unfinished business with M$ ADS continues

    Week started off with a great shock as two, Ramasubbu and Santhosh have decided to leave. With that, I have got a new assignment to take forward the Microsoft ADS/Novell eDirectory integration in NLD.

    Hmm... Happiness never long last, somewhere around Nov'2000, I spent some good amount of time in setting up ADS in Windows 2000 Advanced Server, damn.. that was such a great pain in ass to just configure it to use it in Windows 2000 clients. I was much relieved when they dropped that feature in that release of their Document Management System. Hope!! they (Redmond guys) would have improved it not to pain that much now. ;-)

    Though this new toy has come to my bag, Beagle is my all time favourite. Just got a basic prototype of XChat backend working. Shall post a screenshot in a day or two.

    Personal life is so far so good. Looking forward for a good broadband connection from BSNL and a laptop from office ;-)

    Tuesday, January 11, 2005

    Dentist wanted

    After having planned a lot, myself and sanjiv managed to make it upto Mysore, a nice tourist spot. We first finished our lunch and started our exploration. We didn't take any packaged tour, so, we travelled in tonga's to reach short distances.

    First one we went for was Mysore zoo. Its a big zoo that I have ever seen, so far. We took quite a lot of pictures with my Canon EOS 55 camera. This is the shot which I waited for long to take. WOW!! it is great, ain't it?

    Monday, January 10, 2005

    2004 - Goods and Bads

    Should have written this a week back.. hrm.. I should work upon my lazyness!! Hope 2005 will show some improvement on that side ;)

    2004 has been another wonderful year for me with lots of goods and few bads!!

    Goods are appreciations from GE guys, opensource job @ novell, a fulltime BEAGLE hacker, bought a plot on the outskirts of bangalore and many more on my family side.

    Bads are left CDC/my team in CDC, few skin problems and difference of opinion with one of my best friends, hope 2005 will resolve it!!

    To celebrate the end of 2004 and beginning of 2005, myself and my team-mates have planned for a short-vacation trip to andaman but we didn't 'coz of unavailability of ships during 24thDec - 26thDec. It turned out to be good for us for not making it, however, it has become the worst for 2004. :'(