Search Results: "reg"

16 July 2007

Russell Coker: Documentaries about Gifted Children

On several occasions I have watched part of a TV documentary on gifted children, but I have never been able to watch one completely because every one that I have seen has been offensively wrong. One thing that they always seem to do is say that gifted children have special needs and often claim that they have problems socialising. This sounds quite reasonable, but if that’s the case then why would you make such children perform tricks on TV? Putting the children on TV is a very poor example of journalism and often of parenting - the parents’ desire to boast about their children’s performance (and implicitly their own parenting skills) is apparently more important than protecting the children. I think that the only situation in which gifted children should have their talents demonstrated on TV is if their skill is related to the performing arts. Not that TV coverage is necessarily good for children who have abilities related to performing (a casual scan of the news regarding adults in Hollywood shows the problems that people have dealing with fame), but it’s something that they will be driven to anyway. Also if they are going to demonstrate the intelligence of a child on TV then they really should make sure that they don’t demonstrate a lack of intelligence (on the part of the child as well as the producers). Asking a child to provide a definition of a word is often used as an example of intelligence (when it’s really an example of vocabulary). In one documentary a child defined a philanthropist as “someone who has a lot of money” (according to dict on my system it is “Love to mankind; benevolence toward the whole human family; universal good will; desire and readiness to do good to all men“). In another a child defined a genius as “someone who knows a lot“, while the definition of genius is not clear and there is some disagreement about what it is, most people agree that it’s about ability not knowledge. Being able to recognise when you don’t know something and admit would surely be correlated with intelligence… Telling a child that they are a genius or telling them their IQ seems like a bad idea at the best of times, and doing so in front of a documentary camera crew isn’t the best of times. Children are able to determine how their skills compare to others, there are more than enough attitude problems in schools related to skill comparisons without encouragement from adults. When I was in high school a friend who studied a martial art refused to tell me which belt he wore - he had been taught that such things shouldn’t be discussed outside the dojo to avoid creating a hierarchy based on belt rating in the community. I think that the same thing could be applied to IQ ratings. The term genius is grossly overused generally, I believe that showing greater than average ability in one area is not enough to qualify. I think that the minimum criteria would be to produce dramatic new developments/inventions in one area of research (EG Albert Einstein or Stephen Hawking) or to advance multiple fields of science or art (EG Leonardo da Vinci) would be the minimum criteria. I had people call me a genius when I was young because I won prizes in maths competitions, was good at programming computers, playing chess, etc. The main criteria for achieving such things is to avoid wasting time on sport - in a school run by idiots with a focus on sport this was more a tribute to being stubborn than being smart! The TV documentaries mention many things that gifted children supposedly require, but strangely I don’t recall any of them mentioning the need to meet adults who are significantly smarter than average! You might think that this is the most obvious thing. The Big Brother and Big Sister programs of mentoring children who are at risk of crime and drugs apparently provide significant benefits, something similar for gifted children might do some good, probably more based on meetings of a few intelligent adults with a small group of intelligent children instead of the BB-BS model of one-on-one meetings. Washingtonienne seems like a good example of the need for this. There are some useful print articles however, this article in The Age makes some good points, it’s particularly interesting to note that some schools lie about special programs to support gifted children to attract students (someone should name the schools that do this). But then you get awful ones like this, naming the child in such a situation is irresponsible journalism. The girl in question may be forced to change her name to escape google when she’s older. It’s strange that it’s illegal to name a child who is involved in a court case but it’s not illegal to name them in such an article (let’s hope that the journalist used pseudonyms). Also you might expect an organisation such as Mensa to have someone smart enough to realise that bringing such attention on a 2yo is not in the child’s best interests. Does anyone know of a good TV documentary about gifted children? I guess that it would be extremely difficult to make one without showing the children on TV so that would restrict the film maker to children who’s abilities are related to the performing arts.

15 July 2007

Joachim Breitner: My own jabber server

I was considering to switch jabber servers for a while, especially because my old JabberID joachimbreitner@amessage.de was not really nice. But I was always afraid of having to add, authorize and request authorization for all my old contacts, so I kept postboning that.Today, my Jabber hoster had some problems and all rosters were empty. While they will probably fix it later, I thought this is a good time to finally set up my own jabber server. The procedure was, thanks to Debian, almost ridiculously simple (apt-get install ejabberd). I then only changed one piece of configuration (no self-registering for other users) and I was ready to go!I followed neingeist s advice and did not name my new Jabber ID jabber@joachim-breitner.de (which would fit to my e-mail-address mail@joachim-breitner.de), as some clients would then use jabber as my nickname. Instead, you can now reach me under nometa@joachim-breitner.de . If I was on your roster before, you will have to re-add me sorry for the hassle. I hope it will be the first and last time.For those who do not know what Jabber is: Jabber (or XMPP) is an instant messaging protocol, providing similar features as ICQ or MSN. The important difference is that it is not tied to one provider: While ICQ and MSN users can t chat to each others, all Jabber users can chat with each other, no matter on what server they are much like e-Mail. There are some free Jabber servers such as jabber.org or jabber.ccc.de, some commercial (but also free to use) such as Google Talk, GMX or Web.de, and lot s of privately run servers such as mine. Try it!

14 July 2007

Gunnar Wolf: On collaborative maintenance

Following Zack's and Lucas' posts regarding group maintenance of packages: Do I have to AOL with you guys? Yes, I also agree with Zack's both 1 and 2. And I also want to share the bit of experience we have got in this regard in the pkg-perl group. In our case, group maintainership has often saved our collective butts. We have also debated somewhat which way should our packages' maintainership be handled. In the end, our packages' maintainer will (most usually) be the pkg-perl group itself, subscribed through an alias that reaches all of us. Then, every group member that feels identified with the package lists himself as an uploader (note that this does not necessarily have a relation with the last uploads, at least not as strongly as in what the KDE and Gnome groups do, according to Lucas' post - it's closer to the pkg-ruby-extras handling). Of course, there are some packages which I have NMUed in the group's pool - packages I prefer not to have listed in my maintainer page, as I don't usually care too much about them, but I happened to be able to fix a bug with them.
Now, what about the roles of the different group members? Each of us has some skills that make him better for part of the task - i.e., we have an amazingly knowledgeable member, Niko Tyni. He just fixes all the bugs that baffle us. Honest, my best kudos to Niko, he is a good part of our team's success. And then, we have hard-working people as Gregor Hermann, who not only fixes also nice amounts of bugs, but also writes and runs general QA tests throughout our over 300 modules. Neither of them is a DD yet. And of course, many other hard-working folks. Some of us are DDs and try to upload promptly - and, of course, also try fixing bugs. So far, we are in good shape, and we tend not to lag too much. I have taken some vacation periods (both announced and unannounced - sorry :) ), but to my surprise and amazement, my packages tend not to be buggy - Why? Because there is a real team looking after them, and in the end, we keep an eye on each other.
For the pkg-perl group, group maintenance has really worked. We collectively maintain more packages than it would be reasonable for all of us added together as individuals, and they are in a better shape. There are several things we can make better, and we do try to address them - it is not yet heaven, but... :) I'll elaborate later, when I finish a text I'm preparing for presenting at YAPC (it's not that long, of course - During Debconf, I showed advances of it to several people... I just have left it aside). Right now... Well, I have 3hr of sleep left before we leave for a daytrip to the beautiful (but hot and humid!) Veracruz Huasteca. See you on Sunday/Monday!

12 July 2007

Christian Perrier: Lazyweb mutt

Dear Lazyweb, Can you explain me why, since the last update of mutt in unstable, I no longer have the display of percentages of the mailbox's number of message being read while Mutt is reading a mailbox when I open it? This is kinda annoying on large mailboxes as mutt now just display the number of examined message headers while one has no way to know how long it will need to read the entirre mailbox. That's probably a weird new setting, but which one? I don't feel like reporting a bug about this but this is a minor annoying regression, indeed..:-)

11 July 2007

Russell Coker: Questions During Lectures

An issue that causes some discussion and debate is the number and type of questions that may be asked during a lecture. In a previous post giving advice for speakers I suggested that questions can be used as a mechanism for getting a talk back on track if a nervous speaker starts presenting the material too quickly (a common mistake). This mechanism can be used by the speaker if they realise that things aren’t going to plan or by audience members who are experienced speakers and who recognise a problem. Due to this a blanket ban on questions during a talk will only work with experienced speakers who have planned their talk well. There are different styles of presentation favoured by different speakers. Some are determined by the nature of the topic (an example that I have seen cited is topics that are very contentious which would lead to a debate if questions were permitted during the talk), but for computer science I think that questions during the talk can always work well. To a certain extent the fact that code either works or doesn’t limits the scope for debate. Probably the major factor that determines the utility of questions is the size of the audience. If you have an audience of less than 50 people then a conversational approach can work, if you have less than 200 people then a reasonable number of questions can be accepted. But as the audience size increases above 300 the utility of questions approaches zero. If the majority of people who might want to ask questions are unable to do so due to lack of time then the value of allowing any questions diminishes. For the largest audiences there probably isn’t any point in having question time. Another major factor determining which style works best is where the speaker has had experience speaking. Most of my speaking experience is with less formal meetings (such as local LUGs) and in countries with an informal attitude towards such things (Australia, the US, and The Netherlands). A speaker who has primarily spoken for universities such as Cambridge or Oxford (which seem to have a very formal style and questions strictly reserved for the end) or who has come from a country such as Japan(*) where it’s reported that the audience are obliged to show respect for the speaker by being quiet will probably expect questions only at the end and may flatly reject questions during the talk. A speaker who has a background speaking for less formal audiences will expect a certain number of questions during the course of the talk and may plan the timing of their talk with this in mind. When I plan a talk for a one hour slot I plan at most 30 minutes of scheduled talking (IE covering my notes) expecting that there will be 15 minutes of questions along the way and another 15 minutes of questions at the end. Often with such plans my talks run over-time. Of course this means that people who have mostly had experience speaking to smaller and less formal audiences will find it exceedingly difficult to give talks to larger audiences. This may be an incentive for having more formal arrangements for LUG talks to increase the skills of speakers. The next issue is what level of contentious questions is acceptable. I believe that if you have a disagreement with points that the speaker is making (and have some experience in the field in question) and the audience is not particularly large then one hostile question is acceptable - as a speaker it’s reasonable to refuse to take any further questions from an audience member who has asked one hostile question. Another category of question is the challenging question (not to be confused with a hostile question), for example describing in one sentence what your business requirements are and asking how the topic being discussed will apply to that business requirement. One of the most useful questions I have been asked during a SE Linux talk was concerning the issue of backups of file security contexts, it was presented in a challenging way and the answer that I gave was not nearly as good as I could give now (the code base has improved over the last few years in this regard) - but I think that everyone learned something so that validated the question. In smaller groups there may be some heckling when the speaker is a well known member of the group, I don’t think that this is a problem either as long as it only consumes a tiny fraction of the time (maybe 20-30 seconds at the start). For larger audiences or for speakers who don’t know the audience well heckling is generally a bad idea. (*) When speaking in Japan I had a lot of audience interaction. I’m not sure if this is an indication of the Japanese culture changing in this regard, the fact that translation problems forced some interaction, or the audience was showing respect for the Australian culture by asking questions.

Andrew Pollock: [tech] The trials and tribulations of trying to be compliant

Just because I'm a geek, I try to keep my blog standards-compliant. I've managed to keep the HTML compliant for some time now, and tonight I figured out how to embed Google Video the right way (rather than using the "HTML" that it provides) thanks to Flash Satay. So after I managed to maintain HTML compliance and have an embedded video, I thought I'd have another look at RSS feed compliance, because I've noticed that my feeble attempts at embedding video don't seem to make it into the various Planets that aggregate my blog. I cannot, for the life of me, figure out how to placate the Feed Validator with my blog's RSS feed. It seems to get bitter and twisted about embedded HTML, no matter how hard I try to escape the HTML. I've no idea if that's got anything to do with why my embedded videos won't show up on the Planets, but it's as far as I've been able to get with compliant RSS feeds...

Joey Hess: saved my atari programs

I got a SIO2PC cable for my atari, hooked it up to a linux box, and used the atarisio tools to rip a few of my old BASIC disks. Now I can load them in the atari800 emulator, and will hopefully never lose this early code -- cuz it's in subversion now. The first disk I rescued ("finished programs disk 1") has a nice little menu on it with lots of games and stuff I'd put together. menu.png video.png jump.png I've always been proud of the "vidio" game, which is the first game shown above. It'd give Pong a run for its money in simplicity, and has gameplay I still enjoy (for up to 5 minutes at a time). You're the green dot, which is flying from left to right. Each time it reaches the right side of the screen, it wraps back to the left -- but leaves a blue wall behind. Crash into the wall and you lose a life. Sometimes other dots appear that you can pick up to get new lives. This sounds easy, but it's not, mostly because the Atari joystick (or my code for reading it) is not very precise, so it's hard to line up to exactly the right place on the screen to go through a small hole in the wall. In contrast to that piece on innovation, the "jump" game is a pretty generic platformer, jump over the water and shoot the enemy that's crawling along the ceiling. It's also a bit buggy. jump2.png code.png code2.png I took a look at the code, but the bug on line 200 isn't very obvious, whatever it is. This is how everyone's old code looks to them after 20 years ... right?
Update: Some more games I found.. tetris.png My version of Tetris for the Atari. It looks a lot better on a real TV tube. Two fun things in writing this were that I couldn't figure out how to program it to rotate the blocks on the fly -- so I just wrote out data with every possible rotation for every block. Also, Atari BASIC lacks arrays, so it uses strings for storing the game state. fatso2.png fatso4.png
(Colors are ok in 1st screenshot, but messed up in second.) Fatso's adventure had the best graphics I did on the Atari. It remapped parts of the the character set and used ATASCII characters as sprites. Ok, it's kind of a Lode Runner clone, but only the kind you write after having seen Lode Runner for 2 minutes. Looks kinda like it, but I don't think Lode Runner had spiders that dropped exploding eggs that broke all the rungs in the ladders..
Update 2: Disk images are nice, but regular files are nicer. I was able to explode files out of the disk images only with difficulty. I ended up using wine to run a windows program called Total Commander. It has a plugin that allows .atr disk images to be unpacked. To view the BASIC files, they have to be detokenized. I found a perl script to do that, that can be used on the fly of anything suspected of being a BASIC program. All the stuff is in my subversion repository.

10 July 2007

Dirk Eddelbuettel: Announcing CRANberries

Earlier today I sent an announcement to the r-packages list. It describes CRANberries, two simple RSS feeds that summarize both 'new' and 'updated' packages at CRAN, the archive network for R. I cooked this up rather quickly using a few lines of R, a small SQLite db backend and the old Blosxom blog engine. A tip of the hat to Barry Rowlingson who almost immediately suggested to use the lol format instead. The hope is that this proves helpful for keeping tabs on the amazing growth of CRAN (which is now at over one thousand packages) as well as the number of updates to existing packages. The feed(s) can be consumed standalone, or via the brand new Planet R aggregator that Elijah announced today too.

9 July 2007

Russell Coker: Why Can t Bush be as Honourable as Nixon?

The Libby commutation has demonstrated the contempt that the Bush regime has for the US political process, the opinions of the voters and party members, and the reputation of the US. The Talking Points Memo has an insightful analysis. They suggest that an argument could be made for pardoning Libby by claiming that the case is politically based and bogus, such an argument would be difficult to sustain - particularly given the fact that the prosecutor and the judge were Republican appointees. But a commutation is admitting that the case was valid but that Bush wanted to protect a friend - or someone who might inform on him. In either case it’s a very bad thing. As an example here’s a YouTube video of Keith Olbermann making the case for George Bush to act as decently and honourably as Richard Nixon and resign from office. Paul blogs about why embedding media players is bad for the case of web radio. One thing I notice is that there is no convenient or easy way of extracting an embedded youtube video from a web page a quick test in my favourite browser (Konqueror) showed that the YouTube embedded section didn’t even appear. The Debian package youtube-dl allows you to download the Youtube content in a format that can be played with mplayer, but only if you see the link - which seems to not happen if the web site tries to embed it. Avoiding flash is good if you want security or if you want to use a platform other than i386 Linux or Windows and youtube-dl removes what I consider to be the only compelling reason for Flash.

Russell Coker: Buying a Laptop from Another Country

Mary Gardiner has written a lazyweb post asking about how to solve the problem of laptops being more expensive in Australia than in some other countries. She didn’t post contact details or enable comments on her blog, but that’s OK as this information may be useful to other people. Some years ago I was living in The Netherlands and discovered that the cheapest Thinkpads were available by US mail-order (which didn’t support shipping to other countries). As I was attending a US conference (the Colorado Software Summit) anyway I decided to get a Thinkpad at that time. So I found an friend in the US who was attending the same conference who was willing to receive the Thinkpad for me. I arranged to have the Thinkpad delivered to his doorstep (he assured me that he lived in a safe neighbourhood) and a couple of weeks afterwards I met him at the conference and received my nice new Thinkpad! I’m sure that most people who are active on the net can find someone in the US who they would trust to deliver them a package costing >$1000 and finding such a person who attends the same conference as you shouldn’t be too difficult (I’ve done it). Another way I bought a Thinkpad was that I arranged to have a holiday in London at the same time as the wife of an American who ran a computer store. I met his wife at Heathrow airport and made the final cash payment for the Thinkpad that she delivered. I was worried about a police reaction to seeing a cash sale of a parcel in an airport, but there weren’t any problems… In terms of warranties on laptops, the Thinkpad warrantee is world-wide. You can quote a serial number of a Thinkpad when arranging the warranty repair and they will tell you which country it was purchased in, but they always cover you. I’ve had many Thinkpad repairs, I wear out keyboards regularly through constant use, and due to the extensive travel and hard wear often other parts wear out too. It’s been pretty rare for me to have a warranty repair in the country where my Thinkpad was purchased and I’ve never had a receipt available. It’s never been a problem, they know from the serial number whether the warranty is valid and take care of everything. Thinkpad repair (both under IBM and now under Lenovo) also operates when there is no hard drive in the machine. They don’t even ask a question about the lack of a drive, just note that it doesn’t have one. Update: It has been pointed out to me that importing a laptop without paying tax on it is illegal in most places. But of course if you pay the tax then the total cost will probably be about the same as buying it locally.

Matthew Palmer: Hell is other people('s code)

I've been working (part-time) on an existing Rails application for the last month or so, getting comfortable with it, modifying some sections to support needed functionality, and beginning an all-out, carpet-bombing "shock and awe" assault on it's test suite. However, a significant portion of the system is (or rather was, since I've already gutted a lot of it) a chunk of rather messy and unpleasant auto-generated code. I've always been a bit iffy about code generation tools, ever since my first encounters with them whilst working on some $DEITY-awful access application years ago. (First encounters with anything Microsoft usually have that effect on me, though). Since then, I've never found any reason to change my mind, and dealing with this particular chunk of auto-generated code has pushed me over the edge into "wild-eyed extremist" territory. Please note that when I say "code generator", I'm talking here about programs or wizards or whatever that create a block of code that you're then expected to tweak to suit your conditions. If it's just a mechanical transformation of an input format to an output format, where a human is never expected to maintain the output by hand, that's not code generation in my book -- that's just a compiler being used for it's intended purpose. I like compilers. I'm fairly sure you do too. Code generators, though? EVIL. Consider what you get out of your generator: A big blob of code in your application that you then have to understand and maintain. It's like you gave a commit bit to some random person who dropped a 5000 line change into your tree and then ran away into the night, cackling. If there's bugs in the generated code (and remember, there's always bugs in software), when they get fixed upstream you're up the creek unless you haven't modified the code at all (and thus can regenerate), or you're willing to apply the necessary patches to your modified version, often by hand. Hand-patching is error-prone, and if you've modified the code at the same place that has to be patched, things can get unpleasant. In the case of the generator I'm dealing with at the moment, I'm not even blessed with it being decent code. It's ugly code, in every possible sense of the word. There's inconsistent formatting, poor commenting, it uses some totally whack coding constructs[1], the hard-coded text strings are ungrammatical, it's got very few (and poorly covering) test cases, the methods are huge and unwieldy, and it's got security bugs (not so hot for something that's supposed to be guarding your application). In short, it looks like some quick-and-dirty internal hack that escaped one night and is now wreaking havoc on the world. There's probably some really good code generators out there. I've been poking around a bit, and there's some written for Rails by people who I know produce good code. However, no matter how good the author of the code generator is, the very best you can hope for is solid, clean code that is the equivalent of some portion of your application having been coded by some member of your team who you (and nobody else) has ever met, who didn't follow your team's coding conventions, and who has never looked at any other part of your application to make sure that everything hung together in a consistent manner. Which you now have to maintain. I've read a lot of books, articles, blog posts, and mailing list messages, and participated in no shortage of "why software sucks" discussions with other programmers, but I've never heard anyone advocate that the way to clean code, minimal bugs, and happy programmers was to drop a big chunk of unknown code right in the middle of things. Before you start charging up the e-mail-delivered tasers, ready to fry my delicate braincells for the twin crimes of Xenocodophobia and a vicious case of Not Invented Here syndrome, though, please understand that I'm not against code reuse in the right place. That right place is a library, component, or other abstract, documented, fairly static, and presumably-replaceable chunk of code. By using a library, you get a relatively simple interface to somebody else's complexity. This is a good thing, for all the reasons that everyone should already be able to recite. Items such as a comprehensible interface, minimal learning curve, and so on. Things you don't get with generated code because, pretty much by definition, the entire chunk of code is you "interface". There are some times, though, when what you want to do can't be done in a library. Either the thing has too many tentacles to be able to easily encapsulate behind an abstracted interface, or you need to modify it's behaviour in too many places to be able to get away with a few simple callbacks to get the job done. Hence, it might be tempting to fire up the code generator to get yourself out of a hole quickly. Don't do it though. Don't succumb to the temptation of saving yourself a little bit of time by firing up a code generator. What you're doing there is just making pain for yourself, by inheriting a big chunk of code that you don't fully understand, probably doesn't solve your problem particularly well, and which you (or whichever poor slob gets the job after you) will have to maintain into perpetuity -- most likely by gradually rewriting large pieces of it so that it fits your application better. The output of a code generator is likely to be the least maintainable code in your tree -- either by virtue of the fact that it's crap code, or at the very least because you just don't understand it. The general principle of good codebase hygiene is that you get rid of unmaintainable code quickly, so it doesn't infect everything else (a la the "broken window theory"). With that in mind, why would you ever consider deliberately introducing a huge chunk of unmaintainable code into your application? The closest I can come to a defence of code generators is something like Rails' scaffolding, where the controller and views for a set of simple CRUD operations on a table are auto-generated. The key word there, though, is scaffolding. It's very name suggests that it's temporary, to be replaced with something more robust and useful as soon as is reasonable. The default scaffolding is ugly as sin, besides, which encourages you to replace it, and -- as of Rails 1.1 (I think), there's a 'scaffold' method which creates the scaffolding output at runtime, so you never, ever need to generate scaffolding code any more. Anyone planning on producing any significant piece of their application through the use of code generators is, in my book, committing a crime against software decency.
1. My favourite whack code construct thus far has been this gem:
 case somevar
   when 17
     do_something_here()
 end
Because, you know, if statements are for people who know how to program, or something.

Evan Prodromou: 19 Messidor CCXV

Busy weekend, and I haven't taken the time to blog over the last few days as I should have. On Thursday and then Friday, Maj, Amita June and Brian and I went down to the Montreal Jazz Festival, which took place last week. It was a great time -- we went and saw some free acts, including some Dixieland, some Latin jazz, and the awesome Klez Dispensers playing klesmer. We also went to the huge playground and crafts centre for children on-site. It had slides, a big moonwalk bouncy-room, tunnels, a sandbox, and a giant piano that kids can step on to play music. They also had cool drawing and crafts projects -- a neat, active addition. The Jazz Fest is a great place to bring little kids. Amita June loved dancing to the music and playing in the playground. tags:

Quebec City Yesterday and today we spent in Quebec City. Brian hadn't been before, and the old, walled city is on the list of UNESCO World Heritage Sites, so we dragged him up there. It was also the Festival d' t de Quebec while we were there, which was pretty fun. We had no idea the festival was happening, so it was a pleasant surprise. Hell, I have a hard time keeping the festivals in our own city straight. We got rooms at the really nice Hotel Ch teau Laurier just outside the walls near the festival site. It was really nice -- modern, sleek, and pretty affordable (we got a big double-queen room for $150). Then we walked around the Upper Old Town in on-again-off-again rain, and watched some of the street performers. There was a troupe of stilt-walkers dressed like stone angels and gargoyles -- an awesome performance that scared the bejeesus out of Amita June. But as they left she said, "Bye bye, monsters," so I guess they weren't all bad. We had dinner at the cozy Moine chanson, a really nice restaurant just outside the walls of the Upper Old City. Quebec's restaurant scene in this are is, well, pretty dreadful -- lots of mass-production restaurants that serve tourists mechanical food from conveyor belts. The Moine was an accidental find, and it was really a godsend -- pleasant, interesting pan-Mediterranean food. I had grilled sardines (memories of Portugal); Brian had a thoughtful paella and Maj had a roasted vegetables with polenta plate. They also had a choice selection of organic wines. I have preconceptions about organics, I admit, but we had a very tasty and complex organic Douro from Portugal last night that set me back in my seat. We walked home through the music festival just as Nickelback was coming on the main stage. Brian wandered a bit, Amita June and Maj and I went to bed. Unfortunately, that wasn't the last time we were up: AJ woke up vomiting in the middle of the night. She only barfed once, and we're not sure what caused it: whether she overate at the restaurant (she packed away a lot of food), or if she got some sausage or chicken in the couple of cupfuls of Brian's paella she ate. Either way, she was a sad toddler and we were freaked-out parents. Having your child get sick while you're traveling is really scary. You start thinking about helicopter rescue. But she was fine after one big purge, and we all slept well until this morning. Maj got up to change Amita's diaper, and we realized we didn't have any. Not in the hotel room, not in the car. I went out from the hotel in increasingly wide spirals looking for a convenience store, but those that had diapers weren't open on a Sunday morning, and those that were open didn't carry diapers. After a couple of hours (!), I came back to the hotel in defeat. Fortunately, Maj managed to find a diaper in the emergency stash in the trunk of the car. We picked up Brian and drove to another part of town, where we got a tasty brunch on the terrasse and found some diapers at the Jean Coutu drugstore. Brian kept going from Quebec City -- he's heading all the way around the Gasp Peninsula to New Brunswick, Nova Scotia and Prince Edward Island, and coming back to Montreal in about a week. Maj and I drove home on the South Shore -- Amita fell asleep as we hit the freeway and woke up when we pulled into the driveway -- and had a nice afternoon at home. tags:

Seafood windfall On Friday, our friend Sebastian called us with a problem: his sister, who lives in the les-de-la-Madeleine, had sent him too much fresh seafood. It had come out of the sea and been driven to Montreal, and there was too much for him and his family to eat. The fish was less than 24 hours out of the water -- could we help him out? So we ended up with two huge bags of succulent lobster meat and three more of scallops. Oh, man, were they good. On Saturday morning before we left for Quebec City I made up two giant lobster omelets for the four of us to share. They had just huge chunks of lobster in them, and it was the most decadent meal I've had in a while. It was so much, we all lay around on the couch moaning for about an hour. Tonight, I cooked up the scallops. They were gigantic, tender, and fresh, so I pan-seared them in butter and olive oil with salt & pepper and prepped garlic and oregano. I know, that seems too much for such a delicate meat, but it worked out great. I put them on a bed of whole-wheat linguine, arugula, and red peppers. They were really, really good. I don't think I'm going to have seafood this good again for a while. Mmmmm. Thanks, Sebastian! tags:

News in brief from the land of the Free Two Freedom news items: tags:

7 July 2007

Mike Hommey: Finding where a tarball came from with git

I got the idea reading this question on the webkit-dev list, and from my recollection of the git documentation. Well, for the webkit case, the basic script I put up would be of no help because the tarballs don’t contain all the files (plus, they use subversion, not git, so it would also require a long importing process). Anyways… Considering how SHA-1 hashes of objects are created with git, it is actually pretty easy to generate a SHA-1 hash from a random (non-git) tree, and then, the corresponding commit. First, you have git-hash-object that helps you creating a hash for a particular object (though it’s also trivial to do with sha1sum). For regular files, git-hash-object -t blob $filename is enough. For symbolic links, you have to read the link destination, and give it without a trailing character (be it the NULL character or a carriage return) to git-hash-object -t blob --stdin. For directories, you have to generate a tree “structure” by yourself and pass it to git-hash-object -t tree --stdin. I haven’t bothered looking at other file types. The tree structure can be guessed by either looking at mktree.c or at the output of git-cat-file tree $sha1 where $sha1 is the SHA-1 hash for a tree object. It contains 3 informations for each node in the tree : the file mode, with the same format as what stat() returns, except for some reason, permissions are 000 for directories and symbolic links ; the file name ; and the SHA-1 hash. These informations are written with the following format : file mode in octal ascii and no padding zero (”%o”) followed by a space character, then the filename followed by a NULL character, and the binary form of the SHA-1 hash. Nodes are sorted in a not-so-quite lexical order (take a look at base_name_compare in read-cache.c) and are not separated by any special character: the mode of a file just follows the SHA-1 hash of its predecessor. With all this new knowledge, you should be able to write some code that would return the SHA-1 from an arbitrary directory. Okay, since you must be at least as lazy as I am, you can take the script I wrote. Now, let’s take a look at a real life case : what commit is the latest nightly snapshot for the linux kernel from ? First, download the latest snapshot patch and its baseline, and extract the whole. Then, run my git-hash-tree.pl script with the directory containing the extracted kernel as an argument. It will return, after a while, the SHA-1 hash for the whole tree. During this long process, you also have plenty of time to git clone linus’s tree. Once you’re all done, you can search for the commit corresponding to the tree hash (let’s call it $hash) with the following command :

git-rev-list --all while read h; do git-cat-file commit $h grep -q "^tree $hash" && echo $h && break; done
If you just followed these steps, you should just have spent a great moment having no result at all. There are actually 2 things that prevent this method to properly work with the linux kernel nightlies : Note this is a naive method, because I haven’t dedicated much time going through git documentation and code to find better ways, if there are any. Also note it’s pretty much worthless to do this with the kernel nightly snapshots, since a file containing the SHA-1 hash of the corresponding commit can be found alongside the patch. I guess a similar method could be used with mercurial, though I could not find a documentation detailing what are the hashes calculated from (I’ve not searched a lot, I must say, but for git, it was just before my eyes).

Robert Collins: 7 Jul 2007

Ran into an interesting thing a couple of days ago. It looks like mercurial suffers from a race condition wherein a size-preserving change made within the same second as the last hg command's completion (or possibly the last time hg observed the file) will be ignored by hg. This isn't particularly bad for regular human users (as long as you don't have your editor open while running commands in the background), but its pretty harsh for scripting users - size preserving changes are not *that* uncommon. I'm immensely glad that we don't have this race within bzr (even on FAT filesystems where you only get last-modified to within 2 seconds!)

Martin F. Krafft: The weakest link

For whatever reason, my flights always bite with my food schedule; not that I have one, but I'll get hungry part way through, it must be the excitement. Under no circumstances will I gulp down the crap they serve on short haul flights, and being a last-minute packer, I usually never find the time to eat before I leave home I am also seldom hungry when there is stuff to be done before an immutable deadline, such as the departure of a plane. Fortunately, Switzerland provides healthy and great relief in the form of Bircher M esli, a snack that can keep you nourished for hours, and which renders itself well to tuppaware transport. So I've gotten into the habit of taking some along on trips. Today, the security staff at the Zurich airport forced me to break with this habit and to throw out my treasured mush. I have since recovered from the pain, but because there is more to the story than M esli in the dump, I thought it's about time for yet another airport security story about liquids my last one is more than half a year old and I am sure you're craving by now When the attendants saw my 400ml container containing M esli (think yoghurt for now, so you'll know what consistency I am talking about), they categorised it as liquid and would not let me take it through. Obviously, there was no point in arguing nor in mentioning that I often take the stuff with me on planes and never had a problem before (which is true). I was left with the choice to dump it all, or try to eat it up before my flight left. I opted for the latter, but 400ml of M esli is quite too much for quick consumption and I had to declare forfeit about three quarters through. In a moment of genius, I did the math and postulated publicly that I should now be allowed to take the rest, because it's less than 100ml (airplanes are allergic to liquids in larger volumes). I learnt then that the size of the container matters, not the amount of stuff it contains. I handed over the container to the attendant under the pretense that I refuse to throw away food and had her do the deed instead. When I got the container back, I noticed that it still had traces of M esli, looked at the queue of my flight and decided to have a go and be difficult. The result was that I had to head for the toilets and wash off all remaining traces of explosive M esli. I made sure to leave a good bit of water in the container, sealed it, and returned to the wardens of safety. This time, they let me pass, despite the 400ml container filled with, say, 30ml of water. But clear liquids aren't dangerous, or so it seems. Or maybe this is the way to smuggle the real stuff on board? The entire situation was hilarious, I stayed calm and friendly and made sure to inject a sentence about understanding that they're just doing their job and aren't responsible for the regulations at least every minute. They assured me that this was in fact what they were doing, and that it was their orders to obey the regulations imposed by Brussels without exceptions. Just then, as I was repacking my bag behind the x-ray machine, I noticed how another passenger got through with shaving cream and other stuff in a small toiletries bag. When they didn't even bother to unpack the bag, I remarked that the regulations also demand for a single, one litre, transparent plastic bag to contain all the 100ml containers and asked whether they were aware of those. At first, the attendant denied it. When I asked her to step over and look at the informational signs all over the place, which clearly documented the plastic bag requirement, she shrugged and got seemingly annoyed: "we do our job the way we do our job, leave it up to us." Some airport staff make you take off your shoes, others don't. At some airports, you have to switch on laptops, at most you don't. Some passengers are subjected to the new liquid regulations and have to throw out M esli, others are exempt. Now what was that they say about the weakest link? NP: Dream Theater: Awake

6 July 2007

Russell Coker: Terrorism Foolishness

The Age has published a remarkably stupid article about terrorism titled “It’s hard to prevent the hard to imagine” which contains some amusing statements such as “a plan to use liquid explosives hidden in soft-drink bottles and destroy commercial jets crossing the Atlantic. The scale of this plot, combined with the innovative bomb design, threatened to kill thousands of people and cause massive disruption to global commerce“. This however has been debunked by many chemists, here is one of the many expert analysis of the claims. Here’s another inane claim from The Age “So the perpetrators in the UK looked elsewhere and compiled a crude yet potentially deadly bomb from materials available in everyday life a mix of gas cylinders, petrol and nails. Finding a way to govern access to such otherwise mundane items will be expensive, and perhaps ultimately, impossible.“. It’s surprising that The Age editorial team were unable to find someone who knows the basics of chemistry or who has ever had a need to start a fire to review the article. Everyone should know that an oxidising agent is necessary for combustion - and a huge quantity of an oxidising agent is needed for an explosion. Petrol vapour won’t ignite if it’s too concentrated (it can displace enough oxygen to prevent combustion). When a gas cylinder is damaged and set alight you get a fireball surrounding it which may be several meters wide (the one occasion that I witnessed a damaged gas cylinder on fire the fire-ball was about 4 meters wide). But no explosion. To propell nails or other solid objects you need the combustion to be rapid and only on one side of the object. Combustion on all sides (IE a 4 meter wide fire-ball) will not propell nails. Here’s what a British Army bomb-disposal operator has to say about it in The Register. If you want to talk about dangerous items that are difficult to control how about cars? A terrorist who drove a 4WD along the footpath of Oxford St could potentially kill more people than the London bombings and would take almost no preparation. The article inevitably concludes with claims about the efforts that al Qaeda operatives are supposedly making to recruit people for terrorist missions. Naturally it ignores the best recruiting method of al Qaeda - the huge civilian death toll in Iraq since the US led invasion. The best available medical research (by researchers from Johns Hopkins University and published in The Lancet - the most reputable and prestigious medical journal) estimates that there were 655,000 “excess deaths” as a result of the invasion in the period up to July 2006. Over the last year the best available reports suggest that the violence in Iraq has got worse (among other things the number of US air-strikes is twice what it was last year). For more analysis of the fear-mongering being done by much of the media (including The Age) here’s another article from The Register. It’s interesting to read The Age’s article Truth first casualty of the internet?. Maybe they should publish an article titled Intelligence first casualty of print media?.

MJ Ray: One-eyed iPlayer

So iPlayer, the BBC's on-demand 7-days TV download service, launched as Microsoft-only, despite the feedback to the trial service. They come along to events like hackday pretending to be our friends, but they're really not. It's more BBC Backdoor than BBC Backstage. My IMDB-listed friend Martyn Drake estimates the cost of using iPlayer as at least 215 for GNU/Linux users and you can't do it with free software. It seems to be even more expensive for a Mac.
"The BBC should remain impartial, but they're currently having hot patootie with Bill Gate and his chums in Redmond. They continue to use OUR license fee regardless of our objections to their dimwitted decision to use DRM, and now say they'll review the situation is six months. Thanks, BBC. Thanks a lot. Can I get some of my license fee back to afford these additional costs, please?"
No wonder the Open Source Consortium says they'll complain to the European Commission - it's blatent bundled sales. TV has got away with worse in the past (for example, Channel4-satellite requires you to buy Sky), but the BBC's TV-tax-funded services had been getting progressively freer. This latest reversal of that makes me wonder whether Freesat will be fully-viewable with free software. Also, they're up against another big problem: given a choice between the expensive and inconvenient legal iPlayer and the free and easy illegal torrents (which I'm told have US imported shows earlier), which will users choose? Surely not even the BBC's advertising power will overcome iPlayer's 200 quid bundled sale and auto-delete? Let them know it won't: petition the Prime Minister to open iPlayer. The BBC is a Royal Charter Corporation and should act in the public interest.

Wouter Verhelst: Beid issues: survey

I've been receiving a number of bugreports, both formal bugreports through the BTS and just people contacting me through regular mail or otherwise, about the packages for the Belgian Electronic ID card that I maintain for Debian. I think I'm starting to see a pattern in the bugs, but I'd like to be sure; and in order to be sure, I'd like for people who use beid on Linux to please send me the following information: I'd appreciate it if people willing to help me out could send me an email with their answers to the above at wouter+beid@grep.be. Thanks. The pattern that I'm seeing currently is that people using the ACR38u chipset (as in the eID cardreaders sold by Zetes and the government) on amd64- or em64t-based machines cannot get it to work. What I'd like to find out is whether it works on other 64bit architectures, and/or whether it is acr38u-specific. Of course, I'm not doing this on a for-pay basis (I 'simply' maintain the Debian packages), so there's no guarantees of me fixing these issues here. Your cooperation is greatly appreciated.

Ingo Juergensmann: Flickr is bad

Well, maybe not all of you heard that flickr has put up some restrictions for some countries (e.g. Germany) when people from those countries are viewing pics on flickr.
Flickr arguments with youth protection laws in Germany, why they implemented really strange filters. This has the effect, that Aigars fotos from Debconf7 are considered harmful for non-registered Germans (or even registered ones) and just a "this photo is currently unavailable" replacement is shown by flickr.
Censoring the web is not a good thing. So please avoid flickr, maybe remove your content and delete your account to make a point against censorship made by Yahoo.

Michael Janssen: :

Well, the last day in Greece went swimmingly. It was mostly just relaxing, playing on the Internet, chatting with lovely Di, and working out logistics of taking a long flight back to the United States. The only strange thing about it is that I haven't slept since the last post, which is away from the norm. It's a kind of forced all-nighter caused by the bad scheduling that I made for myself. The flight from to Athens happened at 10:20pm in the evening. This was the latest flight that I could get and assure that I could get to the Athens airport in time for my 7:20 flight to Madrid, which connects through Chicago and back to Minneapolis at last.

I've spent a total of 10 days outside of the United States now, the longest time since I have been alive, according to my knowledge. It has caused some interesting results. I realized that I am inextricably connected to the people who I am familiar with in my life, and being without them decreases my mood significantly, and without contact to them decreases my mood sharply.

I am not alone in this fact. There are many studies that show that people who have more social connections lead happier lives. I am lucky in that I am technologically ept and can connect to my near and dear in a number of ways, and be resourceful in finding other ways to contact them if necessary. I feel that I am lucky to live in a time which it is possible for me to spend so much time apart and still be in connection with people. I am also lucky that I was born in a geological area which enables me to be as such.

At the same time, I am sad to leave this place. It is a nice area, with good food and a very long history. As Nikos reminded me the other day, it is the birthplace of Democracy, which I hold to a fairly high regard. It is also the birthplace of modern medicine, and a significant portion of many early sciences. The wealth of the nation as a whole and as parts is clear to me, and I wish to return.

I've learned part of the language while I am here, and it has made me more cognizant of communication with other cultures. People in Athens seemed put off when I tried to talk in Greek, but in Kos they were at the worst amused at my attempts. The language may not be as romantic to learn as French or Italian, and may not be as useful in the long term as Latin, but it would be interesting to speak nonetheless. I am tempted to start working on some of the i18n Greek QA issues in Debian -- It would help me learn the language more, and also keep me aware of the issues in software when you start working with other countries' characters. I have been lucky to be using a MacBook this entire time with decent Greek support, allowing me to type at least some greek while I was here. It helped me understand even more of the language - I now know mostly the numbers 1-9 at least.

The trip has highlighted for me something which is highly lacking in airports: power. Every airport that I have been to has prominently displayed the signs of wireless access, and has people using their laptops in almost every direction you can look (I am one of those), but they are sorely without power points for people who are using those laptops. This may be a designed flaw in order to save energy, but I don't really believe that 50 or even 5,000 laptops at 65-150W will put a significant dent in the power grid at somewhere as large as an airport, where LCD screens are running 24/7 with ads and bright lights illuminate every corner for all to be seen. I won't even start talking about the airplanes themselves.

All in all, the trip has been a happy one, and I would very much repeat it. I will make different decisions on lodging at some places and probably plan a shorter trip. I however wholly endorse Greece as a vacation spot, and even would consider moving here if offered a position (that would depend highly on Diana as well, obviously). I find it entirely favorable. I hope that this small series on the site has caused you, the reader some pleasure at least, even if it was at my expense.

Now begins the long trip home, on three planes and with 14.5 hours in the airplane and 18 hours in total. It'll be only 10 hours counting local time, unfortunately -- the jet lag will, I'm sure, be horrible.

Comments: (0) Trackbacks: (0)

Comments
  1. No comments
Trackbacks
  1. No Trackbacks

Next.

Previous.