Wednesday, June 29

Implementations Have Consequences

One of the blogs I read every day is Old New Thing, Raymond Chen's fascinating daily dive into the murky depths of Windows. Highly technical.

Today, he got a comment from another MS blogger: mgrier, who maintained the NT DLL loader for a couple years. That's the piece of operating-system code that manages the process by which the reusable parts of programs (Dynamic Link Libraries) are made available to executables, and to each other. One of his recent articles, part of a series on the internals of the NT DLL loader, had this quote in it:
I believe that this is not an implementation detail...

Wow. What an incredibly scary thing to say. Not just because it demonstrates that the Windows operating system is sufficiently complex that the very intelligent people maintaining it think about it abstractly enough that they hold beliefs about it, but also because he's making an important point about software here.

Every implementation decision you make matters to your design. Even things that, to the designer/architect/whoever-specced-out-the-thing-you're-working-on, seem like pure implementation details. At some point down the road, someone is going to care that you present your output as an ordered list because that's how it happened to come out. This is most important for applications that have other applications 'downstream' from them (i.e. their output is going to get fed into some other thing), but it's applicable for end user programmers too. (Especially since a lot of the output you think is being read by people is actually being read by machines.) So a truly conscientious programmer considers all these things, and thinks carefully about the consequences of each implementation decision that needs to be made. Or at least, they should.

I wonder if we do?

Tuesday, June 28

Conflicted over Adequacy

Oz had things to say about revision control recently, as well as some comments on 'the tyranny of adequacy'.

I'm really conflicted about the sentiment that that there is a tyranny of adequacy. On one hand, as a tool developer, I want The World to be constructed out of the very best components possible because I know that things tend to be overused and abused out there. I'd rather people not use a thirty-year-old textfile editor to do business-critical tasks; I'd rather people not use a terribly buggy operating system when vastly superior ones exist. On the other hand, as a user, I want to learn the fewest things possible because I'm a busy guy and anyway I hate change. (People do. It's a Human Being thing.)

It's really a conflict of interest. Engineering best practices suggest that the best engineering is overengineering, that things should be as perfect as they can be made. But Optimizing is hard work, and it's hard for lazy people -- and I include myself in that category, for sure -- to keep working on perfecting something when what you have in your will do the job. Something that satisfies. Herb Simon coined the term 'satisfice' in the 50s for that concept, so that he could label and dissect the optimizer/satisficer distinction.

Oz seems to be one of those rare humans that prefers to Optimize rather than to Satisfice in his everyday life. He wants the very best user experience on his computer, so he uses an Apple at home. Never mind the fact that, for almost all things, Wintel boxes provide an adequate user experience. He wants his employer to be a thought leader in the industry, so he works for Sun. He wants his pictures to turn out perfectly, so he practices and practices photography rather than just pointing and shooting. (There are other experiences I have with Oz that lead me to hold this to be true, but if get into them you'll know who I am, and I'm trying to hide that a little here.) My point here is that Optimizers worry about a 'tyranny of adequacy', whereas Satsificers just get on with their lives, not caring enough about the quality of their experience to seek out its betterment. Of course, optimize/satisfice is a bit of a false dichotomy; there's a continuum there, depending on what you consider 'good enough' in terms of quality.

Ah ha! Found it! That's my problem with the phrase 'tyranny of adequacy': it obscures the writer's actual sentiment, which is that the community about which the writer complains has lower quality standards than (|s)he does. It also allows the writer to get away with not telling us why they think the community's standards are too low. So there.

[Editor's note: between writing the previous paragraphs and the ones that follow, I had a relatively deep conversation with Oz on this topic.]

Of course, a diehard Optimizer's comment on this would be 'the fact that you don't acknowledge the tyranny of adequacy doesn't mean it's not there'. Well, ok. People do tend to overestimate the pain of learning a new system, and underestimate the time and effort they'll save with the better tool. But that's a fact, and, unfortunately, blogging wistfully about it doesn't make that fact go away. Jow Sixpack responds better to carrots than to sticks; he's more receptive to 'look what this new shiny tools can do that your thing can't!' than 'that thing you're using? it sucks. and here's why. and here's something that sucks less in these three ways'.

So, to return to the actual subject matter of the linked post: how about it? What can your source-control system do that mine can't?

Monday, June 27

Title: Someone on Something

Someone talks about Something today. Statement about how their position is incomplete. Somewhat self-deprecating statement of my position. Poorly-developed support of that position, with reference to personal experience. Question of applicability of the preceding two statements?

Exposition of the pros and cons of Someone's position, especially in the context of This guy and the other one. Then again, statement about the difficulty of having an informed opinion on the subject. Explanation of the technical details of the situation, with a relatively well-developed analogy. Overextension of the analogy to absurdity, to demonstrate its limits.

Call for more thought on the subject, or at least acknowledgement that the state of the art is still pretty bad. Personal reference.

Snappy four-word signoff.

Wednesday, June 15

Hey Couch Potatoes! Look!

So I was reading Time Magazine the other day, and I nearly fell off my chair before I realized that an ill-placed spine-crease made for a very funny word-modification.

Tuesday, June 14

User interface! HELLO MCFLY, ANYONE HOME?

Maybe I'm coming at this from the wrong angle or something. Maybe I'm not the target audience for OpenSolaris. But when Tim Bray says Linux is ahead in terms of user interface -- and that's not the top of his shitlist about Sun's latest release -- there's something desperately wrong.

The only thing that exists about a product, from a user's perspective, is its interface. If a feature exists, but can't be found, it does not exist. If a feature is unlearnable or unusable, it does not exist. Jesus people, let's get the horse before the cart here! Let's actually make this disgusting Unix mess usable!

Friday, June 10

Wormsign: viruses hack your perceptions

This Scientific American article talks about parasitism,and the various evolutionary tricks that parasites get up to to cause their hosts to do things more imicable to their own reproduction.

Including messing with their brains, to exaggerate or reduce their instinctive responses to pheromones (like making rats avoid cats less).

I can't help but think two things: (1) how long is it going to take to weaponize something like this? and (2) how long is it going to take before I can take a pill that makes me concentrate better?

Carbonated Beverages I Have Tasted

I was at a wedding this weekend, and there were carbonated mixers for the various alcohols at the reception. Being the good wedding-partyer I am, I partook -- Rye and Ginger's my mixed drink of choice. (I prefer Scotch neat, but only with expensive Scotch.)

Holy mother of god on a crutch, that stuff is sweet!

It's been more than a year since I stopped drinking pop (not an atkins diet, more of an organic thing), and I've lost a lot of weight doing it which is excellent motivation. Now, trying a pop I'd guzzle like it wun't no thang back in the day, I almost spat it out it was so sweet.

I have also tasted Coca-Cola, Pepsi, tonic water (schweppes brand please, not that nastyass house brand stuff), Fanta, Brio, Red Bull, ginger ale, ginger beer, champagne, prosecco, ale, lager, stout and soda water.

Scotch has them all beat.

Tuesday, May 31

Physics sadness

Paul Falstad has a pretty cool physics page where you can run java applets that demonstrate basic concepts. Surfing around his page, I found some unbelievable anecdotes about the state of physics knowledge in the world today. I am not posting this to make fun of the Ignorant Masses - after all, it's not their fault that basic scientific and physical reasoning isn't part of their worldview. Rather, I fault the community of scientists for failing to promote their ideas with the proper enthusiasm.

Gravity on the Moon
and
Heavy Boots

Monday, May 30

An incredibly nerdy injoke that made me laugh out loud.

Today's Dinosaur Comics are funny in and of themselves -- but there's a buried metajoke that just floored me.

Ryan North always puts title tags on the comics, to give a little injoke or commentary on the day's comic. Today's is "s/owned/pwned/g".

Yup -- it's commentary on a joke, relying for its humour on an understanding of Unix command-line tools (sed/awk in this case), internet-gaming lingo ('pwned' as a variant of 'owned', which means "beaten in a comprehensive way"), and the level-confusion of the application of that lingo to a part of the real world that's almost exactly antithetical to internet gaming (making anarchic art shows in parks). OK, so it's incredibly narrow. But I get it! And that's almost the funniest part!

The funniest part is that I care enough to post about it, too!

Friday, May 27

Stross On Anti-Humanist Science Fiction

Charlie Stross' latest blogpost covers the current round of infighting in the British Science Fiction Scene. I have to admit that as a reader-but-not-a-fanboy of british SF, it's all a bit over my head; I don't really care about the ridiculous cliques of in-crowds and out-crowds and "we're-better-authors-than-you-are" spats that the people who produce half of my entertainment come up with when they should be WRITING MORE BOOKS DAMMIT. That said, Charlie raises an interesting point near the end of the article: that most adventure sci-fi heroes would would be psychopaths if removed from context, and that the ur-plotarc for most sci fi would drive Normal People insane.

OK, fine, but Oz and I were talking about the pitfalls of heroic fiction a week ago today, and (though we came to no conclusions) we agreed that heroic fiction has its place. I see the point in fiction about Real People too, but that's a lot harder to get right than the heroic kind and it fails more spectacularly when it's gotten wrong. To quote my wife: "I don't want to read about people making poor life decisions. If I want that I can read the newspaper."

Besides, sometimes I identify pretty strongly with psychopaths.

Wednesday, May 25

An Agonist for Anger, a Medicine for Melancholy

Sorry, Ray.

This rant's about coffee. I'm an addict.

I've been staying up past my bedtime a bit too much lately, and as a consequence I'm depending more and more these past few weeks on Artificial Perkiness to keep my interest in my job up and a viciously brutal headache at bay. Boiling hot joy indeed. I actually can detect the difference in my mood that starts 15 minutes after I dose myself up: I get speedier, I feel sharper, I feel smarter. And, depending on the day, I either get happy or angry. I haven't figured out what triggers one over the other, though. Just, some days I get smiley and jokey and productive, and other days I get snarly and mean. Which apparently can be funny too, but I woudn't know: I'm too busy hoping everyone and everything around me dies a screaming, painful death. Not least this fucking job, which you can take and shove and I hate you all and the little dogs you rode in on.

Guess which one's got me today.

I don't even really like the taste of coffee all that much. I'd never drink decaf. But somehow, over the course of the past few years, I've gotten to the point where I can't not have it and stay functioning.

At least I don't smoke.

Thursday, May 19

Metareview: double whammy

The best review is a bad review.

Let me explain. As opposed to my colleague, who has lately been writing thought-provoking posts that have substance, I tend to enjoy commenting on Pop Culture. In particular, I derive pleasure from pointing out how crappy, absurd, and intellecutally bankrupt it is. When I see another reviewer do the same, it fills my spite-ridden heart with hope.

I have two reviews to recommend today.

The first is for the new Nine Inch Nails album, With Teeth.

The second is the Salon Review of "The Amityville Horror." I will excerpt the part that captures the way I feel about almost all works of pop culture. If only more reviews contained such golden nuggets of truth.
I wasn't shocked by "The Amityville Horror," or outraged by it: I felt nothing but disdain. As a symbol of what some filmmakers and some studios think the public will buy, it's a horrific piece of work. How dare anyone put this piece of crap in front of me. How dare anyone put it in front of you.

Tuesday, May 17

Catch my drift? Ya get me?

Back in the day, I blogged that I'm (almost) the only person who uses the name 'fraxas' on the net. Well, it turns out I'm not the only person who has (almost) original thoughts: Atlas' expression "I'm smelling what you're stepping in" (for "catching your drift) gets relatively few google hits.

So good job, man! you phrase-coiner you!

Saturday, May 14

Two Gamers Named 'Fingers'

Co-worker, Co-Nerd, and all-around good guy Dave and I were hanging out night before last, and he returned to me a book of poetry he'd borrowed almost a year ago. It's called Blue Wizard Is About To Die!. It turned out better than I hoped it would, to have lent him the book; I read it before I lent it to him, and now it's been long enough that it's almost all fresh again. I remember snippets here and there, but most of it has faded so completely from my mind that I'm able to resavour every page as if I'd never seen them before.

It's an incredibly good collection of video-game poetry; I imagine it Means a whole lot less to people who don't play games, or didn't in the 80s, but whatever. It's still a different kind of insight into the mind of a gamer than any other you're likely to get. And it's written by a guy (who's younger than me! And published!) who goes by the nickname 'Fingers'.

So that's one of them.

The other one is a guy from battle.net that I played Starcraft against one time. His name wasn't actually 'Fingers'; it was something like "_.|.._^_^_..|._" , which if you squint looks like a happyface flipping a double bird. He and a friend of his were teamed up, playing against me and Atlas. He was good. He was better than me, for sure; he might even have been better than Atlas. I don't know for sure because he actually cheated, in the one game we played; he accused us of cheating in the typed chat interface the game has, thereby causing us to defend ourselves in the same chat interface. Of course, the time you spend chatting is time you're not spending actually playing the game, and as a result we got steamrolled; he used the totally unfounded accusation of cheating as a way to get a 2-minute head start on us. And it worked. And he admitted that's what he'd done.

That made me really sad. Really disappointed. Really, intensely, angry at the state of humanity that someone would sink to those kinds of depths to win at a computer game. So that's the second Fingers.

I really hope they're not the same person. Assuming we ever met, I'd hate to have to suckerpunch him in revenge after shaking his hand for writing one of my favourite books.

Friday, May 13

Some Reasons Software Sucks

Pharaohmagnetic and I were talking today about Paul De Palma's pseudomemoir The Software Wars, published in the Winter 2005 issue of American Scholar. (I'd give a link, but it's subscription only; Pharaoh receives the actual bound journal in the mail every season. Quaint, isn't it.) De Palma spends most of the article war-storying a few of his experiences in professional software development:
My company's sin went beyond working with complex, poorly understood tools. Neither the tools nor our system existed. The database manufacturer had a delivery date and no product. Their consultants were selling us a nonexistent system. To make their deadline, I am confident they hired more programmers and experimented with unproven software from still other companies with delivery dates but no products. And what of those companies? You get the idea.

His argument, paraphrased masterfully by Pharaoh, is this: software projects can be ruined by foolish business decisions in ways that tangible-goods projects cannot.

That's a good start. There's a lot of meat on that idea, a lot of tasty morsels to chew on. But I'd argue that it misses the point subtly: foolish business decisions can ruin any project. The difference is that the newness of software as a whole means that western corporate culture doesn't yet have an instinctive understanding of what constitutes a foolish business decision for a software project. Admittedly, we're doing better now than we were in the bubble days, when The New Economy (it doesn't exist) meant that old rules didn't apply (they do) and mindshare is now the most important thing (it isn't).

Foolish business decisions on software projects have publicly ruined many a company. But market forces haven't finished culling the truly fat-headed, idiotic, soul-crushingly incompetent software project managers from the talent pool. Add to this the fact that if you're really lucky, the idiotic business decisions you made will only manifest after your product goes to market and its manager gets promoted, and you've got a recipe for a continuing culture of Really Bad Products in the software world.

So one of the reasons software sucks is that the people who make it suck.

Another reason is that software, since it's just a collection of bits rather than a tangible good, is pretty hard to test destructively. So its bounds of correct operation are really hard to determine without actually, y'know, releasing it into the market and waiting for it to break. Engineers can build scale models of their bridges and, within certain well-understood limits, be confident that the full-scale bridge will act the same way as the small one did. DePalma touches on this, but he fails to draw this distinction:

A few years ago, an IBM consulting group determined that of twenty-four companies surveyed, 55 percent built systems that were over budget; 68 percent built systems that were behind schedule; and 88 percent of the completed systems had to be redesigned. Try to imagine the same kind of gloomy numbers for civil engineering: three-quarters of all bridges carrying loads below specifica­tion; almost nine of ten sewage treatment plants, once completed, in need of redesign; one-third of highway projects canceled because tech­nical problems have grown beyond the capacity of engineers to solve them. Silly? Yes. Programming has miles to go before it earns the title "software engineering."

Since a software engineering department's output is itself the model of the production system (we deliver the code you need to execute to generate the running process, not the running process itself), they don't have the luxury of modelling as a mechanism to test assumptions about the systemic qualities of their product.

Additionally, OSes and libraries suffer the same problems of obscurity and untestability. So another reason software sucks is that the tools used to make it suck, which I mentioned before. To summarize that post, software develpment tools don't give you intuitive ways for determining correctness; they require neocortical intelligence as opposed to reptillian-brain intelligence.

A third reason: perhaps consumer demand is not strong enough. The consuming public is already quite used to the general crappiness of software - when a system fails, sometimes they get mad, but most of the time they utter a sigh of resignation, pick up the pieces, and accept the fallibility of the product in question as par for the course. But there's a finer point here: this overall trend of Software Consumer Resignation contributes to an atmosphere within the developer community where there is strangely low pressure for true innovation. Particular trendbucking examples are iPod and Google - no one really knew just how good a portable music player or a search engine could be before they hit the market. People were satisfied with Walkmen and Altavista; they didn't know that vastly superior products could exist, let alone did they expect or demand them.

A fourth reason, which De Palma illustrates quite well, is the Military Procurement Analogy. So well, in fact, that I'll block-quote this big excerpt and let it speak for itself:
The characteristics of software often cited as leading to failure-its complexity, its utter plasticity, its free-floating nature, unham­pered by tethers to the physical world-make it oddly, even paradoxically, similar to the practice of military procurement.

Late in 1986 James Fallows wrote an article analyzing the Challenger ex­plosion for the New York Review of Books. Instead of concentrating on the well-known O-ring problem, he situated the failure of the Challenger in the context of military procurement, specifically in the military's inordinate fondness for complex systems. This fondness leads to stunning cost over­runs, unanticipated complexity, and regular failures. It leads to Osprey air­craft that fall from the sky, to anti-missile missiles for which decoys are easy to construct, to FA-22 fighters that are fabulously over budget. The litany goes on. What these failures have in common with the Challenger is, Fallows argues, "military procurement disease," namely, "over-ambitious schedules, problems born of too-complex design, shortages of spare parts, a`can-do' attitude that stifles embarrassing truths ('No problem, Mr. President, we can lick those Viet Cong' ), and total collapse when one component unexpect­edly fails."Explanations for this phenomenon include competition among the services; a monopoly hold by defense contractors who are building, say, aircraft or submarines; lavish defense budgets that isolate military pur­chases from normal market mechanisms; the nature of capital-intensive, laptop warfare where hypothetical justifications need not-usually can­not-be verified in practice; and a little-boy fascination with things that fly and explode. Much of this describes the software industry too.

Fallows breaks down military procurement into five stages:
  1. The Vegematic Promise, wherein we are offered hybrid aircraft, part heli­copter, part airplane, or software that has more features than could be learned in a lifetime of diligent study. Think Microsoft Office here.
  2. The Rosy Prospect, wherein we are assured that all is going well. I call this the 90 percent syndrome. I don't think I have ever supervised a project, ei­ther as a software manager overseeing professionals or as a professor over­seeing students, that was not 90 percent complete whenever I asked.
  3. The Big Technical Leap, wherein we learn that our system will take us to regions not yet visited, and we will build it using tools not yet developed. So the shuttle's solid-fuel boosters were more powerful than any previously developed boosters, and bringing it all back home, my system was to use a database we had never used before, running on a computer for which a ver­sion of that software did not yet exist.
  4. The Unpleasant Surprise, wherein we learn something unforeseen and, if we are unlucky, calamitous. Thus, the shuttle's heat-resistant tiles, all 31,000 of them, had to be installed at the unexpected rate of 2.8 days per tile, and my system gobbled so much disk space that there was scarcely any room for data.
  5. The House of Cards, wherein an unpleasant surprise, or two, or three, causes the entire system to collapse. The Germans flanked the Maginot Line, and in my case, once we learned that our reliance on a promised data­base package outstripped operating-system limits, the choices were: one, wait for advances in operating systems; two, admit a mistake, beg for for­giveness, and resolve to be more prudent in the future; or, three, push on until management pulls the plug.
We see the effects of big-ticket government procurement all the time; here's a boingboing link to a relevant example.

Now, with the problems identified, how do we proceed? The field of software engineering is still quite young. Bridge-building, too, went through an industrial-scale learning period - Pharaohmagnetic points out the Firth of Tay, Quebec Bridge, and Tacoma Narrows as oft-cited examples of failure that all civil engineers study in their freshmen courses. Imagine a future where standards for software projects mirror those for bridges; a future were software and the tools to make it are so intelligent, it codes itself.

On second thought, let's not just imagine it. Let's make it happen.

Wednesday, May 11

Jeff Freeman on gratification in MMO design

In most MMOs, there's no easy way to determine what hoop you have to jump through to get a particular reward, beyond the simple "get more powerful by whacking foozles". So if you want to know more details, you go to an external website -- probably fan-run, probably inaccurate, definitely full of idiotic comments from people you wouldn't want to meet online, let alone in real life. Jeff thinks MMOs should be less opaque. I tend to agree; it detracts a little from the virtual-world aspect of the MMO, but frankly the virtual-world crew should take their bearded heads out of their butts more often than they do and smell the GAMES SHOULD BE FUN coffee. Also, I should continue to mix metaphors with abandon.

Anyway.

My current honeymoon game (we're still seeing each other almost every night! I'm level 13!) is Guild Wars, and guild wars gets it almost right in this regard. I know, generally speaking, where I have to go next, and what I'm going to have to do to get there, and what my rewards will be; I've only really looked for outside information twice. One of those times was because I couldn't remember where the guy I'd gotten the quest was, and the other was because I was at work and bored and wanted my Guild Wars fix.

Don't EVER force me to be smart.

Joel put up a new article today. It's called
Making Wrong Code Look Wrong
. It's aimed at coders, so it might be a bit greek if you're not a huge nerd who programs computers for a living (or for fun). Essentially, the point of the article is the same as the point of most of Joel's articles: make life easy on yourself and on your users. They'll love you for it, and you'll be more productive.

This is a lesson that very few companies have learned.

In the article, he talks about ways to make errors more apparent in your code. This is a big problem in most code -- to make a frame carpentry analogy, most coding languages don't let you check whether your walls are straight and plumb until after you've got the drywall up. And it's correspondingly hard to go back and fix things. So Joel's suggesting various ways to set up your jobsite and construct your wall sections so that if they aren't straight and plumb and level, they don't look straight and plumb and level.

This almost gets back at my last Wormsign entry: structuring our artificial environments so as to take advantage of our natural capabilities is the most effective way to get (and stay!) productive. Of course, now that I've written that last sentence, I realize I'm talking about ergonomics here. Not physical ergonomics, where you set up your workstation so as to emulate the kind of motions and postures your body evolved for, but rather mental ergonomics, where you set up your workflows so as to emulate the kinds of thought your body(/brain/mind) evolved for. Let that almost-magically-competent pattern-recognizer in your head focus on the things you want it to. Exploit that almost-pathological inability to concentrate on one thing by letting yourself do more than one thing at once. And avoid the kinds of work environments that work against our bodies' and brains' needs: avoid context-switches, avoid waiting, avoid flashing lights, avoid sharp corners, avoid running with scissors.

Ultimately, I think it comes down to the fact that people have way, way more sensory bandwidth than they have memory bandwidth. It's hard to remember two things at once, let alone 4. But I can look at, and integrate information from, at least 7 different windows on my desktop at the same time. So if I put a window in the background for something I'll have to do later, or if I put a sticky on my desk for the doctor's appointment I have in 4 days, or if my coding environment allows me to see errors rather than have to remember to check for them, I'm a happier camper than I would be if I had to remember all that stuff. The less brainpower I have to devote to administrative tasks like checking walls for plumb and level, the more I can devote to actually Generating Shareholder Value and Improving All Our Lives.

Don't EVER force me to be smart. We'll all regret it.

Thursday, May 5

Wormsign: "I feel magnetic fields."

Todd Huffman has a sense we don't. It's an extension of touch; it's an ability to sense, via a neodymium magnet implanted into his left third fingertip, magnetic fields around him.

Wow.

Now, he says he doesn't have particularly high resolving power (that is, fine details escape him) but he can tell gross characteristics of static bar magnet fields from 1-2 inches away, and detect powerful oscillating fields from 1 or 2 feet. He also says it isn't really of much utility to him -- it's just stuff he notices. But imagine! If this is the kind of thing tattoo parlours can do with a few months' planning and research, think of what a dedicated research program could do. Imagine knowing, as a consequence of having touched something, what its magnetic characteristics are in the same way you know what its hardness and temperature are. I can't even imagine the ways in which that's useful, but I'm sure it is.

One thing I can tell you right now it does really well is to integrate into the unconscious information that, right now, we have to think about. That's the way we're going to be able to hack our biological machinery to deal with mid-late 21st century infodensity. Funnel it through the mechanisms we already have for filtering, in parallel, enormous amounts of information. (pop quiz: are you aware of the pressure your hand is exerting on your mouse at this second?)

This will be big.

Metareview: The Review Reviewer Strikes Again

This has got to be the best music review I've read in a long time.

I'd always thought he was content churning out the same tepid, formulaic gak he's reheated so artfully and redundantly over the course of his career with castrated, mediocrity rock wizards Matchbox Twenty.

Seacode

This is hilarious. I can imagine a future where the EastAsian continent empties of people, and then, 3.1 miles away North America's shoreline, a living nest of rafts and ships provides all our labour needs.

From the article on Forbes.com: (go to bugmenot for logins)

Two San Diego entrepreneurs have come up with a very literal twist on offshoring software development jobs. This pair wants to get their hands on a 600-cabin cruise ship and park it off the coast of El Segundo, Calif., just over the 3-mile border that marks international waters. They'll pack the boat with engineers who will write code day and night.

The two founders of SeaCode, David Cook and Roger Green, are confident their plan will float. All they need to do is classify their workers as "seamen," so that they're protected by international maritime laws that skirt the need for those pesky immigration visas.

Get a load of these quotes:

"We're not a slave ship," says Cook. Adds Green, "It's like the International Space Station."

"Try to get American software engineers to work at night," says Cook.

Wednesday, May 4

Imperious bloggers

No links this time, though I desperately want to tell who exactly who I'm dissing here. Anyway.

Sometimes I come across a blog that Just Sounds Wrong. I don't mean content wise (though there are plenty of Wrong-content blogs out there!) but rather in tone. Today, I was linkjumping randomly around some of the blogs I read, and happened across one that combined a number of my interests. I started reading. I started getting uncomfortable, without really knowing why. But after thinking about it for a bit, I know now: I was being talked down to. Nobody likes that.

This particular man's writing had the tone of pronouncements from the mount, complete with putdowns to the anonymous commenters on some posts. It's a shame, really; I bet he's not like that in person. Then again, STDU probably has the same problem.

On the internet, nobody knows you're a dog. But everyone thinks you're an asshole.

Metareview: Worst Review Ever

Pitchfork has always been one of my love-to-hate-it destinations. But this review is just so incredibly terrible, the utter badness of it has got to be some sort of joke I'm not getting. And that makes me feel dumb, which is the point of the whole Indie Rock Review Scene anyway, I guess.

Here's my attempt to imitate the writing in this review. Tell me how I'm doing!
Track 1 is a song that I think is a song I don't like. Hey, it sucks. And the track isn't very good and hey, isn't ben folds a guy? Hey, let's say hey again. It's not like hey, I can't contradict myself in the same sentence as this one.

Track 2: Instead of a banana, this is a song that is sitting on a desk I once ate. Propulsive, opening, swirling, gerunds never grow me bored. My attempt at a witty simile is as awkward as a an attempt at awkwardness by, yes, an awkward aardvark (hey that's a lot of a's.)

Tracks I can't count that high: Hey, do something I like and I'll say I don't like it. This song opens with a an opening and then hey, something after that (hey, isn't that hey hey hey!) What a cop-out.

If Ben Folds plays piano, then yes, I'll conclude this sentence with a random non sequitur. Yes, I changed my mind and didn't know what to do with the diaper. And when I'm done, there's a word I'll use one more time, yes, it's hey. Yes too is a word I overuse. And hey, I'm a scared little boy, I never meant any of the stuff I meant, this is a comma splice because there's no coordinating conjunction after, yes, the comma. Hey.

Interruptions, distractions, slowdowns

I'm sure you've seen the posts on Slashdot, BoingBoing, and myriad other places that distraction lowers your score on an IQ test more than lack of sleep or chemical impairment.

Of course, studies like this always end with a list of things that we should do -- turn off the music, shut the door, get a quiet working environment, and so on -- but there's one that's missing that I think's really important.

Have a workflow that doesn't have any big pauses in it.

My computers at work (both of them!) are old enough, and slow enough, that I have to wait for windows to open and tasks to complete and so on. Every time I click a link in my stupid CRM webapp that opens a new window, I have to sit there and wait for it. I wait for Firefox to open the window, then I wait for the app to populate it with 12 or 15 HTTP queries, each of which go through my office's ridiculously small pipe. I seriously think that the router that connects us to the rest of the WAN is hamster-powered. Anyway. My point is that this takes so much time that I have time to get distracted. And then it takes me a long time to get back on track.

So eliminate those pauses! clear the clutter out of your workflow the way you clear off your desk. Because it's slowing you down way more.

Saturday, April 30

Display-over-IP

Sun's been talking at it's last couple analyst conferences, and on its executive blogs, about how the next step in 'grid computing' is the display grid. They then wank on about SunRays (desktop thin client on a honkin'big backend) and the power of VoIP and so on.

Well, while Sun was talking, someone else went out and did it. Now, this is a Cory Doctorow BoingBoing post, so grain of salt and YMMV and so on, but still. This is here. This works.

Thursday, April 28

Apologies if this entry doesn't make any sense

I just happened across This article on constructive argument. Admittedly, it's in the context of arcane and esoteric details of strategy in a game that star trek nerds think is nerdy, but the point holds -- giving good reasons for your position turns a pissing contest into a source of new knowledge.

Tuesday, April 26

Tim Bray on Truth

I was poking around Tim Bray's blog just now and I came across his manifesto on Truth. Good points for a public blog that's a public face for a very large company, written by an non-anonymous (nymous?) engineer. Not as universal as he makes it out to be, though; perhaps it's appropriate in its context, but I can think of a number of situations where the kind of Truth he's talking about hurts more than it helps.

I don't know if I have a point here.

Friday, April 22

Pop music, spam, frozen food, and product quality in general

For reasons I don't fully fathom, I was singing old Tragically Hip songs to myself this morning. When I got to work, I looked through my (rather impressive, if I do say so myself) desktop collection of CDs for the some old Hip albums. I didn't find any (I think they're at home). But I did find some contemporaneous albums from Our Lady Peace, which is another late-90s early-21st-century CanRock band that got limited play south of the border after exploding in treacly chunks of ubiquitous, radio-friendly distorted guitar all over the Canadian airwaves.

You'd think from my description there that I'm about to pull a Pitchfork on OLP here, sneer, and dismiss them as too 'Hoi Polloi' for a jaded, cultured man such as myself. And I have to say, it's tempting. The thing is, I actually enjoy their music. Even with lyrics like
There's nothing left to prove / there's nothing I won't do / there's nothing like the pain / I feel for you / there's / nothing left to hide / there's nothing left to fear / I am always here
I still enjoy the music! In fact, if I was at home I'd probably be rocking out in my living room. (Rocking out is discouraged at the office. Don't ask me to share how I know this.)

There's two ways to approach my liking OLP's music: either it doesn't actually suck, or it sucks and I like it anyway. I hold it's the latter, actually; if it's wrong to like hooky stadium-rock power chords layered under a mediocre but oh so angsty frontman's voice, then I don't wanna be right. I choose to set my quality bar for music such that OLP gets a passing grade.

So how did this happen? How is it that something as popular (admittedly, in a smallish Canadian market) as Our Lady Peace is also decent? What happened to the assumed negative relationship between popularity and quality? Could it be that there's actual positive pressure on quality, even in the mass market? I don't have a direct answer for this, but spam (the email kind) and frozen food also seem to exhibit this same behaviour. The only spam that gets through the spam filters at my ISP and at work with any regularity is stuff that's actually legible English; sometimes the occasional "saturday spaghetti incredible anguish china basketball" gibberish message comes through, but not very frequently. It's almost as if the spammers are discovering that the best way to write an email that actually gets read -- an email that has the chance of generating a sale -- is to write it with sufficient erudition as for it to be indistinguishable from email that I actually want to read. Similarly, most of the cookbooks on my shelves say something to the effect of "If you can't get fresh, use frozen; it's almost as good, and besides it's available year-round." You mean I can have blueberries whenever I want, and people who cook for a living won't frown at me? Score!

So it seems that there are ways in which the market (or is that The Market?) exerts positive quality pressures. People don't buy crap frozen fruit. At least in the mid-90s, radio music was listenable. Even spam's getting higher-quality, for heaven's sake.

How do we extend this pressure to the rest of the public sphere? Is this a Long Tail argument in disguise -- the more I can find, the more I'll like -- and hence mostly only applicable to information consumables like music, or is there something that can be done to raise the general quality of the goods that (as "productive members of society") we consume?

Thursday, April 21

Fashion SWAT!

Something Awful is on my list of daily reads. I don't often read the full front page, though it occasionally amuses; what draws me back time after time, though, is the promise of a Feature Article that's actually laugh-out-loud funny. As I think back, the articles reach good-syndicated-cartoon levels of humour every time and actual laugh-out-loud funny probably twice a month. Pretty good ratios, for a free website. Of course, they run some pretty bad ads, and some of the articles are not work safe, but at least the front page is.

Anyway.

One author in particular amuses me greatly every time he shows up, and that's Dr. David Thorpe. (Note: Doctor Thorpe may not be a real doctor.) He's one of the contributors to the always-funny Fashion SWAT articles, the fourth of which appeared today. They're great.

Soundbites on Sun's and IBM's corporate culture

Some Sun engineer posted about some of the differences between the corporate cultures of Sun and IBM. It's pretty heavily Sun-jingoistic, so grain of salt and all, but it's still pretty funny.

And where he's not parroting executive messaging, he captures the zeitgeist well.

Thanks for the link, James.

Wednesday, April 20

Cyberpunk Roleplaying

Cory Doctorow blogged about cyberpunk roleplaying the other day, and as Fraxas could probably tell you, boy does that take me back.
As a genre, cyberpunk has the kind of potential for wish-fulfillment and adventure that appeals to a lot of us, and it's a short step from daydreaming about embedded neural interfaces, reflex augmentation, and dystopian gang-wars to playing them out in collaborative gaming experiences
Before I go further, I'd like to preface this post with an introduction. And before the introduction, a prelude. And before the prelude, a disclaimer. We all know that roleplaying is horribly geeky. But you already now that we play Magic:the Gathering --online, no less-- so the damage is already done. Besides, we wear our geekiness on our sleeves. No longer are we awkward teenagers, starved for acceptance. We are confident, married, and hygenic adults; therefore, there is no shame in the following admission.

Like Cory, Fraxas and I are both lapsed roleplayers. In fact, we maintained a campaign that lasted 7 years of real world time and 20-some years in the world of our game, a fantastic cyberpunk vehicle called Underground that has since dropped off the face of the planet. Here are the last remaining remnants of this game to be found on the web:

  • The publisher's abandoned order site
  • An old unfavourable review of the game - maybe I'll rebut it sometime
  • An old semi-favourable review
  • The book's pen-and-paper database entry
  • The Amazon page for the rulebook, including some customer reviews
In his post, Cory Doctorow raves over the details and flavour of a particular game, but the completeness of its rulespace makes him a little uneasy:
The rules then take apart all the themes in every flavor of cyberpunk, post-cyberpunk, SIngularity and what-have-you fiction and expose their formulaic roots, literally reducing them to numerical expressions of, for example, the comparative bad-assness of Hiro Protagonist's Metaverse bike and Molly Mirrorshades's retracting claws. It made me a little squeamish, seeing it all turned into quantities and formulae like that. . .
Quantities and formulae. I have two things to say about that as they related to the old High-School Era Underground Campaign.

First, it's exactly the quantities and formulae that form roleplaying's initial appeal to the budding Grade Nine geek. As in, we already really liked all the tropes of cyberbunk (or fantasy, or perhaps vampire-gothism) But what really hooked us was this: our first encounter with an RPG rulebook, leafing through the oversize pages, absorbing all the rules, filtering the numbers and equations through our geeky forebrains. In other words, it was the action of rules-processing that triggerred us into believing that we could be part of that world; the mathematical rules, tailored to our minds, confined our imaginations to a sector of plausibility, and hence roleplayability. The Underground book excelled in this case; funny, colourful, bitingly satirical, and full of near-future dystopian cyberpunky goodness, bundled with a logarithmic rules scheme that made for fast game-action.

My second point is this: the rules --the quantities and formulae-- hamstring the estrwhile roleplayer as speedily as they entince him. The concepts of mini-maxing, hack-n-slashing, or metagaming in any sense surface very quickly in pen-and-paper roleplaying, and those are plenty of reasons to let the Quanties and Formulae make you feel queasy. But good gamers don't let that happen, or at the very least, they don't let it interfere with quality of narrative and gameplay.

What is roleplaying? It's basically improvisational, collaborative storytelling. That's all it is, really. Not everybody needs dice for that - Fraxas and I abandoned the dice very early in our campaign. In so doing, we also pretty much ignored the "rules." We even came to ignore the provided framework and setting of the game itself (as GM, in a twist on the player, I moved the action ahead 9 years, effectively changing the world), chosing to craft one of our own as we went along.

So while we no longer feel ashamed of our geekiness, it turns out that roleplaying isn't necessarily that geeky. Sure, when you call it roleplaying, you're conjuring images of fat unwashed men pretending to be elves or munchkins in their parent's basement. But "improvisational, collaborative storytelling"? I'll bet some of the world's greatest stories were conceived in just that fashion.

Monday, April 11

Gottman, Gladwell, Hofstadter, and new leaves

Over the past week, I've started reading 3 books. Two of them I got for my birthday (Thanks, Mom and Dad!) and the other, my wife got out of the library.

They are:


Now, at a glance those books don't seem to have a lot to do with one another. Hofstadter's book is a Pulitzer-prize-winning, discursive romp though the metadisciplines of Artificial Intelligence and Cognitive Science. Gladwell's pamphletbook is an examination of the degree to which humans make decisions unconsciously. Gottman's book is a manual for improving your social relationships. Of course, since I've just juxtaposted them for you, chances are you're probably thinking they aren't totally dissimilar -- but I'm finding more similarities than differences.

Hofstadter: "Think about how thinking happens!"
Gladwell: "Think about how much you don't think!"
Gottman: "Think more about things you don't think about!"

I haven't gotten far enough into any of the books to determine whether the central memes are any more tightly linked than I've just pointed out, but I'll keep you all posted.

Thanks, random work person!

There was a copy of Make on a (somewhat) randomly placed coffee table that's next to the copy machine here at the office. It had a sticky note on it:
Free!
Well, I'm no fool. I picked it up. So now I have a free copy of Make 1, potentially covered in all sorts of grody human particles but also potentially not.

I'm young. I have a strong immune system. I'll take the chance.

Tuesday, April 5

A Milkman Dan cartoon my my birthday! Can it be?

Why, yes, it can.

Milkman Dan's always been my favourite Red Meat character. He's a jovial sociopath, with little to lose and less to prove. He's great, for certain well-defined values of great.

What concinnity he'd appear on the birthday of one of his biggest fans!

Monday, April 4

"When they said they needed a systems architecture specialist, they weren't kidding!"

Arc de (nerd) Triomphe.

ok, that's two jokes, three if you count the picture itself -- which I'm inclined to do.

Product Reviews by MetaEfficient

Product Reviews by MetaEfficient makes me happy. I wish I'd found out about it earlier. Their tagline:
Why not opt for the best? We continuously search out products that are more effective and healthier for individuals and the world.

If nerdiness is wrong, I don't want to be right.

The inestimable (no, really, inestimable. Try to estimate him. You can't!) Oz linked me to a new Charlie Stross story and an article on him. I haven't read the story yet, but the article made me giggle and snerk like a nerd at the uncool kids' lunch table. On a Monday morning! I haven't been this entertained in a long time. Of course, it's all a big in-joke, and probably only hilarious to me, but still. The mainstream hasn't made me laugh that hard in a long, long time.

Edit: OK, I've read the story now and it is as scary as the article is funny. seriously mindfuck scary. Also, when I say above "the mainstream...", I mean to contrast the above article with the mainstream, not to imply that Locus is somehow mainstream. Though it is mainstream SF. Or so I'm told.

Friday, April 1

Guild Wars as an MMO-without-the-suck

Gamasutra is carrying an interview with one of the Guild Wars designers (free registration required; it's worth it, though, if you're at all interested in game design). It's a friendly interview -- no hard-hitting questions or uncomfortable silences here. That said, there might very well be some discomfort at some other developers, though.

The point of the article is that the Guild Wars guys have put together a Massively Multiplayer Online Game that you keep coming back to because it's fun, rather than because it's addictive. Now, we've all heard of 'addictive games' -- people talk about Tetris, and Diamond Mine (aka Bejeweled), and Civilization in all its incarnations, as addictive games. But in each of those games, you want to keep playing because you want to keep getting better at it, or because you want to find out what happens next. You're interested in playing the game. With the MMOGs currently on the market, Guild Wars being the notable exception, the addiction has a different character.

With current MMOGs, you want to keep playing not because the game is really fun to play (though it sometimes is), but because
  • you're paying a subscription fee for the month, so frugality demands you make maximum usage of the system
  • you want to advance in the game, because really it's a race with your peers to the top of the ladder
  • you were playing for a good three hours before you finally hooked up with 4 or 5 people you can stand to fight beside, and you want that experience to last as long as possible, sleep be damned.
Note that those three reasons aren't directly related to the gameplay itself or to the player's skill. They're meta-reasons. And (trust me!) it's way, way harder to justify to someone who isn't addicted why it is you're spending $15 a month on something that you mostly don't enjoy. Heck, it's hard to justify to yourself!

The thing is, before Guild Wars, there weren't any games out there that let me roleplay a wizard with arcane powers, or kill fantasy creatures in a 3D setting with my real-life friends, that didn't require a subscription. And I like roleplaying a wizard. I like slaughtering relatively realistic orcs and zombies and fairy queens. I just don't like the sucky parts that, up until Guild Wars, came along with that.

I think I'll go buy the game.

Macros Considered Harmful

Whoops.

I posted a comment on Jeremy's blog just now that I feel like I should have posted here. In a nutshell, Jeremy thinks macros are good and I agree with him, as far as he goes -- but I also think that, as a software engineering practice, it's a mistake to take advantage of them in non-throwaway code. And all code that you don't delete immediately after you run it is non-throwaway.

Thursday, March 31

Boy on a Stick and Slither

Boy on a Stick and Slither is a once-or-twice-a-week webcomic about, well, a male child's head on a stick and a snake.

OK, that's not what it's about at all. Those are its characters. What it's about is surreal backgrounds, childlike (but not childish) art, and pithy comments that make me grin and nod knowingly. You see, I know what he's getting at. I'm catchin' his drift. It's all about ironic detachment, right?

right?

Monday, March 28

John Carmack on Java

John Carmack, the guy who wrote the 3D engines for all three Dooms and all three Quakes, blogged today. About game coding for mobile phones, of all things. And he has this to say about Java as a development platform:
Write-once-run-anywhere. Ha. Hahahahaha.

How
Very
True.

A bit of background, for the people in the audience who aren't familiar with Java: essentially, one of Sun's early marketing promises about Java was that you could write code once and run it on every computer on the planet, with Sun taking care of the tricky parts of actually talking to hardware. (This technique's called a 'virtual machine', in case you care.)

The problem is, it doesn't work. The abstraction leaks.

Not that this is actually news or anything -- I just felt like pointing it out.

Tuesday, March 22

On Automated Imagination's 'On Brevity'

Jeremy wrote about brevity today. His comments resonate with me, a little; I find myself omitting qualifiers like 'somewhat' and 'I think' from my writing when I reread it. Mark Twain has advice to the same effect:
Everywhere you wish to write 'very', replace it with 'damned'; then, your editor will take it out, and all will be as it should be.

That said, I have an essay on the back burner about the effects of intended (and actual) audience on the quality of any particular piece of work, and I think a sidebar from there applies here, too. Graham's advice works well for the kind of essay he writes, but not all blog posts are essays. It's a matter of tone and of intent.

Monday, March 21

Confidence is an Asparagus Goat Cheese Tart.

On Saturday, I went grocery shopping to the local market and got, among other things, the ingredients for a Goat Cheese Tart. Now, one of the places I sometimes get lunch makes a goat cheese tart that's phenomenally good, and since the format of the restaurant is "we're not a restaurant we're a cooking school", sometimes you get to eat lunch while you watch someone put together the next guy's serving of what you're eating.

And the goat cheese tart didn't actually seem all that hard to make. So what the heck -- why not try to make one? The abovelinked recipe didn't seem impossible, and hey I'd just watched a consummate professional put one together like it wasn't no thang, so let's give it a whirl.

And it worked! Instructions were followed, a tart was baked, and some of it was eaten. It was different from the restaurant one, but not worse by any stretch. A few things I'll do differently next time, but once again nothing was bad about this tart.

And now I have another set of dishes -- savoury tarts -- in my repertoire.

Friday, March 18

CIO Magazine's recent article

Yesterday, I happened across BoingBoing's take on a CIO Magazine article about internet security and read the article. Well, half the article. You see, I was so angry at the boneheadedness of it that I didn't actually finish it.

I was going to write something about it here, but Ars echnica beat me to the punch. So yeah -- what they said.

Wednesday, March 16

Wormsign: procedural content for games

(brief aside: Some of my long posts carry the tag 'Wormsign', a nomenclature I thought of in this post to connotate a trend I think is just starting to emerge. The term comes from Frank Herbert's Dune series, which takes place in a desert inhabited by giant subterranean (subsandean?) worms that pounce up out of the ground and eat things sometimes. The warning for the impending approach of one of these worms is 'Wormsign'; if you hear it in time, you can prepare for the upcoming calamity.)

In retrospect, it seems obvious. All great ideas do.

By this point, you've probably read about Will Wright's new game, Spore. Quick precis: start off as a bacteria, advance through all the stages of evolution to become a galactic overlord. Now, as Ubiq points out, this is a five-bags-of-crack idea. Impossible to develop, as a game. Not because of the technology required, though; after all, computers can be made to do practically anything. The difficulty is in the content: how on earth are you going to get the budget required to hire the people to build compelling content on so many different scales?

Answer: don't hire them. Don't build the content. Instead, build the thing that builds the content. This technique is called 'procedural content', and it's been around for a while in the European Demoscene and in the most advanced graphics boards (think procedural textures and vertex programs). The idea is that rather than painting a scene, you instead describe the steps required to do so. This is how 3D models are constructed now; this is how simulations generate such complex behaviour.

Now, for the game developer procedural content is another layer of abstraction on top of the game's content, with all the pros and cons that come along with abstraction. Let's veer off into analogy-land and talk about cameras for a second.

Tasked with the problem of 'build a camera', the first thing an engineer will do is probably to build a camera. Duh. But then, the engineer's tendency to think in the abstract will lead her to think about the work that went into making that camera, and she'll start wondering how she can Make This System Better. And as I see it, there's a fork in the road here: either she'll focus on the verb ("build me a camera") or she'll focus on the noun ("build me a camera").

Focusing on the building leads toward making a camera-building kit. You've abstracted the camera out, and now you can sell the kit to people who can build exactly the camera they want! (Too bad they'll have to learn to use the camera kit before they learn the camera.) Focusing on the camera leads toward making a point-and-shoot. You've realized that the original problem statement was misfocused: "build me a camera" actually means "build me something I can sell to people who want to take pictures". Assuming (yeah, I know, it's a big assumption) that you're aiming at the mass market, you build in autofocus, and a doodad that makes the camera still work after it gets dropped the 6th time, and an easy loading mechanism, and auto-Fstop choosing, and auto-everything-else.

In both cases, there's more engineering effort involved; it's just focused differently. And you can probably build a point-and-shoot from thet camera-making kit, if you're smart enough. The relation here to Spore is that the rest of the industry has been focused on building games so complex they can't be built without kits, and then (in some cases) even providing those kits to customers so they can tweak the gaming experience (hello, modding community!). Spore takes the other tack: they've gone and built content-creation tools so complete, so full-featured, they almost don't need an operator. To use the industry lingo, the game creates its own assets.

One of the consequences of this mode of asset creation is that the stuff your operators *do* have to create -- the artistic part of content creation, so to speak -- can be captured pretty concisely as the inputs to the asset-creation routines. We go from needing many, many inputs whose values are closely constrained -- maps must have height and position data specified exactly so, character models must be in 3DS format (the specification for which runs to 400 pages), etc -- to needing few inputs each with a wide range of potential values. That leads to the possibility of transmitting many 'assets' very quickly, and to the potential for randomly-created assets to be aesthetically pleasing. A high potential for random content leads to high replayability in a game -- it's one of the oldest tricks in the arcade-game book, in fact. And easy transmission leads to another holy grail of modern game design: user-created content.

MMOGs like Ultima Online, Everquest, and World of Warcrackft have been promising user-created content since the dawn of the genre. "Come play in our world! Hold archery tournaments! Woo an e-spouse! You Can Do Anything You Want!". The problem with that expression of user-created content is that MMOGs either don't allow for a wide breadth of interaction between players. You can talk to people, or (maybe) hit them with a sword, or make your guy play a little animation that lasts maybe 4 seconds and has no effect on the world at all. Of course, you can also interact with other players indirectly, cooperating with them toward some short-term goal -- kill the dragon, rescue the princess, drive the villagers before you and hear the lamentation of their women, et cetera. But you can't really affect other people, or the world at large, in the long term.

Spore promises a different kind of user-created content. Rather than working with (or against) people in some artificial turf, players instead work with (or against) things other players have created. This solves the problems that MMOGs have by not promising player-to-player interaction (unless you want it, and start a multiplayer game) or a world on which players want to have a permanent effect. Instead, players use each other's assets. Potentially without even knowing they're doing so! That's a lot of power, and a lot of potential replayability.

Of course, prodedural assets don't solve all the problems game developers have. You still need incredibly talented people to build the engine that takes player input and turns it into aesthetically meaningful output, and you still need someone to build a fun game with the assets your procedural engine put together. But as a mechanism to reduce the busywork required to make a fantastic-looking game -- which is necessary, but not sufficient, for a game's financial success -- it's a fantastic idea.

Let's hope Spore has the gameplay it's going to need to be a success. The people holding the purse strings are sure to be watching this one.

Friday, March 11

My favourite kinds of blog entries

I just realized what my favourite kinds of blog entries are. They're ones that explain, in exhaustive detail, the technical aspects of a process or system. This link is a good example: It's an article on one aspect of judging Magic: The Gathering tournaments. Now, I've never played in an MTG tournament in my life, nor do I have any particular intention to. Nonetheless, I find this article fascinating; it's almost totally useless to me, but it demonnstrates that there's a craft to judging (and that some people who've learned the craft are willing to share their knowledge).

I'm trying to think of other good examples -- Joel's articles come to mind, as do some of the explanatory articles on Kuro5hin. Jeremy has the capacity to write those kinds of articles too, when he's not writing opinion pieces. Rands writes more pedagogically than descriptively, but still has that mastery-of-his-craft aspect to the articles.

"So, Fraxas, why don't you write articles like that?", I hear you ask. And the answer is this: they're really hard. And I'm lazy.

Wednesday, March 9

IT'S A HAT TRICK PEOPLE

The trifecta is complete! Angus expounds on The Secrets of My Beautiful Hair:
"6. Its hard for me to go to the store and buy shampoo, 'cause that's downright gay, too, and I'm afraid to be gay, even though its gay to be afraid to be gay, I've sorta painted myself into a corner there."


lollercoaster!

Things that Don't Exist

Apparently, today is Shiny Things that Make Us Laugh day! HOORAY!

sock puppets singing incomprehensibly complex verses to simple tunes, describing things that don't exist:
Things That Don't Exist

The Onion hits one out of the park

Most of the time The Onion sucks, and is only "heh" funny. But this headline made me laugh out loud.

Bush Announces Iraq Exit Strategy: 'We'll Go Through Iran'

Monday, March 7

I really wish MTGO actually HAD a spit command.

I was mining for funny in the Penny Arcade Archives when I came across this cartoon. The associated newspost is pretty great too, especially since it's from oh, three years ago.

Three years ago. Wow. And I remember when it first came out.

Thursday, March 3

Hacking and Remixing Google Maps

This guy Has some time on his hands. That link probably won't make a lot of sense to you unless you're a pretty hardcore web coder (hohoho, you think, a challenge!) but basically some people have put together a set of bookmarklets -- JavaScript code you execute from your browser as a bookmark -- that do Fun Things with Google Maps.

Automated route following. Arbitrary image display. Coordinating Google Maps with realtime GPS data from elsewhere (the proof of concept is the Seattle realtime 911 registry). Loading map locations directly. Generally exploring the web app in immense detail.

I'm amazed. And not just at the technical sweetness of this set of hacks -- also at its presentation (the author releases early and often, and maintains page history) and at the simple fact that it's possible. If I were a clueless marketing dork, or a boneheaded oldschool software guy, I'd be crapping my pants at what it's possible for interested people to do, in public, to my wonderful client-side web creations.

Good thing I'm not either of those people.

This is one of those HOLY SHIT moments for me.

Tuesday, March 1

Totally random thoughts from San Francisco

So I'm back from SF. If you didn't know I went to SF, now you do. It was a work thing, and I'll talk about it with you in person if you want me to, but not here. This isn't a work blog, I think.

Anyway.

o Hana Zen, on Cyril Magnin, is rockin'good yakitori and sushi. No seriously. Go eat there.

o The Mini ad campaign going on in the valley is pretty intense. The best billboard I saw had one word on it: Smallzilla. Holy cow I wish I'd thought of that.

o Californians are spoiled by their weather.

o One weekend is not enough to do the city justice.

Thursday, February 24

Making Fun of Things my Teenage Self Enjoyed

Today: Todd McFarlane.

Honestly, I feel sorry for the sad sack. Losing lawsuits to Neil Gaiman, baseballs declining in value...

Anyway, let's make fun of him some more. The question for the readers is, which webcomic satirizing Todd McFarlane is funnier?

Penny-Arcade? Or Checkerboard Nightmare? Vote now!

Next, on "Making Fun of Things my Teenage Self Enjoyed:" Tool!

ripoffery redux

You think that's good? Check out this song by Piamenta, the "Hassidic Hendrix" as he is often called. Compare it to its precursor, Simarik, or "Turkish Kiss," by the middle-eastern hearthrob known as Tarkan, aka the "Turkish Ricky Martin."

That's right, folks! Only on this blog will you find an equation that balances "Hassidic" with "Turkish" and "Hendrix" with "Ricky Martin."

eggs, milk, and wheat: more music ripoffery

Look! it's not just Lifehouse!

Apparently, Nintendo rips off tunes too.

Wednesday, February 23

On h8

I was just discussing with Fraxas how I love to hate the things I hate. (To wit: the pop culture posts that have appear below.) But loving to hate something while pretending to love it - that is an art form.
To begin, I'd like to look at the opening verses of "Bed of Roses". You may think you understand the meaning behind this poem - that John Bon Jovi likes a lady, and is upset about it. This is just a sign of the brilliant, interweaving complexity of Bon Jovi. You can love the poem at that level, and many have, but let's go... inside.

PREACH ON, BROTHER.

comments on Dave Rickey's piece about item farming.

And he says things that are Angus-like in clarity.

It was specifically the part about having-is-fun-not-getting that really made me want to cheer -- it's good to know that there are at least some people in the MMO industry that haven't drunk Raph Koster's fucked-up Bartle-reading "achievment=time" kool-aid. Sing it, Jeff! GIVE ME THE SHINY so I can have fun with it, rather than forcing me to work for it! Ignore the catasses! Thumb your nose at the received truth of MMO design!

I promise I won't abuse my toys if you just give them to me. I also promise that they won't be worthless to me because I didn't camp the rare frog for 30 hours to get them, either.

Tuesday, February 22

Pop Will Eat Itself

Here's the post that follows up to this one.

Musicians rip each other off all the time. What shocks me is how open it is. In just a few minutes of brainstorming, I thought of 4 examples involving 8 songs.

These links will take you to the 30 second preview clips hosted on Amazon. Depending on your browser mood, you may have to scroll down and find the title of the relevant song in the tracklist and actually click on preview button or something. For each example, I suggest you listen to the preview clips in close succession. Some of these examples are more outrageous than others, but others are unabashed "homages" that the would artists admit, as in the case of David Bowie riffing off "Somewhere Over the Rainbow."

This is pretty astonishing. The stanzas are pretty much note-for-note identical. No one said that Madonna was the emblem of musical innovation, but still - she's ripping off Ozzy?
Okay, this one is a bit of a stretch. But that weird, dissonant, descending-note structure to the verses of these songs sound similar at least to my ears.
This example proves my point, if only because David Bowie admits it - in interviews that I'm sure you can find with a little Google-work, or in the liner notes to the special edition rerelease of Ziggy Stardust. To paraphrase, there he says (or maybe his producer says) that this song was bound to be a hit because it had an ingenious crib of Somewhere Over the Rainbow.
The instant I heard that crappy Lifehouse song, my ears started to bleed and I keeled over dead. What manner of travesty has befallen rock music, my disembodied spirit demanded to know. Then I realized what was happening. They are ripping off 'N Sync, note for note. Unbelievable.

Thursday, February 17

haha

Penny Arcade Rocks.

Automated Imagination: Jeremy's blogging

Automated Imagination is where to find him.

Welcome to the blogosphere, dude.

bash doesn't *always* suck.

HAW:
< robT> Name ONE thing that your windows comp can do that my MAC cant
< bawss> Right click.

Banks on Banks

" I guess there's something about sarcastic nonhumans that I feel suited to writing about."
--Iain M. Banks, a Scots author with an anti-american pickle up his butt and the capacity to write pretty good SF novels.

Quote from here, if you care.

Wednesday, February 16

Humour Through Absolute Truth

Spamusement is a comic of pure, brilliant simplicity. Even Lore Fitzgerald Sjöberg has weighed in on its awesomeness. Telling you to read it every day would be recommendation enough, but today's installment is making me laugh and cry at the same time. Enjoy.

Monday, February 14

James Governor's not a stupid guy.

James Governor's MonkChips is the public face of a small, independent, maverick tech-analyst company that's doing all sorts of neat stuff and saying things that make me go "hunh", even if I don't think about them all that hard.

The entry I've linked to here is one of the more representative ones. Incidentally, JG's on Johnathan Schwartz' and Tim Bray's "read daily" lists.

Friday, February 11

MS Fiddler

Neat!

Wormsign

man, Dune II was awesome. It was The Best Game Ever. No RTS was better than it until, like, Starcraft. (except maybe C&C, but C&C was only really Dune II with a different suit on.)

And it accurately leveraged, and extended, a world that's Totally Great in a number of important ways. At least one of which is that it has these sarlacc-looking sandworm things that pwn j00 like a mofaka if you run your tanks over the sand instead of on safe rocks. And you know when these worms are coming because of Wormsign.

Which, if you have *any* idea what I'm talking about, should strike you as a fantastic name for a blog about The Future. Too bad this isn't it! Also, I wonder if wormsign.blogspot.com is taken...

obsessive? me? apparently so!

Angus has more stuff up today, but I'm actually just picking on one thing he said today:
But just seems annoying and inefficient and arbitrary and weird in a single player game.
Now, modulo the grammar and incomplete sentences, this quote exposes something big about Angus: he considers "inefficient" a negative trait of the same Badness Magnitude as "annoying" and "arbitrary" and "weird".

Think about that for a second. He's saying that something being inefficient is as bad as that thing being annoying and arbitrary and weird. I'd argue that there's a relatively narrow segment of the population for which that sentence is true, and that most of those people grew up in the past 20-30 years with computers. (Most, not all; I'm sure there are some machine-shop geeks whose engines (to borrow a quote from Stephenson) don't waste any fucking energy making noise.)

Anyway. Efficiency as a Good per se. I think that there's a lot of value, and simultaneously a lot of pitfalls, in optimizing an experience (any experience!) for efficiency over everything else. Optimizing for efficiency leads to metagaming (which is what Angus is complaining about -- his inability not to metagame). Optimizing for efficiency leads to the bash shell and horribly disfigured people who prefer it over a mouse and some hand-eye coordination for basic computer maintenance tasks. Optimizing for efficiency leads to user experiences that are a mile deep and an inch wide. Overspecialized.

OK side rant: I just thought to myself, "you know, that last part there is overoptimization PERIOD (HI RANDS LOL) not just optimizing for efficiency." And that's largely true, but it's more true of optimization for efficiency than for a lot of other things, because the very word "efficiency" implies optimization. So there's an argument to be made that "optimizing for efficiency" and "optimization for its own sake" occupy very similar notional territory. Whoo! side rant complete! Let's pop this off the stack.

What was I talking about? Pitfalls of optimizing for efficiency. Right. But I'd said there was value there too, right? Well yeah. If you do it right, you only have to do that optimization once. How many little scriptlets do I have in ~/bin (the place unixheads put their scriptlets so they can run them from anywhere, if you're not a unixhead) that I wrote Back In The Day to make something easier once and it took 4 hours to get perfect and it would have taken 30 minutes to do the thing the hardway? Lemme go check. 9. So that's basically a work week there, devoted to microtools in my home directory. But I never have to think of them again! I take over someone else's keyboard sometimes, when I'm logged in as them, and try to do something like `dcscope foo foo/bar` and their bash (fuck bash, man. it's all about csh.) says "bash: dcscope: command not found" and I have to go log in as me, because who the hell remembers what dcscope actually does for me?

I'm sure you get my point about optimization not being all bad.

So now that I've said that -- the whole point of this blog entry was to say "we who live at the intersection of professional coding and computer gaming have to be careful that we don't overoptimize, because doing less work in a game isn't necessarily what you want." Consider D2JSP, a JS scripting system for Diablo II. This is an effort that literally *automates* Diablo II. Someone went to the trouble to optimize the play right out of the game, and now you can do endless meph runs all night on closed battlenet if you want to. Or at least you could a year ago, when I last looked at it. So, is it fun to play d2 that way? I guess. But only if you're playing the economic rare-collecting metagame, and not the "battling the denizens of hell as a necromancer" GAME game.

And I think the game's more fun.

(at least I try to tell myself that. I still have to stop myself from overoptimizing, though. Like in DOW. Sorry about that, Atlas.)

Tuesday, February 8

Life Lessons From Coworkers

So I'm on the phone right now with a co-worker who is "taking me under his wing". It's a little embarrassing; he's telling me about how to achieve my dreams and what to think about and all that kinda stuff.

I think this stems from a semi-private discussion I had with my boss yesterday about a third co-worker who's leaving soon -- I threatened to quit, and demonstrated some rather poor office-politicking skills. So now the guy I'm on the phone with has been tasked by our boss to make me feel better about myself.

Also, there's an anonymous comment on the blog! holy crap! I guess it's One Of Those Moments when you realize that, in fact, you are publishing these things to the public internet and not just to 3 or 4 friends.

Did I have a point? I don't think so. but Angus doesn't think I need one, so there.

Sunday, February 6

I hate losing

Yup, I really do. It's horrible.

The only way I can really tolerate losing is when I have a ready-made excuse. Like I was playing against a computer, and the computer's cheating, or something like that. Or I know the odds are stacked against me in a game of chance or something.

But losing because of being outmatched? HATE IT. Makes my blood boil. I have to go hit things when I lose because of being outmatched. It doesn't even really matter why it happened -- or if there are good reasons, like The Asshole Who Beat Me having 10 years of experience at the game to my 5 minutes or something like that. Losing is humiliating. It demonstrates, in a conclusive way, some fasion in which I am inferior to the person that beats me, and that's an ego blow I've shielded myself from for a long time. OH HEY HERE'S A GOOD IDEA LET'S TELL THE WHOLE FUCKING WORLD ABOUT IT.

...and here's the part where you stop reading, because it's just Fraxas feeling sorry for himself.

Thursday, February 3

Trochaic Dimeter of the Impromptu Kind

Trochaic dimeter is quite a bit more common than I expected. I suppose, though, that the number of people who have been the subjects of such poems is still quite small. Fraxas, you're now one of the lucky ones:

I've never ever
Even seen
A single thing
That acts as Fraxas.

Tuesday, February 1

more impromptu dactylic quadrameter

I can't help but think there's something to be said
for keeping your thoughts to yourself, in your head.
Few things reveal in a more direct way
that you're foolish than thinking you've something to say.

Apologies to Mr. Twain.

The dearth of originality

Okay. We all know how totally bankrupt Hollywood is. We already know that they cannibilize each other's ideas to the point that each hackneyed, trite movie concept resembles everything else.

Now, here's a concept that defines "hackneyed:" A covert war is happening between humans and vampires. Our race's only hope is a dark anti-hero, someone who is half human, half vampire. whose side will win?

Here's what I need you to do. (Warning: bandwidth intensive. ) Go here and watch the trailer for the movie Blade II. Pay attention to the dialogue about halfway through. Now click here and watch the trailer for the movie Bloodrayne.

If you're not in the mood to wait for these downloads, I don't blame you. You can swipe the invisitext below to spoil the surprise:

( In the trailer for Blade II, Wesley Snipes says "Keep your friends close. Keep your enemies... Closer." In Bloodrayne, some talentless hack says "Keep your freinds close... enemies even closer." I mean, wtf. )

Seriously. It's bad enough that two movies would have such ridiculously simplistic, trite concepts; but the dialogue is the same -- not only in the movie but in the trailers!

I think the Penny-Arcade boys said it best.

Watch this space for a similar post about the blatant ripoffery in popular music! Bet you can't wait.

Thursday, January 27

People fear change

Apropos of absolutely nothing:

People fear change. Myself included. Even if it's demonstrably for the better -- there's an inertia to people's daily routine that means that something has to be a *lot* better than their current way of doing things in order for them to be willing to expend the effort to change how they act (let alone think).

That's why it's so hard to get anything done.

Ole Bald Angus The Monk

Angus is a hardcore gamer. he's into MMOs, and he used to be into Half Life, and he blogs. Oh dear lord does he blog.

I can't say enough good things about him -- he has a very stream-of-consciousness style that means he can say a huge number of things in a relatively small space, or say a VERY huge number of things in a not so small space. Even if some of them are stupid, some of them are really not -- I'd need more fingers than I have (including the ones in the jar on my desk) to count the number of times I've thought to myself "Damn, I wish I'd said that.".

Go read his stuff.

Thursday, January 13

another screed on broken toys

Ole Bald Angus the Monk is an MMO-playing dude that I got linked to by Jeff Freeman, who's In The Industry and all awesome and stuff. Angus writes a lot, and he writes really well. (of course, you have to be willing to interpret him a little; call it personal style.)

I only check him really every once in a while, but he wrote something this january that hit me right in the gut. It's about games as surrogates for human attention. As is usual with my blog, what I'm about to say won't make a lot of sense until you go read his thing, so go do that. And yeah, we use the same default blog theme.

Back yet? no really, go read it.

OK. This reminded me a lot of Broken Toys, an essay that Scott Jennings (aka Lum The Mad) wrote for lumthemad.net way back in the day. It's a seminal work about the value that people place on games -- especially virtual worlds -- and the expectations they have of them. Well, that's not true. It's about what happens when the games, and their operators, don't meet the expectations of the players. I tried searching the archives on Scott's blog for it, but I can't find it right now because I can't think of a better search term than "broken toys" for it, and since that's the name of the blog IT'S ON EVERY PAGE DURR.

Anyway.

Angus hits it on the head, or more appropriately suckerpunches it in the gut, on this one. Can I change the way I think about my current addiction so as to make it less of a totally unhealthy thing? o_O

Tuesday, January 11

Impromptu Dactlyic Quadrameter

Fraxas had me enter a contest yesterday. You can look here to find out about it, but the gist is this: write an amusing e-mail, win a copy of the game City of Heroes. Here's my entry.

I present:

A body of text that is built to amuse
Sufficiently so, so that it you will choose.
If this is a contest that Pharaoh does lose
He'll go deeply insane and devour his shoes.

He'll make the world weep to the sound of his blues
He'll punch his own face in, and then punch the bruise
He'll cry like a baby that's scared when it poos
He'll chop up his corpse and then bury the clues.

If the judge of this contest won't pay him his dues
He'll eat his own barf til his own stomach sues
And if you still think that these threats are a ruse?
A dynamite enema! He'll light the fuse.

Pharaoh Magnetic

P.S.
This is a contest I think I should win.
It's a world I could really immerse myself in.
A comic book hero, I am in my dreams
But in my real life? Not a chance, so it seems.
All that could change though, if I win the prize:
A chance to scourge evil with some of you guys.

Monday, January 10

New Games Journalism and the dialectic

Three conversations I've had today have come to the same place, and I figure if that's not a reason to blog about something nothing is.

Always Black, a dude who runs a pretty neat website, has a piece on New Games Journalism. Go read it, I'll wait.

That's the first piece.

I had a conversation this morning with a co-worker that meandered past culture jamming as an attempt to revive the dialectic (i.e. provide an opposing argument to a cultural norm). This in the context of a billboard I saw this morning with Paris Hilton vamping Guess glasses and her bare chest, on which someone had written "Do you judge your worth by the price of your clothes?".

That's the second piece.

I also had a conversation just now with a longtime friend who bemoaned the state of public discouse in two specific ways: (1) centrist opinions are not widely made public, like far-right ones are and (2) in the same way that stopped clocks are right twice a day, sometimes the AM demagogues say things that ring as true to centrists as they do to the far right. Since it's an AM demagogue saying it, though, the opinion gets painted with that far-right wash. And it becomes impolite in what little centrist discussion there is.

That's the third piece.

So that brings us to the actual point I had to make: let's talk about politics, everyone! Let's make our opinions known. Let's write, and speak, from the heart and not be afraid to be wrong. Dive right in!

...but you first, OK? I hear the water's cold. And I don't like to be mocked.