Apr 2005

Eclipse and Cytoscape

I finally got my favorite IDE Eclipse working with Cytoscape. Here are the steps I took:

  1. Create a new project using "Checkout Project from CVS", using the information at the bottom of the Cytoscape download page.Make sure you create a new Java project after checking out from CVS. Designate src as a source directory and use a name other than bin for the project output directory (there is already a bin directory in CVS).
  2. Add all the JARs in the lib directory of your new project. You should then have no compile errors.
  3. Create directories called fake_src, fake_src/cytoscape and fake_src/cytoscape/view.
  4. Symlink or copy the resources directory to fake_src/cytoscape.
  5. Symlink or copy the images directory to fake_src/cytoscape and to fake_src/cytoscape/view.
  6. Symlink or copy the help directory to fake_src/cytoscape
  7. Modify the build properties of your project and designate fake_src as a source directory.
  8. Create a "Java Application" run configuration that uses the cytoscape.CyMain as the main class.
  9. Run it!

The above steps essentially duplicate the actions in the run target of the ant build file, except for the compile and copying of resources/images/help files that Eclipse does for us automatically.

Ubuntu thoughts

After having used Ubuntu for a week (current uptime: 7 days, 9 hours), I understand why it is the most "popular" distribution on Distrowatch in recent months. The focus is on the user and on the home desktop, unlike larger distributions like RedHat which focus on enterprise servers and desktops. Debian's apt/synaptic combo is nicely packaged into an update manager that notifies you, much like up2date in RedHat.

On the other hand, I do not see much difference from Fedora. Most of the desktop related improvements are flowing upstream into Gnome, and some improvements such as Fedora's NetworkManager are missing. Fedora is better supported for Java development by jpackage; I can find no such Java package repository for Ubuntu. Multimedia and "non-free" packages are not included in either distribution (Gentoo beats both in sheer package coverage).Finally, I am heartened by the fact that much the same people who work on the enterprise-class RHEL also work on Fedora, and bring at least some of the associated QA mentality to their Fedora work.

For instance, since the release of Hoary, there has not been a single kernel update on Ubuntu. My experience on Fedora was quite different; my low uptimes were invariably due to new kernels with security fixes. Perhaps the current hiatus is due to Linus' SCM issues; otherwise, despite shipping a very recent (relatively unstable and untested from a security standpoint) kernel, Ubuntu is not keeping it up to date.

Back in the saddle again

Well, that did not last very long at all. After a few days of playing games and burning DVDs quite easily, I realized that not only was I spending too much time on those activities, but that I was feeling out of place when doing any development (especially Perl and R). So I am putting my Windows XP CD away (along with FIFA 2004, Halo, Far Cry and Nero). Next stop: Ubuntu!

Cytoscaping

I have been playing around with Cytoscape for a couple of hours now and it is quite an impressive tool. On my Athlon XP 2100+ with 1 GB RAM, it can render a network of ~3000 nodes and ~7000 interactions (edges) in 10-15 seconds. It also has a very extensible architecture through plugins, though there seem to be only a few available. One plugin that would be cool is to automatically annotate the current network with Gene Ontology (GO) terms.

WPA-PSK

Now that I am having no wireless issues, I decided to turn encryption on. Since WEP is easily broken (the FBI does it in three minutes), I decided to try out WPA-PSK. Now WPA is more secure than WEP, but the PSK mode is still hackable. Till we have a router-agnostic version of TinyPEAP, home users may be out in the cold when it comes to wireless security. So keep those firewalls up, and use SSH, VPN and SSL.

IE not part of OS

Dave Massey from Microsoft says that IE is not a part of the OS. I would agree, in the sense that it does not run as part of the OS kernel. However, the issue is that the HTML rendering component that IE provides is used by so many applications on Windows, including several provided by Microsoft. The tight coupling of the IE HTML control with so many applications is what makes IE a de facto part of the OS. If Microsoft were really serious about decoupling Windows from IE, they would provide a rendering component API that could be implemented by using Gecko or KHTML. Of course, Microsoft's dirty little secret is that IE helps to tie people to Windows, so they have no motivation to fix the situation.