You are currently browsing the Carl’s notes weblog archives for December, 2008.

Uninstalling Norton/Symantec software

Some computers come with Norton Antivirus and Internet Security preinstalled but with no uninstall link in the start menu and no entry in the add/remove software list. Symantec provide a removal tool that will cleanly uninstall their software.

Recovering files from a Fedora Core partition

Fedora Core uses LVM for its partitions. This makes them difficult to mount on other systems.  Linux Step-by-step explains how to achieve this on Ubuntu. I haven’t tried this with a live CD, it might not work because it requires the lvm2 package.

Lejos missing libraries

Lejos lets you run Java on Lego Mindstorm robots. Lejos 3 RC2 for the RCX bricks can run fine on Linux but initially gave the following error:
Unable to load native libraries: /usr/local/lejos/bin/libjirtrcx.so: libirtrcx.so: cannot open shared object file: No such file or directory.

Adding the following lines to your .profile should help, I don’t think the LD_LIBRARY_PATH was mentioned in the documentation.

export LEJOS_HOME=/usr/local/lejos
export PATH=$PATH:$LEJOS_HOME/bin
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$LEJOS_HOME/bin
export RCXTTY=/dev/usb/legousbtower0

You may also need to chmod 666 /dev/usb/legousbtower0 or add some udev rules to ensure your user has write access to the infrared tower.

Broken ipkg on SLUGOS-BE

Running ipkg upgrade gave some trouble when the busybox upgrade gave the error postinst script returned status 127. Other symptoms are not being able to run basic commands such as ps, and not being able to login to the box. If you’re already logged in then whatever you do DO NOT log out before fixing this. The problem was revealed by /usr/lib/ipkg/info/busybox-links.postinst which couldn’t run the update-alternatives script because this called /bin/sh which no longer existed. Somehow busybox had removed some files which it still needed.

Most basic commands are provided by calling the busybox executable itself via an appropriately named symlink. For instance ln -s /opt/bin/busybox /bin/sh enables certain scripts to call /bin/sh to get a shell very like sh but actually provided by busybox. This applies to many other commands such as zcat, ps, vi and dmesg. Creating the appropriate symlinks enables the postinst script to run and generate most of the other links.

This may be caused by running the Optware feeds in parallel with the native and cross SlugOS feeds as suggested in a post at the beginning of this year. The SlugOS upgrade instructions also suggest disabling the Optware feeds during the upgrade.

Matlab data linking and brushing

I’ve just discovered that you can select outliers in a plot and remove them from the underlying data set quite easily.

Say you have data in 3 columns (time, x and y).

plot(data(:,2), data(:,3), 'r*-');
brush on; %button with brush
linkdata; %button with chain link

Then you can select points and right click to remove them or save them to another variable.
Each data item must be a line as in the example above because brushing seems to select entire lines of data rather than columns.
Hitting the delete key will not remove data but will replace the whole line with NaN. In the example this includes the timestamp which wasn’t plotted.

This has only been available since Matlab 7.6.0 (R2008a). Very useful.

An article on MatlabCentral.
The Matlab documentation about data brushing and data linking.