Thursday, September 14, 2006 7:33 PM Debian and Ubuntu

These are some interesting reads.

I love debian. My line of thinking is very much in agreement with Mark Shuttleworth, although I can relate with Matthew Garrett.

Debian really brought me into the world of linux, and taught me most of what I know. It also gave me much of my respect for Free Software. Ubuntu brought linux to my parents. I'm very thankful for that. During my Grad Studies I needed a computer which just worked, and I didn't want to fiddle. So I switched from Debian to Ubuntu. Now that my parents use it, I need to be familiar with it for support. Debian will always be there for me. I run it on servers. I recommend it to people who want to run it on servers. I'll probably run it on my desktop again after grad studies.

I'm not a mediator, nor do I pretend to know the intricacies of the debian community well enough to offer advice. I just hope very much that debian will remember its roots: Free Software. As is common with any philosophical movement, it is easy to get caught up in the details and the letter of the law. Debian could learn from other movements: the spirit of the law is always more important to the direction of the project, than is the letter of the law. Here's to hoping that debian will be able to survive it's current turbulence.

Tuesday, September 12, 2006 9:57 PM How Ubuntu + Eclipse Failed My Friend

Don't get me wrong. I love Ubuntu. It's been a great OS for me. It is the only OS on my desktop and is the OS I use 99% of the time on my laptop.

Lately, I find myself recommending it to colleagues and friends. One of my colleagues decided to install it at work, along side his windows installation. To make one long story short, the partitioning process screwed the MBR while trying to resize his windows partition. I don't know what it did, or how I would even report a bug on this. It's not like we could recover any information from the computer on the spot, and he needs to work. So he just blew away everything, partitioned for a dual boot from the beginning. He's frustrated (and rightly so), but this is just the start.

He has heard that it has eclipse in the repositories, so he finds it and installs it. Being suitably impressed he starts it up and tries to check out our code from our CVS server. No dice. Everything works well up until the point that he views the modules available. Nothing shows up, and there is no error message. Not a single indication that anything is wrong, except that he can't list the modules. So he types in the name of a module that he knows and clicks on the 'Next' Button. Still nothing. Now he's getting frustrated again.

In eclipses log, he finds a number of error messages about missing items:

Caused by: java.lang.ExceptionInInitializerError
at java.lang.Class.initializeClass(
Caused by: java.util.MissingResourceException: Can't find resource for bundle com/ibm/icu/impl/data/icudt34b/root.res, key CurrencyMap

So, being a smart guy he pulls open a terminal and plays around with java on the command line, finds out that it's not the sun provided JDK. He figures this might be the problem (although, he's not certain). I walk in while he's downloading the JDK from sun. He knows that Ubuntu includes the Sun JDK, but he can't find it. The add/remove applictions doesn't list it, it only lists the JRE. He's a java developer, he wants the JDK. Synaptic doesn't list it. Then I remember, it's in multiverse/universe, so I walk him through setting those up. He tries eclipse again, still no dice. He talks to me, oh right! he needs to set it as the default java interpreter.

sudo update-alternatives --config java

Now he runs eclipse and it works.

As is turns out, the gcj compiler provided with Ubuntu by default doesn't work with eclipse and the extssh CVS module. But neither eclipse, nor gcj provide enough usable information about it. If you run eclipse from a terminal you get output similar to:

searching for compatible vm...
testing /usr/lib/jvm/java-gcj...found DESede/CBC/NoPadding: DESede
updatekeys: HmacMD5
Unhandled event loop exception

Which kind of gives you an idea, but it's not sufficient. Eclipse should catch many of these exceptions and throw up an error dialog reporting that the current VM doesn't support extssh for CVS repositories. I think it's fairly well known that gcj and eclipse have some small incompatibilities. Ubuntu should realize this and provide a warning that the current JVM will not provide full capabilities with eclipse and should link to a document explaining how to install Sun's JVM. The sun jdk package for Ubuntu should set itself as the default JVM. And there should be a configuration option under System->Adminstration->Default Java which allows you to configure this. Maybe I'll get around to writing the program at some point.

Bug reports, here and here.

It's not all negative. He was quite excited at the lack of driver-download, install, reboot cycle that usually consumes the better part of the day after a fresh windows install. He's also been happy with a number of other things with Ubuntu.

Sunday, September 10, 2006 2:19 PM Loopsdesigns on etsy

If you have not yet discovered etsy, you should. My sister has just started using it, her store is Loopsdesigns. Check it out. She does some really cool stuff. Her stuff even includes custom shaping of the ear-wires. I have no idea how she gets them to look the same.

12:38 PM xhtml and css compliance

Please bear with me while I try to figure out Blogger's Templating language. The blog doesn't validate yet, but it will soon enough.

Although, interestingly enough, the css validator is giving me an error for content inside of a comment block. ?! Go figure. Sounds like the validator is broken.

11:54 AM Terrain Visualization

As part of my research I've experimented with a number of terrain visualization techniques. I typically use GLSL Shaders. These pictures use contour based rendering technique which changes the colors based on height and includes contour lines at various intervals. In addition, I've used a technique which was developed by a colleague of mine in the University of Calgary Graphics department, which does edge detection on the GPU.

In my research I am taking a look at the usefulness of Multiresolution details for synthesis purposes. One of the applications is Iris Image Synthesis, and Terrain Repair. So I've built a program which uses Chaikin Reverse Subdivision Filters, developed by my supervisor Dr. Faramarz Samavati, to reduce the resolution of SRTM terrain. These pictures are renderings of some terrain along the California coast at varying levels of resolution. The plan is to get a good friend of mine to sketch these onto some canvasses and my wife will paint them for my office.

Speaking of thesis based work. I should get back to writing. And my wife is here, continually reminding me of that fact. It's too bad that she's right.

11:29 AM Javascript Inheritance

I can understand that Javascript itself doesn't have built in classical-inheritance. It's a dynamic language, and it allows people to build their own object models.

What I don't understand is how Prototype, and Scriptaculous get along without it. Thankfully Dean Edwards has come to my rescue and provided me with exactly what I wanted: Base.

lakin's shared items