svn merge sucks

I’m actually typing this while waiting for svn to merge a branch back to the trunk of rosegarden source tree…

Anyway, a while ago, I watched this talk by Linus at Google about his own Version Control System, git. I’ll skip the comments about his attitude and mention a few points I felt like commenting about.

  1. When Linus says that KDE should have split its repository into multiple ones, I don’t see how that would make things any easier for devs. KDE has a base dependency, namely the KDE libs. How would you split KDE’s code into several repository while avoiding the problem of keeping them in sync ? Doesn’t that break the whole idea of a version control system ? “Hey, I need to backtrack kmail’s code to a week ago to check for a regression, now what version of kdelibs do I need to get it to compile, mhhh, let’s see…”. Yeah, that’s bright.
  2. I wish Linus would show a basic workflow of how git works
  3. And to the point of this post : Linus really does have a point when he says that a version control system really must make merging an easy operation. Yeah, even if branching is cheap (and remembering having to lock a cvs repository for hours just to make a tag or a branch, I can appreciate how important that is), if merging is a headache, it does defeat the whole purpose of it. That is, branches will still be seen as something you use only when you really have no other choice. And merging in svn really is a headache, simply having to find the version number of the branch’s origin is dull enough, but merge tracking is way too error-prone. Fortunately it should be part of the next version of svn, but I’m not sure leaving it out was the right decision. Then again they had to cut the feature list somewhere…
Posted in Uncategorized | 3 Comments

One or two things I wish I had known before starting macro photography

A friend of mine and me recently got ourselves a Canon 100mm f2.8 macro lens. We thought we’d easily do plenty of good looking macro images, but not quite so. It turns out that macro photography is a pretty hard exercise, no matter what gear you have, and for some reason I haven’t seen too many resources discussing the difficulties.

It boils down to one thing : you’ll need light. Lots of it, a lot more than you’d expect, actually. And a tripod, because at 100mm, when closing in on the subject (around 30-40 cm), camera shake becomes a serious problem. Ah, but this lens has a 2.8 aperture, you say, surely light can’t be a problem. Well, it still is. The reason is that at 2.8, with a 100mm focal length, your depth of field becomes paper-thin as you close in on a subject. At minimum range, you can’t shoot a frickin’ ant without having, say, it’s head sharp and rest of the body blurry.

That’s why this lens also makes very nice portraits (although it still doesn’t beat the 70-200 f2.8 as far as I’m concerned). But the point is, at 2.8 the lens is hardly usable at close range so in most cases you’ll need to close down to 5.6 for a typical subject (a flower for instance). Now factor in the camera shake, and there’s your light problem, and why a tripod can really be a necessity, even though you’d think you have great light conditions.

Anyway, here are the results.

Leave a comment

Nabaztag or chumby ?

A couple of days ago, I made an order through Amazon which included a nabaztag. Despite what I still view as a design flaw, it’s still a cute, versatile toy and I figured I could find a nice use for it. Then, thinking more about it, I changed my mind and cancelled the order. The only real use I could find for it was to have it report some events like new mail or someone trying to reach me through IM, allowing me to still know about these events even when I’m not in front of my machine and the screen saver is on. But two things stopped me. First, the nabaztag itself not having a screen, displaying any kind of info means using some kind of colored light / ear positioning combination. It can actually be practical (red nose light => you’ve got mail), but doesn’t scale very well with the number of informations to report (“er, what was the two blue, one orange, left ear up sequence for already ?”). Second, well, do I really need all this info ? I think I already compulsively check my email enough as it is :-) .

Let’s still indulge the fact that an external display unit would save me some time, knowing immediately if it’s worth checking for mail/news/IM contacts. Searching for an external LCD screen, the only one I could came up with was this one. Nice, but USB only, and not very legible from a distance.

Then, chatting about this with other geek friends, one mentionned the chumby. Ah, now this one really seems to fit my needs perfectly, except it’s not available yet. The widgets are actually written in Flash Lite, which should be good enough, so I think I’ll keep an eye on this one.

Finally, yet another option is… the iphone of course :-) . Wifi, really mobile (as in “no damn power cord”), it’s actually probably the best option, even though it will probably require a bit more tinkering to make it do what I want due to its lack of openness.

In any case, I guess I have to wait :-) .

Posted in Uncategorized | Leave a comment

Eyeballs are a still a scarce ressource

I recently came across this article on Open Office and how buggy it is, despite the fact that it was Open Source (and therefore open to the scrutiny of thousands of hackers willing to help fixing it).

It perfectly illustrates the how ESR’s “enough eyeballs” are just about as mythical as the man-month.

The fact is, opening the source of any software is a requisite to attract hackers to help with it, but it’s by no means sufficient. After all these years dealing with OSS, I’m starting to think it can’t work at all except for a very small category of software. To gain a contributing community, software has to :

  • be a hacker tool (like a kernel, a mail agent, a compiler – forget about business-related stuff, hackers don’t use spreadsheets or word processors)
  • be easy to build (otherwise a would-be contributor will be frustrated before being able to do anything)
  • be easy to find your way around (which means be modular, and business-related apps generally aren’t, because while it’s relatively easy to break down a kernel into specific modules, it’s much harder for this kind of apps)

Other than that, while opening the code still brings lots of benefits, you won’t get a community of hackers like the one of the Linux kernel.

Thankfully, the OSS community has matured a bit, and the idea that OSS isn’t the Silver Bullet doesn’t seem such a blasphemy anymore (except to newbies or non-coding zealots).

Posted in Uncategorized | Leave a comment

Assorted iPhone items

So, like many (‘many’ being the understatement of the year here), I’ve watched the 20mn iPhone tour Apple has just released, and would therefore like to post my thoughts.

  • if there’s a search feature for the contacts, I wonder why they didn’t show it. Otherwise this would be one area where my Treo is more convenient that the iPhone (typing a few letters instantly shows the contacts whose names start with the typed sequence). Given how large a contact list usually grows, searching through it alphabetically just doesn’t cut it, no matter how fancy the scrolling is. I really hope they haven’t pulled another ‘cursor keys are obsolete’ here (Jobs decided against adding cursor keys on the keyboard of the very first Macintosh, arguing that they were no longer needed now they had this wonderful new device called the mouse – I hope the iPhone’s ‘flick scroll’ hasn’t infatuated them the way the mouse did).
  • It offers quite a bit of custom services (maps, voice mail) that will probably require some integration work on the side of the service providers. I hope they won’t have to trim it down because of this.
  • the maps app really begs for a GPS device
  • Does YouTube really need to be put forward as a major app ? As far as I can see, it’s still only a fancy time-waster, not a “serious” application. That it would be hyped like that really puzzles me.

On a side note : add me on the list of people who think that Ajax as a way to add 3rd party apps on the iPhone is a major disappointment. I just hope that, given how generic a name Ajax is, they didn’t just use any random javascript-based Ajax toolkit and went for a more XUL-like way of doing things. We’ll see.

Posted in Uncategorized | Leave a comment

On Management

Throughout my professional career (a bit more than 10 years now), I’ve worked with about 20 managers at various levels (from the team leader to the small company CEO). Among them, most have been between average and good, 5 were truly abysmal (i.e. actually counter-productive and detrimental to the project), and 2 were really outstanding. When I was a junior I used to think that managers were all representatives of the Dilbert Principle (and indeed I had seen at least one good example). As time made me a tad wiser, I found that not only management requires as much talent as development, but truly good managers are even more rare than truly good programmers.

So just for the sake of feeding this blog, here’s a short list of what I believe are key signs to a good manager (and to a bad one) :

  • A good manager will remove obstacles and try to help you working more efficiently. He will keep his door open, ask what problems you encounter and will actually try to solve them. If the problem is yourself, so be it, but before reaching this conclusion, other solutions will be tried. A bad manager will rather coerce you into working as he thinks you should, and will not want to hear about your problems (the typical answer will be something along the lines of “if you can’t do it I’ll go find someone who can). By default, he sees you as a slacker (actual example : at the beginning of a worldwide sports event spanning several weeks, a company-wide mail sent by the CEO, reminding us that everybody should be there a 9AM and should not leave before 6PM, so don’t you people think of leaving to watch the game on TV, Big Brother is watching you).
  • A good manager will follow what he says with actual actions. A bad manager may collect input from his staff, sometimes very thoroughly, but won’t act on it. (actual example : a 3h long meeting, with all recriminations scribbled on papers tacked on large boards. In the end, the manager just took a photograph of the boards, saying “I’ll study this”, and nothing ever happened).
  • A good manager actually has a clue about which management techniques work and which don’t (generally comes through experience). A bad manager will blindly try to apply whatever buzzword he may have heard of, pretty much fitting the “if your only tool is a hammer, all problems look like nails” stereotype.
  • A good manager will actually welcome comments and remarks on his decisions, even negative ones. He will accept debate and will even expect it, even though he will have the last word, because that’s his role. He won’t have a problem with recognizing he is wrong, as he knows he can’t always be right. A bad manager will feel threatened by differing points of view, and will perceive them as a challenge of his authority. Basically, a good manager is self-secure, a bad manager isn’t, and tries to prove otherwise by abusing of his authority.
  • A good manager tries to entice good behavior, a bad manager only punishes bad one. For instance a good manager will publicly praise you for an achievement. A bad manager will publicly scold you for a mistake (actual example : a manager proudly exhibiting at every weekly team meeting a chart showing the developers with the highest number of assigned bugs).
Posted in Uncategorized | Leave a comment

Myspace, “worse is better”

Skimming through a blog about the Cannes Film Festival, I came across this movie website URL. Movies have long had web sites, but a myspace page ? This is new.

Let’s be honest : myspace is the new geocities. Back in the early days of the web, geocities was a huge heap of ugly, boring personal web pages, generally very badly designed and using every single dumb javascript trick in the book (that, and the <flash> tag). It was the place where bright pink text on yellow background would wrap around blurry holiday pictures scattered at random. And your mouse cursor would be followed by a trail of cute little stars. Geocities was the haven of thousands of vanity sites. Now doesn’t that make you think of something ?

Why was geocities so successful ? Because it offered free and easy to use hosting. Forget about quality, the “worse is better” principle applies. Why is myspace so successful these days, even though just about 99% of its webpages are eye-piercing demonstrations of ugliness ? I can’t see any other reason that it’s because it gives all the tools a home site needs in a nicely wrapped package : blog, photo gallery, audio and video playback, and… hyperlinks. Because, really, what are “friends” in myspace if not a reinvention of hyperlinks within the realm of myspace ? Yes, hyperlinks within a text are used to offer a way to “more info”, but in a blogroll for instance they are an endorsement. Much like myspace “friends”.

Then of course there’s also the critical mass factor, which myspace has reached long ago. It’s sheer weight makes it mandatory for media marketing droids to set up camp here whenever they have something new to promote. And so myspace becomes a fac simile of the Net, except centralized.

This is actually a global trend as Nicholas Carr says. First were centralized, disconnected networks (AOL, Compuserve, Genie… my first online steps where on a system called Calvados, which later became Calvacom). Then Internet wiped them out. And now we see them growing back, within the Net.

Posted in Uncategorized | Leave a comment

Downside of choices, redux

It seems that I wasn’t the only one making the connection with the open source ecosystem.

Posted in Uncategorized | Leave a comment

Spamming, 15 years on

How long do you think an email address can stay in the spam lists ? I just quizzed a bunch of friends about this, one immediately answered “indefinitely”. He’s right.

Back in 1992-93, my first job was being a trainee at the INRIA. There was no web back then, we actually witnessed its birth (and all we did was shrug). Usenet was the main channel for discussions, and I used to post in a few newsgroups. Spam was exceptionnal, people doing it (generally college kids who didn’t know better) were rebuked by people receiving their messages and would even apologize when they would realize what they had done.

By some strange twist of fate, I find myself working again at the INRIA today, some 15 years later. I started on april 2nd. When I first logged on my office machine and looked at my mail, I was very surprised to find about 45 spams in it. Most of them were directed at my own address, rather than at one of the mailing lists I had been subscribed to by default.

I was rather surprised but given the amount of spam we get these days, I figured it was to be expected, since it couldn’t be possible that this was because my address was a “once valid” one (since the INRIA has kept the same policy for creating logins and mail addresses, in effect they had “ressurected” an email address that used to exist 15 years ago). Or so I thought. Then I noticed that some of this spam was directed at a host of the inria.fr domain that couldn’t possibly be “seen” from outside. It was the host I used to post to Usenet from.

So it really goes like this : create an email adress, post on Usenet or somewhere where it will be harvested, disable the adress, wait 15 years, enable the adress… and watch the spam pour in.

Yuck.

Posted in Uncategorized | Leave a comment

Concert Photography 101

After screwing up some potentially good shots at the last concert I attended, I figured it would be a nice opportunity to apply one of the principles mentioned in the original article which led me to open this blog : write for yourself, as a way to order your thoughts. So here goes.

A concert is generally fast moving subjects in low, yet high-contrast light conditions. If anybody can think of worse conditions to take pictures, I’m seriously curious to hear about them. Therefore you need wide-aperture lenses. f2.8 is a minimum, constant if possible. Stabilised optics are even better. On my Canon 20D, I am lucky enough to carry the 17-55mm f2.8 IS and the 70-200mm f2.8 IS. The first one is also a very good walk-around lens. The 2nd is of the “pry from my cold dead hands” kind.

Camera setup :

  • aperture priority (AV) mode. Set it to the widest aperture you have.
  • increase ISO, depending on the light conditions. 400 is the usual minimum, 800 is more common, 1600 is tolerable. You need to get 1/25 maximum exposure time (above that, you’ll get motion blur no matter what, IS or not – unless the whole band is under heavy sedation)
  • no flash : it bothers the performers, and it’s useless (except in very small venues, in which case it will bother the performers even more). Don’t even think about it, flash is explicitly forbidden in most venues anyway.
  • spot metering mode (or anything close enough your camera has). This is very important, because your camera has very little chances to figure out the right exposure by itself. More on this below.
  • if needed, under-expose a little. Noise or under-exposure can be fixed (to some extent), blur cannot. So if the current lighting won’t give you a short enough exposure time, set the exposure down a bit. 1.5 stop is generally the most you can afford without getting picture you won’t be able to ressuscitate. Be aware that even the best image noise processors will leave this caracteristic “plastic-like” look on skin, or turn hair into blur (which is avoidable, but takes time).
  • yet, a concert is one of the situations where motion blur can actually look good. But it’s generally better if you have it on the subject you’re shooting while not on the background.
  • standard, “one-shot” auto-focus mode. If your camera has some kind of ‘focus servo’ mode (where the camera automatically keeps focus on the subject if it moves), don’t use it. You’ll be reframing often (and often significantly), and the focus will be messed up. (This is the bit which cost me a bunch of good pictures last time).
  • burst mode : fast moving subjects, talking (well, singing) in many cases – shooting in burst mode will increase your chances of taking a good picture where the subject doesn’t look goofy.

Why spot metering : as I said, you’re shooting subjects in high-contrast light conditions. What’s more, the performers themselves will very often be highly contrasted, namely wearing dark clothes. The part which you want to be properly exposed is the face (a shot where the subject’s face is either under or overexposed will generally look bad, no matter the rest). If you use any other metering mode, it’s quite likely the camera will evaluate an exposure longer than what you need, because of the subject’s dark clothes, or the dark surroundings. Not only you’ll get motion blur, you will also have overexposed faces.

So when shooting, you need to lock light metering on the subject’s face first. Only then go ahead with focusing, reframing if needed (it often is), shooting. This is a quick reflex game, it does take some practice.

Finally, some more general tips : ear plugs, small torch light (always comes in handy), high-capacity memory card. Behave nicely try to be as inconspicuous as possible (don’t ever try to attract the performer’s attention – you’ll be thrown out, and if not you should be).

(add : a compilation of links regarding concert photography).

Leave a comment