Apr 13

This is very impressive. With Vimpress, you can publish/edit WordPress blog posts from within Vim, like I am doing now. It works great too. This brings together my favorite editor and my favorite blogging platform… Its been around for a while, I only found out today!

UPDATE:

I did find that the plugin does not play well in Vim compiled with python disabled. Vim throws a lot of errors when loading the vimpress plugin (blog.vim file). Adding the following lines before the command! lines in blog.vim addresses this:

if !has("python")
  finish
endif

Cheers!

Apr 09

Is it just me? Or others are getting too many Oops! messages from Google websites lately?

I got this one from the Gmail

Gmail Oops! - Click for full size

Gmail Oops! message after archiving a message

And this one from Google Calendar

Google Calendar Oops! - Click for full size

Google Calendar Oops! message after creating a new event

… more than a few times today. Almost a 5-10 times everyday in the last few days, combined on all Google sites I use.

Feb 26

I was running Ubuntu Linux 7.10 (Gutsy Gibbon) on my desktop which had an ATI graphics card. There were a lot of driver related issues (fglrx driver). I tried different versions of the driver, even upgraded to the alpha version of Hardy Heron, to gain access to the new kernel. The issues persisted. Succumbing to the driver blues, I replaced the ATI card with an Nvidia card. I am so much happier now.

However, I have this:

Glowy shadows

Notice the glow instead of shadow

What should be window shadows are somehow a glowy halo!

It is good to know I am not the only one. There’s a bug on CompizFusion (OpenCompositing) website that tracks this issue.

There seems to be a general consensus that this is indeed related to the Nvidia Linux drivers.

Here’s what is known so far. Folks dealing with glowy shadows have following in common:

  • Some flavor of Linux (Ubuntu, ArchLinux, …)
  • Nvidia graphics card (Mostly the 8-series)
  • Latest Nvidia driver (nvidia-glx-new version 169.09 in my case)
  • CompizFusion with Window Decoration plugin
  • Either Emerald or Gnome window decorator

If you are dealing with similar issue, and think can add useful bit of information to the discussion, drop a comment. Better yet, update the bug on CompizFusion (OpenCompositing).

While we are at it, is there a way of tracking bugs submitted to Nvidia (via Linux Display Driver - x86 Version: 169.09">nvidia-bug-report.sh)?

Nov 07

Looks like I am growing out of the initial disappointment with Gmail IMAP. Although the mapping of labels to folders is still uncomfortable, thanks to some useful tips floating around on the web, I have been able to configure my clients much better now.

I did not have a lot of trouble with Thunderbird to begin with. I use the nightly build on Linux, it works fine with Gmail IMAP. After mapping Trash, Drafts, Sent and Spam folders to those on [Gmail], things work great. The only flaw I see is that even after mapping Thunderbird’s Trash folder to [Gmail]/Trash, Thunderbird’s Trash folder stays put. This causes the unwelcome [Imap]/Trash label on the web interface.

Two Trash folders on Thunderbird on Ubuntu Gutsy

Two Trash folders on
Thunderbird on Ubuntu Gutsy

On the Mac, I had expressed my doubts on how Mail.app would handle multiple IMAP accounts. This was because when I configured one Gmail IMAP account, Gmail folders were created at the top level. I was worried that more than one accounts would step on each other’s folders. Thankfully, Mail.app handles multiple accounts just fine. Mapping Mail.app’s Trash, Drafts, Sent and Spam folders to Gmail’s is easy. Select [Gmail]/Trash, for example, and use Mailbox -> Use This Mailbox For -> Trash from the menu-bar. Repeat that for other special folders.

So, there are some rough edges as far as the clients’ implementation of IMAP goes, Gmail labels are rendered pretty much useless - but all the clients are in sync! Not bad at all…

Oct 24

I noticed today that Google has started rolling out support for IMAP on Gmail accounts. This is something I was waiting for since a long time. Gmail’s POP access is too inadequate when it came to accessing Gmail from multiple desktop email clients.

I was lucky enough to have one of my accounts enabled for IMAP. First thing I did was start playing around with it.

My first impression - I hope I grow out if it - is that Google’s mapping of Gmail features to IMAP features is very disappointing. It’s workable, but may be I was expecting something smarter from folks at Google. After using Gmail IMAP for a few hours, I’ve started to think that the POP option suits me better for access with desktop email clients (whooda thunk!). Web Gmail is still my favorite flavor - but it does not make messages available for off-line use (Say what? Gears?).

So what is it that I don’t like about the new IMAP access?

  • I like the concepts of labels or tags when it comes to organizing files, email messages, things - as against folders. Tags are much easier to search, manage. If a message belongs in two different categories, you can add two (or more) tags. You don’t have to waste time deciding which folder to file it in. Labels and Folders are two completely orthogonal concepts - they can coexist, but they cannot be mapped. I was hoping that Google kept them that way. As it turns out, Google has tried to map Labels to folders. As one would expect, this causes multiple copies of messages on the desktop.
  • It may be just my lack of knowledge about IMAP, but I had thought that information about labels, stars etc. would be carried in custom message headers, so that desktop applications can use the labels as they are on Gmail web. There would just be one big All Mail folder
  • From what I have read though, there are a lot of Gmail users who hate (or don’t understand) labels and dearly miss the concept of folders. Rejoice suckers!
  • I configured Thunderbird 3.0 (pre-release) and Apple Mail to use IMAP access to Gmail. Things look pretty OK on Thunderbird. Notice this, all Gmail folders are created under an account tree (account name obscured).
    Gmail IMAP folders on Thunderbird on Ubuntu Gutsy
    Gmail IMAP folders on
    Thunderbird on Ubuntu Gutsy

    On Apple Mail though, Gmail folders are created at the top level.

    Gmail IMAP folders on Apple Mail
    Gmail IMAP folders on Apple Mail

    If one wants to configure multiple Gmail accounts, I can see it work in Thunderbird with the [Gmail] folders under each account tree. On Apple Mail will the [Gmail] for different accounts stomp on each other? I am not even going to try that before I hear from someone else who has done that without problems.

  • This label-folder mapping also causes funky things to happen to Web Gmail when you move messages on the desktop client. Not something I found very impressive.

So there… Like I said, I hope this changes, but for now, I am not a big fan of Gmail IMAP.

Sep 25

Just finished updating this blog to WordPress 2.3. I moved from using categories to using tags - since I was using categories more like tags.

I love the iTheme theme. I haven’t heard if it has been updated to be used with WordPress 2.3. My version of iTheme that worked with 2.2.* worked as-is with 2.3. I did make some small changes to use tags instead of categories.

Things seem to be working at this moment. If you find something missing/wrong, drop a comment.

Sep 21

Home page of this website (http://www.mahesha.com/) used to be a WordPress blog, called i think so…. I found that I was seldom updating it. Whenever I did, it was mostly technology related - something I could very easily include in this blog.

So, I am retiring i think so…. In its place, the home page of this website will just be a launch pad for the rest of the stuff here.

I’ve kept a frozen copy of the blog, just in case…

Sep 05

I use Google Reader a lot. On one of my computers, I use a theme that works really good.

Sometime between last night and this morning, the theme suddenly broke. When I reloaded the page, the entire look of Reader had changed. I removed the theme to checkout the new design. It was pretty neat actually. There was a hide arrow for the left side bar. A Google Groups -like My Subscriptions drop-down.

But now I see, the Reader look is restored! It’s back to normal! Was I dreaming? Or somehow the new design got live by mistake… we’ll see.

By the way, its a great time to have a lot of spare cash … why? why??

Although I’d much rather wait for a 30/60GB iPod Touch …

Update(9/6/2007): Looks like the new Reader look is live now!

Jul 30

Google, which started as just a search engine, has so many tools and services now. Lot of them are useful in everyday life.

Tool Integration related

It is nice to see how these tools/services work with each other so well:

… to mention a few. But there are still quite a few that would be nice to have. Following is a kind of a wish list of some ways Google tools could work together and enhance the user experience - from my perspective:

Google maps still seems like a standalone tool. On its own, it is probably the best online maps website. Some of the new features are really useful. My Maps, re-routing directions, the newly added third party content etc. But Google Maps doesn’t seem to integrate well with rest of the Google tools.

  • It would be nice to be able to pick locations in My Maps as venues in Calendar, for instance
  • How about a My Maps collection of all the Gmail contacts
  • My Maps collection for geo-tagged albums in Picasa Web Albums

Google Calendar is well integrated with Gmail. But it would be nice to have a Google Docs and Spreadsheets document/spreadsheet attached to an appointment. For instance, if the appointment is a party, a spreadsheet of party supplies to be bought, party activities planned, etc.

Other

IMAP access to Gmail must be on the top of many Gmail users’ wish lists. I am hoping that the Gmail team is secretly working on this! If and when IMAP is supported, I’d like to see tags in the header of messages - that can be added and read by the desktop mail application. The current POP access available with Gmail is only good if Gmail is accessed from just one desktop. And the tags, the feature of Gmail that I love the most, is totally useless with POP access.

Google Calendar plugin for iCal is something that I had expected to be out after Mac Team was formed at Google. But hasn’t happened so far. There are other solutions that provide the functionality, but something coming from Google would be nice to have (like the Picasa Web Albums plugin for iPhoto.)

I am sure there is going to be a sequel to this post some time soon, with more wishes. When that happens, I’ll love to see some of the above wishes already granted!

Jul 05

Recently I was investigating why the performance of one of my AJAX experiment is so bad.

This page uses a Perl CGI script to query a handful of deals sites for syndication of their deals and puts them together in one big RSS. Then the Javascript part displays the big collection of deals as a list. The list can be then narrowed down based on keywords as they are typed.

Since the big RSS usually contains more than 300 entries, the Javascript that was converting the entries into list items in an unordered list, was taking upto 10-15 seconds to render. This was not very pleasant.

Here’s how that part of the code looked:

  for ( it = 0; it < items.length; it++) {
    var item = items[it];
    var it_title = item.getElementsByTagName('title').item(0).firstChild.data;
    var it_link  = item.getElementsByTagName('link').item(0).firstChild.data;

    this.port.innerHTML += "<li class=" + it_li_class + "><a href=\\""
                           + it_link + "\\" target=\\"feedr_win\\">"
                           + it_title + "</a>";
  }

After a few experiments, I found that the assignment to this.port.innerHTML was the one that was most expensive. I modified the code to read:

  var html_str = "";

  for ( it = 0; it < items.length; it++) {
    var item = items[it];
    var it_title = item.getElementsByTagName('title').item(0).firstChild.data;
    var it_link  = item.getElementsByTagName('link').item(0).firstChild.data;

    html_str += "<li class=" + it_li_class + "><a href=\\""
             + it_link + "\\" target=\\"feedr_win\\">"
             + it_title + "</a>";
  }

  this.port.innerHTML = html_str;

That cut the time to less than a second. More than a 10x-15x performance improvement.

Next time I write something directly into innerHTML from Javascript in a loop, I am going to try and see if I can collect the text first and then write it into innerHTML.