Well, except for Blogger eating my profile picture, and GoDaddy eating my redirect from robjsoftware.org to blog.robjsoftware.org -- why can't things just Keep On Working? Entropy, I hates it.
Shortly after I griped last month about a lack of working FLINQ samples in the latest F# CTP, Don Syme himself came through nicely with just what I asked for. So yay Don! And yay F#! And boo me, because I have not done thing one on the personal-hacking front in the last month. In fact, that aspect of this blog is going to go quite dark, if current evidence is anything to go by.
Not to say I'm not still deeply digging geeky things -- I'm currently reading my way through the extremely excellent Parsing Techniques, The Second Edition. My upcoming task at work is to do a whole lot of parsing stuff, and this is exactly the book I need. It's amazing. I've been reading scads of parsing papers (one-stop shop for me: Bryan Ford's Parsing Expression Grammars page), but I lacked the basic background -- what exactly is LALR? How do shift-reduce parsers work? How do you convert a left-recursive grammar to a non-left-recursive grammar, and what does it do to your attributes? Well, the Parsing Techniques book is absolutely the best imaginable text for me. It's the second edition, just published this year; the first edition was from 1990. How beautifully synchronistic that it should come out just when I absolutely vitally need it! I LOVE it when that happens.
And honestly, there are two other reasons I'm not getting much solo hacking done. One is that I'm climbing about 20 learning curves at once in my day job, and it's saturating my technical novelty bandwidth. There's not a lot of extra juice right now for doing yet further explorations in the evening. The other reason, and this is something I have yet to blog about here, is that it's the fall season, and that means GAMES.
Yes, the truth is out: I'm a fairly inveterate computer/video gamer. It's been a hobby of mine ever since I first laid eyes on a computer -- literally; the first computer I ever saw was a PLATO timesharing system at my best friend's doctor father's medical school in Connecticut. And what was it running? Spacewar. I still remember it vividly.
Ever since then I've been happily gaming away, and in many ways it's the perfect hobby for a compulsive hacker -- video games push technology in a lot of ways, and modern games use cutting-edge 3D graphics, physics simulation, distributed virtual space technology, and generally a whole lot of hardcore computer science in doing what they do. So not only do the games themselves get more immersive as games, but they also get more technically interesting and intriguing to learn about. Right now I'm playing Crysis, one of the most hardware-intensive games ever made (though people debate whether that's because it's not well optimized or just super ambitious). I finally got my self-built PC to run two graphics cards (through NVidia SLI), and man, this game is freaking stunning on my 1920x1200 26" monitor. (Which cost only $600! Damn, wasn't it just two years ago that this sort of thing was $2000+?)
So I'm giving myself permission to slack off, personal-hacking-wise, for the rest of the year. Unfortunately it looks like it will still be a good long time before I can post in depth about what I'm actually working on at Microsoft, but suffice to say that I really do look forward to that, and it will happen sooner or later, and the longer it takes the more I'll have to say when the veil finally drops. But rest assured, it's freaking cool and you will love it when you see it :-)