Archive for February, 2007

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.

FC 6

Last night I upgraded my main machine to Fedora Core 6. This time I upgraded using yum. It went very smoothly; the only oddities were due to weird things I had done to my machine.

I’ve been running FC6 on my laptop for a while now, so I pretty much knew what to expect.

Fedora -vs- BBDB

Last night I packaged BBDB for Fedora. I submitted it to Extras. I’ve also got most of a package for ERC ready. Let me know if you want either one, I will make them available somewhere.

BitlBee

I’m having a retro moment and I’m moving most of my desktop to Emacs. I suppose I do these odd experiments from time to time, trying out new things; new to me anyhow.

I finally have ERC set up to my liking on my secondary machine. I’ll move my main ircing over to that pretty soon.

I also installed BitlBee tonight. This is an irc server that talks to jabber (which is how I chat with Elyn), so I can just use ERC for all my chatting needs. I heard about BitlBee while digging through the Emacs Wiki. To my surprise it is already in Fedora Extras.

The Emacs Wiki is pretty fun. There’s all kinds of crazy Emacs stuff nowadays, e.g., EMMS, the Emacs answer for playing music.

After irc and jabber I think I’ll tackle my modest calendar needs. I never really got the hang of Emacs’ calendar mode, but I’m going to make another stab at it. With my zenity code I am unstoppable.

What’s left? Browsing is really out of the question — w3 mode exists but I never really liked it. I suppose I could try the emacs shell, but I don’t think I’m that hard core. Perhaps I’ll move my to-do list into Planner. Or I’ll try the BBDB/ERC interconnect, or blog writing from Emacs.

Another random idea is to make Fedora packages for all the Emacs stuff I’m using. I don’t know if I have the stamina for it though. It seems odd that at least BBDB doesn’t seem to be packaged.