30 Sep

mounting ext3 in windows

As I said a few days ago, my home CD drives were busted, so I needed to recover my backups by loading them onto my work computer, then bring a hard drive in from home and copy them over.

All my home hard drives are formatted as ext3, which Windows does not support natively.

In order to see the drive, I’m using Ext2IFS, a driver which extends the XP kernel to understand the ext3 file system.

As a side-point – it is interesting that people keep saying that Linux’s hardware support is somehow lacking in comparison to Windows. As far as I know, Windows supports only FAT, FAT32, NTFS, ISO9660, and UDF file systems. Linux, on the other hand, supports probably about a hundred different file systems. Windows also runs only on the i386 platform, whereas Linux runs on everything from watches to mainframes. Limited, my arse.

29 Sep

how harmonics are affected by pickup positions

This morning, before heading to work, I was trying to explain to Bronwyn why 5th harmonics are hard to sound on the neck pickup. I think I explained very poorly, so here is a better explanation, with crappy photos.

The first photo illustrates an open string with no harmonics. Note that the string vibrates the most at the 12th fret. In this case, more vibration is picked up by the neck pickup than by the bridge pickup (the photo is of an Ibanez S520 EX – a beautiful guitar to play – and extremely heavy!)

In this second image, the string is struck with the finger resting lightly against the 12th fret. This has the result that the string’s vibration is cut in half, with two waves on the string instead of one. Note that there is little-to-no vibration at the 12th fret. Again, the neck pickup picks up the most vibration.

In this third image, the finger rests against the 5th fret, cutting the string into four waves. Note that there is no vibration at around the 25th/26th fret, which coincides with the neck pickup. That means that if you have your neck selector set as your only pickup, then you will not get much sound at all – especially on a telecaster or stratocaster, which seems to coincide exactly with that point.

29 Sep

luas one year old yesterday

I was told that the Luas project was one year old yesterday. Someone should tell their website.

Speaking of the website – the developers should go out and buy a proper camera – that one on the front page is dire – I could do better by sketching.

Speaking of birthdays, it’s my son’s birthday today – Happy 2nd Birthday, Jareth!

28 Sep

isobuster

I have a friend that I sometimes share my files with. He complained, though, that every time he reads one of the CDs I give him, the files are in 8.3 format.

For months, I just took it that that was simply “one of those things”, but finally, I came across the problem myself.

Recently, my computers started running out of space, so I started burning information to CD, in order to make room for fresh information.

Over the weekend, I installed a fourth hard-drive in my home server, so it was time to start moving the CD info back onto hard drive.

Unfortunately, my CD drives at home appear to be broken – they refuse to read the CDs I burned (cheap CDs, I guess), so I have to load the CDs onto my work computer, then, once they’re finished transferring, I’ll bring a hard-drive in and transfer them.

All of my home computers are Linux-based, and my computer in work is WinXP.

When I loaded the first CD into the WinXP machine, I saw immediately that the 8.3 problem affects Windows itself, so I started searching for whatever was causing it.

It turns out that it has to do with the CD file system itself. The Level 1 ISO 9660 is 8.3, while Level 2 holds 31 characters. In all 3 levels of ISO 9660, only upper case alphabetical, digits, and underscores are allowed.

Windows expands on this with the Joliet system – up to 64 characters in Unicode. The file system that is used by default in K3b (the CD burning software I used), however, is Rock Ridge, which supports up to 255 characters in ASCII, deep directories, and UNIX file permission preservation.

Aye, so there’s the rub – Windows, by default, cannot read the Rock Ridge format, and Joliet needs to be turned on explicitly in K3b.

After a bit of searching, I managed to find one project which can read Rock Ridge in Windows – ISO Buster. It is free, but they welcome donations.

My only problem with ISO Buster is that they do not appear to translate the directory names properly – but I can live with that.

26 Sep

browser speeds

I found an interesting page with some numbers on browser speeds.

Unfortunately, I don’t know how old the page is, as there is no date mentioned on the page. He has IE7beta in the list, though, so it can’t be that old (although – why Firefox 1 and not 1.07?, and why Konqueror 3.2 instead of 3.4.91?).

23 Sep

the x in ajax

As everyone knows, the X in AJAX stands for XMLHTTPRequest

, which makes the entire acronym/abbreviation/whatever Asynchronous Javascript And eXtensible Markup Language HyperText Transfer Protocol Request, which is a mouthful and a half.

As everyone also knows, virtually no-one actually uses XML while coding AJAX applications.

I’d like to recommend that the name be changed so it stands for Asynchronous Javascript And eXternal data, which is a bit more apt.

17 Sep

scons

I installed KleanSweep earlier. It was the first time I came across the SCons installation script in action. There has been some talk about SCons recently on Planet KDE recently, as KDE is switching from the standard Make/Autoconf/whatever mixture to the simpler one-package SCons.

I’m impressed! Not only was the build quicker, but it gave me only the relevant information that I was interested in. Usually, a ./configure && make takes forever, and dumps screen after screen of mumbo-jumbo to the monitor, but here is the total output of the installation:

[kae@kae kleansweep-0.1.5]$ ./scons
scons: Reading SConscript files ...
Checking for kde-config           :  kde-config was found as /home/kae/kde3.5-alpha1/bin/kde-config
Checking for kde version          :  3.4.90
Checking for the qt library       :  qt is in /usr/local/qt-3.3.6
Checking for uic                  :  uic was found as /usr/local/qt-3.3.6/bin/uic
Checking for moc                  :  moc was found as /usr/local/qt-3.3.6/bin/moc
Checking for the qt includes      :  ok /usr/local/qt-3.3.6/include/
Checking for the kde includes     :  ok /home/kae/kde3.5-alpha1/include/
scons: done reading SConscript files.
scons: Building targets ...
cd doc/en && meinproc --check --cache index.cache.bz2 index.docbook
/usr/local/qt-3.3.6/bin/moc -o src/filelistview.moc src/filelistview.h
g++ -I/home/kae/kde3.5-alpha1/include/ -I/usr/local/qt-3.3.6/include/ -O2 -DNDEBUG -DNO_DEBUG -DQT_NO_TRANSLATION -I. -Isrc -c -o src/filelistview.o src/filelistview.cpp
/usr/local/qt-3.3.6/bin/moc -o src/filelistviewtarget.moc src/filelistviewtarget.h
g++ -I/home/kae/kde3.5-alpha1/include/ -I/usr/local/qt-3.3.6/include/ -O2 -DNDEBUG -DNO_DEBUG -DQT_NO_TRANSLATION -I. -Isrc -c -o src/filelistviewtarget.o src/filelistviewtarget.cpp
g++ -I/home/kae/kde3.5-alpha1/include/ -I/usr/local/qt-3.3.6/include/ -O2 -DNDEBUG -DNO_DEBUG -DQT_NO_TRANSLATION -I. -Isrc -c -o src/fileviewitem.o src/fileviewitem.cpp
g++ -I/home/kae/kde3.5-alpha1/include/ -I/usr/local/qt-3.3.6/include/ -O2 -DNDEBUG -DNO_DEBUG -DQT_NO_TRANSLATION -I. -Isrc -c -o src/logwidget.o src/logwidget.cpp
g++ -I/home/kae/kde3.5-alpha1/include/ -I/usr/local/qt-3.3.6/include/ -O2 -DNDEBUG -DNO_DEBUG -DQT_NO_TRANSLATION -I. -Isrc -c -o src/main.o src/main.cpp
/usr/local/qt-3.3.6/bin/moc -o src/sweeperwizard.moc src/sweeperwizard.h
g++ -I/home/kae/kde3.5-alpha1/include/ -I/usr/local/qt-3.3.6/include/ -O2 -DNDEBUG -DNO_DEBUG -DQT_NO_TRANSLATION -I. -Isrc -c -o src/sweeperwizard.o src/sweeperwizard.cpp
g++ -I/home/kae/kde3.5-alpha1/include/ -I/usr/local/qt-3.3.6/include/ -O2 -DNDEBUG -DNO_DEBUG -DQT_NO_TRANSLATION -I. -Isrc -c -o src/sweepfileinfo.o src/sweepfileinfo.cpp
/usr/local/qt-3.3.6/bin/moc -o src/sweepscanner.moc src/sweepscanner.h
g++ -I/home/kae/kde3.5-alpha1/include/ -I/usr/local/qt-3.3.6/include/ -O2 -DNDEBUG -DNO_DEBUG -DQT_NO_TRANSLATION -I. -Isrc -c -o src/sweepscanner.o src/sweepscanner.cpp
g++ -Wl,--rpath=/usr/local/qt-3.3.6/lib -Wl,--rpath=/home/kae/kde3.5-alpha1/lib/kde3 -Wl,--rpath=/home/kae/kde3.5-alpha1/lib -o src/kleansweep src/filelistview.o src/filelistviewtarget.o src/fileviewitem.o src/logwidget.o src/main.o src/sweeperwizard.o src/sweepfileinfo.o src/sweepscanner.o -L/home/kae/kde3.5-alpha1/lib -L/usr/local/qt-3.3.6/lib -lqt-mt -lkdeui -lkio -lkdecore
sed 's/\@PERL\@/#!\/usr\/bin\/perl/' < src/kleansweep-helper.in > src/kleansweep-helper
scons: done building targets.
[kae@kae kleansweep-0.1.5]$ ./scons install
scons: Reading SConscript files ...
mkdir -p /home/kae/kde3.5-alpha1/share/doc/HTML/en/KleanSweep && cd /home/kae/kde3.5-alpha1/share/doc/HTML/en/KleanSweep && rm -f common && ln -s ../common common
scons: done reading SConscript files.
scons: Building targets ...
Install file: "src/kleansweep-helper" as "/home/kae/kde3.5-alpha1/bin/kleansweep-helper"
Chmod("/home/kae/kde3.5-alpha1/bin/kleansweep-helper", 0755)
Install file: "src/kleansweep_bar.png" as "/home/kae/kde3.5-alpha1/share/apps/kleansweep/kleansweep_bar.png"
Install file: "src/kleansweep.desktop" as "/home/kae/kde3.5-alpha1/share/applnk/System/kleansweep.desktop"
Install file: "src/kleansweep" as "/home/kae/kde3.5-alpha1/bin/kleansweep"
Chmod("/home/kae/kde3.5-alpha1/bin/kleansweep", 0755)
Install file: "icons/hi16-app-kleansweep.png" as "/home/kae/kde3.5-alpha1/share/icons/hicolor/16x16/apps/kleansweep.png"
Install file: "icons/hi32-app-kleansweep.png" as "/home/kae/kde3.5-alpha1/share/icons/hicolor/32x32/apps/kleansweep.png"
Install file: "doc/en/index.docbook" as "/home/kae/kde3.5-alpha1/share/doc/HTML/en/KleanSweep/index.docbook"
scons: done building targets.

scons: *** Dependency cycle: doc/en/index.cache.bz2 -> doc/en/index.cache.bz2 -> /home/kae/kde3.5-alpha1/share/doc/HTML/en/KleanSweep/index.cache.bz2 -> install
File "/home/kae/compile/kleansweep-0.1.5/scons-local-0.96.1/SCons/Taskmaster.py", line 145, in _find_next_ready_node

the only thing I have a problem with is that the last line, with the ‘***’, is incomprehensible to me – it looks like a warning, but I don’t know what it means.

17 Sep

flight of the bumblebee

This is just a few tips on how to play this adaptation of Rimsky-Korsakov’s Flight Of The Bumblebee for guitar.

First off, loosen up your left hand’s fingers by dipping them in some warm/hot water for about 30 seconds. This is needed for me, anyway, as I don’t have great circulation. I leave the right hand alone, as it’s mostly wrist movements there.

With every tab you come across, there are some ways of playing things that just seem to be easier.

This piece, for example, is in the original:

|------------------|-----------------|------------------|------------------|
|------------------|--4--------------|------------------|--4---------------|
|--2-------7-------|--6--------------|--7-------7-------|--6---------------|
|----0-0-0---0-0-0-|-----------------|----0-0-0---0-0-0-|------------------|
|------------------|-----4-4-4-4-4-4-|------------------|------------------|
|------------------|-----------------|------------------|------------------|

For some reason, I find it easier to play it like this:

|------------------|-----------------|------------------|------------------|
|------------------|--4--------------|------------------|--4---------------|
|--2-------7-------|--6--------------|--7-------7-------|--6---------------|
|----0-0-0---0-0-0-|-----------------|------------------|------------------|
|------------------|-----4-4-4-4-4-4-|----5-5-5---5-5-5-|------------------|
|------------------|-----------------|------------------|------------------|

I’m not sure why I find that version so much easier to play – maybe it’s because there is a similar pattern throughout.

The next one, though, I can explain. Here is the original:

----0---0---0---0-|-------------------|--------------------------|
------3---1---0---|-------------------|--------------------------|
------------------|--2----------------|--------------------------|
--2---------------|--2----------------|-----------------11-12-13-|
------------------|--0----------------|--11-12-13-14-15----------|
------------------|-------12-13-14-15-|--------------------------|

--------------------------|--------------12-14-15-16-|--17--------|
-----------------------12-|--13-14-15-16-------------|------------|
--------11-12-13-14-15----|--------------------------|------------|
--14-15-------------------|--------------------------|------------|
--------------------------|--------------------------|------------|
--------------------------|--------------------------|------------|

My own version, while it may look more difficult, is actually much easier:

----0---0---0---0-|-----------------|-----------------|
------3---1---0---|-----------------|-----------------|
------------------|-2---------------|---------5-6-7-8-|
--2---------------|-2-------2-3-4-5-|-6-7-8-9---------|
------------------|-0---------------|-----------------|
------------------|-----------------|-----------------|

-------------------------|-------------12-14-15-16-|-17--------|
--------------9-10-11-12-|-13-14-15-16-------------|-----------|
--9-10-11-12-------------|-------------------------|-----------|
-------------------------|-------------------------|-----------|
-------------------------|-------------------------|-----------|
-------------------------|-------------------------|-----------|

To play the original, you would need to have pretty big hands, as it’s hard for me to play high frets on the low E and A strings. Also, there are five notes per string on the original, which means a finger would need to slip up a fret for each string. This is okay every now and then, but to do it in rapid succession can be tricky.

With mine, the trick is to play four notes from index to pinky, then move the hand quickly up to play the next four in the same way. This is not hard to do. The hardest part is actually making the transition sound clean. That comes with practice.