Mon, 31 Oct 2005
Power failure, storage failures, IBM support failures
We had a power outage last Wednesday, apparently caused by a faulty breaker or something like that. Even UPSes and a generator were not able to bridge over the failure, so the whole server room went down.
Aside from the usual problems like "this server booted up before that one, so that this service was not working", two hard drives went faulty after the power outage (one on Thursday, and the second one on Friday). I suspect they were faulty immediately after the power outage, just the storage array discovered the failure while running some kind of internal tests on Thursday, or Friday, respectively.
So, we have met the IBM support again. We have bought the storage from some IBM reseller, and they claimed they can handle the support for us. However, we experience the same problems every time we try to handle a disk failure:
- We: "We have a drive failure in our storage array in the slot #5.".
- Reseller hotline: "Send us the serial number of the array." (or the drive, or the enclosure, or something like that).
- We: "We have a single array from you. You definitely know the serial number yourselves. Why should we repeat this every time? Why are you delaying the fix of the problem by asking this again? But OK, here is the number you have requested."
- After few hours, the call from IBM support: "We have a report about the drive failure in the storage array, can you send me a serial number of the array?"
- We: "We have already sent it to your reseller, why they did not report it to you? But nevertheless, here is the serial number."
- Few hours later, IBM support calls back: "OK, we are sending the new drive to you, you should have it by the next day or maybe the day after."
WTF? Why the reseller cannot communicate with IBM themselves as they promised? And what is worse, it seems that the reseller or the IBM hotline demand different parameters of our storage array every time - sometimes it is the serial number of the array itself, or the serial number of the drive, or the entire storage array profile, and the last one was some IBM part number which is even not visible remotely from the storage manager, and it is just printed on the array itself (so we had to walk to the array, which is located in a remote server room). The support of SGI is definitely better, altough we had a similar problem last time (they demanded something called the "revision number" of the faulty drive, which is only printed on the drive itself and cannot be read remotely by the storage manager).
Mon, 24 Oct 2005
Time for a new browser
I've been using Galeon as my web browser of choice for some years now. Is it time for a change now?
I remember the times when the Galeon development team forked, with main developer starting up a new project called Epiphany, a browser aimed to be minimal feature-wise, with full GNOME integration. At that time Epiphany was really minimal, and unusable for me (for example, it did not allow the user to set the Accept-Language header). Galeon development has slowed down since then, but they were able to do few releases, and Galeon has been a stable browser with many nice features.
Now it seems that Galeon developers have realized that they are unable to maintain the whole Galeon codebase, and they decided to write Galeon-like extensions to Epiphany instead. Apparently in the meantime, Epiphany got a powerful plug-in interface, and even Epiphany developers are willing to modify it to suit new plug-in needs. There is also a GNOME wiki page about issues which have to be solved in order to bring all Galeon features to Epiphany.
From the first few looks, it seems Epiphany lacks the following features I use:
- Better cookies/privacy manager.
- Configurable tabs position. I use tabs on the right side - I don't need another row of widgets to occupy another part of horizontal space of my screen.
- New tabs preserve history in Galeon. You can open the link in the new tab (using the middle mouse button), and hit the "Back" button in the newly opened tab in Galeon, and it works as expected.
- The URL entry box provides file name completion for file:/// URIs.
So it seems I will soon have to change my browser. I think I would use Epiphany, if they manage to fix the above issues. Or anything else? I don't want to use a KDE-based browser (as I use GNOME as my desktop). Maybe I should give a try to Kazehakase. Even though it is not GNOME-based, it at least uses GTK+, and it has a cool japanese name (it means Doctor Wind, or something like that).
Fri, 21 Oct 2005
A CCD chip failure
During the last month I have found that there is something wrong with my digital camera - sometimes when powered up, the camera displays the picture in the viewfinder in unreal colors, and with high noise. After few power cycles the problem usually disappears.
Fortunately, the camera is still under the warranty (last 14 days remaining, what an unusual luck for me :-), so I will get it fixed. However, today I have found that my problem is a known glitch in Sony CCD chips, and Minolta has a problem description on their pages, even with sample photos. And it has also been discussed on SlashDot.
Thu, 20 Oct 2005
What do I watch nowadays?
A list of anime series I watch these days includes:
- Full Metal Panic: The Second Raid - an excellent dark sequel to the Full Metal Panic, without the parody style of Fumoffu. The last episode will be broadcast in Japan tomorrow, and hopefully the Anime-Shrine fansub will be available on Friday.
- .hack//Sign - the unusual Matrix- or Total Recall-like cyberpunk in the fantasy RPG-style settings, and with an outstanding music by Yuuki Kajiura.
- Mai-Otome (or Mai-Z-HiME; I think it is still not clear how to translate it) - a story with similar characters to Mai-HiME - just started to air in Japan, and fortunatelty the Static-Subs are doing a fansub again. First episode is out so far - it looks like it is a fantasy-style series (magic + fantasy + school life = Harry Potter?). I hope that they will not put in so much filler episodes as in Mai-HiME and that they will not screw up the ending as in Mai-HiME.
- And maybe I should also watch Saishu Heiki Kanojo OVA - a side-story to the brain-drilling and tragic series Saikano - another wannabe gem of the year 2005.
Wed, 19 Oct 2005
Report nothing, expect nothing
We have ran out of DHCP addresses on a VLAN dedicated for student's laptops (be it wireless-connected or ethernet-connected). We have decided to split the wireless and wired part to separate VLANs (partly in order to allow the traffic shaping on the wireless part - the air is the bottleneck here, and we want to allow occasional users to work even though there are few bandwidth hogs among the students).
So I allocated a new block of 256 IP addresses, configured a new VLAN, edited the firewall rules, changed the authentication application so that it can work on two /24 IP blocks, etc. Yesterday evening I have reconfigured the public ethernet ports to the new VLAN. Today the students on the ethernet ports should be on a new VLAN, and the wireless access should remain on the original VLAN.
I wondered whether it worked as expected - it seemed that one of the switches in concern had unusually low traffic. I walked downstairs to the rooms where the public ethernet ports are, and asked the students whether their network connection was working correctly. In one room they replied that everything is OK, but the other room was full of students just sitting there with their laptops (probably connected over a slow WiFi link), and when I asked about their connections, they said that the it is not working. It remains beyond my imagination why they did not report the problem to us. Report nothing, expect nothing. I will try to fix the problem when I get some time.
Update - Wed, 19 Oct 2005: Allied-Telesyn switches are crap
I have power-cycled one of the switches between that computer room and our router, and it started to work. We have about seven switches from Allied-Telesyn, four of them have already been replaced because they were faulty. Especially their low-end switches are crap - no SSH, no Q-BRIDGE-MIB, no text configuration which could be saved over TFTP, etc. Even the high-end ones (such as the AT-9812T I've just power cycled) have their problems (only SSHv1 with 56-bit DES, no free firmware upgrades, etc).
That said, A-T switches of course have some nice features: AT-98xx reboots itself very fast (under five seconds) - I suspect they do most of the switching in hardware and keep the hardware running even during reboots. Their in-advance replacement warranty is also good.
However, I recommend HP switches for LANs. If you are building a LAN, do not buy Cisco or A-T. HP is simply better: text-based configs, lifetime warranty with in-advance replacement, real DB-9 serial connectors (null-modem cable included), firmware freely downloadable from their web site, OpenSSH, broad support for standards (incl. Q-BRIDGE-MIB, for example), automatic MDI/MDI-X detection, etc.
Mon, 17 Oct 2005
A new computer for my parents
I bought a new computer for my parents. Because I have virtually no experience with The Other OS (I do not even know where it can be ordered from), I decided to install Fedora on it. I was not sure whether they would be able to use Fedora instead of that other OS. I tried to make the system as easy to use as possible - automatic login in GDM, the Czech language environment, shutting down via the power button, etc.
I use a command line in Gnome terminal mainly, with few other appliactions such as Galeon, Liferea, or Evince, so I am not an experienced "desktop user". I was therefore surprised how easy-to-use current Linux distributions are. For example, it is possible to set up the whole dial-up connection with few clicks (and some ISPs even provide a documentation for setting up their service in Red Hat Linux). Definitely a big step forward since the time when I wrote a lengthy article about setting up a PPP connection in Linux (1995?). Also, setting up an e-mail account using Evolution is easy, and Evolution is apparently pretty intuitive for former users of The Other OS.
So, I hope they will manage to use Linux without problems. I think Linux is definitely usable by non-programmers, provided that someone will install and set up the system for them (but then, they are not expected to install The Other OS themselves neither).
Sun, 16 Oct 2005
Just an ordinary Sunday
We made a new toy for Iva. Pavlína painted the Tux, and I did the rest. Unfortunately today was not windy outside, so no real-life tests has been done.
In the meantime, Iva somehow managed to get the scissors:
Fortunately KOSS have a lifetime warranty for their headphones. But the real news is that starting from today Iva is apparently able to be without the nappies (except during the night, for now).
Fri, 14 Oct 2005
Why we don't win TMOU 7
I have already written about TMOU here. Yesteday we had a meeting of our team in order to test our skills by solving the exercises from the TMOU manual. I think some of the exercises are excellent examples showing why we will always have trouble to win or even finish TMOU:
For example, take this puzzle from Bedna (a game in Prague similar to TMOU in Brno). In the TMOU manual there was a simplified version - just use arrows at the rows number 4, 2, 6, 5, and 3 (in this order). The algorithm is pretty straigtforward - something you can probably guess after 10 seconds of thinking - but it requires to use all the arrows, and even then the solution is not very clear and readable. And a single mistake can lead to a completely wrong result. We have tried to beat this puzzle for an hour or so, and altough we have guessed the correct algorithm, we have not finished the solution before abandoning the algorithm and moving to the next guess. And in the real game it will be more difficult - somewhere in the forest during the night, possibly in the rain, we definitely would not have enough self-discipline to try the whole algorithm for each of our guesses.
Another example, yet of a very different kind, is the following sequence (again taken from Bedna):
5, h, s, i, ?
What has to be filled in instead of the question mark? The solution is pretty simple, but you either get the right idea, or you don't. There is probably no clue which would lead one to the right solution. And I think when we would not get the solution in the first few seconds, we start to explore the highly improbable paths like deriving the ASCII codes of the letters XORed with the phase of the moon or something like that.
We need a person without mathematical style of thinking in the team. Unfortunately, we are all computer or math geeks. But at least we know our weak points, so let's hope we can work around them.
Wed, 12 Oct 2005
Was it a dream? Or a vision?
Hitomi Kanzaki is a high-school student and a member of the school athletics team. Once when she has been trying to beat her record at 50m run, she has seen a strange man fighting a dragon. Her visions then continued, and she was taken to the strange land named Gaea, where medieval-style kingdoms were just about to start the war. Hitomi, who has always been interested in questions about fatality and predestination, finds out that she can occasionally forecast the near future using her pendant or the tarot cards. She joins Van (the guy who has fought the dragon) in his land, called Fanelia, where Van starts to learn fighting using a huge armored robot Escaflowne.
The series Tenkuu no Escaflowne (Vision of Escaflowne) is the story about Hitomi and her allies, who are fighting to survive the attacks of the Zaibach empire, and, eventually, to defeat the emperor.
Being one of the most popular anime series ever, Escaflowne of course brings many expectations. However, I must say I was a bit disappointed. While I can fully understand why it is so popular, it had serious flaws which lowered the enjoyment from this series even to the point I thought I would quit watching it.
When I think about it, the single biggest problem in this series can be named "unlikable characters". I did not like the character design with unusually big noses, and I did not like the main characters themselves: Hitomi is just a hysterical girl who is not able to decide whether her heart is with Van, with Allen, or even with Amano. Van is just a hot-headed guy who can be confused by his first defeat. And Allen? Is he a noble knight and an excellent swordsman, or a playboy trying to get every female person he meets? Even the "why is the Escaflowne so special and why only Van can pilot it" part of the story is not much interesting (especially when compared to the similar story of Eva 01 in NGE :-). When one watch the story about characters he does not like, even the best stories can get boring.
On the positive side, the "big picture" (or a background story) is pretty interesting, and I liked it. The politics behind the Zaibach empire, and the genesis of the war in Gaea where deep and well described. Also, while I did not like the main characters (maybe with the exception of a funny cat-girl Merle), the "dark side" was quite interesting and believable. This includes all the main villains - Folken, Dilandau, and especially Isaac. The background music by Yoko Kano (Cowboy Bebop, X TV, amongst others) adds also few positive points to the series, as it helps to emphasize the atmosphere of many scenes. The opening and ending songs were nothing special, though. The fighting scenes are well done, as is the animation in the other parts of Escaflowne. The "mecha" genre now for once means the robots are mechanical, not some living biotech as in Eva or RahXephon.
Overall, I think Escaflowne tries to mix too many genres - mecha action, historical settings, romance, drama, and mystery into one story. This means that action fans will get bored during the drama scenes, and those who enjoy the unfolding the psychological background of the characters will bet bored during the action scenes. Add the unlikable characters to the mix, and the result cannot be enjoying. My recommendaton: try to watch the first few episodes yourself, maybe you will not find the leading characters as annoying as I did.
- The Escaflowne Compendium - the most comprehensive fan-site about the Escaflowne world.
- Escaflowne at AniDB
- Escaflowne at AnimeNFO
- Review at Manga.CZ (in Czech)
Tue, 11 Oct 2005
Exporting data from IS MU
Every year we have to export data about entrance exams from IS MU to the state-wide database. As I wrote before, I am working on migration of the export/import mechanism to the XML-based transport. However, it is too late for this year's data, so we had to export data using a traditional way, via a Perl script, connected to both databases.
The problem here is, that instead of saying "this is the data we have, insert it to the remote system", it has to be done the hard way: "this is the data we have, that is the data they have, let's compare it, and insert, update or delete it as needed". However, the structure of the remote database is not exactly clean :-), for example, the study subject names are looked up using the full name instead of the code (even though there indeed exists a state-wide code assigned by the Ministry of Education). The study subject code-list even contains the code of the study programme, so we have to do "look up the row where the study subject name matches, and the code of the study programme matches".
Still not difficult enough? Okay, let's go to the next level: the code list is different from ours - for example, they have the study subject named "Gender study", while ours is named "Gender studies". And so on. So matching the study subject name is not exactly easy. And the study programme codes do not match either. The suggestion from the maintainer of the remote database is: "Try the exact match first, and then try to match at least the first letter of the study programme code".
Still with me? To another level then: when matching the study programme the above way, multiple rows can match. And I have to choose the proper one - for updating, the row which has already some references from the present data, and for inserting, the row which does not have any. Except that when there is none, take what is available as a fallback.
I am looking forward to the time when I rewrite this beast to use the XML-based transport mentioned above with the "delete everything at the beginning, and then insert all the new data" approach.
Looking for the Summer
Another insight into the way children program their brains with knowledge presented to them: Pavlína tried to explain to Iva that now the Autumn is beginning, tree leaves are starting to change their colors, and they will soon fall down. Iva has apparently understood this, as she has repeated all the above to me when I got back from work.
On Saturday, I was walking with Iva in a park. She was picking up flowers, and then she said about one particular flower: "Look, it is a corn!" I replied: "It is not a corn, it is some different flower." "Let's find a corn!", replied Iva. "It is too late. We can find corn during the Summer only. Now it is the Autumn.". Iva replied: "We must find the Summer!"
So apparently she did not properly learn that the names "Autumn" or "Summer" describe different time periods, and she thinks that they are names for some places. Oh well.
Mon, 10 Oct 2005
Wanted: kitchen chairs
Our chairs in the kitchen are worn out and one of them even cracked (and I have fallen down from one :-). So we are looking for new chairs. We want something simple, with higher backboard, with a light finish (birch tree or something like that), and with darker and easy-to-clean padded seat.
Apparently, there are no such chairs available: Sconto has similar almost the model we want, but they do not offer it in different types of wood or with differently coloured seats. IKEA has a single model which can be immediately recognized as a typical IKEA product (unfinished details, overall design, you name it). And ASKO has extravagant models only.
I think I will try to visit some smaller shops, but it looks pretty hopeless overall. It is the same problem as we usually have when we decide to buy something nontrivial (be it a kitchen chair, lamp or whatever): the problem is that we know almost exactly what we want, so it is harder for manufacturers to match our expectations.
Fri, 07 Oct 2005
The joy of XML
I am reworking a mechanism for exporting data from IS MU to an external database. Because the data form a tree-like structure, I have decided to use XML as a data-interchange format. I knew basic facts about XML, but this was the first time I got my feet wet with it. So far it is pretty unpleasant experience.
Firstly it is necessary to describe the structure of the data. The XML world offers about half a dozen different incompatible ways to do it - for example DTD, XML Schema, or Relax NG. Each of those technologies show pretty well the main problem of declarative definitions of anything: declarative definitions are either not strong enough to express what you want (DTD, server-side includes in HTML, etc.), or they are bound to contain something close to programming language (like PHP has evolved almost into a programming language, or for example XML Schema allows to write regular expressions or to specify minimum/maximum value of an integer number). Why they are trying to be both declarative and expressive-enough? The result simply has to be ugly, yet not expressive enough for some cases.
I have decided to go with the XML Schema. So the next question is, what is a valid XML Schema. Interestingly enough, the XML Schema can itself be defined as an XML schema . So what happens, if you try to check whether the XMLSchema.xsd file is a valid XML Schema? I have tried the XML::Validator::Schema Perl module, and some web-based validator, which I cannot remember now. Both had problems with validity of the XML Schema definition.
My other complaint is that XML is too much verbose. Why the tag name should be repeated at the end of the group? And why they often use the namespace prefix in the schema definition, even though it is the sole namespace in the whole document? This makes the whole XML file both harder to write, and harder to check for syntactical and logical errors. And why the namespace is usually labeled as URL, even though it is an arbitrary string and the referenced URL even does not have to exist? It looks as an URL, but it is not. Another point against readability. And after all, they do not use the URL directly, but instead it is immediately mapped to an abbreviation, like xsi: or something like that.
Another problem is the problem of XML-handling libraries. There are many, such as libxml2 or expat (not to mention Java-based solutions). And each of them have its own Perl front-end, usually with an API 1:1 mapped from C instead of an API designed for ease of use. For example, it requires lot of not-so-pretty code to allow your element-handler throw an exception, which you want to be reported together with the line number in the source XML file.
That said, XML has also few good features: the concept of well-formedness, character set specified inside the file itself, XSLT transforms, the fact that the XML Schema definition or XSLT definition are also XML files, etc. However, I can imagine there can be a less-verbose and less-bloated technology, which would serve the same purposes as XML.
Wed, 05 Oct 2005
How to end up on my do-not-call list
At one faculty (which should remain unnamed here) of our university they decided to install a new chip card reader to their access system. I have prepared all the infrastructure (a few weeks ago), but the delivery of the reader itself has been delayed. Today after 8pm they installed a new reader, called to my office, and tried to persuade my colleagues to call me on my cell phone (or even to give them my cell number) in order to finish the software part of the installation right at that time, because it was apparently a very urgent thing. Like they did not know about it at least this morning or even earlier.
At the end they somehow managed to get my cell number (I suspect someone from the company which installs the card readers there), and called me on the phone. I just has been trying to lull Iva to sleep :-( I have sent back a resentful e-mail, and I have saved their phone number under the "Do not answer" name. However, I wonder whether I can create a personal black-list of phone numbers, for which the network even would not attempt to route their calls to me. Or whether it can be done inside my phone - to make a special group of phone numbers which never cause the phone to start ringing.
Tue, 04 Oct 2005
Perl BP quotes
I have finished reading Perl Best Practices. It is a very good book, even though I cannot fully agree with few of the practices the author recommends. It is also a refreshing and sometimes funny reading - here are my favourite quotes:
[...] However, very occasionally those manipulations can actually make debugging even more difficult, by introducing arcane phenomena like heisenbugs (errors that vanish when you try to debug them), schrödingbugs (errors that manifest only when you're trying to debug something else), and mandelbugs (complex errors that seem to fluctuate more and more chaotically, the closer you look at them).
[...] If there's anything less enjoyable than beating your head against a bug for several hours, it's finally discovering that your debugging print statement was itself buggy, and the problem isn't anywhere near where you thought it was. This is presumably a homerbug.
Or this one about version control systems:
After all, rm * is never more than half a dozen keystrokes away.
Or this rant about the Perl interpreter itself:
[...] But, unless you are deeply familiar with the internals of the Perl interpreter(*), [...]
(*) In which case you already have far more serious personal issues to deal with.
Sun, 02 Oct 2005
Qualification for TMOU
Today the quaification for TMOU has been held (in case you don't speak Czech: TMOU - which means "through the darkness" - is an outdoor adventure game based on puzzle solving, organized yearly in Brno by people from the Instruktoři Brno group). And because the number of teams who want to participate in the game is higher than the maximum number of teams the organizers are willing to allow to the game, the on-line quiz - qualification - is being held a month or so before the game itself.
This time the qualification was the most difficult ever (right now, five hours after the start of the qualification, only 14 teams have passed the qualifiaction out of 190 which can pass the qualification and out of about 270 who are taking part in the qualification). I think the multi-leveled qualification - like they used this year - is more fair (with respect to the system of the game itself) than the "solve this single puzzle as fast as you can" approach they used to have in previous years.
Anyway, our team named coredump has finished the qualification on the fifth place, so it seems we have a good chance to finish (or win :-) the game itself. Unless we screw up some not-so-difficult stage, like we did in almost all previous years ...