May 09, 2008

Joerg Jaspert

The annoyance continues: Ftpmaster, yet again

Lalala, it’s me again. Don’t shout, it’s not a long post! :)

What did we do since I last dared to post with my Ftpmaster head on? (Yes, I should put a summary of all my blog posts into a Bits from mail sometime.)

  • Fixed some bugs, like all of the waiting Please create/remove pseudopackage FOO ones. So we now have a BTS entry for wiki.debian.org, release.debian.org and the security-tracker.

  • Merged a patch from Thomas so we now correctly reject packages where the maintainer tried to be clever, editing the changes file to get an orig.tar.gz mentioned after forgetting the -sa parameter to dpkg-buildpackage. SIGH. Especially sigh as that ##censored## wasn’t able to understand the format of those lines. Nor did he look, or he would have immediately spotted his mistake. Unfortunately it is not the first time this maintainer broke stuff with uploads he never checked in any way. Including uploads for important packages. Bah.

  • Merged another patch from Thomas, which generally makes NEW look nicer. It drops the unneeded Checksums-foo headers completly, no need that we see them there again, they just waste space and are useless for us. The patch also changes the html files we generate for all packages in NEW, something which I added to dak a few months ago - based on a patch from Thomas. :)

    The stylesheet now applied got sent in from Martín Ferrari who already created the style for the removals page.

  • Done a whole lot of NEW. Yes, I continue to do most of NEW, as I’m still (and possibly for some time) are the one with the most experience and speed in doing it. Thomas is doing NEW too, mostly by picking a few packages and processing them. (Before someone yells - he is doing a very good job with removals and override changes, an area where I haven’t looked much into since he got added to the ftpteam).

  • Did, together with Mark Hymers, a lot of cleanup work in the code, using pychecker and pylint. We only started, but there have been various changes already, like

    • change “import daklib.foo” and then using daklib.function to “from daklib import foo” and then using foo.function. Granted, the Ideal way would be to go “from daklib.foo import function1, function2, function3” (or so), explicitly naming every thing you use. Or even better, make the whole dak fully object oriented. Or so. Or whatever. :)
    • replaced all own string exceptions, which are deprecated, with real exception classes.

    The cleanups we did made pylint rate the code 5.21, with the initial rating (before we did anything cleanup related) was 3.59/10. (As if it would count, but still) :)

  • Added two more headers to mails generated by dak and the queue daemon, X-Debian: DAK and X-Debian-Package: $something, following a suggestion from Bug #479953. Hopefully other tools follow this schema too, at least I announced it on debian-devel-announce, so hopefully it will be taken as a quasi-standard. :)

    Ok, yes, I admit, the queue daemon is currently not adding the X-Debian-Package header. It does add the X-Debian: DAK header, but not the package one. I got a headache when looking at it, its old and grown perl code. If someone wants to send a patch, fine, the bzr repository has it in tools/debianqueued-0.9.

Comments: 0

11:22pm

Vincent Fourmond

My lastest fight with udev...

I've been trying for a very long while to learn to write udev rules, but I've mostly been unsuccessful, or rather, successful by chance, which is hardly better, as it implies no understanding whatsoever of what I'm doing.

My game, today, was to create a symlink for a loop device (loop7) and set the device's group to cdrom (I might elaborate some time later why I need that). So, here is what I learned:

  • at least for the GROUP= directive, the latest item in the /etc/udev/rules.d directory rules
  • to test modifications in the /etc/udev/rules.d directory, you need to run the following:
    ~ /etc/init.d/udev stop
    ~ /etc/init.d/udev start
    
    restart will not work !

With that in mind, the following snippet worked for me, under the name 40-private-loop.rules:

KERNEL=="loop7", SYMLINK="videoloop", GROUP="cdrom"

Enjoy !

10:37pm by Vincent Fourmond (noreply@blogger.com)

Nacho Barrientos Arias

Yay, you won!

Some people are born to be a winner, you‘re one of them. Congratulations dude! ;)

08:38pm by nacho (Comments)

Adeodato Simó

Soooo, I won

As I mentioned, this week I’ve been in Sevilla as a finalist for the 2nd edition of a Free Software contest. Each participant at this stage made a presentation of their project, and this afternoon the winners were disclosed. I’m happy to share that Minirok won the 1st prize in its category, yay!

Also, Dudesconf was simply terrific — I’m so happy I could attend this year. And, as for every conference, eternal gratitude to the organizers: people from GPUL, you simply rock!!

05:42pm

Amaya Rodrigo

Of life and vermin

One morning, when Gregor Samsa woke from troubled dreams, he found himself transformed in his bed into a horrible vermin. -- Metamorphosis by Franz Kafka

04:24pm (Comments)

David Welton

LangPop.com - programming language popularity - update

These few days when Ilenia and Helen are still in the hospital are the eye of the storm for me. It's quiet at home and I actually have a few free hours when I'm not allowed to be in the hospital, or when they need to get some rest.

One of the things I managed to do recently was some Javascript hacking in order to create a timeline for LangPop.com: http://www.langpop.com/timeline.html. It was fun, because most of the "heavy lifting" is done by Timeplot, and I just had to push the data into place. Of course, there isn't much interesting there because the site is relatively new, but it should be interesting to see how languages fare over time.

I did some hacking on Timeplot to make it easier to host it on my own server, and to load a bit faster by stuffing it into one big ugly blob of Javascript. When I get a bit of time, I'll make my changes public, as I think they're fairly useful for anyone who wants to fiddle around with Timeplot some, and thus host it themselves.

The other thing I did with the site was switch the X and Y axis of the charts, because that works out better in terms of screen space for the labels, with so many languages to keep track of.

04:15pm by David N. Welton

Matthew Garrett

My previous entry was somewhat misleading in one respect - the discussion of the power consumption of a downclocked processor. The problem is that nowadays, halving your CPU frequency doesn't halve the power consumption (see the figures in Arjan's slides from OSCON last year, for instance). I'm assuming that this is due to the cache size on modern hardware being sufficiently large that it dominates the power consumption of the processor. Dropping the frequency doesn't reduce the amount of power required to keep the contents of the cache alive, so the saving is less than you'd expect. Deeper C states disable the cache and save much more power.

So, if halving your speed means everything takes twice as long but doesn't even halve your power consumption, what's the point in having P states at all? There's a certain amount of latency and power involved in moving between C states, and if the choice is between rapidly cycling between full speed and C4 or just sticking at low speed and maybe dropping into C1 or C2, then executing code at the lower performance state may be beneficial. The ondemand governor takes this into account by looking at the amount of load on the processor over time, so if this doesn't hit a threshold value it'll assume that you're better off staying at the lower performance level.

03:25pm (Comments)

Biella Coleman

Mira, it is Miro

Miro helps you Mira (watch) Videos in a snazzy and easy to use way. Software like Miro and Zotero is why I free software.

And speaking of videos, one of my readers has provided information about a wonderful documentary on Monsanto and here is a video with Michael Pollan ( an amazing journalist writing on the politics and technology of food) who recently spoke at Google.

12:29pm by Biella (Comments)

Junichi Uekawa

Starting to play with eeePC.

Starting to play with eeePC. Thanks to ASUS, I am now playing with an eeePC. With the help of Andrew Lee, I have set up LXDE environment, with full wifi support (through madwifi), and other goodies. I'm now looking into making the boot time shorter. I like the concept of finit, which is just to rewrite most initialization in C, nothing can beat that. However, Debian in general will need something more extensible than that. insserv and CONCURRENCY=shell helped the boot time a bit but it's still in the orders of approx. 60 seconds, which isn't quite fast enough.

10:35am by Junichi Uekawa

Alexis Sukrieh

TinyMCE 3.0.8 entering Debian

I’ve uploaded a new major release of TinyMCE into sid, the package jumps from the 2.x branch to the new 3.x one.

For the record, packages that use TinyMCE should rather depend on that packge instead of shipping the sources itself.

08:51am by sukria (Comments)

Jose Luis Rivas Contreras

libtorrent 0.12.2 and rtorrent 0.8.2 available in debs

They're not yet available in the official debian mirror but at least in mine they are. You can download the i386 debs from my repo, my deb-repo (using experimental suite!) for apt-get install or make you own using the apt-get repo with apt-get source.

Another easy way is to do:

dget --build http://debian.ghostbar.ath.cx/libtorrent/0.12.2-1/libtorrent_0.12.2-1.dsc
dpkg -i libtorrent*.deb
dget --build http://debian.ghostbar.ath.cx/rtorrent/0.8.2-1/rtorrent_0.8.2-1.dsc
dpkg -i rtorrent*.deb

Enjoy them! :)

05:19am by ghostbar (Comments)

Peter Van Eynde

On the legality of hacking the iPhone

The Belgian minister for Economy was seen with an iPhone recently. However Apple does not sell these things in Belgium.

So he got a little call from a journalist, according to him the only entity that could make him stop using a liberated iPhone is Apple and "until I get their summons to the court I'll continue using it" he then continued "and according to the people I spoke to, this is perfectly legal".

That was almost worth the 2 hours drive through the worst traffic ever...

12:49am by pvaneynd (noreply@blogger.com)

May 08, 2008

Matthew Garrett

Modern CPUs are great. They have all sorts of advanced power saving features, which is one of those nice cases where everyone can save money, gain performance and claim environmental credentials at the same time. Everyone's a winner.

Well. Everyone's a winner as long as your software doesn't suck.

I've talked about the benefits of the tickless kernels and reducing wakeups and spending longer in deep C states before, so if you don't know about them then go and read that first. This time I'm going to focus on a different level of hardware, and a different level of suck.

For a long time, laptops supported changing the speed of processors when switching between AC and battery. CPU power consumption is proportional to frequency, so dropping the frequency meant a longer battery life. Of course, it also meant that it took longer to get anything done - the reason this was still a win was because CPUs in those days consumed just as much power when idle as when running. Transmeta introduced a technology called Longrun with their Crusoe processors, bringing the ability to drop both the frequency and the voltage of the CPU simultaneously. With power consumption being proportional to the square of the voltage, even a small drop resulted in worthwhile power savings. As the only really worthwhile thing Transmeta brought to the x86 world[1], this was unsurprisingly ripped off by everyone else. Intel introduced their Enhanced Speedstep, AMD gave people PowerNow and VIA have Longhaul.

Obviously, reducing the frequency of the CPU increased battery life. Everyone's happy?

No[2].

The problem is that nowadays, processors don't consume as much energy when they're idle as when they're running. The aforementioned C states mean that an idle processor consumes a tiny percentage of a loaded one - an ultra-low voltage Intel part will draw on the order of a watt. Executing code, even at the lowest voltage and frequency, will draw far more power. Obviously, we want to keep the processor idle for as long as possible. The easiest way to do this would be to never run anything, but that's not a real option. The alternative is to run when we have to, but make sure that we get it over with as quickly as possible so we can return to the idle state. Counterintuitively, that means switching to the highest voltage and frequency, executing the code and then dropping back into the idle state. By going faster, we save power[3].

In summary, the only sensible way to use a CPU is to run it as fast as possible in order to let it idle as much as possible, and drop the frequency and voltage when it's not doing anything. The. Only. Sensible. Way.

Some people write software that lets you choose different power profiles depending on whether you're on AC or battery. Typically, one of the choices lets you reduce the speed of your processor when you're on battery. This is bad. It is wrong. The people who implement these programs are dangerous. Do not listen to them. Do not endorse their product and/or newsletter. Do not allow your eldest child to engage in conjugal acts with them. Doing this will reduce your battery life. It will heat up your home. It will kill baby seals. The sea will rise and your car will float away. If you are already running it, make sure that it always sets your cpufreq governor to ondemand and does not limit the frequencies in use. Failure to do so will result in me setting you on fire[4].

The only legitimate reasons for limiting the speed of your CPU are to avoid overheating (which should be fixed in the kernel, really - having userspace in charge of ensuring the continued functioning of the machine is madness) or to make the machine quieter. And if you want your machine to be quieter, there should be a tickbox marked "Reduce performance in order to reduce noise" or something, which would take into account all the sources of heat in your machine rather than just your CPU. Encouraging the managing of acoustic levels by asking users to restrict the functionality of their CPU is just another way of saying "Look! We suck!". Letting the user choose a specific CPU governor or a specific frequency is not a useful thing to do. Don't do it unless you want to see dead kittens. Delivered by UPS.

[1] And, presumably, whatever else Intel and everyone else ended up licensing off them which resulted in their reinvention as an IP company rather than a CPU one, but that's just not interesting to me.

[2] Even ignoring the people that are unhappy for entirely unrelated reasons, such as injured toenails or the brutal murder of their family

[3] There's a corner case here, which is a system that is always entirely CPU bound. Say we halve the CPU's speed. Along with the voltage drop, that gets us down to about 20% of the original power consumption. Of course, it now takes twice as long to do anything and your screen, RAM, hard drive, chipset and so on are still drawing power, so will end up costing you twice as much power as they would have done if you'd run at full speed. If you do the maths, it works out that you save power if your processor's full-speed power consumption is more than 1.7 times that of the rest of the platform. In the real world, things are made more complicated by the rest of your platform consuming more power if you're working over a longer period of time - your hard drive is going to end up spending more time spun up, your memory bus is going to be active for longer and so on. You're basically not going to hit this case.

[4] While the burning of your body will result in carbon emissions, the reduction in power usage should offset this in the long run

11:19pm (Comments)

Thijs Kinkhorst

Great leaps of innovative progress developments!

My previous entry features the first ever comment on this blog to arrive over IPv6. Fantastic! I guess this will be the final breakthrough that the protocol needed!!

07:28pm by thijs@kinkhorst.com (Thijs Kinkhorst) (Comments)

Jon Dowland

command history meme

The command-history meme seems to have finally died a death (or maybe Im not reading in the right places).

One thing I couldn't help to notice was that the most common two commands for virtually everyone were cd and—usually right behind it—ls.

I'd wager that often, the ls follows straight on from the cd.

For some time at work, I've had the following in my ~/.bashrc:

cd() {
	builtin cd $@ && ls -lhrt
}

This might well break some things, I'm not sure, but it's saved me a bit of typing.

10:21am

Stefano Zacchiroli

vcs distribution stats for packaging

Some more stats: $VCS distribution for Debian packaging

I've set up yet another stat page, this time it's about the distribution of $VCS for Debian packaging. It's as trivial as you can imagine: it gets all the Vcs-XXX fields out of unstable Sources and plot how many packages are using a given $VCS.

I've got no surprises in the relative popularity of $VCS: subversion is clearly the most widespread (with about 2700 packages on a total of about 13000) and git is growing (700 packages); with the exception of bzr (90 packages), all the other are used by less then 50 packages. Thanks to Lucas I've also included graphs in the page, as I think it would be interesting to monitor the evolution. (Probably as everybody) I'm confident to see an increasing trend for git balanced by a decrease of subversion, we'll see.

The total number of packages using some $VCS is encouraging, we are at about 29% of the archive (you know that if your package is not declearing some Vcs- headers in its source stanza I'm not counting it, right? Go add the headers!).

Interesting side effect: as I'm now maintaining a handful of these stat pages, I was pondering «hey, we should create a wiki page with pointers to all the stat pages about Debian we have». Well, in fact it already exists: Statistics on wiki.d.o.

09:02am

David Welton

Helen Carolina Welton

I normally avoid topics of a personal nature in this journal, as it's meant for programming / business topics, however, I am extremely happy to announce the birth of our first daughter!

08:26am by David N. Welton

Joey Hess

spamvertunity

"your download link will arrive momentarily at the email address you submitted. to ensure the email does not get marked as spam, please instruct your email client to accept mail from nin.com."

I wonder how many spambots are busy blasting off zillions of spams with headers forged to be from nin.com as we speak? Best of all, the spams can be customised, you know that many of the people getting them will enjoy this music.

(Sometimes I wish I could take advantage of these money-making opportunities as they present themselves to me..)

05:56am

Andrew Pollock

[life] Tour de Cure

Sarah and I are doing the Tour de Cure again this year, like we did in 2006, again as part of the Google team.

This time around we're doing the 50 kilometre ride, since the 25 kilometre one was a bit of a cakewalk. That said, the fitness levels of both of us are pretty abominable at the moment, so it'll be interesting.

So this is the obligatory grovel for donations. If you'd like to make one, you can do it at http://tour.diabetes.org/goto/andrew_pollock

Here's what I'm not spamming people with:

I recently accepted the challenge of cycling in the American Diabetes Association's Tour de Cure fund-raising event. The Tour de Cure is a series of cycling events held in over 80 cities nationwide. The Tour is a ride, not a race; it features different route lengths from a leisurely 10-mile course to a demanding 100-mile journey. I have joined thousands of others to pedal in support of the Association's mission: to prevent and cure diabetes and to improve the lives of all people affected by diabetes.

I am asking you to help by supporting my fund-raising efforts with a donation. Your tax-deductible gift will make a difference in the lives of more than 20 million Americans who suffer from diabetes and another 54 million people in the United States with pre-diabetes.

Any amount, great or small, helps in the fight against this deadly disease. I greatly appreciate your support and will keep you posted on my progress. If you want to do even more to help, please consider joining me in this great event. Our efforts will help set the pace in the fight against diabetes.

More information on the American Diabetes Association, its programs and diabetes in general can be found at the Association's Web site: www.diabetes.org.

For more information on Tour de Cure, please visit www.diabetes.org/tour.

05:24am by Andrew Pollock

William Pitcock

redhat initrd considered harmful.

Tried to switch a CentOS domU from the Debian kernel to pyGrub + CentOS kernel today. Here’s what I discovered:

  • the redhat initrd sucks
  • unsurprisingly, the debian initrd will not work with a redhat kernel
  • modifying the redhat initrd to do the right thing is impossible
  • lets try using hdaX: no. that didn’t work.
  • apparently using e2label to force a filesystem label helps? nope.
  • nash is not really a shell, but instead an evaluator of static commands
  • mkinitrd is a horribly written bash script
  • modifying mkinitrd to generate /dev/hdaX and /dev/sdaX? no dice.
  • trying to embed a shell into the initrd like in debian’s initrd for debugging? impossible.

I gave up for the night. Sadly that user is probably going to post a horrible review of my Xen hosting service to WHT now. Oh well, it’s not as if I needed his $5/mo anyway. Yes, $5/mo apparently gets you the privilege of 24×7 support now. I didn’t know. Update: Oh, cool, apparently he didn’t.

Update: According to the CentOS wiki page on the subject, providing a virtual disk instead of a LVM volume makes it happy. The problem then is that any VMs made using an LVM partition can’t be transferred to a virtual disk, as the whole LVM volume is a filesystem. Or am I missing something? I suspect RedHat calls this a feature, personally I call it a bug.

05:13am by nenolod (Comments)

Joey Hess

running a wiki on Amazon S3

Continuing on with my plans to make ikiwiki more appealing to users without a dedicated server, this evening I've written an ikiwiki plugin that makes it use Amazon S3.

So, it's possible to publish a blog or other static website, built using ikiwiki, without needing your own web server at all. Ikiwiki builds a website and uploads it to Amazon, which then handles the web serving for you.

If you want a traditional wiki that people can edit online, you can still serve the pages out of S3, but you will need to find a "real" web server to host the ikiwiki CGI that handles the page editing. It'll then inject modified files into S3 as necessary.

Amazon EC2 would be the obvious choice for where to run the "real" web server, but probably not the easiest one to set up. In my experiments, I've been running the ikiwiki CGI on nearlyfreespeech, and serving the rest of the wiki out of S3. Since page edits are relatively rare, I estimate this approach will cost a dollar or so a year for the CGI hosting (most of it paying for disk storage). The Amazon S3 hosting of course depends on number of hits and storage size. And presumably it will scale very well, and be very competatively priced, if you believe Amazon's marketing. :-)


I'm loving that the design decisions I made about ikiwiki at the very beginning -- that it would use static web pages, and would be backed by a real revision control system, is now letting it be deployed in these interesting ways that I did not begin to envision back then!

03:59am

Andrew McMillan

Finally: DAViCal 0.9.5

Finally, I have released DAViCal 0.9.5. Hopefully this will resolve the series of installation- and upgrade- related problems which plagued the 0.9.4 release.

Thanks for everyone being patient while this release was thoroughly tested through five pre-release versions, and especially thanks to those patient people who helped test those pre-releases.

Now if I don't get too distracted by:

... then maybe I will be able to really concentrate on nailing the scheduling extensions work over the next couple of months...

Wish me luck!

03:29am by andrew (Comments)

Gintautas Miliauskas

Europanto

This made my day! Here's an excerpt if you're too lazy to click on the link:

"Als humanos, tambien nations, after seine geborn, become bambinos und grow adult. Aber als humanos, sommige nations never become adult und necessite psychiatrico help", dixit once Sigmund Freud aan Herr Kanzelier Otto Von Bismarck attemptante de le convince que Germania eine tumultuosa puberty was traversante.
Otto Von Bismarck ignored die wise parolas des fader des psychanalyse und wat happened aan Germania next, wir know mucho well.
Die freudiana diagnose noch todag applicable und validissima est, by exemplo, por wat Grosse Britannia betreft. Eine nation die encore play mit kleine soldatos und make carnaval parades out des season, mature est suremente nicht.
Wat pushe flegmaticos aged britannicos de dresse in hooliganicos costumes und parade mit tambouros und trompettes in der nordirlandico landscape? Sicheremente eine mucho neglected mentale desease.
Eine people waar hombres can wel dress in skirts, waar animals habe more rights dann mensen, waar man drive op de wronge side des strada, must echtemente seriose problemas van personnality habe. Eine people die nicht only play cricket und darts, aber les regarde tambien op TV, bastante insane must definitamente esse.
(...)

There are more texts in this, er, language, on the Europanto main site.

Edit: fixed link

03:08am by Gintautas Miliauskas (noreply@blogger.com)

May 07, 2008

Jon Dowland

Nine Inch Nails - The Slip

I would not blame the people I speak to regularly for getting some kind of fatigue regarding Nine Inch Nails. It seems like a week hasn't gone by this year without something happening: a single, an album, or tour dates.

It didn't come as much of a suprise that a new album was released in it's entirety this monday gone. ID3 tags in previously-released singles said "watch nin.com on 5th of may". It wasn't even that suprising that the whole album was free, either.

What was a suprise, to me at least, was that this album is fantastic. I'd heard two tracks prior to the album being released (although one only by a few days). Whilst I enjoyed them, they were pretty safe, lyrically and musically. They didn't push any boundaries. They also did not forshadow the album at all.

This album is the best Nine Inch Nails release this century. It's too early to tell whether it stands higher in my estimation than 1999's The Fragile. If so, it's the best release since 1994. I had not even considered this a possibility.

I also think it's the best album to present to someone who isn't familiar with their work to see if they'd like to look for more. It has a good range of tracks covering loud, aggressive, introspective, instrumental, dancable, dark and delicate.

I'm now starting a self-imposed ban on listening to the album, so as to not overdo it too much so early on. Regardless, I can still hear The four of us are dead playing over and over again in my head. This is a strong candidate for my favourite NIN song ever. It made me think of what the Cure should be writing.

Each track in this release (like each of the 36 tracks in the last album) have their own unique embedded picture in them. There is scant software in Debian that can handle these, unfortunately. I think "tagtool" can add and remove art. Amarok copes admirably. Rhythmbox doesn't, unless you apply this patch, which is stagnating in gnome's BTS, unfortunately. For the lazy (with 32bit x86), here's a tarball of a recent-ish rhythmbox rebuilt with this patch. I'd supply a Debian package but I didn't feel like building the documentation at the time.

I haven't found a single program for the n800 that can handle the artwork.

11:47pm

Christian Perrier

Bug #480000

Roberto Lumbreras reported bug #480000 on Wednesday May 7th.

As bug #470000 was reported as of March 8th 2008, we're still keeping nearly exactly the pace of 2 months for 10,000 bugs, so 60,000bugs a year. Bug #500000 should then be reported around Sept 7th 2008. As a consequence, the candidates for winning the 500000th bug contest are still Miguel Gea or Kartik Mistry. Jacobo Tarrio has his chances, though.

I haven't done any MBF to keep chances of winning the contest myself.

See you around July 7th for bug #490000!

07:08pm

Julien Blache

SANE in Lenny

The SANE project is working on improving SANE, extending the API and ABI in a backward-compatible manner and bumping the version from 1.0.x to 1.1.x to celebrate that.

The timetable has been posted, and calls for a release of SANE 1.1.0 on July, 30th.

This will be too late for the Lenny freeze by a few weeks, which means Lenny is set to be released with SANE 1.0.19.

SANE 1.0.19 is a good, solid release, which is good news. I’m not sure 1.1.0 will be as solid as 1.0.19 is, so I won’t try to rush 1.1.0 into Lenny at the last minute.

Until the Lenny freeze, I’m going to augment the current SANE 1.0.19 with code from the SANE CVS, concentrating mostly on bugfixes and self-contained new hardware support and features.

Hence, if there is something in the SANE CVS that you would like to see in Lenny: test it, then tell me about it. You have until the end of June to do so.

Currently on my TODO list:

  • pixma backend update

Currently in experimental, sane-backends 1.0.19-7:

  • saned & net backend with mDNS/DNS-SD support
  • debconf support for enabling saned

Comments and feedback welcome.

05:08pm by jblache (Comments)

Eddy Petrișor

Motorcycles DO EXIST on the road!

Some of you might have noticed that in the recent weeks I wasn't active at all online. This was because I was on a vacation in Italy. On the way back I was eager to write about my experiences, but after entering Romania, I found out that may parents had been involved in a motorcycle accident due to a careless driver.

The accident took place on the second day of the Orthodox Easter (on the 28th of April)[1] while my parents were coming back from my sister's, just 20 km away from my home town, Caracal, in a village called Zănoaga. There, a Daewoo Cielo was parked on the left side of the road[2], facing the direction towards Caracal. The driver decided that it was a good idea to turn his vehicle and, according to his declaration, instead of looking himself if there was anything comming, he asked a passenger if there were any cars comming.

Since a motorcycle is not a car, I guess the passenger thought it was OK to answer "no".

So the driver simply started his maneuver and managed to occupy the entire right lane, according to the accident schematics (I saw the official police schematics of the accident site with my own eyes). There were only 30 cm from the front most point of the car to the ditch on the right side of road, while the rear wheels were on the mark indicating the axis of the road. That left only 2 meters free on the opposite lane out of the 6.60 meters wide road, so there was no way for my father (driving the motorcycle) to avoid the collision, in spite of the fact he was travelling at about 40-50 km/h[3], within the legal speed limit (50 km/h).

My father barely had enough time to avoid the central pillar and aim for the rear right door of the car, obviously, a safer place to hit. Still, this wasn't enough to keep my mother on the motorcycle, a safer place for her than anywhere on the road.

My mother was projected over my father and over the car, and, luckily, landed on the side of the road, between the asphalt and the ditch, on an area covered with grass. She landed straight onto her head (the helmet protected her really well), and the shock of the landing propagated along the spine, resulting in the fracture of the L1 vertebra. She also got a fissure in the right clavicula, but that should already be OK now.

My father managed to remain on the motorcycle, but the impact was violent enough that he managed to bend the gas tank and has two huge bruises on the inside of his thighs (one for each leg). He also accuses pains in his shoulders and the lower end of the spine (unfortunately he "managed" not to do the medical investigations after the accident), but I hope all of these will pass soon and will have no ill effects. Also, out of sheer luck, at that time, my father was wearing a full-face helmet, contrary to his habit of earing an open-face helmet; due to this, his face was protected and suffered no harm, while the chin of the helmet broke after the impact with the motorcycle windshield. Also some deep scratches starting from the half of the helmet windshield up to the top of the helmet were the signs of a (probably second) violent impact with the motorcycle windshield.



So, the next time you are on the wheel, please look out for motorcycles, too. Motorcycles do exist on the road!

Also, I advice anyone driving a motorcycle to wear good protection equipment like a full-face helmet, jacket, pants, boots, gloves, etc. These helped a lot my parents, and will help you too, if, God forbid, you are involved in an accident.



My mother is in a cast that covers her from hips to shoulders to help with the fracture recovery and also wears a collar (just for safety reasons since she is suffering of spondyloses).
My father is able to walk (with some pain) and seems not to have any injures (I will take him for a close investigation some time soon in spite of his stubbornness).



[1] worrying for us (me and my future spouse), my parents didn't told us and waited for us to return to Romania
[2] in Romania the vehicles travel on the right side of the road, so the driver also drove on opposite lane, a fact which, according to the law, is punished with the suspension of the driving license
[3] he speed was confirmed by the measurements done by the police

05:17pm by eddyp (noreply@blogger.com)

Clint Adams

Ruuuuuucolaaa

Thijs, in the U.S. we call it arugula and have bred all the flavor out of it so it can be just as non-threatening as Iceberg lettuce. Americans who go to the UK will be hesitant to pay £12 for a rocket sandwich, as without being able to see a TSA seal of approval, they will fear the Washington school bus's re-entry shield.

04:07pm

Steve Kemp

You're not too technical, just ugly, gross ugly

Well a brief post about what I've been up to over the past few days.

An alioth project was created for the maintainance of the bash-completion package. I spent about 40 minutes yesterday committing fixes to some of the low-lying fruit.

I suspect I'll do a little more of that, and then back off. I only started looking at the package because there was a request-for-help bug filed against it. It works well enough for me with some small local additions

The big decision for the bash-completion project is how to go forwards from the current situation where the project is basically a large monolithic script. Ideally the openssh-client package should contain the completion for ssh, scp, etc..

Making that transition will be hard. But interesting.

In other news I submitted a couple of "make-work" patches to the QPSMTPD SMTP proxy - just tidying up a minor cosmetic issues. I'm starting to get to the point where I understand the internals pretty well now, which is a good thing!

I love working on QPSMTPD. It rocks. It is basically the core of my antispam service and a real delight to code for. I cannot overemphasise that enough - some projects are just so obviously coded properly. Hard to replicate, easy to recognise...

I've been working on my own pre-connection system which is a little more specialied; making use of the Class::Pluggable library - packaged for Debian by Sarah.

(The world -> Pre-Connection/Load-Balancing Proxy -> QPSMTPD -> Exim4. No fragility there then ;)

Finally I made a tweak to the Debian Planet configuration. If you have Javascript disabled you'll no longer see the "Show Author"/"Hide Author" links. This is great for people who use Lynx, Links, or other minimal browsers.

TODO:

I'm still waiting for the creation of the javascript project to be setup so that I can work on importing my jQuery package.

I still need to sit down and work through the Apache2 bugs I identified as being simple to fix. I've got it building from SVN now though; so progress is being made!

Finally this weekend I need to sit down and find the time to answer Steve's "Team Questionnaire". Leave it any longer and it'll never get answered. Sigh.

ObQuote: Shooting Fish

01:02pm

Thijs Kinkhorst

16% is not that much

A survey has shown that 16% of youth doesn't know why we're celebrating the 5th of May. According to quality news show Editie NL, this is a worrying fact. Well, is it? I find it rather reassuring that appearently 84% of the younger generation do know that 5 May is about the libration from German occupation (I remember now that I forgot to thank the Canadiens when I was there two weeks ago). 16% is not much: if you get a 16% discount you're usually not making a great deal. Actually, I would be very surprised of a survey that would show that less than 16% of people are completely ignorant of the world around them. These same people probably would't know the connection between the colour of the national team's shirts and the royal house, or be able to tell whether St Nicolaas is a protestant or catholic. Or the ones that claim money because -6 is larger than -5.

Every country has its fair share of "challenged" people. Also in recent news is that Barack Obama is losing votes because he admitted to eating rucola (arugula) from time to time. Voter's "reasoning" boils down to "if I don't know what that is, then a president that eats it can't be trusted". It gets even more sad when you realise that these people probably do know it, but don't realise they call it rocket. Great way to lose votes.

12:38pm by thijs@kinkhorst.com (Thijs Kinkhorst) (Comments)

Joerg Jaspert

New toy

I’ve got a new toy yesterday - a Nokia N95 8GB. It’s a nice little gadget (for a fucking insane price, but the contract makes it less painful) and the first mobile phone I own that I got combined with a contract for two years.

Now, I do hate phone calls, but still, my old mobile got more and more broken, so I did need a replacement. I guess the old device didn’t like falling down on the floor multiple times. And when looking at my mobile phone costs for the last year (using prepaid stuff only), well, the contract isn’t more expensive in total (some 9EUR / month now).

This N95 thing is something crazy - it has more features built in than all my previous mobile phones had together. It also has a better camera than my one dedicated camera device. The only part where it loses is the included audio player - but just because my real player has 5 times the storage size, runs rockbox and is able to play for about 35hours in a row.

One “fun” thing is - I got the phone together with the contract from a reseller of some reseller of some big fat company (very weird sub-company thing of the resellers, as far as I understood it. Not that I care too much). Getting it directly from that company would have meant to pay more than 200EUR more, for less value! Thats just insane.

Anyway, enough. I’ve sent my new number (didn’t want to port my old one this time, for various reasons), to those people in my addressbook that I think should have it. If you think you need it too and didn’t get a message - ask me. (And my old number will continue to work for some month anyways, I just wont look at it that often. Joys of prepaid cards and their lifetime). (And to those who went like *WTF is that Jörg guy messaging me?” - its me! :) )

Comments: 1

11:20am

Pierre Habouzit

git prompt

Following Martin's post on the subject, since I created my prompt, I've updated quite a lot.

It only showed the branch before, now it does so even when I'm on a detached head or something, and also shows when I'm in the middle of a rebase or a merge. You can see the zsh-fu for this. For example, when I'm in the middle of a rebase on my paid work repository, it looks like:

┌─(10:34)──<~/dev/mmsx master <rebase -i>>──
└[artemis]                                                 (~/dev/mmsx/Build/)

With nice colors I cannot really show without a screenshot that I'm too lazy to do :) This is a recent addition that I shamelessly took from the contrib bash prompt in git-core package. And to be frank it's really needed, because it's cheap tests (basically looking for magic file names) and that it can tell you if you forgot to end a rebase or a merge, which can happen if you have been disturbed in the middle of it by a colleague for example.

I liked the '*' idea from Martin to show if the tree is dirty. Sadly it's not an option. Martin, to do that, you can do:

 unclean=
 git diff-files --quiet && git diff-index --cached --quiet HEAD -- || unclean='*'

But this is a very expensive operation. On the glibc git repository, it takes seconds with cold cache (and it's not very surprising because it basically has to stat(3) a lot of stuff). And not having a shell for seconds is a bit extreme.

PS: I know my prompt only supports git, but:

  1. I barely care about other VCSes as I only use git and sometimes svn for packaging ;
  2. when I have to use svn it's for cheap stuff where I don't really need the prompt help.

08:41am by MadCoder

Craig Sanders

fixed-width style sheets suck

I’m getting more and more annoyed by web sites that have style-sheets with tiny little fonts and widths specified in pixels rather than percentages (or ‘em’ units).

Almost every web site i visit these days seems to have a style sheet written by some idiot who thinks “if it looks good on my screen using my eyes then it’s perfect for everyone”.

WRONG

Specifying widths in pixels is NOT for text. It’s for images, you morons.

For one thing, small fonts suck if you have a large, high-resolution monitor. or if you have bad eyesight. or if you’re getting older (I was helping my mother find a house to buy a few days ago and the real-estate web site we were searching was basically unreadable for her - she could see the house pictures but I had to read out the text, and even I found that difficult because of the tiny font).

For another thing, if you have a wide-screen monitor and a browser window to suit it, then a fixed-width column of 560 pixels or so looks really bloody stupid in the middle of a huge expanse of empty white space, even with another column or two at the sides for meta-stuff.

There are tools, like the Stylish and NoSquint plugins for Firefox/Iceweasel that help you make a site more readable, regardless of what the so-called “designer” perpetrated. But, cool as those tools are, they just should not be necessary. And I, as a user of the web site, shouldn’t have to spend 5, 10, 20, or more minutes reading and understanding their style sheet so i can hack up a tweak for it JUST TO MAKE IT READABLE.

They’re the designers, that’s their job, not mine. That’s what they’re (presumably) getting paid for - and yes, the commercial/professional web sites tend to be far worse offenders than the amateur sites.

Web designers should have enough bloody sense to make their sites look good in ANY font size, at ANY window width. It’s not hard. In fact, it’s easier and much less work than hard-coding pixel sizes.

I’m not a web designer, nor am I anything remotely like an expert in CSS or style sheets. I’m a systems geek. But if I can figure this stuff out, when it’s not even my job to do so and i have no intrinsic interest in the subject, then why the hell can’t they? Don’t they take pride in their work? Don’t they care that visitors to their web sites will think they’re clueless morons for perpetrating yet another squint-eyed monstrosity on the web? Don’t their employers give a damn?

To summarise:

  1. text widths in style sheets should be specified in relative units such as percentage or ‘em’ units.
  2. font sizes should be specified in ‘em’ units, if you must specify them at all.
  3. all other non-image/embedded-media sizes should also be specified in ‘em’ units.

Doing those three simple things will ensure that your web site looks good to all visitors, no matter what size screen/window they have, and no matter what font-size they have to use to be able to read it.

end-of-rant.

PS: My own hacked-up theme/style-sheet for this blog is far from perfect….but I did take the time to make sure all the widths and font-sizes were relative. If there are any CSS bugs feel free to point them out and i’ll fix them ASAP…like I said, I’m far from an expert in CSS.

Syndicated from Craig Sanders' Errata: Tech Notes and Miscellaneous Thoughts

fixed-width style sheets suck

06:54am by cas (Comments)

Ondřej Čertík

snapshot.debian.net saved me again

On one computer I am taking care of, I suddenly started getting:

$ ps2pdf fa_808.ps fa_808.pdf
/usr/bin/ps2pdfwr: line 45: exec: gs: not found

What's wrong?

$ ls /usr/bin/gs
ls: cannot access /usr/bin/gs: No such file or directory
$ wajig find-file /usr/bin/gs
ghostscript: /usr/bin/gs
$ wajig list ghostscript
ii ghostscript 8.61.dfsg.1-1 The GPL Ghostscript PostScript/PDF interpret
ii ghostscript-x 8.61.dfsg.1-1 The GPL Ghostscript PostScript/PDF interpret

That is really weird, the file /usr/bin/gs is simply missing, even though I have the ghostscript package installed. Ok, let's reinstall it:

$ wajig reinstall ghostscript
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following packages were automatically installed and are no longer required:
libwine-capi libstdc++5 libopenal0a xgnokii libglut3 libcapi20-3
libggi-target-x lib64gfortran2 libsvg1 lib64gomp1 libggi2 libgii1
libgii1-target-x libxine1-gnome cups-pdf lib64objc2
Use 'apt-get autoremove' to remove them.
The following extra packages will be installed:
akregator gs kaddressbook kaddressbook-plugins kalarm kandy kappfinder karm
kate kcontrol kdebase-bin kdebase-data kdelibs-data kdelibs4c2a
kdepim-kfile-plugins kdepim-kio-plugins kdepim-kresources kdepim-wizards
kdesktop kghostview kicker kitchensync kleopatra kmplayer kmplayer-common
kpersonalizer ksplash libarts1c2a libgnutls26 libgs8 libilmbase6 libkcal2b
libkdepim1a libkleopatra1 libkmime2 libkonq4 libkpimidentities1 libktnef1
libopenexr6
Suggested packages:
kdeaddons-doc-html ntpdate ntp-simple perl-suid egroupware ffmpeg xawtv
gnutls-bin
The following packages will be REMOVED:
digikam kde-amusements kde-core kdeaddons kdebase kdebase-kio-plugins kdepim
kmail kmailcvt kmplayer-plugin knights konq-plugins konqueror
konqueror-nsplugins korn smb4k
The following NEW packages will be installed:
gs libgnutls26 libilmbase6 libopenexr6
The following packages will be upgraded:
akregator ghostscript kaddressbook kaddressbook-plugins kalarm kandy
kappfinder karm kate kcontrol kdebase-bin kdebase-data kdelibs-data
kdelibs4c2a kdepim-kfile-plugins kdepim-kio-plugins kdepim-kresources
kdepim-wizards kdesktop kghostview kicker kitchensync kleopatra kmplayer
kmplayer-common kpersonalizer ksplash libarts1c2a libgs8 libkcal2b
libkdepim1a libkleopatra1 libkmime2 libkonq4 libkpimidentities1 libktnef1
36 upgraded, 4 newly installed, 16 to remove and 683 not upgraded.
Need to get 53.1MB of archives.
After this operation, 42.9MB disk space will be freed.
Do you want to continue [Y/n]? n
Abort.

Oops, unstable is broken at the moment. Ok, what now? Well, snapshot.debian.net comes to rescue again. Find "ghostcript", version "8.61.dfsg.1-1" and here we are:

$ wget http://snapshot.debian.net/archive/2008/03/02/debian/pool/main/g/ghostscript/ghostscript_8.61.dfsg.1-1_i386.deb
$ wajig install ./ghostscript_8.61.dfsg.1-1_i386.deb

And all is fine now:

$ ls /usr/bin/gs
/usr/bin/gs

02:38am by Ondřej Čertík

May 06, 2008

Jesus Climent

Visiting Ireland

1st of May is in most civilized countries a bank holiday (term that means “if you work for a bank, you dont have to go to work” and is closely similar to a standard holiday).

Ireland prides itself for moving the holidays to the morning after, so you can enjoy a long weekend, and did we: rented a car, took off and visited the country side. Well, right after we exchanged seats, since apparently one cannot drive here on the left side of the car.

The country is in much better state than the 10 years old Lonely Planet describes: good condition signaled roads and a B&B on every other corner. From Dublin we jumped to Kilkenny were we had a beer (guess which one) and enjoyed a concert on a pub, since they had some festival going on. It also meant we had to stay a bit far from the center.

Moving south from Kilkenny we visited Waterford and from there we moved all the way to Cork, for a small visit. Lara lives there, and we had a great chocolate and some food after paying a visit to the cathedral.

After deciding not to spend the night in the city we headed towards Old Head. That was a great plan. The view from the cliffs in there is impresive. Pity they have a golf course which will not allow you to reach the tip.

One night over in Timoleague, after a beer in the local pub and we headed back to Dublin. A nice relaxing weekend away from the city.

The best: sunny countryside, getting away for a while, B&Bs (mostly the second B).

The weird: driving on the left, requires loads of concentration not to make mistakes and shifting gears with the left hand is not great.

The worst: having to jump from B&B to another one looking for a bed. Also it made it interesting, since we never knew where we were going to end.

11:25pm by data (Comments)

Joey Hess

distributed wikis

Done some interesting stuff in ikiwiki this evening..

Maybe you want to set up a mirror of a wiki. It's easy enough to do with an ikiwiki that's backed by git since you can just clone its repository and set up the mirror. But how to know when there's an update of the origin wiki, to update your mirror? I've added a plugin that allows you to edit a page on the origin wiki, and ask it to ping your wiki. And another plugin that your wiki can use to listen for pings and update itself, pulling down the changes from version control.

Nice thing about this is that any ikiwiki wiki that publishes its revision control, and enables the pinger plugin, can then be mirrored by anyone, with no coordination needed with its admin. Even multilevel mirror networks are possible to set up. (The astute may notice that loops are also possible.. but they will will be broken after 1 cycle.)

But this doesn't only allow mirroring. If you're using distributed version control, it also allows branching of a wiki. Just mirror as usual, but then make changes to the mirror, and don't send them back to the origin. Instant branch, that will be kept up-to-date with changes made to the origin. (Unless there's a conflict, that would need to be manually resolved, obviously.)

Wouldn't it be nice if you could git clone git://wikipedia.org/ or git://wiki.debian.org/ and go off and make it into something you're really happy with? Only thing standing in the way is that neither site uses ikiwiki. For now, you'll have to settle with cloning and branching git://git.ikiwiki.info/ :-)

Technical details here.

11:22pm

Martin F. Krafft

Adding VCS information to the Zsh prompt

I was excited by Pierre’s idea to add Git branch information to the Zsh prompt and even more so when I saw Mike implement support for multiple VCSs.

Unfortunately, Mike’s a Bash user, and so I took it upon myself to port the idea to Zsh. The file 60vcsprompt is sourced from my .zshrc, which sets psvar[1] through psvar[3]. Those are then used in 80prompt (also sourced from .zshrc) when setting $PS1.

My prompt follows the same principle as Mike’s and puts the branch name at the repository root location in the repository path. In the following example, ~, ~/code, and ~/code/netconf/netconf are three separate Git repositories, while ~/code/unionfs-fuse and ~/code/unperish are maintained with Mercurial and Bazaar respectively:

lapse:~|master|% cd code
lapse:~/code|master|% cd netconf 
lapse:~/code|master|netconf% cd netconf
lapse:..e/netconf/netconf|master|% cd src
lapse:..etconf/netconf|master|src% git checkout no-threads
Switched to branch "no-threads"
lapse:..nf/netconf|no-threads|src% cd ../../../unionfs-fuse 
lapse:../unionfs-fuse|hg:default|% cd ../unperish
lapse:..unperish|bzr:unperish@159|%

You’ll notice that unlike Mike’s prompt, mine’s limited to a maximum length of 25 characters. However, the repository root path is kept at least 10 characters long, so the prompt might get longer than 25 characters if you descend deep into a repository’s subdirectories.

I couldn’t easily figure out how to add support for other version control systems, so if you do, please feed back the patches! And the same goes for suggestions and improvements.

One of the next things I am planning to implement is an indicator for when your working tree contains uncommitted changes, e.g.:

lapse:..etconf/netconf|master|src% touch foo
lapse:..tconf/netconf|master*|src%

So watch those files.

NP: Gazpacho: Bravo

11:18pm

Matthew Garrett

One of the advantages of working in a biology lab is getting deliveries of stuff in dry ice and getting to play with the dry ice afterwards. Sadly, while dry ice is clearly very cool (a-ha ha ha ha ha (dies)) it makes a lousy way of cooling down your drinks[1]. With a latent heat of sublimation of merely 199kJ/kg, CO2 draws less energy out of the liquid than ice's latent head of melting of 334kJ/kg. That's easily dealt with by using larger blocks of dry ice, but the fundamental problem seems to be that most of the sublimed CO2 boils straight out of the glass and just gently cools the atmosphere instead. Maybe ethanol cubes are the way forward.

[1] Much like Red Stripe, it is also a lousy fabric softner.

10:48pm (Comments)

Biella Coleman

Monsanto: Making the RIAA and Big Pharma Look Kinda Good

Surveillance, massive patent litigation, and toxic trails are just a few of the atrocities that are part and parcel of the global giant Monsanto. They do not just produce a lot of the worlds GE crops but some MAJOR FUD with real muscle as this disturbing in-depth article demonstrates . Whether it is their shadowy, relentless fight against American farmers to “protect” their patents or their fight to scare dairy farmers from labeling their milk BST free, they deploy an astonishing range of legal and extra-legal tactics to make sure they stay on top.

Below is a smattering of some of their creepiest tactics, which kinda make the RIAA look angelic in comparison.

“To gather leads, the company maintains an 800 number and encourages farmers to inform on other farmers they think may be engaging in “seed piracy. Once Pilot Grove had been targeted, Monsanto sent private investigators into the area. Over a period of months, Monsanto’s investigators surreptitiously followed the co-op’s employees and customers and videotaped them in fields and going about other activities. At least 17 such surveillance videos were made, according to court records”

“Studies by health authorities consistently found elevated levels of PCBs in houses, yards, streams, fields, fish, and other wildlife—and in people. In 2003, Monsanto and Solutia entered into a consent decree with the E.P.A. to clean up Anniston. Scores of houses and small businesses were to be razed, tons of contaminated soil dug up and carted off, and streambeds scooped of toxic residue. The cleanup is under way, and it will take years, but some doubt it will ever be completed—the job is massive. To settle residents’ claims, Monsanto has also paid $550 million to 21,000 Anniston residents exposed to PCBs, but many of them continue to live with PCBs in their bodies. Once PCB is absorbed into human tissue, there it forever remains.”

The company contends that advertising by Kleinpeter and other dairies touting their “no rBGH” milk reflects adversely on Monsanto’s product. In a letter to the Federal Trade Commission in February 2007, Monsanto said that, notwithstanding the overwhelming evidence that there is no difference in the milk from cows treated with its product, “milk processors persist in claiming on their labels and in advertisements that the use of rBST is somehow harmful, either to cows or to the people who consume milk from rBST-supplemented cows.”

Monsanto called on the commission to investigate what it called the “deceptive advertising and labeling practices” of milk processors such as Kleinpeter, accusing them of misleading consumers “by falsely claiming that there are health and safety risks associated with milk from rBST-supplemented cows.

10:38pm by Biella (Comments)

Summer Reading: Dominican nerdiness

It is the end of the semester as well as the end of my first year of full time teaching. It has been quite a handful, mouthful, and especially mindful but I am happy to say that I like a lot more than I dislike it, which bodes well for the future. I would like to spend some time writing about teaching and what I enjoyed to teach (and what the students like) but for now I want to note what was my favorite book of the academic year, which unsurprisingly, was fiction (and thus nothing I taught). The book is The Brief Wondrous Life of Oscar Wao by MIT professor, Junot Díaz and I read it over my winter break. It is a heart breaking but deeply humorous story that I could barely put down and I can’t wait till his next novel and will gladly wait the 10 years it took him to write this one after his amazing book Drown.

It is about the life, trials, and tribulations of an unlikely character, a Dominican SUPER NERD by the name of Oscar Wao who has more than a lot of trouble scoring with the ladies (a “lovesick ghetto nerd” in the words of the author. Or to put in Dominican speak, he is no “tigre”). In the process of his many failures and attempt at love and lust, you learn about the experiences of Dominican immigrants in the tri-state area, the brutal history of the Trujillo dictatorship in the Dominican Republic as well as a good dose of odd culture folklore (both geek and Dominican, if you can believe it!) and all of this is told in a style that manages to combine the rhythm and passion of a poetry slam with classic issues of tragedy common in Greek literature. It is books like these which make me a little down on purely academic ones which tend to lack the style, pizazz, rhythm, flow, narrative, and heart needed to make you fall in love with words on a page.

09:43pm by Biella (Comments)

Marc 'HE' Brockschmidt

Perl5.10 transition

We are currently having the fun of a perl update in unstable - most packages have been rebuilt and work just fine, now cleaning up the mess starts. Please don't expect perl to enter lenny in the next few days. Also, hold back on the uploads of perl packages or SONAME bumps, thanks. For the moment, I'm keeping my todo list in my hint file. If you would like to help out, just pick one of the bugs listed there and do the work, thanks :)

08:51pm by marc+s9y@marcbrockschmidt.de (Marc Brockschmidt) (Comments)

Steve Kemp

Only after disaster can we be resurrected

I leave my main desktop logged in for months a time; as demonstrated by my previous bug with the keyboard transition for xorg.

The screen is setup to lock after 5 minutes of idle, so there's no real security issue, and it is extremely convenient.

Every few weeks though my desktop gets into a funny state where no new windows may be opened.. Existing applications continue running without any problems, but no new windows/shells/whatever may be opened.

Tonight it happened again.

And the lightbulb went on in my head: My flat uses CFEngine to manage itself. (Two physical servers here, with 5-10 Xen guests, and a number of remote servers.)

One of the things that CFengine is configued to do is to tidy directories of files which are older than 30 days. Including /tmp.

So that explains that.

Every month the magic cookie in $TMP would be nuked, and X would disallow new connections.

I guess the next time this happens I should look at using Xauth to fix the issue, but generally I just logout, make coffee, smoke a cigarette, and login again.

In conclusion: I'm a stupid-head.

ObQuote: Fight Club

07:25pm

Julian Andres Klode

News on debimg


Well, you may have noticed that debimg 0.1 is still not released. But a lot of work happened over the weekend in my local branch.

First of all, debimg’s set support is almost finished. I uploaded a tarball containing the differences between the official lenny weekly build from yesterday and a build created today by debimg, using the tasks of debian-cd 3.0.4 (after manual conversion to a format supported by debimg). Look at http://jak-linux.org/cdimage/tests/ for the tarball.

Secondly, the dependency resolver has been rewritten. It’s a bit slower now (0.72 seconds for main), but creates much better results. Resolving the dependencies of all packages in Debian Lenny i386 in alphabetical order, debimg 0.0.X resolved 206 dependencies differently than apt. Now, these have been decreased to 15 dependencies, whereas 13 dependencies are false-positive (some packages were not installed because they were already installed). This means that only two ones were different, in this caseachims-guestbook and chdrv, which both depend on virtual-only packages (achims-guestbook: apache | httpd, chdrv: console-utilities).

The third big change is the addition of the hooks module. This module allows you to hook in custom functions, which have access to the Configuration object (ConfigObj) and the MediaSet. There are currently three types of hooks: pre_hooks (run before fetching packages, adding files to the disk), mid_hooks (run after the packages have been fetched) and post_hooks (run after the image has been built). Hooks can be added based on project and architecture, using a simple syntax which support shell patterns. (It’s ‘project/arch’). The hooks module uses python decorators to register functions. debimg 0.2 will switch to hooks for internal functions, too, like bootloaders and other stuff.

The code has not been merged into the master branch, but I will hopefully be able to merge it tomorrow. The release of debimg 0.1 is now planned for this weekend.

06:21pm by Julian Andres Klode (Comments)