Second nearly-annual Internet moratorium

Too much to do this last summer east of the Prime Meridian, too little attention to pay to doing it. Going offline in July for all but essential purposes (and believe me, there’s far too many of those).

I’ll still be reading and answering email, so if you need to get in touch with me, or if there’s a cute kitten / brutal Toronto policing video that I really need to see while it’s fresh, drop me a note.

Last year when I did this, I said we’d better have national health care when I got back, and it took another eight months. So I’m not going to say anything about the oil spill.

Sidetracked

If you didn’t know already: I’m on twitter now, for all your ephemeral news and transitory complaint action; and now that Schwartz has ferreted me out I can own up to my Tumblr junk collection, Tired Robot.

There’s a whole mess of stuff I should be posting about; not to mention I need to get the old archives working, put the blogroll back together, and all like that, but it hasn’t been happening. One of the things I should be posting about is that I’m leaving Switzerland in August and heading for San Francisco — back to San Francisco, twelve years after I left, at least twelve years before in any hazy fantasy I would have imagined moving back. (California’s in the heart, Jack; wherever I go, she’s with me.) It’s going to be great. But that decision, and the circumstances leading up to it, have thrown all kinds of trouble my way that gets in the way of writing here, and of clearing my head to write here. It’ll happen. But not right away.

I hate Eclipse

I swear to God the Eclipse developers are deliberately sabotaging Subclipse to get people to switch to Subversive. It works, too. After twenty-four hours of trying to get a working Eclipse 3.5.1 + Subclipse + EPIC installation on my laptop, I’ve finally given up.

I suspect this also has something to do with Mylyn, but I can’t prove it.

Well, this should be interesting

I’ve volunteered to help write a new scheduling and registration system for WisCon, the world’s leading feminist science fiction convention. From scratch. (Which is, yes, I know, a Thing You Should Never Do. But the old system is a mess of hand-tooled Javascript on top and — this is not a lie — FoxPro underneath, all written and maintained by a single developer who is no longer with us. If there’s ever a time to rewrite from scratch, other than maybe three years ago while the old system was still working, this is it.)

Anyway, that’s only sort of interesting. The interesting bit is that the plurality language on the volunteer development team is Perl. So we’ll be going with LAMP, or possibly BAMP if our BSD fan gets her way.

It’s about ten years since I last wrote a Perl script. Looks like I’m going to have to put Scala and Scheme on hold and hit the books.

Imperative knowledge

As part of my ongoing project to get a do-over on my misspent youth, I’ve started reading the lecture notes for MIT’s EECS 6.001: Structure and Interpretation of Computer Programs.

And I have to say: damn.

I mean, I actually feel like I’m learning something from about Slide Four. Contrast this with the freshman introductory C course I dropped in week one (I wanted to program Macs, not VT100s! — I was an awful hacker), and I can really see why smart people complain that CS is turning into Java vocational training. It’s not at MIT, but it was already on its way (to vocational training, I mean; Java wasn’t yet a twinkle in James Gosling’s eye) when I was at UCSC.

Which is probably one reason I ended up a Japanese major. And that it took me six years after high school to get back to programming. If they’d made CS sound half as interesting as linguistics…

Anyway, I’m hoping to go through the whole course, and write it up as I go. My track record on projects like this is not stellar, but we’ll see. I wish there was someone I could pay to grade me on it.

Meanwhile, speaking of writeups and track records, I still haven’t written up the monad project, but I did throw together a Scala “brush” for Alex Gorbachev’s syntax highlighter (basically just the Java brush with a different set of keywords and an extra regex for the non-alphabetic keywords like => and <: that confuse the regex engine, but it works) so when I do finish writing it up there will be pretty-printed examples:

package pizza;

object ListExample {
  def main(args: Array[String]) {

    val list = List(1, 2, 3)
    println(list)
    println(list map { x => x * 2});
  }
}

(Also I managed, for purely decorative purposes, to work this diagram into the novelette I finished drafting this weekend. I think for the final version I might prefer this one — it’s fancier, and less completely unrelated to what’s going on in the text than the other one. But I’m not sure I can be arsed recreating it in Illustrator. It seems like I ought to be able to just generate a PDF from the TeX source and use that, but when I try — I have only the barest exposure to TeX — I only get error messages.)

Code monkey get up get coffee

I think I’ve mostly recovered from houseguests, bronchitis, a Hugo award nomination, and several days spent driving a zippy little turbo diesel Alfa Romeo at high speeds over narrow French country roads. (And yes, I did spend all my recovery time listening to Jonathan Coulton MP3s, why do you ask?)

Meanwhile, Neal Gafter’s posted some further notes on his Neapolitan ice cream puzzler, including a couple of solutions that should be interesting to anyone trying to decide what does and doesn’t constitute “enum abuse.” And Eric Lippert’s corrected my conclusions on C# readonly vs. Java final; the C# approach is rather interesting, I think.

Eric’s also commented on Dan’s question about state management in functional languages. I’ve got a gold card coming up; maybe I should do something with this Scala monad tutorial

Downtime

The colocation people housing the discontent.com / chrononaut.org / allstarstories.com server decided that the right response to a faltering economy was to double their rates, and my kindly host Brandon decided that the right response to that was to take his business elsewhere, so we’ll be moving this week — down Monday, hopefully up again by Wednesday, but one never knows. Anyway, if you can’t reach this site or at any of my non-gmail email addresses, that’s why.