Tuesday, September 2, 2008

A quick look at Google Chrome browser

Today morning I downloaded the chrome browser for windows and gave it a quick spin. Since I run linux, I had to try it in a virtual machine - VirtualBox running Windows XP.

It was a small download in two parts: First the installer, which then downloads the actual application. Installation was smooth and fast. I was up and running in 5 mins.

The very first impression on looks - Wow!. very sleek, clean, and simple. Minimum space taken for the frame and other non-viewing areas. I really liked it. +1 for the looks.

Next I tried the address bar to see if it was as good as firefox's "awesome bar".
Nop, not that good. I tried training it for gmail, which I use a lot. In firefox, aftergoing to gmail about 2,3 times, it 'learns' the page, and next time when I start typing 'gmail', the first entry in the dropdown is the gmail url. But in chrome, it's always the third entry. The first entry is always 'search for gmail'. Takes more key presses for me to select the url. Not very smart. -1 for the address bar.



Next I tried facebook, to test the 'super fast' V8 javascript engine. Chrome claims it to be very advanced, very fast and very responsive.
So I went to facebook, and tried to view an image. Chrome just froze for about 4 seconds taking 99% CPU!!.
However Chrome was specially designed to handle this kind of scenarios where a page misbehaves, and has a built-in 'Task Manager' where we can see which page is misbahaving and kill it. So I tried it. Alas! It wasn't a specific page but 'chrome' itself that was misbehaving and taking 99% CPU; and it couldn't be killed from chromes task manager. Chrome simply failed at one of it's primary goals!. Anyway what was chrome doing taking 99 CPU? maybe it was doing some advanced calculus to figure out the most optimum path to be 'super responsive'!. -9 for overall performance.
(maybe this had something to do with me running it in a VM; but I don't see how)



Next, the 'Most Visited Pages' available on a new tab. Very much like Opera's speed dial. Not a feature I really liked, but it was ok. However it had this glitch where it would show me gmail twice; Not very smart.

I'll wait for the linux version of chrome, and try it out. I really hope google irons out the theses wrinckles before they do.

Saturday, July 12, 2008

Trying OpenSolaris 2008.05

I needed to do some performance analysis on some applications for my MSc project. So I wanted to try the latest SunStudio12 with D-Trace. I downloaded the OpenSolaris 2008.05 image, burned on disk and tried to install on my Athlon64 3000+.

Unfortunately I couldn't even get to the first screen of the installation. OpenSolaris just failed on me giving some weired errors. After doing a lot of googling, I figured that OpenSolaris just couldn't work on my SATA drive!
I have installed XP, Vista, Fedora, and Ubuntu on this machine without any hickups and OpenSolaris was the first modern OS to fail on it!.

Next I tried to install it on my laptop but alas! it couldn't recognize logical partitions on an extended partition. So much for OpenSolaris.

I have to get this done somehow, so my next attempt will be to borrow an old IDE disk from a friend and try again. I'm sure there'll still be 101 problems before I actually see the first performance graph on SunStudio.

Sunday, July 6, 2008

getting ADSL USB modem working on Ubuntu Linux

Here are the steps I took to get my ADSL USB modem to work on Ubuntu.

Details:
Country = Sri Lanka (ISP = SLT; uses PPPoE)
Modem = Aztech ADSL USB Modem (DSL206U) (chipset = ADI Eagle II)
OS = Ubuntu Linux 8.04 (Hardy)

Steps:
* first have a terminal open and tail the syslog. (to see whats going on)
$ tail -f /var/log/syslog

* using synaptic package manager install br2684ctl (required since my ISP uses PPPoE)
(search for br2684)

* find and download the firmware for the modem chipset (Eagle-II in my case)
--- deprecated; use the .deb below instead ---
(firmware => ueagle-data-1.1.tar.gz)
(http://eagle-usb.org/ueagle-atm/non-free/ueagle-data-1.1.tar.gz)
* install firmware:
$ tar -xvzf ueagle-data-1.1.tar.gz
$ sudo mkdir /lib/firmware/ueagle-atm
$ cd ueagle-data-1.1/
$ sudo cp -a * /lib/firmware/ueagle-atm
--- update(17-Nov-08) ---:
Now there's a .deb which can be directly installed.
http://eagle-usb.org/ueagle-atm/non-free/ueagle-data_1.1-2_all.deb

* plug-in the modem; check if the firmware loads (in the syslog tail output).

* edit the connection file:
$ sudo gedit /etc/ppp/peers/ueagle-atm
type in the following:
user "myusername"
password "mypassword"
plugin rp-pppoe.so
nas0
noipdefault
usepeerdns
defaultroute
persist
noauth

* edit chap:
$ sudo gedit /etc/ppp/chap-secrets
add this line:
myusername * mypassword *

* edit pap:
$ sudo gedit /etc/ppp/pap-secrets
add this line (same as for chap):
myusername * mypassword *

* now create dial script to dial the modem.
$ gedit dialSLT
type in the following:
#!/bin/bash
sudo modprobe ppp_generic
sudo modprobe pppoatm
sudo modprobe br2684
sudo br2684ctl -b -c 0 -a 8.35
sleep 3
sudo ifconfig nas0 192.168.0.1 netmask 255.255.255.0 up
sleep 5
sudo pon ueagle-atm

* set exec permisions for the dial script and we're done!
$ chmod u+x dialSLT

* now to dial the modem just type:
$ ./dialSLT

// -----------------------------------------
important:
* in case the connection drops, do the following before redialing:
$ sudo poff ueagle-atm
$ sudo ifconfig nas0 down
$ sudo killall br2684ctl

Saturday, May 3, 2008

Startup delays in today's software

I have been using computers since the days of the 8086 machines, and have seen computer hardware grow in power and software applications grow in features and productivity.

Seeing all that growth, I have come to believe that any modern day computer should be able to startup, boot and be ready for use within a second or two. Unfortunately it's not the case.

My dual core laptop with 1GB memory can be considered a decently powerful machine. Nevertheless it takes a painful 40 seconds (even after optimizations) to startup and be ready. When I want to check mail and fireup MS Outlook 2007 (which I have to use due to company policy), it takes a good 10 - 20 seconds before it finishes crunching the disk and is ready to use. Also during this time I pretty much can't do anything else due to the disk activity. If I need to type in a new document and fireup MS Word 2007, it takes around 5 - 10 seconds before I can start typing. If I need to jot down something quickly and fireup MS OneNote, it takes around 4 seconds before I can type it in.

The problems are not all about MS applications. Linux startup is just as bad as Windows; OpenOffice 2.0 startup takes even longer than MS Office; Thunderbird startup is no breeze and Firefox (3 beta 5) takes a good 4 - 8 seconds to startup (I admit I have a couple of add-ons installed though).

Here's my point: Even with powerful hardware and decades of software development, we still don't have software that simply starts up and runs as quickly as we need them to be.

The contra-argument here is that features come at a price, and a more feature rich application would take longer to start. I strongly disagree.
However feature rich an application is, all those features will never be used at once. In fact some features may never be used by some users. Hence it's a waste to load all those features during the startup of a program (creating delays and disk crunches).

In my opinion there's not enough emphasis on startup time in today's software, and here are my suggestions for improvement:

1. The software industry needs to consider startup time and startup cost as critical quality metrics and pay more attention to it (specially in general productivity applications).

2. Software design patterns for general on-demand feature loading should be established and popularized.
- This can be simple on-demand feature loading or delayed feature loading based on idle computer resources. (eg: Diskeeper's InvisiTasking).

3. Better support from the operating system for faster application startup.