Older blog entries for raph (starting at number 41)

Ok, as it seems popular to post Guadec summaries, here's mine.

Wednesday/Thursday

Because my flight got screwed up at the last minute by the travel agency chosen by Guadec, I had the flight that departs 7pm Wednesday from SFO and lands in Paris at 2:30pm Thursday. I had kind of a bad sendoff from my family (the turmoil here continues unabated) and didn't sleep well on the plane. Since the canvas talk was scheduled around 4:00pm, the timing was not ideal.

So, I managed to take the RER train from the airport to Denfert Rochereau, but decided to walk to Enst instead of taking the metro, because I had just been sitting on my ass for about 15 hours and didn't feel like adding another minute.

Arriving at Enst, I immediately met lots of Gnome hackers I knew. After hanging around a bit in the lobby, I went up to the session room where Federico was finishing up the talk. I arrived in time to give demos of Gill and the Hobby spline stuff, and answer a few questions. Lauris Kaplinski (author of Sodipodi) was in the audience, and he came down to give a demo and answer some more questions. It was especially cool meeting him in person, because I've felt the language barrier in email. Sometimes face-to-face is really important. Radek Doulik also had some questions about using libart in gmap.

After the sessions was a little party in the lobby, during which I got to meet lots more hackers, including Keith Packard, Alexander Larsson, Lauri Alanko, Larry Ewing, Ville Pätsi, and a few more I'm not recalling right now.

After a little mixup with my luggage being locked in the conference room, a group (Bart Decrem, Bud Tribble, Maciej, Eskil Olsen, Ramiro Estrugo, and George Lebl from Eazel, Tim Janik, Chris Lahey, John Harper, Guillaume Laurent) of us went out to dinner at a crepe place. Nice food, lots of beer (including the infamous beer that tasted like sausage). Among many other things, I debated political economy with George, simultaneously debunking the remnants of his communist ideals while decrying the excesses of capitalism. George took some pictures, the creperie is 3-10. That's me with the beard in 6. Then off to the hotel to crash. Btw, I highly recommend the Ibis. Rooms are small and spartan, but very nice, and the breakfast is very good.

Friday

Woke up at 13:30 after a sequence of complex, richly layered dreams (which contained, among other things, an alternate version of most of The Cook, The Thief, His Wife, and Her Lover), then walked straight to Guadec. Got there in time for the talks. Owen talked about Pango, Michael Meeks talked about Bonobo, and Andy gave a Nautilus demo. He got an ovation when he showed the "View as Music" view plugin for an album of mp3's. Cool stuff, and a lot of excitement. I'll be doing some work on rendering vector icons, which I'm really looking forward to.

After the talks, David Turner spirited me away to look at the new autohinter for FreeType. The idea of autohinting is really cool for free software, for two main reasons. First, it gets around the Apple patents on TrueType hinting. Second, it makes it easier for people to design fonts that will render with high quality. This is the thing about TrueType - some fonts have had massive amounts of time put into them and render well, while the majority are poorly hinted.

In any case, the FreeType autohinter looks promising, but it's not anywhere nearly as sophisticated as the Hobby one. I guess we'll see whether it's possible to get excellent quality with a simple system, or whether the extra complexity really is needed.

David and I had a great discussion over a French dinner (I wanted Fondue, but the ridiculously tiny restaurant was full). I had cassoulet, and David had a steak that looked alarmingly rare to me. After dinner, we ran into a bunch of Gnome hackers on the street. I went in to Sputnik with the crowd, but was too tired to stay for long, so I missed the stickers and attempted Linux installs.

I think this is the day when a big bunch of us went to a cafe and had a freewheeling discussion about many things. No cabbages or kings, but I was called on for a computational geometry consult for finding a place for a new window in a window manager without overlapping any existing windows, if possible. (Sawmill being the target here). There is an easy O(n^2) solution. I came up with an answer based on the Pigeonhole Principle that should be blindingly fast in the common case, but up to O(n^2) worst case. It will be fun if a future version of Sawmill ships with this.

Saturday

I woke early and had breakfast with a bunch of hackers in the Ibis. Afterwards, I showed up at the hacking party, got my AC power and networking needs taken care of, and checked my mail. Ahhh, the fix.

Then I had a very spirited public debate with Philippe Le Hegaret from the W3C, who had come to Guadec specifically to talk to me and other Gdome hackers about DOM issues. I think I got across my points of view about the complexity of many W3C specs (too much), the openness of the W3C process (not enough), and frustration with tracking the tangled web of dependencies needed to implement SVG. Larry Ewing and a number of other hackers were there to back me up, so it was many against two (Daniel Veillard defended the W3C a number of times).

Then Philippe took DV, myself, and another person I can't remember out to pizza, and we had a nice discussion. In the afternoon, a group of us consisting of Philippe, Tim Janik, Mathieu Lacage and myself took over a classroom at Enst and hashed out Gdome issues. We came up with a really good simplification to the refcounting problems I'd been having, then worked out some of the tricky bits that can happen with reentrant event handlers (these are analogous to reentrant Gtk+ signals, so Tim was able to contribute his experience). I agreed to write an email to the W3C DOM group about this.

After listening to Philippe's arguments, I'm basically not swayed in my criticisms of the W3C. For one, XML with all the chrome and fins added is a big, complex interlocking set of specifications, and the interactions between all the different pieces are starting to bite back. I feel that this complexity is not justified by the actual problems that XML solves for people. Further, W3C process is closed on the justification that proprietary companies on the working groups want to protect the confidentiality of their stuff. I understand why the W3C felt this was needed, but ultimately don't think it's the Right Thing.

Guillaume then took me to the cheese shop he had been promising (threatening) to take me to when I was last in Paris. The selection was indeed impressive, and I took home an intruiging cheese from a volcanic area.

From there, I took the metro to the Helix boat party, and immediately ran into Tim Janik and Will LaShell. We were all hungry, so we grabbed a hamburger at Quick. The conversation was, as usual, wide ranging. For some reason, we spent a fair amount of time talking about how easy it would be for Germany to construct nuclear weapons.

The party featured music that was way too loud, and more drinking than I really enjoy myself. I talked with Tim Ney a while, then left with Joakim and Hans Petter to talk about Peer Press. We converged at the hotel bar, and were joined by Keith Packard, Owen Taylor, and Michael Meeks. We spent most of our time talking about my print driver stuff. One fun moment: Hans Petter was hungry and was wondering where to get food to eat. After studying the bar menu, he and Joakim concluded that the sandwich was microwave stuff. Then Joakim pointed out, "but this is France, so it's probably good microwave stuff".

At 1am, bed, but I didn't get to sleep until quite a bit later, as my brain was racing with all the events of the day.

Sunday

The conference was officially over, but that didn't stop me from meeting people. In the morning, I worked on my email to the W3C and some other email, then racked up some phone bills, and finally arranged to meet a rather hung-over Mathieu around 15:00. It turns out that finding an open restaurant in Paris on Sunday afternoon is nearly impossible. I finally found a bar that was willing to make me a ham and cheese sandwich.

Talking with Mathieu was great fun. We covered Gdome stuff, font stuff, and other stuff, and Mathieu tried to convince me that ATM is superior to IP, especially for voice traffic.

Then Mathieu and I went out to dinner at a Basque restaurant, and, indeed, I had frog's legs. I'm not sure why people think it's such a big deal - the meat itself really does taste like chicken, although this particular restaurant's version of it was very tasty.

After dinner, I went to talk to Bertrand for a while. More cool stuff brewing there, which I can't talk about yet.

Went to bed with my voice completely gone.

Monday

Woke up at 08:30 with my voice still gone. Breakfast at the Ibis with Owen, talking about Pango and other stuff. Then I noticed it was time to leave, so I took Metro and RER back to the Airport. Public transportation just works in Europe. Why can't it here?

It turned out Bart Decrem from Eazel was on the same plane as me, so we spent quite a bit of time talking, partly about Eazel stuff, partly about some of my hare-brained ideas to adapt the Advogato trust metric stuff to selecting MP3's.

Overall, quite a trip. I'll remember it for a long time.

I'm back in California after Guadec. The words "fucking awesome" don't begin to describe the experience. My main regret is not having spent more time talking to all the cool people there. But there are only 86400 seconds in a day, alas.

There's a lot of stuff to write about, but right now I need to take a nap (my voice is completely gone). It's an exciting time to be a free software developer.

LWN has an announcement of a new X replacement for Linux from Troll Tech. Since it doesn't mention a license, I'm not very hopeful. If anyone knows more about this, though, let me know.

Nap time.

At Guadec. Way too many people to meet. It would be a lot easier if there weren't so many awesome people working on Gnome.

Ah well.

I am going to Guadec tomorrow. My flight doesn't arrive until 3:00pm on Thursday, however. So, as soon as I get off the plane, I will jump into the helicopter that I'm sure Mathieu will be happy to provide for me, parachute out over ENST with my laptop in hand, ready to output 1024x768 video for the projector and with Gill loaded, so that I can give my afternoon presentation on libart and the canvas. Failing that, Federico will cover for me.

I'm really looking forward to meeting all the people that I know only online who will be there. The discussions ought to be really stimulating as well.

The family situation is still messy and complicated. How did I get into this? At least my sore throat is gone.

Libxml 2.0 is in a beta now. It has a lot of changes that are really needed to follow the spec precisely and to make things like DOM easy to do, but the upgrade is not painless. I spent about an hour hacking on mod_virgule. I think it works now, but I'll wait til I get back to make it live.

See you in Paris!

Woke up this morning with a sore throat and fever, so I spent the day taking it easy. It's probably for the best, because I've been working a little too hard lately.

Yesterday, I did visit Eazel and indeed will be working on some graphics stuff for them. I'm excited.

mjs picked me up at Daly City Bart and delivered me at Helix with no mishaps, but on the way out of the parking lot yosh bumped fenders kinda hard with the car behind him. No damage, but a reminder that risk doesn't always come where you're looking for it.

Speaking of which, I finished the Peter Bernstein book on risk I'm reading, ISBN number 0471295639[1]. It's a pretty good book overall, though I had some problems with it. He spent a little more time than I would have liked relating anecdotes about when the price of this stock went up and the other went down. It reminded me a bit of my father, who was a stockbroker for much of his career and a passionate private investor afterwards. My single biggest problem with the book is introducing interesting ideas, and then applying them to the stock market without arguing why the application of ideas generalizes. The section on "regression to the mean" was particularly galling, as it was first discovered in the context of population genetics. The mechanism to explain it is so clear and so obviously doesn't apply to the stock market. So why it a more general theory that also applies?

There were a lot of interesting directions the book could have gone, but didn't. For the most part, it stays within the affluent, white, male world of professional investoring. Yet, as Richard Wright has written about (ISBN 0679763996), risk is a very relevant concept for poor people. In fact, there seems to be a connection between being of low status, having lowered serotonin levels, and engaging in more risky behavior. But Bernstein concerns himself almost entirely with financial risk and thus misses the opportunity to explore this connection.

Also, his description of why professional fund managers tend not to outperform the market would have benefitted greatly from the "how to be a successful psychic" algorithm. Basically, you pick 1024 marks, and you pick a series of 10 true/false events to predict. For each mark, you give a different set of values for the predictions. For most of them, your performance is mediocre, but one of them will be amazed that you were able to guess all 10 events correctly. Why, there's less than a one-in-a-thousand chance of that!

[1] We really need a free-as-in-speech website that maps ISBN's to reviews and optionally ecommerce links, especially with Amazon's patent issues[2].

[2] Slashdot has a pretty good discussion. I'm tempted to write about it, but the issues are murky. Bezos is in a clear position of having economic constraints preclude doing the right thing. And people wonder why free software advocates are so passionate about keeping our informatics infrastructure from falling completely under the power of large, utterly amoral corporations.

I like the new logo drc made for the site.

Following on to the Advogato editorial about software compexity, I posted a pretty sharp criticism to the SVG public mailing list. I expect it to generate lively discussion.

Someone wants to buy gzilla.com from me. Coincidentally, Godzilla 2000 will be opening in the US in August. I've got a call in to Sony Columbia TriStar Pictures to see if they might like it even more. This is my first experience with domain name speculation, and already I'm acting like a first class squammer.

Other than that, feeling pretty good. I've been having a very nice discussion on the gimp-print mailing list about my halftoning stuff.

Visit to Eazel is tomorrow, Maciej is driving me over from San Francisco. I sure hope he doesn't drive like a madman.

A strange day, many ups and downs.

I had a meeting with someone doing yet another dotcom startup. Yep, one of the ones that prepends a lowercase "i" to a word in the dictionary. Not counting the .com. I agreed to meet with him because it sounded like they might be doing something for which my work on trust metrics had relevance. Turned out the main thing he wanted was to hire somebody to build the website. Oh well.

Mark and I discussed wet dream some more on irc. The new ideas still seem cool.

jwz was on #gnome irc tonight, and really slammed Advogato, saying it was much less interesting than Slashdot. I know he's the one who says Linux sucks and said Gtk+ was irrelevant because Motif is the standard, but it still stung. Next time I see him, I think I'll pour some hot grits down his pants.

I'm going to visit my friends at Eazel next week. That ought to be fun!

So today was a bit of a roller coaster, to say the least.

I just had a discussion with Mark Crichton about optimizing Wet Dream to the point where it would be realistic to actually paint with it.

The idea I came up with is to use a quadtree to represent the model of the canvas. When you have a wet/dry edge, you represent the model at higher resolution. For washes and so on, you represent it at lower resolution. The model keeps track of the sum of the paper field height and the fluid height. That way, even when the model is blurry and you apply paper texture to it, you can compute the effects of the paper at high resolution.

Now, the idea of just using lower resolution is kinda reasonable, and obviously reduces the amount of computation required. What makes this idea really cool is that in a model of half the resolution, pigment diffuses as much in one step as it would in four in the original model. Thus, you get a 16x improvement in the amount of computation needed to dry the paint. One order of magnitude is about all it takes to be usable.

There are a lot of details to be worked out, like making sure you don't see the seams when the resolution changes. But, as I see it, this is the most promising approach yet.

I spent most of the day playing with color printers. Fun stuff!

Kind of a big day. I signed a contract with Artifex Software for them to market my stuff (mostly libart and screening technology) in much the same way they do for GhostScript. Could be very cool, and it also looks like I'll be doing some work on GhostScript as well.

I tried to talk L. Peter Deutsch into coming to Guadec, but he has house renovation stuff that conflicts. He was tempted, though :)

I think I have the solution to my intersector problems. I was trying to make the test "is this point on the line, or over to one side" always do the right thing even in ambiguous cases. I had a solution that worked as long as only two lines were potentially intersecting, but now I think I was tempted down a wrong path. Now, I'm working with a three-way test: on the line, over to one side, or ambiguous between the two. In the third case, you insert a new point into the close-by line (or lines, it ought to work with more than two this time). With the new point inserted, you have total control over what happens on or above the sweep line, and what happens below is the responsibility of the next iteration.

I still need to check that this really works in all cases, but it has the ring of rightness to me. I'm really looking forward to turning this into code.

I'm kind of stunned by the growing sense of the implosion of Slashdot. There are lots of technical issues about trusted users, scale and so on, but I think it really boils down to the fact that Rob doesn't care much any more. I care about Advogato, and rusty cares about his eponymous kuro5hin. That's what makes the difference.

The model of a federation of a lot of small sites, each run by people who care, ultimately makes sense. This concept gives me a sense of excitement and vitality characteristic of earlier days on the net and completely missing from the big media sites that basically seem to be turning the Internet into television. In my followup to Radagast's article, I propose a name: "The Cluedot Federation". Catchy, no?

I spent much of the day putting together an Advogato clone for a completely different field. No, I'm not saying what field or where the site is until it's publicly announced.

I'm also more than a little pissed off because the checking account is seriously overdrawn again. There's money to cover it (thanks to ipo's), but it's a huge hassle. It's mostly a communication thing - my wife writing checks and not letting me know. Of course, it also has to do with going through too much money. Ah well.

I'm sure I'll feel better when I get the algorithm for the intersector all worked out. I've come up with a cheat that I can use if I don't find an elegant solution to making more than two lines cross. Basically, if you fix both y0 and y1, then you can tell with 100% accuracy whether two lines cross, are separate, or are equal. None of this fuzzy tolerance arithmetic that's making life so interesting. I liken it to "math while drunk." Two plus two? wha? isn't that like three, or five, somewhere around there?

I'd sorta prefer the elegant solution, but at this point maybe my time would be better spent working out the details of the cheat.

This community stuff that we're discussing here is interesting as hell. Yes, I do believe it's possible to kick ass and do a lot better job than most other people. Not just tech stuff either, definitely.

32 older entries...

New Advogato Features

New HTML Parser: The long-awaited libxml2 based HTML parser code is live. It needs further work but already handles most markup better than the original parser.

Keep up with the latest Advogato features by reading the Advogato status blog.

If you're a C programmer with some spare time, take a look at the mod_virgule project page and help us with one of the tasks on the ToDo list!