After that, I watered my new lawn. The grass seeds I spread on Tuesday are coming up in teensity-tinesity leaves. Huzzah!
Then I turned my attention to the wt:Muskoka chairs we got from Canadian Tire. These turned out to be a lot easier, and they were made from cedar wood, so they were pleasant to work with. Maj had invited over some friends for grilling, so she went to the store to buy food while I worked on the Muskokas. The baby hung out with me outside in her playpen.
The chairs turned out great, and we had a nice grill. Brenda, Parise and Tony all came over. Brenda and Tony are librarians, and Brenda and Parise grew up together in wt:Moncton. The Muskokas were a hit; here are Brenda and Amita enjoying one.
tags: ikea bed amitajune grill muskoka chairs lawn grill
$ tools/debtags smartsearch image editor Tag selection: 1) hardware::camera (44/18710) 2) works-with::image:raster (335/18710) 3) hardware::storage:dvd (27/18710) 4) special::meta (86/18710) 5) devel::debian (55/18710) 6) works-with::archive:iso9660 (44/18710) 7) use::typesetting (61/18710) 8) special::not-yet-tagged (5745/18710) 9) devel::library (3727/18710) 10) role::sw:utility (2707/18710) 11) interface::x11 (2434/18710) 12) interface::commandline (2137/18710) 13) x11::application (2040/18710) 14) role::content:data (1573/18710) 18710 packages selected so far. Your choice (+#, -#, =#, K word, View, Done, Quit, ?): +2 -9 +11 Tag selection: 1) interface::x11 (wanted) 2) works-with::image:raster (wanted) 3) devel::library (unwanted) 4) hardware::camera (10/113) 5) special::meta (1/113) 6) use::typesetting (1/113) 7) works-with::video (8/113) 8) made-of::lang:c++ (2/113) 9) suite::gnome (9/113) 10) uitoolkit::athena (9/113) 11) uitoolkit::gtk (50/113) 12) role::sw:application (41/113) 13) use::viewing (39/113) 14) role::sw:utility (33/113) 15) use::editing (30/113) 16) uitoolkit::qt (23/113) 17) suite::kde (18/113) 113 packages selected so far. Your choice (+#, -#, =#, K word, View, Done, Quit, ?): +15 Tag selection: 1) interface::x11 (wanted) 2) use::editing (wanted) 3) works-with::image:raster (wanted) 4) devel::library (unwanted) 5) hardware::camera (1/30) 6) special::meta (1/30) 7) works-with::video (3/30) 8) made-of::lang:c++ (1/30) 9) suite::gnome (2/30) 10) uitoolkit::athena (4/30) 11) x11::application (24/30) 12) role::sw:application (15/30) 13) uitoolkit::gtk (11/30) 14) uitoolkit::qt (7/30) 15) suite::gimp (6/30) 16) suite::kde (6/30) 17) x11::application (24/30) 18) role::content:data (5/30) 30 packages selected so far. Your choice (+#, -#, =#, K word, View, Done, Quit, ?): d gimp - The GNU Image Manipulation Program babygimp - An icon editor in Perl-Tk cinepaint - motion picture image painting and retouching tool cinepaint-data - data files for CinePaint digikamimageplugins - image editor plugins for digikam and showfoto kiconedit - an icon editor for KDE kchart - a chart drawing program for the KDE Office Suite gimp-data-extras - An extra set of brushes, palettes, and gradients for The GIMP scribus - Open Source Desktop Publishing xpaint - simple paint program for X puredata - realtime computer music and graphics system gimp-data - Data files for The GIMP gimp-python - Python support and plugins for The GIMP gimp-gap - The GIMP Animation Package gimp-texturize - generates large textures from a small sample gnome-iconedit - A small tool to create icons for the gnome-desktop gpaint - GNU Paint - a small, easy to use paint program for GNOME gsumi - pressure sensitive "ink" drawing gtkmorph - Digital image warp and morph (gtk) gtkmorph-example - digital image warp and morph, examples xmorph - digital image warp and morph (x11) imaptool - A tool for creating client-side image maps junior-art - Debian Jr. Art kcoloredit - a color palette editor and color picker for KDE kolourpaint - a simple paint program for KDE kimagemapeditor - HTML image map editor for KDE pixmap - A pixmap editor saods9 - image display tool for astronomy sppc - Simple Panel Plot Composer tkpaint - Versatile bitmap/pixmap editing toolThis other section is worth seeing as well: it shows the relevant tags computed for various keyword searches (I cut out the part which is always the same):
$ tools/debtags smartsearch kernel image 1) admin::boot (132/18710) 2) use::driver (108/18710) 3) admin::kernel (252/18710) 4) protocol::dhcp (24/18710) 5) role::sw:source (79/18710) 6) admin::hardware (161/18710) 7) devel::debian (55/18710) Your choice (+#, -#, =#, K word, View, Done, Quit, ?): k audio editor 1) sound::midi (33/18710) 2) works-with::music-notation (25/18710) 3) works-with::audio:wav (51/18710) 4) works-with::video:oggtheora (5/18710) 5) field::arts (21/18710) 6) sound::mixer (65/18710) 7) sound::recorder (10/18710) Your choice (+#, -#, =#, K word, View, Done, Quit, ?): k package manager 1) x11::window-manager (79/18710) 2) suite::xfce (34/18710) 3) x11::display-manager (10/18710) 4) x11::theme (82/18710) 5) works-with::software:package (110/18710) 6) suite::kde (503/18710) 7) made-of::data:icons (43/18710) Your choice (+#, -#, =#, K word, View, Done, Quit, ?): k debian package 1) suite::debian (282/18710) 2) devel::packaging (75/18710) 3) devel::debian (55/18710) 4) works-with::software:package (110/18710) 5) use::dialing (47/18710) 6) admin::user-management (114/18710) 7) hardware::modem (87/18710) Your choice (+#, -#, =#, K word, View, Done, Quit, ?): k linux kernel 1) admin::kernel (252/18710) 2) role::sw:source (79/18710) 3) use::driver (108/18710) 4) interface::svga (31/18710) 5) hardware::usb (32/18710) 6) admin::filesystem (151/18710) 7) hardware::camera (44/18710) Your choice (+#, -#, =#, K word, View, Done, Quit, ?): k gps 1) field::geography (57/18710) 2) hardware::emulation (98/18710) 3) works-with::image:vector (107/18710) 4) devel::ide (41/18710) 5) works-with::software:running (93/18710) 6) made-of::lang:ada (26/18710) 7) x11::application (2040/18710) Your choice (+#, -#, =#, K word, View, Done, Quit, ?): qThis thing is getting smart. Can't wait for this to get seriously picked up by some GUI (think adept!).

I would look more like an athlete if I shaved...
The rest of the team did pretty well on their leg, specially Rub n who
came in third after having raced on Friday night. A few hours and many
children races later, we received the team award for the
Komando's second place.

Everyone loves the Komando. Go Komando!
It always feels good to do races like B tera. I plan doing a few more races
this summer: Val ncia, Pinedo, maybe Antella, maybe Cuenca...

No, jo tampoc t'espere
Of course, the amount of Vatican flags outnumbers us greatly, in a ratio of
at least 1:100, but anyway. There are so many Vatican flags that this looks
more like St. Peter's Square. Others have taken the opportunity to exhibit
Spanish flags all over the place, something that probably had not happened
in Val ncia since the most obscure years of Franquism. Oh well, this is
Val ncia.
One piece of good news: due the chaos starting in just two hours, we're
allowed to leave offices early today, so we can actually get back home.
As soon as I get home and have lunch, I'll flee away to the mountains, like
a maqui until the madness is over. The 1.5 million pilgrims can
have my holy city. Have a
nice time, Ratzinger!
A major point of friction I've gathered from many (Debian) sides stems from the fact that many developers are largely unsatisfied with how Canonical/Ubuntu cooperates and "gives back" to the Debian community: essentially, at the moment all we get are monolithic patches describing the differences between Debian packages and their Ubuntu counterparts. Even though Mark has claimed that the patches should be modular if the underlying package uses a modular package management system (such as dpatch), this does not seem to be the case at first glance (c.f. e.g. squid). You have to look inside the monolithic patch to note that its changes are compartementalised into dpatch files. Yet, Canonical/Ubuntu continuously claims to be "good" and to "give back" to the Debian community, but that's just not happening in that way. Canonical/Ubuntu either has to start giving back according to their own claims, or stop pretending that it does, and it's good that I have heard this voiced by one of the Canonical employees as well.
The perception that Canonical/Ubuntu is taking advantage of Debian seems to prevail. Taking advantage in this definition entails using but not giving back, as well as dragging integrative work out of Debian, something Joey Hess described as the supermarket thing, which has the potential to ruin the Debian project. Whether this is true or false, intentional or unintentional, it is important to recognize that these sentiments do exist among a number of members of the Debian community. There's a related point, namely jealousy about Ubuntu's success, and the fear that it steals Debian's users. In response, it is often said that while Ubuntu depends on Debian, the reverse is not the case: Debian does not need Ubuntu. This is false and true at the same time. Debian surely need derivatives like Ubuntu, for derivatives bring users, and users bring improvements and weight. However, Debian does not need any one derivative more than any other, and in fact it has been considered harmful if any derivative stands out.
Many of those with whom I've spoken perceive that Canonical/Ubuntu do not acknowledge Debian enough, nor give credit where credit is due. And this lack of credit and acknowledgement further amplifies the fear. Two examples seem to stand out:
The "universe" community that gathered around Ubuntu's core surprisingly often does not know about Debian, or do not know how Ubuntu and Debian relate. I do not have any data on this, unfortunately (see below). This is something to take up with the Ubuntu Community Council.
On the ubuntu.com front page, Debian is not mentioned at all; if you actually follow the About Ubuntu link, you can find Debian mentioned once in the first paragraph (albeit without a link), and if you did notice the right hand menu expanding, you may even decide to click on Ubuntu and Debian, where the relationship is finally illustrated from the Ubuntu point of view. To many, this is just not enough. Update (+6h): the About Ubuntu page now links to the Debian homepage. Thanks!
Canonical people, and Mark especially, draw an important line between Ubuntu (which is mostly free/open-source), and Canonical with its other products (Launchpad, Rosetta; which are non-free). However, from the outside, this line does not exist, or at least it appears as if there's a much stronger relationship between the Canonical and the Ubuntu project. This impression casts a corporate shadow over Ubuntu which deters many developers, even if it's undeniable that Ubuntu is a project of its own (to a large degree).
There's no question about Mark being on an agenda, for which he has assembled an impressively powerful team (which indirectly includes many Debian developers) at an (even more impressively) cheap cost. It's not my business to speculate about other people's finances, but those that do conclude that Mark is very likely not running too much of a risk with what he does at the moment and could basically pull out at any point in time. To some, who have dedicated large parts of their lives to Debian, this seems like an unwelcome way to play a game.
When Canonical entered the market and hired some developers to work on a Debian-related project, a lot of jealousy boiled up among those who didn't get a job, because back then it seemed that Canonical was out to pay people to work on Debian -- which is a common dream among us developers; at least people hoped that's what it would be. Many fundamental contributors felt left out and confronted with the question why they should continue their work for free when others are now getting paid for it. The twist is that nobody wanted to ask themselves that question, because money was never the reason why they started to work on Debian. The situation has leveled by now (I think). More and more people realise that Canonical is taking Ubuntu into a direction where many Debian developers do not want to go. Nevertheless, it seems that some of the frictions we are currently facing between Debian and Ubuntu still have their roots in the bad feelings from those times (which may well still exist in the individual case). Canonical/Ubuntu (and some Debian developers) need to realise (and get over) this, and somehow I think they've got a long way to go.
| [0] | "gatekeeper" is an H.323 term and I brought it up in the conversation because I am new to SIP and, well... He said it would be able to connect to a company-internal "thing, like a Cisco router," so this leads me to assume it will be able to connect to any SER out there. Thanks to Mark Brown for bringing this to my attention. |
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.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)/proc/$pid/fd/$fd, run lsof -p $pid -a -d $fd.
Next.