Search Results: "rul"

25 March 2006

Eric Dorland: More Secrets of Debian Revealed: -dbg packages

Living with [info]mricon I get exposed to the way the other half lives. One thing I've noticed is that the RPM tools automatically build extra -debuginfo packages that contain the debugging symbols for the binaries in the package, which gdb can use. I thought too myself "That's cool, why doesn't Debian do that?" Of course, after some research it's actually very easy to accomplish the same thing in a DEB. First step is just to add a dbg package to your debian/control file like so:
Package: giblib1-dbg
Architecture: any
Section: libdevel
Priority: extra
Depends: giblib1 (= $ Source-Version )
Description: debugging symbols for giblib1
 giblib is a library of handy stuff. Contains an imlib2 wrapper to avoid the
 context stuff, doubly-linked lists and font styles.
 .
 This package contains the debugging symbols for giblib1.
Then change your call to dh_strip in your debian/rules files so it looks like this:
dh_strip --dbg-package=giblib1-dbg
If you use cdbs then just add the line:
DEB_DH_STRIP_ARGS := --dbg-package=giblib1-dbg
These cause dh_strip to place the debugging symbols under /usr/lib/debug in the named package. Make sure you have debhelper compatibility level set to 5, as the semantics for the --dbg-package switch in 4 and earlier were different and weird. So add a -dbg package to your library or binary today!

22 March 2006

MJ Ray: Google Bugs: China: Not Just Google

As noted in TunaSpecial's Google Redux, MSN also complies with censorship requests and Bill Gates defended Google when the question came up at WEF. Once this stink also started to stick to the other China-censored search engines, they tried the face-saving move of asking the US Government to help - like that's going to happen while US shoppers prefer cheap Chinese consumables. Just remember the flak EU Trade Commissioner Mandelson took for enforcing the anti-dumping rules.

Martin F. Krafft: Myanmar or not?

It all started with about 15 kilogrammes of children's clothing... wait, let's try again: It all started last year on my trip to Laos, about 14 hours walk from Luang Phrabang (the tourist capital). We were guests to a community somewhere up in the hills north of the city, where the children either wore some threads (it couldn't be called clothes anymore) or nothing at all. I felt pity, especially because people from those areas freeze very easily, since it's always hot there. I decided to come back. So when my girlfriend's mother, who runs a second-hand clothing store for children offered I'd take some before she clears out last year's "collection", I gladly did, even though I didn't have any concrete plans yet -- plans, yes, but no concrete ones. So with the clothes in my flat, I felt obligated to do something and finally ended up booking my trip to South-East Asia. Well, Bangkok, from there it's all do-as-you-go. It turns out that by rare circumstances, my girlfriend will be accompanying me for two of the five weeks I have set aside. The rest I am alone. And I wanted to go to Myanmar [0], which is the last of the countries on the South-East Asian mainland I haven't yet visited. But just today, I called the German Department for Foreign Affairs and was informed that Myanmar is fighting with bomb attacks in the cities and avian flu outside -- aside from the internal frictions caused in large by the ruling militia. Anyway, I am less afraid of the flu than of bombs, which are a risk -- however low -- that I won't take because I don't have any influence or control. So I am reconsidering (and I would love to hear any advice you may have). There are, of course, plenty of alternatives: for instance, the circle Chiang Mai, Laos, Hanoi, Hue, Saigon, and back. The clothes will be welcome (and needed) mostly anywhere, and I have at least some experience with the other countries. I doubt I will actually go back to Luang Phrabang because the only sensible way to do so is by spending two days on the boat from Chiang Khong, or flying in to Vientiane. I don't want to do that boat ride again, and I don't have money to burn either (despite flights being rather cheap over there). Anyway, my intention is not to travel and be a tourist, but instead to teach computers. I've done this before and noticed the need, and it's really not hard to get a bunch of interested kids into an Internet cafe, which you "rent" for the day for $20. I don't speak any of the languages there, and few speak English, but it's surprising how little speech is needed (maybe that's Bhuddism?). Sounds like Hanoi or Saigon will be the best places for that. Phnom Penh (in Cambodia) also has me interested. My flight's on the 4th of April, and I shall not return until the 5th of May, although the return date is flexible. I am excited, but also feel somewhat weird. Last year, I took a full turn in my life but have since been disabled. Now that I am regaining control over my body, but at the same time wondering whether a Ph.D. is what I want (I could just do Debian without the academic appendix, and probably earn money more effectively), I am burning to actually dive into the matter to be able to finally answer that question. The trip to South-East Asia just pushes this further out into the future. Some of you may wonder why I am even daring to bother with such petty concerns -- after all, they aren't really existential, more like luxury (compared to some previous troubles in my life). Well, I don't have an answer. I feel weird about it all, and it's been weird to be disabled for the better part of that last half a year, just after quitting my previous job. At least I am maintaining my optimism.
[0]Moray Allen (of the Debian project) was actually the first to give me a good reason (in Brussels) to call Myanmar Burma instead/again -- it seemed backwards before. But apparently, Myanmar was the name chosen by the militia in control, which is undoubtedly not to be supported. Burma has the negative taste of Britain to it -- negative only in the light of the tourist boycott Tony Blair called out last year. I will stick with Myanmar as do most other sources.

20 March 2006

Martin F. Krafft: The Winner Takes It All

Sometimes I am in a whistling mood. So today as I was running some errands [1], I whistled Abba's "The Winner Takes It All". Some kids stepped up to me and asked what kind of crap I was whistling and whether I was gay, Abba is "out" and "sucks anyway". They did not appreciate when I asked why they even recognise it then. :) WTF? Sure, Abba is not everyone's thing, but "The Winner Takes It All" is an all-time, very beautiful hymn which will never die. Unlike the crap aired on the radio these days.
[1]My iron broke and I need my shirts ironed for a conference next week. Switzerland is bloody expensive: 4 per shirt, and that's just ironing.
In related news: After a very Cure-centric last week, I find myself totally digging Pulp now; I've been listening to the seven albums I have pretty much since Sunday morning. "Masters of the Universe" must be my favourite so far.

18 March 2006

Martin F. Krafft: Explaining Debian at parties

Josh isn't quite sure how to answer questions about Debian at parties without being stamped nerd. I have often met this challenge. And I think I got good at it. Rule number one: stay away from opinions, comparisons, and technical details (at least in the beginning). Give them the humanly-comprehensible facts and do not mention Windows or OS X unless asked. For me, Debian is "an operating system ("computer system") that is completely free, which lets me do a lot of cool stuff with the computer." I don't mention that I am a developer so as to not scare people off. After this 20 second introduction, you can usually tell whether your peers are interested. If they are, give them a little more: "It is developed by thousands of volunteers who all help out without getting paid, because they all use the system and want to make it better." By now, the first questions should come, and usually they mention other operating systems. A great line is "well, I've found XYZ to be inadequate for my needs, but to each their own". Don't go confrontational. And don't grow over-enthusiastic, that's what nerds do. At other times, the first question will be about how anything can be free (as in beer) these days. Be careful not to answer with too much idealism. Also, I've found few to care about "free as in speech" at this point of the conversation. If your audience is still with you at this point, now is the time to dive into depth. Now you can talk about idealism, technical superiority, security, whatever, but always keep in mind that you don't want to compare (laymen don't care about comparisons too much) and that you want to draw from metaphors as much as possible to make them understand. I usually take the opportunity to touch upon privacy issues and trojans, faked email senders and that kind of stuff. My audience usually grows quite pensive after some time, and I have yet to meet some layman who didn't ask "just why would anyone care about my data". Explain "pwned" computers and distributed denial of service attacks, or the scenario where someone impersonates you can does bad stuff. Finally, I've often found it to be fun to play somewhere along the lines of "do you really want to know" and exciting their interest by being somewhat discrete about it all. I've also had success with the direct approach: "ah, but I'm a geek, you couldn't care less about my stuff." People usually ask for more infos. After all, you are at a party and not in front of your machine; anyone with something else but mush between the ears will put two and two together and suspect that you aren't actually a geek, at least not at the moment. Those are the people worth talking to. Anyone else (including drunkbolds) is a waste of time, IMHO. It helps to have some Knoppix or Ubuntu CDs in your pocket and just hand them out. People really get excited about free stuff. And a live CD can work wonders. Do not try to convince people to try it out or you will become a support hotline. Instead, tell them about LUGs and mailing lists (and how cool it can be) and put the challenge on them: "if you try it, those are your support channels. Are you up for it?"

17 March 2006

Josselin Mouette: High rank for NOTA

This year, we're dealing with the worst DPL election I've known. Despite the high number of candidates, none of them makes me really feel like voting for him.

Summarizing the general tendencies of the candidates:


That makes only 2 candidates I can decently put above "None of the above": Bill and Zeke the cat. I know many developers disagree with my analysis for the other ones, but when filling your ballot, you shouldn't forget that behind their words, there is what they will actually do if elected.

15 March 2006

Pierre Habouzit: WTFCA expulsion

I want to comment and explain my various posts in the removal of svenl from the project thread. Expulsion is the most grave measure the project can take against a Developper. There is nothing beyond that, except death[1]. So an expulsion process has to be investigated carefully before beeing cast, and has to start only if a clear abuse of Debian ressources[2] has been done. Given that fact, I just can't accept dilinger's post. He based his expulsion on social facts, that barely deserve to be noted, and do not explain where Sven abuse was, if there is any. Hence my quite rough reactions. I know that dilinger stated on IRC, that given the reactions of the ocaml team, he might reconsider the expulsion procedure. Honnestly, I'm still offended, for two reasons: We talk about extreme measure, that require extreme care when invoking them. EXPULSION IS NOT A THING TO BE CONSIDERED LIGHTLY. The current trend of the project wrt expulsion, vilifying developpers that do not behave fully straight, following the line of the Party makes me sick. I reckon I was sceptical before, when I read people that said :
we are a technical community, social skills does not really matter.
I was sceptical because I was convinced it's still better if we can also be maybe not nice to each other at least comprehensive. Recent events make me belive that a community of technical persons cannot lead into anything else that a dictatorship, when it comes to social problems.
Notes [1] and hopefully we won't be allowed to rule for live and death of developpers anytime soon [2] Note that to some extent, DDs and teams are Debian ressources

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.

12 March 2006

Joey Hess: CPAN Purity tester

Here's a fairly sweet perl hack that I just wrote. Test how much of a the guts of a program comes from sweet, delicious CPAN, and how much is nasty perl code you wrote.
joey@dragon:~> cpan-purity cpan-purity        
usage: cpan-purity [--verbose] [--mine=regexp] -- program args
** CPAN Prurity test results: 98.08% pure CPAN code.
** 7107 lines in 24 files were from CPAN, and 139 lines in 1 files werenot.
joey@dragon:~> cpan-purity -- perl -e 'use Coy; die "whups, gotta go.."'
        -----
        Two rabbits walk. A 
        pair of lovers beside a pool. 
        A trout in the dam.
        -----
                Homer Simpson's commentary...
                whups, gotta go.. 
                        (Sayings of -e: line 1.)
** Looks like that was a perl one-liner..
** CPAN Prurity test results: 99.98% pure CPAN code.
** 6028 lines in 16 files were from CPAN, and 1 lines in 0 files were not.
joey@dragon:~> cpan-purity --mine=debconf dpkg-preconfigure
dpkg-preconfigure: must specify some debs to preconfigure
** CPAN Prurity test results: 70.49% pure CPAN code.
** 6745 lines in 41 files were from CPAN, and 2823 lines in 20 files were not.
joey@dragon:~> cpan-purity ikiwiki
Forcing /home/joey/src/ikiwiki/ikiwiki to run without taint checking..
usage: ikiwiki [options] source templates dest
** CPAN Prurity test results: 91.59% pure CPAN code.
** 12273 lines in 27 files were from CPAN, and 1126 lines in 1 files were not.
After all, writing more perl code is bad, but CPAN rules, right? So they tell me. That was a lot of fun to figure out how to write, pity it's too special purpose for moreutils. :-) Oh and by the way, the extra 600 lines shown in ikiwiki, up from the 300 lines it was two days ago include nearly everything you'd expect in a modern wiki, from templating to user login and registration, etc. It's nearing 0.1 state.

Mirco Bauer: Mono 1.1.8.1, Debian/Etch, CLI Policy, CLI Applications Update

Mono 1.1.8.1 was uploaded to Debian/Unstable on Wednesday and is now waiting in the NEW queue (because of the new packages like mono-classlib-1.0/2.0 which I blogged already about).
I also uploaded the packages to debian.meebey.net (versioned as preview packages), which are the same packages, so if you can't wait use the preview repository please. I just filed all removal requests that are needed to get Mono into Debian/Etch, when those are processed, it should go in. Also the CLI Policy draft is almost complete to be official, it defines basic rules now which are required for an user friendly, unified and stable CLI integration in Debian with Mono (and other CLRs like dotGNU) and CLI applications.
With the CLI Policy and Mono in Debian/Etch soon, the Mono Debian Plan is almost complete, only backports for Debian/Sarge are left then. On those I will work when the 1.1.8.1 packages are in the archive and some other packages are updated to the latest version (like Gtk# 1.0.10 and MonoDoc 1.0.7). Currently the following CLI applications are in Debian/Unstable:
MonoDevelop, MonoDoc, Muine, Blam, F-Spot, Tomboy, Nant, Kurush and last but not least IKVM Upcoming CLI applications going in Debian soon or later:
NUnit, NDoc, GFax, Sonance, Beagle and Smuxi Ready to use preview packages we have for:
GFax and MonoDevelop with Boo support
They are on debian.meebey.net, you can use:
deb http://debian.meebey.net/$package ./
or to get all:
deb http://debian.meebey.net/ ./ I personally think this is a big list of CLI applications being in Debian already (or go in when the packages are ready), it shows that Mono/CLI/C# is accepted in the opensource development community!

Mirco Bauer: Mono 1.1 Suite Uploaded to Debian/Unstable

The invasion of the Mono 1.1 suite has reached the archive of Debian/Unstable!
All packages were accepted within minutes (because of the preparation in Debian/Experimental and the good work of the ftp-master).
Here the full list of uploaded source packages with version:
cli-common (0.1.3.0), mono (1.1.6-4), monodoc (1.0.6-3), libgdiplus (1.1.7-2), gtk-sharp (1.0.8-2), gtk-sharp2-unstable (1.9.5-1), gecko-sharp (0.6-3), gecko-sharp2 (0.10-2), gtksourceview-sharp (0.5-6), gtksourceview-sharp2 (0.10-1) and last but not least monodevelop (0.7-1) The mission of the master Debian Mono Plan is almost completed with this step.
The Debian CLI Policy draft is now in work and an announce to all maintainers of Mono based applications will follow soon. The new packages use a different layout and allows easier packaging for maintainers. The existing packages should be migrated (if you have such package please visit #debian-mono on freenode or/and read/comment the new CLI policy draft), the main rules are already known but not written down yet (a discussion on #debian-mono is desired). When CLI policy draft is finished and all current packages follow those, it's ready for going in Debian/Etch (Sarge must be released before that of course).
At that time we will work on backports for Debian/Sarge and provide them via the official Mono project page. I have to send some special thanks to the Debian Developer who allows that all my work is actually hitting Debian (because I am not an official Debian Developer yet), it's the man called Ingo Saitz (aka Salz) who is sponsoring all my uploads to debian and pointing me sometimes to issues he may see. Thank you Ingo for all work you did to make this possible! [/Academy Awards speech]

11 March 2006

Axel Beckert: Tagging with Technorati style in pure Blosxom

Short summary: I can’t stay away from coding Blosxom plugins. Perl rules. PHP sucks. ;-) Supporting Technorati style tag URLs After releasing the last version of my Blosxom plugin tagging, I noticed that Technorati only seems to like URLs ending in “/tagname” but not ending in “=tagname” (as they do if you use classic query strings instead of the path info), even if the a tag has a rel="tag" attribute. And not only I noticed this but also some other users of the plugin. (Although I do wonder how Furl made it to a Technorati partner with URLs like http://www.furl.net/furled.jsp?topic=tags…) So I somehow had to change the syntax style for my tags. This wasn’t very hard for the links, but I wanted them to still link to my blog and not to Technorati, Flickr, Wikipedia or any other external resource. Implementing Technorati style tag URLs The obviously easiest solution for someone who’s using and administrating Apache web servers for nearly ten years now was to use some mod_voodoo—eh—mod_rewrite:
RewriteEngine On
RewriteRule ^/cgi-bin/blosxom.cgi/tags/(.*)$ /cgi-bin/blosxom.cgi?-tags=$1 [PT]
That way I could use Technorati style tags and had a well performing solution. But somehow this solution wasn’t that satisfying since it wasn’t pure Blosxom and therefore had some dependency including access to some Apache config file. (Even if the config file was called .htaccess. ;-) A pure Blosxom solution A few days ago I somehow noticed that in general a special behaviour on some URLs could also be implemented using Blosxom’s API. Using the entries function to modify the Blosxom internal path itself before Blosxom or e.g. the entries_index runs but not returning any hashes, allows to have some path like URLs not being treated as a path by Blosxom. Unfortunately this couldn’t be incorporated into the tagging plugin itself, since plugins doing such path interpreting voodoo needs to be ran before any plugin supplying an entries function runs. But the tagging plugin must run after such a plugin. So I created the small add-on plugin pathbasedtagging which is solely thought for use together with the tagging plugin (but may have other, yet unknown purposes). And since I got asked if they could use the tagging plugin to link to external tag URLs instead of the own blog, I included a ready to use list of more or less popular external tag URLs including Technorati, Flickr, del.icio.us, de.lirio.us and Wikipedia. from the slashdot dept. Since I’ve always liked the often sarcastic or even evil comments inside Slashdot’s subtitle alike dept. lines and since I’m also used to use them at Symlink, I wanted them in my blog, too. Time for a new plugin. The basic work of parsing out the data from the text files the posts reside in was already written for the tagging plugin. So I just had to use that code, simplify it and add some little more code to get the dept plugin whose results you can see in my blog directly beneath the title of a posting since a few days now. Update 02:52h Hey, see my Technorati profile: It worked! Technorati recognised the tags! Yeah!

Aigars Mahinovs: ReadThemAll GPL book reader for Palm

Many people complain that it is hard for them to read ebooks. The thing is you simply have not seen the best way to do that. The right hardware and software. The right hardware for most people is a Palm. Palms are great organizers and generally a very good portable computing device with nice battery life and good screens. The right software to read ebooks in Palm is the GPL ReadThemAll. The killer feature is the "spotlight" autoscroll. The idea is simple - you open a document, a screenfull of text is shown, you press down and start reading, as you read the lines at the top of the page start becoming transparent - they fade out, when you have read 'till the end of the screen the fadeout has propagated down to ~middle of the screen and on the top the text from the new page is fading in, so when you have read the last line on the screen you just raise you eyes and start reading from the top again and the new page is already there. The text only fades in and out, it does not move around the screen. Works like magic. You can press up to stop the scrolling. If you press down when the scrolling is active, it will speed up. If you press up when the scrolling is not active it will reduce the scrolling speed. It also has the normal page-by-page mode, remembers your place in books, reads the normal Palm document files (utf8) and allows adjusting the font. Wonderful piece of software, I read a couple books a month with it and my Palm Treo 600. It has actually become my catch all activity - if I have nothing else to do for even 5 minutes, I take out my Treo and continue reading my book. (P.S. Discworld rules!)

Erich Schubert: Autopackage knows it better, not.

There is a, well, very arrogant page in the autopackage wiki, which basically boils down to "everything around Linux is crap, so if you write an app for Linux, do it our way". They totally have lost the grip of reality, apart from just writing a lot of things on Debian and other Linux distributions which is outright wrong. But it looks like Debian no longer is on it's own with outright refusing to support autopackage crap. Looks like Python, C++, GTK, GlibC and the GNU toolchain. Oh, and pretty much everybody else. So, dear autopackage, if everybody except you is stupid, why don't you just leave us alone, and write your own OS according to your rules? I bet you'll find out after some time why they were setup this way... and what breaks with $your_way. And developers: Ignore autopackage, at least until they've adopted a sane attitude towards cooperating and dropped their arrogance. And they offer a solution which actually solves problems, instead of introducing tons of new ones (especially bringing back fragmentation, and all the dependency hell and incompatibilities a good package mangement tries so hard to avoid) If you really think you need "average" users to be able to try your latest version without wating for an "experienced" user to build packages for them, maybe have a look at Klik. While I have a low opinion of this approach in total, Klik seems to have a much better design, and especially a much better attitude.

10 March 2006

Axel Beckert: Tagging with Technorati style in pure Blosxom

Short summary: I can’t stay away from coding Blosxom plugins. Perl rules. PHP sucks. ;-) Supporting Technorati style tag URLs After releasing the last version of my Blosxom plugin tagging, I noticed that Technorati only seems to like URLs ending in “/tagname” but not ending in “=tagname” (as they do if you use classic query strings instead of the path info), even if the a tag has a rel="tag" attribute. And not only I noticed this but also some other users of the plugin. (Although I do wonder how Furl made it to a Technorati partner with URLs like http://www.furl.net/furled.jsp?topic=tags…) So I somehow had to change the syntax style for my tags. This wasn’t very hard for the links, but I wanted them to still link to my blog and not to Technorati, Flickr, Wikipedia or any other external resource. Implementing Technorati style tag URLs The obviously easiest solution for someone who’s using and administrating Apache web servers for nearly ten years now was to use some mod_voodoo—eh—mod_rewrite:
RewriteEngine On
RewriteRule ^/cgi-bin/blosxom.cgi/tags/(.*)$ /cgi-bin/blosxom.cgi?-tags=$1 [PT]
That way I could use Technorati style tags and had a well performing solution. But somehow this solution wasn’t that satisfying since it wasn’t pure Blosxom and therefore had some dependency including access to some Apache config file. (Even if the config file was called .htaccess. ;-) A pure Blosxom solution A few days ago I somehow noticed that in general a special behaviour on some URLs could also be implemented using Blosxom’s API. Using the entries function to modify the Blosxom internal path itself before Blosxom or e.g. the entries_index runs but not returning any hashes, allows to have some path like URLs not being treated as a path by Blosxom. Unfortunately this couldn’t be incorporated into the tagging plugin itself, since plugins doing such path interpreting voodoo needs to be ran before any plugin supplying an entries function runs. But the tagging plugin must run after such a plugin. So I created the small add-on plugin pathbasedtagging which is solely thought for use together with the tagging plugin (but may have other, yet unknown purposes). And since I got asked if they could use the tagging plugin to link to external tag URLs instead of the own blog, I included a ready to use list of more or less popular external tag URLs including Technorati, Flickr, del.icio.us, de.lirio.us and Wikipedia. from the slashdot dept. Since I’ve always liked the often sarcastic or even evil comments inside Slashdot’s subtitle alike dept. lines and since I’m also used to use them at Symlink, I wanted them in my blog, too. Time for a new plugin. The basic work of parsing out the data from the text files the posts reside in was already written for the tagging plugin. So I just had to use that code, simplify it and add some little more code to get the dept plugin whose results you can see in my blog directly beneath the title of a posting since a few days now. Update 02:52h Hey, see my Technorati profile: It worked! Technorati recognised the tags! Yeah!

9 March 2006

Julien Blache: What does this Project need now ?

It’s 11:30pm right now, I spent the whole day coding and can’t sleep even though I’m tired. The only thing I can focus on right now is Debian and the complete mess the Project is trying not to become. So here we go. Following tbm’s last posts about DPLship, I think he’s right. It’s pretty obvious, the last few DPLs did not take any real decisions and we’ve become quite used to that. Saying that the Project is on the road to self-destruction may be a slight exaggeration right now, but that’s what we’ll end up with if we don’t react soon. The good news is, the DPL election is in the process. The bad news is, we don’t know yet if one of the candidates will be able to carry out much of the processes needed to get the Project back into shape. We’ll find out eventually. Before doing anything, we need a clear picture of the Project as it is today; nobody can claim that today, Joey’s resignation as SRM proves it: nobody knows what the fuck did or did not happen between Joey and ftpmasters, and there’s probably a metric fuckton of gory details to take into account too. So, getting a clear picture of the state of the Project. In one word: audit. Ask every individual delegate for a detailed, comprehensive status report including all the details, including sensitive ones — obviously those reports will be sent to the DPL. No report, and that’s one less delegate. Don’t ask for team reports, they’re biased; getting X copies of the same report from team members is out of the question too. While they’re at it, ask each delegate to reaffirm its commitment, or appoint somebody else. Play by the rules or get replaced (by a little shell script, wherever possible). Based on the information collected through those reports, decide a plan of action and discuss it with the delegates. Once the decision is taken, announce it, get some feedback, then implement it. Remember: always consider the Project as a whole. The only problem is, this may well take more than one DPL term to achieve. It’s so fucking simple and we’re so fucking incapable of doing it. Sit back, look at things the way they are. Pity.

Pierre Habouzit: about NMUs

Lars spoke about NMUs on his blog, and especially pointed to DDs that allow 0-Day NMU on their packages. I really consider this is a good initiative. In fact, I'd really like to see the rules for NMU be changed a bit, there is too many packages that rot in the archive, with trivial bugs to fix since ages (not to mention those that even include the patch to fix them in the bug report). When I see packages on the BTS like that :
Package: foo; Severity: important; Tags: patch; 1 year and 14 days old.
with no answer except a vague busyness excuse, no reason why the patch is not included, it just makes me sick. I really think we should allow NMU without the "ping the fellow maintainer" part, especially when the package is not co-maintained. NMU should not been seen as an aggression. And if you don't want to be NMU-ed, just work on you packages.
Please note that I understand that one can not always be available for debian, and some packages are not critical. But I don't see the point in such an answer. If you are not available, and that a fellow developper has had some time to fix an annoying or long-standing bug on your package, because he had time for it, and did it keeping his patch as small as possible, be pleased, not offended. And then, take the 10 minutes it should need you to review the patch, and acknowledge it in your next upload.

5 March 2006

Uwe Hermann: HOWTO: Anonymous communication with Tor - some hints and some pitfalls [Update]

Warning: Very long post ahead. You have been warned! What? Tor is a Free Software project (revised BSD license), developed by Roger Dingledine and Nick Mathewson, which creates an infrastructure for anonymous TCP communication. From the project website:
Tor is a toolset for a wide range of organizations and people that want to improve their safety and security on the Internet. Using Tor can help you anonymize web browsing and publishing, instant messaging, IRC, SSH, and other applications that use the TCP protocol. Tor also provides a platform on which software developers can build new applications with built-in anonymity, safety, and privacy features. Tor aims to defend against traffic analysis, a form of network surveillance that threatens personal anonymity and privacy, confidential business activities and relationships, and state security. Communications are bounced around a distributed network of servers called onion routers, protecting you from websites that build profiles of your interests, local eavesdroppers that read your data or learn what sites you visit, and even the onion routers themselves.
Tor also allows you to set up and/or use a so-called Tor hidden service, i.e., a server which offers some service (a website, ssh access, or similar) without revealing its IP to its users. Why? Why would you want to use Tor? Well, because you probably don't want anybody (neither state agencies, nor companies, nor "hackers", nor any other individuals or groups) to be able to record, analyze, and (ab)use information about your web browsing habits, or any other communication habits. For instance, you don't want Google to have a complete search-profile of you, which — even worse — might some day get in the hands of other parties. In the days of massive data retention you don't want all your electronic traces to be recorded, stored for ages, analyzed, and data-mined for dubious reasons and with even more dubious results and false conclusions drawn which might negatively affect you. If you're a human rights activist in China, you want anonymous communication. If you're a whistleblower, you want anonymous communication. The list is endless. For securing your communications, so that nobody is able to sniff your emails, your chat messages, your passwords, your private documents and conversations, you use encryption. For communicating anonymously you can use Tor. Combine both, and you have secure and anonymous communication. In case you're wondering whether criminals might abuse Tor, read the Tor Abuse FAQ. Short answer: yes, but if you're willing to break the law, you already have anonymity (open access points, stolen/prepaid mobile phones, etc.). You don't need Tor to do bad things if you're a criminal. If you're one of those horrible "oh, but I don't have anything to hide" guys, consider this: Say you have a drug/alcohol problem and want to visit an anti-drugs/anti-alcohol website or forum for help. Would you want the whole world, your neighbors, your co-workers, your boss, to know that, or would you rather want to keep that a secret? Say you have AIDS and want to get information on the web? Or, to make the example even more dramatic: Would you want some random guys to be able to watch you while you fuck your wife? No? So you have something to hide after all, right? My point is: Everyone has something to hide, even more, it is a basic human right to have the ability to hide something. It's called privacy. How? Tor implements a form of onion routing to, basically, push encrypted data through multiple Tor nodes (servers), before it reaches the final destination (e.g. a website). The result is that neither the website owner, nor a local eavesdropper, nor any single Tor server knows who requested that specific website, hence you are communicating anonymously. For more technical details, read the Tor overview and the Tor documentation pages. In order to use Tor, you have to install and run a local Tor client/daemon (this is not necessarily a Tor server!). On Debian, type apt-get install tor, on other systems you can get the respective binary packages or download the sources and compile Tor yourself. Usually Tor is used together with Privoxy, a configurable HTTP proxy which sanitizes your web-browsing experience by removing nasty banner ads, pop-ups, JavaScript, webbugs, cookies etc. etc. So: apt-get install privoxy. After installing and starting Tor and Privoxy, you can now configure your webbrowser to use Privoxy as an HTTP proxy (see below), and Privoxy will in turn use Tor to anonymize your communication if you add "forward-socks4a / localhost:9050 ." to your /etc/privoxy/config. Anonymizing various applications Most (but not all) of the following information is also covered in the very useful Torify HOWTO in the Tor wiki (I will add the missing information there, ASAP). As I'm pretty paranoid, I have checked every single of these configurations with Ethereal to ensure that the traffic is really anonymized. However, if you are paranoid, you shouldn't trust me, but rather test this stuff for yourself! Warning: DNS Leaks:
The biggest problem with many applications is that they leak DNS requests. That is, although they use Tor to anonymize the traffic, they first send a DNS request untorified in order to get the IP address of the target system. Then they communicate "anonymously" with that target. The problem: any eavesdropper with more than three brain cells can conclude what website you visited, if they see that you send a DNS request for rsf.org, followed by some "anonymous" Tor traffic. The solution: use Tor together with Privoxy, that prevents DNS leaks. Many non-HTTP-based applications are usually torified using a small tool called torify (e.g. by typing torify fetchmail), but often this approach has DNS leaking problems, see below. You might also want to check out toraliases, a small shell script you can source from your ~/.bashrc file. It defines some functions and aliases which transparently direct the traffic of some (but not all!) programs through Tor. Applications which cannot easily be torified Anything not using TCP usually cannot be torified, as Tor only works for TCP. Pitfalls to be aware of More information More information is available in the Tor documentation, the Tor wiki, and especially in the Tor FAQ. In addition, there's an IRC channel on Freenode (#tor), some slides and a video (torrent) about Tor you might find interesting. If you would like to help, you can run a Tor server, donate some money, or volunteer to do other things (code, debug, document, translate, and more). That's it for now. I'm very grateful for comments and suggestions, especially for hints on how to anonymize more applications. Also, if you notice any dumb mistakes I made, please leave a comment. Update 2006-03-07: Fixed typos, added link to the toraliases project (thanks Benjamin Schieder).

3 March 2006

Wouter Verhelst: Scientific studies on Open Source

It's strange, but ever since I have been a Debian Developer, people start assuming I'll be interested in any random study. They'll put up a web page (which often doesn't even validate), and then start asking strange questions that have no link with reality whatsoever. On the one hand, I have better things to do than to cooperate with random studies from people I've never heard of before and probably never will hear of again. On the other hand, only by understanding will people see the light, and only by cooperating with such studies will one help people understand. But seeing the same mistakes over and over again is annoying me. So, here's Wouter's HOWTO perform a study on Open Source or Free Software (and get away with it without annoying people) That's the most important bits, I guess. I'll probably add more in the future, if I see more things that annoy me. But for the time being, if you break three or more of the above rules, don't expect me to participate—I have better things to do with my time than to help every undergraduate on this planet with his or her study

2 March 2006

Gergely Nagy: The Switch(tm)

The webserver I've been running for the past year or two, my own creation, had been acting strangely lately. It got stuck at times and refused to serve requests. I knew of the problem for some time, but due to time constraints, I haven't touched the code in a very long while. Therefore, the problem never got fixed - and as it stands, it never will be, as I've given up working on Thy (and pretty much everything else), until I finally finish my studies. Originally, thy was written because the machine that powered my domain was not strong enough to run apache. The hardware got replaced about two times since then, and the current one is adequate enough, and the switch was made: I'm now running Apache 2.0. A few rough edges still remain - like SSL is not configured yet at all, but other than that, I think everything else that used to work, still works.

Next.

Previous.