Search Results: "nate"

4 July 2006

Mike Hommey: Undeleting opened files on ext3

I’m a specialist when it comes to delete files I didn’t intend to. 3 years ago, I did an rm -rf that cost me most of my $ HOME , and I wrote some software (which i really should work on, BTW) which helped recover most of it (it’s tricky to get files back from ext3 once they are removed from the filesystem, since ext3 clears the block pointers from the inodes then). Today, I somehow managed to remove log files. Fortunately the log files were still in use by a process, so they were still in the filesystem. Unfortunately they were still in use by a process, filling and filling and filling… and in no way i wanted to lose all this data. Let’s consider, for the needs of the demonstration, the following case:
mh@namakemono:/mnt/test$ while true; do date; sleep 1; done > log That fills a 'log' file every second with the current date.
mh@namakemono:/mnt/test$ tail -2 log
2006 7 4 20:48:02 CEST
2006 7 4 20:48:03 CEST
The file keeps growing and growing. Now, let’s remove it.
mh@namakemono:/mnt/test$ rm log The file is not in the directory any more, but remains in the filesystem. It is actually readable through /proc:
mh@namakemono:/mnt/test$ ls -l /proc/10724/fd
5
lrwx------ 1 mh users 64 2006-07-04 20:52 0 -> /dev/pts/1
l-wx------ 1 mh users 64 2006-07-04 20:52 1 -> /mnt/test/log (deleted)
lrwx------ 1 mh users 64 2006-07-04 20:52 10 -> /dev/pts/1
lrwx------ 1 mh users 64 2006-07-04 20:45 2 -> /dev/pts/1
lrwx------ 1 mh users 64 2006-07-04 20:52 255 -> /dev/pts/1
mh@namakemono:/mnt/test$ tail -2 /proc/10724/fd/1
2006 7 4 20:52:45 CEST
2006 7 4 20:52:46 CEST
As you can see, it kept filling while deleted. The usual technique to recover such a file is to copy it from /proc. I happen to have done so some times before, it works pretty well for static files. But that doesn’t in our case: we’ll get a new copy of the file, frozen at some point in time. Here, we’d want to ‘re-link’ the file. Basically, that can be done with debugfs. The problem is that I didn’t find a clean way to get the inode number from the /proc/10724/fd/1 file. But that can be worked around. You need root access (what a surprise), and hope your filesystem was mostly clean before removing the file. namakemono:/mnt/test# e2fsck -n /dev/namakemono/tmp
e2fsck 1.39 (29-May-2006)
Warning! /dev/namakemono/tmp is mounted.
Warning: skipping journal recovery because doing a read-only filesystem check.
/dev/namakemono/tmp contains a file system with errors, check forced.
Pass 1: Checking inodes, blocks, and sizes
Deleted inode 113570 has zero dtime. Fix? no
(…)
Don’t worry, the -n option will make the filesystem opened read-only, so there’s no risk for your data.
The interesting part of the output is obvious: the number of the deleted inode. You now only need to link the inode:
namakemono:/mnt/test# debugfs -w /dev/namakemono/tmp
debugfs 1.39 (29-May-2006)
debugfs: cd test
debugfs: ln <113570> log
debugfs: q
And see how it worked:
namakemono:/mnt/test# tail -2 log
2006 7 4 20:58:40 CEST
2006 7 4 20:58:41 CEST
You can tail again, it will show you the file is being appended to. I guess you can do something along these lines to restore a file from ext2. I don’t know for other filesystems. If someone knows how to get the inode number without e2fsck, comments are opened :) Update: Well, it didn’t take long for me to actually find a better way:
namakemono:/mnt/test$ lsof -p 10724 -a -d 1
COMMAND PID USER FD TYPE DEVICE SIZE NODE NAME
bash 10724 mh 1w REG 254,3 13552 113570 /mnt/test/toto (deleted)

Basically, when the file can be found in /proc/$pid/fd/$fd, run lsof -p $pid -a -d $fd.

NOKUBI Takatsugu: The photos of CodeFest

I uploaded the photos took in CodeFest 2006 Akihabara to Flicker.com. This machine is VAIO TypeU, a small PC with keyboard. I used it for realtime streaming. Unfortunately, my webcams are not satisfyed to use GStreammer because of poor v4l implementation. So I used Windows XP and Windows Media Encoder 9. I need a suitable webcam for GStreammer..

2 July 2006

Romain Francoise: Joy

Mark Pilgrim from Dive Into Mark lists emacs-snapshot in the 2006 edition of his essential software list. Unfortunately for him, Dapper has a very old snapshot from January.

Mike Hommey: Long live the battery

After playing around with gnome-power-manager so that it can support spicctrl (which is to be done in hal, actually) to be able to adjust LCD brightness according to whether the AC adapter is plugged or not, I wanted to go a bit further in my quest for battery life. To be honest, I was already adjusting the LCD brightness with a custom acpid event script, but it’s still nicer to have it out of the box. Anyway, the main issue I remembered for battery life, apart from LCD backlight and Wi-Fi, is CPU power states. When on battery, the CPU in my laptop can handle 4 such states. From C1 to C4 (According to the acpi docs there’s actually a C0 state, so that’d make 5). But when on battery, the CPU never goes past level C2. I did some basic check a long time ago, by removing modules, and after removing Firewire, PCMCIA, and USB support, the CPU would go in C3 and C4 states. Though this definitely saves battery because it turns off parts of the computer, I wanted to know exactly what was sucking the CPU, and to keep at least USB, that I use more than the rest. After selectively removing the modules, it turns out the uhci_hcd support (USB1) is somehow responsible. Which is sad, because my USB mouse is USB1. But it also turns out there’s always a peripheral connected to the USB1 hub on my laptop. Indeed, the internal bluetooth support, which is activated at the same time as Wi-Fi, is connected internally through USB1. If I turn off Wi-Fi, it disconects the BT USB device. It appears that in this configuration, having uhci_hcd loaded doesn’t have an influence on the CPU. It still reaches C3 and C4 levels. Problem is I don’t want to turn off Wi-Fi. So, with the help of my friend google, I found out that it’s possible to unbind drivers from devices, and successfully unbound the USB port the BT device is connected to, without deactivating all the other (external) ports. The sad thing is that when doing such, it also automagically disables the Wi-Fi device (an ipw2200) IRQ, but modprobing ipw2200 again enables it without enabling the BT device. Next step was to find a way to have this set-up applied automatically at boot-time. I tried to add the following to my udev rules:
ACTION=="add", SUBSYSTEM=="pci", ID=="0000:00:1d.2", ENV UDEV_START ==1, OPTIONS="ignore_device"
which i’d have expected to do what i want, but it doesn’t. I also tried:
ACTION=="add", DRIVER=="uhci_hcd", RUN+="/bin/echo -n 0000:00:1d.2 > /sys/bus/pci/drivers/uhci_hcd/unbind"
which doesn’t work either. But:
ACTION=="add", DRIVER=="uhci_hcd", RUN+="/some/script/containing/the/previous/echo"
does. Well, it does work when you restart udev, but not when you reboot. Unfortunately, the initramfs (built with the initramfs-tools) loads a lot of modules, including USB. Meaning that udev doesn’t load these and doesn’t apply the rules then. Unless I write my own list of modules to load at boot time, initramfs-tools won’t produce a useful initramfs for my case. Yaird, on the other hand, did what I wanted it to do, except that it still lacks support for resuming from suspend-to-disk. In the end, I put a script in /etc/rcS.d. This script unbinds the uhci_hcd driver from the BT device port and re-modprobes ipw2200. I got a bad surprise, though. After a fresh startup, the CPU would be stuck on C2 state again. Remember how the OpenGL performance would drop if I switch to console and back to X ? It also turns out that it also makes the CPU able to reach C3 and C4 states. There seems to be something odd with the radeon driver…

Evan Prodromou: 9 Messidor CCXIV

From the ever-fabulous Lambda the Ultimate programming languages blog, I found an article on the recently published Revised Report on Scheme Status Report. Yes, it's a report on a report. Each new version of the programming language Scheme has an associated Revised Report on Scheme, where n = a monotonically increasing integer. The current version is usually called "R RS" Scheme, but a new version is in the works. The R RS Status report is the status report on this new version. And R RS Scheme looks like it's got some very fun parts to it. First and foremost, a plan for a library (= module) system, which has probably been the single most difficult issue for making portable Scheme code. Next, a standard system for error-handling and exceptions. Also, standard records (AKA structures), and finally Unicode implementations. I think this sounds like the finest kind of standardization process: working from the dozens of existing Scheme implementations and ad hoc community standardization efforts like the fabuloso SRFI (Scheme Request For Implementation) project. It's identifying a problem (differences between implementations) and supplying a solution. There are some incompatibilities introduced too; top-level definitions are gone, which is a little sad but understandable. (eval) is going to have to (evolve) to deal with the new library format. These are unfortunate incompatibilities that serve a greater good. It's strange to see some other ideas bandied about, though, like making pairs immutable (no set-car! and set-cdr! any more), and requiring the cdr of a pair always to be a list. That way lies top-down revisionist language design, which is madness for a language with the maturity of Scheme. Codifying standard interfaces and implementations for features that are different in all Scheme implementations is a Good Thing; they're what everybody wants. Messing with the basics of the language is a Bad Thing; I don't think there's a Scheme programmer in the world who wants that to happen. tags:

NonCommercial So, one thing that I find kind of sad is that some contributors to Open Source or Open Content projects make particularly emphatic anti-commercial statements. It comes up on Creative Commons mailing lists and even Wikimedia or Wikitravel talk pages. A typical comment is, ''I don't want anyone to profit from my works.'' It's strange that the worst possible thing people can think of happening with their work is that someone could make money from it. You rarely see, "I don't want anyone to use my work to twist minds, justify racism or break the human spirit," nor "I don't want anyone to use my work to hurt others or themselves." Why is the idea of generating value with a work the worst we can imagine, when so many more destructive purposes are served with pieces of information, art, and software every day? It would be an interesting intellectual exercise to design a piece of software or a work of art from which no one could profit in any way, financially or otherwise. It would have to be uninformative, unpleasurable, inutile as a doorstop or sample bitstream. Of course, intellectual exercise is itself a benefit, so that'd have to be gotten rid of, too. Here is my wish: I wish that my work on the Internet and elsewhere is of use to many, many people for many years in ways I cannot imagine today. I hope it makes people think, it guides them through difficult waters, and that it amuses and provokes. Good luck with that, whoever you are. tags:

FastCGI So, I got Gauche-fastcgi installed on my server, as well as mod_fcgid. The builds were easy, and after a little bit of fiddling in the Apache configurations I had a sample wp:FastCGI script running on this server. With just a couple of lines of changes, I had my WiLiKi instance running FastCGI. Some httperf runs later, and I could see a 4-5x difference in speed between FastCGI and CGI. So, I couldn't resist: I've moved this whole site over to FastCGI. I've noticed a considerably peppier response time. I'm going to try to add some more WebSoftwareFriendly optimizations to the WiLiKi software soon, which should speed up the site even further. Hurrah for that! tags:

Long day Maj and I went to see the local Movies 4 Mommies matinee this morning at the Guzzo Cineplex in the March Central. Movies 4 Mommies are special showings for parents with babies less than 1 year old; the babies can cry or yell or whatever and nobody gets upset because everybody's got one. It was fun to go -- despite the name, I'd guess that 20-30% of the babies had daddies in tow, too -- and we met a few nice parents and cute bubbies. Unfortunately, the experience was ruined by the movie that was playing this morning: Click. I'm not an anti-wp:Adam Sandler snob; I'm fine with the fart jokes and the warbling voice. No sweat. But this movie was badly paced; the jokes were completely unfunny; the story was boring and the interactions were creepy and mean-spirited. It was our first day at Movies 4 Mommies, so that's probably the only reason we didn't walk out on this movie. It stunk really bad; the Rotten Tomatoes reviews of Click were pretty bad, too. Afterwards we felt dirtied by the experience, so we stopped by Santropol for some lunch with our friends Tara and Chris. We got hugantic sandwiches and salads and veggies and Amita June made a fantastic mess. For dinner tonight Niko stopped by; it was good to see him. He was in Paris while we were in California, so it was good to get back in touch. Maj made an excellent shrimp pasta and a big salad, which was good for this hot, humid weather we've been having. tags:

ClaimID I just signed up for a new ClaimID account: http://claimid.com/evanprodromou . ClaimID is a service for accumulating links to your various profiles, clippings, and other media mentions. It means you're claiming an identity assembled on the Web. I think this is a pretty good idea, but I'm not 100% sure why it's significantly better than my Me Other Places page. I do have a lot of on-line accounts -- too many -- but I'm not sure ClaimID is a good way to organize them. I dunno. It's great, though, that they support OpenID, which I think is the coolest shared identity system out there. Hopefully identity aggregators like ClaimID will start bringing some logic to our online identity systems. However... I'd sure like to see some other identity players, like TypeKey, starting to move towards OpenID. tags:

People I like Flipping through the Internet Identity Gang site, I tripped over a post by Bob Blakley on his blog, Ceci n'est pas un Bob. Bob was one of the members of the SAML committee when I worked on it for Outlook Technologies and then Securant. I found him to be an excellent explainer; I learned more on that technical committee about being clear and concise in technical communications than I'd learned before or since. So it's great to see that he has a blog; I've bookmarked it for further reading. tags:

NOKUBI Takatsugu: CodeFest 2006 Akihabara

From 1st Jul, I joined with CodeFest 2006 Akihabara, a kind of events like Hackathon, Sprint, or something. It has been broadcasting via PeerCast, so if you want to see it, setting up PeerCast and play with the follow link: http://localhost:7144/pls/4345209C975F5665FA9308FDB163F249?tip=61.197.170.97:7144 . Unfurotunately, I couldn't setup Ogg/Vorbis, Theora, so it is using Windows Media Encoder 9. I regret it.

Evan Prodromou: 13 Messidor CCXIV

Honk honk honk! honk honk honk honk! I guess Portugal just won the quarterfinals against England for the wt:World Cup 2006. We have a huge Portuguese community in Montreal, and the team's victories this year at the Cup and in 2004 for the Euro cup have been a huge source of pride. I'm not a big soccer fan, but I do love the fact that Mtl's cultural communities literally fly the colors, packing the bars and cafes and driving around honking after a win (or even a big goal). Italy, Portugal, Brazil (mostly Portuguese again), France... I even saw some cars with Ukraine flags. It's a cool part of being in such a multiculti city. tags:

Moving Day One of the things that's crazy about being in Montreal in the summer is that there's just too much to do. On any given day, there are just a billion jillion activities and things to do. Around May, the vegetation here just explodes into frenetic growth -- trying to get a full cycle of life in in our small sub-arctic growing season. Quebec's forests are as dense and overgrown as any Amazonian jungle. I think humans' social schedule during the summer is like that, too: trying to get a full year of fun into 4-5 months. Take today, for example. It may be 13 Messidor to us citoyens, but for the people of the North today is 1 July, officially wp:Canada Day. The national holiday of Canada, it's celebrated from Coast to Coast by lots of people who love Canada and want to celebrate their Canadianness. And then there's Quebec. Sure, Montreal has some nice Canada Day events, but there's something furtive about them. Even though somewhere north of 45% of Quebec's population wants to remain in the union, it's still rare to see overt Canada Day celebrations, outside the sponsored events. But for most Quebecois, July 1 is wp:Moving Day -- the day when everyone's lease is up, by government mandate, and those people who are going to move this year go to their new homes. There are moving vans in the street and people queued up at the rental places -- typical time to rent is 2-4 hours. We moved on Moving Day last year to our new, great apartment, and it's nice to be here. This may be the first Moving Day we've been here that no one's asked for help moving. That might say something about the stage of life we're in -- people are buying their own homes and settling down -- and it may say something about our reliability as friends since we had a baby. In any event, here's one Moving Day when any moving I do is on my own. tags:

Jazz There was a Canada Day parade this morning on the other side of town (where the anglophones and federalists live...), but we were too tired to go. So we instead skipped down to Place des Arts to visit the free outdoor parts of the Montreal Jazz Fest. Case in point with Montreal festivals in the summer: it was big, with tons to do, and we were totally unable to deal with doing it. We had some Molson Dry, saw some music playing and Amita June clapped along (she's a great clapper!), then we had quiche and a salmon wrap and some Molson Dry, then Amita June went and played in the kids' area, then we saw some more music, then some samba, then klesmer, then off to home. Good time, but tiring. I feel obliged to enjoy Montreal summers, but sometimes it's just too much. tags:

France Honk honk! Honk honk honk honk honk!! So I guess France just beat Brazil to get into the semi-finals. Is it actually allowed to have a World Cup without Brazil in the semi-finals? I thought it was a rule. Niko, my French Friend, was complaining last week that the French fans were just loitering around the bars on St. Laurent rather than being boisterous like other fans did when their teams won. Not today: on our way back from Jazz Fest, we saw a huge tow truck with a gigantic tricolor draped from the back trolling up and down Mont Royal. Kind of a bummer for the Brazilians -- and the rest of us who enjoy Brazil fans' antics. But I guess that's the way it goes sometimes. tags:

Fancruft I don't remember what I was looking up on Wikipedia, but there was some fancruft on the page and I ended up wasting half an hour reading Simpsons articles. I want my half hour back, Wikipedia! tags:

Marilynne Robinson When I was a freshman in college, one of my favorite instructors, Michael Near, assigned "Housekeeping" by Marilynne Robinson as an English 1B assignment. I found the story haunting and beautiful and altogether excellent. I tried digging up more of her work at the UC Berkeley main library, and all I could get was "Mother Country" -- her indictment of stratified society and nuclear energy. In it, she promised never to write fiction again. So I was stunned to read a quote by Robinson in Shannon's Livejournal. Wow. Apparently wp:Marilynne Robinson has written a book of essays in 1998 and a Pulitzer-Prize-winning novel in 2005. Incredible. Why was I not informed? I've got some reading to do. tags:

Full-text feed So I've got a full-text feed now. Hopefully it works for those folks with Planet aggregators or whatever, and especially for Joey Hess, who hates the stuff below the fold. Some corrections that I made to older posts seem to have fudged up some planets, notably Planet Debian, for which I'm kind of bummed. But I think I've fixed the problem, and this should be the only time it happens. Unfortunately, since I write a lot, it means a lot of scrolling. tags:

30 June 2006

Carlos Villegas: preload and LSB compliance webpage

I started to try another hotspot: preload. Unfortunately, I noticed no change on the boot time after installing preload. Not even after changing its boot order from /etc/rc2.d/ to /etc/rcS.d/ after the dependencies were met: in the init script it claims to require $time, $remote_fs and $local_fs. I believe seeing it in ubuntu at just the beginning of /etc/rcS.d/. The bootcharts and test procedures can be seen here. This is an issue that has to be further investigated.

On the other side, the lsb check script was debugged a little bit more. A list with the compliance of the init scripts in sid is available here. The few LSB compliant scripts are on the top, the big incomplete majority in the middle and those without LSB headers at the bottom.

29 June 2006

Amaya Rodrigo: That painful time of the year again

I did my taxes yesterday, two days before the final deadline. I do that every year. I wait until the very last moment, until I get so stressed that it is painful. So the next year all I remember is the painful experience and then postpone it more and more and try to avoid it until the very last day again. Rinse and repeat. It gets worse every year. I also stupidly refuse any help that is offered to me when there's still plenty of time, and then I will want it desperately when there's only one day left, but I am too embarrassed to ask for help then because, $DEITY forbid, THEY (yes, whoever "they" is, the evil "they", the ones that would be all after me if I was paranoid) erm, yes, because THEY would find out that I procastinate.

Anyway, yesterday I was on the verge of a break down, that's why I missed the Gay Pride day blog post, when Bego called me, came upstairs with her laptop (with a very helpful windows partition), which broke completely after installing the tax software, so we migrated downstairs to Carlos' office, where i could finally calculate my taxes, and using my SSL certificate, send the outcome of my calculations to the tax office, online. It all was pretty much smooth once you completely give up all hope and stick to windows and explorer.

Carlos was shocked that I was demanding a windows machine, that's when he realized the situation was pretty desperate, as the Linux client has proven not to work at all. Jose even took pics of me using windows. I hope they don't make it to Slashdot.

Special thanks to H ctor, who in the midst of a huge headache, ended up fixing Bego's fucked up Windows partition.

28 June 2006

Martin F. Krafft: Open in browser

Mozilla Firefox bug #57342 was the first bug I encountered after I had completed my switch from Galeon (which got infected by GNOME2-itis, such that you could not change basic browser settings without gnome-control-panel). It's still a bug, but I of course understand the Firefox developer's decision that a user's request to be able to view simple text files inline (<gasp>) is a low priority improvement. I won't allow myself to make a comment about the Firefox code quality that in six years, noone has come up with a working patch for this massive challenge. Do they have to switch their browser into protected memory mode and load a DOS emulator to be able to handle plain text? Fortunately, I have since found this extension. Now my life is really much simpler.

Eric Dorland: mozilla-firefox security frustration

With mozilla.org stopping official security support for the 1.0.x branch a mere 6 months after the release of 1.5 is really starting to cause pain. I can understand wanting to move on to the new thing, but ending it so quickly really makes it hard for distributions with long support cycles. Alexander Sack worked very hard backporting most of the fixes into sarge. Unfortunately, it looks like one of the patches breaks submenus in Bookmarks menu.

So what do we do? Announce discontinuation of security support? Give up and ship 1.5 as other distros have done? Many users might welcome the latter, but the the ones who count on the stability of stable might not be so pleased.

Anthony Towns: On being DPL

It’s almost the end of financial year in Australia, so what better time to take stock? I’m actually a bit surprised at just how much I need to do that – I knew being DPL would involve some new challenges, but it’s barely two months in and I’m already just about in shock. Guess it serves me right for putting “increasing Debian’s tempo” in my platform…
The two other roles I’ve been in that I would have expected to prepare me more have been Debian release manager, and secretary of Linux Australia. They’re both similar in a way – the release manager does a lot of cat herding within Debian, and has to make some calls that will leave people aggrieved; and Linux Australia has some contact with the press, and some reasonably serious projects going on. So a few issues were completely expected: a random initial slashdotting, a press report, an interview or two, some requests for quotes in articles and press releases, or ongoing opposition and arguments from dedicated Debianites who don’t happen to agree with me on some decision. There were other things that were new and interesting though not really surprising. The leader@ mail address turned out to have just as much spam as I expected, though also some unexpected interesting stuff too, including my first ever personally addressed open letter – in this case by Keith Curtis who also wrote the 10,000 bugs away from World Domination article that got slashdotted a while back. A tidbit:
Everyone agrees that Ubuntu couldn’t exist without Debian, but I also believe that Debian is better setup to take Ubuntu where it needs to go. There are hints that the Ubuntu team feels like they brought a pork chop suit to a lions den. Ubuntu’s user base and development team is growing exponentially, but I believe they could get there much faster with more of Debian’s help.
Keith also forwarded an open letter he’d written to Mark Shuttleworth, and had some interesting comments on the whole Java thing. As well, I suddenly started receiving SPI board mail, as Debian’s advisory representative to the SPI board, and started getting a couple of requests for authorising expenditures (Debian UK reimbursing Matthew Garrett for travel costs to the Gnome Advisory Board meeting in 2005) or providing a Debian representative for a meeting or joining the Google Summer of Code. And then there were the cool things I knew absolutely nothing about, like the excellent news Christian Perrier passed on about the launch of Dzongkha Linux, featured in news reports from Bhutan, India, and Australia. Of course, I completely expected that all this would overload me a bit, and I’d end up getting distracted from what I wanted to do, and not being able to keep up with stuff other people wanted me to do. To help with this a little, I delegated Steve McIntyre as, essentially, a co-DPL, and he’s been working on a few things, including the now successful switch of irc.debian.org over to OFTC, and another fun little endeavour that I won’t spoil just yet. Things started getting a bit weird as I was preparing to travel off to debconf in Mexico – with some frustrated comments from damog and Marga and Gunnar, which was odd coming from the conference organisers themselves; and independently the reinflamation of some old tension on the debian-installer team. That got compounded at debconf itself, with the controversy over the inclusion of Sun Java in non-free extending not just to the lists, but an article in LWN (with a followup) as well as numerous other places around the net. That issue came to something of a climax when John Goerzen (with whom I’ve had some entertaining disagreements in the past) questioned whether SPI had been sufficiently involved in the decision (“I am becoming increasingly concerned at the unilateral method in which you and/or the archive maintainers have taken this decision.”), to which I responded fairly curtly to defend the way Debian makes decisions (“If SPI wish to withdraw from their relationship with Debian, then that’s entirely possible to arrange. I don’t think it’s at all proper that you try to obtain veto power of Debian’s activities as conducted by the duly authorised members of that organisation.”). Nothing’s really news there – flamewar on Debian lists between influential project members? Next thing you know the sun will rise in the East every morning, and then where will we be? What’s not so normal is those flamewars getting front page coverage on slashdot, or noted in an article on distrowatch. As far as Debian’s concerned, we had a couple more rounds, both in public and on the developer only -private list, then moved onto actually getting the legal advice John wanted. That’s actually still pending, and the debate has pretty much abated while that’s going on. And meanwhile, Wouter Verhelst, Manoj Srivastava, and others have started a much more productive look at Debian’s relationship with SPI and similar organisations, which has continued on to a draft of a constitutional amendment. But there was more stress and chaos at debconf than just the Java stuff, but what’s really impressive is the way people ended up dealing with it. Take damog for example:
Just as Tore said: This is the best DebConf ever. Isn’t it great? I started really enjoying this DebConf once I stopped worrying about bullshit, once I stopped worrying about senseless things and started to really give a shit about almost anything. Why do I need Gunnar to tell my girlfriend Ana, “you picked up the irresponsible one”? Why do I have to worry about the DPL giving a shit or not on the Latinamerican Debian community, even after being invited to meet the guys or to attend our BOF? […] I enjoy people here, thanks to all the organization cabal, thanks for your effort and your time on this. […] But after leaving all of this behind, I think Ana and me are having a great time sharing time with friends around us (the friends, los cuates, we are here for).
After seeing that post, and figuring out who damog actually was when he gave a lightning talk towards the end of the conference, we had a chance to briefly chat about what was going on – somehow I hadn’t taken in the invitation to attend the BOF, and had been told it was all in Spanish anyway, so hadn’t gone; meanwhile they’ve been thinking about holding a Debian miniconf in Latin America somewhere and wanting to know what sort of support they can get from the rest of the project – particularly moral support rather than financial, at that. Hopefully we’ll see news on that score in the coming months. But really, damog was right in the first place anyway: why care if the DPL supports you or not? Debian’s about everyone doing what they think is good and worthwhile, and that combining to produce something great – it’s not about what some guy who got six votes more than the next guy happens to think is important. But support is important, whether it comes in the form of a DPL saying “good idea!”, or something else. Gunnar’s response to the latter, eg:
Debian is love. After my scream for help a couple of days ago, and after a mountain of hard work, things are just running. No, we are not -by far- free of incidents, and it would be foolish to expect it to be so, but we are working nicely. And by the way, thank you, I have been receiving the largest amount of hugs ever, and believe me, each of them has been important. […] Thank you all, folks. I am in Cristoph Berg’s talk about reworking NM - And this comes very good to wrap up my post. Debian is much, much more than technical work. It is a social club. I love this social club. Just sitting here makes long months of work really worth it. A great hug back to you all!
And in the end we got quite a bit out of debconf6, for example more movement on the forthcoming release, improvements on i18n stuff, a new publicity project, movement on updating python, amongst other things. Who knows if the next debconf will manage to be anywhere near as much of an experience, but at least we’ll find out fairly soon where it’s going to be (though that process isn’t without hiccups of its own). Post debconf, there’s also been a notable influx of trolling going on too; with the most obvious and odious example being the insane, anonymously-posted prayers for a female developer’s death. Fortunately those have mostly been ignored as the mindless spam they are, though one might argue that Marcela Tiznado’s acceptance as a DD on her birthday, and the inclusion of women.debian.org in the official debian.org namespace are a more appropriate response to that sort of harassment than any sort of direct reply anyway. Not all our problems have conveniently been resolved right now, of course, the difficulties related to the installer team I alluded to above are ongoing, and at the moment a really good solution is still eluding us, though development continues anyway. And then, of course, there’s more to come – half the point of posting this is so I can stop worrying about all the stuff that’s been and gone, and get on with interesting things like the next point release, and the various other projects that I’ve let languish for the past few weeks.

27 June 2006

David Pashley: How Not To Implement Spam Filtering (and web forms)

A "friend" of mine has recently been sending me forwarded jokes and other assorted crap we all grew out of sending about 5 minutes after we learnt how to send emails. This I can cope with, but recently, for every email she sends, I've been receiving an automated email from a server somewhere telling me that it's blocked an attachment, once for each attachment in the original email. That's crime number one. Looking at it further it appears that its not the sender's mail servers doing it, but once of the recipient's mail servers. When it gets an email with an attachment it's blocked, it emails everyone in the To: header to tell them, irrespective of whether they are local users or not. That's crime number two. I thought I'd email postmaster@capita.co.uk to tell them of this problem, but unsurprisingly it bounced. That's crime number three. Looking on their website, I couldn't find any technical contacts, which wasn't really surprising. I did how ever find a "general enquiries" form, so I filled that in. Unfortunately, they used the following html for the message box:
<textarea name="Feedback1:fldEnquiry" rows="6" cols="1"
   id="Feedback1_fldEnquiry" class="enquiryTable"></textarea>
The result is that you get a text box 6 rows high and one column across, which is basically unuseable. Interestingly they appear to add style="width: 350px;" in IE, which makes it work. I'll make that crimes 4 and 5, cos doing different things for different browsers is a crime in itself. I await a phone call or email from them.

Andrew Pollock: [life] So much fun I can't believe it's legal

I haven't written about it yet, but we adopted a cat recently. We've (temporarily) fostered a few animals in our time in the US so far, but this time Sarah fell in love, and we had to keep it. Genevieve (aka "Stumpy") came to us as a cat that had been in a car accident, had a broken pelvis, and an amputated tail, and needed a quiet home to recuperate in before going up for adoption. When she first arrived, she'd walk funny, with her back legs splayed out all over the place, and she'd lie on one side rather than sit on her haunches. Aside from this, she was very affectionate, and tried to follow us around everywhere, and purred incessantly. She's improved a lot in the month or so that we've had her (fostering time included). She walks a lot better, her tail stump has healed pretty well, and she's been desexed. It turns out that she was probably pregnant at the time of the car accident, but had miscarried. Anyway, onto the reason for this post. Sarah bought a $10 laser pointer today, and it has been such good value for money. Stumpy's been chasing it all over the place, racing around in circles, climbing the walls, tearing up and down the stairs. It's good exercise for her, and hopefully it's helping her get good use of her back legs (and not aggravating her busted pelvis).

25 June 2006

Mike Hommey: OpenGL performance and the importance of configuration

Until recently, I wasn’t really bothered by the poor OpenGL performance of my laptop. Though it has a Radeon Mobility 9200, the OpenGL “experience” was really bad. But since I was not using GL enabled applications, that was not an issue. Then, I tried Google Earth and thought “well, it’s slow, but it’s huge, I don’t know, maybe it’s normal”. A few days later I heard about neverball and gave it a try. It was even slower than Google Earth, and that seemed pretty hard to believe this time. Thanks to clues from people on #d-d, I figured out I didn’t have the libgl1-mesa-dri package installed. Quite simple to know if you are in the same case : first, grep “Direct rendering” in your X.org log file to be sure DRI is enabled on the server side. Then check for “direct rendering” in glxinfo’s output to know if it’s enabled on the client side. If not, try to apt-get install libgl1-mesa-dri. Trying neverball again was delightful: the game was playable. I thought I was done with my OpenGL settings until yesterday, when, for some reason, I read the X.org log and noticed AGP mode was 1x. I didn’t know exactly about nowadays, but I was pretty sure 4x was reached at some point, and that the chip in my laptop might support it. My friend google helped me finding something about “xorg.conf radeon 9200 mobility agp”, and gave me hints about three parameters to add to the xorg.conf file that might improve GL performance:

Option "AGPMode" "8"
Option "AGPFastWrite" "on"
Option "EnablePageFlip" "true"
Glxgears is not a benchmark, but still, it helps to make self comparisons. Before: ~260fps. After: ~1350fps. WAW ! Now Google Earth is really fast. Though I have a strange bug which appears whenever an X window (popup, balloon help, etc.) gets on top of the 3D frame: only the rightmost part appears… on the left. It appears on neverball, on glxgears, on Google Earth, but NOT on foobillard… moving or resizing the window usually fixes the display. Update: When switching to console and back to X, the glxgear performance gets back to ~260fps… Update 2: It seems my “before” score is not as bad as claimed. It’s actually ~950fps. Still a good improvement, though. The reason why i got ~260fps is that i almost never reboot my laptop nor restart X, and hibernate instead of shutting down the system. Which means I’m in the switched back from console case most of the time. Update 3: Thanks to Robert Hart for pointing to bug #363995. The patch from there works perfectly \o/. (If you can’t wait and want a patched .deb, send me a mail)

Biella Coleman: Before another month passes, a little on Mexico

Last month I went to Mexico to attend Debconf6 and then I traveled with 4 geeks to Oaxaca. Here are a few photos from the trip, which was quite lovely, though I stalled writing anything about it here because I was thrown into a strom of sickness during my last week there and into my first week here. I have been to Mexico a few times before though usually in passing or in Baja, which is somewhat nice but desolate. This was the first time I had any sustained exposure to Mexico and it was quite nice. Some of my favorite things about the country and my visit are perhaps a little odd but they are what took me in and here are some of them… For example, during Debconf proper, I feel in love with the following reptile and very surprisingly, because, when it comes to animals, I usually like the soft and cuddly and not the scaly and spiny. But…. this lizard was…. special. Here is how I found him: We were eating at a restaurant after a visit to some ruins and there we found this little guy caged at the back of the restaurant. I was more than a little miffed that he was trapped (and by butting his head against the cage, he clearly was saying I WANT OUT) and so was about to pull a “PETA move” and just let him out. But I decided that was not such a good idea so instead I went over to the owners to ask why the little one was caged. In answer to my query, they promptly pulled him out and told me he first that he was a chameleon (which does not seem right to me) and was usually free to roam but when there are a lot of folks (as there were) they lock him up. He plopped the little one on my arm and alas, what I pleasantly found out was that a lizard can act an awful lot like a dog. He LOVED to be pet and basically had a look of all-out-pleasure when you stroked his back. And at times, with a particularily good stroke, he would even subtly smile and flutter his hind leg a little just like a doggie. Aside from a special dog-like reptile, there were many other things that I loved about Mexico. The food at the market was divine, divine, especially the corn smut a.k.a huitlacoche and all the salsas were better than you could imagine. It is tragic that every city does not have a local market with such divine food. The architecture of Oaxaca was especially stuning as was the whole city center. It reminded me of viejo San Juan in Puerto Rico but the buildings were a little lower (apparently because of earthquakes) and the environment was dryer and more expansive. Our hostel was courtyard style (as were many houses there) and I think the courtyard should be revived as the defacto style for housing as this is probably one of the most enticing and smart architectural styles ever (at least in warm places). While a home is suppsed to provide shelter to enclose, the courtyard brings some of the outside inside and some of the inside outside. While in Oaxaca we met some folks from espora, walked a lot in the city, met up with other Debian folks traveling about, and cleaned out Vagrant’s ear which was truly … well I won’t go into that. We also drove for a few hours up to the mountains for a few nice hikes. The town hoped we happy trip and I think we did. Mexico city, by a number of measures, is one of the largest in the world and I unfortunately only got to see the Zocalo area as well as the subway. The center was quite impressive and especially nice before a thunderous storm One night at the Zocalo we happened upon a free concert, the lineup including the Tijuana Nortec Collective. One of the most dynamite parts of Mexico City is its impressive and I mean impressive subway system. In a nutshell, the system is large, clean, efficient, cheap, and quiet (thanks to thick and black rubber tires). The trains come quickly, ferrying the millions of riders who pay 20 cents for a ride on a lovely bright orange train. Every time I rode it, without fail, a vendor entered the car, loaded with a backpack that doubled as a radio/stereo, who was selling pirated music. I appreciated the sample and bought one disc chock full of mp3s. Like most urban trains, the riders are silent and I have always wondered why this is so. When I go to PR, I ride the busses much more and there, as in the states on the busses, there seems to be more open flow of chatter. Perhaps it is because trains are quite comfortable and they lull already tired riders into a state of quite contemplation. Who knows. So these are some of the things that I liked about Mexico but perhaps the most exciting part about the country was the clear political heatwave passing through, just as it is with much of Latin America. In the zocalo of Mexico City there were various stands protesting the attacks in Atenco, as well as general protests against neoliberal policies. The city of Oaxca was also filled to the gills with protesting teachers, demanding a pay raise. Thousands of them were camped out all over the city center, which is apparently a year rite. Sadly, in the last week the police broke up the protest, violently…

Aigars Mahinovs: Protocol violated

I am offitially screwed. Last night I wanted to reinstall my laptop (which is also my only computer now), so I backuped the contents of my laptop’s hard drive to an external usb hard drive as a 13 Gb tar.gz file and happily went on with a format and reinstall. Of course, when I had completed the installation and went back to unpack files from the backup, I was greeted by a nice message from gunzip - “invalid compressed data–format violated”. Currently I am trying to follow gzip recovery guide that requires one to manually find the next undamaged compression block and make a new gzip file with standart header and then the undamaged compression blocks, but it is quite possible that data after that will also be damaged. Additionally I have no idea how tar will react to me giving it a middle of the archive, hopefully it will not get too confused. Unfortunately the damaged block is only 90 Mb into the 13 Gb file. Oh, and of course there is a huge heap of really important files that I have no backup for that are on that backup. Fun, fun, fun. Update: I have managed to recover two crucial OpenOffice.org documents from the formatted filesystem using Magic rescue and now I am proceeding with finding if I can recover anything from the .tar.gz backup file using Gzip recovery toolkit. It is buggy, but it is still better then doing it by hand. Unfortunately, I also found out about some kind of hardware problem with my external harddrive - if I transfer lots of data to it (think a direct copy of a 13 Gb file), then it just locks up and stops responding until I power cycle it. If I turn off the USB2 support, then it works reliably, but very very slowly. This slows down my recovery attempts even more.

24 June 2006

Piotr Roszatycki: Sorting the CDs

I'm spending the Saturday at home sorting the CDs collection. A lot of stuff is going to trash can, especially some warez like illegal Windows copies. I don't need them as far as I can use Debian, Knoppix or Kubuntu. At least there is a Windows 2003 Server trial which can be legally used for 180 days. I need the backup for some CDs on harddisk. I tried to use the K3b. Unfortunatelly, the K3b doesn't allow to choose the ISO image file name. I had to write some tool. It uses the standard command from mkisofs package. By the way, I've noticed that bs parameter in dd command has a big impact for copying speed. So I'm calling the dd twice time. First, with a large buffer size and another time for end of file. The code for isocat script:
BUFSIZE=$((128*1024))
bsize= LC_ALL=C isoinfo -d   sed '/^Logical block size is:/!d; s/.*: //' 
vsize= LC_ALL=C isoinfo -d   sed '/^Volume size is:/!d; s/.*: //' 
size=$(($bsize*$vsize))
if which pv >/dev/null 2>&1 && tty -s; then
    cat="pv -s $size"
else
    cat=cat
fi
( dd $ 1:+if=$1  bs=$BUFSIZE count=$(($size / $BUFSIZE)); \
  dd $ 1:+if=$1  bs=$bsize
    count=$(($size / $vsize - $size / $BUFSIZE * $BUFSIZE / $vsize))
    skip=$(($size / $BUFSIZE * $BUFSIZE / $vsize))
)   eval $cat $ 2:+> $2 

23 June 2006

Ross Burton: GStreamer Bounty

I'm willing to start a bounty for someone to fix/port/implement the required pieces of GStreamer so that Sound Juicer can rip a whole CD, fully tagged (all tags SJ writes must be correctly encoded), to MPEG4 AAC (as used natively by iTunes). A requirement is that a music player that support MPEG4 files can see the tags without any extra work: the primary test for this will be importing the ripped files into iTunes. I think there are many people out there who would like this to happen, so I want to arrange a group bounty. Bounty County looked promising but I have to specify how much the bounty is up front, I can't just let the fund grow as people donate what they can. The Bounties section on Launchpad has the same limitation. Does anyone know a reputable site for managing donations like this, or should I just get register a new email address on PayPal and get people to donate there? Also to gauge how much interest there is in this, can anyone who would consider donating leave a comment? NP: Vertigo, Groove Armada

Erich Schubert: GMail filing invalid spam complaints

Apparently, GMail has been filing invalid spam complaints with DFN (the germany-wide university and research network backbone). This is the second time we were forwarded this complaint all the way down to us. I know exactly which mail it is. The IP is the firewalls "private" IP, so no other service is on that IP (it's not the masquerading IP). The time matches exactly the time of an email delivered to GMail. Therefore I'm 100% sure which mail they are considering to be spam. However, it is not. It's not in the "spam" folder in GMail either. No SPF violation. Valid reverse lookup in the appropriate domain. Single-hop SMTP delivery. Firewall to gmail mailserver. It's our daily snort report, that is considered spam every few weeks. That totally sucks, that a perfectly valid and correctly sent email, that is also delivered correctly, is reported as spam amongst the big ISPs. Unfortunately I don't have any details on who is filing the complaint, but it certainly is somewhere among the big ISPs. And traceroute shows a direct peering of Google with the DFN at DeCIX.

Next.

Previous.