Haskell is useless

A fun little video of Simon Peyton Jones on useful -vs- useless languages, and trends in language design.


Posted in Uncategorized | 1 Comment

Missed opportunity

A little while ago, I finally got The Call.

“Hello?” I heard a gabble of voices on the other end, obviously a boiler room call.

“Sir? Mumble garble findows bhmflg wugga woop.”

“Excuse me? I can hardly hear you with all the noise on your end.”

“Sir? This is Miriam, calling from Microsoft Windows Support. How are you today?”

Oh my.

“I’m doing great! How are you?”

She hung up immediately.

It must have been something in my voice. I must have sounded too eager. I should have said something like, “I’m doing lousy, my computer isn’t working and I need expert to help me install spyware on my Windows PC,” or would that have been leading too much?

I don’t know why they even bother calling this area code.

Posted in Uncategorized | 1 Comment

Working on The Witness

Casey’s Blog is a great read (also, I’m really looking forward to The Witness).

He basically nails the state of the Windows input APIs (and a lot of other ones) here. I don’t want to publically skewer anyone, but let’s just say that marrying rent-seeking behavior (e.g., need for promotion by adding visible features) and territorialism (the need to protect your turf, especially when your stuff is poorly designed) don’t mix very well. Microsoft’s internal politics amplifies the bad. I’d love to see an official response to Casey’s issue.

Posted in Uncategorized | Leave a comment

Making Windows 8.1 Bearable

So in a fit of crazy, I sidegraded to from Windows 7 to Windows 8.1 this morning. Fundamentally the new OS makes my shit itch, but the changes to make it not suck too badly are undifficult.

First, buy a copy of Start is Back. It’s the best three bucks you’ll spend today. I hear that the guy who wrote this had it easy in Win8 (Microsoft only disabled the code for the start menu, and all he had to do was re-enable it), but for Win 8.1 the Redmond Hive Mind actually removed the code, and the SiB author had to write his own version. He did a great job and deserves to get paid for it (while certain PMs and product design folks at Microsoft . . . don’t). It’s a shame you have to spend money to unbreak something like this, but frankly I think this is how it’s going to be with Microsoft for a while; they need time to detox the promotion-hungry nutjobs out of their review system.

Install Aero 8.1 (download here). All of the available Win8 themes make my eyes bleed. I’d like to know just what the actual fuck is going on at Microsoft, because every single app and tool they ship now looks like a PM with square plasticky glasses poisoned everyone with an ounce of design sense. The Aero 8.1 stuff brings back relatively pleasant desktop backgrounds upon which it is possible to — shock! — see icons. I seem to remember that’s what desktops were for. Also, the theme doesn’t shout to anyone who merely glances at your desktop “Hey, I was a moron and installed Windows 8.1″. Um, yeah.

Related: Apply the usual sanity edits to Visual Studio 2013. Apparently the PM responsible for the uppercase menus in VS 2012 still hasn’t been dry-gulched [broad and unsubtle hint to the VS team here]. I also urge you to look for additional crazy in the editor settings (the defaultness of rearranging my identifier and parenthesis spacing is, um, irritating, but there’s worse hidden in there and you should definitely look). Also, if you have to write an MSDN article on it, and said article is linked to by about half the developers who run your tool, just maybe you should make it a checkbox item somewhere? Is someone afraid of getting fired?

All of these fixes point to a fundamental thing about Microsoft, namely that it seems to be impossible to call out bullshit there. Whatever feedback mechanisms exist in Redmond are borken. The low-level folks seem to have their act together, but above the kernel things have gone off the rails. It makes sense, in a way: If you fuck up a file system or a scheduler then big and spendy and non-bullshittable customers will start looking elsewhere. Screw up a UI and it’s just unwashed gorks who didn’t even go to a design school in Paris who are complaining, and what do they know? “You’re so smart, you tell me what color the pointy thing you move around the screen should be.” Touch screens on PCs? I knew how that was going to turn out the moment they announced it. Redmond is full of Cassandras; I guess the stock is up so they figure they don’t have to listen.

I have no idea how many Derp Points someone burned in order to ship the Metro UI on Server 2012. That, dear children, is a WTF. Amazing work. Good job. Please fall on this red pointy thing.


Usual soapbox about the need to install apps all over again. This was my morning. Installers are bullshit. Installers are a remnant of a world where 14.4K modem speeds were heady and everything came on seven floppy disks with an edgy number of extra sectors and tracks. Why can’t we just unzip a file into a directory, have the system find the stupid icons and be done with it? This worked on a Mac in 1984 (and probably before that on a Lisa, if anyone cared) and there’s no reason it can’t work today. Except the UI guys are busy derping primary colors into your retinas and the kernel guys have their noses in command shells all day and never see the sunlight, and if these groups accidentally meet in the halls there are knife fights. Don’t go into kerneltown, dear designers, they will cut you there.

I call to you: Delete your registry entries, throw off your chains, unhinge your blinders and make it tons easier to flip whole system setups onto new hardware: The entire PC industry will thank you, and since users will be able to upgrade systems more easily you’ll also get more money, which is lots more sincere. Also, you won’t have to trick people into buying new operating systems with UIs designed by someone who went to design college for a semester, only it was a cheap college in the wrong Paris (Mississippi) and all they had were six colors labeled in all-caps RED, BLUE, GREEN, REDDER, EVEN GREENER and WTF IS THIS COLOR I DON’T EVEN KNOW BUT IT’S THE SAME COLOR AS MY SQUARE GLASSES AND WHO EVEN NEEDS LOWERCASE ANYWAY.

I’m gonna go use a Mac for a little while. See you after my blood pressure subsides.


Edit: Things that are still wrong.

The PDF viewer is a skidding train wreck. I wanted to open a PDF and compare it to another document. Hold flaming bugshit, you can’t do that because the default PDF displayer is full-screen only. Now, I’m a clever monkey and there are half a dozen ways around this that don’t involve a camcorder, but . . . wow.

The distinction between the Xbox music app and the Zune client escapes me. I’m sure my confusion will be resolved, and — just guessing wildly here — probably not in favor of Zune. (By the way, if you try to download the Zune client from zune.net, it’s busted. I’m sure about three people in the world actually care).

[Yeah, I use a Zune. I like 'em. You can stop reading Dadhacker now, I guess.]


Posted in Uncategorized | 12 Comments

Breathing life into Diablo III

I logged onto Diablo III tonight for a few minutes, and lo! there was an old friend playing it as well. I’d spent a few hours leveling a new character.

I have to say that the game play is much improved. It’s actually fun now. It feels like someone from the Borderlands team came in and whupped some ass.

I also have to say that the plot and writing remain terrible. I would probably pay for different dialog; could someone do Bad Lip Reading for D3, please?

Posted in Uncategorized | 1 Comment

Andy Weir’s The Martian

I’ll just say that Andy Weir’s book The Martian is the most fun read I’ve had in the last year or so. I’m not to the end yet, but I’ve been simultaneously on tenterhooks while laughing. I’ve wanted to play hooky from work to finish it. You should read it.

(And if you haven’t read John W Campbell’s The Moon is Hell, then that’s another great one. A similar problem, but set on the moon. Written in 1950, so it’s a bit dated, but still pretty darned good).

Posted in Uncategorized | 4 Comments

Klackity Klack

I make my living by typing stuff on a keyboard, all day long, so it makes sense that I use the best equipment I can find for the job. Keyboard manufacturers have other ideas, and for the most part just seem to be throwing junk against the wall to see what sticks. I’m convinced that the majority of keyboards not really designed, but rather simply mutated to test what sells. And most people don’t know how to type, so we’re in a vicious cycle that’s going to wind up with me being unemployed because all available keyboards will have degenerated to F1, arrow keys and a “Goto Porn” shortcut button.

So to help stave off this bad eventuality, a while ago I created an objective point-based system for evaluating keyboards, and I thought it would be useful to share it.

20 points. Where is the capslock key? Yeah, I already know where capslock is going to be, so except for exactly one keyboard I’ve ever used this is always -20 points, but hope springs eternal that keyboard designers will finally get a bloody clue and put capslock where it belongs, wayyyy up there on the right, next to those keys that nobody knows what they do (SysRq and PrtScn, natch). Illuminate the fucker and when it’s enabled make it strobe fast enough to give you an epileptic fit because you NEVER want that thing on.

10 points. Is the ESC key a first-class citizen? Or is it a diminuative nub located in the hinterlands, hanging its head in shame because keyboard designers (who went to art school or had their minds broken up for parts and sold in MBA school) were afraid of its mystery? “Escape from what? That sounds subversive.” I can see the conversation in marketing: “Who ever types ESC? Why would we trust them? Do any of YOU ever use escape? Apparently we need it for legal reasons, but we don’t have to like it.” Naturally none of these people would be caught dead using EMACS or vi or really anything other than PowerPoint, so they’ve never been acquainted with the joys of hitting ESC every third of fourth keystroke. ESC needs to be right around squiggle, or the keyboard can go to hell.

20 points. KLACKY keyboards feel great but they will get you knifed in the back by the people who work near you. The opposite — mushy — will get the keyboards broken in half and thrown into the microwave on DEFROST. TWO POUNDS. KEYBOARD. I prefer something with a slightly klacky feel, enough that I know that the key was registered, but not noisy enough to get me pushed into the elevator shaft onto some bullets.

5 points. Utility in an emergency. Can you paddle your canoe across the newly created Lake Server Room to reach the UPS control panel and still get all the servers back online by hitting ESC at the right time? If so, you’ll be a hero. Be prepared!

5 points. Inverted-T arrow keys, thanks.

5 points. No shifty magic. Page up, down, home and end without involving some arcane FN shifter (which is always colored blue for some reason).

30 points. Split Ego. A sensible “split” ergo angle or I can’t type on you. (I can’t paddle across Lake Server Room with one of these, but then again I have a set of nunchucks. Life is full of trade-offs like this).

5 points. No funky modes (e.g., “alpha mode” or “F-key mode” or “mysteriously type random shit without any way to turn the mode off other than rebooting the computer, unplugging the keyboard and jumping up and down on it in shitkicker boots” mode).

10 points. Comfy when used as a pillow? Unfortunately no keyboard has ever passed this test. 5 points for being drool-resistant, then.

5 points if there are no helpful bullshit MAIL and WEB or WEIRD ICON buttons (“that looks like three Lego minifigs having wild and uninhibited . . . brunch”).

100 points. Longevity. Keyboard will last at least a decade, and I’ll be able to buy another one then. I need to specifically exclude the Microsoft keyboard division, since it hasn’t made a worthwhile keyboard in over a decade (and I’ve exhausted my stockpile of classic Microsoft Natural keyboards).


This was typed on a Kinesis Freestyle 2 split ergo keyboard, with only a couple critical key remappings (capslock, and duplicating ESC onto F1).

Posted in Uncategorized | 23 Comments

And lo!

And on the eighth day, God said, “I need a really good symbolic debugger.”

[apropos of nothing]

Posted in Uncategorized | Comments Off


[tl;dr; I got a new phone. Most boring blog post ever.]

After using a Windows phone for three years, and generally happy years at that (except for the last 6-7 months), I finally ditched it and went to an iPhone [sorry, Jack, but an Android just wasn't for me].

I really liked the Windows phone UI. It was easy to use, nicely customizable  in terms of tile layout, and for the most part I had all the apps that I wanted. The cameras on the two Nokias I had were great, and the build quality was excellent. I’ll miss the mail client.

However, the Nokia 920 has some problems, the worst of which are some bits of the system software which refuse to sleep, spin like mad and make the device grow hot to the touch. After months of waiting for updates to fix things I was running out of battery mid-day and running out of patience.

Last week I talked to some AT&T storefront sales types about the sad, sad state of the Win8 phone’s low-level software and AT&T’s utter inability to address it, other than financially. And they weren’t interested in doing anything. Calls to multiple levels of managers went unanswered.

Turns out that if you go into an AT&T store with a fresh quote from T-Mobile and say, “Are you interested in keeping a customer? This is your last chance!” the sales types become a lot more reasonable. I got a replacement iPhone 5S (which I paid for), but kept my decent plan and didn’t pay the bogus early termination penalty. I did some research; they didn’t lose any money on me, nowhere near.

I’m sad to see the WinPhone go, but it really had to. The patch rate for such a new product (WinPhone 8) was pretty miserable, and not improved by AT&T’s foot-dragging. If Microsoft/Nokia fixed this and started releasing updates and fixes on a rapid schedule (I guess that every couple of months would be “rapid” in comparison) without fanfare, that would probably do a lot to improve their image through word of mouth.

Also, that “customer feedback” they gather? It should include device temperature. I’m just sayin’.

Posted in Uncategorized | Comments Off

Minecraft / Brainfuck Computer

This description of a Minecraft-based computer implementing Brainfuck had me laughing:

The program code is stored using villagers with different names for each command. While the program is running they are moved between three compartments …

[These] are the 8 registers that store the data. Each consists of two droppers and two hoppers that exchange dirt blocks

Not unlike some web frameworks I’ve seen, quite frankly. Someone needs to implement PHP in Minecraft hardware.

Posted in Uncategorized | Comments Off