Friday, June 30, 2006

Gentoo in a Box

I am always interested in trying out new operating systems or atleast the latest whiz-bang software on my computer. The problem is the latest whiz-bang software usually does bad things to my computer. A coworker mentioned that he uses VirtualPC and installs potentially bad things inside a VM.

I think this idea alot. It makes alot of sense. The first thing I tried it on was Visual Studio 2005. This turned out to be a bad idea. My computer only had 500MB of memory. Visual Studio 2005 requires rougly 4000GB of memory. So I was an order of magnitude short. I believe it only took 3 days for Visual Studio 2005 to start up for the first time after I installed it.

Recently I bought a new computer and the price of memory has come down enough so that I have enough memory on the computer to run a VM without it being a severe problem. I also found that VMWare is giving away free copies of thier beta software. So I thought I'd try and install Gentoo Linux in a VM.

Now this is not a simple task since the typical Gentoo install is quite lengthy. Adding a VM to the proccess would only make the process worse. I thought I was in luck as Gentoo has a new graphical installer. I was no longer stuck in console land. It turns out though that the new Gentoo installer is not yet ready for prime time. There are a couple of bugs in the installer.

This is where I stumbled upon the Holy Grail of VMs. The problem with installing Gentoo usually is that everyone has different hardware, so all installations are unique and different and no two people have the exact same set of circumstances or problems. But with VMs everyone has the same hardware specifications. Well they can have differing amounts of harddisk space or memory. But that is the least of the problems.

I discovered that people have pre-built VMs with Gentoo Linux already installed on them! Witness this site. Most of the hard work is already done. Just download the VM, unzip it, and presto a bootable gentoo system. The VmWhere? dude promises to have a KDE version of a VM up and running sometime soon. In the mean time I'm off and Gentooing on my own. All hail the internet!

Thursday, June 29, 2006

Tagging Deskop

I've been thinking about an application like this for a while, but have been unable to express it in words. Recently I had some incites on how to implement it with all the "tag fever" going around.

Here's my thoughts on the subject:
Tagging seems to be slowly taking over the world. I can tag links using del.icio.us. I've tricked outlook into tagging my work emails. Gmail allows me to tag my personal mail. Using flickr I can tag and organize photos. Each application has thier own tagging methodology and madness. There's nothing drawing it all together.

I want a tagging desktop. The ability to tag anything, emails, tasks, links, pictures, documents, anything and see everything grouped by those tags together on a dashboard. If I was working on foo at work, I could flag all emails that pertained to foo as foo. Any Word documents could be tagged as foo. If I was surfing I could tag any sites I found as foo.

I could then go to my dashboard, click on foo and see everything I was working on that had to do with foo.

I found this site called SuprGlu which will gather RSS feeds by tags and creates a tag cloud. Which is sort of what I am looking for, but not really. A tag cloud shows the most commonly tagged piece of information, but does not allow me to prioritize tags, which is what would make the whole Tagging Desktop useful.

Also see my del.icio.us links on the subject.

Any thoughts or cool websites that accomplish something similiar?

How to safely refactor beans used by JSPs?

My team at Orbitz has started a disscussion page on our wiki. This was one of the questions below and I thought it was worth airing here.


When refactoring a class that may be referenced by a JSP, how do we make sure that we haven't broken a JSP, or at least know that we've broken it?

Example:

public interface Foo {
public String getBar();


<c:foreach iteams="${foos}" var="foo">
  <c:out value="foo.bar">
  </c:out>
</c:foreach>

If we rename getBar() to getBaz(), how do we make sure we haven't broken the above JSP?


Below is my responce:
My First thought is to compile the JSPs. But the EL is compiled ito reflection calls and an exception will be thrown at run time not complie time of the JSP, right? A clutered option is to deprecated the old method and change it to call the new one. Then have some kind of reporting that tells us when a JSP used a deprecated method, then we could clean up these references over time. After a specified time of no calls from JSPs we remove the deprecated method. However, there is no way to ensure all functionality is executed in a time frame.


Do you guys have any thoughts?

Wednesday, June 28, 2006

Database File System

A couple of guys that worked on BeOS talk about their attempt at a database-based file system, similar to what MS dropped from Longhorn.  Cool stuff.

http://www.theregister.co.uk/2002/03/29/windows_on_a_database_sliced/

-Rob