Search Results: "cas"

25 May 2006

Wouter Verhelst: Edge flipping.

So, in my previous blog post, I mentioned that Enlightenment, bug-ridden as it is, is the only application I've seen thus far that implements edge flipping the right way. Since it's been a long time since I last used the only windowmanager that actually implements it the right way, I've been able to give it quite some thought by now. Here's my take at it: The central thing to remember is that the edge flipping interface will trigger accidentally. No matter how well you implement your interface, sometimes a user will accidentally move his or her mouse, or he/she will want to click somethin near the edge of the screen and touch it. Therefore, there are two things an implementer should do:
  1. Make every effort to avoid accidental edge flipping where possible, and
  2. Make it as easy as possible for the user to correct an accidental triggering of the interface.
The best way is to make sure your interface has the following characteristics: Getting the above two right will ensure that accidental edge flipping is reduced to a minimum. This is the first step, and one that only Enlightenment and IceWM got right. The final step, however, is something that IceWM does not get right; and this is what makes Enlightenment's edge flipping implementation such a natural thing to do: Some people will find that last point evil, I'm sure. I'll admit it took me a while to get accustomed to it as well. But it's the only natural thing to do. You should think of your virtual workspaces as one large desktop; if you're using four workspaces next to eachother, that means one large desktop four workspaces wide. When you move the mouse one quarter to the left, it's normal that it ends up about the same place on that same desktop. In other words, warp the mouse. Additionally, the mouse warping will have the effect that it makes recovery from accidental edge flipping easy and fast. If the mouse stays where it was after edge flipping (as in the case of brightside and IceWM), then if I accidentally hit my mouse, by the time I've moved my arm towards the mouse and started moving it back, I've moved away three workspaces from where I was already (because of the second bullet point in this post). If, however, the mouse does warp to the opposite side of the screen (i.e., the side where it was coming from), then going back to where you were is just a matter of moving the mouse a few millimeters in the opposite direction. Very easy to accomplish, that... Oh, and finally, you also shouldn't segfault at random. Again something that brightside did not get right when I used it—did I mention that brightside is crap? Well, I did now. Hopefully it's changed for the better in the mean time. Back in my Enlightenment days, I used workspaces a lot, because Enlightenment made it so natural with its excellent edge flipping implementation, and with the help of the pagers which would always, at any time, give me a snapshot of all my workspaces, helping me to remember where this or that application was running. IceWM doesn't replace that, but it sure gets close.

David Pashley: Pathological Date Parser in Java

I've recently had cause to parse some date values in Java. As a result I've produced a class which can manage to parse an awful lot of date formats. I thought I'd better document it in case someone found it useful. Certainly there doesn't appear to be anything elsewhere which shows you how to parse lots of formats. I have found the order of date_formats to be very brittle, so I don't recommend you change it without an awful lot of test cases. Anyway, without further to do, I present to you, the Pathological Date Parser for Java
// Copyright 2006 David Pashley <david@davidpashley.com>
// Licensed under the GPL version 2
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.TimeZone;
public class Date  
    private Calendar date;
    static String[] date_formats =  
            "yyyy-MM-dd'T'kk:mm:ss'Z'",        // ISO
            "yyyy-MM-dd'T'kk:mm:ssz",          // ISO
            "yyyy-MM-dd'T'kk:mm:ss",           // ISO
            "EEE, d MMM yy kk:mm:ss z",        // RFC822
            "EEE, d MMM yyyy kk:mm:ss z",      // RFC2882
            "EEE MMM  d kk:mm:ss zzz yyyy",    // ASC
            "EEE, dd MMMM yyyy kk:mm:ss",   //Disney Mon, 26 January 2004 16:31:00 ET
            "-yy-MM",
            "-yyMM",
            "yy-MM-dd",
            "yyyy-MM-dd",
            "yyyy-MM",
            "yyyy-D",
            "-yyMM",
            "yyyyMMdd",
            "yyMMdd",
            "yyyy", 
            "yyD"
    
     ;
    public Date(String d)  
        SimpleDateFormat formatter = new SimpleDateFormat();
        d = d.replaceAll("([-+]\\d\\d:\\d\\d)", "GMT$1"); // Correct W3C times
        d = d.replaceAll(" ([ACEMP])T$", " $1ST"); // Correct Disney timezones
        for (int i = 0; i < date_formats.length; i++)  
           try  
              formatter.applyPattern(date_formats[i]);
              formatter.parse(d);
              date = formatter.getCalendar();
              break;
             catch(Exception e)  
              // Oh well. We tried
            
         
        
     
 
The only date formats I can't get it to parse are <4-digit year>-<day of year> and <2digit year><day of year> (e.g. 2003-335 and 03335 for 2003-12-01). If you can add support for those and other date formats I'll gladly take patches.

Carlos Parra Camargo: I mean Planet Debian

Ok, the order matters in this case, you are right Brett, i mean Planet Debian. This morning a lot of my old posts have been in Planet Debian, now seems to be fixed. Ouch, I've just realized that i need a hackergotchi :D

Simon Law: Debconf 6, Day 5


Gorditas
Originally uploaded by sfllaw.
After a very tasty breakfast of gorditas in the market, I sat through talks all of Thursday morning, which were all quite good. They were visionary talks, talks about where Debian was going to go, and what we can do to get it there. After a brief lunch, we returned for the talk of debugging debian-installer. I've been lugging around my laptop, jamaica, through the entire conference. It's an old A20m, which means that it's a rather bulky looking thing, that is quite heavy. What makes it noticable is that it's been epoxied together, after having been dropped one too many times. People marvel that GNOME runs reasonably on it. Anyway, during the talks, my wireless card decided it didn't want to work any more. Pulling it out and letting it cool down seemed to get it responsible again. Strange. After the afternoon talk on how to find security problems within Debian, I went back to the hotel to change. You see, we were going to a Formal Dinner. I had not packed for a formal dinner, thinking that all functions would be casual at the very most. Still, I pulled out a pair of pressed slacks, an ironed shirt and a colourful tie. When I left my room, it became apparent that Formal actually meant "clothes without any holes".

Mariachi band
Originally uploaded by sfllaw.
We all packed into the coach buses from yesterday and drove into town. This was actually quite difficult for the drivers, because the streets were very narrow and the buses were incapable of turning around corners. I think it took us fifteen minutes to park, which mostly consisted of doing a 30-point turn. We disembarked and walked into a large building. Two of the walls were made of stone, the rest were made of stucco. There was a small stage presiding over a floor full of fold-up tables which were arranged in a Debianesque spiral. I decided that I was going to be at the nexus of activity, so I sat down at the central table and reserved a seat for AJ. As people seated themselves and started talking, there was a sudden commotion. Holger was running towards AJ with a plastic crown, deposited it unceremoniously on his head, and continued sprinting past. This drew applause and photographs, along some cheering of "Long Live the DPL!" AJ looked decidedly uncomfortable. It's probably for the best that Debian isn't a monarchy.

Indoor waterfall
Originally uploaded by sfllaw.
Our evening got more and more interesting. A mariachi band came in the door and started playing. Soon after they started singing, rain began to fall. This made lovely sounds on the tin roof above, which made me a little sleepy. Right about now, a brawl sprang up near the front door. There was some shoving involved and quite a bit of yelling. Soon, the combatants were separated and some of them left the building in anger. All this time, the musicians were playing louder and louder. As the music crescendoed, the rain fell harder and the wind blew stronger, until we had to close up the shutters to keep the water from blowing in. And the band kept trying to play over the rain. Then, slowly, the roof began to spring leaks. We were lining up for food then, and by the time I got to the buffet table, water was pouring into the trays. I managed to get something reasonably dry and scurried back to my seat. Which was wet. After I got some food inside of me, I experience the final act that capped our evening. We were chatting a bit about the strange weather we were having indoors when suddenly, water started cascading down one of the walls. It made a tremendous roar and the floor of the building quickly flooded. As I was photographing the events, the lights suddenly went out with a pop. We were plunged into darkness. I made my way back to my seat and someone eventually found the fusebox. The lights were restored, one by one, and it was soon time to leave. I don't know how the organizers of next year's Debconf are going to be able to top this: ceremony, live music, fisticuffs over a woman, an indoor waterfall, and drama. This was a night we're all going to remember.

Martin F. Krafft: Post-Debconf

One thing that never really came to my mind during Debconf6 in Oaxtepec, Mexico, was blogging about what went on. In part, that's because I never had a minute to spare, plenty of other people were blogging about the event on the planet, and definitely also because I developed a dislike to play-by-play blogging, which I certainly do not like to read for my part. But now, sitting in Oaxaca in the Hostel Pochon (which has free wireless, imagine that), I feel like at least jotting down some of the highlights. My favourite non-Debian related happening must have been the descent to Mexico City airport. I am willing to bet that our pilots either had too much to drink or way too much fun, because we literally zig-zagged across this amazing city. It's about 2200 metres above sea level and our inflight information system noted our altitude at 3500m for at least 20 minutes, so glued to the window, I felt in a miniature world, hovering above a city that extends to all sides however far the eyes could see (I conclude that in all miniature worlds I've seen so far, such as the Eisenbahnmuseum Hamburg and Swiss Miniature, trains and cars are generally moving too fast). The population of "la Ciudad de Mexico" (which the locals just call "Mexico") is estimated to be somewhere between 20 and 24 million, which makes it the largest city in the world, and it was not hard to believe that during the descent (and afterwards). I arrived at Oaxtepec, a government-run vacational complex, some three or four hours after touchdown and didn't last very long until the jetlag took me to bed. That was Saturday night. With Sunday morning, the official Debconf conference had started and was to last for seven days. In general, that meant talks and BoF sessions throughout the day, loads of hacking and socialising in between, food, and drinks with more socialising in the evening (and throughout the night in some cases). I really enjoyed seeing many of the folks I had met at last year's conference in Helsinki, while some others' absence was equally prevalent. I spent most of the week hanging out with Biella Coleman, Micah Anderson, Sean Finney, Clint Adams, and a bunch of others, I also managed to make the real-life acquaintance of some people I had known online for a long time. In retrospect though, I should have spent less time with the regular clique (with whom I was to go to the post-Debconf trip anyway) and spent more time getting to know more of the attendants. The vacational complex was interesting, and unlike many others, I didn't get annoyed by the long distances between presentation room, my accomodation, the hacklab, and the place where we were served edible lunches and dinners. Rather, I enjoyed walking with others, engaged in discussions on some of the more prevalent topics filling my life with Debian (such as version control, low-level Debian tools, security issues, and social challenges). The only nuisance was the long walk to the nearby town and its market, from where I would get most of my food and drink throughout the week -- but even that walk I rarely had to manage alone. The massive pool (with a ten metre diving board) that lay in the middle of it all didn't really attract me that much, but then again I've never been much of a pool person. In the interest of various people worrying about my safety in Mexico, as well as some of my clients, I purchased a Mexican prepaid SIM card for my cellphone and linked up with the world (after two attempts and an accumulated 2.5 hour wait). The fun was only short though, when I found out that in Mexico, phone charges are ridiculously expensive, and receiving calls on a mobile phone costs exactly the same as making them. At USD 1/Minute to and from Europe, I ended up limiting my air time to a minimum. I spent most of the first couple days getting mdadm back into shape, bug triaging and uploading a new upstream to experimental, except for Monday, which I spent together with Joey Hess, Micah, and Biella trying to recover files from her wrecked filesystem, which we managed in the end using a simple fsck to at least recover her presentation. I'd be sitting on the terrace in front of the "hacklab" where people kept passing by, so my work certainly wasn't focused and without interruptions, but in the end I was still satisfied with the end result. And in the evenings, it was usually the same terrace, sampling the local beer, enjoying cheese from all over the world at the cheese party on Tuesday night, trying liquors from other parts of the globe, and talking and joking and meeting great people (I truly love the Debian crowd). Out of the large assortment of talks available, I attended several but found that front-up presentations aren't my thing and I would have to let the topic simmer a bit (along with some research) before delivering my questions to the speakers outside of the talk (where I finally got some interesting answers to long-standing questions). Thanks to the awesome work by our video team, which recorded every single presentation to tape, streaming it live and also intending to publish it on a post-conference DVD, I found myself often listening in on talks I wouldn't have gone to, while hacking away on said porch. Noticing, however, that many talk slots were left unfilled at the start of the conference (they did quickly fill with impromptu presentations and BoF sessions once the inertia of the event picked up), I was a little annoyed that my proposal was turned down in the first phase of selection. Wednesday was the day of the day trip. Against my recommendations of an early departure, we left the site at 11:30 with six busses (remarkably on time), heading for Xochicalco for a rather boring tour of the museum, and a vastly more interesting, two hour stroll (in the midday sun) around the actual archeological site, which was quite impressive despite mostly being artificially built or rebuilt by the government. We went on for an excellent buffet-style lunch (which was amazingly well organised), and then headed on for Cuernevaca, a small, romantic town where we had only an hour to spend before heading back home (who recommended starting the day earlier?). When we finally made it back to the conference, most of us were just tired and the evening wasn't as wild as some of the other ones during the week. Come Thursday, my mission was to attack the thinkpad packages, which make Debian on IBM laptops a lot more of a pleasure to use. Unfortunately, I didn't get anywhere (yet) with that work, simply because most of my time was spent battling the weird hacks that make up module-assistant, which actually makes it a lot harder for developers to provide kernel module packages (while really improving the end-user's experience). But of course, there was a positive twist to this issue, as I would now leave my screen in frustration much more frequently and socialise with the others. For the evening, the organisers had prepared the "formal dinner" (which isn't so formal at all). A bunch of busses took us to a nearby shed, where we found all tables arranged in a massive swirl, and when we were all seated, a Mariachi band entered, at the same time as the rain outside picked up -- I thought one of the Mariachis was playing the snare drum but as the rain grew stronger, I concluded it must instead be the drops on the metal roof causing the noise. Generally in love with rain, I made my way to the door while others lined up to fetch dinner and stood in awe for a bunch of minutes at the sight of the marble-sized drops descending from the sky. ... when suddenly I saw one of Debian's troublemakers, Jonathan/Ted Walther, running at me, chased by three developers and found myself amidst their altercation before I could do anything. People screaming, one reaching over my shoulder to push Ted, it was all too much. I told everyone to calm down, to which Jonathan/Ted reacted, vigorously shaking and foaming, with a "get out of my fucking way, you fucking Nazi" and I knew that stuff had gone wrong. I withdrew, and in an attempt to find out what had happened managed to piss off one of the three involved developers, who'd then later refuse to hear me out for an explanation. All that really left me in a depressed state mainly because I simply hadn't expected Debian developers getting physical at each other, and this time it was Erinn Clark who consoled me and turned the night around for the better. I still had no appetite and took the first bus home, sent an apologetic email to the offended developer (who never acknowledged receipt but seemed to have forgotten the incident the next day), and enjoyed beers while the others kept returning to the hacklab. Apparently, people were quite aware of my (passive) involvement during the incident, so I was bombarded with plenty questions, most of which I refused to answer for lack of knowledge of the actual facts. Still, when I saw one girl in another altercation with Jonathan/Ted later that night in response to severe offences he published on his blog, which led her to come close to tears, I decided it was time to pull him off the planet. He re-added himself shortly afterwards by "fixing a typo" (according to the CVS changelog), but by that time, I couldn't care less no more and simply resumed the discussions, which eventually turned into topics of life, intelligence, and the bottom-up vs. top-down debate. I am a strong supporter of bottom-up (as many of you know), and I somehow regret the way I approached the discussion, because in retrospect I see myself as somewhat arrogant during it; fortunately, noone seemed to hold it against me the next day. Throughout the entire week, I built up a reputation of the guy that needs no sleep: staying up until the early morning hours, yet rarely missing any of the first talks at 10 in the morning, and even joining with people for breakfast at the market before. Friday morning, however, I just couldn't get up. We talked until six in the morning, and when my eyelids finally moved after I dropped into bed, it was already noon and I dragged myself to the next talk. after which I simply returned to the hacklab and developed more of my dislike towards module-assistant, before the call for the official Debconf6 group picture rescued me (and those around me). The keysigning party followed and I made the mistake to offer to coordinate it (picking up where Anibal's great preparation left off), without really running the process through my head before. Standing up on the diving tower and screaming to the crowd of 140 participants, it was in part due to Moray Allen's comments that the party went more or less without any complications; I did get to conduct another experiment though. During the keysigning, Mark Shuttleworth invited a bunch of us to join him for dinner to discuss the Debian-Ubuntu situation (no bribes involved; we paid for ourselves). I'll have more on this in a separate post when it's ready. The discussion continued after we arrived back at the hacklab, and once again, I didn't go to bed at a civilised hour... ... but I did get up in time for Biella's talk, during which she employed very effective techniques to get me to actually pay attention (which I would have done anyway): she required my laptop for the presentation. Again, the talk didn't do much to me (which is not Biella's fault), but I am certainly interested in reading the relevant parts of her dissertation. At the same time, however, it made me realise how far from reality the academic world is: big words and complicated concepts just don't count when it comes to getting your hands dirty, and I will try my best not to go down that route when my own dissertation gets more serious. Two other memorable events happened on Saturday: the fun group photos (I was determined to get the participants to line up in a swirl in the pool, and partly succeeded), and the last-night-party on the porch of the hacklab, which was mighty fun, in part because we had speakers blasting tunes for the first time that week (thanks to the dance BoF the night before), and Ryan Murray was playing some of the truly excellent mixes of a close friend of his, which are available from mux.ca. I didn't sleep that night. And then Sunday had arrived, the sad last day of a great conference. I would like to thank all the organisers and helpers for making this event possible! I know some of you had some reservations before and during the event, but in the end it's the result that counts, and I was only one of many who were absolutely satisfied by the week. A great big THANK YOU to you! Following the last bits of socialising and copying Biella's harddrive image to Micah's drive for later rescue of some of her precious videos, we were off to Mexico city for the vacational part of the trip. Some of us went by bus, Vagrant and myself hopped onto the bus to assist one of our developers with his wheelchair at the airport. When the group reconvened in front of our hotel for the night in the centre of Mexico city, the vacation had started (blog post forthcoming sometime...)

Martin F. Krafft: A non-official ID at the keysigning

Sometime during the Debconf6 keysigning party, I swapped my official German ID card (which some didn't accept and wanted to see a passport instead...) with my ID card issued by the Transnational Republic, as part of an ongoing experiment I conduct at various keysigning parties. I got the ID at Debian's 10th anniversary party in Zurich (which I attended on crutches, despite it being held on the rooftop of a club), and the process required the exchange of some currency as well as presentation of my passport to TR officials. The card itself looks very similar to the German ID card; it does correctly list my personal data and has my photo on it. However, it cannot really be considered an official identity card, because it was issued by an independent political group. Then again, read further down for what "official" can mean in some parts of the world. At the keysigning, I marked down those (few) who actually took note of the ID and refused to accept it: only one in ten did. What does this mean? I do not think it means that nine out of ten signing my key do not take keysigning seriously (or don't have a clue about it); you cannot expect people to know the look of the different passports of the various nations represented at the party. It also does not mean that the web of trust is flawed. To me, the most significant outcome of my little experiment is (and has always been) that a single signature won't do; a single trust path is not enough to verify a person's identity (as in: they are who they claim to be), but every additional trust path serves to strengthen the verification. The Debian project largely depends on the web of trust. Thus, I wonder whether our requirement of a GPG key signed by a single existing developer is enough for the general case. I am not quite ready to raise this issue yet within the project, but at least many more people now know about it (if they didn't previously). Those of you who have signed my key may feel cheated at this point. Similarly, those of you who have not yet signed my key may feel disinclined. If you are interested whether you were among those who accepted the inofficial ID, I'd be glad to let you know if you ask. If you do not feel comfortable signing my key, just don't sign it. And if you did already sign my key, you can revoke the signature. However, do consider what some folks told me in discussions following the experiment: there are nations out there who will readily issue IDs with unrecognisable photos, IDs with misspelt names, without expiration date, and multiple IDs at a time. In the case I illustrated above, I simply introduced a third, untrusted-by-Debian party into the web of trust: the Transnational Republic. In a way, this is what's happening whenever we sign keys by nationals of governments we do not trust, and I'd hope that would be most governments of this globe for most everyone. Then again, as Micah and Biella vigorously assert, it's only really about you and the signer: you are who you claim to be, and I either believe it or not. The government only takes a tangential role. So what to do? If you care for my opinion (which you do, you're still reading), then we should just keep on doing what we're doing and collect more keys (with that I mean everyone). At the same time, I do not think threads like this are necessary; the criticism/concern is valid, but it's too academic for the real-world problem that keysigning is trying to solve.

24 May 2006

Neil McGovern: Wings and Roundabouts

Well, I've finally got back from DebConf6 and am quite nackered, especially considering I've just done a full day at work.

I could amuse you with the usual 'lists-of-memorable-dc6-events', or a 'review-of-each-day', or even a 'bits-from-the-orga-team', but there's pleanty of other posts on planet.d.o about that, so instead, I'll recount my experiences of the return trip, starting in Oaxtepec.

I'm also putting up all my photos, but it'll take a while. They'll be appearing over the next few days at my Fotopic site.

I wake up fairly early-ish (10am. It's early for me, ok? I'm not German :P) and pack my suitcase. I take the padlock keys out of the case and lock it. Except I got the wrong keys. So, the keys are now inside the locked case. Fortunately, I'd already taken everything out of the case I'd needed and put it in my rucksack.

Next, it comes to time to check out. I find out that we need out room checking to ensure that we haven't stolen a wall or ceiling or something. One of the cleaners has a look around and spots a missing lampshade. We (me + Fil Hands) try to explain in broken Spanish that it was missing when we arrived in the room, but she doesn't seem to be having any of it. Mind you, there is the vague possibility that "Si","Fruta","Cafe" and "Hola" isn't quite enough knowledge to explain the situation. Feh.
So, we manage to accost the lovely Amaya to do some translation for us. The cleaner lady calls her boss, who tells us it'll cost 860 pesos (£43). We politely decline. So, she then calls her boss. This all takes some time. Eventually, she opens a huge book, looks inside and sees that the shade was taken away by maintainance. Why this wasn't done before, I don't know.

Anyway, our bus was leaving at 2:00pm, so we had to rush to the reception. The journey was quite pleasent, and we eventually arrived at the airport at 4:20pm. There was a small altercation with the Taxi driver over the tip, as it was already included in the fair, and he said it wasn't. We then pointed out that tolls were also included in the fair, and the driver didn't take a toll road. At this point, he seemed to dissapear quite satified.

I approached the Air France desk, and was told I coudn't check in until 7:30pm (my flight dind't leave until 11:30pm). Bugger. So after waiting around quite a while, and getting something to eat, I went to check in. There was a huge queue, but it didn't really matter, as I was flying under a Flying Blue - Silver level card, so I could use the express queue. They did, however, want to check my luggage. Broken Spanish did work this time, as I wildly gestated towards my suitcase, making key symbols.

So, after another long wait, we (me and Daniel Baumann, we're on the same flight, and indeed sitting next to each other by some freak coincidence) wander off through to the gate. I manage to find some free wireless (ESSID: co_admeralty_club) and surf for a bit. Flight ends up being delayed for 30 mins, but it didn't matter too much.

Then, I hear an annoucement over the intercom, that a group of passengers should contact the gate staff, and my name is mentioned. A little worried, I approach.
"Hello, I'm Mr McGovern. My name was called on the intercom."
"Can I have your boarding pass please?"
"Sure..." *worry*
"Thank you.... ok, we'd like to invite you to fly business class with us today sir."
"Thank you very much"
I then proceed to whistle the 'Kill Bill' tune, as for some reason, it's following me everywhere I go in the airport, be it a cleaner, or another passenger. I think it's like some sort of virus, infecting one person and moving on to the next host.

We still had a little while, so we popped back to the waiting area to, well, wait. We saw some of the Brixen gang, and one of them had his laptop stolen : That's the second laptop down then. The first was run over by a car in Oaxtepec.

So, I board the plane, and am immediately offered lots of alcohol and other free thingstm. Which was nice. Unfortunately, the plane was further delayed. This means that on arriving in CDG, my connecting flight was already boarding. It was at this point that I had dounts about my luggage arriving in MAN at the same time as me.

So, I board the plane in Paris, and it's a straightforward flight. But lo and behold, at the other end, no baggage. No suprises there then.

Today, my luggage arrived at 8:00pm, just after I've got home from work. I'd also got a nice letter from the Inland Revenue, with a £215.67 tax rebate \o/

As my subject: S^HWings and Roundabouts.

Joey Hess: the supermarket thing

At DebConf I whined at Mark Shuttleworth about my fears that Ubuntu is reducing Debian to a supermarket of components (an analogy that was introduced entirely innocently by someone else during an unrelated talk). At least, that seems to be the kind of comment that I later heard some Ubuntu people characterize as whining. Anyway, NewsForge ran an article about DebConf that included a mention of that, and I had to follow up with a comment explaining a bit more about the problem. I'll reproduce it here:
The problem with everyone treating Debian as a supermarket is that it ends up with Debian == sunsite^Wmetalab. Giant un-integrated collections of software are not particularly interesting in a lot of ways. My main motive for contributing to Debian is to make Debian the best distro I can; I don't mind if others use that work, especially if stuff gets contributed back. But it's long been clear to me that the most important added value to Debian is not adding another package to the shelf, but finding new ways to integrate our software together. When you're working mostly above the level of individual software packages, to have your work mostly appreciated on the basis of "component contained in Ubuntu" is not very motivating. If that motive goes away I fear Debian could be left with mostly developers who are happily motivated with just packaging another peice of software. While there's nothing wrong with feeling that way and working on that basis, we don't want to lose the people who want to work on things that cut across sets of packages, like speeding up the boot time, improving the installation experience, making the distribution attractive for speakers of $language, making sure Debian supports as much hardware as best it can, porting Debian to interesting new architectures, integrating Xen and SE Linux with Debian, making a useful default desktop install, etc. Some of these are exactly the areas in which Ubuntu is apparently better than Debian, and in most of those cases, contributing individual patches back to Debian is simply not enough for Debian to share Ubuntu's improvements. It puts Debian at best in the position of wasting a lot of time trying to play catch-up and figure out how a collection of patches to different packages fits together into a coherent overall improvement.

Matthew Palmer: Testing the Testing of Your Tests

I'm writing an application in Ruby that makes heavy use of XMLRPC (the application of XMLRPC-over-Unix-socket fame), and so I'm using Mock Objects to mock out the XMLRPC client proxy and provide an interface that doesn't involve having a whole other infrastructure running on my laptop so I can run my test suite. For those who don't know, mock objects are objects which look and superficially act like the real objects you might use to communicate with an external service, but don't actually do the communication -- instead, they return canned responses to your calls. Why is this useful? Well, imagine that the real object talks to a SOAP service on the 'net (such as the Google search API). It means that every time you run your test suite, you need access to the Internet. The external service may also cost something everytime you talk to it -- or it may be impossible to use to test, since there's statistics generation or something going on that means that hammering it for test purposes is just impractical. In addition to returning values to your application, mock objects will usually record what has been called, so that after your test run is complete, you can also verify that all of the methods you wanted called have actually been called. This means that you can have a good idea that what you wanted to happen to the service actually would have been done. Handy. Some people have a (justified) ditrust of Mocks, because it's easy to make a mock object that doesn't perform like the real one (and hence invalidate your tests), but they provide a necessary evil in cases where you just can't use the real object when running your test suite. The XMLRPC proxy I'm using has a bit of a quirk. Everything runs through one method on that object -- XMLRPC::Client#call(). This seems really limiting, especially in a wonderfully dynamic language like Ruby. In reality, it's not too bad -- it makes the object interface easier to mock, and you couldn't emulate the whole thing with method_missing anyway, because you can have various Ruby-illegal characters in XMLRPC method names. The downside to this all-in-one-method thing, though, is that simply verifying that #call() has been invoked a dozen times doesn't really tell me much about whether the mock was used the way I wanted it to be used. My chosen mock object suite, Test::Unit::MockObject, whilst otherwise excellent, is (or rather, was) missing the ability to verify the arguments that are passed to your calls -- you can say "I need methods x(), y(), and z() called", but you couldn't say "I need the call y('foo', 'bar', 42) made". Of course, this change the mock object class is non-trivial, and needs to be tested itself (it'd be pretty lame if a class intended to facilitate automated testing lacked a test suite of it's own). I added a bunch of tests to the test suite, and got some good results. I had a couple of false starts, where I wasn't checking most of the corner cases (where bugs lurk in the shadows), but eventually I got a test suite that was fairly complete, which drove the new features I needed to a good place. So I carted my newly enhanced mock object class across to my production project, and off I went. Except that I was getting some downright weird failure messages when my code wasn't invoking the mock object the right way. Why? Because I hadn't tested that my failure messages were appropriate. Why was that? Because the assert_raise assertion in Test::Unit doesn't have a facility to make sure that you're passing back the right exception message, only that you're passing back the right exception class. Whisky, Tango, Foxtrot? Over. (This space intentionally left blank for me to insert the correction to this claim that the lazyweb is sure to provide) So I had to write a new assertion (assert_exception_message) which checked that both the right class and the right message came back. This code, of course, needs to be tested too, because otherwise you can't be sure that your test code is performing right. At this point, I was writing test code to test a new assertion I'd written so I could test the mock object class I had modified so I could test my application. At this point, things got a bit "meta". It got a bit difficult to separate out the tests from the tests' tests. But I fought through the brain melt, and shortly thereafter came out the other end with a properly working piece of actual application, and all was well in the world. By now, a certain Mr. Tendys is probably rubbing his hands with glee, as he gets ready to espouse at length about how this whole post just proves how utterly useless test-first programming (or even testing in general) is for producing economically-viable software. Let me analyse what I "spent" on getting all this functionality, though -- about 3 train trips home -- maybe 4 hours of time total, including writing the extra tests in my application to use the wonderful new features I'd made. That's not much, in the grand scheme of things. I've wasted that much time in a day skiving off work in the past because I was frustrated with what I was trying (and failing) to program, usually because I was swamped with bugs. What did that four hours of my time buy me? Heaps. I can now better verify my software works as anticipated. I have confidence that my software is a lot more robust than it was before. My tests identified several issues that passed my eyeball check, but blew up when I tried to actually use them in a particular way. But with the help of my tests, I identified the problems quickly and went on my way. Since I was working in a localised area of the application, I was immediately familiar with the code, and could stomp the bug almost immediately. If I'd only done end-to-end testing at the end of development (or worse, released it with the bugs still in there), the debugging would have been much harder because I'd forgotten little details about the code. I reckon that benefit, alone, has probably saved me 4 hours already, since I've spent whole days hunting down little bugs in an ad-hoc fashion in the past. I'm fairly sure most any programmer can empathise with me there.

Adam Rosi-Kessel: Cell Phones and Search Costs

I am one of the unfortunate hundreds of thousands of Verizon customers who eagerly ran out to buy the Motorola v710 Bluetooth phone when it first came out a couple of years ago. (For a short period of time, I could really turn heads with my wireless earpiece—now you look like an antiquarian if you don’t have a Bluetooth headset). It turns out that Verizon disabled all of the most useful Bluetooth features on the phone, and a class action lawsuit ensued, which predictably settled on terms quite beneficial to counsel, but less so to the affected class. The settlement provided several options for Verizon subscribers who had purchased the v710, only one of which had a substantial monetary value—namely, a $200 credit toward a new phone (or whatever the actual price we paid for the phone, assuming we still have receipts). The settlement period expires at the end of the month, so tonight I finally got around to cashing in on the victory. I was quickly reminded of how much I hate shopping for cell phone technology. Verizon provides more than a dozen options for cell phones, each of them mediocre in its own different way. (I should also mention that the Verizon Wireless website is, itself, mediocre in many different ways.) Cell phones have been around for long enough that it ought to be fairly mature technology; instead, you have to figure out which annoying shortcoming bothers you the least. The most expensive of the non-Pocket PC models, the Samsung SCH-a630, despite having a 2 megapixel built-in camera, has a lower image quality than the cheaper “LG the V” (better known as the LG VX9800), as well as crippled Bluetooth like the v710. I ended up settling on “LG the V,” despite its silly name and hefty form factor, because it seems to be the one model that Verizon decided not to cripple Bluetooth on. Apparently, it has complete OBEX support, and works quite well with Linux. It gets worse shopping for Bluetooth headsets. None of the top headsets recommended by cnet are even offered by Verizon. So instead you’re stuck perusing endless message board postings for threads with names like Which Bluetooth Headset is best for VX9800? trying to figure out which, in fact, is the best Bluetooth Headset for the VX9800. While some aspects of a Bluetooth headset are obviously personal preferences based on, for example, the shape of your earlobe, how often you drive in a convertible with the top down while talking on your cell, and whether you like to wear your headset to bed, I would really appreciate some objective metrics and brand uniformity. There’s no way to predict, for example, whether a particular model of Motorola, Jabra, or Logitech headset will be any good—some seem to be well received, while others have glaring design flaws. As a trademark lawyer, I’m disappointed by this state of affairs. I’d like to be able to identify a brand that I can trust and just go with it. This is especially true where it’s difficult to evaluate the quality of an item on first inspection (or over the Internet) and it’s an item you’ll keep for at least a while (two or three years for cell equipment). As things stand, there seem to be few real winners, and the search costs are inordinately high. Hopefully the invisible hand will eventually fix this situation, but I’m not going to bet on it.

22 May 2006

Uwe Hermann: Podsploiting

The RedTeam, a penetration testing group, has released two security advisories which explain security holes in two podcast clients (podcatchers). Both exploits are possible because the input of the programs is not properly (or at all) sanitized. Basically, they call system($wget_cmd) where $wget_cmd is shell (/bin/sh) code which shall download a file via wget. As the $wget_cmd string contains contents from an untrusted source (HTML/XML on some random server), this results in an "arbitrary code execution" vulnerability, the worst-case scenario you could imagine. If someone is naive enough to even run such a podcatcher as root, this means a remote root exploit! Anyways, the RedTeam is definately correct in saying that more and more people start listening to podcasts, and more and more podcatchers are written. But few of them are written with security in mind, which leaves many listeners at risk... I wonder how popular closed-source podcatchers such as iTunes are affected here. Are there any published audits/audit-results (black-box auditing, obviously, as you don't have the source code) for iTunes? As for Free Software implementations... consider this a call for reviews and audits! If you know/use one of the many podcatchers (or an RSS feed aggregator, which are affected by similar issues), and have some knowledge on secure programming, get the source and review the application. Make the software you use, and the world at large, a little safer. I'll definately have a look at the programs I'm using soonish...

Andrew Pollock: [life] Tour de Cure ride

Today was the previously mentioned Tour de Cure ride. I'd managed to raise the requisite $150, just from hitting up people I host services for, which made it nice and easy (thanks again guys!). The weather forecast was fairly ominous, but the rain stayed away until we got back. The ride itself was fairly leisurely. The highlight was cycling through Palo Alto and checking out the very nice looking houses. 25 kilometres was pretty easy. It took a little over an hour, so I think I'll try the 50 kilometre ride next year. Some photos from the ride are here.

21 May 2006

Christian Perrier: Debconf - day 7

This Saturday was my talk's (shared with Javier Fernandez) day so, obviously, everything was mostly centered on it for me of course. The point is for sure arriving in condition at the talk's moment (16:00, ie the very last formal talk of the Debconf). I first went to Mark's Ubuntu Q&A; session. Pretty live session and interesting confirmaiton by Mark that, even though Rosetta/Launchpad still remains non free software, we could in the future collaborate with WordForge to allow building networks of i18n resources. I quickly ran to the Google Summer of Code BOF to be able to give news about our i18n infrastructure project. I have been delighted to see that the project got ranked very high and we're really likely to have it accepted (I hope this can be leaked this way...:-))). Running again to the Lightning Talks BOF by Joey, I just arrived to be able to show that I can indeed pronounce Jeroune vanne ouolfelaaaaaar very well. Then I attended Erinn and Anthony talk about debugging, which was pretty informative for me, one of the very few who raised their hand when Erinn asked for people who have never used "strace". Thanks, Erinn and Anthony. The fun photo was a good occasion to relax down and forget about my worrying of "where the hell is my cotalker".... We then jumped in the pool and formed this nice swirl (yes, it was nice, Aigars!). The french dudes later began a very entertaining ballet at the diving platforms, all jumping together, lalala. Ido have nice pictures (by the way, everything is uplaoded now). The next hours were spent doing what's usually recommended when giving a talk: last minutes changes with Javier, up to the VERY last minute, where I of course added my beloved SpongeBob Square Pants picture in the slides. About the talk, well, from my point of view it went well. I would have preferred seeing more package maintainers in the audience but, hey, this was the last Debconf formal talk so many were probably tired..:-). Anyway, the world map are still a good fun and, yes, Frans, next time I'll try to be a little less slow (but, hey, everybody has seen me blogging abou tpeople who speak way to fast....). This time, my slowlyness and habit to speak as clearly as possible were in high contrast with Javier's high speed debit..:-) Good positive feedback anyway and good vibrations for me. Thanks to the audience. Coming back at the hacklab we used Javier Sola's last minutes in Mexico up to the end. A very constructive meeting along with Otavio Salvador, Nicolas Fran ois, Aigars Mahinovs, Javier himself and Rapha l Hertzog (who's involved in the GSoC stuff). We finally concluded about the task we can assign to the GSoC student if the project is accepted. This was a good meeting and a good way to reach an agreement between people who do not always agree. The remaining of the evening and night has been spent coping up with my mail backlog and doing a few hacking, l10n commits and various small stuff which accumulated during the previous days. As it happened since 3 days, I was happy enough to have Elizabeth online before going to bed and then we shared some love over the ocean. I even had the plan to send my "je t'aime" during the talk (she was listening, or trying to)....but it would have sounded silly. But anyway, I love her, fellows. The next day will be the last day....yet another "hug" day, I think...not the happiest but....see you at Debconf7!

Ian Murdock: Open-source Java and compatibility in the Java world

Sun is worried about compatibility in a world where Java is open source. I can’t say I blame them, and I say this as someone who spends a majority of his time thinking about compatibility in the Linux world, where we’ve managed to hold it together but still have a lot of work to do to match the relative consistency of the Microsoft alternatives (Windows and .NET, among others). After all, a platform is useless if there’s not a single, standard way for developers to target it. Question is: Does open source inherently lead to compatibility problems? Hardly. How many incompatible versions of, say, Apache are there? Or the Ps of the LAMP stack (Perl, PHP, Python)? Or MySQL? GNOME? KDE? BIND? CUPS? The only reason “Linux” and compatibility often come up in the same breath is because the term is used to describe so many different things. Yes, “Linux” has compatibility issues if you’re comparing Red Hat, SUSE, and Debian, but the actual “Linux” used by each of these “Linuxes” (that is, the Linux kernel) have few if any compatibility issues. It’s more the bits around the edges, like slightly different versions of core components with slightly different ABIs or APIs, not to mention the independently developed subsystems for configuration etc., that lead to the compatibility issues. If anything, the fact that the various Linux distributions share so many of the same open source components makes them far more compatible than the various implementations of UNIX ever were. James Gosling, the father of Java, highlights JavaScript as an example of the situation they’re trying to avoid in a recent podcast with Dan Farber. Today, he explains, there are dozens of AJAX toolkits, and the main reason for this is the need to paper over incompatibilities between the various JavaScript implementations. He’s absolutely right. If anything, though, the JavaScript situation is a good example of what might have been if we knew as much about the power of open source in setting standards in the 1990s as we know today. There are numerous JavaScript implementations today because there wasn’t a de facto standard implementation developers could just use when they needed one way back when (like there was with Apache etc. and wasn’t with some of the problematic “Linux” technologies like configuration management). What if there had been an open source JavaScript all along that became a de facto standard like Apache did? Would the AJAX world look any different today? Ironically, then, Java looks a whole lot more fragmented on its current trajectory as the various open source efforts (Apache Harmony, GCJ, GNU Classpath, etc.)—which exist only because the de facto standard implementation isn’t open source—mature and are more tightly integrated into the Linux distributions. So, what lessons does Linux have to offer Sun as it contemplates the future of Java and, more to the point, how to open source it? First of all, far from being a surefire path to turning Java into a veritable tower of babel, open source could actually help promote compatibility in the Java world. For one thing, if Sun’s Java implementation was open source, history shows there would be no need for another implementation. Case in point: Remember the other Harmony project? Secondly, what’s in a name? Absolutely everything. It’s entirely possible to open source Java without diluting the Java brand and the compatibility guarantees that brand promises. Most famously, this strategy has worked very well for Red Hat—Red Hat’s platform is open source, so you can fork it, but you can’t call the result “Red Hat”, which preserves the compatibility guarantee a successful platform requires. It’s not too late, but we’re rapidly approaching a time when it will be. For one thing, the open source implementations are getting better, and once the genie is out of the bottle, it’s damned near impossible to get it back in (see, again, JavaScript). As I said the other day, “open source Java” isn’t so much about licensing as it is about ubiquity, though licensing can get in the way of ubiquity. We’re almost there. Let’s take the final step we need to take to make Linux/Java as well integrated as Windows/.NET.

Evan Prodromou: 2 Prairial CCXIV

The wedding yesterday was fantastic. All three of us had a super-great time; the whole process was a cool mix of casual and formal, family and friends. Jeff and Anne-Marie know a lot of great people, and we got to meet most of them.

Andrew Pollock: [life/americania] Time flies when you're having fun

Half a year ago yesterday, I stepped off a plane in the United States. It's been an eventful 6 months, as can be seen from reviewing my blog, and I thought I'd summarise the top 10 things I like and dislike about living in this country as opposed to Australia. Ten things I like about living in California:
  1. Plenty of sunshine Love the sunshine. It was a bit wet in winter and early spring, but I'm told that it should be pretty much rain (and cloud) free for the rest of the year. Daylight saving also helps make enjoying the copious amounts of sunshine easier, it doesn't get dark until well after 8pm.
  2. The public transport options, particularly in San Francisco are vast Particularly in San Francisco, your options for getting around the city are huge. You've got the BART, the Muni (which covers about three distinct forms of public transport in itself), and the VTA overhead electric and petrol powered buses. Elsewhere in the Bay Area, you've got the Caltrain, and VTA light rail and buses.
  3. Petrol pumps You need never darken the door of a petrol station. Everywhere has pay at the pump (with plastic of course), and the pumps all have the automatic latch, so you don't even need to stand at the side of the car holding the handle while it fills up.
  4. Free parking This was a big change, coming from Canberra, which has a love affair with pay and display parking. Even the multi-storey and underground carparks in the downtown areas are free.
  5. Pedestrian crossings that countdown No excuse to get skittled because you thought you could make it in time. You known exactly how long you've got before you'll get mowed down before you step off the side of the road.
  6. The postal system Saturday delivery. Every mailbox is an outgoing mailbox (just put the little flag up).
  7. Right turns on red This is a real time saver. I can't see why Australia couldn't adopt this for left turns. The only downside is you can spend so much time looking to your left for a break in the traffic to dart out in, that you miss your green arrow (but that's what the guy behind you and his horn is for).
  8. Corporately run rental apartment complexes Instead of having an apartment complex where individual landlords own each apartment, the entire complex (and they tend to be larger) is owned by a mega-corporation that employs half a dozen people to maintain it and run it as a business. The upside is they tend to have better facilities, an onsite office (great for receipting packages delivered during the week), onsite maintenance (some places even have a service-level agreement). This offers some economies of scale that you wouldn't otherwise have.
  9. At least the perception of a low cost of living I haven't done the sums, and it's probably partially because the bills come monthly instead of quarterly, but all the utility bills seem fairly low and reasonable. Dollar for dollar, petrol is also cheaper, even though it's jumped a dollar a gallon in the time we've been here.
Of course, one must take a balanced look at these things... Ten things I don't like about living in the United States:
  1. The currency Not a big fan of the notes. I miss the one and two dollar coins, and the distinctiveness between each denomination. I figure that vending machines over here must be so much more expensive because they have to have a note reader, and even then, the treasury decides to produce some new oddball note that half of the readers don't recognise... I blame tipping. If there were no tipping, the utility of one dollar bills would diminish enormously.
  2. The government bureaucracy As my blog records, I haven't exactly had a smooth run with the system over here...
  3. The banking system The banking system in general is woeful by comparison. The cheque (or check) still reigns supreme, whereas it's nearly obsolete in Australia. There's no such animal as BPay (and oh how I miss it). In fact, the equivalent system here often involves the bank cutting a cheque on your behalf and mailing it to the biller. How ridiculously antediluvian is that? Oh, and I miss vaguely decently authenticated electronic payments. I've been at cafes were I've paid by credit card, and haven't even had to provide a signature. Given that the credit card is actually a debit card, it's pretty disturbing how easily someone can clean out your bank account.
  4. Ex-tax pricing I'm so glad that when they introduced the GST in Australia, they required by law that all prices include it. Most prices here don't, but the occasional food outlet does (like Subway for example), so it's sufficiently confusing that you can't budget for how much you're going to actually fork out.
  5. ATM fees The ATM fees are more in your face. Instead of the bank charging you a fee at the end of the month for every transaction conducted at an ATM that isn't theirs, the ATM itself tacks on an extra amount to the withdrawal and effectively skims the money. I've seen fees as high as $5 a transaction, but $2 is fairly common. It's kind of weird seeing an ATM withdrawal of $42 on your bank statement... So having a bank account that doesn't charge you feeds for non-bank ATM withdrawals is all well and good, but it doesn't stop the ATM from charging you.
  6. Inaudible pedestrian crossings Oh, the number of times I haven't been paying attention and missed the walk light at a pedestrian crossing... In some places, they do make noises like birds, or talk to you when you can walk, but they're definitely not the norm.
  7. The road surface For the highways, they seem to have gone for quantity and not quality, or they're too busy to take offline to resurface. Either way, the road surface quality is pretty poor.
  8. Sugar Everything is loaded with sugar. Absolutely everything.
  9. Alcohol labelling Light beer is low calorie, not low alcohol. I miss Australia's concept of "standard drinks". Makes it very hard to drink and drive responsibly.

Jeff Bailey: Personal Trainer

Angie gets too shy to tell people things that she does well sometimes. So in case she fails to tell everyone, she got 100% on her practical exam this afternoon. Yay, Angie! She's now certified as a CanFitPro Personal Trainer!

Christian Perrier: Debconf 6 - day 6 - real content

So, really, here's now the full story of that 6th day of Debconf. It indeed began as early as usual, like 7:30 wake-up after being to bed at 02:30. It's amazing to see how I didn't yet burned out. I had to run a 2nd BOF about i18n infrastructure, which main point was indeed to begin summarizing all the ideas we exchanged during the first one, then later during the various private discussions. We had the very good suprise to finally see Javier Sola showing up at the meeting. For those who don't know about him, Javier is member and one of the heads of the Wordforge project, a project that attempts to simplify the process of localisation of Software and is developed with Free and Open Source software in mind. Wordforge is the project that now covers the development of Pootle and related tools such as the Translate Toolkit. Javier came especially for TWO days at Debconf, from Cambodia, where he lives, just to meet us. I tried, during this second BOF to summarize ideas we had already prepared, along with other people, the night before. It is really good to see people actually pusshing you up to achieve things you wouldn't have any idea being able to do when coming. Javier then improvised a general presentation of Wordforge, which has hopefully been taped along with the BOF so that interested people will be able to see it. I have to confess that I ended up this very long session (about 2h50) absolutely enthusiast about the idea of collaborating with Wordforge and this is the way to go if we want our i18n infrastructure. Just don't ask me why, I just know this...:-) The day then went at the speed of light. First, Javier (Fernandez Sanguino, that time) and I finally began to synchronize our thoughts for the talk of the next day. This quickly lead us to...the lunch time where we continued discussing together (not much occasions to talk with Javier during that Debconf even though we wrote a 25 pages paper together...). Too bad I missed the part about NM process by Christoph Berg which would have been deeply interesting to participate. Post lunch continued with still slides work with Javier, missing our fellow Josselin talking about shared libraries (I'm afraid I wouldn't have got a clue about this, but anyway....). My award for the "best Debconf6 talk" goes, this time, to Meike (who would have guessed?) for this so great talk about talks. And, no, you're not *that* jamming from one leg to another. The group photo and the keysigning are of course traditional events of a Debconf and both were one after the other...pretty tiring, but as usual good fun. I very slightly regretted that several of the usuall participants of the keysignings I've already been in weren't actually participating in that one. For sure, many of us have already exchanged keys but I see this also as a kind of "bienvenidos" to all participants in Latin America in this Debconf. For the same reason, I would also have, like Damog, been glad to see Anthony attend the Debian Latin America community BOF but I tend to believe that being in all the place people would like to see him and talk with everybody who wants to talk with him, is simply not humanly possible. Finally, after lunch, we i18n dudes continued with a huge discussion, again, to continue drawing ideas for that damn i18n infrastructure stuff. I ended up the "day" completely enthusiast (and, no, without any chemical help) and finishing my mail. Finally, at 02:00 the day finished liked a dream by a nice online chat with Elizabeth (my beloved wife, dudes) who was actually waking up to drive our daughter to the high school. To bed at 03:45...a bit crazy. I have a talk tomorrow...

20 May 2006

Meike Reichle: DebConf 6 - Random fun stuff

There is a couple of things that we have a real abundance of:
Some more random remarks:

19 May 2006

Romain Francoise: Official emacs-snapshot backport for sarge

In case anyone's interested I maintain an official sarge backport of my emacs-snapshot packages, available from here. It's updated frequently, but not as often as in sid.

Note that quite a few Emacs-related packages in sarge don't have support for emacs-snapshot, but in most cases you can safely install the version from etch or sid since they have weak dependencies on the rest of the system. One regrettable exception is dictionaries-common, so you might want to forcibly prevent it from interfering with emacs-snapshot otherwise it'll shadow flyspell and ispell with old versions. (You might not even need external Emacs packages at all since emacs-snapshot already includes Gnus 5.11, MH-E, ERC, rcirc, Calc, Tramp, ido, python-mode, tumme, Org, etc etc.)

If you find bugs in the backport please don't report them in the BTS but email me directly (rfrancoise@d.o).

I've also been wondering if I should reconsider my 'sid-only' policy for emacs-snapshot, I keep getting requests from users to let it trickle into testing, and given that the past few months have shown that Emacs 22 is as stable as Emacs 21 (if not more), the idea has credit.

The only problem (if one ignores the fact that it would go against existing Debian policies) is that emacs-snapshot is updated weekly, and the minimum delay for low-urgency uploads is ten days. But I guess I could delay updates every once in a while to let the packages become eligible for migration...

(Also, even though it's not in testing, emacs-snapshot is included in Ubuntu dapper. So whether I like it or not, outdated snapshots will end up on people's systems sooner or later, and I'll have to deal with it...)

Next.

Previous.