Saturday morning at FOSDEM

First thing on Saturday, Peter Hintjens gave a talk about the state of software patents in Europe. I think every FOSDEM I’ve been to has had such a talk; basically European free software hackers are waging a constant war against the various interests that would benefit from US-style patents. (If you’re interested in this or any of the other main talks, videos are available.)

Next up was Jim Gettys talking about OLPC. He had the biggest audience I’ve ever seen at FOSDEM. I didn’t take too many notes since this was very similar to Negroponte’s talk at the Red Hat Summit last year, they largely used the same slides.

Finally, for the main tracks, came Simon Phipps, who talked about Sun’s relationship to free software and also about OpenJDK. He gave a strong warning about software patents, including pointing out that free software community members who work for corporations are, most likely, patenting their efforts as they go along. Also he said that about 26% of Debian came from Sun — 3x more than IBM and 5x more than Red Hat. (I didn’t note the source of this, sorry.)

Simon announced that Sun had officially become a corporate patron of the FSF. And barring the somewhat medieval feel of those words, this seems like a good thing to me. He asked, “why do you still hate us?”, which got a big laugh, but I guess which in a way answers itself.

Seriously, I encounter a lot of dislike of Red Hat on the web, in email, and occasionally in person. But focusing on this, or even thinking about it too much, is not only depressing but also fundamentally erroneous. People, and apparently especially programmers, generally won’t tell you if you’re doing well. A vital skill is learning to tell when to ignore the random bloviators that populate the net…

Assuming you are still reading, Simon also showed clips of RMS, saying that the Java Trap was a thing of the past, and Eben Moglen, saying something equally nice. He also said that Sun was dumb not to have worked with the free software constituency. This won me over πŸ™‚

Most folks at this conference could learn a lot from Simon’s speaking style. He’s very good at it.

He got a bit more into details about OpenJDK stuff. The rest will be coming in the “spring” (the only word any Sun person would use to describe their schedule :-). Due to encumbrances, a few bits will be missing initially: ICC color management (they are looking at little cmms or something like that), the font rasterizer (they are looking at freetype), and the graphics rasterizer (they are looking at the j2me one). They’re going to move from subversion to Mercurial for version control (more on this in Sunday’s notes).

Anyway, the OpenJDK stuff is all shaping up nicely, and essentially nothing I heard this weekend contradicts this in any way. There are, or will be, a few delays in a couple areas — the ones Simon mentioned, plus some testing things — but generally the Sun folks are aware of the various problems and issues (more than me anyway) and are working on them. Also several people gave out their email addresses (Simon gave out Tom Marble’s πŸ™‚ and said that we should bug them if they mess up.

Simon had Mark Wielaard and Tom Marble come up on the stage and then he asked them questions about OpenJDK, Classpath, the distros, etc. I thought this was a nice bit of outreach.

Tom, for those not in the know, is the OpenJDK ambassador. He talked a bit about governance and, in a graceful move, plugged the Classpath developer room and our various sessions.

FOSDEM 2007

I was at FOSDEM again this year, and as usual I took notes, which I’ll write up here. I’ll probably spread them out over a few posts, but maybe I’ll get excited and post them all at once.

FOSDEM is a peculiarly intense conference. It has three main tracks, but also developer rooms and thousands of people. It lasts just two days, so much activity also happens at restaurants and bars after the official activity. I usually tell people new to FOSDEM that they ought to train for it, say by drinking 5 beers a night and not sleeping for a few days. Many people, including me, commented this weekend that there’s nothing comparable to FOSDEM in the US. Hmm, I’ve always wanted to go to a conference or meeting here in Boulder πŸ™‚

This year FOSDEM started even earlier for me — I met Andrew Haley in London and then, on the chunnel train on Friday, it turned out we were sitting across the aisle from Michael Meeks. We spent most of the ride discussing OO.o, his -Bdirect patch (read the link to see the huge OO.o startup performance boost this gets), gcj, and other free software and hacking topics.

Once we got to Brussels, though, he took a different cab and then somehow I didn’t see him again. That was too bad, since he’s very interesting and personable; and also I felt somewhat bad since I was very tired when I saw him and, though I can’t remember exactly what, I’m sure I said several stupid things during the conversation. Luckily Andrew was there to carry the flag :-). Hopefully I’ll meet him again sometime.

He did say I should consider OO.o as my next project (I asked basically everybody I ran into about my future plans). My impression is that he considers it a potential mozilla-like success story: get people on Windows using it, and they are one step closer to Linux. This does seem compelling, though I don’t think interesting for me personally to be hacking on…

Later that night the Classpath and OpenJDK folks all met up at a restaurant, and then later went to the BXL bar (our traditional spot — the official beer event was way too crowded). I finally got to meet various Sun folks, but more on that later. I went to bed early, citing jet lag, and apparently missed various people who only arrived at the bar after midnight.

SELinux Relabel

This morning I started up my main machine only to find that I couldn’t log in. After some experimentation I found that I needed an SELinux relabel. It is running now. I don’t reboot often (I’ve probably rebooted more this morning than in the last six months combined) so I don’t know whether this is a leftover from my FC5 to FC6 upgrade, or whether it is a bug in some update I applied.

Cambridge

I’m in Cambridge visiting Andrew until tomorrow. Gary came up for a night as well.

I got so much spam on my blog these past few days that I think I’m going to install the hashcash plugin and require posters to use javascript.

I took notes at FOSDEM but I’m waiting until I get home to post them. It would be nicer to do this from the conference itself, but I’m always pretty tired and there’s no good time to do it.

Santa Fe

I’m in Santa Fe this week. Due to some fluke we got a good deal at the St Francis hotel so we’re staying downtown.

Mark Galassi, whose desktop always blossoms with odd gadgets and interesting things, showed me the electric sheep screensaver. It is awesome.

Mark and the local linux user’s group also linux-ified the Aztec cafe. So, when I went in this morning, I was not at all surprised to see a public machine displaying tux and a big “GNU Linux” banner, along with an explanation of what this was about.

The Other Idea

I’m still considering what to work on next. As I mentioned earlier, OpenJDK seems to be one viable option. The only other idea I have at the moment is a massive change to the C and C++ front ends to GCC.

In particular I want to change the C/C++ front ends to be incremental compilers. The basic idea is to build a model of the user’s entire program, and then as changes occur, recompile only the minimum amount required.

This approach lends itself to a number of nice things: not just faster turnaround times, but also static analysis (e.g., as plugins to the compilation server — though this may be better if done in the middle end), refactoring, better IDE integration, etc. I expect we’d also see faster compilation the first time a program is compiled (i.e., not just in the recompilation case) since we would be able to reuse parsed header files in most situations.

I’ve spent quite a bit of time thinking about this and I have, I think, a reasonable plan for implementing it. There are a few implementation choices that require some experimentation, but I think that could safely be considered “phase 1” of the project.

My only misgivings center on whether I really want to become a C and C++ expert, and whether it is worth putting this much effort into improving these compilers; especially since I think that C is generally overused.

The real drive behind this is that I’m interested in programmer productivity. Over the years I’ve found that many of the things I’ve found it easy to motivate to work on have fallen into this category, perhaps driven by my own annoyance with productivity impediments.

I’lll probably write a lot more about what this change would look like, how it would work, details about the design, various oddities I’ve considered. But for now I’m mostly interested in feedback regarding its advisabiilty and/or desirability.

The Brief and Terrifying Reign of Phil

A very odd book that I picked up at the library on a whim. It is set in Inner Horner, a country so small that only one citizen at a time can stand there; the other Inner Hornerites stay in Outer Horner, waiting their turn.

Their idyllic situation is disturbed by the transformation of a local loser, Phil, into a demagogue who threatens their way of life.

Ordinarily the sort of off-the-wall humor that pervades this book is not really my thing. I think it is just too easy to come up with really random things, so it doesn’t impress me much.

However, this book is quite short, so it didn’t have as much time to bother me. I did enjoy it.

I put this into the same category as “Lint” in terms of its humor and general approach to sci-fi (as in, filed there since there is no other genre that fits).

2 films

It is French comedy week at IFS.

On Wednesday we went to see Les Bronzés. This has been on my list of films to see for a few years; Video Station doesn’t have it. I suppose I should have been warned by the English title, “French Fried Vacation”. Anyway, it was a very 70s, plotless sex comedy set at a tropical resort. It was not very funny.

Last night we went to see Bernie. But after a few scenes of violence, we left. I hate going to a movie expecting one thing, and then getting something very different. This was much too dark for the mood we were in.

So, we watched Trekkies on DVD instead. This is a sweet film that made me feel a bit better about humanity again.

To say nothing of the dog…

I checked this book out from the library because it had won a Hugo award. I was delightfully surprised.

This book is a genre-bending mix of science fiction (the sci-fi elements were quite light), historical fiction, mystery, and romance, with a bit of humor thrown in. I thought the writing was creative, witty, and entertaining.

I’d never heard of Connie Willis before; I’ll have to read more of her work.

Even more Emacs tweaking

I’ve spent a bit more time tweaking Emacs this week. I finally got around to a few little projects I’ve put off literally for years — for instance, writing a little function that chooses the email delivery method based on my “From” address. For a while I had planned to do this in my MTA configuration, but I finally officially gave up on this.

I read a few old threads about threading in Emacs, hoping to find out what, if anything, is going on here. Answer: not much, though I did learn about the nice (setq gnus-asynchronous t), which prefetches articles. This is handy if you use gmane or something and have a reasonbly fast net connection.

I’ve been hoping for some Gnus tweak that would let gnus-group-get-new-news (aka “g”) run in the background, perhaps disabling interaction with the *Group* buffer (but nothing else) while working. No such luck… the most common response to this request is “run 2 copies of Emacs”. Bleah. Actually I did used to do this, back in the olden days. It sucks, since it eliminates one of the nicest features of Emacs, namely that if you live in it, all the data you normally use can be moved around with ease.

I’ve been using ERC “for real” for a few days now. It is ok but I’m still struggling a little. ERC could use an irc-specific buffer-menu-like mode. Maybe the ibuffer integration provides that, I still haven’t tried it. And don’t even try to use ERC without “page me” support — that’s how I’m doing it now and I regularly miss private messages from Elyn πŸ™

I was hoping to replace sticky notes with some nice Emacs mode, but I haven’t found anything suitable yet (I haven’t tried super hard). One thing I like about sticky notes is that when I click the icon, it remembers my frame positions and color choices. That’s something I’d like this hypothetical mode to reproduce. Maybe some combination of a wiki-in-emacs mode and some standard frame-state-saving code can be made to work.

Finally, I had used mail-hist a number of years ago, but something changed and it stopped working. While digging around a bit I ran across it and re-enabled it.