Raymond Chen's post on the Old New Thing about "if you can't measure it, it doesn't exist" sounded awfully familiar to me. He comments on one person's attempt to add metrics to their blog:
This smells like "I must make this quantitative and measurable so I can make it a review goal to increase my blog's 'impact' by 25%." In my opinion, blogging isn't like that. Blogging is more about creating an atmosphere. Sure, individual entries may solve specific problems, but the cumulative effect is the goal. Using a survey to measure the impact of a blog entry is like having somebody fill out a survey after you give them a ride home because you want to determine the impact that one action had on how nice a person they think you are.Of course, it probably sounds familiar to you too, because it's not strictly limited to Microsoft. Sadly, I think smart people are particularly susceptible to this thinking. The Bank is a lot like this, in my experience: how do we measure our results? they constantly ask. Managers are capable of turning that question into a 14-hour business retreat. And are they actually measuring what they technically wanted to measure? For example, is a survey really the best way to evaluate a learning program? Given the Bank's reputation, will anyone actually rank your lesson plan badly, for fear of losing funding or offending an important institution? In some cases, people might be aware of these problems--but it's politically useful to pretend that they don't exist.
Questions about measuring the impact of blogs will never go away because Microsoft is all about measurement. Many people believe that if you can't measure it, then you can't claim on your annual performance review.
Or we can bring it back to blogging. I don't know how I measure excellence here, exactly, but it's not by comment count. If it were, this would be a very different blog, because I get a much higher response when I mouth off about the hot tech issue of the day, or focus on some geeky, easily-linkable pursuit. I don't usually consider that kind of thing my best work--but if you think that seeing those comment counts doesn't make me sometimes rethink what I'm going to write, you're wrong.
Often measurement is a good thing. But sometimes it gets in the way of doing good work in the first place, or it encourages people to aspire to good measurements, instead of good results.
I've resisted getting a new computer for as long as possible. There are three machines in this apartment just for me, after all. But one of them is a laptop dating back to 1999--it's amazing that it still works. Another is Belle's old laptop, an Inspiron 1100 that works fine for plugged-in music production but isn't much of a portable. Then there's the tower, which I built myself from cheap components. It's a stable rig for e-mail and web browsing, but it's starting to show its age for anything else, and with all the low-end parts, upgrading would be a cascading pile of work and expense: fixing any given bottleneck would just reveal three or four more. It's not very energy-efficient, either, and it's got no direct Vista upgrade path.
Thanks to a windfall from the Bank's termination benefits, I've got some money to set aside, to use for my college loans, to put toward my taxes... and a bit left over for a computer upgrade, with the eventual goal of reducing my usage to two machines or less. If nothing else, it'll free up some space in the apartment.
I knew I wanted a reasonably-sized laptop, for writing on the go. I wanted a keyboard that would be comfortable and long-lived. I wanted the laptop as a whole to be business-class in terms of durability. I wanted full accident protection coverage. And finally, I wanted it to run Half-Life: Episode 2 better than the desktop I've got now (it's the only modern game I see myself running on a PC in the foreseeable future).
Although the Panasonic Toughbook was tempting just for the sheer, macho indestructibility of it, it's also blindingly expensive. The Dell D630 is supposed to also be a good machine with great battery life, but I worry about using a Dell for audio (they're not really known for grounding their power supplies) and I don't always like the way that they design the keyboard or the cooling system. Besides, I've had a yen for a Thinkpad for years. Hence:
14.1" screen (1440x900 resolution)
nVidia Quadro NVS140M graphics with 128MB VRAM
2.2GHz Core Duo (Santa Rosa)
160GB hard drive with 1GB Intel Turbo Memory
8x DVD burner (swappable with an mediabay battery)
Built-in WiFi, Bluetooth, and camera
Not to mention what they say is the best laptop keyboard money can buy, a complete magnesium roll cage, spill-proof drainage system, and three years of coverage against practically anything that could happen to it. And I'm not going to lie, I thought this was really cool:
Just in case I get a motorcycle, it's good to know that I could park on top of my laptop in an emergency.
It's not a particularly stylish laptop, although I happen to like the basic black look. Getting a decent video card means it can't be super thin, and the battery life could be better. But it's a solid machine with a great pedigree and a reputation for bulletproof construction. It should last me a long time, and that's really what I value most.
Unfortunately, a lot of other people seem to be thinking the same thing right now, and it looks like it won't ship until mid-September. So if anyone's got any better suggestions, now's the time to speak up.
In 1996, IBM begins researching the personal area network:
Instead we got Bluetooth, transmitted over boring ol' radio waves. It's too bad IBM's research didn't get more traction. There's something appropriate to the idea that the earpiece-wearing Blackberry addicts on the Metro might have to coordinate all that gear by running low-powered electric shocks through their bloodstream.
Dotster just sent out an e-mail saying that .es and .cn domains are now available. I'm always tempted, when informed about new domains, to register a bunch just in case. Now I'm trying to think of clever uses of the suffix. I can't think of any for .cn, but .es is a goldmine, assuming they're not already taken (www.mistak.es, sadly, has already been reserved).
Or maybe I just really want elvs.es and its subdomain, tricksy.elvs.es (hence the title, my preciousssss).
Forget the right mouse button: where the ^@#$# is all the keyboard navigation?
Once upon a time, I looked at eBay as a way to break even on purchases that I didn't need any more. I would look at my items carefully, check the market, and price them accordingly. Then I would hover over them, nervously wondering how high they would go.
But like my habit of buying obselete tech when I was having a rough semester in college (Apple Newton? Don't mind if I do!), that is now a thing of the past and I am much happier for it. Instead, for the last few auctions I've looked at eBay not as a commercial transaction, but basically as a form of trash disposal. People are paying me to take items off my hands instead of throwing them away. I am lucky in that I can afford to buy myself the occasional luxury. Why not pay that on to someone else?
This philosophy means that my last few auctions have been listed a bit differently. I want the whole interaction to be as quick and painless as possible, and that means encouraging Buy It Now sales. So I've been setting that price as a good selling price for similar items, minus ~15%. Then I set the starting price at the lowest I would be willing to sell--basically the reserve--and let it run from there. For video games, that means that the starting price is what EBGames offered as a trade value. For the Tascam, I went pretty bargain-basement with it at $50, because that's probably more than Guitar Center or a pawn shop would give me.
And as a result, my eBay experience has been a lot more pleasant, and the buyers are getting a great deal. I like to think that they feel warmly to me, as the guy who's basically unloading well-loved-but-unused toys. It's like a big circle of karma, concluding with the warm fuzzy feeling of "WOULD BUY AGAIN GREAT SELLER ++++++++++=+++PLUS+++++" Thus proving once again that there is no act of charity that the Internet can't find a way to misspell or mangle.
My Internet claim to fame, before I started plastering my name all over this mountain of wandering ASCII, was as a coder in a very small corner of the PocketPC gaming market. Quake had just been ported to Microsoft's first usable mobile operating system, which was a big win, but I couldn't run it. At the time, PocketPCs were much more powerful than the Palm device where I'd started, but they were also much more expensive. To save money, some OEMs were making using cheap greyscale screens instead of the color versions that were more common. Greyscale was actually an advantage for some users, because the battery life was longer, but it used a 4-bit screen depth (like the original Gameboy) instead of 16-bit color. As a result, applications that weren't written to handle the lower scale would overwrite video memory with four times as much information, all incorrectly formatted, and the device would crash.
I was just a student, so I had to dip my toes into the WinCE market with one of the lower-end devices from an eBay auction. And while I was content to grin and bear it when the best commercial games would only run on color devices, Quake was open source. So I got a copy of the compiler and started mangling the video code until I created a version that would run on both devices. The conversion was tricker than I had initially figured (the buffer was actually addressed in landscape mode, so I had to write non-adjacent pixels to each byte when in portrait), but I managed to blunder through. It wasn't perfect (I had a bug in my lookup tables, and very bright colors would turn black), but it was a hit in the small community of users who used the same devices. I followed up with a replacement for the PocketPCs game .dll (which told software where to locate video memory and directly access the buttons) that would automatically convert color games to greyscale, even if the author hadn't done any work, by creating a virtual color screen and converting from there.
I could do all of this, even though I didn't (and still don't, really) know anything about the Windows API, because Windows CE would give considerable leeway to programmers. If you wanted something onscreen fast, you didn't waste your time trying to get the OS to draw it for you. You grabbed the screen memory and wrote the bytes yourself. This was a low-level hackability that the PocketPC shared with Palm, although the latter was even more primitive (and therefore even more fun to code on). PocketPC does, after all, have several great modern features--multitasking, protected memory, error collection--that always felt like they were in my way. On a Palm, the OS was laid open. You could ignore the proper way to code, disrespect the other programs, and have your game largely take over the machine. As a user, it was an often unsatisfying platform, but as a programmer it was a blast.
The reason I started to think about this was because there's word that the Apple iPhone won't be able to run third-party software. Well, that's not entirely true. I expect that a few months after it's out on the open market, or as open as a $500-with-expensive-contract phone can be, someone will have hacked it open. Eventually, you will be able to play Quake on it--everything plays Quake or Doom, given time, even if no-one could ever imagine such a thing being useful or enjoyable. At this point I think the port just spawns on its own, no coders required, after a set gestation period. But what you probably won't be able to do is break into the system guts like I did. Maybe that's a good thing, from a modern perspective--should kids really be learning about addressable video memory at this point, instead of real APIs like Core and DirectX (which will eventually come to Windows Mobile, mark my words). No doubt those kinds of programming environments are more powerful. I guess I just wonder if they're any fun.
I read a theory once that British programmers became dominant during early days of computer gaming because they learned on terrible little machines (the BBC Micro, I think) that were nevertheless easy to hack. For the last ten years or so, coding on a portable computer has been like a time machine back to a simpler era. For a certain kind of person, like me or maybe the guy who wrote a GTA game for NES, there's a powerful appeal in that simplicity. But it looks like PDAs and cell phones are no longer a destination for that kind of ground-level coding. We're either going to have to go to even simpler devices (wristwatches? digital cameras?) or to emulation for a retrocomputing fix. As our present moves into the future, our past keeps pace with it.
I'm using a Logitech Trackman at work now instead of a mouse to try to rest my wrists and prevent shooting pains through my hands and arms. It seems to be working nicely, particularly after I swapped the buttons to give my index finger a chance. But note: although the primary means of interaction with a trackball uses your thumb, where did the helpful people at Logitech put the scroll wheel?
Right: exactly where everyone else puts it. Between the two mouse buttons. And since the trackball is actually more curved than a mouse, it's actually harder on my index finger to reach for it now. Now, I love the scroll wheel--incredible idea, use it all the time. And I realize that my inability to cope with this at work is partly due to my lack of admin rights (for Mouseware) and partly to my poor work posture. But honestly, guys: put the wheel where it can be used, right by the marble. I miss my wheel.
Topics to be discussed tonight, after work, time permitting: The Who and Tommy, console interfaces, Corvus's roundtable on genre, and perhaps a new recorded cover.
And in a flashback to the GMU dorm life:
Whether you are a musician or not, all creative and technically-inclined people should be excited about the Monome interface:
CDM links to a early adopter's impressions, which are highly favorable.
Now, I know what you might be thinking: it's a box with buttons and lights. Is that supposed to be cool? YES. It is very cool, because the Monome doesn't impose any restraints whatsoever on what you do with those buttons and lights. They're completely software-controlled, so the display is independent from the input functions. And unlike the Lemur touch control, which fits much the same niche, the Monome has the tactility of physical buttons.
You can build a Tenori with this. You can make a drum machine, complete with display. You can use it as a sample trigger. You can assign synth tones to the keys and play it like a very funky keyboard. It could be used to control and display an EQ. And these are just the musical uses. It's also a very small Game of Life board. With simple software to interface between midi and keystrokes, it can be a macro keyboard. It could be an image password. There is so much cool stuff you could do with one of these.