Johnny [Life & Code]

Semper Exploro!

Archive for the ‘Work’ Category

Mechanical Keyboard : Ducky One 2 Mini Horizon

leave a comment »

I’ve been using Microsoft Ergo 4000 keyboard for the last 10 years. They tend to last for about 6 years. Since my current MS Ergo is stuck in office, I checked with friends who are generally on top of the trends of these basic necessities 🙂 . I was told that its about time to pick up a mechanical keyboard. And I ended up with a Ducky One 2 Mini 60% keyboard.

The transition to the ducky was seamless. The layout felt at home . The Fn layer has all keys that was chopped off to accomplish the 60%. Ideally I would have loved to get a Keychron K6 as I miss these features :

  1. Wireless
  2. Multi device support
  3. Option of hot swap-able switches

If the above list is not scary for you , then the Ducky Mini is a good choice. I enjoy the satisfying keystroke of the Cherry Red Mx switch, the compact layout and the possibilities of using macros.

I picked it up from (India)

Written by Johnny

August 31, 2020 at 5:17 pm

Posted in CODE, Thoughts, Work

End of a book : Johnny in Novell

with 13 comments

Last day in Novell.

Started out as an intern in the GNOME team about 5 years back. Jumped between Evolution and iFolder a few times for different (voluntary/involuntary) reasons. Met a lot of good engineers. Had both good / bad times. Learned a lot work / non-work.


I loved working on Evolution, Evolution MAPI (may not be perfect, but had a awesome time with it And i’m yet to cash in on the few beers i’ve been offered), Attachment Reminder (Trivial, but looks like you guys liked/hated/loved it), Redesign of Evolution search bar and so on. Best bug that I’ve worked on so far was changing a ‘1’ to ‘-1’ in EText (Oh those early days! Had no clue what GDB can do.. Used hundreds of ‘printf’s, lots of coffee and tested the patience of office night guards and that adrenalin rush!). Thanks to Novell for the opportunity to contribute full-time and getting paid for that.

Special thanks to my mentor Srini. I’m looking forward for more new awesome fun things in GNOME.


I’ll miss the 1-1 coffee breaks talking games/gadgets/music, discussions on research papers that I don’t have a clue about, conversations during ‘tea breaks’ outside office (you would see me very inspired/productive after those sessions), thursday nights 😉 & nice friends that I found beyond ‘work’.

The End.

Written by Johnny

March 4, 2011 at 12:00 pm

Push Email for GNOME Evolution’s Exchange MAPI provider (exchange 2007)

with 13 comments


After few days of crazy bug hunting (and creating the same) , we have a nice push event notification framework for Evolution-MAPI. When Evolution is running all the changes happening in user’s mailbox in server would immediately be synced. This avoids those long fetches from server.  A short screen cast (watch in HD) :
Currently I’ve got “new mail” event handled and is limited to mailer. Would be working on other events. This feature has some major issues to be solved before it can land in master.
It is FUN !


Written by Johnny

November 24, 2009 at 7:28 pm

Evolution MAPI : Debut tarball release & RPM Repos are online

with 16 comments

Written by Johnny

December 15, 2008 at 1:08 pm

Posted in CODE, Evolution, GNOME, suse, Tech, Work

Tagged with

Evolution MAPI : Contributions… Testing… Bugzilla …

with 2 comments

Development is more active after our move to new svn ! Julien (of has patched evolution-mapi to be compatible with libmapi 0.8 .Patches are welcome 🙂 !

Some of the cool things with libmapi 0.8 is the possibility of having multiple exchange accounts (multiple sessions) in Evolution (Yep. you read that right! ). But they will hit the trunk little later .

Now more focus is on real world testing on servers other than few test servers we are running. What doesn’t work in different setups is something we would like to know and fix them all ! Thanks to those who have been reporting issues and TIA 🙂


+ evolution-mapi is proposed for GNOME 2.26. Yay !

+ we have a new product ‘evolution-mapi’ in GNOME bugzilla.

+ Wiki page is updated with information on building evolution-mapi .

Written by Johnny

November 24, 2008 at 10:03 am

Posted in CODE, Evolution, GNOME, suse, Tech, Thoughts, Work

Tagged with

Evolution MAPI : New SVN Repository

with 6 comments

New SVN repo for evolution-mapi provider is created :

** svn:// **

This repo has :
1. MAPI Account setup e-plugin.
2. libexchangemapi – Backend code for talking to server using openchange’s libmapi.
3. Evolution Data Server backends for addressbook and calendar.
4. Camel provider (mails).

More information on building evolution-mapi is available here .

We will be creating a new bugzilla component in for evolution-mapi.

[ Update Nov 22 : Please report bugs under ‘evolution-mapi’ product in GNOME Bugzilla. ]

The EXCHANGE_MAPI_BRANCH[1][2] is closed.

Builds (RPMs) will resume shortly.

[1] svn://

[2] svn://

Written by Johnny

November 19, 2008 at 6:16 am

Posted in CODE, Evolution, GNOME, Tech, Work

Tagged with

Evolution Exchange 2007 (MAPI) Provider : Changes in schedule and more.

with 2 comments

Code :

We have moved away from libmapi 0.7 to libmapi trunk (0.8 development) , so we can take advantage of the new APIs.

We will be constantly updating our code base to libmapi trunk.

Currently :

Suman is busy in integrating meetings into evolution. (few more tasks left)

I’m currently working on finishing (completing) off the basic features in mailer and will move to optimizing the sync & more.

Schedules :

Sadly, we won’t be able to make it to Evolution 2.24 as we are late (details here). 😦 Meanwhile we will continue to provide pluggable packages and this will be available as a pluggable provider. 2.26 will have this.

Licensing :

Yay ! Very exciting day. Evolution licence change was announced by Michael Meeks in my talk this morning (Exchange, MAPI and Evolution) . Announce mail here!! .

Update 1 : GUADEC Talk available here

Written by Johnny

July 11, 2008 at 11:47 am

Got my openSUSE 11 boxed edition !

with 8 comments

😀 . yay!

Cool !!

Written by Johnny

June 25, 2008 at 1:16 pm

Evolution MAPI Provider preview builds

with 30 comments

Back from holidays.

Therez a lot of interest in Evolution’s MS Exchange 2007 connectivity. Worked on some preview builds for evolution-mapi-provider. This will be a standalone plugin RPM. These are temporary and will be discontinued once the code is merged in trunk.

Builds are available at

evolution-mapi-provider is a work in-progress and lot of basic features are not available and *highly unstable*. It is expected to get into trunk for the next release ( Evolution 2.24 ).

Update (Dec 15 2008) : Please check recent posts for updates on this. Repository is moved to

Update (Jan 31 18:00) : Julien will be talking about OpenChange‘s libmapi in SolutionsLinux 2008. Evolution plugin is in there too!

Update (Jan 21 18:15) : Fedora 8 builds are available now

Update ( Aug 11 10:42) : Updated Repo URLs

Links : Announce Mail | Wiki Page |

In the NEWS : Srini on Planet GNOME | Jelmer’s Blog

Written by Johnny

January 20, 2008 at 7:41 am

Posted in CODE, Evolution, GNOME, Work

openSuSE 10.3 Boxes.

with 2 comments

Soon after the release of openSuSE 10.3 , Contributors recieved Boxed versions of 10.3. (I recieved it few weeks back) . Feels Good !!

openSuSE 10.3 Box

Written by Johnny

November 7, 2007 at 8:55 am

Posted in CODE, Inspired, LIFE, Linux Fun, Work

evolution-sharp 0.15 release & TODOs

with one comment

Last week I worked along with Varadhan for evolution-sharp 0.15 (tarball) development release for Evolution-Data-Server 2.21.1.

TODOs for evolution#:

1) Support recursion for calendars/tasks/memos (From Varadhan)
2) Provide mailer interface (Camel#)

Written by Johnny

November 3, 2007 at 9:37 pm

Posted in CODE, Evolution, GNOME, Work

GIT – The `cool thing` in a developer’s toolbox

with 2 comments

I wish i had known GIT a few months back. It would have saved me form a lot of trouble (loosing half done work ..). Well this post is _not_ a (yet another) GIT tutorial.

Some of the workflows i like (and use) is something like this :

Interrupted workflow (taken from git-reset man page)
Suppose you are interrupted by an urgent fix request while you are in the middle of a large change. The files in your working tree are not in any shape to be committed yet, but you need to get to the other branch for a quick bugfix.
$ git checkout feature ;# you were working in "feature" branch and
$ work work work       ;# got interrupted
$ git commit -a -m 'snapshot WIP'                 (1)
$ git checkout master
$ fix fix fix
$ git commit ;# commit with real log
$ git checkout feature
$ git reset --soft HEAD^ ;# go back to WIP state  (2)
$ git reset                                       (3)

Isn’t that wonderful ! I was trying out svn + quilt. But very hard to manage.

Some resources :

My GIT Ref Card :

# Initialize a repo (like git init):
git-svn init
# Fetch remote revisions:
git-svn fetch
# Create your own branch to hack on:
git checkout -b my-branch remotes/git-svn
# Merging in master.
git merge --squash foo-branch-name
# Do some work, and then commit your new changes to SVN, as well as
# automatically updating your working HEAD:
git-svn dcommit
# Something is committed to SVN, rebase the latest into your branch:
git-svn fetch && git rebase remotes/git-svn

GIT is fast (super fast) ! and git-svn helps you if you are _stuck_ with svn !

Now GIT has moved out of my ‘staging area’ to everyday use. Yay!! I use it for GNOME/Evolution (and GNOME just moved to SVN a few months back 😉 )

Written by Johnny

October 30, 2007 at 8:40 pm