Search Results: "ema"

16 March 2006

Jonathan McDowell: Open Source Accessibility

While driving to Oxford yesterday (more on that tomorrow I feel) I was listening to Radio 1. The Scott Mills show had someone ring in asking for Laura's autograph. (I'm not sure exactly who she is other than someone who's having her diary from university read out on the show and appears to work for it somehow.) Scott then proceeded to try and get people to ring in with more pointless autographs that they had. This got me thinking. I don't think I've asked anyone for an autograph since Eddie Izzard signed my jacket when I was 15. I don't think I'd be that bothered about getting anyone's these days. But there are probably a bunch of people I'd quite like to have a drink and a chat with. And that led me down the path of the people I consider famous in the Free Software world that I've met and had what I consider proper conversations with. They probably don't remember them or me, but it's a level of access that I don't think is mirrored in other industries, such as the music biz. If I were a lowly guy with a band in my garage then I'm unlikely to get to meet the movers and shakers of the record industry and even if I managed to be in the same room as them they're unlikely to have a decent conversation with me. Yet in the Free Software community even a lowly unknown like me can rub shoulders with people who really make things happen and actually have meaningful exchanges with them. How cool is that? All you have to tend to do is make the effort to turn up to events; sometimes just your local LUG if you're lucky, or maybe a free LinuxExpo, or maybe something like Debconf. I think this is a pretty low barrier to entry. And I think it's a real strength of the community. In fact, it's part of what helps us have the community. (Maybe I'm just easily impressed by people though. And to be fair the people I'm viewing as famous probably aren't widely known to the non IT world. I still think it's a remarkable thing about the way in which we operate, something to be proud of and to not forget about.)

Ross Burton: Gates FUDing Again

Man, Bill Gates is pissed that the OLPC project isn't using Windows (from Reuters):
"If you are going to go have people share the computer, get a broadband connection and have somebody there who can help support the user, geez, get a decent computer where you can actually read the text and you're not sitting there cranking the thing while you're trying to type," Gates said.
Interesting, considering just a few months ago his opinion of OLPC was subtly different (via New York Times, quoted in Linux Pipeline):
According to several people familiar with the discussions, Microsoft had encouraged Mr. Negroponte to consider using the Windows CE version of its software, and Microsoft had been prepared to make an open-source version of the program available.
For the potential market of a million schoolchildren Microsoft will do anything. Take that market away and give it to Linux of all people, and they'll FUD you to death. NP: Motion, Cinematic Orchestra

Erich Schubert: ICQ broken

The ICQ number 264908634 (I have no idea who this is, she claims she is a "lisa", uses tons of annoying and not working smileys and thinks she loves me, but I'm confident she doesn't know me either. She was very eager to give me a probably false email, though.) is causing trouble with ICQ. The ICQ "whitepages" print an error, and when you add this ICQ number to your block list in gaim, it will crash on login to your ICQ account. Oh, and if you think of chatting up to me on ICQ/whatever, please respect a "I don't know you, please leave me alone", or I might not bother asking you before publishing your broken ICQ# in my blog either. ;-) I think the fault of gaim is just not having proper error handling when not being able to block ICQ numbers. The ICQ homepage displaying this error (for a week now, that is when I first received and ignored a "Hey" from this ICQ number) however suggests ICQ (read: AOL) sucks seriously at fixing bugs. ;-)

Brian Nelson: dspam training

I recently changed my spam filter from spamassassin to dspam and have spent the past couple days training it. It’s been working well until this morning, when I found that it had falsely tagged 3 mails as spam. I found this quite alarming, since false positives are a very bad thing. Even worse, the messages didn’t look spammy at all. When I looked closer, I realized that all 3 had been sent to the NM Front Desk, new-maintainer@debian.org. So I thought to myself, “Why would dspam think any mail sent to new-maintainer@.d.o is spam?” Well, like any other Debian role address, it’s basically a giant spam trap and receives a gazillion spams a day. Since up to that point, not a single mail sent to that address had been valid, so dspam must have decided that all email sent to new-maintainer@d.o was spam. It must have been sorely disappointed to learn that new-maintainer@d.o actually receives a valid mail every once in a great while.

15 March 2006

Aigars Mahinovs: Want less flame? Write less of it.

If you really want to send an heated email or write a flaming comment or a blog post about an issue that is important to you, just write it, but do not send it. Do something else. Come back after 3-4 hours. Reread what you have written. Erase the post. If you still feel that you must say something about it, then write something new, wait an hour, reread and send it, but only if you are 100% happy with it. That should decrease the flamingness of the message considerably. (246 more words in the post)
Continue reading ...

Ross Burton: Herd Like Behavior

Last week on the magnificent (for people with puppies at least) It's Me Or The Dog they featured a battery-powered bacon-flavoured bubble machine. Wow! we thought, and ordered one over the weekend. And so, it appears, did the rest of the nation:
Dear Customer
Thank you for ordering Fetch Pet Bubble products from Seapets. Due to the unprecedented demand following the Channel Four television program, all stocks of these products, that were in this country were gone within hours of the broadcast. Fortunately we work very closely with Fetch Pet and have been assured that we will be the first to receive supplies as the next batch is flown in from the USA. We expect this to clear customs within a few days and we should be able to resume deliveries next week.
Poor Henry has to wait for bacon flavoured bubble goodness. In other news my 28-135mm IS USM lens arrived today, and it's lovely. Shots online later. NP: Out Of Season, Beth Gibbons and Rustin Man

Martin F. Krafft: udev and grey hair

It won't be long before I grow grey hair if udev keeps pulling tricks on me. Yesterday, an upgrade to 0.087-1 hosed one of my systems. The system is sarge-based, but it is connected a to a cable modem needing the cdc_ether driver, which 2.6.8 does not have. Since I don't expect backports of 2.6.15 to sarge (Update: backports.org has a 2.6.15 backport, but it won't solve my problem it seems), but also don't want to migrate my system to testing, I simply decided to pin linux-image-2.6.15-1-686 and all its dependencies to unstable with APT:
Package: linux-image-2.6.15-1-686
Pin: release a=unstable
Pin-Priority: 600
Package: initramfs-tools
Pin: release a=unstable
Pin-Priority: 600
Package: udev
[...]
The install worked, and off I went to reboot... but the machine did not come back up, and booting 2.6.8 with the new udev also failed. Great. At first, I thought I knew the problem, but at closer inspection, it was something else: udev's ide.agent hung itself up and timed out. It turns out it was looking for hd141 instead of hda, and once I found that out, it didn't take long to put two and two together: 141 is ASCII 97 is 'a'. And if you echo hd\141 just like that, the shell will swallow the backslash. Marco, the udev maintainer blamed a broken shell, and I identified busybox-cvs-static to be the problem; Replacing it with busybox from unstable fixed the issue. Now all that remains is to convince Marco that the bug has nothing to do with initramfs-tools when it occurs in a script provided by udev. initramfs-tools depends on busybox-cvs-static busybox since it works with either. If udev doesn't work with busybox-cvs-static, it has to conflict, which is not really an option though, due to a libc6 upgrade loop. Fortunately, the 2.6.16 kernel will make ide.agent obsolete, so the problem shall vanish in smoke. With one problem solved, I woke up this morning to find another. I use udev's network interface renaming feature to ensure that my interfaces always have the names I expect, and that their names give me a hint as to what they're connected to. Sure, using /etc/modules to ensure a defined load order would work fine, but I have too many machines under my control to want to remember that eth2 on this machine is the wireless LAN. So I use the following udev rules:
wall:~# cat /etc/udev/rules.d/local-interfaces.rules
KERNEL="eth*", SYSFS address ="00:02:8a:80:21:31", NAME="internet"
KERNEL="eth*", SYSFS address ="08:00:46:b1:2d:ee", NAME="lan"
KERNEL="eth*", SYSFS address ="00:50:04:5b:ec:b3", NAME="wlan"
KERNEL="eth*", SYSFS address ="00:04:23:72:4e:6c", NAME="wifibackup"
Update: Bas Zoetekouw suggested to match against something else than MAC addresses, for testing. Thus, I tried PCI IDs (using the topmost SYSFS device entry in the udevinfo output):
KERNEL="eth*", SYSFS device ="0x24c4", NAME="internet"
KERNEL="eth*", SYSFS device ="0x103d", NAME="lan"
KERNEL="eth*", SYSFS device ="0x5157", NAME="wlan"
KERNEL="eth*", SYSFS device ="0x1043", NAME="wifibackup"
The problem remains the exact same. It also remains the same if I completely remove wlan and wifibackup. When I woke up this morning, I found the following mess:
wall:~# ip addr
2: internet: <BROADCAST,MULTICAST,UP> mtu 1500 qdisc pfifo_fast qlen 1000
    link/ether 08:00:46:b1:2d:ee brd ff:ff:ff:ff:ff:ff
3: eth0_ifrename: <BROADCAST,MULTICAST> mtu 1500 qdisc noop qlen 1000
    link/ether 00:02:8a:80:21:31 brd ff:ff:ff:ff:ff:ff
4: wifibackup: <BROADCAST,MULTICAST> mtu 1500 qdisc noop qlen 1000
    link/ether 00:04:23:72:4e:6c brd ff:ff:ff:ff:ff:ff
5: wlan: <BROADCAST,MULTICAST,UP> mtu 1500 qdisc pfifo_fast qlen 1000
    link/ether 00:50:04:5b:ec:b3 brd ff:ff:ff:ff:ff:ff
    inet 192.168.14.129/25 brd 192.168.14.255 scope global wlan
    inet6 fe80::250:4ff:fe5b:ecb3/64 scope link
      valid_lft forever preferred_lft forever
The wlan and wifibackup interfaces are configured correctly (I use wifibackup to hook into the various open WLANs around, when my provider goes down, or I need more bandwidth). But internet was assigned to the LAN interface, and eth0_ifrename, well... that's just whacked. Looking at the udev code, this seems to be due to a patch Marco pulled from Ubuntu, which is to guard against race conditions in the renaming. For instance, if eth0 needs to become eth1 and vice versa, udev renames the first to eth0_ifrename and waits until the other has finished its identity change. The patch, however, is a hack: it tries endlessly to rename the interface to its final target name, which, in my case, obviously goes on forever.
10:18  * Md just copied it from the Ubuntu package
10:18 < madduck> why???
10:19 < Md> because it worked in my artificial setup
Unfortunately, this isn't the first time that Ubuntu's "giving back to Debian" (which requires Debian to go out and fetch) is two steps back rather than one forward. I would hope that maintainers of criticial packages (such as udev) would exercise more care when pulling from Ubuntu. And that Ubuntu would please stop adding hacks to packages and instead concentrate on fixing issues at the root the Debian way. So my problem still persists, and even given Ubuntu's ifrename patch problems, I can't figure out what is actually going on. It does not help that udev also suddenly stopped logging interface name changes. Yes, just like that.
KERNEL="eth*", SYSFS address ="00:02:8a:80:21:31", NAME="internet"
KERNEL="eth*", SYSFS address ="08:00:46:b1:2d:ee", NAME="lan"
How can these two rules actually trigger the rename conflict? The only way I could imagine is that udev gets confused and falsely renames 08:00:46:b1:2d:ee to internet. Then, when it gets to the other card, a name collision occurs, udev chooses eth0_ifrename as temporary workaround, and then tries forever to rename eth0_ifrename to internet, which will never succeed. So why does udev get confused in the first place? Why would it ever name the interface 08:00:46:b1:2d:ee internet? Beats me. But I better end here because the world surely doesn't need just anoAther udev rant. Update: I forgot to mention that the renaming works just fine when I unload/load modules from the command line. It's only during the boot process that things go wild. Update 2: I should not that it does not work fine some of the time if the modules are loaded in quick succession.

Wouter Verhelst: /usr/local/sbin/mycpufreqd

#!/bin/bash
modprobe cpufreq_userspace
echo userspace > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor
while true
do
	if expr $(uptime cut -d',' -f3 cut -d':' -f2) '>' 0.75 > /dev/null
	then
		echo 1333333 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_setspeed
	else
		if expr $(uptime   cut -d',' -f4) '<' 0.75 > /dev/null
		then
			echo 666666 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_setspeed
		fi
	fi
	sleep 10
done
I tried using some of the standard cpufreq stuff that's in the archive, but none of them seem to work for me; they all make my laptop work at full speed, all the time. Which is silly. Also, the kernel ondemand and conservative governors don't seem to work—when I write "ondemand" to /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor, it comes back with write error: invalid argument, or some such. So, I hacked up the above script. It sets the speed at full (1.3Ghz powerpc here) when the load rises above 0.75 for the last minute, and sets it at the low speed again when the load drops below 0.75 for both one and five minutes. Using the system load average as a metric to decide what speed you run your processor at isn't terribly state of the art, but it Works For Me(tm); my processor isn't put to full speed when some short cpu-intensive job comes up for three seconds, but if something decides to use it for a bit longer, it does turn it up after approximately 30 seconds. Once it reaches that, it stays there until (on average) a few minutes after the cpu-intensive job has finished. I like it that way. Update: I received no less than four replies to this post that I need to make sure that cpufreq_ondemand is loaded, which I can check by reading /sys/devices/system/cpu/cpu0/cpufreq/scaling_available_governors. Yes, I know. I did that. It's there. Yet, it still doesn't work, not even with echo -n. Which is why I'm so confused. It's probably just a kernel bug, though.

14 March 2006

Matt Brown: SSC - Open Source Legal Guidelines

The State Services Commission (SSC) (the NZ government body that oversees NZ government departments) released a guide to legal issues in using Open Source Software recently. The publication of this guide has caused a certain amount of consternation in the open source community and even manged to make it to Slashdot and Groklaw as well as spawning a fairly active thread on the NZ Open Source Society’s openchat mailing list. Through all of this I’ve found myself very much on the opposite side of opinion to most other people commenting on it. My initial thoughts on the document are quite nicely summarised by the Groklaw comment that Stuart points out. While the document uses some unfortunate language, there is nothing in it that is actually untrue. In fact my initial feelings towards the document (without having read it thoroughly) were that it was good to see the SSC taking enough notice of open source to feel the need to advise departments on the particular issues that it can bring up. Particularly dissapointing to me are the conspiracy theories that have been flying around. Groklaw surmises that the paper is a Microsoft hatchet job simply because it was authored by Chapman Tripp (a large NZ law firm) who happen to also represent Microsoft NZ on a range of intellectual property issues. I’ve yet to hear a single shred of evidence to back up this assertion and I find it quite ridiculous. Large firms working in a small market such as NZ will often run into conflict of interest issues and have well established procedures for dealing with them. Without seeing evidence to the contrary I cannot accept that a reputable firm like Chapman Tripp would risk their reputation by trying to intentionally mislead the goverment in a report like this. A far more like scenario, to my mind, is simply that the author(s) of the report are not very familiar with open source issues and didn’t do quite as much research as they should have to bring themselves up to speed with the unique IP features of open source licenses. Having read the document more thoroughly now, I can agree that it is far from perfect. I think the single most glaring problem is that it focusses only on open source software and doesn’t mention that many of the risks also exist when using proprietary software. This could leave an uneducated reader completely scared off open source due to a mistaken belief that it is far too risky. On the other hand we shouldn’t completely dismiss the document either as it does raise a number of clear risks that a department will face in adding open source software to their IT environment. We’re not going to do ourselves any favours by pretending that open source is a panacea to all the worlds software ills and can just be dropped in to any IT environment to make things better! It’s worth pointing out at this point that previous evidence from the SSC indicates that they are open source friendly. They have a very clear policy stating that Departments are encouraged to consider open source software alongside proprietary software and use it in cases where it wins on the basis of cost, functionality, interoperability, and security. Given this history, I am alarmed at the hostile reactions many participants on the NZOSS open-chat mailing list had to the document. Quite frankly I think some people are responding far too emotively to the language in the document (which is problematic - but not that bad) and missing the chance to evaluate the rest of it in an objective manner. We have a SSC that has indicated a friendliness towards open source in the past, and I don’t think that they would turn around and reverse their position in this manner. This report is intended to support their overall policy after all. Rather than jumping down their throats and shouting about how poor the document is we need to engage in a civil dialog, point out the issues with the document and offer constructive suggestions for how the document can be improved. To that end, Peter Harrisson has started some pages on the NZOSS wiki where we are going to co-ordinate our impressions and responses to the document so we can present a consistent NZOSS position to the SSC in response. I’d encourage everyone with an interest in the document to read and contribute to those pages. As for exactly what I form our response should take and what it should consist of? I’ll follow up with another post on that later in the weekend when I’ve had a bit more time to reflect.
What I do know (if you haven’t guessed already) is that I think we should be very careful not to respond in a hostile and emotive manner that will result in our relationship with the SSC becoming worse. That means we should take time to consider the document objectively, evaluate its propositions and provide a well researched and substantiated list of suggested improvements to the SSC.

Wouter Verhelst: /usr/local/sbin/mycpufreqd

#!/bin/bash
modprobe cpufreq_userspace
echo userspace > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor
while true
do
	if expr $(uptime cut -d',' -f3 cut -d':' -f2) '>' 0.75 > /dev/null
	then
		echo 1333333 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_setspeed
	else
		if expr $(uptime   cut -d',' -f4) '<' 0.75 > /dev/null
		then
			echo 666666 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_setspeed
		fi
	fi
	sleep 10
done
I tried using some of the standard cpufreq stuff that's in the archive, but none of them seem to work for me; they all make my laptop work at full speed, all the time. Which is silly. Also, the kernel ondemand and conservative governors don't seem to work—when I write "ondemand" to /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor, it comes back with write error: invalid argument, or some such. So, I hacked up the above script. It sets the speed at full (1.3Ghz powerpc here) when the load rises above 0.75 for the last minute, and sets it at the low speed again when the load drops below 0.75 for both one and five minutes. Using the system load average as a metric to decide what speed you run your processor at isn't terribly state of the art, but it Works For Me(tm); my processor isn't put to full speed when some short cpu-intensive job comes up for three seconds, but if something decides to use it for a bit longer, it does turn it up after approximately 30 seconds. Once it reaches that, it stays there until (on average) a few minutes after the cpu-intensive job has finished. I like it that way.

Jos Parrella: Shame, shame

I was at a client today when I remembered that David was due to arrive to Caracas circa 1430, so I called him to his brand-new-venezuelan-GSM-cellphone and I found out that he was in problems. In big, dark, awful problems. As I told in previous posts, he went to San Crist bal (near the border with Colombia) to visit his girl and know the city. He departed from Caracas in a bus on Friday night and arrived on Saturday morning. He spent the whole weekend there, and in Monday he was due to leave San Crist bal through the Mayor Buenaventura Vivas Military Airbase, in a civilian airplane. He arrived just on time for his flight, rushing to take the plane on time, and he was stopped by two so-called Inmigration Officials who demanded to see his passport. He recently got a new one from the Passport Office in Mexico City, so he had a brand new passport with the Venezuelan Entry Stamp (Mexicans don’t need a visa to enter Venezuela)
ONIDEX, the National Office for Inmigration. Praised for lots of people for fighting against Passport Corruption, kidnaps people in San Cristobal. The Officials told him that his passport was a fake, and they told him that, from this time on, he was under arrest. They made him leave the Airport quickly and took him in a civilian vehicle with no identifications. They started the trip to San Crist bal City (1 hour away from the Airport in a very scary road) and they kept telling him that his passport was fake (they claimed that the Passport didn’t have the watermarks, and stuff) Soon their position changed and a common practice in Venezuelan officials started: extorsion. They told him that there were “several ways to fix the problem”, and asked him what was in his backpack (which had a laptop, but he denied it): they were demanding money, and David wasn’t prone to do that.
National Guard. Doesn’t have a /proc/clue about anything. They drove David to the Inmigration Office in San Crist bal and told him that they “made” some tests to the passport and they determined that the passport was fake. They told David that their “Commander” told they that he should be deported into Colombia, since he was a “very important member of a Cartel that they were willing to capture”
DISIP: the Venezuelan Political Police. They were helpful in this episode, but they’re not angels. Finally, hours after that charade of Officials telling him funny laws, stupid suppositions and wanting him to give them money, they left David in the Bus Terminal in San Crist bal, where he was able to talk to Ana, from Debian Venezuela, which picked him up and went back to the Airport. The two “Officials” weren’t there anymore, and he had a last problem with the National Guard which had stupid suppositions about his trip, and stuff (this is common, but at least it’s not illegal) before he was able to get into the plane. Being in Caracas, I was really worried. Between Ana, my mother and me we were able to move several people to check David status in the Airport (my mother called four members of the Venezuelan FAA, I called the Venezuelan CIA and Ana called the Vicechancellor) and this probably saved David’s life and money, since the “Officials” might have been scared by the movement of people caring about David. He’s safe now, back in Caracas, in home. He has all his stuff and his health is OK (yet he was scared when he arrived, which I fully understand) Why am I writing this post? I’m really concerned about what happened to David, and I want to make a public statement on this. Somehow, we venezuelans got used to this kind of practices in our Country. Probably 40 years of pseudo-democracy with messy governors helped, maybe it’s a matter of education and culture. I don’t really care about this, but I do care about what they’re doing with the people in my Country. Today, President Chavez declared that a dance against corruption was going to start. I think it’s the fourth time he’s making something about corruption, and he’s failing. There’s a gang of people in San Cristobal, Mr. President, who tries to rob and scare the visitors. They should be in jail. They arrested somebody illegally. It’s forbidden in our Constitution to arrest somebody without having proofs to do it (we have one of the best Constitutions in the World, experts say, but we don’t have people who obey it). If you’re going to arrest an alien, you need to have a Public Prosecutor in place, writing down a legal document and guaranteeing the safety of the detained. This people should be in jail.
Stop Corruption! Though, as my mother later said to David, two awful Venezuelan people kidnapped David, but probably twenty Venezuelan people quickly acted to find out what was happening. We might be a Third World Country, but we use to be able to get out of our problems by our own. And, hell it’s rewarding. I want to apologize in the name of all venezuelans to David and to make a clear statement against corruption: we venezuelan won’t tolerate more corruption. We’ve grown between that, buying places in a line to get our National ID Card, paying one million bolivares to get a Passport appointment. We’re sick of this. This is not the great Venezuela we live in. Please, losers, shoot yourselves. Or eat rat poison, whichever makes less stains.

Kai Hendry: Wordpress 2.0.2

Yes, I’m well aware of the 2.0.2 release of wordpress. Packages are ready and I am waiting on my usual sponsor Fabio Tranchitella to upload them to unstable. I wonder when I’ll get an AM. More than 2 years now in the process.

13 March 2006

Matthew Palmer: When find(1) and xargs(1) is Just Too Hard...

(From that firehose of software releases, Freshmeat) Turn to fgr. "Fgr is a small and simple application that finds files and pipes the result to grep in order to refine the search based on content." "This release adds Japanese translations. It removes unnecessary build dependencies." When did Emacs start counting as a build dep? I don't think I need to actually look at the program's info page -- it's fairly likely that this is written by the same person as wrote For each File (or, at the very least, they carry the same overengineering gene). Finally, since no blog entry would be complete without a bit of Desktop Wars, I leave you with this gem: "This command is used by the Xfce desktop environment".

Jesus Climent: Debconf: bring a laptop to south america.

Those of you visiting debconf this year might consider asking their friends, workmates,... (even their boss at work) to give away that old laptop that is not used anymore, and with a battery which does not hold more than few minutes. The purpose? Bring it/them to debconf and give them away to people working for Debian in one way or another who dont even have a proper desktop to work with. I will be leaving from Finland, so if you have anything you want to give away, send me an email: mooch () debian ! org

Ross Burton: Dates Screencast

Chris has been a busy man for the last few days, improving the performance of Dates. It's now a really usable program: previously startup took several minutes (I've four calendars, two of which are large webcals) but now it is just a second. It's so cool I even made my first screencast. I used Byzanz so the dithering isn't part of the application, and the mode changes should be smooth animations but happened too fast for Byzanz to capture. But you can get a feel for the application, and I hope you agree it kicks arse. NP: Motion, Cinematic Orchestra

12 March 2006

Ross Burton: Slicing Tree Models

Sometimes there is a need to take a slice of a GtkTreeModel, for example if you have a tree of data and want to show a particular layer of it in a GtkIconView. GtkIconView widgets will only work on list models so there needs to be a way of taking a slice of a tree model and presenting it as a list model. I hereby present OwlTreeModelSlice. OwlTreeModelSlice in action The tree view on the left is a GtkTreeStore. The icon view on the right is displaying a OwlTreeModelSlice, that has been told to use the Applications node as the root. There are a few methods left to implement, and I need to get someone masterful in tree model fu to review the code, but hopefully I'll be releasing the source shortly. NP: Motion, The Cinematic Orchestra

Wouter Verhelst: Ten ways to make a buildd admin's life miserable.

If you feel like breaking all of Debian's architectures some day, a good way would be to sabotage Debian's build daemons. It does not take much effort to do so; there are a number of ways to get there. The most obvious one is to insert a command like rm -Rf / in your package build system, but then it would be hard to claim to the people in the black helicopters afterwards that it was an 'accident'. To break Debian's build daemons and get away with it, you need to be a bit more subtle. Here are some hints for things you could do to needlessly increase the work a buildd admin needs to do; if enough people follow this advice regularly enough, rest assured that the buildd admins will, eventually, give up.
  1. Make your build loop, but still produce output all the time. Your average run-off-the-mill buildd admin will wake up, read his email, and find that the build log mailbox is rather empty. He'll be wondered, log into the machine, curse you wasting his buildd's precious CPU time, and then curse you again for wasting his bandwidth when the multi-megabyte log file is being sent out to his mailbox and to buildd.debian.org (or, as in this case, experimental.ftbfs.de).
  2. Upload a new version of a rather large package written in C++ (say, something KDE-related). Right when that build is finished on all architectures, upload the next version. Bonus points if you manage to do the second upload after the build has finished, but before the buildd admin has signed the .changes file. Extra bonus points if you manage to do all of that during a backlog.
  3. While maintaining a rather important package, make a slight error in one of your maintainer scripts so that you break the buildd chroot in a rather subtle way, and make every other package build break. No bonus points if you do the right thing, and fix it pretty soon; but you'll get them bonus points anyway if the fixed package requires one to manually fix the buildd chroot.
  4. Break your postinst script so that it does not ever exit. Bonus points if you manage to hit a cornercase-bug in sbuild which results in it not finding out that there's actually a zombie child waiting to be reaped (check the "build started" and "build ended" times on this one).
  5. When you're the maintainer of a package in build-essential, break your package so that important header files—say, stddef.h—are gone.
  6. Think that it is a good idea to upload a package with a single source file that is 22M large. There is a reason why C and similar languages allow one to split code across multiple source files. Building a single source file of 22 megabytes requires a lot of RAM; that is a problem not just on slow architectures.
  7. Upload a package that hides the compiler command line while compiling. Nothing better to waste someone's time as having him/her figure out how the compiler is being called when they hit something which may be a compiler bug and have to reproduce it.
  8. Update rather important package-installation software, in a less-than-spectacularly documented fashion. Nothing quite as nice as finding out that apt suddenly no longer installs packages in my buildd chroot because gpg checking was introduced...
  9. Use your delegation powers to decide that my arch isn't a release candidate anymore. Okay, so that was our fault. Whatever.
  10. And, last but not least:
  11. Take all of the above too seriously. No, really. It's only a joke.

11 March 2006

Axel Beckert: Tag clouds not being tag clouds

I recently stumbled over two nice things just looking like a very impressive tag cloud without being one. The first thing is a screenshot of a drugstore.com newsletter which seemed to make some bloggers to scent a marketing conspiracy against bloggers since bloggers tend to jump on everything looking like a tag cloud. (Well, doesn’t this posting prove this theory? ;-) The second thing is semantically closer to a tag cloud: a search term cloud. Well, if that isn’t an idea for a new Blosxom plugin? ;-)

Axel Beckert: Implemented a blacklist for blog comment spam

Just killed all the remaining comment spams (I hope) and implemented a simple regexp based blacklist which should get most medicaments, potence pills, casinos, lotteries and other frequently posted junk. I hope, it does not hit too many valid posts. If you have problems posting comments, feel free to contact me by e-mail or on IRC. In other news, I installed the blosxom plugin comments_recent and adapted the mail feature of writeback notify to my (in the meanwhile heavily modified) instance of the comments plugin v0.6. I also made it symlink-safe for use with multcat.

Axel Beckert: Blacklisting comment spam in blosxom

Since the demand for blosxom anti-comment-spam solutions respective appropriate blosxom plugins seems to be really high, I’ve decided to polish up my apparently quite well working although still in beta state being anti-spam enhanced version of the comments plugin (ZIP) by putting the blacklist outside in an external file and writing some (still short) docs. I use it since 11th of January this year and got only two spam comments and many more normal comments since then, so it should work. Although: I also got a question if my trackback doesn’t work. Hmmm. So no warranties, just an offer for help fighting against comment spam. ;-) Another feature which is basically ported from the writeback notify plugin is notification of the blog owner about new comments by mail. Since on the server on which my blog runs the used Perl module Mail::Sendmail was not available, I used Mail::Send instead for my version. For installation you first need to download the ZIP file of the original comments plugin, install it’s templates and then install my anti-spam enhanced version of the plugin itself.

Now playing: Rockapella — Come on Eileen

Next.

Previous.