Sat, 31 Dec 2005
PF 2006
I wish happy new year 2006 to everyone who reads this blog.
Actually, we made this ginger-bread house before the Christmas 2004.
Fri, 30 Dec 2005
Money transfer
Pavlina wanted to order some product over the Net from Germany. They did not offer the paymend by a credit card, so we went for a conventional money transfer via bank.
However, I have found that the bank fees for foreign money transfers are pretty high (the fees are starting at about 50 Euro for a single transfer inside the EU). We have asked our friends in Germany to pay it for us from the bank account in Germany, and we will pay to them here in .cz.
I think Europe is waaaay behind US in this - in the US (and Canada) small money transfers are easily possible via Paypal, and maybe even via bank accounts. Well, we have international bank account numbers (IBAN), but these is not usable for small money transfers because of the fees. The bank system is very old-fashioned in this (corresponding banks? WTF?). And Paypal does not accept payments to the Czech Republic (maybe they think we are some wild country full of terrorists, phishers, or whatever).
Are there any other ways to do small money transfers inside the EU? I mean, something better than sending the banknotes in the envelope by a snail mail ...
Mon, 26 Dec 2005
Running tasks' icons
Yet another article from my "Desktop Rants" series. In the Good Old Days(tm) when there were no "desktop environments" per se, just a window manager with a bunch of apps, the window manager used on-desktop "icons" for minimized applications. Nowadays, probably inspired by MacOS, the icons on the desktop are used for files, directories, and application shortcuts instead. Minimized (or all?) applications were moved to a window list applet on the panel.
With this approach, minimized applications are not usable anymore. With the old-style on-desktop icons of minimized apps, user could distinguish between the icons of the same type from their location on the screen, something that is not possible anymore. Can you tell which terminal runs vim on my .profile?
In GNOME, I can no-longer minimze the applications in a sane way. So I have a huge virtual desktop (3x3 desktops on each of my two screens), and I just move to the next virtual desktop when starting a different work.
And there is another serious problem - some apps used to display an important status information in their icons and/or icon title (the song being played, availability of new security updates, etc.). In fact, some of those applications are designed to run minimized most of the time, and just display their status in the icon image or name. Only when the user action is needed (choosing a different album to play or actually installing a new security update), they can be unminimized, and their window appears.
So the desktop environments went one-step furher and one-step back at the same time - they introduced a "panel notification area", where some applications (such as rhn-applet or various music players) display their status. This is essentially an icon-box from older window managers, except that it isn't. Those icons are not first-class citizens anymore: not every application can have an icon there, it has to be explicitly written for it. Why something different than the old-style X11 window icon has to be chosen is beyond my reach. Fortunately, there is at least a freedesktop.org specification for these "almost-icons", so KDE apps can use mini-icons in the GNOME notification area and vice versa.
Sun, 25 Dec 2005
New section "Desktops"
I have decided to create a new section of this blog - "Desktops". I will add my rants about the deskop environment here. So far I have written the following blog posts about desktops (I am keeping them in their original sections):
- Usability of modern desktops? (19-Dec-2005)
- Back to Sawfish (17-Nov-2005)
- Time for a new browser (24-Oct-2005)
Fri, 23 Dec 2005
Car firmware upgrade
Few days ago I ordered a new airbag control unit for my car, because the original one was faulty - probably some problem with PCB, because it worked only when the outside temperature was above cca 25 C, or when the car was warm (after half an hour of driving or so). The serviceman has replaced the airbag unit, and everything was OK. However, when synchronizing this unit with car's main computer, the system told him that there was a new firmware available for the ignition control unit.
So he begun with flashing the firmware. But something went wrong (I suspect flaky power cable or so) - the firmware upgrade did not finish and the ignition unit is inoperable since then. They lent me a spare car and they look like they really know they messed things up, so I think they will manage to fix it. I have heard various bad stories about Sagem ignition control units so far, so I am not much surprised.
I am trying not to be rude on them, because I know that I also upgrade the firmware in computers, when there is at least small possibility that the firmware is the source of problems. And I know firmware upgrades can go wrong any time. So I use the borrowed Favorit (a really old small car, which is barely functioning) and I hope they will manage to fix it soon.
Thu, 22 Dec 2005
Duplicated work
A coworker of mine bought a new printer - HP OfficeJet 7400 printer/scanner/copier/fax. I have been trying to make this beast working under Linux. I have found that HP has a new project - hplip (HP Linux Printing and Imaging), which extends an older hpijs. I have been able to print and scan over USB (and print over the ethernet/wifi) using this software.
I tried to find a RPM package of hplip without success (it is not in DAG RPMs, Livna, nor Fedora Extras). So I have decided to make RPMs (which I need anyway for an older FC3 box) and contribute it to Fedora Extras. My RPMs are here, but after sending them to Fedora Extras I have figured out that hplip packages are in Rawhide, and even in FC4 updates-testing repository (where they are probably scheduled to replace the older hpijs project). Yet another piece of redundant work from me :-(
Anyway, the 7400 is pretty nice device. It has quite user-friendly interface, allows to scan directly to the memory card, print photos from the memory card, I was able to print an image via Bluetooth even from my Palm, print a v-Card from my cell phone, etc. The only (yet rather big) drawback is the two-cartridge design (one catridge with black ink, and another one with cyan-magenta-yellow combo). The 6- or 7-ink printers from Epson have definitely a better quality (but they are not such user-friendly).
Wed, 21 Dec 2005
Rotting bits
Yesterday after the midnight the X server on my workstation has crashed in the middle of work. Strange, I thought, but it was a nice opportunity to install a new kernel. So I've downloaded 2.6.15-rc6, recompiled new udev, and rebooted. The kernel has crashed on me soon after the reboot, and even one of the filesystems got into an inconsistent state.
At first I suspected the new kernel option, CONFIG_CC_OPTIMIZE_FOR_SIZE. However, I was not able to recompile the kernel - the gcc kept crashing with an internal error. I have decided to boot into the previous kernel version. I booted into the single-user runlevel, and ran fsck manually. It found some errors on my filesystems. I tried to recompile the kernel again without optimizing for size, but the gcc crashed even on the older kernel. I started to suspect the hardware.
It turned out that the problem was one faulty DIMM - the computer did not even survive a few minutes of the memtest86 test (there were at least 100-200 bad bits in that memory module). I wonder how a DIMM can get faulty in the middle of work, after few weeks of uptime, inside the computer, with no physical movement of the computer, and without powering the computer down. There was no significant amount of dust either, the box has been vacuum-cleaned a month or so ago.
The positive outcome is, that on 2.6.15-rc6 I have finally got S.M.A.R.T. working even on SATA disks (via smartctl -d ata /dev/sda).
Mon, 19 Dec 2005
Usability of modern desktops?
There has been recently a lot of noise about the desktop environment configurability versus usability. It was started by rather inflammatory Linus' message. There were lots of interesting followups, such as Jakub's blog post about remote controls, and this reply, or this suggested improvement of GNOME UI:
I recommend to read the whole thread - because the rest of Linus' messages are quite serious and insightful (unlike the first one). I can understand that news sites like Slashdot or El Reg report only the first (and the most heated) message, but - for example - this one (go read it, now!) nicely summarizes what is wrong with the current direction of GNOME development.
I think everyone of us (maybe except GNOME developers, who set up the defaults) have features, which we want to have set up differently from the defaults. I surely have a few, and even my parents wanted to do some customization of their GNOME. I am not planning to move away from GNOME now - lots of GNOME apps are perfectly OK, but I have found that they are those which are more configurable (gnome-terminal, Galeon, Sawfish, etc).
I hope I will find time to summarize the shortcomings of the current desktop environments in another post soon.
Fri, 16 Dec 2005
Building DBD::Oracle
I spent a lot of time trying to install DBD::Oracle on a 64-bit AMD Sempron computer. Oracle has an "instant client" package downloadable from their web site, but it seems DBD::Oracle is not quite ready to be used with DBD::Oracle. I got all sorts of compile errors, mainly from Makefile.PL. The documentation I have found was sparse, but at the end I was able to build it using the following steps:
- Do everything mentioned in this thread from dbi-users list.
- Set up the link libraries as $linkvia = "-L$OH/lib -locci -lclntsh"; in Makefile.PL just above the line which reads "unless ($linkvia){"
- Add "-I$OH/include" to the end of $OCIINCLUDE variables (two occurences in Makefile.PL - around the lines 262 and 564.
- Configure using "perl Makefile.PL -m $ORACLE_HOME/demo/demo.mk".
- Add $ORACLE_HOME/lib to ld.so.conf.d or to $LD_LIBRARY_PATH.
- Build using "make".
I hope I did not forget anything. The strange thing is that altough the problems with building DBD::Oracle against the Instant client are known, there has been no release of DBD::Oracle for a year or so. Is DBD::Oracle an orphaned project?
We are the professionals
I have just came across the fan video, which is an excellent parody of the Czech Army commercial TV spot. It combines the audio track from the mentioned TV spot, and visuals from Full Metal Panic (here is the author's page).
Thu, 15 Dec 2005
Luuking at LUKS
I am preparing a machine for remote backups. Because the backups may contain sensitive data, we have been thinking about storing the data on an encrypted filesystem. This allows us to do disaster recovery on the remote system without worrying about the data being compromised in case the box is stolen. So I have started to look for a suitable solution.
I knew that there is Crypto-loop, which has known security weaknesses. Then there is dm-crypt, which uses the in-kernel cryptographic API[?] and the Device-mapper to encrypt an arbitrary block device. However, I wanted something which would support multiple passphrases, and on-disk metadata (so that the passphrase-encrypted key does not need to be stored on a separate device, for example). I have found a project called LUKS - Linux Unified Key Setup - which provides the missing parts, like an open on-disk metadata format, which is even planned to be usable from The Other OS, Which Should Not Be Named.
Even more interesting is that the cryptsetup program in Fedora Core 4 is already built with support for LUKS. So the encrypted volume is just few commands away:
# cryptsetup luksFormat /dev/md1 --cipher blowfish --key-size 256 ... the passphrase is entered here ... # cryptsetup luksOpen /dev/md1 encrypted ... it asks for the passphrase, of course. # mke2fs -j /dev/mapper/encrypted # mount -t ext3 /dev/mapper/encrypted /mountpoint
I have measured that the overhead of the encryption is not so bad - it is definitely sufficient for backups sent over a 100Mbit/s ethernet. The raw speed of the underlying /dev/md1 device is about 60 MB/s of sequential read with close-to-zero CPU utilization, and the speed of /dev/mapper/encrypted is about 35 MB/s of sequential read with about 60% of CPU (AMD Athlon 3000+ with DDR 333 RAM).
Tue, 13 Dec 2005
The Matrix in a fantasy style
Have you seen The Matrix, or Total Recall? The movies, where it is not clear whether the characters are in reality or in a virtual world? Now get this story and move it from the original sci-fi world to the fantasy settings, and you get the basic notion of what .hack//Sign is about.
.hack//Sign (pronnounced dot-hack-sign) is an anime series, which takes place inside the fantasy-style MMORPG[?], named The World. The main character is a wavemaster Tsukasa (image on the left), a shy boy with unusual abilities. However, he finds out that he is trapped inside the game, and cannot log himself out of The World. Moreover, he is apparently wanted by a self-proclaimed "police" of The World, the Crimson Knights. Altough Tsukasa does not want anyone to be bothered by his problems, few players try to discover what kind of mystery is behind him. Some of them do it out of pure interest - such as an old blade-master Bear and his friend, heavy blade Mimiru (image above) - and others in hope that he will lead them to a legendary item of The World, named Key of the Twilight.
Despite of what the action game settings may suggest, .hack//Sign is not an action anime. Quite the contrary. While there is some action here and there, .hack//Sign is about dialogues. This may feel quite static and boring, except for a very patient viewer. The creators of this series (the studio Bee Train, which also made Noir and Madlax) quite wisely did not burn their money doing complex and expensive animation, but instead they invested into the backgrounds. For me watching the .hack//Sign landscapes was similar to seeing Peter Jackson's idea about the appearances of the Hobbiton or Minas Tirith. Awesome. Also the character design by Sadamoto Yoshiyuki (Neon Genesis Evangelion, Furi Kuri) is outstanding. There is only one drawback with respect to the animation - few times they even did not bother to animate the mouth movement of the character who was speaking.
The music - from the techno-style opening Obsession through the background music and songs (like Key of the Twilight), to the slow ending song Yasashii Yoake - is another exceptional part of this anime. The music was written by Yuki Kajiura (Noir, Mai HiME, etc.). Even if you do not like the series, I recommend getting the OST. However, the sound of .hack//Sign was sometimes flawed - they often played the song with lyrics on a background of some dialogue, which made the dialogue harder to understand.
As for the story - well, it is slow. Very slow. Do not even bother watching it if you expect just action scenes. Another drawback is the ending, which does not solve almost anything. I was disappointed by the ending, but looking back to the series, I think the strength of this series is about how the characters get to this ending, not the ending itself. There are many interesting characters, too. The kind and thoughtful leader of the Crimson Knights - heavy axeman Subaru (image on the right), a sly wavemaster BT, player-killer Sora, etc. The most interesting for me remain Bear and Mimiru, though.
Overall I must say that despite of its shortcomings, this series clearly falls to the "must watch" category, provided you are not an impatient viewer (In which case just get the OST and enjoy it :-).
Links
- .hack//Sign at AniDB
- .hack//Sign at AnimeNFO
- Similar Animes from the Anime-Planet
- Review at Manga.CZ (in Czech)
Thu, 08 Dec 2005
Broadcom WiFi driver
I have an Asus M6R laptop, which includes a Broadcom 4306 wireless network (802.11b/g) interface (the same chip is in Apple Airport cards and other Apple products). So far I have been using it through the ndiswrapper (which emulates the Windows environment for the native Windows driver).
Now I have found a native bcm43xx driver in development. It needs a pretty recent kernel (2.6.15-rc2+), and an additional 802.11 softmac layer stack. It seems that bcm43xx is a fairly low-end device, because the softmac packets are in most chipsets handled in hardware/firmware instead of the operating system.
The driver works (after adding my PCI ids to it, of course) to the point where I can ping my router, but it is still sort of unstable under load (such as ping -f -s 1400). Moreover, it seems that the softmac stack does not disable its queued delayed work during the module unload, which causes system crash when the module is unloaded or even when the device is set to be inactive.
The current development seems to be pretty fast, and I think we get the fully working driver in the kernel tree soon. I just wish I had more time to help with the development.
Wed, 07 Dec 2005
Upgrading to 64 bits
We are gradually upgrading the working servers in our IS MU cluster to a new hardware - systems based on AMD Athlon64 x2. I don't want to move the whole web cluster to a native 64-bit OS before all servers are upgraded. After having problems with 32-bit GRUB on the new hardware, I have hacked up the following solution:
I have moved all the directories from the root directory to a subdirectory /i386, installed a fresh installation of 64-bit Fedora on this filesystem (keeping the /i386 directory intact), and I boot a native 64-bit kernel with /sbin/init chrooted[?] to the /i386 subdirectory.
Well, the above is just a basic idea. In fact, few other tweaks had to be done - for example sysfs and /dev have to be mounted also inside the chrooted tree before the /sbin/init is started, the root filesystem has to be mounted read-write (because in the chrooted environment the root directory cannot be remounted by the rc.sysinit script - it is not a mount-point at all), few system 32-bit utilities (such as iptables) do not work under the 64-bit kernel, etc.
The whole solution is that I boot a script /i386-start instead of /sbin/init, and this script just runs
exec /usr/sbin/chroot /i386 /sbin/init "$@"
after setting up the system environment. This gives me a chrooted init, running as process #1. I have also started another instance of sshd that listens on a 127.0.0.1:another_port address, so that I can connect to the "outside" 64-bit environment when needed (when installing a new kernel, for example).
Tue, 06 Dec 2005
Beeping toys
Today I went for a lunch with a friend and former co-worker of mine. He gave me a present for Iva - a little stuffed penguin - very neat toy. It has one serious drawback - it plays a melody when a button inside it is pressed.
I did not realize this before giving it to Iva. She has of course pushed the button soon, and when she heared the melody, she started hysterically crying. I don't know why, but she is extremely afraid of animal-shaped toys which play a melody or any other kind of electronic sound.
It has happened to us before - usually unsuspecting friends or relatives give her a plush toy which plays sound, and it quickly ends up in our drawer or as a present to some other child, often after making Iva hysterically crying. The strange thing is that she is not afraid of all toys that play sounds - she has for example got a toy PDA which plays melody when a button is pressed, and she has got numerous rubber toys with whistles, and she is perfectly OK with them. Just stuffed animals with electronic sound are a big no-no.
Fri, 02 Dec 2005
Tree in a pot
Half a year ago we have visited the bonsai[?] exposition. I became interested in bonsai, and few weeks ago we bought a new bonsai.
I have repotted it, and I plan to give it few weeks of rest before pruning. I have also found an interesting site about bonsai - www.bonsai4me.com. It has all the basic information and some advanced techniquest too. I think this site is even better than some printed books which are available there.