Thursday, April 20, 2006

HOWTO: Install Linux onto a USB thumb-drive with encrypted partitions

Simple instructions for anyone looking for a portable installation that they can easily carry with them for use as rescue media, system administration or as a private workstation. This is an update of the original howto (http://www.debian-administration.org/articles/179), and adds support for 2.6.16, cryptsetup with LUKS support, Udev, and Yaird.

read more | digg story

Friday, April 07, 2006




I finally got my Windows desktop looking nice ;)


Spent some time today fiddling around with BBLean and its associated plugins and themes. It's very much akin to the configuration of the CDE found on Solaris/HP-UX (it is in fact based from a Linux window manager). You can get the necessary software from BB4Win.org. Most of the basic config can be done via mouse clicks, but everything can be changed via text based config files. Plus - it's stable (not had any issues so far) and it doesn't take anywhere near the resources that explorer does. I'd been having a lot of issues with explorer lately as the project I'm working on involves file manipulation over large numbers of files - when I'd been looking through the results with explorer, there was a memeory leak happening somewhere as really large folders pushed the memory footprint through the roof, which never freed up - once the heap size of explorer got to the 200Mb size thing didn't update etc - and if left to creep up to ~256M lock ups and crashes occured. Plus that's all memory I'd rather be using for my development environment, right? Well, I've not seen BBLean go above 20M yet - I'm still using explorer but on closing it off the mem gets returned - using explorer as the shell too means it stays resident regardless. All in all, very happy - got an XP front end that feels like a Linux/Unix system now!!

Wednesday, April 05, 2006

Java, drag and drop and the curse of the transients

I've been working on PCPal for a few days and I've got to the point where I wanted to implement drag and drop functionality. After reading a couple of tutorials and scanning the API, all looked well enough; seemed fairly straightforward. Basically, you have to create a transfer handler for each side of the transaction (though it can be the same object type, as in my initial case) - then form a data transport object (a transferable); register with the required component types, implements some check logic in the handlers to test for the correct datatypes, and then glue in the mouse drag code (well, actually, reading that doesn't seem so straight forward). After getting all working with a basic string transfer between a custom thumbnail object and a custom button object, I decided to hook in the back end storage abstraction layer so I could pass the location of the object I was dragging rather than a generic string representation. All of a sudden I'm getting nothing happening at the closing end of the transfer... put breakpoints in... and 30 minutes later or so I track it down to an exception being thrown by a _debug_ statement! wtf... so, turns out it's a null pointer exception: but before this method call the exact same object (or so I thought) was working fine...

heh... thing they don't tell you in the tutorials I read is that in the middle of the transfer there's a serialization/de-serialization process going on, and my new data type I was passing held it's primary data store (in this case a File object down at the bottom) as a transient field - oops... transient fields don't pass through serialization, and simply get recreated as empty objects at the other side (i.e. my data store object had become a 'new File()'). So... when I went to exxtract the absolute path from the abstraction object I was passing, the File object had no internals - just a null ***BANG***.



Note to self: DON'T USE transients WITH D'n'D!!




A two hour lesson there ... I think I need a session on Empire now :)

Monday, April 03, 2006

Beginners Guide to Rails, Part 1

HOW-TO for beginning development with Ruby on Rails. From what tools you will need, to setting up your development enviornment.

read more | digg story