Pascal's TechBlog

Friday, April 28, 2006

Dia Revisited

About a week ago a new version of Dia was released, after more than a year Dia 0.95 was finally there. The changes in Dia aren't really major when considering the invested work, but from a usability perspective the changes are quite massive. Dia 0.94 still uses the old GTK 2.4 FileDialog, which is old and just plain crappy, and it finally got replaced in 0.95 with the new and more usable GTK 2.6 FileDialog.

Another change, which personally affects me, is the updated Cisco icon set. The new Cisco icons are now colored, and look exactly like the icons used in Cisco literature. A simple sample:
I hope Dia 0.95 makes it into Dapper. But if it doesn't I've ported the Debian package to Ubuntu, you can download them here.

UPDATE: Please remove your ~/.dia directory after upgrading to Dia 0.95, if you don't you won't get all the new Dia features.

Thursday, April 27, 2006

YellowSheepRiver Municator

The YellowSheepRiver Municator has been in the news lately, this machine has very much potential, a strong MIPS-like CPU (The Godson II) and a Mobile Radeon 7000 onboard, which means it has hardware 3D acceleration using open source drivers.

Beside it's primary target, being a low-cost desktop, this little machine has also great potential as a residential server. It's small size means it can be easily put in an electrics closet.

I certainly hope these machines will become available in the Netherlands, though I highly doubt it.

Corbicula anti virus: Other...

With the previous releases of Corbicula it wasn't possible to scan anything else but the default supplied scan targets. With the latest corbicula release it's now possible to choose 'Other...', a FileChooserDialog opens where you can select any random directory you would want to scan for virusses.

Coinciding with this new feature release is also the first available Dapper Drake package, apt-gettable in a seperate repository:
deb http://dl.gna.org/corbicula/ubuntu dapper/

Wednesday, April 26, 2006

Dapper's glibc

The current Ubuntu stable release (Breezy Badger) was released with gcc 4.0, one of the things that nagged me was the fact that Breezy's kernel wasn't compiled with 4.0 but with an older version of gcc, namely 3.4.

The first thing I did after installing Dapper Drake was to check whether the kernel was compiled with gcc 4.0, it was, so I was happy as a clam. But yesterday I was in for quite a shock, it seems that Dapper's glibc isn't compiled with 4.0, but with gcc 3.4.

I can think of only two reasons why not to compile glibc with gcc 4.0, either glibc just doesn't compile properly with gcc 4.0, or they used the old gcc 3.4 to prevent unknown regressions. In either case gcc 4.0 should not be the default system compiler.

StarCraft#

I regularly read Monologue, today I came across something quite extraordinary: StarCraft#. Apparently Chris Toshok is rebuilding the StarCraft engine in C# using SDL#. Sofar he has only released binaries, I can't wait to see the sources.

Sunday, April 23, 2006

Ubuntu Bonding

It's quite easy to configure network interface fail-over on Ubuntu, this feature is called bonding in the Linux kernel. Bonding allows you to do two things: fail-over and load-balancing.

To configure fail-over make sure the bonding kernel module gets loaded during the boot process, this can be achieved by editing the /etc/modules file and adding the following line:
bonding mode=active-backup miimon=100

The mode module parameter tells the bonding module what to do, either fail-over or load-balancing. The miimon module parameters defines the monitoring interval in milliseconds.

Next install ifenslave, ifenslave binds the physical slave interfaces to the master logical interface:
# apt-get install ifenslave-2.6

Finally you need to edit the /etc/network/interfaces file:
auto bond0
iface bond0 inet static
address 192.168.9.9
netmask 255.255.255.0
gateway 192.168.9.1
post-up ifenslave bond0 eth0 eth1
pre-down ifenslave -d bond0 eth0 eth1

The post-up and pre-down lines make sure the physical slave interfaces are bound and unbound when the logical master interface goes up or is being taken down.

Saturday, April 22, 2006

Advanced Trivial FTP

The other day I had to install a TFTP daemon on my machine, to upgrade the IOS software of my Router, after considering my options, I went with atftpd, mainly because atftpd is very full featured and can be run standalone, without being dependant on inetd.

First install the Advanced Trivial FTP daemon and client:
# apt-get install atftpd atftp

Second create a tftpboot directory on your file system, make sure it's world writable if you want to be able to upload stuff:
# mkdir /tftpboot
# chmod 777 /tftpboot

Next edit your /etc/default/atftpd file to match this:
USE_INETD=false
OPTIONS="--daemon --port 69 --tftpd-timeout 300 --retry-timeout 5 --mcast-port 1758 --mcast-addr 239.239.239.0-255 --mcast-ttl 1 --maxthread 100 --verbose=5 /tftpboot"

Now you can start and stop the Advanced Trivial FTP daemon like so:
# /etc/init.d/atftpd start
# /etc/init.d/atftpd stop

Wednesday, April 19, 2006

Corbicula anti virus: Consistency

I contacted lluis about protected virtual issue with Stetic, he explained to me, that making event handler protected virtual didn't have any technical merits, rather practical. When an event handler is made private, mcs complains unused private methods are declared, but in reality they aren't unused, they're just dynamically bound by Glade/Stetic instead of assigned in the code itself. Making these methods protected removes these warnings. The virtual part isn't strictly nessecarry.

After understanding why event handlers are made protected by Stetic, I revisited the Corbicula codebase and made all my private and public (yuck) event handlers protected.

MP3 ID3 tagging

Somehow if you define a genre which doesn't exist (like Electronica) while ripping music with the Sound Juicer, it will just insert an unknown [255] as genre into the generated MP3s.

This is easy to correct though (tag as Electronic [52]):
# find ./Album/* -name *.mp3 -exec mp3info -g 52 {} \;

I'm not a GNU!

During the past week I've been accused of being a follower of Richard Stallman's ideologies. Why? Just because I'm a GTK user/lover. And ofcourse anybody who uses GNU software must be against commercial software, right?

Wrong!
Unlike Richard Stallman I do not think COTS software to be either evil or unethical. Does that mean I generally like COTS software? No!

Examples
Microsoft Internet Explorer: I do think MSIE is evil, but not because it's commercial or closed source. It is because of MSIE that the W3C standards still aren't used today.
Microsoft Office: I do think Office is evil, but again not because it's commercial or closed source. MS refuses to support OpenDoc in Office, which is detrimental to interoperability between competing Office suites. Taking into account the fact that Office is the number one Office suite worldwide, this is an obvious abuse of Microsoft's monopoly.
Opera is de excellent example, of good COTS software, which is everything but evil. The folks at Opera Software seem to make a genuine effort to build the best browser on the planet, there is nothing wrong with trying to make a living of that.

Monday, April 17, 2006

Corbicula anti virus: Doing Dapper

I fixed Corbicula to compile and run on Dapper Drake today. It only required two minor changes. First there has been a change in case of some method. Next it seemed the System reference wasn't implicit anymore, so I had to add that reference explicitly.

I also began working on a Scan Target called 'Other...' which opens een FileChooserDialog, which allows you to scan any directory you want instead of just the listed Scan Targets, initial work is done and the code compiles just fine, but somehow the code throws an exception because an empty string gets passed as Scan Target.

After looking over my code I noticed how inconsistent/sloppy I've been, I have some event handlers declared public and some private. After playing a bit with Stetic, it seems the way to go would be to declare them protected virtual instead.

Sunday, April 16, 2006

Wacom Volito2 (CTF-420/G)

To my surprise it seems that my Wacom Volito2 now works out of the box in Dapper:

Bus 004 Device 005: ID 056a:0062 Wacom Co., Ltd

[4294687.920000] input: Wacom Volito2 4x5 as /class/input/input5
[4294687.921000] drivers/usb/input/wacom.c: v1.44:USB Wacom Graphire and Wacom Intuos tablet driver

My Volito2 used to work using mouse emulation in Breezy, but that ment no absolute coordinate mode, I'm not even sure I want that, but I have a choice now... Choice is a good thing...

Saturday, April 15, 2006

The Epiphany versus Firefox showdown

The last few weeks I've been using Epiphany as my primary browser, and basically Epiphany knocks the socks right of Firefox. Epiphany's user interface looks a bit more clean and it's a bit more snappy than Firefox'. Epiphany is mostly GNOME HIG compliant, so it's easier to use, and it fits better in the GNOME desktop environment.

Yet I switched back to Firefox... why you ask...

First and foremost, Epiphany doesn't have a separate Google search box, instead when something is entered into the address bar which isn't an URL, it's sent to Google as a query, but somehow this doesn't always work properly, which can get pretty ennoying.

Another issue in Epiphany is the fact that every tab has it's own close button. Logically speaking this is better, and is actually required by the GNOME HIG, but practically this sucks (at for browsers it does). The main difference with browser tabs and text editor tabs (and the like), is the rate at which tabs are opened and closed. When compared to a text editor, tabs within a browser are probably opened and closed tenfold. For the user this means he has to visually locate the tab, then click the approriate close button on the tab. When considering the single close button (like Firefox has), located at the right, the user has one fixed position to click, which (generally speaking) is much more convenient.

Last, Epiphany still doesn't have del.icio.us plugin, which I have quickly grown attached to, after trying the Firefox plugin.

Friday, April 14, 2006

Dapper Drake

It has been a couple of days now since I've installed Dapper Drake on my main desktop, the experience has been overwhelmingly positive.

One of the big improvements is the progress bar which is displayed while unmounting volumes, this prevents impatient users from prematurely disconnecting the removable drive.

Another improvement is the interdesktop application bar blinking*. Basically if an X-Chat or GAIM conversation receives a reply while your away working on another desktop, its application bar will appear on the desktop you're working on, and it'll blink to grab your attention. Now the sweet part happens when you click on the blinking application bar, you're immediately taken to the desktop where X-Chat or GAIM resides.

However there is a downside to Dapper, the first and foremost being the new and improved Human theme. Well it's new alright, but I'm not sure I would call it an improvement. The Orange makes me think about soccer and the new icons are way too busy and shiny. I basically couldn't tolerate it for more than a day or so, I quickly changed to Clearlooks controls with a Human window border and GNOME icons.

* I didn't know what else to call it.

Water Heater

While showering yesterday our water heater gave out. Reading the manual didn't help. After contacting my father, I was told to reboot the water heater. No, that weren't six typo's in a row! reboot!

Sigh...

Sunday, April 09, 2006

Dapper Dapper Dapper

To celebrate my new found freedom I decided to have a go at installing Dapper Drake. I went with the good ol' install CD, not feeling adventurous enough to taste Espresso.

Being exciting during the first boot, I was in for a surprise... Xorg hung itself. After some searching on Launchpad, it appeared more folks were experiencing this problem.

For the time being I just removed the dri module from my xorg.conf. Now Xorg works fine, although I have no Direct Rendering now.

After I got everything to work properly I was amazed with how much faster Dapper boots, it's just incredible...

Windows Be Gone

After using Ubuntu Breezy nearly full time for six month's, I finally decided I was ready to dump Microsoft Windows XP once and for all.

Free at last...

Thursday, April 06, 2006

Java on FreeBSD

It took a while, but the FreeBSD 5.x and 6.x branches finally have a proper Java platform. Java is probably one of the biggest arguments against FreeBSD on the enterprise server.

Having a proper Java release on FreeBSD is one thing, but keeping it up to date is another, we'll just have to wait and see...

Saturday, April 01, 2006

There's something beautiful in the sky

Since a couple of days I have a digital satellite receiver, and a CanalDigitaal subscription. Especially picture quality has improved by leaps and bounds.

After taking a look at the CanalDigitaal channel guide, there are some interesting channels to try, namely VH1 Classics and BBC Prime.

Cisco 836

During the past week I received my second hand Cisco 836 ADSL over ISDN Secure Broadband Router. Cisco's equipment isn't perfect (at all), but it definately beats a Thomson SpeedTouch any day of the week.

I'm a "Joe Normal" ???

While browsing Planet Ubuntu, I noticed the Nerd/Geek/Dork test and I just couldn't resist. After taking the test I was actually somewhat disappointed with the result, according to the test I'm a "Joe Normal", for crying out loud...

My results: 43% Nerd, 21% Geek, 43% Dork.

edit: I actually re-took the test with the following results: 47% Nerd, 34% Geek, 47% Dork. So I'm still a Joe Normal...