Search Results: "spa"

26 May 2006

Carlos Parra Camargo: debian-cd-ng (Application accepted!)

I've just read that my project debian-cd-ng has been accepted in Google Summer of Code :-D
Summer Of Code

Like one spanish president said when he wons the elections:
Now, it's time to work
I'm a litte busy right now, i will post here more info as soon as possible.

Kenshi Muto: Backed from Debconf6 and Canada

I backed home yesterday. After I arrived at home, I went to buy foods to cook, checked bills and snail mails, washed my clothes, took a bath, saw through a bunch of e-mails and gave up to reply to them, met my partner again, cooked for dinner, and slept well. Fortunately I haven't a jet lug at this time. Because I tripped China for 1 week before Debconf6, I was very tired at the beginning of Debconf. Furthermore mixing Spanish/English/Japanese caused me a mental fatigue. I felt better as time went by. Well, I would more enjoy if I wasn't so tired, but I enjoyed BOF, talks, swimming, foods, travelling and so on during Debconf6. 'Gracias, Debconf staff and attendees.' Mexico was an interesting place for me, so I'd like to visit there again in the future with my partner. After Debconf, we - Nobuhiro, Yukiharu, and me - stayed Toronto for 2 days. It was very nice time to see Niagara falls and to walk through Toronto downtown. I uploaded the photos: Debconf6 pictures, Canada picutures. I apologize I couldn't work well for Debian, especially for CUPS during the conference by a network problem. CUPS 1.2.1 is already released and I'm working for it.

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.

Enrico Zini: Creating a trusted pbuilder environment

I figured out that pbuilder ignores secure apt's verification warnings, and was deeply disappointed. One cannot tell everyone that pbuilder is the preferred build environment when pbuilder is happily using untrusted debs to build. After some digging, however, I found out that it's fairly easy to build a trusted pbuilder environment:
pbuilder create --debootstrap debootstrap --debootstrapopts --keyring=/etc/apt/trusted.gpg
This tells pbuilder to tell debootstrap to check packages using the default apt keyring. In turn, debootstrap will install the keyring in /etc/apt/ in the chroot, and so that the rest of the apt-installing done inside the chroot will verify the packages. Note that I also had to force pbuilder to use debootstrap instead of cdebootstrap, because cdebootstrap doesn't support --keyring. Also, --keyring is not (yet) documented in debootstrap's manpage, although you can find it in debootstrap --help. Note: I put this tip on the Debian Wiki at: http://wiki.debian.org/SecurePbuilder, and that version may in the future become more up to date that this blog entry. Note: pbuilder will still install untrusted packages, although it will warn about it. Check your pbuilder output!

Andree Leidenfrost: Supermarket of Components

Whilst my contributions are totally dwarfed by those of Joey Hess, I wholeheartedly agree with what he says - Debian should be more than just a large collection of readily available packages. Ubuntu is great, but Debian should be able to innovate in different ways because of its different structure and longer release cycles (which can be both a burden and a blessing). I really would like to see Debian staying relevant to end-users, otherwise many people may eventually just stop contributing. That would be a big blow for all the derivatives as well, not just Debian itself.

[Update: Fixed 'what he says' URL.]

Andree Leidenfrost: Debian Installer rocks!

I spent some time the past week looking into virtualisation to make installing and restoring installations with Mondo Rescue a bit less disruptive and more efficient. So, I ended up doing a fair few Debian installations. I figured that with all these virtual machines all of a sudden, it would make sense to upgrade my caching-only name server to handle the local network to save me the effort of having to maintain lots of hosts files.

To my pleasant surprise, I found that this also resulted in the hostname and domain being automatically filled in by the Debian Installer (even without DHCP)! Good stuff! Also, the graphical installer in the i386 daily builds is just awesome!

Conclusion: The d-i people do positively rock big time!

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.

Adam Rosi-Kessel: Kids These Days - Myspace Bandwidth

I just noticed that I’ve been donating gigabytes of free bandwidth per month to Myspace users. Apparently several of my eight megapixel uncompressed images are popular as wallpaper—also on Friendster and a similar site called “Hi5” that I’ve never heard of. I hate to be mean, but:
RewriteCond % HTTP_REFERER  myspace.com hi5.com friendster.com [NC]
RewriteCond % HTTP_REFERER  !(rosi-kessel bostoncoop adamkessel planet aggregator rawdog) [NC]
RewriteRule !sorry - [C]
RewriteRule .* sorry.png [L]
In reality, the content here is by default under a Creative Commons by-nc-nd license, but I’d like these people to realize they should at least check before copying images they find on the web. And if they are going to use images, they should copy rather than link them. In my day, we knew about netiquette. Kids these days. (I won’t embarrass these people by linking to them, but now there are several hundred Myspace, Friendster, and Hi5 pages that look terrible.) Most popular backgrounds: Winter Sunset and November Foliage.

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...)

Jeff Bailey: I just love the smell of latex ...

... paint.

What were you thinking of? =)

I went to the Canonical support office today to attend while the Bell technician installed our ADSL line. It's always neat being on construction sites and watching the trades interact. Onsite there were some painters, cabinet makers, phone, network, and air conditioning. The place is looking quite nice.

As always in construction, nothing's perfect. The only thing horribly wrong so far is that part of the ceiling fell down because whoever put it up hadn't bothered to anchor it to the cement. Repairs will get made, and the guy it hit only got minor scrapes. In another few days, they'll all be finished, the carpets will be cleaned, and the space will be ready for us to move in.

It's going to be weird having an office to attend to again.

Next office steps: Get insurance, hire junior support techs.

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.

Carlos Parra Camargo: debian-cd-ng (Application accepted!)

I've just read that my project debian-cd-ng has been accepted in Google Summer of Code :-D
Summer Of Code

Like one spanish president said when he wons the elections:
Now, it's time to work
I'm a litte busy right now, i will post here more info as soon as possible.

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.

David Nusinow: Wind Beneath My Something

I'm going to have to fanboy [info]ajaxxx for a moment, since he just did two very awesome things. First, he ushers in the hotness that I'm planning to ship with Etch. (X11R7.1 Release Party this weekend in Boston!) This release includes at least 70% more awesome.

Then, he posts a link that pretty well explains a lot of the most significant conflicts that we see all the time in Debian. I think it's pretty important that we're aware of these issues, since it might go a long ways towards reaching that mythical holy grail of consensus that we seem to have stopped talking about. If you don't think these apply to Debian, re-read the first sentence: "Within the constellation of allied hobbies and subcultures collectively known as geekdom, one finds many social groups bent under a crushing burden of dysfunction, social drama, and general interpersonal wack-ness," and really think hard about it.

Alexander Schmehl: When we arrived at home...

... yesterday evening, we fell into bed. Interesting: Although I managed to sleep very well in the airplane for something near to 10 hours (and so did alphascorpii), we still slept for another 16 hours when we got home. I think I'm getting old; that's the worst jet lag I ever had. So here is a list of things you can do at 3:00 AM in the morning, when you can't sleep because of jet lag problems: Perhaps I just finish reading The Da Vinchi code before someone, who went to the movie, spoils the ending. See you in... wherever DebConf7 will be.

23 May 2006

Edd Dumbill: So, you missed XTech?

If you missed being at XTech 2006, no need to worry, there's some great coverage out on various blogs right now.Suw Charman has some detailed transcripts of sessions she attended. Find them via the "related entries" bit of her XTech wrap-up post. I'd not had the pleasure of meeting Suw before last week, and I was enormously happy that she came to speak at the conference and contributed so generously in her blogging.(I also had a very interesting conversation with Suw about venues in London, which is all I'll say for now, but watch this space for news of a plot I'm cooking up for later this year.) Thomas Vander Wal has also written about his XTech experiences. It thrills me to bits that we were able to challenge and stimulate established web experts and newcomers alike.I'm really grateful to everybody who has blogged about XTech. It really improves the experience for everyone, and reaches out to those who were unable to attend. Through Planet XTech we were all able to get instant feedback and reflection on the conference. I've tried to read every word that has been written, good and bad, and will fold what I've learned into the planning for next year's event. And now is not the time to rest. XTech 2007 will be held in Paris, in May 2007. I will very shortly be announcing the theme and confirming exact dates and venue.

Biella Coleman: Mexican Bribes

Another Debconf has come and passed. This was my 3rd conference and surely to be one of the more memorable, partly because I showed up for the whole time (and am now traveling with 4 other DD’s in Mexico) and partly because of a few problems that plagued my visit. There is no doubt that I had a wonderful time but some of my attention was drawn away from enjoyment toward crisis management. For the first few days, it was due to computer problems (now sort of fixed) and then the last few days I had “Biella Hardware” problems in the form of one of the worst combo sore throats/ body aches that I have had in recent memory (now sort of fixed but not entirely). Now that I am in Oxaca, I hope to spend a little time blogging about this year’s Debconf but before I wanted to pass along what I think has been one of the more amusing experiences thus far in Mexico. So yesterday a group of us (Jeroeun, Martin K, Micah, Vagrant) rented a car to head off to the Southern city of Oxaca. I have actually never rented a car in a foreign country, and I was a little concerned about everything from price to roads to cops. Amid my nervousness, the employee at Thrify was sort of reassuing and quite nice but he gave us some unfortunate news: he warned us that as we reached this one particular circular intersection in Mexico City we would be stopped by a cop (because we are tourists) and basically bribed. This was not surprising news to be but I was surprised at how upset this made me. (maybe because I have never had such an experience and thought I would mangle it when the time came to pass off the money or offset the bribe or whatever). Anyway, after we packed 5 bodies and copious luggage into our compact Nissan, we headed off somewhat prepared to face off the cop and decided it was best I drive as I was the Spanish speaker. We made our way through the congested streets and headed toward the intersection and as we got closer, I thought to myself how are they going to spot us within all this traffic? But you see, the thing about this intersection is as soon as you make the turn left, you hit a light and need to stop for a long time. And you see, this gives the cop ample time to switch on the tourist radar and spot the noticeable white bodies. Sure enough, within 30 seconds of stopping at the intersection, a Mexican cop walks over and there is where the fun began. So he basically told me that I did not use my signal lights for turning when I made a left and that this infraction would cost me US $120. At this point I started to get a little freaked (I already dropped too much money on a rental car) but I remained calm and told him basically in Spanish With all respect, officer, I think I used my light because I am in a foreign country and am very aware that I must follow all traffic rules. After a little back and forth, I moved on to the bribe stage. While we were told that 100 pesos (10 US) was the typical bribe, we, being cheapskates, just offered 5 US. And then, magically, at that point, the officer said, ok just go ahead and be careful not to repeat the offense next time. I was shocked. I mean there was some money being offered right there and I was sure he was going to ask for a little more. But he backed off. Why? I think it was a combination of factors. Ok so perhaps he was surprised that I knew what was going on. Perhaps he was uncomfortable that I knew Spanish. But I think he the tipping point was due to cultural factors. I think he found it odd that there was this little woman driving a car with 4 grown and pretty large men. Given the gender dynamics in the country, this was just beyond his cultural comfort zone and he realized that I was badassss, and he just backed off. Ok, so I don’t really know if that is what happened but I like the explanation and am glad I got off the hook :-)

Wouter Verhelst: Jazz' Oops.

wouter@jazz:~$ ps aux   grep [k]swapd
root         4  0.1  0.0      0     0 ?        Z    Apr26  63:19 [kswapd] <defunct>
wouter@jazz:~$ dmesg   tail -n 23
Warning: kfree_skb passed an skb still on a list (from 000e4416).
Negative d_count (-1) for sparc32/soft-fp
Unable to handle kernel NULL pointer dereference at virtual address 00000000
Oops: 00000000
PC: [<00027c16>]
SR: 2004  SP: 043f9f24  a2: 043f8000
d0: 0000002d    d1: 00000001    d2: 04181f50    d3: fffffbd5
d4: 000001af    d5: 00140d6c    a0: 00000014    a1: 0000003a
Process kswapd (pid: 4, stackpage=043f9000)
Frame format=7 eff addr=043f9f4c ssw=0485 faddr=00000000
wb 1 stat/addr/data: 0005 00027c0e 0010e024
wb 2 stat/addr/data: 0085 00000000 00000000
wb 3 stat/addr/data: 0005 00000000 00000000
push data: 0010e024 ffffffff 01d33ae0 04181fb0
Stack from 043f9f8c:
        01b97300 00000001 00027da8 04181f50 00000001 00000005 00000030 00000005
        00000001 00000002 043f8000 00002000 04371830 00191ff8 00028070 000005d9
        ffffffff 00000020 00019740 00000005 00000030 00000000 00000005 00000000
        000197f6 00000030 00002980 000029b4 00000000
Call Trace:
        [<00027da8>] [<00002000>] [<00028070>] [<00019740>]
        [<000197f6>] [<00002980>] [<000029b4>]
Code: 265f 285f 4e75 2f0c 2f0b 286f 000c 41ec 0018 b1d0 
That's bad, right? I guess I'll have to reboot it when I get anywhere near it. In the mean time, I've had to shut down its buildd, since not running kswapd is wreaking havoc with the load on jazz. And while I'm at it, might try to install 2.6 on the box, too, see whether that works yet. Only that has a different set of issues; it doesn't seem to be possible to generate initrd images for 2.6 kernels while you're running 2.2. And I'm not compiling my own kernels; Debian's kernels are just fine. If I can get them to work. Suggestions, anyone?

Christine Spang: Physics Day 06

Today was Physics Day. I.e. all the physics students around Central New York took a field trip to Six Flags Darien Lake and pretended to do a lab while riding roller coasters. Some of them may have actually done the lab at the amusement park. Others only attempted to. Still others didn’t even attempt. It was fairly nice out, albeit really, really cold. It definitely did not hit 60 ever during the day, and we almost had frost the night before (is it really late May?). The AP (advanced placement) classes made T-shirts for the trip (note the hoodies underneath): Physics Day Group On the back they have physics-ish greek letters on them, though some of them are combined in strange combinations that have absolutely no relevance whatsoever to actual physics. E.g. picking one’s initials, or spelling out “pow”. Mine’s a sort of joke on my second-in-the-class-ranked GPA: Beta! Here are a few people in the “attempted to do lab while in park” category: Attempting to do the lab I definitely had a good time. It sort of felt like the weekend never ended; tomorrow’s going to seem strange. Plus, with our Fine Arts Department end-of-the-year concert on Thursday with small ensembles getting out very early to rehearse at the Syracuse Civic Center, and Friday being a snow day give-back, this week is incredibly short. Word. In productivity news, I finally finished P&P part II this weekend after putting it off for an entire month-ish. Don’t I feel accomplished.

Christian Perrier: Note to self

Never ever fly on Iberia anymore unless they can certify that only Finnish or Norwegian people are in the flight. Or that I have my wooden base-ball bat handy to puch the two jerks who speak (loud) all night long in the two seats in front of me (and Petr)....and laugh louder and louder as long as they keep drinking the whishy-cokes offered by an incompetent and inefficient crew. First time this happens to me in transatlantic flights where, usually, people are more civilized. PS, later: these morons were indeed Mexican, not Spanish.

Next.

Previous.