Search Results: "tar"

24 March 2009

John Goerzen: Review: David Copperfield

I finished reading David Copperfield on the Kindle a few days ago. This is a review of the novel, not the Kindle. I m not an English major, and so I m not going to pretend to be one. I m not going to discuss what themes the book touches on, what category it fits in, or generally dissect it to the point where it s more monotonous than fun. I read the book because I wanted to, not because I had to write a paper about it. I must say, first of all, that this has got to be one of the best books I ve ever read. The vivid descriptions of the characters were just fun to read. One particularly meek man was described like this: He was so extremely conciliatory in his manner that he seemed to apologize to the very newspaper for taking the liberty of reading it. Some of the scenes in the novel are amazingly vivid and memorable. The hilarious and tense scene towards the end where one of the main villains is taken down was one, and of course just about every scene involving David s aunt is too. Dickens is a master of suspense. He does it through subtle premonitions in the book. You might not even really notice them as you re reading. But it sure had an effect on me: I had trouble putting the book down, and stayed up later than I should have on more than one night to keep reading another chapter or three. Like any good book, this one left me to think even after I was done reading it, and left me wanting to read it again. Right now. There are some practical downsides to it, though. It was written in the 1850s, and some of the vocabulary and British legal, business, and monetary discussions are strange to a modern American audience. Nevertheless, with the exception of the particularly verbose Mr. Micawber, you can probably make it through without a dictionary, though one will be handy. I read it on the Kindle, which integrates a dictionary and makes it very easy to look up words. I learned that a nosegay is a bouquet of showy flowers. And that Mr. Micawber was fond of using words obsolete since the 17th century, according to the Kindle. If you remember that pecuniary emoluments refers to a salary, you ll be doing OK. The other thing that occasionally bugged me was that the narrator (David) would comment on some sort of gesture, or comment that wasn t very direct, and then say something like, But she didn t need to be more explicit, because I understood the meaning perfectly. Well, sometimes I didn t. Though I usually figured it out after a bit. I was never quite sure if Dickens was being intentionally needling to the reader, or if an 1850s British reader would have figured out the meaning perfectly well. But that was part of the fun of it, I think.

Jordi Mallach: Stepping down as the GNOME Catalan translations coordinator

As of this morning, Damned Lies finally reflects what has been the de-facto reality for at least four major GNOME releases. I started to invest a lot of time on translating GNOME to Catalan in the middle of the long 1.5 journey towards GNOME 2.0. That was a long time ago, and somehow was the way I ended being abduced by Softcatal to eventually work with them on the localisation of some other projects. However, I've been watching how my free time and motivation has been slowly shrinking, until the point I was no longer doing some of the stuff I was expected to do, or was doing it badly and late. Luckily, Softcatal 's GNOME team, a model for our organisation, has been able to smoothly replace heavily contributing members with a constant stream of new blood. In my case, I first stopped having that many modules assigned, then focused on coordination and finally stopped doing even that. Gil Forcada has filled the gap perfectly and has been the main lead of effort for a pair of years. Passing the baton was long overdue; I think GNOME is lucky to count on Gil's amazing drive and motivation. Gil, congrats on earning yet another marronet! ;)

Jeff Bailey: A set of thoughts

Showtime, synergy!



Adeodato Sim : Multa por dar de comer a las palomas

Marga escribe una entrada sobre las palomas de ciudad. Cuenta la historia de c mo erradicaron las palomas de Trafalgar Square en Londres una vez prohibieron dar de comer a estos animales. En Alicante tambi n est prohibido alimentar a las palomas. Hay unos signos en grande que as lo anuncian, so pena de multa de 601,01 euros. Este curioso n mero da cuenta de que la prohibici n ya lleva algunos a os con nosotros: la multa ya exist a cuando a n us bamos pesetas, y era por entonces de 100.000 pesetas. Que, escrupulosamente traducidas a euros, son 601,01.

MJ Ray: Making infrastructure organisations more resilient Taunton 20 March 2009

Last Friday, I spent most of the day at this NAVCA ICT event in Taunton. (There s another similar one in York this Friday if you re interested.) The event was a sandwich, with a Steve Bridger social media session as the filling between workshop halves.

platform
Conference I went to the workshop for support workers. I m not sure whether it was quite the right label, but the others were for managers/trustees and for accidental technical supporters, which definitely weren t. There seemed to be at least three other ICT specialists there, so I wasn t the only one. The best thing about the workshop was the mix of specialists and generalists. I was really interested in what the generalists had to say, but sadly the workshop was more of a lecture and I don t feel I got as much out as I could. I d be interested to know if that was the same for other participants. I m not sure what I thought of Steve Bridger s session. It was a difficult one: the strange mix of an audience was all together, the room felt pretty warm and it stood between us and lunch. I had trouble concentrating but posted a few updates to identi.ca about it. The worst thing was all the needless promotion of certain companies products. They didn t talk about blogging and syndication, they talked about Blogger and Google Reader; they didn t talk about photo-sharing, they talked about Flickr; they didn t talk about spreadsheets, they talked about Excel. Nevertheless, I left the event feeling really positive about other ICT specialists, with some hope that the generalists were getting it and quite impressed by the people I met from the other tracks. It was pretty good to help someone towards the autosuspend setting on their GNOME-based netbook within ten minutes of arriving, too. I ve just updated software.coop with Richard Stallman s explanation of why proprietary software is a social problem, to see if that helps put the community-based view across. I ll look again at some of the grant-funded resources mentioned and see if we can improve them, but I d welcome any comments from the voluntary and community sector about how best to do that.

23 March 2009

Sami Haahtinen: Configuring split DNS

Since I enabled comments in this blog, I finally needed to configure a split DNS for my network. There are various reasons why one needs a split DNS and as it's usually pointed out, the reasons are usually non-technical. In my case the reasons are technical: I have a NAT in my local network that allows me to host this website locally. What causes problems is that the domain name ressukka.net points to the external IP address and that doesn't work from the inside. So split DNS it is. There are various ways of building a split DNS, one can use the views feature in bind9 or you can set up 2 separate DNS servers that provide different information (and redirect your local resolver to use the internal server). The latter is more secure if the internal zone is sensitive. I decided to use a hybrid solution. I already knew that PowerDNS Recursor was capable of serving authoritative zones (think pre-cached) so I decided to leverage on that. Setting this up turned out to be simpler than I expected. First I made a copy of the existing zone and edited it to fit my needs. I changed the IP address of ressukka.net to point to the IP address on the local network. I also adjusted some other entries that pointed to the local network. Next I modified bind to listen on the external IP address. This can be accomplished by adding a listen-on 1.2.3.4; ; to the options in the configuration. I also disabled the resolver by adding recursion no;, this forces the bind to work as authoritative only. Then I installed the PowerDNS Recursor (pdns-recursor package in debian) and configured it to listen on the internal address only (local-address=10.0.0.1) and added the pre-cached zone to the configuration with auth-zones=ressukka.net=/path/to/internal-zone Now, after restarting both daemons, I had a working split DNS with minimal configuration. I was also able to change the external DNS to authoritative only mode, which is a good idea in any case.

Joey Hess: personal wishlist #304211

I wish that gnome-terminal was able to support multi-line URLs, or that mutt was able to render long urls on a single logical line. If you use mutt in gnome-terminal, you may have noticed that urls that wrap to another line cannot be opened using gnome-terminal's context menu. Of course, resizing the terminal to be wide enough works around the problem, but is not always practical. Another workaround is to pipe the message to less. While the url will still be displayed split across multiple lines, gnome-terminal will then recognize the whole url as one thing. Why does less work where mutt fails? Well, it seems that mutt and less print the url differently. less simply prints the whole url, and lets gnome-terminal wrap it to the next line. mutt prints the first line of the url, then moves the cursor to the start of the next line, and prints the remainder. This could be fixed either by making gnome-terminal smarter about finding the end of urls that are sent to it in multiple pieces, or by making mutt (or likely really ncurses) change how it outputs long lines.

David Welton: Easygoing Clients

I've been doing consulting for a while now, and while I'd like to branch out and do some kind of product that provides a bit more stability, it's not a bad life. I have enough going that I can turn down the odd request or two if I don't feel they're a good fit, so almost all my clients are enjoyable to work with and good experiences in their own ways. However, I wanted to write a bit about one kind of client that's great to find, the "easygoing client", for lack of a better term. These are the people who may not pay the most, or provide the most interesting technical challenges, but who are simply easy to work with, and happy with what you do, and satisfied with letting you guide them in terms of technology. It's easy to develop long term relationships with these clients, because they're generally happy with what you do, and you get to know what they need, and can therefore provide them with good service at a reasonable price. Depending on the situation, you can also work together to try out new technologies, perhaps with the client receiving a discount for being something of a guinea pig. For instance, for several years, my friend Cristiano's book shop ran on a combination of Rivet and a Tcl/Tk application installed locally. When it came time to redo the site several years ago, we agreed to experiment with doing the whole thing via the web, utilizing Ruby on Rails, which I was fairly new to at the time. It worked out well for him because he got an improved system at a good price, and I got to test out something new, which has gone on to become part of my repertoire. (BTW, we just redid the site again - if you're looking for antique Italian books, it's worth a look: http://www.libreriaminerva.it/ ). It's good to have a variety of clients, and having a few 'easygoing' ones makes a nice counterpart to others where there is more money on the line, and more pressure (which is justified if they're paying well, of course) to charge in and start making a difference right away.

22 March 2009

Neil Williams: multistrap - debootstrap for multiple repositories

debootstrap has only ever been designed to work with a single repository and the current code includes a comment:

# XXX: I can't think how to deal well with dependency resolution and
# lots of Packages files. -- aj 2005/06/12

The main reason for that, AFAICT, is that debootstrap has a perfectly valid goal of trying to work without needing dpkg or apt themselves, doing everything in the chroot. Theoretically, anything that can run POSIX shell should be able to run debootstrap.

Emdebian has a need for a different script that can assume that both dpkg and apt are fully functional already and behave as normal Debian packages which opens the door to supporting as many repositories as apt itself can handle and, until now, that support was --foreign only. i.e. it was explicitly for cross-debootstrap (armel, etc.) for use with Emdebian Grip and actually used debootstrap for some of the work. That code has been simplified and there is no need for debootstrap now in multistrap. (multistrap itself is written in perl.)

I recognise that native support could be useful so I've been working on a fix for the native support - partially achieved by dropping the need to use debootstrap at all and porting the existing fix for #518719 from the emdebian-rootfs package (shell) into perl.

In effect, multistrap allows you to collapse the following stages into one:

  1. $ sudo debootstrap $suite $dir $mirror

  2. $ sudo chroot $dir

  3. # nano /etc/apt/sources.list

  4. # apt-get update

  5. # apt-get install $package_list

  6. # apt-get clean

  7. $ sudo $my_config_script


That much is architecture-neutral (due to the support for working around #518719 which allows packages to be unpacked without running the configure scripts) - what I've added for native support is that sudo chroot $dir dpkg --configure -a can be automatically run before the config_script. In the typical Emdebian case, the configure stage would happen immediately after unpacking the multistrap filesystem onto the device (certainly before first boot).

That gives you a single method for creating a complete root filesystem with everything you need installed, everything configured and the config_script hook allows you to put in things like kernels and kernel modules etc. too - all ready for tar -czf and unpacking onto your device. Instead of a plain debootstrap, multistrap can give you a complete filesystem with all the packages you'd only install as soon as debootstrap had finished.

In addition, multistrap allows apt to decide which versions to install from the collection of Packages files so you can implement fallbacks and other permutations of mirrors and packages. Emdebian is using this functionality to mix private packages with official packages from Emdebian Grip 1.0 and ensure that not only are all dependencies met but that each dependency has the chance to be the latest version without needing any configuration or manual parsing. Just specify the repositories and which packages you need at the top level from each one. apt does the rest.

So, the question:

Does this deserve to be a separate source package ? For now, it's heading into Emdebian as part of the emdebian-rootfs package, version 1.6.1.

The advantages will be that multistrap itself doesn't need to be tied to the still rapidly developing emdebian-tools source package and doesn't need to carry the quite large changelog from emdebian-tools (which is just going to keep on growing).
 3014 2009-03-17 20:54 ./usr/share/doc/multistrap/README
2265 2009-02-18 18:32 ./usr/share/doc/multistrap/TODO
1536 2008-08-20 14:25 ./usr/share/doc/multistrap/copyright
21067 2009-03-17 21:58 ./usr/share/doc/multistrap/changelog.gz
1233 2008-10-28 13:13 ./usr/share/doc/multistrap/NEWS.Debian.gz


Disadvantages, it's very small (a lot of the current content is actually POD documentation) and probably doesn't warrant a source package all alone.

17774 2009-03-22 13:41 ./usr/sbin/multistrap


Details:
 Package: multistrap
Source: emdebian-tools
Version: 1.6.1
Architecture: all
Maintainer: Neil Williams
Installed-Size: 120
Depends: perl, apt, debhelper (>= 5),
libconfig-auto-perl, libparse-debian-packages-perl
Replaces: emdebian-rootfs (<= 1.6.0)
Section: admin
Priority: extra
Homepage: http://www.emdebian.org/
Description: multiple repository bootstrap based on apt
debootstrap replacement with multiple repository support
using apt to handle all dependency issues and conflicts.
.
Includes support for foreign architecture multistraps that need
only minimal configuration on the final device. Supports cleaning
up the generated bootstrap filesystem to remove downloaded packages
and hooks to modify the files in the bootstrap filesystem after
the packages have been unpacked but before being configured.


Is there a better home? devscripts? Ideas? (It would need to be a package I can join as Uploader: and I'd prefer if that package used subversion.)

David Moreno: Debian on Twitter

Or for those who care about Twitter and Debian :) We've setup a Twitter account for the project to use on Twitter. Go follow it, go now!

twitter.com/debianproject Now, the interesting part about this is that any Debian developer with a GPG key on the Debian keyring can tweet to it. You basically only have to do something like this: $ echo "Squeeze is scheduled for Winter 2014" gpg clearsign lwp-request -m POST http://twitter.debian.net/post or, what it's the same, just send a clearsigned POST data to http://twitter.debian.net/post. If the data is signed by a Debian developer, it'll go through and post it. The Debian uid is appended on the tweet, as found on Debian's LDAP DB, so if joetheplumber@d.o is the one posting, it'll be posted with "(via joetheplumber)" on it. If you are more interested about this, you can go to twitter.debian.net where you will find deeper information and details about this service. I encourage you, Debian user and advocate, to start following the @debianproject account; and I encourage you, Debian developer, to communicate with our users and advocates by using and posting to this service. More news to follow soon. UPDATE: Support for Identi.ca has been added and now both Twitter and Identi.ca accounts are updated at once and sync'ed.

Sami Haahtinen: XenServer and non citrix kernels

For some time I've suffered from the infamous clocksource problem with all Linux hosts that aren't running the Citrix provided kernels. I'm bit old fashioned and I want to run Debian provided kernels instead the Citrix ones, mostly because the Debian kernel receives security updates. During the fight with my own server last night, it finally dawned to me. The clocksource problem appears after you suspend a Linux host and the kernel in the virtual machine starts spewing this:
Mar  5 09:24:17 co kernel: [461562.007153] clocksource/0: Time went backwards: ret=f03d318c7db9 delta=-200458290723043 shadow=f03d1d566f4a offset=143675d9

I've been trying to figure out what is different with Citrix and Debian kernels, because the problem doesn't occur with the Citrix provided kernel. The final hint to solving this problem came from Debian wiki. The same issue is mentioned there, but the workaround is not something I like. I perfer making sure that the host server has the correct time and the virtual machine just follows that time. But the real clue was the clocksource line. It turns out that the Citrix kernel uses jiffies as the clocksource per default, while Debian uses the xen clocksource. It would make sense that the xen clocksource is more accurate since it's native to the hypervisor. So by just running this on the domU fixes the problem:
echo "jiffies"> /sys/devices/system/clocksource/clocksource0/current_clocksource

There is no need to decouple the clock from the host, which is exactly what I needed. To make this change permanent, you need to add clocksource=jiffies to the bootparameters of your domU kernel. You can do this by modifying grub configuration and adding clocksource=jiffies to the kopt line and running update-grub. Or you can use XenCenter and modify the virtual machine parameters and clocksource=jiffies to boot parameters. It's also worth noting that this problem does apply to plain vanilla Debian installations as well, so reading that whole wiki page is a good idea.

21 March 2009

Mike Hommey: Orphaning packages

Since I am expected to spend more than half my packaging time updating the debian/copyright file, I am hereby orphaning nspr, nss, iceape and xulrunner. I am also stopping work on webkit and iceweasel, but they don t end up in the orphan state since they are comaintained. Good luck to my fellow developpers. (And sorry, sincerely) Update: As I do realize writing while being pissed doesn t help making the motives right, and apparently, some people have seen this as an extortion, let me make things clearer: I was starting to work on xulrunner 1.9.1 when the discussion about the copyright files came up. It will require a significant amount of time, and while Noah Slater s opinion alone wouldn t really have carried me that far, despite me saying so because I got pissed by his words, 2 messages from J rg Jaspert (the only ones he posted so far in the thread, by the way) did make it clear that my work on xulrunner 1.9.1 was going to be a waste of time, which I already lack to properly handle the bugs in my maintained packages, let alone keeping the copyright file up-to-date. As I am obviously unable to handle the amount of work required to maintain big packages, as drawing new blood in the mozilla team has always failed so far, I just prefer to stop than to over-overflow. Call it extortion to get people in the mozilla team if you want, I m fine with the notion. I ve been thinking to stop working on big packages for nearly a year already, but never mentionned it but to a few people in a few occasions. I couldn t resolve myself to do it, though I did reduce the amount of time I spend on these packages (I was overflown, a year ago). I just found an excuse to actually do it. I must say I feel awkward now, and I still don t know if I will be able to keep this resolution. As for the new copyright file format, with full licensing information and copyright holders list, I *did* try, on a significantly smaller piece of software than the mozilla packages, namely on Webkit, which is not really small either but still 6 times less files than xulrunner. I must say I hate to have to list copyright holders and file names with a passion, and the amount of time it takes. It is the main reason why there wasn t more uploads of WebKit svn snapshots in the archive Last but not least, thanks for the nice comments.

Russell Coker: Feeds and Banning from Planets

Stewart Smith has written about the removal of a blog from Planet Linux Australia [1] due to publishing a list of URLs that the Australian government wants to censor. The first point I want to make is that even if you had a list with thousands of entries that are not likely to offend anyone or incur any legal liability then it s still not suitable for syndication on most Planet feeds. The correct thing to do is to have a paragraph describing the list and why people would want to read it and then use the MORE feature of your blog so that the rest isn t in the RSS feed. If you use Wordpress which seems to have the MORE function broken then that would mean hosting the list somewhere else. In regard to the specific post, in a comment on Stewart s post Matt suggests that the Planet software somehow filter out certain blog posts. I am not aware of any way of doing that apart from through code changes, Matt could submit some patches to allow that sort of thing. One thing that would be really good would be to have an exclusion tag or category in a blog feed. So you for example you could have feed URLs such as /feed/lca which would be configured to list all posts without the tag not-lca. Another way for a blogger to do this would be to use Yahoo pipes [2]. The people who run a Planet should be prepared to take any feed URL. It would not be difficult for a blogger to create a pipe that excludes all items that have NSFW in the title (or any other possible way of listing them). A final option is to have multiple blogs. I have a blog for documents that I regularly update [3]. Many of those documents had been plain HTML files edited with vi for years before I started blogging. But Wordpress is a reasonable CMS and as I use it for blogging it made sense to use it for other documents too. Wordpress has no good option for managing two types of documents, ones that are date-based (regular blog posts with the date in the URL) and non-date based (which change periodically and have different date stamps). There are Wordpress pages, but the support for having moderate numbers of pages is not great. Also on my document blog I will often have articles appear new regularly as I change the date when updating them. Anyone is welcome to subscribe to the feed for my document blog if they are interested in seeing new versions of the documents, but I expect that most people don t want to. The Debian Wordpress package (as of last time I used it) and my fork of the Debian Wordpress package have great support for multiple blogs. There is Wordpress-MU for bulk blog hosting, but that is only designed for people who want to run something like LiveJournal or Blogger. If you just want a few blogs for friends and relatives then the regular Debian Wordpress package will do the job well. Some bloggers maintain two blogs, one for public things and another for close friends and relatives (people who ARE interested in what they ate for breakfast). Having one blog for the NSFW material would be a reasonable thing to do for certain bloggers. Finally while I doubt that someone who runs a Planet installation faces any legal liability, there is also the issue of a PR liability. From a PR perspective I think it s best for the reputation of Linux users in Australia for certain things to not appear on Planet Linux Australia. That said it would be good if there was a process for removing and reinstating blogs that was publicly documented. There will obviously be many differences of opinion as to what is too risky to allow on the Planet so we should expect that from time to time feeds will be temporarily removed. When that happens what does a blogger have to do to be done to be syndicated again? Update: A comment has revealed a way of filtering out RSS feeds via the feed URLs used by wordpress. A URL such as /feed/cat=-X will give a feed of all articles that don t contain category number X. Multiple categories can be specified when separated by commas. So this allows Wordpress users to exclude their NSFW category from Planet Linux Australia.

20 March 2009

Russell Coker: Dear Magazines - Please Publish Your Adverts Online

When reading a magazine I often see an advert for a product that I want to buy (or recommend that a client buy). This is of course expected as the advertisers put a lot of effort into targeting their adverts to the people who read such magazines. However I often decide that I want to buy the product some weeks after reading the magazine. Linux Journal [1] usually has adverts for good server hardware that supports Linux. Their web site is quite nice in many ways, it allows subscribers to read articles online and has an index to all back-issues. But it has no link that I could find for reading the adverts! I would like to see an index of all advertising that has ever been published so that I can read the adverts online. The ancient adverts are good for historical reference and the new ones are good for purchasing decisions. Right now I would like to be suggesting that a client consider buying a number of servers from a company that advertises in Linux Journal, but I m not because they don t publish their adverts online! To make matters worse the Linux Journal web site doesn t include a suitable contact address for issues unrelated to subscriptions. I believe that a magazine needs to publish an email address for copyright infringement reports (I often notify magazines when someone rips off their content so that they can issue a DMCA take-down notice), an email address for technical problems (I often notice rendering errors and broken links in web pages and like to report them), and an email address for random stuff. I m even happy to use a web-based form to submit my suggestions if that s what makes them happy, but having no published way of notifying them is simply a mistake. NB I do have some email addresses of LJ employees in my addressbook somewhere, I will send them email if no-one responds to this blog post. But I m publishing this because it s probably a mistake that other magazines make, and because any response from them is going to be too late for the report on hardware prices that I m writing. Update: Linux Journal does allow you to download a sample copy, that is a PDF of one complete issue that includes adverts. So I can see adverts from August 2008.

Chris Lawrence: How not to do data analysis

io9 presents a chart that purports to show that shark-jumping has an effect on television ratings. I ll freely concede that Battlestar Galactica has had its, er, weaker moments, but the chart doesn t actually show that creatively weak episodes had any effect whatsoever on the ratings that can be distinguished from the underlying, secular downward trend in ratings. Since I had about 300 more important things to do, I decided to analyze the data myself. First, I reentered the ratings data from here into an OpenOffice.org spreadsheet and then identified the shark-jump episodes with a dummy variable, with the help of IMDB. I then created two new variables: a simple ratings difference variable for each episode, and a dummy variable to indicate whether or not an episode immediately followed an identified shark-jump. I then converted to a CSV file, opened R, and estimated a linear regression: Delta = a + b(FollowShark). While the effect of an episode following a shark-jump was negative (about 0.025 ratings points), the effect was not statistically significant (p 0.736, two-tailed). Throwing out Razor and The Passage, to focus on episodes io9 says showed ratings losses improves the coefficient to about -0.042 ratings points, but it is still not significant (p 0.613, two-tailed). So, the moral of the story: the episodes identified may have been shark jumps, but they didn t seem to have a discernible effect on the ratings of subsequent episodes. And, besides, any analysis that doesn t identify the crapfest known as Black Market as a shark-jumping incident isn t worth taking seriously to begin with.

Bear in mind that TV ratings themselves leave something to be desired; variations of several tenths of a ratings point are within the expected margin of measurement error.

19 March 2009

Jose Carlos Garcia Sogo: Is ext4 unsafe?

There has been a lot of hype about ext4 lately, following an Ubuntu bug which rose a lot of concerns about ext4 security. I know these are no news, and I know also that I am not a kernel guru, but let s resume some important concepts.
Ext4 implements something called allocate-on-flush. This means that kernel will decide how to write to disk in an efficient way by batching allocations together in larger runs. It increases performance and reduces fragmentation. But if a system crash happens between metadata and data is actually written to disk a 0-size length file can be found in the filesystem. With ext3 journal had a default timeout of 5 seconds and then was flushed to disk. With ext4 this time is unknown, so appplications that want to ensure everything is on disk have to call fsync() on file and directory after every operation. To avoid this, a series of patches have been queued for 2.6.30 so when a file is going to be replaced, it is written to disk with no delay.
Another concern raised is the need for atomicity and durability of files. For achieving this applications have first to write a temporary file and then rename() it over the old file. This will ensure that new or old file will be found in the filesystem after a crash, instead of a corrupted file that can be found when it is opened with O_TRUNC.
Anyway, my opinion is that when choosing a filesystem, one have to know what the computer is going to be used for. Using binary propietary drivers is an option, which can lead your Linux installation to behave most like Vista and filesystem cannot be blamed for losing files if it is making its job as designed. Perhaps, it s better to use ext3 in this situation, but at the cost of missing performance.
If you want to learn more about this issues I recommend you to read both articles by Theodore Tso, Delayed allocation and the zero-length file problem and Don t fear the fsync! and also AlessanderAlexander Larsson s one ext4 vs fsync, my take as well as comment in all of them.

Julian Andres Klode: March updates


(This is a more or less a TODO list for my Debian packages and other stuff I m working on) Already done New package: metatheme-gilouche Today I uploaded the new package metatheme-gilouche, which builds the binary package gnome-theme-gilouche. The Gilouche theme has been created by openSUSE and is used there as the default theme in GNOME. For users of gnome-app-install, this theme provides a better style for your main menu. It contains icons (replacing industrial-icon-theme), GTK+, and Metacity themes. The package is currently NEW, once it is in the archive, I will request removal of industrial-icon-theme. And once this package reaches Ubuntu, Ubuntu s Bug#96042 is closed. python-apt Two weeks ago, Sunday (on 2009-03-08), I coded a bit in python-apt, and introduced a new class apt.package.Version, which contains information about a specific version of a package; and an interface to fetch the source package for that version. You can now simply call something like package.candidate.get_source() to fetch it. The Package class now provides three new properties: Package.candidate, Package.installed and Package.version. The first two return a Version() object for the candidate/installed version or None, if no one is available (which only happens for installed; because there should always be a candidate [because Package() objects are only created for packages where at least one source is available]). These properties replace those like Package.candidateOrigin, which now is Package.candidate.origins [which also fixes the naming]. The old ones are still available, but accessing them results in a DeprecationWarning. The whole thing should be hitting unstable soon as 0.7.9. Other stuff Less interesting, but also true - I have uploaded a new version of ndiswrapper (1.54), and the last snapshot of aufs1 (0+20090302-1). I have also renamed the method debimg.core.resolver.Resolver.add_task() to debimg.core.resolver.Resolver.add_tasks(), but this is a really boring change. Planned changes Planned changes in aufs packaging: switching to aufs2 This is a bit complicated, as aufs2 seems to require a large amount of new exports in the kernel. But we need to switch, because the old version of aufs is not developed anymore upstream. With the switch to aufs2, we will loose functionality like exporting the filesystem via NFS and other ones. The code will be split into two source packages, aufs-utils and aufs. Planned changes in gnome-app-install First of all, I need to merge the new version of gnome-app-install from Ubuntu. Afterwards, I will start working on various packaging related issues. I will switch the package from CDBS to debhelper 7; install the modules to /usr/share/gnome-app-install/, not systemwide; and also try to create a single package which works on Debian and Ubuntu, so we can have a shared package in future. Planned changes in command-not-found First of all, I need to merge the new version from Ubuntu. The version of command-not-found in Debian has various differences from the one shipped by Ubuntu. It uses the files from apt-file to create our command list, it is installed in /usr/share/command-not-found, not /usr/lib/command-not-found, and more. My plans for the next upload include the inclusion of a pre-generated command-list, for those who do not want to use the apt-file based method; and because it will be available out of the box. Planned changes in python-apt First of all, I am still working on improving the documentation. While everything should be listed already, there are still some problems with their descriptions, and some are missing them. I intent to fix this in python-apt 0.7.10 (or whatever version it will be). Everyone can help, for example by sending new documentation texts or more examples (see http://apt.alioth.debian.org/python-apt-doc/coding.html for further information). Secondly, I will work on a QT4 progress module, in order to equally support GTK+ and QT4 toolkits. This is not really an important task, and if someone else wants to do this, I would be happy too. Thirdly, I will work on the complete deprecation of mixedCase naming conventions, and switch everything to lowercase_with_underscores; while still providing backward compatibility. Fourthly, I will complete my work on restructuring the progress module (now a package), to introduce a generic naming scheme, and modules like apt.progress.text who will implement them. That s all If you are a developing for Python, be sure to checkout python2.6 in experimental and thank doko for uploading it. I really hope that python3.1 leaves NEW soon, so I can play with it . If you know something else I did or will do in near future, please leave a comment. ;-) Posted in Debian

Uwe Hermann: Using Debian GNU/Linux on the Lenovo IdeaPad S9e netbook

TuxMobil - Linux on Laptops, Notebooks, PDAs and Mobile Phones Lenovo Ideapad S9e netbook I recently got my hands on a Lenovo IdeaPad S9e netbook for a short amount of time (I don't own it), so I did a few tests with Debian unstable (more or less Lenny right now) and a Linux 2.6.28 kernel on it, see results below. The machine type is 4187-42G, and it features an Intel Atom N270 CPU (with HyperThreading) at 1.6 GHz, 1 GB of DDR2 RAM, an 80 GB SATA drive, an 8.9" WSVGA 1024x600 (glossy) screen, VGA port, LAN, wifi, bluetooth, 2xUSB, SD card slot, PCI ExpressCard slot, built-in microphone, and a webcam. BIOS You can enter the BIOS by pressing F2, the boot menu by pressing F12 during boot. Booting from USB works fine on this netbook. There's a Splashtop installation on the netbook (called "Lenovo Quickstart" here) which you can disable in the BIOS. Installation There's no CD-ROM drive, so the simplest way is to use a USB thumb drive for installation. Here's how you can prepare one containing a Lenny installer (assuming your USB thumb drive is /dev/sda):
  $ wget http://cdimage.debian.org/debian-cd/5.0.0/i386/iso-cd/debian-500-i386-netinst.iso
  $ wget http://ftp.nl.debian.org/debian/dists/lenny/main/installer-i386/current/images/hd-media/boot.img.gz
  $ gunzip boot.img.gz
  $ dd if=boot.img of=/dev/sda1
  $ mount -t vfat /dev/sda1 /mnt
  $ cp debian-500-i386-netinst.iso /mnt
  $ umount /mnt
If the above USB thumb drive doesn't boot correctly (which it did not in my case: GRUB error 17) it's probably because of a messed-up MBR. This is how you can fix it:
  $ apt-get install mbr
  $ install-mbr /dev/sda
 Lenovo Ideapad S9e Debian installation Then insert the USB thumb drive in the Lenovo IdeaPad S9e, choose USB boot in the BIOS, and start the installer. Most of the process works as usual, the only small difference is that you might want to load the "parted" installer module in order to resize the Windows-partition on the disk (if you want to keep it) to make space for Linux. The second (fat32) partition seems to keep a restore image and/or the Splashtop stuff, not sure. Audio Works out of the box using the snd_hda_intel driver. The hardware is onboard audio in the southbridge (82801G / ICH7) and uses the Realtek ALC269 codec. If some programs don't have working audio, try modprobe snd-pcm-oss. Built-in microphone Untested so far. Bluetooth Works out of the box using the bluetooth and btusb driver. The laptop's Bluetooth device is USB-attached internally and shows up in lsusb as:
  $ lsusb
  Bus 003 Device 002: ID 0a5c:2150 Broadcom Corp.
  $ dmesg
  usb 3-2: Product: BCM2046 Bluetooth Device
After modprobe btusb you can use hcitool / hciconfig etc. as usual, and/or enable more related stuff with /etc/init.d/bluetooth start. Sensors The lm-sensors script detects the lm75, eeprom, i2c-dev, and i2c_i801 modules. The following is the 'sensors' output:
  $ sensors
  acpitz-virtual-0
  Adapter: Virtual device
  temp1:       +36.0  C  (crit = +95.0  C)    
The hard drive temperature can be viewed with:
  $ hddtemp /dev/sda
  /dev/sda: FUJITSU MHZ2080BH G1: 44  C
HPET The Intel ICH7 southbridge in this laptop supports High Performance Event Timers (HPET) which allows for more power savings and thus improved battery life.
  $ dmesg   grep -i hpet
  ACPI: HPET 3F6E1E41, 0038 (r1 INTEL  CALISTGA  6040000 LOHR       5A)
  ACPI: HPET id: 0x8086a201 base: 0xfed00000
  hpet clockevent registered
  HPET: 3 timers in total, 0 timers will be used for per-cpu timer
  hpet0: at MMIO 0xfed00000, IRQs 2, 8, 0
  hpet0: 3 comparators, 64-bit 14.318180 MHz counter
You can check the wakeups-per-second with powertop. SD card slot Works out of the box. It seems to be attached via USB internally (usb-storage driver).
  $ lsusb
  Bus 001 Device 004: ID 0bda:0158 Realtek Semiconductor Corp. Mass Stroage Device
PCI ExpressCard slot Untested so far. ACPI Works fine, see comments for "acpitool" output. Network card Works out of the box using the tg3 driver.
  $ modprobe tg3
  tg3.c:v3.94 (August 14, 2008)
  tg3 0000:02:00.0: PCI INT A -> GSI 16 (level, low) -> IRQ 16
  tg3 0000:02:00.0: setting latency timer to 64
  eth0: Tigon3 [partno(BCM95906) rev c002 PHY(5906)] (PCI Express) 10/100Base-TX Ethernet 00:11:22:33:44:55
  eth0: RXcsums[1] LinkChgREG[0] MIirq[0] ASF[0] WireSpeed[0] TSOcap[0]
  eth0: dma_rwctrl[76180000] dma_mask[64-bit]
Touchpad Works out of the box, both in X as well as in the console using gpm.
  $ dmesg
  Synaptics Touchpad, model: 1, fw: 7.2, id: 0x1c0b1, caps: 0xd04731/0xa40000
Suspend-to-disk and suspend-to-RAM I'm using the hibernate Debian package. You can explicitly force the usage of either method in /etc/hibernate/hibernate.conf by uncommenting the respective lines.
  TryMethod disk.conf
  # TryMethod ram.conf
Suspend does not yet work out of the box, however, as the machine is unknown:
  $ s2ram -n
  Machine unknown
  This machine can be identified by:
      sys_vendor   = "LENOVO                          "
      sys_product  = "418742G         "
      sys_version  = "Lenovo                  "
      bios_version = "14CN51WW  "
  See http://suspend.sf.net/s2ram-support.html for details.
After a few test I found that s2ram -f -a 3 works fine (tested from console only so far). Now this needs to be integrated upstream and in the Debian package (I'll file a bug report). Update: Submitted bug #520848, and an email to the upstream mailing list. Wireless There doesn't seem to be a mainline driver for the Broadcom BCM4312 wifi card in the laptop, yet:
  $ lspci -nn
  05:00.0 Network controller [0280]: Broadcom Corporation BCM4312 802.11b/g [14e4:4315] (rev 01)
Neither the b43 nor the b43legacy drivers work as of 2.6.28. For now, one of two possible options is to build a (partly non-free) driver provided by Broadcom from source (option 2 would be to use ndiswrapper, I guess, but that's untested):
  $ wget http://people.debian.org/~adamm/kernel/linux-kbuild-2.6.28_2.6.28-0.1_i386.deb
  $ dpkg -i linux-kbuild-2.6.28_2.6.28-0.1_i386.deb (currently needed in unstable due to bug #518115)
  $ apt-get install build-essential linux-headers-2.6.28-1-686
  $ mkdir temp; cd temp
  $ wget http://www.broadcom.com/docs/linux_sta/hybrid-portsrc-x86_32-v5_10_79_10.tar.gz
  $ tar xfvz hybrid-portsrc-x86_32-v5_10_79_10.tar.gz
  $ make -C /lib/modules/ uname -r /build M= pwd  clean
  $ make -C /lib/modules/ uname -r /build M= pwd  modules
If that worked, you can load the driver via:
  $ rmmod bcm43xx; rmmod b43; rmmod b43legacy (you could also permanently blacklist these modules)
  $ modprobe ieee80211_crypt_tkip
  $ insmod ./wl.ko
  $ dmesg
  wl: module license '' taints kernel.
  wl 0000:05:00.0: PCI INT A -> GSI 18 (level, low) -> IRQ 18
  wl 0000:05:00.0: setting latency timer to 64
  eth1: Broadcom BCM4315 802.11 Wireless Controller 5.10.79.10
You can now run iwconfig, iwlist, etc. from the command line, or use some GUIs such as kwifimanager. In order to disable wireless, run:
  $ rmmod wl
So far, I only tested WEP (but not WPA). CPU frequency scaling Works out of the box using the acpi_cpufreq driver. Use cpufreq-set -c 0 -g performance if you need full CPU power, cpufreq-set -c 0 -g powersave otherwise. Use -c 1 to do the same with the other CPU/core. PC speaker Works fine out of the box using the pcspkr module, tested with beep. Graphics card Works out of the box using the intel X.org driver.
  $ xrandr
  Screen 0: minimum 320 x 200, current 1024 x 600, maximum 1024 x 1024
  VGA disconnected (normal left inverted right x axis y axis)
  LVDS connected 1024x600+0+0 (normal left inverted right x axis y axis) 195mm x 113mm
     1024x600      60.0*+
     800x600        60.3  
     640x480        59.9  
  TV disconnected (normal left inverted right x axis y axis)
DRI works out of the box with the (mainline, open-source) driver:
  $ glxinfo   grep direct
  direct rendering: Yes
If you attach an external monitor or projector, you can enable it using xrandr as usual:
  $ xrandr --output VGA --auto
You can also use a dual-head setup by adding this to your "Screen" section in /etc/X11/xorg.conf:
  SubSection "Display"
    Virtual 2048 2048
  EndSubSection
After restarting the X server, you can play with xrandr and move the external screen (VGA) "below" the laptop's LCD screen (LVDS) for a simple dual-head setup. The GUI tools arandr or grandr are probably a bit simpler to use than plain command line xrandr. USB Works fine, of course. The only small problem is that there are only two USB ports, more would have been better. Disk drive Works fine, it's an 80 GB SATA drive. Webcam Works out of the box using the uvcvideo driver.
  $ lsusb
  Bus 001 Device 005: ID 5986:0141 Acer, Inc
  $ modprobe uvcvideo
  uvcvideo: Found UVC 1.00 device Lenovo EasyCamera (5986:0141)
  input: Lenovo EasyCamera as /devices/pci0000:00/0000:00:1d.7/usb1/1-3/1-3:1.0/input/input9
  usb 1-3: New USB device found, idVendor=5986, idProduct=0141
  usb 1-3: New USB device strings: Mfr=3, Product=1, SerialNumber=0
  usb 1-3: Product: Lenovo EasyCamera
  usb 1-3: Manufacturer: BISON Corporation
You can use luvcvideo for webcam viewing. Battery Lasts for ca. 3.5 hours, probably less if the system is under high load. Special keys Fn+CursorUp / Fn+CursorDown (brightness), Fn+ESC (enable/disable webcam), Fn+F1 (sleep mode), Fn+F2 (enable/disable TFT backlight), Fn+F6 (enable/disable thouchpad), Fn+F7 (Num lock), Fn+F8 (scroll lock), and Fn+F11 (F12 key) all work fine. Fn+F3, Fn+F5, Fn+F9, Fn+F10, and all other special keys are untested. LEDs The power, disk activity, CAPS lock, Num lock, and battery charging LEDs all work fine out of the box. lspci -tvnn
  -[0000:00]-+-00.0  Intel Corporation Mobile 945GME Express Memory Controller Hub [8086:27ac]
           +-02.0  Intel Corporation Mobile 945GME Express Integrated Graphics Controller [8086:27ae]
           +-02.1  Intel Corporation Mobile 945GM/GMS/GME, 943/940GML Express Integrated Graphics Controller [8086:27a6]
           +-1b.0  Intel Corporation 82801G (ICH7 Family) High Definition Audio Controller [8086:27d8]
           +-1c.0-[0000:02]----00.0  Broadcom Corporation NetLink BCM5906M Fast Ethernet PCI Express [14e4:1713]
           +-1c.1-[0000:03-04]--
           +-1c.2-[0000:05]----00.0  Broadcom Corporation BCM4312 802.11b/g [14e4:4315]
           +-1d.0  Intel Corporation 82801G (ICH7 Family) USB UHCI Controller #1 [8086:27c8]
           +-1d.1  Intel Corporation 82801G (ICH7 Family) USB UHCI Controller #2 [8086:27c9]
           +-1d.2  Intel Corporation 82801G (ICH7 Family) USB UHCI Controller #3 [8086:27ca]
           +-1d.3  Intel Corporation 82801G (ICH7 Family) USB UHCI Controller #4 [8086:27cb]
           +-1d.7  Intel Corporation 82801G (ICH7 Family) USB2 EHCI Controller [8086:27cc]
           +-1e.0-[0000:06]--
           +-1f.0  Intel Corporation 82801GBM (ICH7-M) LPC Interface Bridge [8086:27b9]
           +-1f.1  Intel Corporation 82801G (ICH7 Family) IDE Controller [8086:27df]
           +-1f.2  Intel Corporation 82801GBM/GHM (ICH7 Family) SATA IDE Controller [8086:27c4]
           \-1f.3  Intel Corporation 82801G (ICH7 Family) SMBus Controller [8086:27da]
cat /proc/cpuinfo See comments. Resources All in all it's a really nice hardware, and it works (more or less) flawlessly without much hassle with recent distros/kernels. Update 2009-03-22: Updated various sections, added more info. Added resources section.

Michael Banck: 19 Mar 2009

My experience with LapStore's used-ThinkPad warranty repair service My ThinkPad T40 arrived back from warranty repair today (well, actually yesterday, but I had to run off to the Gnome-2.26 release get-together in Munich so I did not have time to open the box then). I bought it used roughly two years ago at LapStore when my R51 had died. I had bought the R51 new with a one year IBM warranty but unfortunately within two years the graphics chip with got damaged and would freeze the notebook after a couple of minutes. I then decided that I do not really need a new notebook anymore, and opted for a used T4x series (there were no used X40s available at that time). I chose LapStore because they offered a one-year "Garantie" (guarantee? warranty?), which was rather unusual for used notebooks - at best, you would get a one-year "Gewaehrleistung" which is the promise to fix things which were supposedly broken already by delivery. Even better, one could optionally extend the warranty to two years, which I did. The notebook they sent was in pretty good condition (apparently a business out-of-warranty return) and I put in my R51's hard disk, the ipw2100 WLAN card and the RAM (unfortunately, I realized too late that the keyboard and the CDRW/DVD drive do not fit). I was pretty happy with it (and LapStore in general, I recommended it to a couple of friends since, and e.g. my current flatmate bought a T42 there a while ago as well) until the fan started dropping out and making weird noises by the end of 2008. So just before the end of warranty, I sent it (after removing hard disk, optical drive and battery) in to LapStore to see how their service is. I also mentioned a clear bright spot on the display (apparently some fatigue, you see it often mentioned in ThinkPad eBay descriptions) and a crack in the palmrest between the cursor-right key and the hard disk slot. When they sent a mail that the ThinkPad had arrived at their site, I also followed-up via mail that the "indestructible" keyboard caps stickers they used to mod a Scandinavian(?) keyboard into a German one were pretty much destroyed by now and would also need servicing. I assumed that they would service the fan (which looked like a clear-cut warranty issue to me) without arguing, but probably not the display and palmrest (and did not know whether they got the mail about the keyboard stickers), so when they sent another mail two days ago that they sent the notebook back without asking further questions, I became worried about what happened at all. So, long story short, I was totally positively surprised when I opened the box today and read: "Aktion: L fter, Display, Palmrest und Tastatur getauscht" (action: fan, display, palmrest and keyboard replaced) The replacements are still used parts (and the keyboard is still not a real German one, but one with new stickers on it), but they basically changed my almost-totally-broken-will-fall-apart T40 back into a almost-as-good-as-new T40. (not sure whether that is positive or negative, but they also forgot to remove the service-hard disk they put in to test things, I guess I will send it back to them) So all in all, I am very much impressed by their service. I would have expected this kind of service from IBM/Lenovo if I had a manufacturer warranty, but not from some random sell-used-ThinkPads shops on the net. I can now even more strongly recommend LapStore as the place to buy good notebooks. Certainly you can get cheaper prices at some eBay stores, but you do not get real warranty then and what about the service? I recommend geting a T42 - I believe the T43 is inferior to it and the T40s and T41s don't have "LapStore Garantie" anymore. You can get them without operating system and can customize the hard disk, memory and optical drives - unfortunately you cannot downgrade those, which is my only gripe with them.

Wouter Verhelst: DV from webcams

DVswitch is a neat piece of software, but it only works with DV streams. If you want to use something else (like, say, a webcam), you'll need to do something 'special':
wouter@celtic:~$ mkfifo dvsource-fifo
wouter@celtic:~$ ffmpeg -f video4linux2 -r 25 -s vga -i /dev/video0 -target pal-dv - > dvsource-fifo
wouter@celtic:~$ dvsource-file dvsource-fifo
And there you are, a DV stream from my webcam. Not that this is very useful, probably but who cares, right?

Next.

Previous.