Monday, May 10, 2010

Alax/Javascript bugs are everywhere

Recently, I am working with teams doing tons of "usability" focused coding, which requires massive use of Javascript and Ajax. Besides the security problems, which are enormous (see this tutorial from Google about it: http://jarlsberg.appspot.com/), you have to deal with the unpredictable common-sense of the end-user, which is IMO, never as easy as it could be.

So, whenever I think about the bugs and problems we face all day because of it, I look back to giants and see that, even with all the power in their hands, still simple problems such as below keep showing up...

 
My gmail (yes, Gmail) account displaying zero messages (I just deleted the spam) but with some calculation errors (probably just a variable that was not updated in time)... But this bug caused my click to the "Older >" to get interestingly going forward on zero messages...

"To err is human, to forgive divine." -- Alexander Pope

Thursday, May 6, 2010

Ubuntu Lucid Lynx - First impressions

Just to share some of the stones I came up with since I started using the recently released Ubuntu Lucid Lynx (10.04).

I always keep my stuff easy to move so that I can follow up the updates of Ubuntu (twice a year is pretty hard), and take the opportunity to clean up my machine for trashes I don't need anymore, by simply reformatting it entirely... neat!

Anyway, as every time, I come across some problems, of course all of them workable in some way, well, at least most of them. So I will document here in this post the "customizations" from default installation I needed to do in order to run the machine just the way I wanted.


1) Input Method Editor (iBus)

 Since version 9, the big change from SCIM to iBus hit me hard, as I was so used to it before, and used a lot (need to write in Japanese and sometimes Chinese). My mother language (Portuguese) is solved by switching keyboard layouts (gosh, that took me a while to figure out, since Windows handles this all within the IME itself).

As I reported on Ubuntu Forums here, I had some more stuff to do to get it done right:

  1. Turn on iBus (from System > Preferences > iBus Preferences)
  2. Follow the instructions in the warning message (to edit the ~/.bashrc file)
  3. Force it to start automatically when the machine boots up (from System > Preferences Startup Applications)
  4. Add the languages you want to use
  5. Last, but not the least, install the language packages corresponding to the languages you added in (4).
For the last step, as you can read in the Ubuntu Forum here, you can do it all from user interface without touching a terminal... but I guess I am just getting to used to it by now (lol).

And that did the trick for me to be able to write Asian languages on Lucid:


2) Python2.5 - for Google App Engine development

I am a GAE enthusiast, and for that I always leave my machine ready to run its SDK, which requires python2.5 version, up to this moment. Unfortunately, the packages are not available anymore on Lucid.

I had some discussions on Ubuntu Forum here, but in the end, I just preferred to compile it from the source, which was fairly simple, besides the fact that it overwrote my python default (that you don't want to do, believe me). The workaround for that is to simply remove the /usr/local/bin/python file which is read first from the $PATH list. 



3) VirtualBox - Access to USB

Well, one of the big reasons I ever needed USB support on a virtual machine was because of my iPhone. This problem seems to be over with Lucid, that has plenty of support on it, with Rhythmbox. Until I noticed that, I did what I was already used to, and tried to get access on a USB port from a virtual machine, with no luck.

It turns out that the new Ubuntu has deprecated some of the mounting formats that were used by the VirtualBox to recognize the USB devices. Fortunately, the application is still installed by default, you just have to run it so that VirtualBox can gain access to the USB devices: HAL (hardware abstraction layer), by running: sudo hald --daemon=no command on a terminal (leave it running while accessing your virtual machine), and voila.

I got this from this discussion on VirtualBox Forum.


4) Screenshots - Shutter edit interface

This is one of the applications I simply can't live without. Getting screenshots from your desktop is so common action, specially if you like to document/report  well what you are doing, that being work or pleasure. You know, "an image is worth a thousand words".

Besides the fact that it is still not yet in the main repository (unfortunately), and because of that you need to either download it manually or add the repo sources in your machine, one of the features I also care the most on this application is the edit option, that allows you to do some basic image editing, such as cropping or adding additional images or shapes to it, without the pain of loading GIMP all the time (don't get me wrong here GIMP is powerful tool and I use it a lot too, but it give me the nerves to open it for a simple crop command).

Another problem with a simple solution: Lucid does not come with the package "libgoo-canvas-perl", so you need to install it by hand. I found about this on Shutter Bug #539527.


Others

Of course, as usual, lots of small changes, enough to break my installation script several times... no problem, 9.10 is already history, so I am preparing my 10.04 script, just in case I need to refresh my machine(s).

Some of them:

- Git: it is now on git-core package
- etc...


But some good improvements

One very good thing though, the external monitor handling issue (reported since 9.10 and not fixed by then) seems to be over (can't thank enough for that).

I refuse to write about the visual changes (window controls on left, blah blah.. I am tired of people talking about it), besides that I am totally in favor of it (in fact, since I used Mac4Lin for long, I was already used to have it like a Mac). One less thing for me to manually update from now on, lol....