Firefox 3.6 and VMware Server 2.0.x
Recently, after upgrading to Firefox 3.6, I was unable to connect to my VMware server’s web-access page. Every time I attempted to connect to this page I got the following error message:
The connection was reset The connection to the server was reset while the page was loading.
It turns out that this is due to the fact that VMware server uses SSL2 and Firefox disables SSL2 by default because it is not as secure as SSL3. Furthermore, there is no way to enable SSL2 via the standard preferences dialogs in Firefox. I found the answer here in a VMware forum. Here is the procedure to enable SSL2:
- Type “about:config” in the Firefox address bar.
- Press the “I’ll be careful, I promise!” button on the next screen that warns you that modifying any advanced settings may void your warranty.
- On the next screen, enter the following in the “Filter” form: “security.enable_ssl2″
- In the bottom section of the window, double-click on the row corresponding to “security.enable_ssl2″ preference. The “Value” column on this row should now read “true”.
- You are done. Try accessing your VMware server’s login page again.
Install Pylint 0.19.0 on Ubuntu 9.10 (Karmic Koala)
Ubuntu 9.10 (Karmic Koala) provides version 0.18 of Pylint by default. Unfortunately, this version of Pylint cannot be used to scan code that includes any module from PyQt4. The problem is described in this post and has been fixed in the latest version of Pylint (0.19.0). The next release of Ubuntu (10.04 Lucid Lynx) will include Pylint 0.19.x but I have not found any backport of this package to Ubuntu 9.10. However, it is pretty easy to install it in your local home directory using the script listed below:
#! /bin/bash
#
# Do all our work in a temporary directory.
#
ORIGDIR=$PWD
TMPDIR=`/bin/mktemp -d`
if [ ! -d "$TMPDIR" ]
then
exit 0
fi
cd $TMPDIR || exit 0
#
# Get the three packages that are needed to install PyLint locally.
#
wget http://ftp.logilab.org/pub/pylint/pylint-0.19.0.tar.gz || exit 0
wget http://ftp.logilab.org/pub/astng/logilab-astng-0.19.3.tar.gz || exit 0
wget http://ftp.logilab.org/pub/common/logilab-common-0.48.0.tar.gz || exit 0
#
# Install each package individually in the user's local installation
# folder.
#
for i in *.tar.gz
do
PKGDIR=${i%.tar.gz}
tar xvf $i
(cd $PKGDIR && python setup.py install --user)
yes | /bin/rm -r $PKGDIR
/bin/rm $i
done
#
# Remove the temporary directory.
#
cd $ORIGDIR || exit 0
/bin/rm -r $TMPDIR
KDE 4.4.0 Rocks !!!
The KDE folks recently released KDE Software Compilation 4.4 to the public and it totally rocks. I have been using it for the past week and it is the best KDE release so far. The Plasma Desktop Workspace has finally reached a level of maturity and stability that makes it a real pleasure to use; not to mention that you feel a lot more efficient and productive while using the powerful features provided by this environment. The core applications have also been integrated into the Plasma workspace and work well together. The KDE developers are doing a great job improving KDE4 in every release. There are still several places where KDE4 needs improvement but it will surely happen over time. Meanwhile, I will continue using KDE as my primary desktop environment.
![]()
Python and Default Argument Values
I love Python as a programming language. For a sophisticated language it has very few gotchas and is mostly very intuitive. One confusing feature is that default argument values for functions or class methods are only evaluated once during the execution of a Python script. It is best to show this using an example:
>>> def my_function(arg1, arg2=[]):
... arg2.append(arg1)
... return arg2
...
>>> my_function(10)
[10]
>>> my_function(2)
[10, 2]
>>>
Note that during the second call to my_function() we get a list containing the argument from the previous call. This is not intuitive but is the expected behavior under Python. Python evaluates the default argument arg2 only once. On subsequent calls to the function it keeps using the previously evaluated default value even if it is modified. The lesson learned here is to never use mutable objects are default arguments to functions.. A better way to code the same function is:
>>> def my_function(arg1, arg2=None):
... if arg2 is None:
... arg2 = []
... arg2.append(arg1)
... return arg2
...
>>> my_function(10)
[10]
>>> my_function(2)
[2]
Much better.
Fedora: All Screwed Up
I have not used a Fedora distribution since Fedora 10 because I was dissatisfied with it (for some reason I can no longer recall) and switched to dpkg-based Ubuntu instead. Last week, I decided to check if Fedora 12 is any better. I was deeply disappointed due to several choices made by the Fedora developers and will be going back to Ubuntu soon. Here are some of the choices that I find disappointing:
- Fedora 12 (or maybe an earlier release) decided not to bundle OpenOffice.Org with the LiveCD. This means that if you install Fedora 12 from the LiveCD you do not get an “office ready” distribution like it used to be. Furthermore, OpenOffice.Org cannot be installed as a single package even afterwards. For example, I was hoping that the following command would install OpenOffice.Org: ‘yum install openoffice.org’. But this does not work. You either have to do: ‘yum install openoffice.org*’ (which installs all sorts of crap that most users do not need) or ‘yum -y install openoffice.org-writer openoffice.org-impress openoffice.org-base openoffice.org-calc openoffice.org-draw openoffice.org-math’ (which is definitely not convenient for new users).
- The installation of ‘compiz’ with Fedora 12 is totally broken and a lot of the compiz plugins are not installed by default (i.e. they are part of an ‘extras’ package). The default installation does not work correctly if one attempts to configure compiz using ccsm. Any settings that are modified via ccsm do not affect the running compiz. One has to install several other packages for ccsm and compiz to communicate. And even then they do not communicate perfectly. For example, it took me several attempts to get the shortcut ‘Ctrl-Alt-t’ to open a gnome-terminal to work. I enabled this shortcut via ccsm but it had no affect. I had to enable it in Gnome settings for it to work at first. Later, I found that for it to work correctly, I had to run this yum command: ‘yum install -y ccsm emerald-themes compizconfig-backend-gconf fusion-icon-gtk emerald compiz-fusion compiz-fusion-gnome libcompizconfig compiz-gnome compiz-bcop compiz compizconfig-python compiz-fusion-extras compiz-fusion-extras-gnome’. Even after that I still could not get ‘focus follows mouse’ behavior using ccsm. I had to install another package, ‘control-centre-extra’, to enable this behavior. This is totally messed up.
- The new package manager interface is aweful under Fedora. It is very slow and the interface is confusing. For example, once when I searched for a package, it automatically started downloading a list of packages. It took it several minutes to download this list over a slow connection (tethering over my phone) when I just wanted to get a quick list of available package. This is unacceptable. Furthermore, here is another confusing aspect of this interface. When I search for a package, it lists all the packages that match the search. Some of these packages are displayed with a checkmark next to them which I assume means that they are installed. Other packages have an unchecked checkbox next to them which I assume means that checking them will flag them for installation. So far so good. However, as soon as I mark one of the (unchecked) packages for installation, the checkmarks next to the previously installed packages disappear. What does this mean? For me it is an alarming signal as this might indicate that the previously installed package might get uninstalled (since it is now unchecked) due to some conflicts with the new packages I have chosen to install. This is confusing to say the least and there is no tooltip or textual description of what is going on. This really sucks and a new user is bound to be really confused by this.
Meet the GIMP
Lately, I have been watching this podcast about using GIMP for post processing digital photographs. The author, Rolf Steinort, records his computer screen as he demonstrates various GIMP-techniques and does an excellent job at narrating along the way. It helps that he is a teacher by profession. One of the reasons I like this podcast is that Rolf does not edit a lot of the mistakes he makes along the way. You feel like someone is demonstrating these techniques to you live with all the mishaps thrown in just like it may happen to you.
Of course, the techniques covered by this podcast are very informative and helpful for any amateur photographer.
Giving Window 7 a chance to be fair…
I am going use Windows 7 for the next two weeks as my primary operating system to give it a chance and to be fair. I will post my likes and dislikes in two weeks. Who knows, I might turn into a Microsoft fanboy in two weeks. Yeah. Fat chance.

