Search Results: "ron"

6 February 2011

Lucas Nussbaum: mutt + notmuch = perfect mail setup?

Following Our Leader, I ve just switched to using notmuch with mutt for searching (instead of maildir-utils, previously). I strongly recommend this setup to all mutt users. As a bonus, accented characters ( , , ) are now handled correctly while searching, which is quite useful in french.

Benjamin Mako Hill: Editor-to-Reader Ratios on Wikipedia

It's been reported for some time now that the number of active editors on Wikipedia (usually defined as people who have edited at least 5 times in a given month) peaked in 2007 and has been mostly stable since then. A graph of the total number of active editors in every month since Wikipedia's founding is shown below. The graph shows the aggregate numbers for all language Wikipedias. English Wikipedia is the largest component of this and is generally more variable. That said, very similar patterns exist for most larger languages. /copyrighteous/images/active_editors_all_wikpiedia.png Felipe Ortega, who has provided many of these statistics, has warned against fatalist claims. Although there seems to be a decrease in the total number of active editors over the last two years, the situation seems to have somewhat stabilized in most languages. New editors in Wikipedia are replacing folks at almost the rate that they are leaving. It is also widely known that the number of readers of Wikipedia has been increasing during this period. According to the report cards released by the foundation using comScore data, the number of unique visitors to Wikipedia each month has increased by 61 million people in the last year -- over 17%. This discrepancy between rising readership and stable or sinking editorship should raise major concern. After all, the Wikimedia Foundation's mission is two part: (1) to empower and engage people around the world to collect and develop educational content and (2) to disseminate it effectively and globally. Although the Foundation report cards include measures of raw levels of editorship, a better metric of engagement and empowerment might be the proportion of readers who engage in editing. I could not find reliable data on the number of unique readers reached each month for more than a few months in the last year. What is available, however, is wonderful data on page views each month going back to 2008. Analysis of the data from available report cards show that, at least during the last year, there is a very stable ratio of 35 page views per unique visitor, as estimated by comScore. Using that measure, we can do a back of the envelope estimation on the proportion of users that are editors for the period where page view data is available, dating back from February 2008 ( marked with the grey dashed lined above). The graphs below show the very different results you get when you consider the change in the number of Wikipedia editors and the change in the editor-to-reader ratio. Once again, these data are combined data for all language Wikipedias although graphs look very similar for most larger languages. The results are striking. Although there has been a 12% decrease between February 2008 and December 2010 in the number of active editors, there is a 42% decrease in the proportion of readers who edit at least five times a month. We can see that fulfilling the first half of the Wikimedia mission remains a struggle. /copyrighteous/images/wikipedia_editors_combined_graph.png Although the graphs above do not say anything directly about the most active core contributors to Wikipedia, the fact that Wikipedia is being maintained by a tiny -- and shrinking -- proportion of its readership does mean that the idea behind Wikipedia is under threat. Although none are as big as Wikipedia, there are lots of good encyclopedias out there. The reason Wikipedia is different, interesting, and important is because -- unlike all those others -- Wikipedia is the encyclopedia that anyone can edit. Wikipedia is powerful because it allow its users to transcend their role as consumers of the information they use to understand the world. Wikipedia allows users to define the reference works that define their understanding of the their environment and each other. But 99.98% of the time, readers do not transcend that role. I think that's a problem. Worse, that the number is growing. The Wikimedia Foundation recently ran a major successful effort to attract donations in its annual fundraiser. Jimmy Wales' smiling mug is apparently enough in the way of motivation to get something like 1% of its readers to donate money to support the project. I think that's very good news. If the Wikimedia community can entice even half of those people to contribute through an increased involvement in the projects themselves, they might do more than ensure Wikipedia's continued growth. They would help take a step toward the empowerment and engagement of those users in sharing their own knowledge, and the continued fulfillment of a critically important mission.

Erich Schubert: Debian Squeeze released!

Debian GNU/Linux 6.0 "squeeze" has been released today.
Congratulations to everyone involved in ironing the last few bugs out.
(My own involvement had been a bit limited recently, but I at least kept my few remaining packages in a ready-to-release state and helped with the occasional bug report and patch.)
Some people think that Ubuntu is the better Debian - I do NOT. Debian is a fun place, has great people working on it and is true to its aims at creating a truly free and high-quality distribution. The long release cycles of Debian are a feature, not a bug. Stable is for production systems, not toy projects.
The proper way of attributing Debian stable is conservative and sustainable, but not outdated. It actually can do everything you need - and will do so in 10 years.
If you have been using Open Source for as long as me (say 15+ years) you will probably have seen software hypes come and go. The one thing that has been always the same was Debian: dead reliable. There was a time when everyone was crazy about enlightement for it's shiny pretty UI. Almost like Compiz-Beryl just two years ago. It came, as a matter of fact Debian also had it, but it also went.
I also remember how people complained that Debian didn't ship Xgl back in 2006 when this was the latest hype (there was no Debian release in 2006). Well, Xgl died in 2008. The features remained, but done in a much nicer way, and also found their way into Debian. In fact, I also ran Xgl at least once, on Debian, but just not on "stable". One could say that Xgl never was quite "stable", was it?
Debian stable is good the way it is: an administrators choice. Of course, developers might have different needs, but there also is testing, unstable and experimental. Just make sure to align your choice with your needs. And sometimes, also rethink your needs: there is no "latest beta versions" and "stable platform" at the same time.

5 February 2011

Joerg Jaspert: Squeeze Release

So after quite a while I again had the opportunity to do the ftpmaster works of a Debian release. Not quite my first and hopefully not my last one, lets see. And, like last time, Mark joined to help with the work. Again, a few moments and not a detailed log (times in UTC): Right now (that is, 21:38 UTC) I am mosty waiting for the rest of the people working on the release (CD builders, press, website, ) to finish their task (building hundreds of images just takes ages). When that is done we can then do a coordinated push to the world. Last plans for that would mean in about an hour . Lets see, Mr. Murphy sure can be around. Thanks go out to everyone involved in preparing this release, be it in the past by fixing bugs, uploading packages, doing whatever was needed, as well as doing the work today. Update: If you miss us setting the new testing AKA wheezy to something inside there - there is no need to. It is simply the continutation of testing with just another name, which did not get changed contents, so nothing done for that. :)

Ian Wienand: Comcast self-setup with Netgear routers

I just got a Zoom 5341 modem to replace a very sketchy old Motorola model and so far it seems to work fine. However, the Comcast self-install switch process was not seamless. After you plug your new modem in the process starts fine, capturing your session and prompting you for your account. However at the next step it prompts you to download the Windows or Mac only client, directing you to an address http://cdn/.... It is at this point you can get stuck if you're behind a Netgear router (I have a WNDR3700) and probably others. The simple problem is that, for whatever reason, the factory firmware in this router does not pass on the domain search suffix through its inbuilt DHCP client. Without that, cdn doesn't resolve to anything, so you can't download the self-help tool and you're effectively stuck at a "can not find this page" screen. If you google at this point you can find many people who have hit this problem, and various information from erroneous suggestions that you've been hacked (?) to most people just giving up and moving into Comcast phone support hell. Assuming you now don't have internet access, you can complete the process with a quick swizzle. Somebody might be able to correct me on this, but I don't think you want to run the self-install tool from an actual computer plugged directly into the modem if you have a router in the picture, because the wrong MAC address will get registered. So, your best solution is to turn everything off, plug your computer directly into the modem, turn it on, get an address, download the tool, turn everything off, plug the router back-in to the modem and then run the self install tool. At this point, everything just worked fine for me. Netgear should probably fix this by correctly passing through the domain search suffixes in their routers. Comcast should probably fix this by doing some sort of geo-ip lookup to give clients a fully-qualified address in that webpage to download the tool even if their router is broken (or really, does downloading that file really require a content-delivery network?). You can probably fix this by running Openwrt on your router before you start. Otherwise, the Zoom modem and the Netgear WNDR3700 seem to make a very nice combination which I would reccommend.

Craig Small: Playing text adventures with mudlet

Mudlet I've been playing text based multi-user games on and off for years, or perhaps that's decades. When I first started playing them, all you had was telnet. Then this program called TinyFugue appeared which is still shipped by Debian. The generic term for these sorts of games are MUDs, or Multi User Dungeons. Anyhow, I recently came across a new MUD client called Mudlet. It's a very slick program and works quite well. The way it does its triggers (reactions to what the mud sends you) and aliases (reactions to what you type) is done well and is fast. For some people you may have 100s of potiential matches on a incoming or outgoing line so you want it to be fast. After trying it out, my next reaction was "ok, so is it packaged in Debian?". To my surprise, it wasn't so the only obvious thing to do was for me to package it. It is now sitting in the NEW queue waiting for our ever-overloaded ftp masters to have a look at it. While the program is done well, as shipped it doesn't play too well with a Linux system. The package carries about 4 different other packages around. I've changed that now so it uses the system libraries and fonts. All of them are shipped in Debian and I'm sure they individually get more attention and love then I would give them being a sub-part of the main package. It of course cuts down on build times and archive sizes too. I still play muds, no matter what client. For me there they're fun on two levels. The first is the puzzles and gameplay of the MUD itself. I play some MUDs run by Iron Realms who continuously update them, giving you new challenges. The second level is the scripting and customisation you can do. Instead of typing "sip health" you can write some scripts to check your health level and get the script to do it. Mudlet (and a lot of other MUD clients) use the Lua langauge to do this scripting. It's a little funny language but is easy to learn and use. You won't be able to build some epic programs with it, but for scripting it is pretty good. Languages in Hunspell Mudlet uses the hunspell library for spell checking. I have, of course, linked it with the Debian library. The difficulty now is what language? I was surprised that when you intialise the library, you specify what language files to use right there. Now for me its simple, the english dictionaries should be used! What I don't undertand is if there is a way of determining the right dictionary globally for a user. I first though it would be one of the locale parameters, those LC_whatever fields. Mine is en_AU.UTF8, which there is no dictionary for as I'd use en_US or en_UK. I could possibly patch Mudlet and find a dialog box somewhere where you can set the language, but to me an environment variable makes more sense. Does anyone use the DICTIONARY variable, for example?

4 February 2011

Richard Darst: DebianNYC Squeeze release party

DebianNYC is having a Squeeze release/super bowl party this Sunday. It is in Park Slope, Brooklyn, and there will be both super bowl watchers and Debian installers/hackers who didn't know the super bowl was this weekend. For more information and to RSVP, see the wiki.Someone in IRC had the bright idea to have a "upgrade to half-broken testing" party in a few weeks. This sounds a lot more fun - and educational. We have been having so many events lately that I am a bit worried about having things too close together, so I guess we'll take it as it comes and people want to organize things. In the near future, we could have a Novice Night in Brooklyn, a Novice Night in the Bronx, a workshop on configuration management of clusters, and now this testing upgrade party.

Robert Millan: Diskless Debian GNU/kFreeBSD HOWTO

It was completely non-obvious; In some cases I had to figure it out by reading kFreeBSD source code; I write it down here so it s not forgotten ;-) This is a short guide on how to boot Debian GNU/kFreeBSD via network on a diskless machine, using GRUB as the bootloader.
  • Step 1: Configure your DHCP/TFTP environment to load GRUB from network. See the PXE GRUB documentation for details.
  • Step 2: Rebuild kfreebsd-8 package with BOOTP and BOOTP_NFSROOT options, as described in upstream handbook. They need to be added to the debian/arch/*/*.config file for your architecture. This kernel can still be used for normal, disk-based boot, but it will issue DHCP requests to attempt network boot every time you start it.
  • Step 3: Put your kFreeBSD in TFTP directory and configure GRUB to load it. This requires only one command in grub.cfg. My setup:
    set timeout=1
    set default=0 menuentry Debian GNU/kFreeBSD
    echo Loading kFreeBSD
    kfreebsd /beastie/boot/kfreebsd-8.1-1-amd64.gz
    echo Booting
    boot
  • Step 4: Build a directory tree with your GNU/kFreeBSD userland, and export it via NFS. I copied it from an existing Debian GNU/kFreeBSD install, but I suppose debootstrap could do the job as well.
  • Step 5: kFreeBSD mounts root NFS in readonly mode initially, and Debian userland turns out to be very unhappy with that. If you want things to work you ll need to either setup tmpfs in a few places (e.g. /tmp) or adjust fstab so that / is remounted as writable by the INIT scripts. Example fstab line:
    192.168.1.3:/srv/netboot/beastie / nfs rw 0 0
    This, however, will only work if mount_nfs(8) is in your system. And (well, too bad) it hasn t been packaged yet. So you can copy it from a FreeBSD base tarball, along with its dependencies (/lib/libc.so.7, /libexec and /etc/netconfig).
  • Step 6: Finally the system boots, but you ll soon notice that file locks don t work. This breaks some daemons (rsyslog), dpkg, apt and possibly a lot other things. Actual (i.e. non-local) file locking on NFS requires a running lock daemon, both on client and on server. However, since FreeBSD lockd isn t packaged either, and you probably don t need global locks anyway, I suggest you disable it with nolockd mount option.
    The tricky part is that as explained in mount_nfs manpage, nolockd will only be honored when performing the initial mount, and it will be silently ignored if used while updating the mount options. So fstab is not an option.
    The only way I could find of telling the kernel to use arbitrary options when mounting / is by sending them via DHCP. Use the following options in your dhcpd.conf:
    option option-130 code 130 = text;
    option option-130 nolockd ;
  • Et voil . A Debian GNU/kFreeBSD system running completely in diskless mode. Enjoy!

    3 February 2011

    Stefano Zacchiroli: how to use Notmuch with Mutt

    Mutt mail indexing on steroids! I've been using external mail indexing with Mutt for quite a while now. Before now I haven't given Notmuch a try, as it seemed too much experimental at the time of my initial review of mail indexing tools. As there is nothing better than a long oversea flight to perpetrate new hacks, I've now not only tested it, but also switched to Notmuch without looking back at maildir-utils for a split second. Getting started with Notmuch is trivial: Some performance figures: (1) the size of the index is a bit larger than the size of the mails (on my laptop: 535 Mb of index vs 375 Mb of mails stored in 60 maildirs); (2) even if the underlying indexing engine is the same (Xapian) as maildir-utils, Notmuch is much faster. With my setup it is so fast that I've added it as a hook triggered by offlineimap at the end of each synchronization:
        zack@usha:~$ grep -B 1 hook .offlineimaprc
        [Account Upsilon]
        postsynchook = notmuch new
    
    
    With the big round of new mail downloaded in the morning, it hardly takes more than a few seconds to update Notmuch index, while with other periodic downloads Notmuch almost invariably reports "... in almost no time" (i.e. less than 1 second). Integrating Notmuch with Mutt The basic integration I want between Mutt and a mail indexer is the ability of stating a search query interactively and then jump to a fresh Maildir containing search results only. Additionally, given that Notmuch has neat thread reconstruction abilities, I also want to be able to reconstruct on the fly the thread corresponding to the currently highlighted mail: it comes handy when a thread has been split across different maildirs, archived, or the like. To that end, I've cooked up a little helper, called mutt-notmuch, that enables to trigger mail searches via a Mutt macro (F8 being my choice) and reconstruct threads via another (F9). Check the manpage for the 2-liner configuration snippet for your ~/.muttrc. Arguably, some of the logics of mutt-notmuch could disappear by adding support for a --output=symlinks flag to Notmuch. A bug report requesting that is pending: too bad oversea flights are not as good for accessing the Internet as they are for perpetrating hacks! Download

    Raphaël Hertzog: People behind Debian: Mike Hommey, Firefox/Iceweasel maintainer

    Mike Hommey, our Iceweasel maintainer

    For as long as I have known Mike, he s been maintaining one of the largest (and most widely used) package: Iceweasel, Debian s default web browser. It s effectively Mozilla s Firefox although it has been renamed to avoid some rules enforced by Mozilla s trademark policy. But we might see Firefox back in Debian read on to know Mike s plans. His story is also very interesting in that he went from simple user to Iceweasel maintainer, and now he s working for Mozilla Corporation. But you already knew that contributing to free software is a good way to grow skills and gain experience that are valuable on the job market, right? ;-) My questions are in bold, the rest is by Mike. Who are you? I am Mike Hommey. I am French, even if my name doesn t sound so. I have been a GNU/Linux user since 1995, using Debian since 1999, and started packaging in 2003. After a long time in the NM queue, I became a DD in 2005. The main reason I started being actively involved is quite selfish: I wanted some things done, and I just did them. My first packages were extensions for the Mozilla Suite, the old one that directly inherited from Netscape Communicator. Later on, I wanted some of these extensions to work with the new kid on the block: Phoenix; or maybe it was already Firebird. By then, integrating extensions was a hassle, and the mozilla-browser maintainer had come up with a script that would make it easier for extension packages. So I ported that script for use with Phoenix/Firebird and sent it to the BTS. Then Phoenix/Firebird became Firefox, and it grew a real extension manager. Except that is was entirely not suited for extensions installed by the packaging system. So I made it work better. And made a few more changes to make Firefox work better. All through patches or NMUs. Then I became co-maintainer, then Firefox couldn t keep its name and became Iceweasel, and, fast-forward until today, I m now taking care of Iceweasel/Xulrunner and Iceape in stable, unstable, experimental and an external repository. This 8 years-long story (wow, I hadn t even realized it had been that long until I wrote it) tells you something: newcomers shouldn t be afraid to stick their hands anywhere, even in big packages. I was only a Mozilla and Phoenix end-user when I started. Apart from Mozilla-related packaging, I also happen to (co-)maintain some other packages in Debian, most notably webkit, though I haven t been very active in the pkg-webkit team recently. There are several reasons for that, the main one being that there are other team members getting the job done. And I can t say that much about the pkg-mozilla team, since there are effectively no other team members. What s your biggest achievement within Debian? I am quite proud that Squeeze will be the first Debian release where Iceweasel works on all supported architectures. Previously, we only knew the package compiled on all these architectures. Starting with Squeeze, we know it passes several of the test suites coming with the source code. This ensures most of the browser is functional. It was actually far from being the case before, as it appeared when the test suites were first enabled. I think it is very important to have properly working packages on all our supported architectures. The current evolution of hardware shows how important it still is. Who would have thought a few years back that we would see ARM or MIPS based netbooks today ? What are your plans for Debian Wheezy? For Debian Wheezy, I would like to improve Iceweasel/Icedove/Iceape integration with the packaging system. Something that would allow to use the apt database to find extensions or plugins, on top of the current behaviour. I also want to improve desktop integration, most notably for KDE. Another thing I d like to see happen is to package google breakpad independently (its source code is currently embedded in chromium and iceweasel, though not built, as far as I know), and have our Mozilla products builds be able to send their crash reports upstream. It is very important that upstream gets direct visibility over what crashes on GNU/Linux systems. It helps making them aware of issues that would otherwise probably remain unnoticed, as there are much more users using distributions packages than upstream tarballs. And not all Debian users report crashes to the BTS. I know at least Fedora and SuSE are already doing it. More importantly, I want to avoid the sad situation we got with Squeeze, where we re going to release a 18 months old Iceweasel. We got there for a combination of reasons, one being that I was preparing for a freeze in December 2009 and focusing on getting 3.5 in shape instead of the then upcoming 3.6. The result was that we didn t get 3.6 packages before upstream released 3.6.3 in April 2010. By then it was too late, considering the uncertainty of the release schedule, to update reverse dependencies and get 3.6 ready for Squeeze. Things are different for 4.0. I m already getting ahead of things, and while reverse dependencies haven t been taken care of, all beta releases have been made available through http://mozilla.debian.net/, usually within hours after upstream release (sometimes even a few hours before official announcement, but always after availability on ftp.mozilla.org). A great share of our patches were also pushed upstream. Several things made that possible: There will be a couple major upstream releases until Wheezy comes along, and I want to make them available early in unstable, even if that means breaking reverse dependencies until they are fixed. Finally, I would like to get other people involved, starting with the Icedove maintainer. Volunteers are very much welcome, for any kind of involvement: bug triaging, documentation (which we are deeply lacking), testing, code People interested can contact the pkg-mozilla team list. As the Debian packaging gets less time consuming, I should be able to spend more time mentoring, which should help. If you could spend all your time on Debian, what would you work on? I actually have been working almost full time on Debian for a few months during a more-or-less purposeful unemployment period. That s when I attempted to add an alert popup when Iceweasel or extensions are upgraded (which was eventually removed because not working very effectively). That s when I worked on Iceweasel 3.6 and the first 4.0 betas. That s when I pushed more than 70 patches upstream, and got upstream commit access. I know for a fact that keeping up with upstream and answering bug reports is already time consuming, and time comes in finite quantity. Working full time on Debian allows to do more than that, as I ve been able to experience first hand. Unfortunately, that doesn t help pay the bills, so it would be best if time could be shared with other persons. Like, actual members in the pkg-mozilla team. ;) Anyways, if I were to work full time on Debian again, I d like to do more than packaging, and help improve some of our infrastructure, most notably the buildd network, to grow some automated way to get packages built on all or some of our architectures. Call that PPA if you want, though I don t think we need something exactly like PPA. We sure do have porter boxes, but there is a huge overhead to get packages built there: you need to first try, then see you lack build dependencies, then wait for admins to install them, then come back and launch your build, and finally come back again much later to see how it went. And that s when it goes smoothly. Repeat for each architecture. It s already cumbersome when it s a small package, so imagine when it s Iceweasel. I d like to be able to push a (signed) .dsc somewhere, say I want it built on that and that architecture, and get binary packages and logs back. It could then be up to developers to distribute them, or not. Sometimes, you re just interested in test suite results. Another related wish would be a way to access build trees of failed builds, possibly on the buildd where it failed. What s the biggest problem of Debian? Lack of contributors, lack of contributors, and lack of contributors. It can sound weird to say that in a community of 1000+ people. But the sad reality is that we ve seen, repeatedly, calls for help in various places from various understaffed teams (most often of effectively one member) for years. So there is obviously a problem getting people to invest time in these teams either on the long term, or at all. I know this is not a very significant metric, but it already should say a lot: I wouldn t be surprised if more than 2/3 of the number of source lines of code in Debian come from less than 5% of the number of packages in the archive, and see less than 5% of the DD/DM population involved. If someone feels like doing the actual math, I m curious to know how far I m from reality, and in what direction. We also lack manpower to be able to make our release development smoother. In a perfect world where manpower is not a scarce resource, we should work on $release+1 when $release is being frozen. Said otherwise, we should have been able to start working on Wheezy in August 2010, or even earlier. You ve been working for Mozilla Corporation for a few months. How does the work look like and what are you working on? I am actually not working full time for MoCo; I am only contracting for 4 days a week. That was a request I made to keep having enough spare time for Debian or other activities. I am working from home, and am pretty much free about when I work, as long as I work long enough. I take advantage of this freedom and the saved commuting time to live a healthier life by doing some sports in the daytime (which also happens to be cheaper). I mostly work with Taras Glek and other people on various aspects of Firefox startup performance. This involves pretty interesting low-level stuff, in which I actually got involved before being contracted. This work has nothing to do with packaging Iceweasel, though I can have a few opportunities to do things somehow related. You told in your blog that you were discussing with Mozilla how Debian could use the Firefox trademark. Can you tell us a bit about the progress you made? I have got an informal approval of the patches we are applying to the Iceweasel 4.0 beta packages. There are a few concerns about using the system cairo library, and the embedded copy of libpng needs to be used to have support for the animated PNGs that are used in the user interface and that are required in Firefox feature-set. Other than that, there are pretty much no objection on the technical side. We managed to get to some common ground as to how to manage stable updates and more generally, changes to our packages, but I m still waiting for an actual agreement draft. While I, as the maintainer, am fine with the way it should look according to my discussions with the people involved at Mozilla, I ll seek review from my fellow Debian Developers when I ll have something to show. I haven t decided yet how this will reflect on the Debian packages, though. For example, would Iceweasel stay? But I do hope Wheezy will get Firefox back. Is there someone in Debian that you admire for their contributions? Not someone, but all past, present and future release team members. This is a team that receives a lot of critics (and I indirectly gave one a few paragraphs ago), yet manages to keep doing an amazing job and its members are very committed to their task. I admire their dedication.
    Thank you to Mike for the time spent answering my questions. I hope you enjoyed reading his answers as I did. Subscribe to my newsletter to get my monthly summary of the Debian/Ubuntu news and to not miss further interviews. You can also follow along on Identi.ca, Twitter and Facebook.

    8 comments Liked this article? Click here. My blog is Flattr-enabled.

    1 February 2011

    Marco Silva: A Super Vaca for DebConf11

    In Portuguese we use the word vaquinha, which means little cow, to refer to a group of people contributing money for some common goal. In a meeting of the organization of the DebConf12 BID of Belo Horizonte, I, Rafael, R gis and Samuel decided to create a vaquinha to become a sponsor of DebConf11. With the help of Amazing Val ssio, we created a website and we are collecting donations. The idea is simple: people donate and their name is shown on the website. If they give more than R$50,00, they also receive an exclusive T-shirt. We mixed the idea of vaquinha with the Super Cow Powers from APT. The site is only in Portuguese, since our main focus is to ask for donations from brazilians, but nothing stops foreigns from donating. Our plan is to become Bronze Sponsors, but if we can't all that money, we'll just give to DebConf11 whatever we have. I hope you like the idea, and maybe have a similar initative in your country.

    31 January 2011

    Tiago Bortoletto Vaz: TXT2TAGS SAMPLE - Aurelio Jargas

    Before you start reading: this post is only intended to test a plugin that I've just written to give PyBlosxom a txt2tags formatting support. The original txt2tag sample used here is available at txt2tag website. Mine with few changes is here.IntroductionWelcome to the txt2tags sample file.Here you have examples and a brief explanation of allmarks.The first 3 lines of the this file are used as headers,on the following format:
      line1: document title  line2: author name, email  line3: date, version
    Lines with balanced equal signs = around are titles.Fonts and BeautifiersWe have two sets of fonts:The NORMAL type that can be improved with beautifiers.The TYPEWRITER type that uses monospaced font forpre-formatted text.We will now enter on a subtitle...BeautifiersThe text marks for beautifiers are simple, just as youtype on a plain text email message.We use double *, /, - and _ to represent bold,italic, strike and underline.The bold italic style is also supported as acombination.Pre-Formatted TextWe can put a code sample or other pre-formatted text:
        here    is     pre-formatted  //marks// are  **not**   interpreted 
    And also, it's easy to put a one line pre-formattedtext:
      prompt$ ls /etc
    Or use pre-formatted inside sentences.More CosmeticsSpecial entities like email (duh@somewhere.com) and URL (http://www.duh.com)are detected automagically, as long as the horizontal line:
    ^ thin or large v
    You can also specify an explicit link with label.And remember,
    A TAB in front of the line does a quotation.
    More TABs, more depth (if allowed).
    Nice.ListsA list of items is natural, just putting a dash ora plus at the beginning of the line.Plain ListThe dash is the default list identifier. For sublists,just add spaces at the beginning of the line. Morespaces, more sublists.The list ends with two consecutive blank lines.Numbered ListThe same rules as the plain list, just a differentidentifier (plus).
    1. one
    2. two
    3. three
      • mixed lists!
      • what a mess
        1. counting again
        2. ...
    4. four
    Definition ListThe definition list identifier is a colon, followed bythe term. The term contents is placed on the next line.
    orange
    a yellow fruit
    apple
    a green or red fruit
    other fruits
    • wee!
    • mixing lists
      1. again!
      2. and again!
    TablesUse pipes to compose table rows and cells.Double pipe at the line beginning starts a heading row.Natural spaces specify each cell alignment.
    heading 1heading 2heading 3
    cell 1.1cell 1.2cell 1.3
    cell 2.1cell 2.2cell 2.3
    Without the last pipe, no border:
    heading 1heading 2heading 3
    cell 1.1cell 1.2cell 1.3
    cell 2.1cell 2.2cell 2.3
    Special EntitiesBecause things were too simple.ImagesThe image mark is as simple as it can be: [filename]. OtherThe handy %%date macro expands to the current date.So today is 20110206 on the ISO YYYYMMDD format.You can also specify the date format with the %? flags,as %%date(%m-%d-%Y) which gives: 02-06-2011.That's all for now.

    Stefano Zacchiroli: who the bloody hell cares about Debian

    A down-under talk on the role of Debian, A.D. 2011 I'm back from LCA 2011, which I've attended to share some thoughts about the role that Debian plays in the Free Software ecosystem, 18 years after its inception (yes, we are that old^Welder). The talk title---Who the bloody hell cares about Debian? [1]---was meant to be rather provocative. The idea was indeed to challenge the meme that, in the era of distributions that release every 6 months, a distribution with a release cycle of circa 2 years (like Debian, considering the past 5 years) is not a project that deserves your attention anymore. Is it really the case? In the talk I (obviously) claim it is not, using two main arguments. The first argument is based on the observation that Debian offers a set of pretty rare, if not unique, features among mainstream FOSS distributions. Those features consist of a mix of technical and "political" aspects: (1) a focus on package quality, with no distinction among first and second class packages; (2) a strong culture of software freedom, which refuses to offer non-free software (or firmware) by default to users and distribution developers (as parts of the infrastructure used to make Debian); (3) independence from commercial interests, with no single company or entity that could claim to babysit Debian; and (4) a decision making model based on a weighted sum of do-ocracy and democracy, which implies that by doing (rather than talking) everyone has a chance to have an impact on Debian. Considering all that and looking at the most popular FOSS distributions, one can easily identify Debian as one of the few remaining players who both care about Free Software and can be trusted in making choices not driven by profit. Mind you, I've nothing against companies in general and I'm very well aware that many FOSS companies carry a good deal of the burden of developing and promoting Free Software. Nonetheless, in days in which it is striking how quickly FOSS-friendly companies can become very much FOSS-unfriendly, I can't help putting my trust and efforts into community-driven projects, better if with no attached company label whatsoever. Furthermore, having distributions like Debian around can encourage other company-backed distributions to demand more and more independence and clarifications about the relationships between the community and the backing company. The second argument about the relevance of Debian is more pragmatic and rather straightforward: Debian is the root of a huge tree of derived-distribution (AKA "derivatives"), more than 120 according to popular distribution indexing sites. Each Debian derivative focuses its attention on, and directs its people power to, customizing Debian for a specific target and build entierly upon Debian work for all parts that do not need customization. That possibility is one key advantage of Free Software, after all. A well-known derivative example is Ubuntu, which is probably the most popular Debian derivative, enjoying a user base way larger than that of Debian itself. Ubuntu is heavily customized with respect to Debian and still had only about (at the time of Natty) 25% of packages which either differed from their Debian counterparts or that did not exist in Debian at all. Other Debian derivatives tend to be way less customized than that. Either way, if you are running a Debian derivative, chances are that you heavily depend on Debian and on its well-being. (Yes, it is so also if you didn't know about that, sorry.) Let's now fast-forward to the end of the talk, skipping my usual comments on how to keep the whole tree of Debian derivatives sustainable and beneficial for Free Software as a whole (i.e. by reducing as much as possible the viscosity of patch flow along the derivatives tree). Feedback People's reaction to such a provocative talk has been positive and we have enjoyed a fairly long Q&A session discussing the topics mentioned above as well as other Debian-related topics. A (commented) summary of the obtained feedback is reported below. Judging from the recurrent questions and suggestions I've received doing Debian talks in the past 8 months, I dare to say that LCA feedback is fairly representative of the feelings of many Debian users. Slides of the talk are available, while a video will eventually be posted at http://linuxconfau.blip.tv.
    [1] Kudos to Francois Marier for suggesting the title. If the title doesn't ring a bell for you (it didn't for me in the beginning), you might want to check out the story of this ad. Update: minor rephrasing in the 4th paragraph

    Christian Perrier: Four languages reach 100% for debconf templates translation in squeeze

    All translatable debconf templates for packages in squeeze are translated in Czech, German, French and Swedish. Two other language teams nearly reached that goal and failed to reach it because of flaws in communication with package maintainers: So, in my opinion, I will count SIX languages as reaching 100% in po-debconf. Another great effort is currently going on with the Squeeze Release Notes translation, where 8 languages are very likely to be complete (http://www.debian.org/releases/testing/statistics.html) and a strong last-minute effort by a motivated Danish team could likely add one. And, of course, you all know that Debian Installer supports 70 languages with 57 of them with a full translation.

    30 January 2011

    Dominique Dumont: How to configure OpenSsh through a virtual filesystem

    Hello My blog How about a configfs with Config::Model ? mentioned the on-going work to provide an access to configuration data through a virtual file system , i.e. through fuse. This new feature is now working since Config::Model 1.231. As an example, let s see how Fuse can be used to your ssh client. I.e. how to use config-edit command to modify your ~/.ssh/config through a virtual file system. Note that this is just an example, Fuse can also be used for other configuration withan existing model. First, you need to install Config::Model and Fuse and the fuse software. If you re on Debian/Sid, installing all this is straightforward:
    $ sudo aptitude install libconfig-model-perl libfuse-perl
    On other systems, you can use CPAN to install the Perl modules
    $ cpanp i Fuse
    $ cpanp i Config::Model
    Hopefully, fuse library will be available through a package on your favorite repository. Let s start from an empty ssh configuration file. First you need to create a directory that will be used by Fuse as a mount point:
    $ mkdir my_fuse_dir
    Then run config-edit-ssh (which will be changed later to config-edit -applit ssh ):
    $ config-edit-ssh -ui fuse -fuse_dir my_fuse_dir
    Mounting config on my_fuse_dir in background.
    Use command fusermount -u my_fuse_dir to unmount
    Now, all parameters that can be configured in /.ssh/config are shown as files and directories in the fuse directory (the list was reduced to save electrons):
    $ tree my_fuse_dir/
    my_fuse_dir/
    AddressFamily
    BatchMode
    BindAddress
    ForwardX11
    ForwardX11Trusted
    [snip]
    HashKnownHosts
    Host
    *
    ConnectionAttempts
    [snip]
    User
    UserKnownHostsFile
    VerifyHostKeyDNS
    VisualHostKey
    XAuthLocation
    HostbasedAuthentication
    HostKeyAlgorithms
    [snip] 14 directories, 119 files
    Let s say that we want to configure specific settings for 2 hosts: First step is to create the repoman entry:
    $ mkdir my_fuse_dir/Host/repoman
    A ls command in that new directory will show a lot of files:
    $ ls my_fuse_dir/Host/repoman
    IdentityFile Protocol Tunnel
    CheckHostIP ForwardX11 KbdInteractiveAuthentication ProxyCommand TunnelDevice
    Lo and behold, one of them is ForwardX11 ! Let s check what s in there:
    $ cat my_fuse_dir/Host/repoman/ForwardX11
    Since the entry is new, it s still empty. Enabling X11Forward for repoman is quite easy:
    $ echo 1 > my_fuse_dir/Host/repoman/ForwardX11
    Let s check:
    $ cat my_fuse_dir/Host/repoman/ForwardX11
    1
    Now, unmount the fuse directory:
    $ fusermount -u my_fuse_dir
    And see the modified .ssh/config file:
    $ cat ~/.ssh/config
    Host repoman
    ForwardX11 yes
    You can see that ForwardX11 is indeed set to yes for host repoman. Last but not least, you may consider that handling files and directories through shell commands is not very easy for the end user. You re right. But that s not the point. The idea is to enable programmers to access and edit configuration data with any language (not only Perl). Just like a lot of program can access kernel data through /proc and /sys, configuration data can now be accessed in a unified way through this virtual file system. May be, one day, exploring /config will be as common as exploring /sys All the best

    Russell Coker: P2P Car Sharing Etc

    Rachel Botsman gave an interesting TED talk about Collaborative Consumption, various ways of sharing and redistributing objects to save money and reduce their environmental impact [1]. It s a pity that there isn t something like swap.com in Australia.P2P Car RentalAmong other things she mentioned P2P car rentals. The first company she listed is Drive My Car (link to the Australian site) [2] which has a good range of vehicles. They charge 16.5% as an admin fee, the rest is paid to the owner. Strangely they have a web page to estimate what you can get for your vehicle, but the rates that are returned by that page seem to be a lot lower than what cars are actually advertised for (I guess that the owner can ignore the recommendation and charge whatever they want). They deal in daily rentals and the owner may specify a minimum period 4 days seems common. There are no changes needed to the car and the car owner only has to pay $25 per annum to be listed.Relay Rides operates in Boston and San Francisco [3], they operate on a per-hour basis and require some sort of RFID unlocking device to be added to each car. The normal setup fee for a car owner is $250 but they currently have a promotion that waives that fee.Get Around is a beta service that presumably operates only in the US (they seem US centric and don t specify locations) [4]. They appear to offer per-hour rentals and require hardware to unlock the car. It seems that to get most of the useful information (prices etc) you need to sign up which is a mistake on their part.Whip Car advertises their service on a supposed relationship between the car owner and the renter [5], I ve met the people who live in about 10 houses of the 50 in my street, so if a random person in my street offered a car for rent then there would be a 80% chance that I don t know them but I guess if one of my neighbors had a car to rent at a low price I might be more inclined to get to know them. The information page says that drivers must have a UK driving licence which implies that they only operate in the UK. Why don t these people state clearly on their web site the country that they service? Their business model seems interesting, I can imagine a few people who live near each other pooling funds to buy a vehicle and then using Whip Car to control reservations and manage sharing the costs.P2P Rental of Other ThingsA logical extension of the Whip Car concept is to have a service which only mediates sharing between trusted parties. It would have a web site that manages bookings including issues such as the minimum time between bookings, charges a flat fee per item that is managed, and then gives a summary to all parties of what the use was. Ideally it would allow for bidding for peak times. This could work for cars, computers, cameras, holiday homes, or anything else which can usefully be transferred between different users.

    28 January 2011

    Amaya Rodrigo: Indignez Vous!

    If There is any sort of food for thought worth reading, this is it.
    INDIGNEZ-VOUS! GET ANGRY! CRY OUT by St phane Hessel


    St phane Hessel, author of Indignez-vous!
    After 93 years, it is almost the final act. The end for me is not very far off any more. But it still leaves me a chance to be able to remind others of what acted as the basis of my political engagement. It was the years of resistance to the Nazi occupation -- and the program of social rights worked out 66 years ago by the National Council of the Resistance!

    It is to Jean Moulin [murdered founder of the Council] that we owe, as part of this Council, the uniting of all elements of occupied France -- the movements, the parties, the labor unions -- to proclaim their membership in Fighting France, and we owe this to the only leader that it acknowledged, General de Gaulle. From London, where I had joined de Gaulle in March 1941, I learned that this Council had completed a program and adopted it on March 15th, 1944, that offered for liberated France a group of principles and values on which would rest the modern democracy of our country.

    These principles and these values, we need today more than ever. It is up to us to see to it, all together, that our society becomes a society of which we are proud, not this society of immigrants without papers -- expulsions, suspicion regarding the immigrants. Not this society where they call into question social security and national retirement and health plans. Not this society where mass media are in the hands of the rich. These are things that we would have refused to give in to if we had been the true heirs of the National Council of the Resistance.









    From 1945, after a dreadful drama [WWII], it was an ambitious
    resurrection of society to which the remaining contingent of the Council
    of the Resistance devoted itself. Let us remember them while creating
    national health and pensions plans such as the Resistance wished, as its
    program stipulated, "a full plan of French national health and social
    security, aimed at assuring all citizens the means of existence whenever
    they are unable to obtain them by a job; a retirement allowing the old
    workers to finish their days with dignity."

    The sources of energy, electricity, and gas, mines, the big banks, were
    nationalized. Now this was as the program recommended: "... the return
    to the nation of big monopolized means of production, fruits of common
    labor, sources of energy, wealth from the mines, from insurance
    companies and from big banks; the institution of a true economic and
    social democracy involving the ousting of the big economic and financial
    fiefdoms from the direction of the economy."

    General interest must dominate over special interest. The just man
    believes that wealth created in the realm of labor should dominate over
    the power of money.

    The Resistance proposed, "a rational organization of the economy
    assuring the subordination of special interests to general interest, and
    the emancipation of 'slaves' of the professional dictatorship that was
    instituted just as in the fascist states," which had used the interim
    [for two years after the war] government of the Republic as an agent.

    A true democracy needs an independent press, and the Resistance
    acknowledged it, demanded it, by defending "the freedom of the press,
    its honor, and its independence from the State, the power of money and
    foreign influence." This is what relieved restrictions on the press from
    1944 on. And press freedom is definitely what is in danger today.

    The Resistance called for a "real possibility for all French children to
    benefit from the most advanced education," without discrimination.
    Reforms offered in 2008 go contrary to this plan. Young teachers, whose
    actions I support, went so far as refusing to apply them, and they saw
    their salaries cut by way of punishment. They were indignant,
    "disobeyed," judging these reforms too far from the ideal of the
    democratic school, too much in the service of a society of commerce and
    not developing the inventive and critical mind enough. 2

    All the foundations of the social conquests of the Resistance are
    threatened today.

    The motive of the Resistance: indignation (Indignez-vous!)

    Some dare to say to us that the State cannot afford the expenses of
    these measures for citizens any more. But how can there be today a lack
    of money to support and extend these conquests while the production of
    wealth has been considerably augmented since the Liberation period when
    Europe was in ruins? On the contrary, the problem is the power of money,
    so much opposed by the Resistance, and of the big, boldfaced, selfish
    man, with his own servants in the highest spheres of the State.

    Banks, since privatized again, have proved to be concerned foremost for
    their dividends and for the very high salaries of their leaders, not the
    general interest. The disparity between the poorest and the richest has
    never been so great, and amassing money, competition, so encouraged.

    The basic motive of the Resistance was indignation!

    We, the veterans of the resistance movements and combat forces of Free
    France, we call on the young generation to live by, to transmit, the
    legacy of the Resistance and its ideals. We say to them: Take our place,
    "Indignez-vous!" [Get angry! or Cry out!].

    The political, economic, intellectual leaders, and the whole society do
    not have to give in, nor allow oppression by an actual international
    dictatorship of the financial markets, which threatens peace and
    democracy.

    I wish for you all, each of you, to have your own motive for
    indignation. It is precious. When something outrages you as I was
    outraged by Nazism, then people become militant, strong, and engaged.
    They join this current of history, and the great current of history must
    continue thanks to each individual. And this current goes towards more
    justice, more freedom, but not this unbridled freedom of the fox in the
    henhouse. The rights contained in the UN Universal Declaration of Human
    Rights of 1948 are just that, universal.

    If you meet somebody who does not benefit from it, feel sorry for them
    but help them to win their rights.

    Two visions of history

    When I try to understand what caused fascism, what made it so we were
    overcome by Hitler and the Vichy [French government that collaborated
    with Hitler], I tell myself that the propertied, with their selfishness,
    were terrifically afraid of Bolshevik revolution. They were allowed to
    lead with their fear.

    But if, today as then, an active minority stands up, it will be enough;
    we shall be the leavening that makes the bread rise. Certainly, the
    experience of a very old person like me, born in 1917, is different from
    the experience of the today's young persons. I often ask professors for
    the opportunity to interact with their students, and I say to them: You
    don't have the same obvious reasons to engage you. For us, to resist was
    not to accept German occupation, defeat. It was comparatively simple.
    Simple as what followed, decolonization. Then the war in Algeria.

    It was necessary that Algeria become independent, it was obvious. As for
    Stalin, we all applauded the victory of the Red Army against the Nazis
    in 1943. But already we had known about the big Stalinist trials of
    1935, and even if it was necessary to keep an ear open towards communism
    to compensate against American capitalism, the necessity to oppose this
    unbearable form of totalitarianism had established itself as an
    obviousness. My long life presented a succession of reasons to outrage
    me.

    These reasons were born less from an emotion than a deliberate
    commitment. As a young student at normal school [teachers college] I was
    very influenced by Sartre, a fellow student. His "Nausea" [a novel],
    "The Wall," [play], and "The Being and Nothingness" [essay] were very
    important in the training of my thought. Sartre taught us, "You are
    responsible as individuals." It was a libertarian message. The
    responsibility of a person can not be assigned by a power or an
    authority. On the contrary, it is necessary to get involved in the name
    of one's responsibility as a human being.

    When I entered the French Ecole Normale Superieure, Ulm Street, in Paris
    in 1939, I entered it as a fervent adherent of the philosopher Hegel,
    and I adhered to the thought of Maurice Merleau-Ponty. His teaching
    explored concrete experience, that of the body and of its relations with
    the senses, one big singular sense faced with a plurality of senses. But
    my natural optimism, which wants all that is desirable to be possible,
    carried me rather towards Hegel. Hegelism interprets the long history of
    humanity as having a meaning: It is the freedom of man progressing step
    by step. History is made of successive shocks, and the taking into
    account of challenges. The history of societies thus advances; and in
    the end, man having attained his full freedom, we have the democratic
    state in its ideal form.

    There is certainly another understanding of history. It says progress is
    made by "freedom" of competition, striving for "always more"; it can be
    as if living in a devastating hurricane. That's what it represented to a
    friend of my father, the man who shared with him an effort to translate
    into German "The Search for Time Lost" [novel] by Marcel Proust.

    That was the German philosopher Walter Benjamin. He had drawn a
    pessimistic view from a painting by the Swiss painter Paul Klee,
    "Angelus Novus," where the face of the angel opens arms as if to contain
    and push back a tempest, which he identifies with progress. For
    Benjamin, who would commit suicide in September 1940 to escape Nazism,
    the sense of history is the overpowering progression of disaster upon
    disaster.

    Indifference: the worst of attitudes

    It is true the reasons to be indignant can seem today less clearly
    related or the world too complex. Who's doing the ordering, who decides?
    It is not always easy to differentiate between all the currents that
    govern us. We are not any more dealing with a small elite whose joint
    activities can be clearly seen. It is a vast world, of which we have a
    feeling of interdependence.

    We live in an interconnectivity as never before. But in this world there
    still are intolerable things. To see them, it is well and necessary to
    look, to search. I say to the young people, Search little, and that is
    what you are going to find. The worst of attitudes is indifference, to
    say "I can do nothing there, I'll just manage to get by." By including
    yourself in that, you lose one of the essential elements that makes the
    human being: the faculty of indignation and the commitment that is a
    consequence of it.

    They [young people] can already identify two big new challenges:

    1. The huge gap which exists between the very poor and the very rich and
    that does not cease increasing. It is an innovation of the 20th and 21st
    centuries. The very poor in the today's world earn barely two dollars a
    day. The new generation cannot let this gap become even greater. The
    official reports alone should provoke a commitment.

    2. Human rights and state of the planet: I had the chance after the
    Liberation to join in the writing of the Universal Declaration of Human
    Rights, adopted by the United Nations organization, on December 10th,
    1948, in Paris at the palace of Chaillot. It was as principal private
    secretary of Henry Laugier, the adjunct general-secretary of the UN, and
    as and secretary of the Commission on Human Rights that I with others
    was led to participate in the writing of this statement. I wouldn't know
    how to forget the role in its elaboration of Ren Cassin, who was
    national commissioner of justice and education in the government of Free
    France in London in 1941 and won the Nobel peace prize in 1968, nor that
    of Pierre Mend s-France in the Economic and Social Council, to whom the
    text drafts we worked out were submitted before being considered by the
    Third Committee (Social, Humanitarian and Cultural) of the General
    Assembly. It was ratified by the 54 member states in session of the
    United Nations, and I certified it as secretary.

    It is to Ren Cassin that we owe the term "universal rights" instead of
    "international rights" as offered by our American and British friends.
    This [universal versus international] was key because, at the end of the
    Second World War, what was at stake was to becomeereignty," which a
    nation can emphasize while it devotes itself to crimes against humanity
    on its own soil. Such was the case of Hitler, who felt himself supreme
    and authorized to carry out a genocide. This universal statement owed
    much to universal revulsion towards Nazism, fascism, and totalitarianism
    -- and owes a lot, in our minds, to the spirit of the Resistance.

    I had a feeling that it was necessary to move quickly so as not to be
    dupes of the hypocrisy that there was in the UN membership, some whom
    claimed these values already won but had no intention at all to promote
    them faithfully -- claimed that we were trying to impose values on them.

    I can not resist the desire to quote Article 15 of the Universal
    Declaration of Human Rights (1948): "Everyone has the right to a
    nationality." Article 22 says, "Everyone, as a member of society, has
    the right to social security and is entitled to realization, through
    national effort and international cooperation and in accordance with the
    organization and resources of each State, of the economic, social and
    cultural rights indispensable for his dignity and the free development
    of his personality." And if this statement has a declarative scope, and
    not statutory, the Declaration nevertheless has played a powerful role
    since 1948. It saw colonized people take it up in their fight for
    independence; it sowed minds in a battle for freedom.

    I note with pleasure that in the course of last decades there has been
    an increase in nongovernmental organizations (NGOs) and social movements
    such as ATTAC (Association for the Taxation of Financial Transactions);

    also FIDH (International Federation for Human Rights) and Amnesty
    International, which are active and competitive. It is obvious that to
    be effective today it is necessary to act in a network, to use all
    modern means of communication.

    To the young people, I say: Look around you, you will find topics that
    justify your indignation facts about treatment of immigrants, of
    "illegal" immigrants, of the Roma [aka Gypsies]. You will find concrete
    situations that lead you to strong citizen action. Search and you shall
    find!

    My indignation regarding Palestine outrages by Israel [Indignez-vous!]

    Today, my main indignation concerns Palestine, the Gaza Strip, and the
    West Bank of Jordan. This conflict is outrageous. It is absolutely
    essential to read the report by Richard Goldstone, of September 2009, on
    Gaza, in which this South African, Jewish judge, who claims even to be a
    Zionist, accuses the Israeli army of having committed "acts comparable
    to war crimes and perhaps, in certain circumstances, crimes against
    humanity" during its "Operation Cast Lead," which lasted three weeks.

    I went back to Gaza in 2009 myself, when I was able to enter with my
    wife thanks to our diplomatic passports, to study first-hand what this
    report said. People who accompanied us were not authorized to enter the
    Gaza Strip. There and in the West Bank of Jordan. We also visited the
    Palestinian refugee camps set up from 1948 by the United Nations agency
    UNRWA, where more than three million Palestinians expelled off their
    lands by Israel wait even yet for a more and more problematical return.

    As for Gaza, it is a roofless prison for one and a half million
    Palestinians. A prison where people get organized just to survive.
    Despite material destruction such as that of the Red Crescent hospital
    by Operation Cast Lead, it is the behavior of the Gazans, their
    patriotism, their love of the sea and beaches, their constant
    preoccupation for the welfare of their children, who are innumerable and
    cheerful, that haunt our memory. We were impressed by how ingeniously
    they face up to all the scarcities that are imposed on them. We saw them
    making bricks, for lack of cement, to rebuild the thousands of houses
    destroyed by tanks. They confirmed to us that there had been 1400 deaths
    including women, children, and oldsters in the Palestinian camp
    during this Operation Cast Lead led by the Israeli army, compared to
    only 50 injured men on the Israeli side. I share conclusions of the
    South African judge. That Jews can, themselves, perpetrate war crimes is
    unbearable. Alas, history does not give enough examples of people who
    draw lessons from their own history. [The author, St phane Hessel, had
    a Jewish father.]

    Terrorism, or exasperation?

    I know that Hamas [party of Palestine freedom fighters], which had won
    the last legislative elections, could not help it that rockets were
    launched on Israeli cities in response to the situation of isolation and
    blockade in which Gazans exist. I think, naturally, that terrorism is
    unacceptable; but it is necessary to acknowledge (from experience in
    France) that when people are occupied by forces immensely superior to
    their own, popular reaction cannot be altogether bloodless.

    Does it serve Hamas to send rockets onto the town of Sd rot [Israeli
    town across the border from Gaza]?

    The answer is no. This does not serve their purpose, but they can
    explain this gesture by the exasperation of Gazans. In the notion of
    exasperation, it is necessary to understand violence as the regrettable
    conclusion of situations not acceptable to those who are subjected them.

    Thus, they can tell themselves, terrorism is a form of exasperation. And
    that this "terrorism" is a misnomer. One should not have to resort to
    this exasperation, but it is necessary to have hope. Exasperation is a
    denial of hope. It is comprehensible, I would say almost natural, but it
    still is not acceptable. Because it does not allow one to acquire
    results that hope can possibly, eventually produce.

    Nonviolence: the way we must learn to follow

    I am persuaded that the future belongs to nonviolence, to reconciliation
    of different cultures. It is by this way that humanity will have to
    enter its next stage. But on this I agree with Sartre: We cannot excuse
    the terrorists who throw bombs, but we can understand them. Sartre wrote
    in 1947: "I recognize that violence in whatever form it may manifest
    itself is a setback. But it is an inevitable setback because we are in a
    world of violence. And if it is true that recourse to violence risks
    perpetuating it, it is also true it is the sure means to make it stop."

    To that I would add that nonviolence is a surer means of making violence
    stop. One can not condone the terrorism, using Sartre or in the name of
    this principle, during the war of Algeria, nor during the Munich Games
    of 1972 the murder attempt made against Israeli athletes. Terrorism is
    not productive, and Sartre himself would end up wondering at the end of
    his life about the sense of violence and doubt its reason for being.

    However, to proclaim "violence is not effective" is more important than
    to know whether one must condemn or not those who devote themselves to
    it. Terrorism is not effective. In the notion of effectiveness, a
    bloodless hope is needed. If there is a violent hope, it is in the poem
    of William Apollinaire "that hope is violent," and not in policy.

    Sartre, in March 1980, within three weeks of his death, declared: "It is
    necessary to try to explain why the world of today, which is horrible,
    is only an instant in a long historical development, that hope always
    has been one of the dominant forces in revolutions and insurrections,
    and how I still feel hope as my conception of the future." [Note 5]

    It is necessary to understand that violence turns its back on hope. It
    is necessary to prefer to it hope, hope over violence. Nonviolence is
    the way that we must learn to follow. So must the oppressors.
    10

    It is necessary to arrive at negotiations to remove oppression; it is
    what will allow you to have no more terrorist violence. That's why you
    should not let too much hate pile up.

    The message of Mandela and Martin Luther King finds all its pertinence
    in the world that overcame the confrontation of ideologies [e.g.,
    Nazism] and conquered totalitarianism [e.g.,Hitler]. It is also a
    message of hope in the capacity of modern societies to overcome
    conflicts by a mutual understanding and a vigilant patience. To reach
    that point is necessarily based on rights, against es, such as the
    military intervention in Iraq.

    We had this economic crisis, but we still did not initiate a new policy
    of development. Also, the summit of Copenhagen against climatic warming
    did not bring about a true policy for the preservation of the planet.

    We are on a threshold between the terror of the first decade and the
    possibilities of following decades. But it is necessary to hope, it is
    always necessary to hope. The previous decade, that of 1990s, had been a
    time of great progress. The United Nations had enough wisdom to call
    conferences such as those of Rio on environment, in 1992, and that of
    Beijing on women, in 1995. In September 2000, on the initiative of the
    general secretary of United Nations, Kofi Annan, the 191 member
    countries adopted a statement on the "eight objectives of the millennium
    for development," by which they notably promised to reduce poverty in
    the world by half before 2015.

    My big regret is that neither Obama nor the European Union has yet
    committed themselves to what should be the provision for a useful forum
    bearing on the fundamental values.

    Conclusion

    How to conclude this call to be indignant? By saying still what, on the
    occasion of the sixtieth anniversary of the program of the National
    Council of the Resistance, we said on March 8th, 2004 -- we veterans of
    the resistance movements and combat forces of Free France (1940-1945) --
    that certainly "Nazism was conquered, thanks to the sacrifice of our
    brothers and sisters of the Resistance and United Nations against
    fascist barbarism. But this threat did not completely disappear, and our
    anger against injustice is ever intact." [Note 6] Also, let us always be
    called in "a truly peaceful insurrection against means of mass
    communication that offer as a vista for our youth only the consumption
    of mass trivia, contempt of the weakest and the culture, a generalized
    amnesia, and the hard competition of all against all."

    To those who will make the 21st century, we say with our affection:

    TO CREATE IS TO RESIST; TO RESIST IS TO CREATE.

    26 January 2011

    Martin Pitt: Na zdrav PyGI!

    (Update: Link to Tomeu s blog post, repost for planet.gnome.org) Last week I was in Prague to attend the GNOME/Python 2011 Hackfest for gobject-introspection, to which Tomeu Vizoso kindly invited me after I started working with PyGI some months ago. It happened at a place called brmlab which was quite the right environment for a bunch of 9 hackers: Some comfy couches and chairs, soldering irons, lots of old TV tubes, chips, and other electronics, a big Pirate flag, really good Wifi, plenty of Club Mate and Coke supplies, and not putting unnecessary effort into mundane things like wallpapers. It was really nice to get to know the upstream experts John (J5) Palmieri and Tomeu Vizoso (check out Tomeu s blog post for his summary and some really nice photos). When sitting together in a room, fully focussing on this area for a full week, it s so much easier to just ask them about something and getting things done and into upstream than on IRC or bugzilla, where you don t know each other personally. I certainly learned a lot this week (and not only how great Czech beer tastes :-) )! So what did I do? Application porting After already having ported four Ubuntu PyGTK applications to GI before (apport, jockey, aptdaemon, and language-selector),
    my main goal and occupation during this week was to start porting a bigger PyGTK application. I picked system-config-printer, as it s two magnitudes bigger than the previous projects, exercises quite a lot more of the GTK GI bindings, and thus also exposes a lot more GTK annotation and pygobject bugs. This resulted in a new pygi s-c-p branch which has the first 100 rounds of test, break, fix iterations. It now at least starts, and you can do a number of things with it, but a lot of functionality is still broken. As a kind of finger exercise and also to check for how well pygi-convert works for small projects now, I also ported computer-janitor. This went really well (I had it working after about 30 minutes), and also led me to finally fixing the unicode vs. str mess for GtkTreeView that you got so far with Python 2.x. pygobject and GTK fixes Porting system-config-printer and computer-janitor uncovered a lot of opportunities to improve pygi-convert.sh, a big perl -e kind of script to do the mechanical grunt work of the porting process. It doesn t fix up changed signatures (such as adding missing arguments which were default arguments in PyGTK, or the ubiquitous user_data argument for signal handlers), but at least it gets a lot of namespaces, method, and constant names right. I also fixed three annotation fixes in GTK+. We also collaboratively reviewed and tested Pavel s annotation branch which helped to fix tons of problems, especially after Steve Fr cinaux s excellent reference leak fix, so if you play around with current pygobject git head, you really also have to use the current GTK+ git head. Speaking of which, if you want to port applications and always stay on top of the pygobject/GTK development without having to clutter your package system with make install s of those, it works very well to have this in your ~/.bashrc:
    export GI_TYPELIB_PATH=$HOME/projects/gtk/gtk:$HOME/projects/gtk/gdk
    export PYTHONPATH=$HOME/projects/pygobject
    Better GVariant/GDBus support The GNOME world is moving from the old dbus-glib python bindings to GDBus, which is integrated into GLib. However, dbus-python exposed a really nice and convenient way of doing D-Bus calls, while using GDBus from Python was hideously complicated, especially for nontrivial arguments with empty or nested arrays:
    from gi.repository import Gio, GLib
    from gi._gi import variant_type_from_string
    d = Gio.bus_get_sync(Gio.BusType.SESSION, None)
    notify = Gio.DBusProxy.new_sync(d, 0, None, 'org.freedesktop.Notifications',
        '/org/freedesktop/Notifications', 'org.freedesktop.Notifications', None)
    vb = GLib.VariantBuilder()
    vb.init(variant_type_from_string('r'))
    vb.add_value(GLib.Variant('s', 'test'))
    vb.add_value(GLib.Variant('u', 1))
    vb.add_value(GLib.Variant('s', 'gtk-ok'))
    vb.add_value(GLib.Variant('s', 'Hello World!'))
    vb.add_value(GLib.Variant('s', 'Subtext'))
    # add an empty array
    eavb = GLib.VariantBuilder()
    eavb.init(variant_type_from_string('as'))
    vb.add_value(eavb.end())
    # add an empty dict
    eavb = GLib.VariantBuilder()
    eavb.init(variant_type_from_string('a sv '))
    vb.add_value(eavb.end())
    vb.add_value(GLib.Variant('i', 10000))
    args = vb.end()
    result = notify.call_sync('Notify', args, 0, -1, None)
    id = result.get_child_value(0).get_uint32()
    print id
    So I went to making the GLib.Variant constructor work properly with nested types and boxed variants, adding Pythonic GVariant iterators and indexing (so that you can treat GVariant dictionaries/arrays/tuples just like their Python equivalents), and finally a Variant.unpack() method for converting the return value of a D-Bus call back into a native Python data type. This looks a lot friendlier now:
    from gi.repository import Gio, GLib
    d = Gio.bus_get_sync(Gio.BusType.SESSION, None)
    notify = Gio.DBusProxy.new_sync(d, 0, None, 'org.freedesktop.Notifications',
        '/org/freedesktop/Notifications', 'org.freedesktop.Notifications', None)
    args = GLib.Variant('(susssasa sv i)', ('test', 1, 'gtk-ok', 'Hello World!',
        'Subtext', [],  , 10000))
    result = notify.call_sync('Notify', args, 0, -1, None)
    id = result.unpack()[0]
    print id
    I also prepared another patch in GNOME#640181 which will provide the icing on the cake, i. e. handle the variant building/unpacking transparently and make the explicit call_sync() unnecessary:
    from gi.repository import Gio, GLib
    d = Gio.bus_get_sync(Gio.BusType.SESSION, None)
    notify = Gio.DBusProxy.new_sync(d, 0, None, 'org.freedesktop.Notifications',
        '/org/freedesktop/Notifications', 'org.freedesktop.Notifications', None)
    result = notify.Notify('(susssasa sv i)', 'test', 1, 'gtk-ok', 'Hello World!',
                'Subtext', [],  , 10000)
    print result[0]
    I hope that I can get this reviewed and land this soon. Thanks to our sponsors! Many thanks to the GNOME Foundation and Collabora for sponsoring this event!

    25 January 2011

    John Goerzen: rdiff-backup, ZFS, and rsync scripts

    rdiff-backup vs. ZFS As I ve been writing about backups, I ve gone ahead and run some tests with rdiff-backup. I have been using rdiff-backup personally for many years now probably since 2002, when I packaged it up for Debian. It s a nice, stable system, but I always like to look at other options for things every so often. rdiff-backup stores an uncompressed current mirror of the filesystem, similar to rsync. History is achieved by the use of compressed backwards binary deltas generated by rdiff (using the rsync algorithm). So, you can restore the current copy very easily a simple cp will do if you don t need to preserve permissions. rdiff-backup restores previous copies by applying all necessary binary deltas to generate the previous version. Things I like about rdiff-backup:
    1. Bandwidth-efficient
    2. Reasonably space-efficient, especially where history is concerned
    3. Easily scriptable and nice CLI
    4. Unlike tools such as duplicity, there is no need to periodically run full backups old backups can be deleted without impacting the ability to restore more current backups
    Things I don t like about it:
    1. Speed. It can be really slow. Deleting 3 months worth of old history takes hours. It has to unlink vast numbers of files and that s pretty much it, but it does it really slowly. Restores, backups, etc. are all slow as well. Even just getting a list of your increment sizes so you d know how much space would be saved can take a very long time.
    2. The current backup copy is stored without any kind of compression, which is not at all space-efficient
    3. It creates vast numbers of little files that take forever to delete or summarize
    So I thought I would examine how efficient ZFS would be. I wrote a script that would replay the rdiff-backup history first it would rsync the current copy onto the ZFS filesystem and make a ZFS snapshot. Then each previous version was processed by my script (rdiff-backup s files are sufficiently standard that a shell script can process them), and a ZFS snapshot created after each. This lets me directly compare the space used by rdiff-backup to that used by ZFS using actual history. I enabled gzip-3 compression and block dedup in ZFS. My backups were nearly 1TB in size and the amount of space I had available for ZFS was roughly 600GB, so I couldn t test all of them. As it happened, I tested the ones that were the worst-case scenario for ZFS: my photos, music collection, etc. These files had very little duplication and very little compressibility. Plus a backup of my regular server that was reasonably compressible. The total size of the data backed up with rdiff-backup was 583 GB. With ZFS, this came to 498GB. My dedup ratio on this was only 1.05 (meaning 5% or 25GB saved). The compression ratio was 1.12 (60GB saved). The combined ratio was 1.17 (85GB saved). Interestingly 498 + 85 = 583. Remember that the data under test here was mostly a worst-case scenario for ZFS. It would probably have done better had I had the time to throw the rest of my dataset at it (such as the 60GB backup of my iPod, which would have mostly deduplicated with the backup of my music server). One problem with ZFS is that dedup is very memory-hungry. This is common knowledge and it is advertised that you need to use roughly 2GB of RAM per TB of disk when using dedup. I don t have quite that much to dedicate to it, so ZFS got VERY slow and thrashed the disk a lot after the ARC grew to about 300MB. I found some tweakables in zfsrc and the zfs command that let me tweak the ARC cache to grow bigger. But the machine in question only has 2GB RAM, and is doing lots of other things as well, so this barely improved anything. Note that this dedup RAM requirement is not out of line with what is expected from these sorts of solutions. Even if I got absolutely stellar dedup ratio of 2:1, that would get me at most 1TB. The cost of buying a 1TB disk is less than the cost of upgrading my system to 4GB RAM, so dedup isn t worth it here. I think the lesson is: think carefully about where dedup makes sense. If you re storing a bunch of nearly-identical virtual machine images the sort of canonical use case for this go for it. A general fileserver well, maybe you should just add more disk instead of more RAM. Then that raises the question: if I don t need dedup from ZFS, do I bother with it at all, or just use ext4 and LVM snapshots? I think ZFS still makes sense, given its built-in support for compression and very fast snapshots LVM snapshots are known to cause serious degradation to write performance once enabled, which ZFS doesn t. So I plan to switch my backups to use ZFS. A few observations on this:
    1. Some testing suggests that the time to delete a few months of old snapshots will be a minute or two with ZFS compared to hours with rdiff-backup.
    2. ZFS has shown itself to be more space-efficient than rdiff-backup, even without dedup enabled.
    3. There are clear performance and convenience wins with ZFS.
    4. Backup Scripts So now comes the question of backup scripts. rsync is obviously a pretty nice choice here and if used with inplace perhaps even will play friendly with ZFS snapshots even if dedup is off. But let s say I m backing up a few machines at home, or perhaps dozens at work. There is a need to automate all of this. Specifically, there s a need to:
      1. Provide scheduling, making sure that we don t hammer the server with 30 clients all at once
      2. Provide for run before jobs to do things like snapshot databases
      3. Be silent on success and scream loudly via emails to administrators on any kind of error and keep backing up other systems when there is an error
      4. Create snapshots and provide an automated way to remove old snapshots (or mount them for reading, as ZFS-fuse doesn t support the .zfs snapshot directory yet)
      To date I haven t found anything that looks suitable. I found a shell script system called rsbackup that does a large part of this, but something about using a script whose homepage is a forum makes me less than 100% confident. On the securing the backups front, rsync comes with a good-looking rrsync script (inexplicably installed under /usr/share/doc/rsync/scripts instead of /usr/bin on Debian) that can help secure the SSH authorization. GNU rush also looks like a useful restricted shell.

    24 January 2011

    Clint Adams: Wicking and vents

    There are certain people who are NIH-prone. Usually I consider this insane, but sometimes I sympathize. Certainly I have pulled a NIH once or thrice before. Maybe I'm one of those old curmudgeons who incorrectly remembers the past, but I have the feeling that software used to work a whole lot better. Admittedly it did less, but it was also less prone to weird semi-failures. I am probably repressing a bunch of kernel oopses in the '90s. Now though, I can waste a week and a half being miserable as SIP clients fail on me erratically, because I hate Twinkle and no one thought to tell me that Twinkle is really the only SIP client that works. The interoperability of CalDAV and GroupDAV servers and clients seems to be abysmal. The same even appears to be true of plain ol' WebDAV. There are multiple forks of Markdown. I blame John Gruber for not maintaining a strong-enough central standard. No working LUKS-encrypted live images appear to exist in the wild. The only reliable and useful backup software for my needs was abandoned in 2008. Everything in Rails is bloated and crazy, except for Redmine. How is Redmine able to transcend? I do not understand. There is no way you can run an Android phone on only free software. freeswitch is on crack.

    Next.

    Previous.