Katrina
Via Dave Miller on Kernel Planet: A site by the NOAA that allows you to survey the damage done by the hurricane Katrina.
All this talk about Katrina this and Katrina that and how the water is coming from the sea in tidal waves and breaking dams would make one think the '80s group Katrina and the Waves is back. Oh well.
Gnome annoys me
I've been using Gnome for about a year now, after having been an Enlightenment user for about three. Even though E had far more bugs in it than Gnome (and E was no longer being supported upstream), I managed to bear E far more than I do Gnome now:
- For starters, Gnome has to stay off of my keyboard setting. I share
my home directory across machines of different architectures—i386
(even though that box is broken now), powerpc (mac), and SPARC—and
their keyboard settings are different: the PC has a regular PC 'be'
AZERTY keyboard; the mac has a mac AZERTY keyboard; and the SPARC has a
type5 QWERTY keyboard. They're all different keyboard mappings (although
the differences between the mac and the PC are not that huge, they're
still different enough so that I need different settings on both.
However, Gnome insists in changing my keyboard setting to what it thinks
is 'right'. This sucks. The fix is quick ('use default' in the keyboard
setting dialog) but annoying, and I have no clue how to completely
disable this crack.
Even if my home directory was not shared across my different machines, I'd still like Gnome to stay off. As an example, I'm typing this on the SPARC while logged on to my laptop through XDMCP -- the SPARC's monitor is larger, while the mac's processor is faster. Since they have a different keyboard layout, however, I need to manually set it again every time I switch from one machine to the other... - The Gnome people seem to have the habit of removing features under
the pretext of
usability
. That's crap; things I knew how to do under Gnome 2.8 now suddenly require me to manually fiddle with obscure gconftool-2 commands for no good reason other than 'it confuses users'. And by reading their documentation, I found that this isn't the first time they did this kind of bullshit. If it confuses people, hide it behind an 'Advanced' button please, don't throw it away. - Gnome doesn't have a decent window manager. The default one—metacity—refuses to allow me to place my window above the top of my screen. I know what I'm doing, thank you very much; software should not attempt to be smarter than me. Using alternatives, such as openbox (which is what I'm using right now), doesn't help very much either—it has the exact opposite problem: mostly every application I start has its title bar above the top of the screen by default. Using a 'save settings on exit' option doesn't seem to help any, either.
- I've previously blogged about how gconf adds an 'mtime' attribute to every entry in its %gconf XML-files, and how it updates those upon every modification made to the entry. This makes maintaining my homedirectory in svn unnecessarily hard. Granted, this is internal, and I don't see it as likely that the Gnome people will ever change this; but it still is annoying.
And there are probably some other things. Summarizing, it feels as
though Gnome is coded for unexperienced users. That's cool, but in doing
so, I'm afraid the Gnome people have forgotten that there are also some
power users who'd like to use their software. I'm finally fed up with
Gnome now, and want Something Better™
. What, exactly, I
still have to figure out. Perhaps I'll go back to E and have a look at
fixing the one bug
in the thing that annoys me the most; perhaps I'll consider a switch to
ion3, which I've heard
lots of good things about and which seems interesting; it's just that
some things I've seen when people were using it on DebConf scare me a
little bit; mainly because of bugs in other applications, but they
still reflect on the usability of the window manager, IMO.
Also, it appears to be a bit of a spartan environment, which I'm not
really a fan of—I (still) like E because of its features, and
switched to Gnome for the same reason.
In any case, I will not 'switch' to KDE. I used it quite some time ago (back in the 2.x days), and didn't like it, mainly because I think their look and feel has too much of an in-your-face attitude, and the recent screenshots I've seen haven't changed that. But that's just me.
Other suggestions are welcome.
User agent strings.
Whatever happened to sane user agent definitions?
I was just browsing through my HTTP logs, and found this jewel:
Mozilla/5.0 (compatible; Konqueror/3.4; Linux) KHTML/3.4.2 (like Gecko) (Debian package 4:3.4.2-0ubuntu0hoary2)
In other words: I'm Mozilla 5.0 (or at least I pretend I am; at
least I'm somewhat compatible. In reality, I'm Konqueror 3.4 running on
Linux). My parsing engine is KHTML 3.4.2, but if you don't know that,
it's somewhat similar to Gecko. I was packaged by Debian, but I actually
mean Ubuntu Hoary
. Might I make a suggestion?
Konqueror/3.4 (Linux) KHTML/3.4.2 (Ubuntu package 4:3.4.2-0ubuntu0hoary2)
No, really. Otherwise, in ten years, we'll see stuff like...
Mozilla/5.0 (compatible; Konqueror/5.0 (but actually Frobnidz/7.2)) FrobNidzHtml/7.2.1 (based on KHTML/4.2 (like Gecko) with patches from FrobNidz Inc.) (Debian package 5:4.2.3-0ubuntu0wanky7 rebuilt for Knoppix 5.0) (as implemented by Microsoft for Internet Explorer 8)
Or so. Which is silly.
Update: Yes, I know what the reason for those strings is, and why they are all built like that. I just happen to think it's incredibly silly to create a User Agent string that says you're based on foo, look like bar, and implement the same specs as frobnidz. And somewhere, hidden in a corner behind everything else, your real name. That this isn't going to change any time soon (because most web admins are braindead and/or don't know their job) is nothing new—but that doesn't make it less silly.
If anything, it calls for a different solution to the problems at hand. But then, I don't know what that solution would be, so let's just stick with laughing at how bad the current solution is, mm?
Referer logs are fun
Been looking through my referer logs; specifically, the search terms people have been using when they found some page on my site. It's fun to see how people end up on my site; but sometimes, it also suggests I should add a little bit more information here and there.
non printer of axis printserver
. My axis printserver occasionally doesn't work either. I tried upgrading the firmware, but that didn't help. I'm beginning to suspect it's a problem in CUPS, really. Input is welcome.axis 560 hard reset
. How about pulling the power plug? Alternatively, log in with the telnet interface; there's a command for a hard reset there, too.axis 560 default password
. 'root' and 'root' for the telnet interface; 'admin' and 'public' for the HTTP interface.motorola vme how stuff works
. Motorola VME machines are simple Single Board Computers—they have everything in one board. Those then get plugged into a VME chassis, which provides it with power and a backplane. One can then, for example, use other cards inside the same chassis to access the monitor, the hard disk, and whatnot. It's a very modular, very nice system.sun ultra10 harddisk upgrade
. That's very easy, actually: plug the new hard disk in the Ultra10, partition it, format it, mount it under the file system of your 'old' disk somewhere, and copy everything over. You can do this using 'cp -a', or using a file manager such as mc. Then make it bootable (silo if your box uses Linux, dunno how Solaris handles this) and remove the old disk.what is the meaning of time=1000ms in ping
. It means it took 1000ms, i.e., 1 second, for a packet to be sent to the remote host and an answer to be sent back.sarge m68k mac
. You can find links to images here. Alternatively, I'm willing to burn and ship m68k installation CD's for anyone interested, provided they send me money for it (mail me to get the details). Also, you'll want to use the 2.2 kernels—2.4 does not and will not ever work on m68k mac, and 2.6 doesn't work reliably yet either.m68k 2.6.12
. You can find precompiled packages on Christian's pages, or source in :pserver:anon@linux-m68k-cvs.apia.dhs.org:/home/linux-m68k/cvsroot (the linux module). See www.linux-m68k.org for details.weblog pron
. No, you won't find that here. Move along...azerty powerbook keyboard
. I have a slightly modified keymap for my own azerty powerbook which is running Linux. I'm too lazy now to put it online, but if you need it, mail me.exim4 check valid from email address
. Easy. Add 'require verify=sender/callout' to your rcpt_to acl. Search for 'callout verification' in the exim4 info file.company in australia who produce an atm monitoring card for ethereal
. I'm surprised that even ends up at my website...belgium waffles recepy
. Dissolve 20g of yeast in 200ml lukewarm water. Put 250g flour in a bowl, and slowly add the water with the yeast, while stirring. Add a bit of salt and 200ml of lukewarm milk. Separate the yellow parts of four eggs from the white, and add them to the dough. Make sure there are no lumps left in the dough -- use a mixer if necessary. Make foam of the wite of the eggs, and carefully add it to the dough together with 125g of molten butter. Do not touch it for 15 to 20 minutes. Use a waffle iron with a coarse grid; apply some butter to the iron, or some other grease matter. Bake until you get a gold-yellow color. Add whipped cream or powder sugar, and perhaps some strawberries or other fruit. Enjoy!how do you pronounce stella artois
. Use French phonemes.quickstep debian
. quickstep.nixsys.be. No, you don't have access. Contact me.m68k bootloader
. penguin or emile for mac, amiboot for amiga, bootstra.prg for atari, vmelilo or tftplilo for VME. Only the last two are packaged at this point in time.
It's amazing how little mail I got about those things, considering my email address is listed at the bottom of every page. No, really. If you end up at my website, and you want some more information, just ask. I won't bite, I promise. Well—except if you think you'll find weblog pron here.
Bad MSNbot
Still perusing my HTTP logs. It's incredible what one can find in more than a year's worth of HTTP logs. This one, I find less amusing. For the month of August 2005 _only_:
Hits | Bandwidth | Last visit | |
---|---|---|---|
MSNBot | 18814+713 | 72.42 MB | 31 Aug 2005 - 23:54 |
Googlebot | 4798+153 | 55.66 MB | 31 Aug 2005 - 23:38 |
MSNbot hits my server way more than google, and in doing so uses way more of my bandwidth. Not that my server can't handle this or anything, but it's still quite a lot, in comparison. I can only guess what that would mean to a site with way more content than mine.
I'm seriously considering blocking MSNbot.
Darn.
I did something incredibly stupid yesterday.
At the moment, because the prices to drive by train through Belgium are insanely expensive, I'm going to the office by bus. This bus ride takes about two ours at least, and is horribly boring—especially seen that I can't use my laptop for too long on a bus, in fear of starting to feel sick.
The stupid thing is that I left home with my jacket, and arrived at the office without it. Had forgotten it on the last but I'd taken. That in itself wouldn't have been so bad if not for the fact that the thing contains my keys... and possibly also some documents with my address on them.
I've contacted the proper people of De Lijn, which manages Flemish public buses. Hopefully they'll find it; if not, I'll have to tell dad he'll have to replace the lock on our front door.
Mean time, we'll have to lock the door and leave the key on.
Marihuana
This is the second time in only one or two weeks.
I'm sitting on the bus, on the back seat, going to work. Three meters from me, there's a guy rolling a joint. I can't help but smirk when thinking how if this were the US, he could end up in jail for 10+ years.
Here, it's semi-legal—as long as there's no minors here (check), he doesn't actually smoke it before he gets home (check), and he doesn't have more than a certain predetermined amount of marihuana on him when the police search him (didn't see more than what's in the joint–check), the police couldn't even give him a ticket for it, should they want to.
The fun part about it being semi-legal is that you're allowed to carry a certain amount of marihuana (not much; barely enough to roll one joint, and then only if you mix it with tobacco) and use it in the privacy of your house, provided there are no minors when you do so; but you're not allowed to grow it, sell it, buy it, or anything remotely similar. To get your stuff, you'll probably have to go north, and buy it in a dutch coffeeshop.
Oh well.
Cellphone dead.
One would wish that like software, hardware would simply live forever. Alas.
My cellphone apparently dropped out of my pocket one time too often. The little engine inside that provides the vibration function had already been loose since the very first time I dropped it (when I had it for about a month or so) and I never used it since that time; but by now, it's come even more loose, and something has gone very bad. About half of the time it says "contact service" when I power it up, and when it does get switched on properly, it usually doesn't find a network. And even then still—on the off chance that I can power it on and it properly connects to the network, it either switches itself off for no particular reason after a while, or just loses it's network connection. Chances of that happening are lower if I don't move the thing, but then a cellphone that can't be used isn't very helpful.
This morning, I tried getting a connection for about 10 minutes before I finally gave up and used my parent's land line.
I went to a local hardware store (as in, metal and the likes rather than computer hardware) and bought myself a T6 screwdriver, so that I could open up the thing, and I removed the vibration engine.
That didn't work. On the contrary; without that engine, I have not been able to get any network connection anymore. Considering how the engine is positioned suspiciously close to the phone's antenna, I suspect that Nokia's engineers introduced a clever hack to extend the antenna size without having to add too much metal. Either that, or the engine broke off a few important bits inside the phone.
So, now I'm down to having to go buy a new cellphone. Luckily, it appears as if the 6310i is still being manufacturered, so perhaps I'll be able to still get myself one outstanding cellphone without bullshit functionality (who needs camera's and color screens on cellphones, of all things, anyway?). Only need to get the budget for a new phone first. Oh well.
Comments on
I finally bit the bullet, and finished the comments code I had been writing for my blog; it should technically allow for comments again.
My system is fairly simple, really: All HTML is allowed, but all
comments are also moderated; and there's no preview
option. The
idea of that is to prevent cross-site-scripting.
However, there's an issue. I've enabled apache's MultiViews option (a.k.a., Content Negotiation) and am not using any file name extensions, so that a client can send a request like GET /foo HTTP/1.1 and get the output from /foo.php, which I think looks a lot saner; it also allows me to provide multiple versions of the same file. When I use Konqueror, it works perfectly. But when I use Mozilla Firefox on my blog, rather than getting the PHP file's output, it receives the RSS file.
There's something going wrong there. I've been looking for a fair while yesterday night to find out how to tell apache that no, an RSS file is not useful to serve as main content, but I've thus far been unsuccessful.
Hints are certainly welcome (and if you want to try my comments system, it could use some testing
While I'm at it: in response to some criticism of my website, I've also changed some php.ini setting, so that PHP should allow for non-cookie sessions. Let me know if it works (but if it doesn't, I don't see many more options, and you'll have to live with it).
d-i l10n considered harmful
I'll probably get the wrath of Christian Perrier over me for this, but let me explain.
Of course I have nothing against l10n. It's an important job, not only underestimated by many, but also unthankful, undervaluated, and rather monotonous and boring at times. For that reason, we should give our translators all the help we can give them—for we want the stuff we write to be useful for our users, and that (also) requires translation.
However, it is my humble opinion that l10n should not interfere with ease of development, because then you create problems.
wouter@country:~/debian/debian-installer/packages/arch/m68k/vmelilo-installer$ svn log | wc -l 1767 wouter@country:~/debian/debian-installer/packages/arch/m68k/vmelilo-installer$ svn log | grep -B4 'l10n-sync'|wc -l 1190
(sorry for the long lines)
See what my problem is? vmelilo-installer is a fairly well-working piece of software, which does not (need to) see lots of development. However, when I want to look something up in the subversion log, I have to wade through what to me is a lot of noise.
The frequency of these scripts has been lowered recently, but I feel that is not the right solution. Instead, I was thinking of extending the script that's now used to update the debian/changelog file to also do whatever the l10n-sync scripts currently do; this would remove the need to perform any sort of automated commit, while still having the single po-file in packages/po. No?
Setting up ska as a buildd
Since the m68k buildd effort has a huge backlog currently, we're adding some additional buildd machines. A few days ago, Christian Steigies finished setting up his Falcon with CT60 board that he's got. Thing has a rather largish IDE disk, a 66Mhz 060, and 512MB of RAM, which makes it the best buildd that we've got currently—apart from the network connection, which is a serial line; the CT60 designer hasn't finished designing its ethernet network interface yet.
In addition, I've been working on setting up my MVME 167 (ska) and Mac Quadra 950 (jazz) as temporary buildd machines, too. Both are 33Mhz 040s with 64M of RAM. For diskspace, I wanted to use these 4G disks that I bought through ebay a while ago; And while these disks work, there's some issue with them in that they produce Kernel Oopses. The first disk I set up (on the mac) did this, and now the second one is doing the exact same thing with kernel 2.2 on ska for some strange reason. Since the mac doesn't support 2.4 or 2.6 (yet, for the latter), I couldn't try another kernel there; but now that I could try the disk in 2.4 on the VME box, I found what the problem is. From dmesg:
Attached scsi disk sda at scsi0, channel 0, id 0, lun 0 Attached scsi disk sdb at scsi0, channel 0, id 1, lun 0 sda : unsupported sector size 520. SCSI device sda: 0 520-byte hdwr sectors (0 MB)
520 byte blocks? WTF? Normal, decent, drives have blocks that are 512 bytes large. Why these strangely-sized block sizes? 520 is not even a power of two. It makes no sense.
Ryan came up with what seemed a reasonable explanation:
<neuro> drive out of a raid array? <neuro> some of them do have odd sector sizes <neuro> so you can't use them without the raid
That could be it. I wouldn't know; I bought them as they are through ebay, and after formatting them in MacOS' HD SC Setup, the other disk worked without problems; it's possible that it did a low-level format without telling me.
So, that's what I did. The sformat package allowed me to do the same thing. Only it requires far more input... hope I did everything right.
If everything works out okay, then ska will be building by the end of the weekend, at worst. It'll take a short while longer for jazz to follow suit, however, since I don't have a spare AAUI ATM, and so I can't connect it to the 'Net currently (but a solution for that one is in the makes, should only take a few days, weeks at worst).
I called them 'temporary buildds', because that's what they are. Not only is ska the only VME box any of us m68k porters has (which means I need to test vmelilo and the VME flavour of d-i on this box, which requires reboots every now and then); it also runs in my bedroom, and produces quite some heat and noise; I prefer not to let it run for days on end, if at all possible. And jazz, I plan to set up as experimental/etch-secure buildd once the unstable backlog has been cleared, to help out quickstep, my Centris 650 (25Mhz, 135M RAM) which is the only box currently doing that.
Printer problem cause found.
I finally found out why my printer sometimes doesn't print. It's a problem with one of gs, hpijs, or foomatic, which does not produce any output from some valid .ps files on SPARC only. (I'll file a bug once I find a sufficiently short test case -- I don't think attaching a 15M .ps file is a good idea
Especially that last bit is worrying me. This isn't the first SPARC-specific bug I've come across:
- sudo has a problem with timestamps. Upstream suggests a bug in libc, and followups in the bug report seem to support that hypothesis.
- SpamAssassin sometimes truncates my mails.
- Jaakko Niemi found on DebConf5 that pdns quits with SIGBUS after running for about 5 seconds, on SPARC. (I prefer to use BIND9, so haven't run across this myself yet).
- ... there was one more, that I can't seem to remember right now
And now I found this one. I had a picture that I wanted to print, and got nothing out of the printer. So, I fished the PostScript stuff out of the CUPS spool, ran foomatic-rip --ppd HPDJ.ppd <spoolfile >tmpfile; lpr -Pdeskjet -oraw tmpfile on a different machine; and sure enough, it worked, which it did not when I let it print 'normally'; and if I ran the foomatic-rip command on the sparc box, it works for a while and then produces a file which is exactly 0 bytes large.
This is exactly the sort of thing we need porter teams for. m68k is alive and kicking; we don't have this kind of issues in our stable release. Right now, however, I'm seriously considering to stop using the SPARC box as a server, upgrade it to unstable, and (try to) use it as my desktop. That will mean I'll need to find a different box to serve as my server, then...
No flamewar yet.
Posted from a private IRC session (with permission):
<tomv> Is it possible that m86k buildds are not reaching extra packages? <Yoe> ATM, yes <Yoe> we've got a >300 packages backlog <Yoe> working on it, but bear with me; will take a while <tomv> I just wondered whether anyone had noticed because there's no flamewar about it yet. But maybe this is getting better, too.
Well. I guess he's right, somewhat. But it sure tells of Debian's culture.
Wanted: an RSS reader with a killfile.
I've been using Imendio blam since a fair while now to read some various planets—Planet Debian, Planet Gnome, Kernel Planet, and Planet FreeBSD; but also some other stuff such as select parts of the Debian-Installer svn tree and the (rather funny, IMO) photo-comic "Everybody Loves Eric Raymond".
While most of this is fairly interesting stuff, there are also posts that I dislike reading. As it happens, usually they're from the same people, such as Michael Meeks' daily this-is-how-long-I've-been-reading-my-mail-and-poking-my-nose, or John Fleck's I-have-nothing-to-do-with-gnome-anymore-but-I'm-on-their-planet-anyway. Though I'm sure there's an audience for this kind of stuff, I'd prefer not to read it. The best way to do this would be to tell Blam that I dislike this and that sort of thing; unfortunately, that doesn't appear to be possible.
Hence, the wish for a killfile.
(Note: Michael Meeks or John Fleck need not be felt singled out, should they ever read this—though I dislike their writing style resp. choice of subjects, let me assure them that they're not the only ones I dislike to read
Waffles
For the ensemble's fundraising evening which was yesterday, I spent the better part of yesterday's afternoon baking waffles. The real Belgian ones, with the recepy as is traditional in Brussels. Started doing that at 14:00, finished at 17:30.
Most of it was spent waiting for a waffle to be ready; the waffle iron we have isn't too large (or whatever it's name is) and can only bake one waffle at a time, which takes about 5 to 10 minutes; considering I did about 15 of them, and that I of course also had to prepare the dough (twice, because I didn't have enough at first), well...
In any case, they were good. After removing the failed ones, and eating a few of them, I had 11 waffles left to take to the fundraising event, which was one more than had been asked of me; and there were 4 leftovers, so we're enjoying them today, too. Of course, they don't taste as good cold as they do when they've just been made and are still a bit warm, but with a bit of powder sugar, nobody notices...
Wrong guess.
It wasn't Star Wars. Instead, my brothers and sister ordered the piano tuner. Which was a good idea – last time our piano was tuned was, according to the guy's records, back in 1998. My brother was still attending piano classes back then, and my parents made sure the piano was more or less tuned correctly most of the time.
Since he stopped those classes a few years back, the piano just stood there. We didn't get rid of it, and I liked to play it every once in a while. Not that I'm extremely good at it, but, well.
I started playing more often lately, since I've discovered the existance of the Mutopia Project. I guess they noticed; and since my now 24-year-old brother has been playing the guitar since he was 10, or so, I guess he got quite irritated with me playing on a piano so direly in need of tuning...
Heh. Well, it does sound a lot better now. Thanks
Missing my flute
It was a beautiful day today. The perfect weather: sun shining, but not so much that you want to stay in the house, out of the sun, doing nothing; no unexpected rain, or other sudden changes; and –especially– it's not the time of the year yet when most plants and flowers are in bloom, so I didn't spend all day sneezing either.
This kind of weather is the perfect weather to sit on our terrace, by the pond, and play some music. Unfortunately, since both my flutes have been stolen, the only instrument I could use to do this was the bass flute. I tried playing Debussy's Syrinx, but it didn't sound good on that instrument (to put it mildly), and I had to redo parts all the time because I couldn't get it right. After some minutes, I suddenly realized I was playing the piece one octave too high, and that the flute was already weighing on my arms.
Discouraged, I put it away again. I would've loved to play some more, but I knew at that point that playing this instrument wouldn't satisfy my desires.
This is the first time since the instruments were stolen that I'm really missing them. I didn't miss the first (and objectively most valuable) instrument when it was stolen, because I still had the second (and oldest, and emotionally more valuable) one at that point. I didn't miss the second instrument when it was stolen, because I could still play the bass flute when I wanted to, and indeed do so each week at the rehearsal. Of course I felt a loss, but didn't actually miss them yet. I do now.
We have quite a musical family. I play the flute, and have started playing the piano, too; my brother Joris and sister Leen have actually followed piano classes (in my case it's self-education); Roel plays the guitar; and Thomas used to play the drums. Next, Leen, Joris, and myself all have sung in a choir.
Roel's girlfriend also plays the guitar (in fact, if I'm not mistaken, that is how they met). Now since she's finished guitar classes, she was interested in learning a different instrument, and chose the flute.
Last weekend, she arrived at our home with a flute she'd bought second-hand. Nothing too fancy—a Yamaha YFL-211SII, which is a pretty regular beginner's instrument—and asked me to have a look at it.
My initial feeling was Can I? Really?.
Living without a normal flute (and without the budget to buy a new one) for the past year hasn't been too easy. Even if I didn't play the instrument all that often when I still had it, I've always loved making music.
The instrument wasn't in perfect condition (one of the springs had come loose), but it wasn't anything I couldn't fix. I did play it for a while, and that was lovely.
Wireless
Finally got around to buying myself a USB wireless thingy. Only took me almost a year to do that. Oh well.
The device is made by Peabird, and uses the ZyDAS ZD1211 chipset. The driver for this chipset has been written and (consecutively) GPL'ed by the manufacturer, which is a good thing. It does need a firmware blob to be used, however, which is unfortunate, but, well. I guess that's standard procedure these days.
What's less interesting is that the driver hasn't made it into the vanilla kernel yet, other than the driver for the ZD1201, it's 802.11b counterpart. That's a pity, but not something I can't handle. At least it works, and I don't have to do anything totally out of the ordinary (apart from compiling a module)
It also appears this module hasn't been packaged yet. Maybe that'll happen—but seen how I don't understand a <censored> about the kernel internals, I don't feel too inclined to do that. Especially not since the firmware blob required by this module is embedded in a .h file, rather than in a separate file for /usr/lib/hotplug/firmware, as would be required to package it.
Found: an RSS reader with a killfile.
Although Joey has a point, I do think that blogging is different from mailing. I mean, how could I cross-reference him like this? It's easier to read just one part of a discussion through a blog than it is to read part of a mailinglist.
Anyway
I received some feedback on one of my previous posts (all through comments on my blog, suggesting that my home-brewn comments system is up to snuff); two of the items pointed me towards liferea, which I promptly tried out. Quickly found that it supports almost1 everything that blam! supports, plus much, much, much more—I especially like what its default CSS does; it looks so much more pleasing to the eye than blam. And as an additional bonus, it's written in a compiled language, rather than an interpreted one—wahey for startup time. Now I haven't looked at the killfile possibilities yet, but even if they turn out to be worse than what I expect, I still ain't going back.
1the only thing I couldn't find how to do in liferea is how to order items in chronological, rather than counter-chronological, order, as I have it configured in blam. But that's just a minor cosmetical issue, in no way a reason to stick with blam...
Update: Okay, so turns out I can do this after all—just need to click on the list header to change the ordering. As is the case for every user interface, except for that of blam. Another reason not to use that thing anymore...
GCC adventures
So there's been problems with gcc-4.0 on m68k for a while now, it producing segfaults and ICEs all the time, especially (though not exclusively) when compiling at -O3. I'm suspecting most of these issues (though probably not all of them) are really the same bug, which also happens to be fixed in upstream CVS. Unfortunately, since that upstream version has not been released yet, I can't just go ahead and suggest to our gcc maintainer to please package that one. Besides, I already know his answer:
sep 16 19:12:45 <doko> Yoe: that's true, you have to package the upstream version first. you're welcome :-)
... which doesn't sound very appealing to me; gcc is one hell of a package to maintain. All the more respect to Matthias Klose, of course.
So, I've been trying to find the fix to that bug that's been troubling us. Since I'm not very familiar with the gcc code myself, doing a diff between gcc-3.4 and gcc-4.0 (or even the gcc-4.0 source packages in Debian and the gcc upstream CVS) will not likely help me find the bug. The alternative is the reg_search script in the gcc source code, which will do a binary search through CVS versions until it finds you a small interval of two dates—one date with code that works, one with code that doesn't. In plain english: compile the compiler, test if it works; if it does, update the source to another version in one direction; if it doesn't, update in the other direction. Recompile, retest. Repeat until your interval is sufficiently small.
Since compiling one compiler on a 68040 takes, uh, "a while", I decided to do this using crosscompilers.
sigh
Turns out gcc expects you to build binutils with the same --prefix argument as the one you pass to the gcc configure script, and that the target-libc appears in that same prefix, too. Since I didn't feel like producing binutils, half a compiler, a cross-libc, and then a full compiler before being able to start this binary search, I tried to take a shortcut by using the excellent toolchain-source packages, which produces binutils and target-libc into /usr, through packages. My own gcc, then, built so that it would install into /opt/gcc-cvs, since I didn't want to pollute my /usr.
So, there. That didn't work. Took me almost all of today to track, even though I passed it /usr/m68k-linux as the position of the libc, and though the m68k cross-binutils were in my $PATH.
Morons.
Switching to ion3
As I said previously, Gnome has been annoying me for a while, and I've been looking out towards 'something better'. Although I had received quite some suggestions from various people, the only thing I really tried is ion3; I've seen a fair number of people use it in Helsinki, and had already gotten interested in this quite different user environment.
I must say it's something completely different; as you might've guessed by the fact that I used Enlightenment and Gnome before, the look of my screen is something that has always been of quite some importance to me; and, unless I'm missing something, this ion3 thing doesn't even allow me to specify a wallpaper. Of course it's not that I didn't expect that when I prepared the switch, but it shows what a huge difference there is between what I'm used to and what I'm getting myself into.
Other than that it is totally non-pleasing for the eye, using ion3 is going pretty smoothly to me. Then again, I haven't made the switch totally unprepared—I'had tried it out in Xnest beforehand. Which worked, mostly, except for the fact that gnome was messing with my keyboard settings and that, thus, some keybindings didn't work. But that's now an annoyance of the past...
Two characters!
Roman Zippel was nice enough to point out what the exact patch is that fixes the bug which makes GCC 4.0 segfault so many times when optimizing at -O3 or above.
Whee.
The fix involves adding two characters on one single line. That's it.
Of course I've ceased my (now futile) attempts to find it out by binary search, and am about to (natively) build a gcc with that patch applied. Hopefully that'll work.
I've also noticed that it currently is somewhat impossible to build a cross-compiler from the gcc-4.0 source. But that's for another time.
Kiivi's chroot fucked again
Woke up this morning and was greeted by over 120 mails from kiivi, in the 'not successful' directory. Turns out some postinst had failed, and that because of that, some packages were now installed brokenly, so the chroot was dirty. Just cleaned it out, now running an update (since I've had to shut down buildd anyway). Luckily they were all give-backs, not failures, or I would've gone mad1
In related news, due to the recent additions of ska (my MVME167) and garkin (Christian's Falcon-with-CT60), our backlog is shrinking again; we're down to ~280 now (from ~350), which is a good thing. That, plus the fact that the bug in gcc has been found, makes for a happy Wouter.
1in case you were wondering: failures need manual work, give-backs don't.
Update: Right. Looks like I installed the broken binutils on kiivi. Whoops. Downgrading right now...
printk() abuse
I think this qualifies...:
wouter@country:~$ dmesg|tail [ 8275.034839] adt746x: Setting speed to 64 for GPU ON DIE fan. [ 8554.138687] [ 8554.138702] _____ ____ _ ____ [ 8554.138705] |__ / _| _ \ / \ / ___| [ 8554.138707] / / | | | | | |/ _ \ \___ \ [ 8554.138710] / /| |_| | |_| / ___ \ ___) | [ 8554.138713] /____\__, |____/_/ \_\____/ [ 8554.138715] |___/ [ 8554.138718] zd1211 - version 2.0.0.0 [ 8554.164600] usbcore: registered new driver zd1211 wouter@country:~$
Oh well. Robert Jordans, who's packaged it, updated it to a different branch so the above is gone. But this is still funny.
New cellphone.
Got myself a new cellphone today, since my old 6310i was dead to the extent that I couldn't even properly power it up anymore more than half of the time—and when it did power up properly, I'd lose network once the phone moves to another cell. Which kinda reduces the usefulness of a cellphone.
So. New phone. Nokia 6021. Nice device; it's got a color screen, bluetooth, MMS-capability, and some more new features. No camera, though—phones with camera and bluetooth are rather expensive, and I don't need that in a phone anyway.
Already tried whether I can use the phone's DUN profile to dial in to the modem at the office, which seems to be no problem; and by claiming that my phone is actually a 6020 (rather than a 6021, which it actually is), I could get gnokii to talk to it as well.
Whee.
On hate and ancient architectures.
Brian Nelson wonders why Debian 'hates' software developers and 'prioritizes ancient architectures over actual progress'.
First, get your facts right. The GCC 3.2 transition (with G++ ABI incompatibility) started on 2003-01-05; it had repercussions until at least 2003-08-14. For those of you who want it spelled out: that's well over seven months (more, since the second post I link to doesn't mark the end of the transition).
Second, apart from a C++ transition we're also facing a major version upgrade of the compiler; we're going from 3.x to 4.x. Meaning, a lot of fairly new code, and quite some regressions. This happened when GCC 3.0 was first introduced, too; however, we didn't have a G++ transition going on back then, so most people didn't even notice (except for the few unlucky ones who happened to hit an ICE).
Third, apart from the above problems, m68k is/was also facing a rather largish backlog due to it not being able to keep up with the transition, rather than its toolchain being broken. That problem is being addressed; in fact, the backlog has now been reduced from about 350 packages a week ago to 192 as of this writing, which is rather impressive (in fairness, I should also add that we've got 181 packages in state Failed, who will need to be rebuilt once our compiler has been fixed—and that might happen rather soon).
The point being that it's easy to bitch about 'ancient architectures' holding back the rest of Debian (especially when it's true, as unfortunately is the case right now); but that isn't helpful. All architectures will be problematic every once in a while; this is normal and to be expected. As long as it doesn't happen too often, I don't think it's unreasonable.
Hell, the arm people decided to throw out all packages because they need to change their ABI in an incompatible way. Talk about being disruptive...
Slow serial links
Get: 1 ftp://ftp.uni-oldenburg.de unstable/main Packages [3565kB] 14% [1 Packages 550296/3565kB 15%] 1183B/s 41m51s
Doing an update from Sarge to unstable over a 37600bps serial PPP link might not be a very good idea
Playing police will not work
So there's now a Debian Tech channel. Apparently, some people thought there was need for a channel where we're all nice and friendly rather than start attacking eachother; and if you're not like that, you might get kicked out of there.
This isn't the first proposal from aj that involves forcefully being nice to eachother and policing those who're not doing so, but I don't think it's going to work. Debian has never done this; if you suddenly start making up such rules and request that people keep their temper, those people will just go somewhere else to cool off; and you'll lose the possibility for consensus that is so important for whatever Debian wants to accomplish.
I agree that our constant bickering isn't the most productive way to get things done; Debian would be so much more pleasant if everyone would just be nice to eachother. Unfortunately, Debian is a large group of largely unorganized people. It's actually normal in such a case that people fight every now and then—many of us are very passionate about what we do, and want the Debian system to be the best system out there. Which is good; it is one of the reasons why Debian actually is such a good system. But invariably, when so many people get to have a say about so many things, with everyone being basically equal (or at least, mostly so) as is the case for Debian, you'll have conflicts every now and then.
I can see two ways to handle that:
- Do not do anything. Accept the fact that there are fights every now and then, and deal with them; do remind yourself every now and then that these are all just bits and bytes, however, and do not hold grudges; or,
- Give some people more authority than others. We already have this (to some extent) in that people who 'do the work' get to decide, but when there's more than one person (of group of people) 'doing the work', there's currently a conflict of interest, and, as a reasult, heavy bickering. We could give some people the authority to make a judgement call in such a situation, but then you'd eventually end up with a corporate-type hierarchy that at least I myself would like to avoid.
It's also not quite unlikely that it gives more power to those who're first. I could come up with a proposal that would kill off whatever stuff you're trying to accomplish, while there's a different way to accomplish the same thing; you, being passionate about what you do, would go on and rant about it in some public space. Then you would be shut up by the "be nice" police, and my proposal would be implemented.
With the status quo, I would come up with the same proposal. You'd rant about it in public. I'd need to defend my proposal, which I'll do just as passionate, and we'll have a flamwar on a mailinglist from here to Tokio. In the end, we'd both be a bit less happy with what Debian has become, but -and this is important- either the status quo will be retained or a compromise will be found and could be implemented. It's not totally efficient, but it does work.
And really, forcing people to be nice—"or else!"...? That won't accomplish anything, really; it's just a different way of generally not being nice to eachother.
The question you should ask before implementing police states is "is this police going to add value to whatever we do," not "is this police going to make us happier?"
Even if being happy with what you do is, of course, generally desirable.
GCC fixed!
A new gcc was prepared this week, and the m68k package uploaded yesterday. This contains the two-character patch which makes 40 tests in the test suite go from failed to successful, and which I confirmed yesterday evening to have fixed at least three (but probably many, many more) reproducible segfaults during Debian package builds.
Roman Zippel, I owe you a beer.
I'm updating the buildd chroots of the two buildd hosts I maintain. Or at least, I'm trying to; it appears that kiivi died somehow—it replies to a TCP SYN packet and a connection is set up correctly, but then nothing happens anymore. Mailed Meelis Roos, the owner and local admin, to have a look at it; knowing Meelis, this shouldn't take too long. Luckily.
Argl.
Meelis replied to my request, and did so fairly fast, as expected. About half an hour later, however, he had some bad news. Turns out the MacOS disk in kiivi died, and the machine won't boot anymore. Another reason why we need to finish those EMILE packages.
It'll be down for at least a few days, until Meelis has the time to put a new disk in the machine and get MacOS on it again; but that's assuming the Linux disk is still good. If that one is dead too, it'll take longer...
Upgrading libc6—the hard way
So Branden arrived here in Oldenburg a few hours ago, and brought tortoise with him, his Mac Quadra 840AV that he's got. Since he took it apart to add more RAM about three or four years ago, he couldn't get it back together so now it's been lying there in pieces for ages. No, that doesn't mean Branden doesn't know how to work with hardware—macs are weird. We had some fun putting it back together up to a state where it works, sortof (there's still one piece left that neither of us knows where to put) and then powered it up again. It had a potato install in it, and a Debian 2.2r2 CD as well (which, occasionally, happened to be the NONUS version, so he probably broke US Export laws by taking it with him).
After looking at the /dev/sdb4 has not been checked in 1484 days, check forced etc for a while, the machine was finally running again. For the first time in many, many years. Since Branden had bought it to be able to compile X on that machine, it's probably fair to say that the potato installation is fairly useless to him. So we set out to upgrade it to unstable.
Now there's a slight little problem here: upgrades from potato straight to sid are not supported at this point in time (they were only briefly, during the period of August 2000, when Potato was released, 'till about November 2000, when Woody was created). The only supported upgrade path from Potato to Sid is to upgrade to Woody first (which is oldstable by now), then to Sarge, then to Sid. Since there's no chance I'm going to upgrade this box three times, I skipped that and tried to upgrade to sid immediately. Obviously, there would be problems, but I was sure I could handle them.
First attempt: install aptitude.
apt-get install aptitude
This triggered a conflicts loop between libc6 and e2fsprogs (e2fsprogs in unstable needs a more recent version of libc6 than is in potato, while libc6 in unstable has a versioned conflicts with e2fsprogs, and the one in potato is too old). Since I couldn't seem to be able to get it fixed properly, I eventually gave up, made sure the packages I needed were all downloaded, went to /var/cache/apt/archives, and said "dpkg --force-all -i *".
Bad idea.
tortoise login: root Password: Last login: Sat Sep 24 21:49:27 2005 on tty2 Linux tortoise 2.2.19 #1 Tue Jul 10 21:47:25 BST 2001 m68k unknown Most of the programs included with the Debian GNU/Linux system are [...] permitted by applicable law. -bash: /lib/libc.so.6: version `GLIBC_2.3' not found (required by /lib/libncurses.so.5) Debian GNU/Linux testing/unstable tortoise tty2 tortoise login:
Whoops. Obviously, that meant all sorts of postinst and prerm scripts started to fail, and after a while dpkg just plain gave up. So, I tried to install libc6:
dpkg -i libc6_2.3.5-6_m68k.deb -bash: /lib/libc.so.6: version `GLIBC_2.3' not found (required by /lib/libncurses.so.5)
... followed by some error message by dpkg that the old postinst failed, that it'll try with the new postinst, but that I shouldn't hold my breath.
Whoops.
Luckily, the dpkg format is reasonably easy to open with other tools.
tortoise:~# cd / tortoise:/# ar x var/cache/apt/archives/libc6_2.3.5-6_m68k.deb tortoise:/# tar xzf data.tar.gz tortoise:/# ldconfig
... and I could log in again. Luckily.
Skipping releases is not for the faint of heart; but it sure is fun to do if you know what you're doing...
Buildd fun
So we've been setting up buildd machines for the armeb people (got some comments from some other people that it should actually have been armbe, but I'm not going to give my opinion on that one). After a few days, we now have a working wanna-build setup, and one buildd properly configured (a second one coming RSNTM), though there's no working dak-enabled upload queue yet.
Of course, buildd had to be lazy again:
Sep 25 11:03:47 buildd: unstable: total 9222 packages to build. Sep 25 11:03:49 buildd: Nothing to do -- sleeping 300 seconds
IOW, there's 9222 source packages in unstable ATM, but buildd decides it likes none of them and goes to bed for another 5 minutes. Crazy thing. So, I send it a USR1 as soon as I notice, and look:
Sep 25 11:08:34 buildd: My config file has been updated -- rereading it Sep 25 11:10:12 buildd: unstable: total 9222 packages to build. Sep 25 11:10:15 buildd: Updated source-dependencies Sep 25 11:10:43 buildd: Updated apt sources for unstable Sep 25 11:10:48 buildd: Autocleaned apt cache directory for unstable Sep 25 11:10:48 buildd: Starting build (dist=unstable) of: Sep 25 11:10:48 buildd: db3_3.2.9-22
Ahh, much better.
Joerg Jaspert suggested buildd was scared off by the insane amount of packages it had to work through. Well, possibly; but I couldn't care less. They have to be built, darn thing.
(A)AUI considered harmful
I've just been trying to figure out for the last hour or so why Branden's Quadra didn't get a DHCP lease. In the end, it turned out that the AAUI connector had been moved a little bit, so it didn't properly make contact anymore. Grmbl.
Hardware should Just Work, thank you.
Oh, and BTW: Happy Birthday. I hope you enjoyed the stuff I sent you.
Branden's Apple Hardware
Upgrading Branden's Quadra worked quite well in the end. We've even successfully installed linux-image-2.6.12-1-mac on this machine (which is thus far unheard of—he's probably the first Debian/m68k user to be using the Debian-packaged 2.6 kernels and succeeding). It's going through a (lengthy) fsck ATM, though; it appears 2.6 and 2.2 have different ideas of time stamps. Oh well.
Now to finish what I actually wanted to accomplish here: get EMILE running. I have a little under three hours left to do that. Should be possible...
In related news, Branden's had bad luck with his iBook, which decided it didn't like to react to its power button anymore. Tried a few things to get it to work again, thus far unsuccessfully. Luckily it isn't my laptop, which is still happily working; but I feel his pain.
Ross Burton's versioning
Ross, please don't do that. Rewrites are not bad in themselves, but please let the version number reflect that. Minor version number updates like the one you did should be reserved for minor code updates; not for major rewrites.
Not that I care in this specific instance; I don't even know what Devil's Pie is supposed to do, let alone why it would be useful; but as a rewrite-from-scratch usually introduces new bugs, it's not fairly useful to have just a minor version bump.