Search Results: "ag"

20 July 2011

Clint Adams: Things I clearly won't have time to do this week

19 July 2011

John Goerzen: Too Strange for Jon Stewart

I would have probably dismissed as not realistic enough for even The Daily Show this kind of story, had someone suggested it a few months ago: Rupert Murdoch s corporation (owner of FOX News, Wall Street Journal, News of the World, etc) would have been found to have illegally accessed other people s voicemails. These included voicemails from a cellphone belonging to a recently-murdered girl, which interfered with the police. And they had also bribed Scotland Yard officers for information, and actively covered it up. The story would close one of Britain s biggest newspapers, and force the resignation of various government and Scotland Yard officials. That it would lead to the first high-profile investigation under the Foreign Corrupt Practices Act of an American corporation bribing British officials. That one of the central figures in the scandal would suddenly die at a young age. That there was a question of how the former editor of Murdoch s newspaper whom he steadfastly defended until one day he didn t would be taken from jail to testify before Parliament. That CNN would live stream a hearing of a British Parliamentary subcommittee instead of the news conference given by the President of the United States. And that during this committee hearing, some guy would attack Rupert Murdoch who, until then, looked like he had a few drinks too many the night before with a shaving cream pie. And that Rupert Murdoch s newspapers and TV channels would portray News Corp. as a victim of the liberal press in all this, and that they should just be left alone. So maybe the last one was believable, but my goodness. Just when it couldn t get any stranger, a SHAVING CREAM PIE?!

Olivier Berger: Migrating mail from Evolution local storage to Evolution + local Imap (dovecot with Maildir) 2/X

See previous post for the rationale. I ve then started migrating my mail using evolution. First I ve installed dovecot and set it up so as to store my mail inside my $HOME/Maildir/ dir. Evolution will run dovecot on demand through a pipe, instead of through network access like with regular remote IMAP servers. So dovecot won t be started as a daemon. I ve been inspired by Roland s setup for this (even though I not using offlineimap). Inside Evolution, I ve configured a second mail profile, for this local IMAP server, using the custom command to connect to server :
"MAIL=maildir:$HOME/Maildir /usr/lib/dovecot/imap" I ve migrated my existing mail folders using copy to function on all top-level mail folders from the local evolution storage, to copy them to the IMAP folders. Note that some folders that include a dot ( . ) need to be renamed, as the dot is a path separator for IMAP. I ve adapted Evolution s vfolders definitions so as to take into account the active remote folders instead of the local ones, and that s it, the mail is migrated. I m using fetchmail + procmail to fetch mail from remote servers and to deliver it to the Maildirs, using dovecot s deliver program, with something like : DELIVER="/usr/lib/dovecot/deliver" :0: w
$DELIVER
I ve migrated the filters of evolution to server-side Sieve rules so that dovecot s deliver sorts incoming mail in the right Maildirs. The dovecot config needs to be adapted to activate the sieve plugin (dovecot-sieve Debian package), in /etc/dovecot/conf.d/15-lda.conf : protocol lda
# Space separated list of plugins to load (default is global mail_plugins).
mail_plugins = $mail_plugins sieve
log_path = /tmp/dovecot-deliver-errors.log
info_log_path = /tmp/dovecot-deliver.log

The original Evolution filters rules were stored in $HOME/.config/evolution/mail/filters.xml, so I wrote a quick python DOM parsing tool to extract the (long) list of definitions and generate Sieve rules for the $HOME/.dovecot.sieve config file (in which folder hierarchy uses a . path separator instead of a / ). The sieve-test program can be used to check is sieve rules function as you want. Now this is all setup, I only need to configure notmuch to index all the Maildirs. But this is left to another post.

Olivier Berger: Migrating mail from Evolution local storage to Evolution + local Imap (dovecot with Maildir) 1/X

I ve been fed up with Evolution being so buggy and slow, which was making managing my mail ever more painful as time passes. Still, one of the advantages of Evolution over other MUAs is the vfolders feature, which I ve been using intensively for years. Would there be some alternate way of managing my mail ? I ve been reading about notmuch s progress in becoming a very powerful mail management / retrieval tool (it could very well replace the vfolder feature of Evolution), but unfortunately, it is not (yet) integrated with Evolution. Others have documented their mail setup, and it seems that I could achieve a middle ground solution by migrating all my mail folders, currently stored inside Evolution s local storage, into Maildir folders managed by a local dovecot IMAP server. Evolution would still be my MUA, but it would store my mail inside Maildirs through dovecot. I ve been told that Evolution may be less buggy with IMAP than with local folders, which could solve my main annoyances. Also, it would make it possible to index mail with notmuch, as it supports the Maildir storage format. I ve then decided to take the opportunity of a holiday period to start the migration attempt. I ll document it in another post.

John Goerzen: Trains and Birthdays

This weekend, the boys got what they ve been waiting for: another trip on Amtrak. For the last week or so, Jacob has had a morning ritual. He ll look at the calendar, figure out what today is, figure out when we ll get on the train, and then figure out how many days it will be. As the number gets lower, the excitement gets higher, of course. Friday morning, we woke the boys at 2:30AM to get to the train station. The only Amtrak trains through our area are middle of the night departures. Jacob is normally hard to wake up, but when I tell him that I m waking him up to go to the train station, he wakes up faster than I ve ever seen him before. It takes about 3 seconds for him to process that in his groggy state, and then he sits up straight, throws off the covers, and is instantly ready to go. Both boys were excited even in the station waiting room. Oliver has been on an Amtrak train before, but it s been awhile and he probably doesn t remember it. He constantly talked about it, jabbering as much as his vocabulary lets him. Once we were on the train, Terah and I would have liked to get some more sleep. The boys, on the other hand, were now wide awake, and didn t fall back asleep until about 5:30. That means Terah and I didn t, either. Here s what it usually looks like: When it came time for breakfast, we went to the dining car as usual. Jacob had already been telling us for days what he would eat for breakfast on the train: I always have French toast on the train, dad. And so he did. A few minutes later, I heard the waitress telling other people they were out of French toast, so I was glad I didn t have to disappoint Jacob over that! But it was Oliver that really came alive on this trip. I don t think I ve ever seen him so excited. It was almost constant. He happily talked about anything he could see or touch. But he also listened to other conversations, and would frequently pick out one word from a sentence and try to say it. He does that at home too, but not nearly so often as on the train. Both boys wanted to go exploring a lot my word for taking them for a walk in the train and seeing what they might find. We walked up and down the train several times, Jacob excited over opening the doors between the cars, and Oliver excited just to be there. Oliver s excitement kept him from sleeping well. He did eventually get a short nap, but that wasn t quite enough to avert a couple of tantrums later in the day. The reason for the trip was the 80th birthday party for Terah s grandpa. And it so happened that Oliver s 2nd birthday would be over the same time. So, Saturday morning, we all went for breakfast at Das Dutchman Essenhaus, one of the favorite local restaurants in northern Indiana. After that, it was over to a relative s place for some birthday festivities. The children got mini cakes to decorate as rail cars. There was frosting and all sorts of toppings. Great fun was had by all, and it was wise that this activity took place in a garage rather than indoors. Yes, that is a marshmallow stuck to Jacob s nose. Then in the evening, it was off to another relative s place for some more family time. Jacob had a great time all day, and was in high spirits. He asked me to sit by him at dinner, and started one of the longest conversations I ve had with him in some time. We just talked about the things that happened in the day, but it was nice when I told him, I like sitting by you, Jacob, and he said, Dad, me too! The big highlight for the day happened in the evening. We were gathered around a fire with a guitar to do some singing. Jacob was happily perched in his lawn chair, but got very excited when he saw some lightweight airplanes flying overhead. These kept flying at some distance, and he kept pointing them out to us. But that wasn t even the most exciting part. That came when the fireflies came out. Jacob ran around, catching them in his hands, and excitedly showing them to whatever person happened to be closest. He was laughing with joy for such a long time. At one point, someone asked him if the bugs were tickling his hands. He said, evidentally just realizing it, Oh yes, they ARE tickling my hands! He was one very happy boy. Sunday I had to leave to get back home, while Terah and the boys will return a couple of days later. Although I do sort of look forward to a train trip that I can relax without having to manage two young boys, I do miss them already and will be happy to have everyone back home in a few days. (This post written during the trip and posted a week later after arriving home)

Michal Čihař: Nokia N950 - first experiences

Yesterday, I've received developer kit with Nokia N950. After almost day of using it, it is time to share first experiences. The phone feels big and heavy to me (just to clarify, this is my first touch screen phone). Well at least when compared to Nokia E52 I used up to now. However it is still acceptable to bring it with me in pocket. Having real keyboard is great, because typing on touchscreen is not really comfortable (what is not specialty of this phone, but applies to all touchscreen phones). Included software does the "basic" things well (as in basic things for smartphone, including maps, music player, web browser,...), in the end the device was shipped to develop applications, so I did not even expect to have that much. What really surprised me was migration of data from my old phone, it was able to fetch all I wanted including SMS messages.

Filed under: English Meego 12 comments Flattr this!

Matthew Palmer: Static Comments in Jekyll

When I recently switched my blog over to Jekyll as my blog/site generation platform, one of the driving forces was implementing comments. I ve been a comment-free blogger for years, but I ve just decided to change my opinions on things and see what happens. (Turns out: you get some cool comments. And a lot of spam.) However, the standard advice when it comes to handling comments with Jekyll is use Disqus (or, very occasionally, some other Insert-Javascript-Here cloud commenting service). Not being one to stand for the conventional wisdom, and given that I m allergic to the cloud , I decided to go a different way an all-static comment handling system for Jekyll. First off, you need a way to render comments inside Jekyll. This was disturbingly easy with Jekyll s plugin system. With around 30 lines of Ruby, it was done. It simply reads a pile of YAML files from a _comments directory, and adds them to the individual blog post objects in the templating system, which can then be iterated over when rendering a post. Obviously, you need to also adjust your blog post templates to suit. This is fairly straightforward; just render each of page.comments in a list. Adding a comment submission form is also necessary, and similarly trivial. The only moving part in this whole system is the bit of code that handles comment form submissions. The simplest way to handle it, which is what I ve gone with, is a few lines of PHP that writes the contents of the form out as YAML and e-mails it to me. Although I m not a fan of PHP for web applications, this is sort of job is where PHP excels it s ubiquitous, trivial to deploy, and easy to understand (in small doses). Using a CGI or anything larger (like, say, a sinatra app) would be massive overkill. Since I m still a control freak at heart, I m hand-moderating all comments by the simple expedient of having all blog comments e-mailed to me1, and I have to import them into the blog and re-upload. Mutt makes this trivial; I ve got a script that I trigger by pressing C (for comment) that pipes the message to formail to strip the RFC2822 header, then drops the rest into my blog s _comments directory. A quick rake upload and they re published. If you re not as obsessive as me about hand-moderating your comments, it wouldn t be hard to write a slightly different PHP script that commits the comment directly to a git repo2 and re-renders the site. All you d have to do when you wanted to make a new post is merge those new comment commits from the live git repo and go to work. This would then be a completely static site (with all the performance benefits that implies) with immediate-gratification comments. So, if you re suspicious of the cloud, or just want to be the cool kid whose blog comments load even when people have turned cookies off, check out my Jekyll static comments plugin.
  1. A side-bonus of running all my blog comments through my e-mail is that all of the comment spam gets handled through my existing spam filter, so there s no new complexities. The stuff that bogofilter is really sure is spam just goes straight to /dev/null, while the slightly-less-sure stuff goes into an IMAP folder I ignore except when I m extra-super-bored. Interestingly, bogofilter was already pre-trained and ready to go on my blog spam it caught most of the spam straight away, with no additional training from me, and after being trained on two examples, it s now going great guns auto-flushing the one persistent spammer who hammers one particular old post a couple of times a day with link farms.
  2. I d strongly recommend having some sort of anti-spam setup before you blindly render the comments onto your site, lest your comments list looks like complete balls within a matter of days.

18 July 2011

John Goerzen: Pooh, Books, and Dads

If I think back to fond memories of being with my dad during my childhood, there s one thing that always comes back first. It s those late summer evenings outside. Dad often had outdoor projects going on of some sort. I d go out there hanging around, maybe chatting, maybe playing with cats, or maybe doing something of my own. Dad often had an old AM radio sitting around and would be listening to a baseball game while working. As it got darker, lights would come on, and the bugs would start flying near them. Sometimes dad would be working just inside the barn, and the bugs would start flying in there, while some light poured out the big front door. There s something about that scratchy AM signal, the evening slowly getting darker, the slow pace of the baseball game, and just being around dad and a peripheral part of whatever he was doing that stirs a wonderfully fond recollection in me. I don t remember the specifics of any one of those times, nor do I really remember how often it happened, but it does stick with me. We ve had a routine in our house, starting early enough that neither of our boys know anything different, where right before bed, I read a book and sing a song to each of them individually. Last November, I was looking for some books to challenge Jacob a little more than what we had been reading. I found The Complete Winnie the Pooh used for $4 on Amazon. This contains the original A. A. Milne stories, not the Disney series. It had a few line drawings, but there were many pages without any. It s 352 pages and written in a rather dated form of British English. So for all these reasons, I wasn t sure if Jacob would like it. But it was $4 so I bought it. And Jacob was hooked. Each evening, we start bedtime with looking at the map of the 100-acre forest, just inside the cover. He gets to pick out 4 things for me to describe, and then we turn to our story. We usually read somewhere between 2 and 5 pages at bedtime, depending on how well he got ready without wasting time. And then we sing. A. A. Milne has his Pooh character make up songs throughout the book. They are printed with words only, no tune, so I make up a tune for them as we go. Jacob has taken to requesting these songs for his bedtime song as well. Jacob always gets to choose his bedtime story, and sometimes he chooses a different one but about 75% of the time, it s been Pooh. A few weeks ago, he started noticing that we were almost to the end. He got very concerned, asking what we d do next. I suggested a different book, which he didn t like. Then I pointed out that we could restart the Pooh stories from the beginning, which was exciting for him. Last night, we finished the book. The very last story was an interesting one, suggesting Christopher Robin growing up and no longer having imaginary adventures with the animals, but making Pooh promise to always be there for him. I don t think Jacob caught onto that meaning, though. When we finished it, we had this conversation: Jacob: Dad, is that the end? Me: Yes. Jacob, getting a big smile: Yay! So can we start back at the beginning tomorrow? Me: Sure! Jacob then gave a clap, shouted Yay! again, and was a very happy boy. Sometimes I wonder what our boys will remember in 25 years of their fun times with me. I don t know if Jacob will remember all the days reading about the animals in the 100-acre wood when he was 4, or maybe he ll remember watching train and combine videos, or playing radio hide-and-seek, or maybe something entirely different. But I have no doubt that I will remember sitting on the couch in his room, holding him on my lap, and reading a 350-page book to a loving 4-year-old. As Pooh aptly put it, Sometimes, the smallest things take up the most room in your heart.

Benjamin Mako Hill: Quiet Room

At the Copenhagen airport, Mika and I found the quiet room. It was a soft, well lit, room designed for prayer and reflection. During the hour I was in it, the only other visitor was a child cracking open the doorway to peer in. The room had a guest book with hundreds of messages left by other travelers over the last couple years. People praised the airport administrators for providing the room, made suggestions, and complained about the room, the airport, and the country's shortcomings. They talked about themselves, their travels, their happiness and unhappiness with departing or returning home, and their thoughts about the world. I spend a lot of time in airports but only rarely speak to my fellow travelers. It's amazing how little I know about the thousands of people waiting in line with me, sitting near me on the plane, and sharing in the long, lonely, and often stressful experience of moving between countries and continents. The guest book provided a rare window into these people in what is normally the anonymous and depersonalized non-place of airports. In the quiet room, I could -- for the first time -- hear some of these fellow travelers speak.

Wouter Verhelst: About the beard...

I'm someone who sometimes has a beard, and sometimes doesn't. Today, I'm someone with a fairly long beard, although it's not (yet?) one of the likes of andrew or maddog. I don't think it looks very well on me, but you can blame the government (or lack thereof) in Belgium. How?! What?! Yes, the government. A while back, a movie critic working for the RTL (a Francophone Belgian TV station) decided to keep his beard until the Belgian government took the oath of office. He was quickly joined by an actor, and then by a Flemish radio presenter (dutch, with pictures). And then by a whole bunch of people. I didn't join them, initially. But after a while, when my beard was starting to get long again, people started asking me, 'is that for the government?' And initially I said no. But people kept asking. Since it seemed like a good excuse for not having shaven that long, after a while I just decided to say 'yes' for the heck of it. And now, after having said so for quite a while, I've kindof grown to the idea. Which, I guess, means that if the impossible happens, and someone back home manages to form a government that will take the oath while I'm still in Bosnia and Herzegovina, I'll have to go out and buy some razor equipment. But I don't expect that to happen. Today, exactly 400 days after the previous election (yes, it's really been that long), it still doesn't look as if there's going to be an agreement on anything. I wish there was something positive or funny that I could report on in this whole thing, but it doesn't look like it. Sigh.

Stefano Zacchiroli: arrived at debconf11

debconf riding is again After ~1650 km of motorbike riding from Paris, yesterday evening I've arrived at DebConf11, after having shared the part of the trip from Geneva to Banja Luka with my good friend gismo. DebConf11 motorbike trip DebConf11 motorbike trip DebConf11 motorbike trip DebConf11 motorbike trip DebConf11 motorbike trip The venue looks great. It's full of nice spots for impromptu chats, beers, and the like, which I love. I had a good lengthy recovery sleep and I'm ready for the usual DebConf fun to begin. Plan for today is simple: dismantle DPL backlog accumulated during the trip and in the frantic 10-15 days before it. If you are at the conference and willing to discuss, chat, or simply share a beer: do not hesitate! For something less informal, Neil is also organizing an in person "ask the leader" session here; feel free to propose questions to him and make me have a hard time answering them. See you around.

Jelmer Vernooij: Summer of Code 2011

The Samba team is once again participating in the Summer of Code this year. This year we have 4 students working on various projects related to Samba. This year I am mentoring Dhananjay Sathe, who is improving the GTK+ frontends for Samba. In particular, he is making it possible to manage shares and users of a remote Samba or Windows machine. Dhananjay is also blogging about his progress.

Raphaël Hertzog: Deciphering one of dpkg s weirdest errors: unable to open /path/to/foo.dpkg-new

We already studied one weird error of dpkg, let s do another one:
Unpacking replacement libexo-common ...
dpkg: error processing /var/cache/apt/archives/libexo-common_0.6.1-1_all.deb (--unpack):
 unable to open '/usr/share/doc/exo/html/C/images/exo-preferred-applications-internet.png.dpkg-new': No such file or directory
Rather difficult to understand on the first look right? Let s see in detail what s usually happening when you get this error. The first hint comes from the file extension .dpkg-new . This extension is used by dpkg to unpack the updated files near the old files. When everything has been unpacked, they are renamed over the old files. The failure happens precisely when dpkg tries to rename the file (in fact when it tries to fsync() it before the rename) but why does it fail? Usually because there are unexpected symlinks (or bind mounts) involved that resulted in two different files being installed in the same directory. For example consider package that provides /dir1/a-file and /dir2/a-file. Now imagine that on the target system, /dir1 is a real directory but /dir2 is a symbolic link that points to /dir1. When dpkg processes /dir1/a-file.dpkg-new everything is fine, but when it tries to process /dir2/a-file.dpkg-new it will fail because that file is the same than /dir1/a-file.dpkg-new which has already been renamed. Diagnosing further the problem requires to understand why there s a symlink instead of a real directory. It might be two packages that were badly coordinated, or a problem in the package itself because it lacks some code that drops the symlink in the preinst (so that dpkg installs the real directory instead of keeping the symlink). There might be variations in the way two files end up sharing the same directory, but this simple example should have clarified the nature of the underlying problem.
Subscribe to this blog by RSS, by email or on Facebook.

No comment Liked this article? Click here. My blog is Flattr-enabled.

Benjamin Mako Hill: Die Technikmafia

Marcus Rohwetter has recently published a very detailed article about Antifeatures in the German monthly magazine Zeit Wissen. Although I've only read the article through automatic translation -- unfortunately, I don't read German -- I'm hugely honored that Rohwetter has taken the time to engage with the idea so deeply and to help translate the argument for a much broader community than the free software community I come from and am best able to speak to. A lot of what I've been trying to do in the last year or so is to figure out how to speak more effectively about the politics of technology control to audiences of non-technologists. Indeed, that's the whole point of the antifeatures concept. I deeply appreciate the help of Rohwetter, and others, in that project.

17 July 2011

Cyril Brulebois: Thoughts on multiple webcams

Keeping an eye on something with a webcam is really easy: just a matter of setting up for example (c)vlc to multicast from /dev/videoX to the network, and done. Example:
# Streaming:
cvlc v4l2:///dev/video0 --no-audio --sout "#transcode vcodec=mp2v,vb=3072 :std access=udp,mux=ts,dst=224.0.0.1 "
# Playing, possibly on a remote machine:
vlc udp://@224.0.0.1:1234
Notes: Possible problems: Where to go from here:

Wouter Verhelst: Mechlin to Banja Luka in statistics

I decided to go to DebConf11 by car. Not willing to do this alone, I asked for volunteers to join me in my car trip. One such volunteer showed up, and the car trip happened. Now, since I remembered to push the correct buttons on my dashboard after I completely fueled up the car and checked the tire tension and other things, I am now proud to be able to present you with the following statistics on this trip:
  1. Total distance travelled: 1466.8 km
  2. Average driving speed: 95.9 km/h [0]
  3. Total number of kilometers wasted on 'oh, crap, we forgot something': 10 (approx) [1][2]
  4. Total amount of fuel used: 81.3l
  5. Average fuel consumption rate: 5.5l/100km [3]
  6. Total amount of kilometers spent behind the wheel by Jeremy: 50 (approx)
  7. Total amount of kilometers spent behind the wheel by Wouter: the rest.[4]
  8. Time of departure: 2011-07-16 21:00
  9. Time of departure after point three and making sure we had everything: 2011-07-16 22:00
  10. Time of arrival: 2011-07-17 15:15 (approx) [5]
  11. Outside temperature at departure: 12 celcius
  12. Outside temperature at arrival: 35 celcius
  13. Longest (voluntary) break: 1 hour (approx; breakfast, tanking, bathroom visit, watching the sun rise)
  14. Longest (involuntary) break: 45 minutes (approx; customs check) [6]
  15. Last fueling stop: 4 AM.
  16. Amount of kilometers left to go before the car said bleep, you need to tank soon: less than one.
  17. Most tense moment: on crossing the slovenia->croatia border, confusing the border police officer ("no, I'm Wouter, that is Jeremy" yes, we both had photo-ID), who then promptly holds on to our documents, asks the car's papers, and tells us to please park over there and wait a moment while he gets us to be handled by guy in a somewhat more military-looking uniform.[7]
  18. Biggest "uh-oh" moment: after crossing the croatia->bosnia and herzegovina border, watching the very, very, very, very, very[8] long line of trucks queueing to cross the border. In the other direction. And then realizing that you probably need to go through that very same queue on the way back
  19. Largest single toll fee: 15 [9]
  20. Last bit of time spent asleep before this trip: the minutes surrounding 2011-07-16 05:00:00 [10]
  21. Time wasted writing this blog post when I really should've gone to bed instead: 45 minutes
  22. Time now: 21:02:54
But it was fun. And that's all that matters. Those who've shown up at debconf already, or who will arrive soon: see you tomorrow. Those who will arrive later: see you soon. And those who won't arrive: better luck next time, I hope. [0] this includes times when the car isn't moving with the engine running, but not times when the car is turned off, locked, alone and forgotten, in the rain, while those idiots who were supposed to be its drivers were inside having a drink.
[1] Which is surprisingly little. Usually I manage to need more.
[2] Jeremy forgot his^Wa Debian banner. I forgot something, I can't recall what. I decided to bring some CD's to enjoy during the trip, and a 3.5mm audio connection cable which we end up not using
[3] According to the dash. I'm too tired right now to check it. Also see the next two points. [4] This could incorrectly be interpreted as a criticism on Jeremy. It's not his fault that I only told him a day before we left that I have a manual transmission. And in fact, if anything, I'm unhappy with the fact that I even had to hand him the wheel for those 50 km. I would've loved to be able to say "I went all the way from Mechlin to Banja Luka, all by myself".
[5] I forgot to check the clock, to be honest.
[6] What, you think I have a chronometer?
[7] The last four points could really have been written as two. Figuring out which goes with which is left as an exercise to the reader.
[8] very, very, very
[9] 7-day Slovenian road tax vignet
[10] Once I wake up, I hardly ever manage to fall asleep again. Esecially if it's light outside.

Torsten Werner: Debian Conference 2011

Yes I am going to attend DebConf11.

Lars Wirzenius: rm is too slow

Some weeks ago I noticed that one of my backup servers was not removing the old backup generations it was making. It had over 18 months worth of daily backups, done with rsync and "cp -al". This is not the world's greatest backup system, but that's entirely irrelevant for this rant. The cron job that would do that did not exist: I had forgotten to enable it. So I ran it by hand. Then fixed it, when I noticed it was buggy, and didn't remove any old generations prior to 2010. After that I removed years-old backups of machines that haven't existed for years. Disk usage:
       Size  Used Avail Use% 
before 5.4T  2.6T  2.6T  51% 
after  5.4T  892G  4.3T  18% 
Inodes:
          Inodes    IUsed     IFree IUse%
before 732577792 77645915 654931877   11%
after  732577792 16871789 715706003    3%
That's about 61 million files removed, over the course of three weeks, of which the machine was down due to crashes for about one week. It should not take two weeks to copy a couple of terabytes (it's less than two megabytes per second). It should definitely not take two weeks to delete it. Almost all the time it was up, it was removing files. There were a couple of times when it finished one run and was idle until I woke up and started the next run. Say a day in total. Why is "sudo rm -rf" on a large directory tree, or set of large directory trees, so slow? I suspect part of the problem is that the system call API is beautiful, but simplistic: you need to call unlink or rmdir on every file separately, and that means doing an inode lookup separately for each file. Having a system call to delete everything in a directory would have a chance of removing things more efficiently, I suspect. However, since I've not done any profiling, nor even analyzed the relevant source code in the kernel, I might be entirely wrong. I wonder if anyone else needs to remove large directory trees frequently? I do that a lot, because of my backup software development hobby. But I may be in a unique position, and nobody else would benefit from fast removal. (I'll note that my backup server is using ext3, and that ext4 is much faster at removing files, particularly large files, but it's still not fast enough.)

Daniel Baumann: Debian Live Autobuilds

Right now I am sitting in the train to the airport for going to DebCamp/DebConf 11 in Banja Luka, Bosnia and Herzegovina. During DebCamp amongst other things I am going to work on finishing up the last bits on getting daily/weekly Debian Live autobuilds back for wheezy. This spring Jimmy Kaplowitz offered to help with the task of overseeing the debian-live autobuilder and to coordinate necessary bits with cdimage.debian.org. Having them on cdimage.d.o became recently possible as Steve McIntyre offered to make a VM available for us (live-build requires root privileges, and naturally, you would not want to let that run on the host system itself, that is why in the past it was not possible to build them on cdimage.d.o). The remaining issues are, and this is why the autobuilds are not yet back since spring, that live-build still needs two things: a couple of tweeks for wheezy, and the autobuild stuff need to be properly integrated into live-build itself. That will happen as an additional binary package live-build-cron with a bunch of debconf questions, so that everyone and his dog can setup a debian-live autobuild server on his own machine. The initial upload (which will not yet work, do not bother to try) was uploaded to experimental this week and cleared the new queue, now looking forward to get this all finished up and resulting in a live-build uploaded to unstable by the end of the week. In the second week, Jimmy arrives, I will be introducing him to live-build and the various little things to watch for and hopefully manage to persuade him to take over the autobuilds maintenance. Having all images that are based on packages solely from the stable/testing/unstable archives moved to cdimage.d.o is freeing up ressources on live.debian.net which did the job in the past since etch. Ben Armstrong volunteered to help with overseeing the live.d.n instance of live-build-cron that will build more then once per day images for si, with the only difference that they will not use live-* from the archive but the latest snapshots from our git snapshots repository. This will be a big help for the development as eventually we will be autotesting these images for various things. Last but not least, thanks to both Jimmy and Ben for all your kindness, patience and help with this during the last couple of months. We have interesting times ahead.

Thorsten Glaser: mksh R40b; joe 3.1jupp16 and 2.8jupp2 released

mksh R40b (nowadays with filled in user s caveats (for R40, too!) and packager s upgrade hints) has just been released. This is a should-have upgrade, fixing a number of admittedly some obscure bugs, changing things begun in R40, improving upon others. Thanks to the PLD Linux guys for spotting all these errors; thanks to them and phpnet.org both for adopting mksh so well. I have also fixed a bug in nroff(1) which will lead to an even nicer looking HTML manpage mksh(1) (after the next rebuild and upload of a MirBSD snapshot scheduled RSN). jupp 3.1.16 took on the task of merging Debian joe changes (aiming at an upload). I also split the jupprc file into three versions (2.8 generic/DOS, 3.1+jupp and 3.7/Unix) because of the differences in the baseline executables making rc files partially mutually incompatible (think Insert key), annoyingly warning (think syntax, hmsg), or less usable (joe s new menu system). jupp 2.8.2 is a companion to jupp 3.1.16 mostly because of the new help window character map Binaries for jupp should be updated RSN too. Considering Banja Luka is arriving quickly, the r in RSN should be taken with a few grains of salt. I ve also scheduled working on the pcc Debian package for the next future; updating lynx and maybe others like OpenSSH in MirBSD is also due; cvs(1) will receive more of my time, but before the next Upload I d like to fix LP#12230 once verified. Builds for Debian/m68k are also still running. I note I did in fact not manage to make a new base image, yet (but 2.6.39 kernels miss a patch, anyway, so waiting for 3.0 is ok). It s still using gcc-4.4 because nobody tests gcc-4.6 and gcj-4.6 FTBFS due to SIGSEGV, but that s ok in my books. rsyslog is broken but sysklogd works. The #ksh Freenode page finally got a well-deserved link to Planet Commandline. Throw more my way! Acronyms and translations, too. (Got Norwegian and Rumanian covered in the meantime. No idea whether any RTL languages will work in that beast. But I m young and need the money) Since I m writing a wlog entry anyway let me thank Gunnar for a nice summary on the current Free Culture discussion; my comments on Nina s site seem to be eaten, but let me support it fully, although, of course, I normally use a copycenter style licence, which is specifically written for general works of authorship under copyright law, not limited to software. I did in fact have that in mind. Maybe some people will like it (it s less than one Kibibyte long) either generally or just for their everyday random musings (they can then keep CC-BY-SA for the big works if they so desire). Wouter, grass background makes green headlines illegible. I ve never liked, and never installed manually, cups either. (Benny tells me that Apple s new version refuses to talk with a non-Apple cups, kinda defeating the whole idea I think.) Port 9100 is JetDirect (probably with an HP in front and some subset of trailing) and just nice. (Being able to talk ESC/P with your printer like print '\033K\x07\0\x3E\x81\x99\xA5\xA5\x81\x3E' >/dev/lpa too rocks though, IMHO. Yes, mine can, and I still can. /dev/lpa is BSD.)

Kai, thanks for your vimrc lines:

	:highlight TrailWhitespace ctermbg=red guibg=red
	:match TrailWhitespace /\s\+$\  \+\ze\t/
 

Automatic removal is harmful, though I just fell into the trap since jupprc contains needed whitespace at EOL but manual removal (bound to ^K] in jupp) rocks. And I like that your solution uses such strong a colour vim users are the single most represented offender group for actually leaving the redundant whitespace at EOL there, and it should hurt their eyes. (Sadly there is some vehement disagreement preventing them from inclusion in grml-etc-core but that s why I re-post them here.) Ah, and jupp can of course display whitespace visibly (although it uses / , replacing the arrow with if no UTF-8, not ), accessible with ^Ov. Steve, want to put up a checklist for sites? We can crowdsource the testing to maybe get some interesting results Some other people would get more comments if they were idling in IRC (Freenode) or allow comments on their blog, specifically without too high an entrance barrier OpenID is ok, but many other things, and ECMAscript, are not; but I can t really say that loud because our wlog is static HTML compiled from a flat plaintext data source so it doesn t allow such either. I often forget what I wanted to add if I can t get it out quickly enough (especially at work). Sowwy Me like the cat picture postings (Amayita, Tiago, Gracias!).

Next.

Previous.