Category Archives: Announcements

Google Plus?

Google is trying again with social networking with Google Plus. It actually looks pretty interesting; the group management (“cirlces”) looks reasonable, the platform-independent n-party text/voice/video chat (“hangouts”) looks spectacular, and the interest grouping (“sparks”) would make a good standalone feature. I’m going to wait and see before I deal with it, but the “Google already knows all there is to know about me” reality gives it a leg up on the competition, and if they rigged it together with standard technology (they way Google talk is a good Jabber/XMPP implementation with some extensions turned on) I might at least peer some of my “on the real god damn internet” identity into it like I do with Buzz.

Posted in Announcements, Computers, General | Leave a comment

Congratulations Tom and Cristina

A little belated because I didn’t get to plugging my camera in to a computer until today, but congratulations are in order for my housemates Tom and Cristina, who got married last Saturday in an incredibly well suited lighthearted ceremony. Best of luck guys!

Posted in Announcements, General | Leave a comment

Research Updates / LLVM Is a PITA

I’ve spent the last several months discovering ways in which LLVM is excessive, ill-behaved, oversold, broken or simply lying in it’s documentation while working on my master’s project. In fact, that is almost ALL of what I accomplished in the past several months, and it was griding on me psychologically. Last weekend, I finally admitted to myself that, for a mixture of psychological and technological reasons, I wasn’t going to be able to finish the project using LLVM. I’ve always had a bail-out path set up to do a simpler full-custom compiler if something proved intractable, and Monday I talked to the advisor about putting that plan into action.

I’m now building a simple C-like language with PCCTS (old school 1.33MR33 emits-pure-C ANTLR and SOURCERER PCCTS, not modern ANTLR), hand-coding C for the remainder, and concentrating on the technically interesting matters. To that end, I’ve accomplished more conceptual work in the last week than the two preceding months, started laying out my new tools, and feel much better. The best “aha” moment I’ve had in months came when I sat down and worked out how the stack and calling conventions were going to work in my new system; LARs are beautiful and well-suited to real world problems in a whole host of ways I didn’t understand before.

Note that I don’t think LLVM is entirely bad; in conception, having a nice cleanly-interfaced compiler infrastructure with a library of frontends, backends, optimizer passes and other common components which snap together via clean interfaces, high level specifications, and a standardized intermediate representation is exactly how compiler tools should be structured. The problem is that LLVM has been drastically oversold, and overcomplicated. Every neat-looking interface has a mess of poorly-documented C++ that needs to be written to support it. Everything is set up with an emphasis on LLVM’s JIT/VM features, making it unnecessarily clumsy to use to produce pure compilers, or interface with external tools. Worst of all, the documentation is deceiving — much worse than incomplete, it appears complete, but is frequently deceptive or wrong. To pick one of the more egregious examples, much of the document points to the MIPS fronted as an example. This should be a good thing – MIPS is a simple design familiar to almost anyone in computing, but the MIPS backend is broken, in apparently fairly fundamental ways. The register descriptions are buggy in ways which cause it to generate incorrect code for any input containing floats, and it appears to be a high-level design problem descended from naively trusting that the register description and allocation mechanisms work as described. It is probably already a good tool for writing production compilers for established designs, but it really isn’t suited to writing research compilers.

Posted in Announcements, Computers, Navel Gazing, School | Leave a comment

Blog Move

This blog is in the process of moving in from it’s previous location at to it’s new home at on bluehost. This current page will no doubt be repeatedly created and destroyed in the process, as I try to explain to the terrible migration tool about internal linking, resources, categories, and a variety of other things it is doing it’s best to lose or mangle. Things should be up and running in a couple of days, when the links will be updated, and the relocation notice will go up at the old location. This post also has a full set of categories, to force updates.

Posted in Announcements, Computers, DIY, Entertainment, FoodBlogging, General, Meta, Music, Navel Gazing, Objects, OldBlog, School | Leave a comment


My research group is headed down to the IEEE/ACM Supercomputing Conference next week in New Orleans to put on our customary research exhibit. This year’s booth features a large 6-sided figure with three 6-foot screens on the longer spans, in addition to the lighted sign tower, print on demand whitepaper system, and low tables from last year. The MOG Maze returning for its third year on the show floor, with a new faster more flexible version of the MOG environment (mostly) ready for distribution.
Last year was a blast, and SC is an experience unlike any other, a bizarre mix of trade show and technical conference which creates an environment more exciting than either on its own. The various shakeups in the HPC world of late, particularly that monstrous Intel Xeon/ Nvidia GPU/custom interconnect thing that China built, showed a few weeks ago, and have declined to share technical details about, should make this year especially exciting.

Posted in Announcements, Computers, OldBlog | Leave a comment

SC’09 Video

I did a taped group-promotion and demonstration of the MOG Maze at Supercomputing last year, but we were never able to actually find the video posted online. I was doing an unrelated identity-management search while working on Ph.D. applications, and … here it is at, with somewhat illogical search terms. Embedded below.

*obligatory listening-to-recording-of-own-voice cringe*

Posted in Announcements, Computers, DIY, General, OldBlog, School | Leave a comment

New Laptop!

My new laptop arrived thursday, and it is a beautiful thing.
(It should be pretty apparent which one is the new one…)

It is a Lenovo ThinkPad T510 (4313 Chassis), with a Core i7 620M (2 cores at 2.66Ghz, Hyperthreaded to 4), 8GB of RAM, a 15.6” 1920×1080 LED Backlit screen, Nvidia Quadro NVS 3100M graphics, 500Gb 7200RPM HDD, and lots of doodads)

Like a good geek, the first two things I did, after booting it up to check that everything worked, were opening it up to poke around and upgrade the RAM (Like all OEMs, Lenovo WAY overcharge for RAM), and blowing away the included Windows Whatever(tm) install for an ArchLinux system (and a smaller partition with a …”fixed”… copy of Windows 7 for games and such).

It is tentatively named “Ahu” in keeping with my “Man made stone structures” naming scheme for full sized computers. (Current active machines are a Lenovo T60p named “Monolith” and a used, modified Dell Optiplex GX280 named “Dolmen”)

Just to keep them together:
Things I like:
* The screen is GEORGOUS, bright, good colors, and 1920×1080 is a whole lot of pixels. Way, Way better than the T60p, even when it was new.
* This thing is a powerhouse. Not “Mindblowing” fast, but close, and 8GB of RAM covers a multitude of software sins.
* nVidia graphics, simply because the nVidia drivers are a lot less of a hassle than the ATI ones under Linux.
* SD Slot – I have lots of SD-using devices, it seems to be the defacto standard, having one built in is super handy.
* Build quailty – It feels sturdy. Actually, even sturdier than the T60p, no squeaks, rattles, or flexing.
* Rounded edges – They screw with the classic Thinkpad aesthetics a little bit, but it means the angles where the palm rest has a sharp edge in your wrists are gone (except for one spot on the right where the latch sits).

Things I dont’ like:
* The textured, flush touchpad is TERRIBLE on first use. It is clumsy to use (different resistance pushing and pulling), feels bad, and doesn’t have recessed edges to put your finger against when scrolling. I’m one of those weirdos who actually likes touchpads, and the one in my T60p is excellent, so this is quite a disappointment. I seem to be acclimating, but it still isn’t as comfortable as it’s predecessor.
* The machine is bulky; If I could have a new 4:3@15” with decent (>1050 vertical lines) resolution I would have gone for that, but they simply don’t make them anymore. 16:9 is a stupid shape for computers. Unfortunately, all my stuff is sized for 4:3@15”, so despite my careful purchase of a matching sleeve, the damn thing doesn’t fit in some of my normal bags and accessories.
* There is a cutout in the palmrest for some part I don’t have, I think a pantone color calibration sensor? or possibly the fingerprint reader? with a blank cover in it. My fingerprint-reader-less T60p has a smooth palm rest with no slot, I was hoping for the same.
* No ThinkPad goodie bag. My T60p came with a variety of extra Trackpoint (eugh) nubs, some “security” (Torx) screws, and some other trivial accessories. It was a nice touch, that is now gone.
* Exposed optical eject button: This thing is so well designed it’s really noticeable that there is an oversight in that the eject button is placed where it is pressed when picking the laptop up by the sides.

Most of the gripes are incredibly minor, and I’m really, really pleased with the machine. I’m Currently in the process of taking it from “shiny new piece of hardware” to “home,” which takes a while for me. Most of the configuration is working well, even the parts I’m doing differently (trying to avoid tpb and use direct acpi or xfce features). Convienently, Arch just added a proper multilib repository (literally the day I got the machine), so none of the old 64 bit OS disadvantages are asserting themselves.

Posted in Announcements, Computers, General, Objects, OldBlog | Tagged , | Leave a comment


Another year older and… roughly the same.
Last year’s birthday entry still holds, with some additional support: Now I KNOW I like teaching well enough to do it in the long term, and I have a “real” publication out the door based on my masters project (which is actually progressing, albeit slowly).
To put it simply, I’m still enjoying what I’m doing, I’m still being rewarded for doing things I enjoy, and I should be able to continue in such a state for the foreseeable future. That last step does, however, involve starting PhD applications, which is terrifying.

Posted in Announcements, General, Navel Gazing, OldBlog | Tagged | Leave a comment

Off to Vienna!

Off to Vienna tomorrow (solo) to present on my research (solo) at CPC’10!
Two Aspects:
1. YAYYYYYY, trip to Europe (that I’m not the one paying for), to talk about my work with a healthy assortment of the rather small community who can follow and are interested in doing so.
2. AHHHHHH, The paper and presentation both have known issues related to there not reliably being a second set of eyes on the writing, this is the first time I’ve presented a paper at a conference, and this is the first time I’ve dealt with the incessant bullshit of air travel without at least one other person who knows what they’re doing.

Still, quite excited, and, an unmitigated YAY for the bonus weekend in Vienna, it’s been too long since I’ve touristed somewhere, and Vienna looks excellent.

Posted in Announcements, General, OldBlog, School | Leave a comment

A Compiler Target Model for Line Associative Registers

I just submitted my first “real” publication (which was already accepted based on the extended abstract) A Compiler Target Model for Line Associative Registers, to CPC2010 in Vienna, Austria this July. Very excited.

I got “a little less support” from my adviser than I might have liked, but I’m reasonably confident in my writing skills, and a lot of the material had already been worked over for putting in a (previous, rejected) paper I coauthored, so the process of putting it together wasn’t too bad. It was stated as “I trust you to take care of it,” but it was still really irritating. That said, there is something vaguely awkward about the paper that I haven’t quite been able to put my finger on; I think I thought about and played with it for too long, and lost track of what was actually there at any given time. Have a look and tell me what weirdness didn’t get caught because no one (else) read it closely before it went out, I’ve already found a redundant qualifier left in the last line of the abstract… just be warned that the topic is a little obscure.

Posted in Announcements, Computers, General, OldBlog, School | Leave a comment