Monthly Archives: November 2009

Panic Time!

Through a couple of poor time management decisions, and the usual end of semester crunch, my last two weeks of this semester are going to be an adventure. I’m pretty sure I can pull through with something resembling grace (ie. alive and with acceptable grades), although it will be unpleasant, and likely only via a principle I’ve never managed to teach myself to have faith in (despite many, many reliable repetitions); that everyone else is going to fuck up at least as badly as I have. Head down, shoulders back, reduced posting until I get through.

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

Makers

I recently finished Cory Doctrow’s new novel, Makers, which I really didn’t have time to read, but between geek book club and starting it on the plane to portland I was compelled. Like his last novel, Little Brother (which is YA fiction, but everyone should read anyway), I read it as an eBook on my n810, which is a bit of an odd reading experience, but one that is growing on me (No additional mass/volume per book! Searchable! Ever-Present! Until the damn battery runs out or it breaks!)
It is a pretty fun read, but I must say I liked the first two “lighter” sections better than the third. Some observations:

* Kettlewell seems to be largely borrowed, without the transparently symbolic name, from Willam Gibson’s character Hubertus Bigend

* Suzanne Church strikes me as a sort of composite of the notable female Internet-People, particularly Ana Marie Cox but Xeni Jardin also come to mind. I also wonder if the name isn’t a slight homage to Susan Kare, who is responsible for a starting portion of the art for early iconic computer interface elements (this is a stretch, but only a little). A little googling shows there is also a fairly appropriate real Suzanne Church, which must be a little confusing right now.

* The tech in the story is not embarrassingly wrong; its all plausible and sound except for some fanciful detours near the end. This does not normally happen when engineers read fiction, so good job Cory.

* Cory has clever ideas to try, and the hackers are damn well going to implement them. I suspect many of the things that seem clever in the book (RFID tagging all your crap to make it searchable, for example) won’t actually pan out if implemented, but I’m onboard with other things, especially the mechanical-computers-as-art hobby one of the main characters engages in.

Overall, a fun light read, worth the couple hours it takes to get through. Surprisingly, I think someone who isn’t well-versed in the workings of electronics could read the whole thing without missing much, which is remarkable considering how much fun can be had by those of us who are by working out the minutia of how the nifty plot device gadgets would actually work.

Posted in DIY, Entertainment, General, Literature, OldBlog | Tagged , | Leave a comment

The Missing Modifier Key

My usage patterns of late have lead me to the conclusion that something critical has been omitted with modifier keys. Modifier keys are those keys that alter the meaning of keypresses, things like Shift, Alt, Ctrl, Windows, Apple, Option, Command, Function… (I think that covers most common modern keyboards, there have been others). The omission is that no environment I’m aware of reserves a key for the system; applications are always able to intercept the key-presses and do inconsistent things with them (I’m looking at YOU old fashioned text editors). A key reserved for the system (or, actually, the window manager in most stacks) would be useful in a variety of ways, all derived from implementing truly uniform behaviors system-wide. I’ll call this magical key “Sys” (for System Key, its a surprisingly little-used phrase).
Modifier keys have always contentious (and well-storied) things; see oldschool cokebottle jokes and this story about the early Macintosh (near the bottom, that isn’t the one about the symbol, but it may as well be here too). As such, I’ll provide two motivating examples for the addition (or forceful re-purposing) of a modifier:
* I’ve lately found myself hitting Ctrl+T and starting typing a query, expecting a fresh firefox tab preloaded to a google search box. Unfortunately, this doesn’t work so well something other than firefox has focus. I would like to be able to set Sys+T to “Bring the most recent Firefox window to the foreground (or launch it if there isn’t one), and pass it the command to open a new tab.” This should be easily possible with normal NetWM (or even ICCCM) capable window managers, as far as I understand the specs. There just isn’t a good interface for it (AFIK).

* Switching between Ctrl+C/Ctrl+V and Ctrl+Shift+C/Ctrl+Shift+V for copy/paste when switching between applications that have the luxury of following modern conventions and a terminal emulator is distracting and error prone. “Break” and “Background” are useful and have precedence, so I don’t begrudge the behavior, but the “correct” solution would be to have Sys+C and Sys+V manipulate the clipboard (which is (usually, mostly) managed above the application level anyway) in a context-insensitive way.

I know there are ways to approximate this behavior; many media players allow you to set global shortcuts to control them (which may conflict and are usually flaky); most environments have conventions which are theoretically consistent across applications (which are often disobeyed, particularly by still-useful applications written before the standard was established). This isn’t what I’m talking about. The “system only” nature of the key shouldn’t be optional. The window manager should trap anything between press and release of the sys key, including the presses themselves (press and release are separate signals for most keys on every keyboard design I know of), and handle the event, leaving applications completely unaware.
I’ll probably try to adapt XFCE (which seems to have pretty good facilities for this in place already) to as much of my desired behavior as is easily possible, using the windows key as my Sys, when I next have time for a little project like this (ha…). It may even be possible simply by abusing the keyboard preferences, which would be another victory for good old flexible Linux.

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

Lady GaGa: Transhumanist Icon?

gagaprogression_sm.jpg
Looking at an amazing BoingBoing post comparing a recording of Stefani Germanotta (Lady GaGa before she became Lady GaGa) playing at a NYU talent show in 2005 and the official video for Bad Romance that recently became available really shows the degree to which one can radically, radically alter themselves with the help of modern technology.
Go watch and have your mind blown.
I suggest reading some of the comments as well, some of the thoughts there are interesting.
Basically, the question is how one goes from the stereotypical “Cute little brunette girl and a piano” performance (most people are comparing to Norah Jones, that recording in particular strikes me as more similar to Sara Bareilles, but listening to Red and Blue definitely brings out the Norah Jones sound), to the absolutely over-the-top haute fashion/burlesque/modern art look and electropop sound everyone knows in less than four years. I happen to be in the tiny demographic that enjoys both, which makes it great fun to look at the connections.

In the 2005 video, she has a normal, albeit impressively powerful and well trained, human voice. In the 2009 video her voice is autotuned, layered, sampled, and distorted into things no human could produce directly. In the 2005 video the instrumentation is easily recognizable piano work. In the 2009 video, most of the instrumentation doesn’t even strongly suggest what sort of physical instrument it might be modeled after. Likewise, in the 2005 video, she looks like a cute little Italian girl in a green dress. In the 2009 video, she changes hair colors, hair textures, (apparent) skin tones, and bizarre illusion-inducing makeup jobs, and runs through a collection of costumes that look like they belong in a creepy scifi movie (5th element-esque strappy outfit? – check. Translucent medical gown – check. Flamethrower bra – WTF? – check.). All this stuff is really pretty cool technical accomplishments, from the DSP wizardry that goes into producing pleasing, but entirely unnatural, sounds, to the bizarre chemical manipulations (or just wigs, who knows if she has any hair left after all that) for the hair, to the exotic materials that go into the bizarre outfits (go browse some press pictures, it gets way worse. bubble dress for fuck’s sake), to the careful psychology to make the illusions happen (huge-eye makeup, low sloped ceilings, carefully controlled perspectives, and bunches of little head-trips I’m not even sure how happen). You can call it un-genuine, but this is expressing yourself with the full capabilities afforded by modern technology, irregardless of the fact that it deeply erodes one’s ability to perceive her as human.

Posted in Entertainment, General, Music, OldBlog | Tagged | Leave a comment

Marrakesh Moroccan Restaurant

Marrakesh
Portland has a reputation for good food, and, despite the fact we ate a lot of conference provided food and nasty (but reliably non-poisonous) chain restaurant fare, I got a couple notably good meals in while there. I had nice pho one day for lunch with a friend who now lives in Portland which was good, but not worthy of transcontinental lust. Dinner on the last day however, is fully worthy. On the recommendation of one of my advisor’s former students who lives in the area, we went to Marrakesh. Marrakesh has great ambiance, with low tables and cushions, low lights, rugs, no utensils, and belly dancers roaming the floor. They also have the best Moroccan food I’ve ever had, and I’m quite found of food from the former Persian empire. 5 courses (Lentil Soup, salads, B’stilla, an entrée, and dessert with Moroccan tea)for under $20 a head. Just spectacular, and perfect for putting us all in a comfortable coma for the less than comfortable (full flight + frontal weather = suck) red-eye back across the country. Highly recommended for anyone who gets the chance.

Posted in FoodBlogging, General, OldBlog | Tagged | Leave a comment

SC09 Retrospective

I failed to blog interesting things from SC09 in real time, so here’s a dump of the things that should have gone up in pieces from the show floor. Some of these are just quick shout-outs for particularly good or bad exhibits, some actually have thinking behind them:

*The dominant message from supercomputing this year is “Everyone wants GPUs. No one knows why.” Even the ISVs are pretty honest about this phenomena, but the feeling seems to be that at around 10% of node cost (according to two different vendors), organizations who are buying really big pieces of hardware feel like the expenditure is a worthy experiment even if they are nigh impossible to utilize now.

* The Hank v. Nvidia rep “discussion” (which is apparently becoming an annual phenomenon) was good enough to draw a small audience.
4123038291_3f58b0bffd.jpg
This year’s opener was an attempt to get the MOG stuff published on a new nvidia-sponsored content aggregator (like gpgpu.org, but without the neutral perspective), so they can claim to be involved if/when it takes off, even though they have been entirely unhelpful with the research. As you may imagine, this didn’t go over well. On the upshot, they DO seem much more willing to admit their programming model is crap, and seem to be sniffing around for alternatives (which included shooting job offers for toolchain developers into our booth).

* The award for shittiest booth goes to the Windows HPC Consortium.
4123803340_5c3e73e253.jpg
Microsoft themselves had the largest booth on the show floor, replete with blue carpet, vacuous cloud-motif hangings, a flight simulator, booth babes (and dudes) dressed up in pilot outfits, aviator shade schwag, and almost no technical content. Their users got a booth that looks like it was assembled by a deficient kindergarten teacher with a budget that wouldn’t cover lunch. Way to show contempt for your users, Microsoft.

* Green Revolution Cooling have an idea which is either brilliant, or absolutely moronic. They have extended and refined the old tweaker trick of sticking a whole system into a vat of mineral oil up to whole NEMA racks. The current arrangement has all the visual appeal of an industrial size deep fryer, with which it probably shares a lot of lineage:
4123806150_514c247a23.jpg
Come on guys, some LEDs and translucent plastic to hide the ugly would go a long, long way. IF they can get around the issues of mess (even with low vapor pressure, between evaporation and splashes the oil will get EVERYWHERE), capillary wicking (a perennial favorite in DIY liquid immersion cooling solutions), service issues (most vendors won’t be real happy about an RMA box dripping with mineral oil, and getting it off will involve a hell of a lot of solvents to have in a computer), the benefits should be great. Quieter, lower power cooling (no fans or blowers), no condensation concerns, easy to reclaim heat, and the opportunity for denser, cooler systems (thanks to the vastly higher heat capacity of oil). There is actually a little bit of consideration about trying a small installation in the new Marksbury Building, since it will fit nicely with the blustery green BS surrounding the building (and hopefully attract vendor testing hardware.)

* The Cray CX1 and SGI Octane III are both adorable little desk-side supers. At a base price near $10k for each, they better kiss your toes while they’re down there though. The Cray is definitely cuter in person, the SGI box just looks like a miniature NEMA rack. There were plenty of examples of each tucked around the show floor…which is probably the only place on earth that can claim that.

* FPGAs are still floating around in the margins. Pico Computing (one of our neighbors on the exhibit floor) is making some some really attractive little FPGA boards, at surprisingly reasonable prices (entry cost ~$400). Most of the FPGA vendors on the floor were at least one and usually two orders of magnitude higher. Digilent (who made both the little Spartan 3 board I have, and the Vertex2 board being used to prototype LARs ) used to be pretty much the only show in town at the entry level. Digilent still seems cheaper per gate, but Pico’s form factors and interfaces look better for computing applications (and are just plain cuter). Some of the other FPGA products on the floor were just monstrous(That thing probably costs more than my entire college education). I’m a little dubious about FPGA-based accelerators (Convey, has the only convincing boards that actually do computation I am aware of; some other vendors have FPGAs doing useful work in the network mesh), but they sure are cool prototyping platforms. As a side note, one of the handful of good technical conversations I had was with a compilers guy from Convey.

I threw up some of my pictures from the trip in a flickr stream for those who are interested.

Posted in Computers, General, OldBlog | Tagged , | 1 Comment

SC09 Booth Hacks

sc09booth1.jpg
The aggregate.org booth is cheap. Really cheap. So cheap that most of the major vendors have single pieces of hardware that cost more than our entire booth. But we still looks classier than all but a handful of the booths on the exhibit floor. This is because we were clever. Where other exhibitors have 42”+ LCD screens, we have large swaths of plasticized paper, wrapped around a modular shelving frame, and rear-projected to by a bunch of old XGA projectors. Because all displays have black backgrounds, we have what is visually four, four foot diagonal displays with no edges. For less total cost than a single 50” LCD. The group has been using a rig like this for years.

I’ve already written about the sign tower. It’s now complete, and is the kind of object that other people use as a beacon to navigate the show floor. It is also the mount for our previously mentioned slow update skycam.
printondemand.jpg
A new clever widget of ours is the on-demand handout printing system. We new we wanted on-demand printing, so we brought a printer, a big lighted trackball, and an extra (decade old) laptop. Over the course of the morning, I assembled an intentional-, professional-looking setup. Originally, I was envisioning a simple, full screen, GTK application, but setting up one-click printing in GTK is a pest, so I came up with a much, much better hack (erm…solution): HTML. I made a simple HTML page, with a table of captioned 300px wide thumbnails of the technical handouts, linked to the real PDF files. I then abused the Firefox settings on the laptop, so that the default automatic handler for PDF files is… lpr. One click, and the requested file is automagically printed, in a separate background process, with the queue managed transparently by CUPS. Set Firefox to full-screen display, and, with a little bit of styling, instant classy interactive on-demand printing interface, that isn’t an obvious hack job. Based on opening night, the slow printer is having a little trouble keeping up with demand, but so long as we keep a reasonable buffer, the system is really nice, and the slight delays it produces have repeatedly given visitors a chance to latch on to one of our other projects.

Thus far, definitely a fun conference, with lots of neat things to do. Also a really, really large conference; the woman at the checkin desk at our hotel said the conference took up about 6,000 rooms,and the idea of 11,000 or 12,00 attendees isn’t incongruous.

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

SC09 Live Camera

I have some thoughts from the trip to Portland to write up when I’m not horribly tired, but for now the SC booth setup is well underway, and we have a fisheye camera pointed down at the booth from the top of our 20-ish foot lighted sign tower, running slow live update to the internet (the script should be refreshing every minute) for your viewing pleasure. I’ll try to post up neat stuff from the show, and will probably dump the good pictures from the trip into my flickr stream as I get the chance.

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

Anti-Convergence

I saw a couple of really impressive examples of Anti-Convergence on the trip to Portland, and ran into a couple pretty good arguments for the concept. The best example was the girl in front of me on the long leg of the flight; she was dual wielding an iPod Touch (or iPhone) for games, and some sort of hard drive based music player for music. The strange thing is, I’m sure the experience of each was better than using the touchscreen as a convergence device as I’m sure Apple intended. Touchscreens are still terrible interfaces for music players. I use, and for the most part enjoy, my n810 as a music player, but the inability to use it without taking it out and looking, like I could with the physical interfaces of it’s predecessors, is frequently irritating.
I ran into several good reasons for not using a single device, because I was (so much as I could) doing so. I was, for several hours, using my n810 as a a music player and ebook reader. The combination keeps the onboard DSP and the screen (with backlight) enabled, which drains the battery very much more quickly than either operation (particularly music only) on its own, to such an extent I had to switch to reading a dead tree book or risk killing my entertainment. The thing is, I don’t need more battery (MOAR BATTERY!) very often, just on a rare, almost always premeditated occasion. Maybe those silly little rechargeable external battery pods are actually a good idea.
This hits both issues; the eggs in one basket problem, where having a single converged device leaves a single point of failure (compounded by my tendency to hack on my gadgets), and the battery tech issue, where the ability to power gadgets is significantly lagging other gadget features right now.
I also always run into a pair of problems with cellular convergence devices; the blooducking assholes in the cellular industry, and the potential for breaking my phone. There is a strong tendency to lock down the ability to hack on devices with phones, and the ones they haven’t locked down are extraordinarily expensive. There is a fairly valid argument for the lock-down, as it is a reasonable concern that users (or some black-hat assholes’) actions could disable the cellular functionality, potentially cutting someone off in an emergency.
Maybe one day there will be a magical converged device (perhaps one of these things with a dual-layer epaper+active screen?), that will fit in a pocket and suffice as a web access mechanism, phone, music player, and ebook reader. Until then, I’ll keep eyeballing all the fancy new widgets, and using my collection of (moderately) reliable old ones (and dead tree books) until there is actually an improvement.

Posted in Computers, Electronics, Entertainment, General, OldBlog | Tagged | Leave a comment

Google Go

Being in a programming language design course (and being the sort of person who would play with it even if I weren’t) google’s new programming language, Go, is pretty intriguing. A few of the things I notice:

* There are some pretty significant people behind it. Ken Thompson (one of the great old bearded ones) lends a lot of credence to anything he touches, and Robert Griesemer and Rob Pike both have pretty distinguished records of their own.

* Really? “Go”? There is already a (very low profile) language “Go!” which is causing a bit of a stink (the suggestion of renaming Go “Issue 9” is really clever, particularly in light of the people involved; I’d support it). There is also the problem that “Go” is essentally impossible to google for, and “Go Programming Language” has the acronym “GPL” which is already pretty well populated in the computer context. Also, the game Go has Go taken in computational circles. Too many conflicts to be a good idea.

* SLICES! — OMG YES SLICES! Slices are one of those features that I miss whenever I am writing in a language that doesn’t support them. There aren’t many software languages with slice support, but Verilog and some of the other HDLs have them and they are wonderful. The implementation (slices are associated with an array which contains the values, and merely provide bounds) isn’t bad, and the “create a hidden array for a slice not associated array” feature isn’t too heinous, although perhaps it would be cognitively cleaner to restrict slices to existing arrays, or make them genuinely first class.

* Baked-in concurrency goodness. They don’t seem to be quite done with this (FAQ even says so), but having language primitives for concurrency and well-defined concurrency/atomicity behavior over the whole language is becoming really, really desirable with the advent of many-core, many-thread machines and quality generic software tools to automagically parallelize serial code looking rather unlikely (but very cool). I’ve noted that proper concurrency models are something to appreciate before, and will probably do so again.

* I’m not entirely clear on what kind of usage they are envisioning for Go. It isn’t really suitable for the OS people; it has no pointers, no explicit memory management, no existing OS with appropriate hooks to use it on… (that said a Plan9-like OS, written as much as possible in Go would be rad). The applications and web people have moved on to ;decadent languages with unbelievably gigantic standard libraries (<rant> and given up any pretense of programming for the computer that will be running the code over and over and over, it’s all about the developers who write it once and maintain it…</rant>). One environment where it would be very nice is old-style low-UI applications and services (ie. once the bindings are in place it would be nice for *nix daemons). Having spent a fair amount of time poking around inside of compilers it would be quite well suited for compiler development as well; I bet we’ll see a bootstrap compiler in a matter of months.

* I’m feeling some of the same vibe as D (which I briefly fiddled with some time ago) coming off of Go, but Go seems MUCH cleaner. D holds on to most of the ugly in C++ (which I’ve never met anyone who refutes is an ugly language, even Bjarne Stroustrup is on board with that assertion), while Go is creating a clean start, and not including all kinds of decadent features.

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