Search Results: "tar"

26 May 2008

Neil Williams: Non-code code development upstream for estron

As well as choosing a licence, various other non-code or pseudo-code tasks are needed in all upstream projects and I have been working on some of these in my upstream project, estron.

  1. Documentation - Quietly converting the old docs (XML comments) into SGML (docbook content) for use with yelp. Comments have no particular structure so it takes time to add docbook structure to what was just a block of arbitrary text in comment tags.

  2. MIME - Not sure if I've got this right still - I don't see the icon for .estron files and I get a warning when trying to double-click on an "Estron file" (the file type is recognised but gets confused with the XML inside). I'm following code samples from grisbi and drivel to try and get things together.

  3. configuration support - estron will use dbconfig-common in Debian for the internal estron database but I need to set upstream to be able to read in the data created by dbconfig in a non-Debian-only manner, probably using GIO to provide configuration that can include a filename of external config data.

  4. cross build support - a few quibbles in that area but I'll sort them before release. Can help catch architecture-specific problems in the code that would cause a FTBFS on the Debian buildd system.



Other tasks already covered:



I have actually been doing some code too - in QOF due to a bug identified by testing and developing estron and in estron itself to bring 64bit time handling to estron and prevent time overflows in 2038 should you use estron on 32bit machines.

25 May 2008

Enrico Zini: LDAP user database errors

LDAP user database errors In case your machine uses an external LDAP server for the user database, and you see this error:
id: ldap-nss.c:1376: do_init: Assertion  cfg->ldc_uris[__session.ls_current_uri] != ((void *)0)' failed.

The solution is to check that you have no passwords in /etc/libnss-ldap.conf and make it world readable, because software needs to access it in order to access the user database. This is apparently "normal" folk knowledge. Already in the BTS. Now, why is /etc/libnss-ldap.conf not world readable by default? Because a debconf question offers it to be that way. Why does it do so? I have no idea, since passwords should go in the not world readable /etc/libnss-ldap.secret anyway. Why do we get that assertion instead of something like cannot read /etc/libnss-ldap.conf? These sort of obscure errors or behaviours happen so often that I start to believe it's an intentional coding style. Maybe LDAP needs to be something for lite sysadmins with a painful initiation path, so that only the Worth and Pure of Spirit can use the only sane way to have a central user database in Linux. I almost feel like if I disclose these tricky bits one day I will be tied to a rock with an eagle eating my liver.

Axel Beckert: Google Open Source Jam and Webtuesday Hackday

I was at two geek events in Zurich this week: At the Google Open Source Jam Zurich on Thursday evening and at the first Webtuesday Hackday on Saturday. Somehow I expected both events to be quite similar, but they weren’t. Google Open Source Jam When I read “Jam” or “Jam Session” I think of Jazz musicians spontaneously playing together. So for me “Open Source Jam” sounded like a hack session where some spontaneous coding is done. But there was no spontaneous collaboration at Open Source Jam at all. It’s just (more or less spontaneous) talks about different topics and chatting. So I was quite disappointed from that event. There were though quite a lot of people I knew from e.g. Webtuesday, Chaostreff or Debian. I even met some people I just knew from IRC until then. Half of the talks were sole propaganda talks though, e.g. for Webtuesday Hackday, OpenExpo and Soaring as a geek sport. Not really wrongly placed talks, but not what I expected in talks at Open Source Jam. The few rooms and floors I saw reminded me very much to IKEA Children’s Paradies, just even more motley. Though it felt all sterile and wasn’t by far as cool as I expected after what I read elsewhere of Google offices. I also think that several of the Google employees showed some contrived friendlyness, and questions I asked e.g. why I have to give them my e-mail address and employer’s name (what do unemployed or self-employed people do?) got answered with answers I do not really believe – like “for security”. A leopard doesn’t change its spots. A data squid probably neither, even not at events labeled with OSS and said to be for the community. I suspect that finding new employees is one of the reasons behind such events at Google. But after my first visit at one of their locations, this company still makes me feel uncomfortable. And I’m even more sure than before that I wouldn’t want to work there. Not sure if I’ll attend the Google Open Source Jam a second time. Webtuesday Hackday Webtuesday Hackday also was not as I expected, but still more close to my expectations: the Webtuesday crowd gathers for hacking instead of having long talks. :-) There were surprisingly many people from outside Zurich, from Munich and Belgium, from Lake Constance and Lausaunne – not only the usual suspects (who were there anyway ;-). The event took place at Liip’s new office. They still look a little bit empty and steril, but all the toys (mini rugby balls, Wii, plush figures on floor lamps) and people around made them very alive. And they had very cool lamps in the form of their company logo in the office. They sure have a good interior designer. :-) Although most participants found time to do some hacking, many found less time than they expected so we hope that we can glue the talks a little bit more together in regards of timing to cause less interruptions of the hacking. The food was also better at Hackday, too, but mostly because we ate outside. ;-) For lunch we were at Lily’s Stomach Supply at Langstrasse (very recommendable!) and in 6he evening we were at Pizzeria Grottino 79 near Helvetiaplatz. Had a Pizza Vesuvio with Gruyère cheese there. Hackday also had a surprise for me: The IRC channel at Hackday was but when I entered the channel there were someone in I didn’t expect there: tklauser aka Tobias Klauser aka tuxedo. Even more surprising, he read about my project idea for Hackday – a semantic feed cache proxy – and liked it, so he decided to come over to Zurich and join the project. We didn’t came that far until Tobias had to leave again, but the progamming language and partially also libraries had been nailed: Ruby and it’s WEBrick framework. After the Hackday I worked on it a few more hours and it now already saves feeds to a cache. The Mercurial repository is at http://noone.org/hg/sfc-proxy. There were several reasons which spoke for using Ruby instead of Perl (my favourite progamming language and the one I’m most experienced in): Ruby brings HTTP and RSS support already in it’s standard classes and Tobias is more experienced in Ruby than Perl. I started to learn Ruby a few years ago to look beyond my own nose and to get my hands dirty on some object-oriented and nice programming language, but I hadn’t found an appropriate project until now, so this was one more reason to not do it in Perl. I also worked on my Debian package of Conkeror during Hackday. It’s already usable and I now use Conkeror as primary web browser on my EeePC, but e.g. the man page is still missing. As soon as I have the minimum in necessary documentation ready I’ll let it upload to Debian Experimental (since its dependency XULRunner 1.9 is also only in Debian Experimental yet). The Mercurial repository for the Debian packaging of Conkeror is at http://noone.org/hg/conkeror/debian Those who were still at Hackday in the evening decided that the Webtuesday Hackday should become a regular institution and should take place approximately every two months, but stay a one day event (for now). I already look forward to the next Webtuesday Hackday.

Lior Kaplan: Why aren t our users familiar with backports.org ?


As part of the openoffice.org bug triage I asked users to test their bugs with recent versions of oo.org, and referred the users of the stable branch to backports.org. I got a lot of responses from users saying they didn’t know about the backports repository. For most of them that’s a time saver in the process of getting newer software. Some were glad to upgrade and to confirm their bugs with the recent version. I’m wondering how should we publish this (unofficial) service? Having results from backports.org appear in packages.d.o was a good start. Maybe adding a link from the PTS as a reminder to the maintainer? (but this don’t help the users). Any ideas ?

24 May 2008

Clint Adams: To MPD or NIH

I cannot tell if MPD is what I want. Things like this and this lead me to believe that it is beyond repair, but things like this and this give me the faint feeling that it might not be. What I want is a music architecture that has a a core that plays a music file to a soundcard, takes direction from any number of stackable plugins, and feeds event data to any number of stackable plugins. I'm less sure about whether I want some kind of shared database or if each plugin should have to maintain its own database infrastructure. If tracks should be identified by MusicBrainz IDs, how do you handle files lacking those tags? I want song selection plugins: one that does playlists, one that selects randomly, ones that choose via arbitrary algorithms (vux, last.fm recommendations, a snippet of user-entered pseudocode/query, and so on). These should be able to handle files local to the core process, files on the client machines, simple http audio streams, and last.fm radio. The core should be able to communicate to any number of event plugins when a track starts, when a track is at an arbitrary point (240 seconds, halfway, etc.), when a track ends, when a track is skipped (whether by user action or plugin logic), when a track is paused, and so forth. I want event plugins: last.fm reporting via Audioscrobbler 1.2 or newer, vux preference tracking, simple statistics tracking, logging, and anything else anyone might want to keep track of reasonably. I have some scarier ideas, but they can wait.

Ondřej Čertík: Ubuntu Developer Summit in Prague

Last weekend I was at FOSSCamp. Since I live in Prague I wanted to go to Ubuntu Developer Summit (UDS) each day, but unfortunately I had some exams, so I only went on Wednesday and Friday.

On Wednesday I first met Lars Wirzenius:


we agreed to go to pub in the evening. Then I did a little work, there was quite a nice view from the window (Prague castle on the horizon):



and I went to the #ubuntu-devel-summit IRC channel and pinged Scott Kitterman, whom I new from the Debian Python Modules Team (DPMT), but didn't know how he looks like. We met and once I knew Scott, it was easy to get around, so he introduced me to Steve Langasek (pronounced Lang ek). We agreed to go to pub as well. Steve lives in Portland, OR, where I spent the summer 2005 and Scott is from Baltimore where I spent the summer 2006.
Then I also met Riku Voipio, Martin B hm, Christian Reis (whom I asked if it's possible to support Debian unstable on Ubuntu Personal Package Archives and he said that it will probably happen, so that's really cool -- I also offered my help with this) and others, so in the end, there were 14 of us going to the pub, so I chose again the same pub as with the FOSSCamp people and it seems it tasted good again:




Notice the sv kov na smetan above, my favourite meal. Good choice Scott. :)





Ok, that was on Wednesday. On Friday I arrived at around 3pm, looked at the schedule table and noticed that Matthias Klose should be at UDS too, so I started IRC and pinged him. Fortunately, Emilio Pozuelo Monfort, whom I know from DPMT as well, replied first so we met, it was cool and he showed where Matthias is. I am very glad I met him, so we discussed python-central and python-support packages and why we have them both, also with Scott later on.

When I was waiting for Matthias, I sat next to Nicolas Valc rcel, started my laptop and begun looking at some SymPy bugs and Nicolas noticed that and said -- "You are developing SymPy?", I said "Yes.", flattered. And he showed me a bug with plotting and Compiz, so we immediately reported that to pyglet.

In the evening people continued to some kind of a party, but unfortunately, I was already going to some other pub.

Overall, even though I was there for only two afternoons, it was just awesome and I utterly enjoyed meeting all the people I knew from mailinglists and IRC.

John Goerzen: How to Start Bicycling to Work

Yesterday, I wrote about bicycling to work, pointing out that it's a safe, inexpensive, way for many people (including office workers without access to showers) to get to work. There were a lot of thoughtful comments there too.

Today I'd like to provide some tips for getting started commuting on a bicycle. As I'm just getting started on this, these are mainly things I've learned from poking around online, so I'll be including lots of links.

The Bicycle

This varies from person to person, but as a general rule: if you have a very short ride -- say a mile or less -- you can probably just use any old bike and a bicycling helmet. Don't try to use a motorcycle helmet. It won't vent your head, so you could overheat. Also, it won't be comfortable.

Most people will have a longer ride and will want to get a bike that works specifically for them. Each model of bicycle comes in different frame sizes. It's important to get a bicycle that is the right size for you. Also, you'll want to get a quality bicycle that will let you be fast and won't break down along the way.

For all these reasons, I -- and every single other person I've ever seen talk about this -- highly recommend that you buy your bicycle from a bicycle shop. Don't buy a bicycle from a "big box" store like Walmart or Target. They may be cheaper up front, but you'll pay for it in the long run because they won't last as long, won't fit you as well, and may even be unsafe. Bike shop staff will help you find a bike that fits you, which is important for avoiding aches and pains and even injury. They'll be able to help you find appropriate accessories for your bike, as well as repair it. Here is a helpful article on this topic, written by a bike shop.

Generally speaking, bike shops can repair bikes bought at any other bike shops. However, they can instantly recognize bikes bought at big box stores. Many will repair those too, but some refuse to work on some of those bikes on the grounds that it is impossible to bring them to the level of service they expect their mechanics to do.

Aches and Pains

With any sport, when you start it, you can expect a little bit of aches and pains at first, as you start using muscles that you may not have really used at first. Bicycling is no exception, but it's easy to deal with.

Your first stop if you have aches and pains might be the where does it hurt page. It provides detailed, helpful advice. There are also some common things that go wrong for people.

First on the list is wrong size of bike or improper adjustment of your bike. You want a bike frame that is the right size for you, and you want the seat and handlebars adjusted properly for you. A bike shop can help you get this done easily. If your feet can reach the ground while you're on the seat, you almost certainly have the seat too low, which is a common mistake.

Sometimes the way you position yourself on the bike, or your technique, could be to blame.

Also, clothing can be a problem. A good place to start here is with some cycling shorts. Another common complaint from new cyclists appears to be blisters on the feet. This can be caused by improper positioning on the pedals, or by using the wrong type of sock. Typical socks absorb moisture and trap it next to the skin; bicycling socks will wick it away and let it evaporate. In fact, cycling clothes: socks, shorts, and jerseys (shirts) are all designed to wick moisture away from you and let it evaporate, which keeps you cooler and more comfortable. Bicycling gloves are cheap and can help your hands stay comfortable.

Expense

You can easily save thousands of dollars by riding a bicycle instead of driving a car. Bicycles do need periodic maintenance, just like a car. Usually you can do a lot of that yourself. It probably will pay off to take your bike in to the shop for an annual tuneup. If you have no bicycling equipment at all, and buy your equipment at a bike shop new, you can probably get started for around $500. Even that will probably pay for itself in less than a year if you average riding your bike at least a few times a week.

Safety

Safety on a bicycle can usually be summed up with three rules: be visible, be predictable, and ride with traffic.

Unless there are dedicated bicycle-only lanes or paths, the safest way (in the United States) to ride your bike is on the road, riding with traffic (acting like a car). Don't ride on a sidewalk, and never ride against traffic. This may sound counter-intuitive, but it is backed up by solid research. It all has to do with being predictable. Nobody is looking for something the speed of a bicycle to emerge from a sidewalk to cross a road or driveway. Sidewalks often aren't that visible and frequently don't provide enough room to pass. Sidewalk-riding cyclists get into accidents all the time with cars backing pulling out of driveways, making turns, or even just driving down a road where the cyclist cuts in front of them to cross a street.

A great book for learning how to ride in traffic can be viewed free online: the Bicycling Street Smarts book. There are also some safety videos online that are helpful.

Staying visible is certainly important. In some places, like cities where cyclists are common, drivers are going to be on the lookout for you already. In my case, I'm riding on rural roads that have some hills, where cyclists are rare, so I'm putting extra effort into this.

Staying visible in the day or at night starts with high-visibility clothing. A "screaming yellow" jersey or an ANSI safety reflective vest (less than $10) are good ways to do that. Several people recommend a Cateye TL-LD1100 flashing tail light for use at night, or even for daytime use when visibility is critical (such as my situation). If you will ever ride at night, laws require you to have the proper reflectors on your bike. And, you must also have a white headlight that does not cover up your front reflector (in some locations, you may also be required to have a red tail light that doesn't cover up your reflector). Companies like Cateye carry those products as well.

Other tips: avoid drainage covers; they sometimes have slats that a bicycle tire could fall into.

Accessories

Here are some suggestions you might consider as a commuter.

Start with pannier bags. They mount over your rear tire and are cooler for you than a backpack because your back can still breathe. They're more aerodynamic than a front basket. You can get bags suitable for carrying papers, laptops, a change of clothes, etc.

Next on your list might be a bicycle lock, to help keep it from being stolen. Your local bike shop can make suggestions here.

You might want to consider a spare inner tube (about $5) and tire-changing tools (also about $5) to carry with you in your bag. You wouldn't want to have to walk 5 miles if you get a flat.

Along with that goes an air pump. I suggest a frame pump -- it's a small pump that can clip on to your bicycle's frame, so you always have it handy. Obviously you will need this if you have to change a tube, but it could be handy even if you don't.

You can find some more suggestions from bicycling.about.com and from Mike or your local bike shop.

Where to buy

Besides your local bike shop, you can buy a lot of accessories online. I wouldn't suggest buying a bicycle online, because you really want to get a good fit at a bike shop.

When I asked at bikeforums.net, readers suggested three online stores:

www.pricepoint.com
www.bikenashbar.com
www.performancebike.com

You can also find some bicycling accessories at general-purpose stores like Amazon or sporting goods stores like REI. I personally wouldn't recommend local "big box" sporting goods stores any more than I would Walmart or Target for this stuff, though.

More info

For more information, check out my bicycling links at del.icio.us.

Russell Coker: IPSEC is Pain

I’ve been trying to get ipsec to work correctly as a basic VPN between two CentOS 5 systems. I set up the ipsec devices according to the IPSEC section of the RHEL4 security guide [1] (which is the latest documentation available and it seems that nothing has changed since). The documentation is quite good, but getting IPSEC working is really difficult. One thing I really don’t like about IPSEC is the way that it doesn’t have a device, I prefer to have my VPN have it’s own device so that I can easily run tcpdump on the encrypted or the unencrypted stream (or two separate tcpdump sessions) if that’s necessary to discover the cause of the problem). I’ve got IPSEC basically working, and I probably could get it working fully, but it doesn’t seem worth the effort. While fighting with IPSEC at the more complex site (multiple offices which each have multiple networks, and switching paths to route around unreliable networks) I set up an IPSEC installation at a very simple site (two offices within 200 meters both with static public IP addresses, no dynamic routing or anything else complex). The simple site STILL doesn’t work as well as desired, one issue that still concerns me is the arbitrary MTU sizes in some routing gear which (for some reason I haven’t diagnosed yet) lose packets if I have an MTU over 1470 bytes. So today I set up a test network with OpenVPN [2]. It was remarkably simple, the server config file (/etc/openvpn/server.conf) is as follows:
dev tun
ifconfig 10.8.0.1 10.8.0.2
secret static.key
comp-lzo This means that the IP address 10.8.0.1 will be used for the “server” end of the tunnel, and 10.8.0.2 is the “client” end. The secret is stored in /etc/openvpn/static.key (which is the same on both machines and is generated by “openvpn --genkey --secret static.key“). The client config file (/etc/openvpn/client.conf) is as follows:
remote 10.5.0.2
dev tun
ifconfig 10.8.0.2 10.8.0.1
secret static.key
comp-lzo Then I enable IP forwarding on both VPN machines, open UDP port 1194 (the command “lokkit -q -p 1194:udp” does this) and start the daemon on each end. The script /etc/init.d/openvpn (in Dag Wieers package for CentOS 5 - which I believe is the standard script) will just take every file matching /etc/openvpn/*.conf as a service to start. The end result is a point to point link that I can easily route other packets to, I can easily get dynamic routing daemons to add routes pointing to it. Nothing like the IPSEC configuration where the config file needs to have the IP address range hard-coded, I can just add routes whenever I want. This isn’t necessarily going to be the way I deploy it. The documentation notes that a disadvantage is “lack of perfect forward secrecy — key compromise results in total disclosure of previous sessions“. But what gives me confidence is the fact that it was so easy to get it going, if I have problems in adding further features to the configuration it should be easy to debug. As opposed to IPSEC where it’s all complex and if it doesn’t work then it’s all pain. Also I tested this out with four Xen DomU’s, two running as VPN routers and two as clients on separate segments of the VPN. They were connected with three bridge devices. I’ll blog about how to set this up if there is interest.

23 May 2008

John Goerzen: Bicycling to Work

We hear a lot these days about the price of gas, energy efficiency, and the like. But, in the United States, outside of a few progressive cities, there aren't a lot of people that are using the ultimate zero-emissions transportation technology: bicycles.

That's really too bad, because bicycles are a lot cheaper to operate than cars even before you consider gas prices. They also are great exercise and are probably faster, safer, and more convenient than you think.

I live about 10 miles (16 km) from work, which includes several miles on sand roads. I haven't bicycled in about 6 years. Last week, I got my bicycle out, touched it up a bit, and started riding. Sunday I rode in to work and back as a test. As soon as I get a bit of gear (hopefully by the middle of next week), I plan to start riding bike to work at least 3 days a week.

I've picked up some tips along the way. Let's talk about a few of them.

Safety

Many people think bicycling is dangerous. In fact, bicycling is about as safe as driving an SUV. Not only that, but only 10% of bicycling accidents occur when you are hit from behind (and 90% of those produce only minor injuries). It turns out that the vast majority of bicycling accidents occur because people are not riding on the road with traffic, or are acting unpredictably. Following some basic safety advice can make you safer in a bicycle than an SUV. Oh, and don't drink and ride; 24% of fatal bicycle accidents involve an intoxicated rider.

Distance

Think it's too far? Think again. It's fairly easy for an untrained, unfit person to ride a bicycle up to 10 miles without working hard at it. That can probably be done in about an hour. As you get more fit and used to the bike, you may be able to go that distance in half that time. Also, get pannier bags for your bicycle. They attach in back and let you carry work clothes, laptops, etc. without having to use a backpack.

Smell

Many people with office jobs are concerned about this. Not everywhere has a convenient shower. Check out these tips from the Tips and Tricks for Biking to Work manual.

I'm excited about it, and will be sure to post more here on how it goes.

Russell Coker: School Bag Weight

Matt Bottrell has written about some issues related to the acceptable weight of laptops for school use [1]. Matt cites a reference from the Victorian government stating that a school bag should not be heavier than 10% of the body weight of the child who carries it [2]. So the next thing we need to do is to calculate what a student can carry without being at risk of spinal injuries. Firstly we need to determine what children weigh, if we restrict this to the 14+ age range (the older children have more need of computers) then children are almost as heavy as they will be when they are 18 and can carry significantly heavier bags than those in the 10+ age range. Also it seems reasonable to consider the 25th percentile weight (the weight which is exceeded by 75% of children). Of course this means that 25% would be carrying overly heavy bags but it does give us a bit more weight allowance. The 25th percentile weight for white girls in the US is 48Kg [3]. The 25th percentile weight for white boys in the US is also 48Kg [4]. When considering the Australian situation it seems that white children in the US will be most similar (in terms of genetics and diet). The 25th percentile weights at age 18 are 53Kg for girls and 64Kg for boys. So the acceptable bag weights would be 4.8Kg for 14yos, 5.3Kg for 18yo girls, and 6.4Kg for 18yo boys. The next step is to determine the weight carried to school. The weight of one of my laptop bags is almost 1Kg, I think that a school-bag would have a similar weight. When I was at school I recall that the worst days for carrying baggage were when I had PE (Physical Education - sports), the weight of PE gear was a significant portion of the overall weight I carried. I tried to estimate this by weighing a track-suit top, a t-shirt, and a pair of board-shorts (the only shorts I could find at short notice), and it was almost 1Kg. While the board-shorts might weigh more than PE uniform shorts I didn’t include the weight of track-suit pants. Assuming that a female PE uniform has the same weight as a male uniform is the least of my assumptions. The weight of a good pair of sneakers (suitable for playing basketball and other school sports) that is in my size is just over 1Kg. To get a rough estimate of the weight of lunch I put six slices of bread and a small apple in a lunch box and found that it weighed 500g. A real lunch would probably include four slices of bread but the other things would weigh at least as much as the extra two slices. If a drink was included then it could be more than 500g. So the total is 3.5Kg for bare essentials (including PE gear) without including any books! It seems that it would be impossible to stick to the government recommendations for school bag weight if a full set of PE gear is included. Probably the best thing that could be done would be to make a school uniform allow wearing sneakers which removes 1Kg from the overall bag weight. So a bag with lunch and PE gear (minus sneakers) is about 2.5Kg, leaving 2.3Kg for books etc at age 14. As text books for 14yo children are considerably thinner than those for 18yo children, it seems that this might be achievable. Fitting a couple of text books and an EeePC into the 2.3Kg weight budget should be achievable. But fitting a full size laptop (which seems to start at about 1.8Kg) and some text books into a 2.3Kg budget will be a challenge - it might be possible to do that but wouldn’t leave any budget for the random junk that children tend to carry around. For an 18yo girl, the weight budget (after the basics have been deducted) is 2.8Kg, it seems likely that on occasion the weight of year-12 text books will exceed that. Therefore it seems that the only way of avoiding spinal injuries in year-12 girls would be to have text books stored in digital form on a light laptop such as an EeePC. Rather than avoiding the use of laptops because of weight (as some people suggest), laptops with electronic text books should be used to replace traditional text books! An EeePC weighing less than 1Kg will give a significant amount of extra capacity for any other things that need to be carried. If there is little other stuff to be carried then 75% of 18yo girls should be able to carry a full size laptop plus PE gear without risk of back injuries. If digital text books are used then if in any journey two text books (which according to my previous measurements can be as much as 1.6Kg [5]) can be replaced with an EeePC then overall something like 600g is saved (depending on the configuration of the EeePC, if one battery was stored at home and another at school then it could save more than that). It seems that a year 12 girl who has PE and three science subjects scheduled on the same day would be most likely to exceed the recommended weight in the current situation (even without having to carry a spare pair of shoes), and that carrying a laptop with digital text books would be the only way of avoiding back injury. For an 18yo boy the weight budget is 3.9Kg after the basics have been deducted. So if they don’t carry other random stuff in their bag (I probably had 1Kg of random junk in my bag on occasion) then they could carry PE gear, a full sized laptop, AND a full set of text books. It seems to me that there is no situation where children would be unable to have a laptop within the reasonable weight allowance if digital text books were used. The only way that the weight of a laptop could be a problem would be if it was carried in addition to all the text books. One final point, it would be good if books from the Gutenberg project were used for studying English literature, that’s one easy way of reducing weight (and cost). Also it would be good if there was an option for a non-literature based English subject. Knowledge of English literature is of no value to most students. It would be better to teach students how to write while using topics that interest them. Maybe have blogging as an English project. ;)

Axel Beckert: Favourite Linux Desktop Applications

foosel tagged me, whatever that means. Perhaps it’s the English word for “Stöckchen” (German for “small stick”) of which I always wondered how the English blogging part of the blogosphere is calling that kind of coercing blog posts… ;-) So these are the rules:
  1. blog a list with your favorite desktop Linux software (as many or few you want)
  2. add links to the software project’s websites
  3. post these rules
  4. tag three other Linux using bloggers
Interestingly splitbrain, who started the thing just calls it “Meme”, but to me memes are the same thing just without duress. ;-) So you want to know about what Linux desktop software I like and use, hmm? Desktop means GUI, doesn’t it? There are only a few GUI application I really use often since, as you probably know, X is primarily a terminal multiplexer and screen resolutions are compared by how many 80×25 xterms with fixed font you can get on one screen without overlapping. ;-) But to be honest: Although I’m more the command line guy hacking cryptic lines into windows with small fonts, there are a few thing where I don’t want to miss X and the GUI applications: For all things web – that means web browser, feed reader, etc. But then there is also a bunch of GUI software I use occasionally or as alternative tool to some text mode or command line software. WebX / Desktop Environment
  • xtrlock – the simplest tool to lock you desktop: The mouse turns into a lock and it only goes away if you enter the right password. No screen saver included though and everyone can see what’s on your desk. I like it though. Use it on low-end machines.
  • XScreenSaver and Really Slick Screensavers (GLX Port) – Configurable and command controllable screen saver daemon. Favourite modes: GLMatrix and Substrate from XScreenSaver and Lattice Sky Rocket and Hufo’s Smoke from RSS GLX.
  • xosview – my favourite system monitor since more than a decade.
  • TerminalsAudio and VideoEditing and DevelopingGraphicsChatOther ToolsGamesNon-Desktop Applications In case someone wonders about my mail client, Jabber client, IRC client, ICQ client, file manager, notes taking application, shell and versioning system – they’re all command line or text-mode applications: Who’s next? That’s difficult: Hmmm, I think I have to look in a different corner of my circle of friends. Hmm. Ah, now I know: And no, I don’t expect posts as comprehensive as mine. :-)

    Jan Wagner: Kabel Deutschland breaks DNS System for it s customers

    Last week I noticed, that Kabel Deutschland, a cable provider in germany, returns for any non existing hosts “204.9.89.60″. It seems, thats it is rolled out since last fall. Even for DNSSEC enabled infrastructure it breaks it totally:

    ; <<>> DiG 9.3.4 <<>> +dnssec web.pixaco.se @83.169.184.161
    ;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1
    ;; ANSWER SECTION:
    web.pixaco.se. 0 IN A 204.9.89.60 Beside that, this behavour breaks the whole DNS, since many mechanism rely on a negative answer. The most visible effect for the users is, that when having a typo on surfing, he will forwarded to http://suche.kabeldeutschland.de/de.kde.assist/?domain=<domainyoutypedinyourprompt>. Since 204.9.88.0/21 is located at our transatlantic friends from US, there might be some problem with leaking privacy informations. I don’t feel happy, if I had a typo in my URL and getting listed for it on any terror list or providing the newest porno links to my american friends inside the organisations with the tree capitals. All that for getting some extra money, but racing pricedumping for connectivity, this sucks a lot.
    If you are a customer and feel pissed, you can send a friendly note to them:

    Kabel Deutschland Vertrieb und Service GmbH & Co. KG
    Beschwerdestelle
    99116 Erfurt
    kundenservice@kabeldeutschland.de
    Fax: 01805299925
    A quick and dirty workaround for dnsmasq maybe to add “bogus-nxdomain=204.9.89.60″ to your config file. This doesn’t fix the DNSSEC problem.
    The problem also pops up at dns-operations and there are traces at google too.

    Enrico Zini: Conditional partitioning in debian installer

    Conditional partitioning in debian installer I needed to create an automatic, unattended installer that would repartition the whole disk, but keep an existing home partition if it is already existing. The idea is to replace the operating system, but keep the user's home files. If the home partition does not exist, however, we need to create it. The starting point for this is in Holger's website, which does everything except create the partition if it's missing. The technique I used is to create a udeb that would scan the partitions using /usr/lib/partconf/find-partitions and then load the right preseeding for partman-auto, the automatic partitioner. Here you find the udeb source. I'll comment the most important bits: First, the two partman-auto recipes that we are going to preseed. The format is documented in the debian-installer documentation. This will create /home if missing:
            d-i partman-auto/expert_recipe string                           \
                    condpart ::                                             \
                    2048 2048 2048 ext3                                     \
                            $primary    $bootable                           \
                            method  format   format                         \
                            use_filesystem    filesystem  ext3              \
                            mountpoint  /                                   \
                    .                                                       \
                    1024 1024 1024 linux-swap                               \
                            method  swap   format                           \
                    .                                                       \
                    1024 4096 10000000 ext3                                 \
                            method  format   format                         \
                            use_filesystem    filesystem  ext3              \
                            mountpoint  /home                               \
                    .
    
    And this will keep /home if it exists:
            d-i partman-auto/expert_recipe string                           \
                    condpart ::                                             \
                    2048 2048 2048 ext3                                     \
                            $primary    $bootable                           \
                            method  format   format                         \
                            use_filesystem    filesystem  ext3              \
                            mountpoint  /                                   \
                    .                                                       \
                    1024 1024 1024 linux-swap                               \
                            method  swap   format                           \
                    .                                                       \
                    1024 4096 10000000 ext3                                 \
                            method  keep                                    \
                            use_filesystem    filesystem  ext3              \
                            mountpoint  /home                               \
                    .
    
    Then the postinst file of the package, where the logic is. Otavio and Daniel on #debian-boot have taught me that udebs are, simply put, just big postinsts (installer wise, apart from shipping binaries). Postinst is where the logic is done, or applications are started.
    #!/bin/sh
    # Copyright 2008 Enrico Zini <enrico@truelite.it>
    # Licensed under the terms of the GNU General Public License,
    # version 3 or any later version.
    set -e
    FINDPARTS="/usr/lib/partconf/find-partitions"
    notice ()  
        logger -t condpart "$@"
     
    error ()  
        logger -t condpart "error: $@"
     
    # load debconf
    . /usr/share/debconf/confmodule
    notice "Checking if we need to recreate /home"
    if [ ! -x $FINDPARTS ]
    then
        error "$FINDPARTS not found"
        exit 1
    fi
    if $FINDPARTS   grep -q part6
    then
        # Keep
        notice "/home exists: we keep it"
        debconf-set-selections /usr/lib/condpart/part-keep.preseed
    else
        # Format
        notice "/home does not exist: we create it"
        debconf-set-selections /usr/lib/condpart/part-create.preseed
    fi
    notice "Finished special handling of /home"
    #DEBHELPER#
    exit 0
    
    Finally, debian/control. The basic bits about creating a d-i udeb are to put it in Section: debian-installer and to use XC-Package-Type: udeb. Then there is XB-Installer-Menu-Item, that defines the order of execution of postinsts. The d-i documentation lists the numbers that are currently assigned.
    Source: condpart
    Section: debian-installer
    Priority: optional
    Maintainer: Enrico Zini <enrico@debian.org>
    Build-Depends: debhelper (>= 4.0.0), cdbs
    Standards-Version: 3.7.2.1
    Package: condpart
    Architecture: any
    XC-Package-Type: udeb
    XB-Installer-Menu-Item: 38
    Description: Conditional partitioning
     Tells partman-auto to create /home if it's missing, or if it exists, to keep
     it.
    
    I am using 38 rather than 3800 because I'm targeting etch d-i. After etch, "numbers have been multiplied by 100 from what they were before to give us more space". This is it. debian/rules is just boilerplate, except installing the preseed files in the right place. CDBS is useful to make this self-evident:
    #!/usr/bin/make -f
    include /usr/share/cdbs/1/rules/debhelper.mk
    install/condpart::
      install -o root -g root -m 0644 *.preseed debian/$(cdbs_curpkg)/usr/lib/condpart/
    
    To build the installer CD with this d-i, I'm using simple-cdd; here are the profile files I'm using at the moment, with the main preseeding for fully unattended install (it is designed to trash your hard disk if you boot it, so only test it in an emulated environment) and the inclusion of the custom udeb.

    Robert Collins: 23 May 2008

    This week I've been at UDS in Prague, and looking at some possible ways to deploy bzr for packaging (which is a hot topic: developers don't want to change workflows without a concrete benefit, and definitely don't want to pay a cost for doing so - e.g. having to have all of history locally just to make a trivial change). One of the discussions inspired a scalability test for bzr - not how we think we'd deploy bzr for Ubuntu developers, just a test to understand how it would scale *if* we did it this way. Lars Wirzenius has a habit of testing VCS systems capabilities in various ways, including importing the Debian/Ubuntu source archive into them. He kindly ran a test using bzr, creating a single shared repository, with one branch in it per source packages. This took a few hours to generate (I'm not sure of the exact figure, we forgot to time it, but it was started in the afternoon and finished in the morning). The resulting repository has 21GB in its .bzr/repository/packs directory, and 500MB in its .bzr/repository/indices directory. There are 30 pack files, the largest of which is 16GB, and the smallest a few hundred kB. In general VCS terms this repository has 16000 heads, 16000 commits (because we didn't import deep archive history). But what about performance? Its currently copying to a machine where I can do some serious benchmarks using this repository. I do have some quick and dirty figures though. To branch a single package (libyanfs-java) from its branch within the repository to a new standalone branch with cold cache took ~5 seconds. Branching again from the repository now the needed data is in page cache took 0.6 seconds. Branching from the newly created branch to another new standalone branch took 0.3 seconds. There is a clear slowdown occuring here. Including startup costs the time to make a new branch is doubled by adding the branch to the repository. However as the repository is 16000 times the size, the scaling factor (2/16000) is pretty darn good. I'm stoked at this result, as I think it demonstrates just what the underlying pack store is capable of. We are working on streamlining the upper layers of bzr to make better and better use of the underlying store. For instance, John Meinel has just done this for 'bzr missing' and 'bzr uncommit'. Now I must go, time for breakfast! Woo!

    22 May 2008

    Dirk Eddelbuettel: JPM Chase Corporate Challenge 2008

    Just got back a little earlier from running the 2008 edition of the JP Morgan Chase Corporate Challenge. And again a record crowd of now just over 23000 in Chicago -- announced to be bigger than those at the JP Morgan Chase races in Boston, San Francisco or New York! This year the weather wasn't quite as stunning as it has often been in the past. But at least, temparatures in the high 40s and an overcast sky make for good running conditions. This time, two colleagues and I tried to make it close enough to the starting line to not waste too much time 'surfing' around slower runners who for whatever reason think they have to be up at the front. And that seems to have worked: despite a still crowded start, I ran even, steady and fast enough to beat the PR from 2005 by a decent margin with a (hand-stopped) time of 20 minutes and 46.65 seconds. That yields 5:5619 min/mile (or for Christian, 3:4132 min/km) which seems too fast given the splits I saw at miles two and three. Oh well -- same cours as as the other five times that I've run this, so I trust the course is USATF certified. And as always, good to hang with folks from work for a cold one or two afterwards. Given the temperatures, I didn't last very long though.

    Jacobo Tarr&#237;o Barreiro: Debconf template translations

    I caught Swedish, so now I’m in 9th position. Only 269 strings left for overtaking Spanish. Yes, I’m taking this as a competition :)

    David Welton: Minor annoyance: spell checking in Firefox + multiple languages

    I write most of my email (in gmail) and submit most web site content in English, however, a significant portion is also done in Italian. I leave the spell checker in English, because Italian is, in general, quite easy to spell, so that even as a native speaker, a helping hand is occasionally welcome. However, it isn't as if I write Italian perfectly either, so the help there would be nice as well. I find it quite annoying to go change the language in the spell checker option each time, especially when, as an example, I'm responding to email and do 2 in English, one in Italian, another in English, and so on. Ideally, some sort of adaptive technology would be possible, where it figures out what language I'm using, out of a preselected list, after a few words, and starts behaving accordingly. It seems as if there is some discussion, so hopefully a solution won't be too far in the future.

    Lior Kaplan: What can Debian learn from Fedora about recruiting new people?


    I’ve been visiting the fedora website in the last couple of days. One thing caught my interest, and that’s the “join Fedora” link just bellow the “get Fedora” one. I clicked on it and got to this very simple “Join Fedora” page. The appealing part is the large icons which roughly lists the main ways to contribute to Fedora:
    • Content Writer
    • Designer
    • People Person
    • OS Developer
    • Translator
    • Web Developer or Administrator
    Clicking etch icon gives you a description of relevant skills, related teams and typical tasks of this role. This is very useful for people not sure about what can they do or where exactly their skills are needed. On the Debian’s website we have a “help debian” page which lists very similar functions the user can help with. The difference is that we list them at text which is less appealing than the Fedora’s icons. Fedora does have similar text to Debian, but it is organized into roles instead of suggesting everything to everyone. I also think there’s a semantic difference with the term help and join. To me joining a project sounds more strong than helping it. Probably because joining something makes you a part of it, while helping does not. Although in the end both term have the exact same meaning in for the project themselves - users getting involved. Openoffice.org has a big “I want to participate in openoffice.org” text in their font page, which like Fedora leads to a set of defined roles. Same thing in Ubuntu with their “Get Involved” page. It is important that each role page will have links the to tools people need in order to start contribute. I don’t have the required graphical skills to do such icons, but I’m willing to create/edit the pages on the Debian website. I’ll be happy to hear comments before I approach the debian-www people.

    Gerfried Fuchs: pgadmin3 for experimental

    One of the things why I was on the tracks for getting src:wxwidgets2.8 into the pool was to be able to get a recent pgadmin3, too. The one we currently have in testing/unstable isn't even anymore able to cope with our default postgresql-8.3 version. Now that wxwidgets2.8 is in experimental for a while I tried to suggest a pgadmin3 upload to experimental. Unfortunately the package maintainer seems to be quite busy these days, thus I prepared an NMU for it, planing to upload it into the pool at the start of next week. All involved parties received mails about it—that also includes the bug reporters of the bugs it would fix. For your convenience, if you are interested, you can find the package in the meantime on my private server: http://rhonda.deb.at/debian/pgadmin3/—feel free to give it a test and send feedback along.

    Biella Coleman: Comics: some help

    So, the last day of my class on hacking, we are going to spend some time on geeky comics and talking about this pictorial genre. I have started collecting a set of examples that I think are particularly strong and funny reflections of geek/hacker life but I am looking for more. So what are some of your all-time favorite episodes/examples from a comic strip? I am looking for stuff that someone who is not necessarily technically oriented will understand but who will be armed with a fairly broad sense of this world too. Any suggestions would be really appreciated.

    Next.

    Previous.