Posts

Archive for August, 2008

The Coming Flood

by psu

It’s the middle of August which means that the new Madden is out and we can say that the annual “Retarded Fall and Holiday Gaming Release Flood” has officially begun. While the coming weeks probably won’t bring us anything quite as bountiful as last year’s Bioshock followed by Halo 3 followed by Ratchet and Clank followed by Rock Band, there are no lack of interesting titles.

But first, Madden. The “HD” Madden engine is now on its fourth release and I have to say that this time they have finally gotten something close to as playable as the older PS2 versions of the game. The pre-snap controls have finally been fixed. The play calling screens, while still sucky, are at lease usable when you navigate using the d-pad. For me, this requires that you use a PS3 controller, rather than the Xbox 360 controller (better known as “that white controller with the shitty d-pad”). Running and passing the ball work smoothly and without any completely obvious and incessant glitches. They’ve also streamlined the presentation a bit so you don’t spend so much time watching inane post-play animations.

Still, I miss some small details, like how the game used to remember the last play I called so I can get to the same screen again quickly. Or how the old game would give you little achievement tokens for doing things like gaining 250 yards rushing against the pathetic AI defense. There is still no accelerated clock, but to replace it you can use the “supersim” feature to skip playing defense if you want.

So far I’ve only found these and other minor and forgivable foibles. In general the game appears to be up to the task of providing me with that little dose of that “I can run an NFL team and have them go undefeated because I rock” fantasy when I feel like indulging. In other words, with a bit of practice you can get the game to let you win every time, but make you feel like you worked for it. And that’s really what Maddenis for anyway.

I’ve been through about half a season of a Patriots franchise (I know, I know) over the past 3 or 4 days and nothing has happened that makes me want to put the game on Ebay. If I make it to the end of the week we can write this up as a general success and move on to try Head Coach.

In addition to Madden I have been click-click-click-click-click-click-click-click-click-clicking by way through Diablo 2. I restarted the game as a Necromancer because I didn’t realize before that this character class could use dead bodies as grenades:

bloody mess

I put this picture up as an indication of two things. First, that making dead bodies explode never gets old. Second, that the morons on the intertubes who were bitching about too many bright primary colors in the Diablo 3 demo really are borderline delusional. I made it through the first two acts with my skeletons, golems, and exploding body grenades. I see no reason why I won’t eventually grind my way to the end.

But in the mean time, the flood will be taking over. On the PS3, there will be the new Disgaea, a Ratchet and Clank download game, a new SOCOM and Resistance 2. Fallout 3 will be coming for both of the big consoles, but I’ll probably get it for the PS3 to avoid the “leaf blower in the living room problem.” I guess Spore is coming too, but I don’t have a PC on which to install it and then not play it. Maybe I’ll try it on the iMac. There will be a new Mercenaries, a second Gears of War, Fable 2 and a second Rock Band because you can never have too many fake drum sets.

No one except people who are either insane, have infinite time, and/or have infinite amounts of money could possibly get through the whole list. And I’m sure there are a dozen or so titles that I missed. Having built this list, I have come to realize that the best strategy for coping with this overload would be do the following on each evening instead of going out and buying yet another new title:

1. Play a game of Madden where the Patriots win again!

2. Make some corpses explode so that I can collect loot.

I can always pick up that other stuff next year, when the next flood of new stuff you can’t possibly find time to play comes around.

Breakfast, Lunch, and Dinner with Moriarty

by peterb

I just paid $90 for a set of games that, purchased separately, would cost nearly $500.

Long-time readers know of my love, bordering on irrational, for the games of Everett Kaser. From his first great game, Sherlock, through to what I consider the apogee of the deduction game, Baker Street, Kaser’s games have kept me company for upwards of 15 years. There has always been one problem: his games didn’t run natively on Mac OS X.

Until now.

All of Kaser’s games now run natively on OS X. You can see the complete collection on his web site and buy them for immediate download for $20 each (all of the games have free demos available for download). Or, you can mail, e-mail, or call the guy up and order a full CD of all 22 games for just $90. I rang the number up early one morning to order, and he picked up the phone. “Everett here.” I am not ashamed to say that I was giddy like a love-struck cheerleader. We chatted about the games, and about the process of porting to OS X — Brad Oliver of MacMAME fame did the heavy lifting of porting the KINT interpreter — and how his games had probably absorbed about a full 9 man-months of my time over the years.

Kaser gave me some caveats about the games. He’s new to OS X as a platform, and the games are in some sense not native: they’re written to target his own custom-designed virtual machine that he wrote to protect himself against changes in Windows APIs. So they are not truly Mac-like. Likewise, the CD just comes with the games zipped up; there’s no installer or the like. No matter. Normally this is the sort of polish issue that I’d take someone to task for, but in this case, I’ll just let it slide. To borrow a phrase, “With chicks like Shalimar, there’s just some stuff you gotta put up with.”

Why am I so obsessed with these games? And why should you get them? Because they are the best logic puzzles on the planet. To demonstrate, I’m going to walk you through the simplest version of his simplest deduction game, Sherlock.

I’m using the 3×3 grid to keep this article manageable, but Sherlock scales up to an 8×8 grid. This game took me about 90 seconds to solve, mostly because I had to pause to take screenshots. An 8×8 Sherlock game usually takes me about 20 minutes if I’m pushing. The other games in the series introduce more complex deduction types and other elements (such as paths and walls). But this should be enough to give you a taste.

First, let’s look at the field of play as the game starts:

Sher1

The actual “game board” is the square inside the blue area. Arrayed around the outside are the clues you are given to solve the puzzle. This is a simple puzzle, so there are only three clues. Each square inside the game board contains small icons, which are possible answers or a single large icon, which is a chosen answer. You can have the games notify you immediately when you make a wrong deduction (with an infuriating audio cue), or you can have it silently allow you to blunder towards a dead end. In this puzzle, the top-center square already has a picture of the blonde woman (”Blondie”) selected. That answer has been given by the game as a handicap. You can adjust the handicap level to suit your taste.

Now, let’s look at a clue:

Sher2

The arrow over the red house means that it is between the 3 and the yellow house. The order is unimportant: the 3 might be on the left, or it might be on the right. All you know is that the red house is between them. There is a status area which explains each clue as you hover the mouse over it. Clues sometimes have corollaries; for example, you can also deduce from this clue that the 3 is 2 columns away from the yellow house.

Since we know the red house must be between two other clues, we know it can’t be in the left or right columns. Therefore, it’s in the middle. Left-clicking on the red house in the middle column selects that answer, and removes it from the list of possibilities for the other columns.

Sher 9

This next clue tells us that the number “2″ has to be somewhere to the left of Baldy:

Sher8

Therefore, Baldy can’t be in the leftmost column. We can right-click on his little picture there to make him go away:

Sher4

A clue that I missed when solving this puzzle is that since according to the first clue, 3 had to be 2 columns away from the yellow house. Therefore, it couldn’t be in the center column, leaves 2 as the only possibility for the center column. But often you can arrive at deductions through different paths, and that’s what I did in this case.

Notice that there’s only one place left for Baldy to be, so we can left-click on him to choose him (you can have the game automatically fill in “last choices” like that for you, if you like).

Sher5

The next clue means that Egyptian Guy (and no, I have no idea why I call him that) is in the same column as the yellow house and the number 1.

Sher 3

Given that the only 1 left is in the leftmost column, we can start filling in the answers quickly:

Sher6

…and before you know it, we’ve solved the entire puzzle…
Sher7

…and are treated to a little bit of victory music and some happy graphical flourishes.

It may not be obvious, from this little example, that these games are the most addictive games you may ever play. But, I assure you, they are. You can pick them up at any time, save the game at a moment’s notice if you have to stop, and return to them later. They will haunt your dreams and occupy your idle moments. There are free demos available for each and every one of the games, and the demos are full featured — just limited in the number of puzzles available — so you can find the one you like (if you were only going to buy one of them, I’d probably recommend Honeycomb Hotel, although Sudoku addicts might find Latin Squares or the slightly easier Greek Squares, instead).

It has been years in the making, but the Kaser games have finally arrived on OS X. And if you do not buy at least one of them, you are a fool.

Happy puzzling!

A Wee Dram of Hokkaido

by peterb

I’ve alluded, once or twice, to my growing interest in Japanese whisky, and talked about the bottles that I absolutely, positively, did not buy out of state and certainly did not bring back to Pennsylvania, because that would be wrong. I have, it seems, taken it to a new level: friends have started not bringing me whisky directly from Japan.

First, you may recall, there was the bottle of the Yamazaki 12-year that I totally did not buy at Gomer’s in Kansas City. Then, last month, I absolutely did not buy a bottle of the Yamazaki 18 in New Jersey. By not buying those two bottles of whisky, I had not bought all of the Japanese whiskies one can potentially buy in the US.

But now a friend — a wonderful friend — has done something wonderful for me. She has not brought me a bottle of Nikka’s Yoichi 15-year whisky. Through the magic of Photoshop, here is a computer simulation of what the bottles of Japanese whisky that I don’t own might look like:

Yoichi

Since I have tried all these whiskies before, while travelling, and not just now with my friends, I can tell you a bit about them. The least expensive, the Yamazaki 12 (cost: $40 - $50), is actually my favorite of the three. It’s smooth like silk, with just a hint of peatiness and not at all aggressive. It’s perfect for drinking as an oyawari, mixing the whiskey with a little bit of hot water, almost like alcoholic tea. It opens up nicely in water, and is a perfect every-day sort of drink.

The Yamazaki 18 (price: $80 - $120, depending on where you are) continues the essentially sweet flavor profile of the 12, but adds to it a weightiness, a thicker mouthfeel, and loads of a deep peaty taste. Even though I personally prefer the 12, I’m bound to tell you that among my friends I’m the only one who thinks that way: everyone else found the 18 more sophisticated and tasty.

The Nikka Yoichi 15 (cost: $100, plus airfare to and from Tokyo) is a horse of a different color. Suntory is renowned for making very Japanese whiskies: they pair well with food, and play nice with everything else at the table. Nikka, I had heard, made much more Scotch-style whiskies, in that they want to be consumed by themselves. The Yoichi 15 matches this description. It’s distinctive, a bit rough, and not at all a shrinking violet. The nose is all iodine and seaweed, and it scratches peat and sea salt down your throat like a tea clipper sailing from Hong Kong. This is not something you would drink with dinner, but rather something to be sipped while sinking into a deep leather chair.

So, is Japanese whisky worth going out of your way to get? It depends on your interests. It is, to be sure, very good. It is also (even if you factor out airfare), quite expensive. But I would venture to say that no scotch aficionado’s liquor cabinet is complete without at least one of these honorable drams on their shelf.

For those Tea Leaves readers who should chance to visit Japan in the future, please drop me a line before you go. I’d love to have you not bring me a bottle.

I Woke Up And One Of Us Was Crying

by peterb

I’d like to watch the Olympics opening ceremonies, please.

This sounds like a simple request, but apparently is akin to asking a soiled, drunk nun to perform brain surgery on an epileptic chihuahua on the roof of a moving car: not only won’t things turn out OK, but the nun probably won’t even understand what the hell you’re asking her to do.

Like Formula One racing, the Olympics broadcast is a feed exclusively licensed to a single broadcaster in each country. That broadcaster then — I’m assuming this is written into the contract — is obligated to muck up the broadcast by talking over it inanely and incessantly. I think this is really an idea that should be applied in more places. Just the other night, I went to the symphony, and right about the middle of the first movement of Shostakovich’s 7th, I started to get bored. “You know what this music needs?” I thought. “Color commentary”.

“Now, Marv, it looks like the timpanist is starting to limber up a bit.”

“Yes, Katie, that’s right. The drums represent the approach of the Russian offensive, in response to the destruction of St. Petersburg. The timpanist has practiced for over 400 hours waiting for just this moment…now! Wow, Katie, isn’t that something?”

“It sure is, Marv. The precision with which he hit those notes is a testament to the hard work and dedication that this symphony orchestra has put in over the past 6 months, all waiting for this big night. In a moment, the violins will enter, signifying how life must go on even in the midst of sadness and tragedy, but right now we have to break for a commercial. We’ll be right back.”

Complaining about the quality of TV coverage of the Olympics is, of course, a time-honoured tradition that has gone on for many years. That’s not really what I’m complaining about here. What I’m hot and bothered about is that I can’t get better coverage, even if I am willing to pay for it. Look. It is the year 2008. I wake up in the morning, eat my protein-pill breakfast and then fly to work with my jetpack. I type into a magic box which can perform arithmetic faster than God, and which sends my words across the globe in near-real time, and I have the entire works of William Shakespeare and Groucho Marx at my fingertips. But the people running the Olympics can’t figure out a way for me to pay them money to download a simple video feed of the opening ceremonies. I don’t need commentary. I don’t need commercials. I want to give you cash, and see the pretty pictures.

Oh well. Maybe in 2012.

First Impression: Richard Chen Asian Cuisine

by psu

When I go to other cities, especially cities that have large Chinese, Japanese, Vietnamese or other East Asian communities, I tend to shit on the so-called “Pan Asian” style restaurants. My opinion of the iconic Vietnamese place called The Slanted Door in San Francisco is typical. I couldn’t see why I just spent all that money to get typical Vietnamese takeout food on fancy plates with a bar in the background (we went to the original, not the new one).

Now that the Richard Chen restaurant has opened in East Liberty in Pittsburgh, I think I understand why people would be excited about a place like that. This is the best new Asian restaurant to open in the city since Rose Tea Cafe started serving food. But, it is a lot of money and very fancy plates.

Here is the thing. This place is a Chinese Restaurant in Pittsburgh that serves a credible Pot Sticker. I’ve never had a credible pot sticker outside of Toronto or SF. It’s like I’ve been shuttled into an alternate dimension where Pittsburgh has real Chinese Food. I’ve been waiting for this so long that I’m willing to cut a place that can do it a lot of slack.

Not that Richard Chen needs it. Here are some of the dishes we got:

1. Braised Pork Belly with steamed buns. Perfect little plain steamed buns. Soft tender pork belly with just enough of the rich fat and a rich, yet light, brown sauce with a touch of anise.

2. Tuna Sashimi with Marinated Jellyfish and Ponzu Sauce. This was the best appetizer of the bunch.

3. The pot stickers. An almost perfect filling (which I can’t really do yet). The skins were slightly chewy and might have been wonton skins, but I’d like to think not.

4. Bean Curd Sheet stuffed with mushrooms. Very good, but again the fried skins were slightly chewy.

5. Spicy Beef Salad. This was lettuce, grilled flank steak (I think), a sweet vinegar dressing and watermelon cubes hiding chili peppers to go with the dressing. Not overdressed and it had the perfect balance of sweet and sour and spicy.

For one entree we got Chili Prawns with Broccoli Rabe. The prawns were fresh and snappy and perfectly cooked. The sauce and the broccoli rabe were a great variation on the standard Chinese greens or broccoli. We also got Baby Bok Choy with Mushrooms and Bamboo Shoots. Hey! The bamboo shoots were great! I hate bamboo shoots.

The entrees both came with sauces that were too salty. This threw off the balance of things and was a bit confusing considering how well executed the appetizers were. This is the only comment I have about the place that is almost a complaint.

There were a few other off notes as well, but nothing major. I find the Western service style a little disorienting, but that’s OK. There are only three kinds of rice on the menu: Jasmine, Brown Rice, and some sort of Red Rice. None of these are right. But the Jasmine rice is at least well cooked. The menu is a strange mix. On the one hand there are ethereal dumplings, creative variations on standards and a few really new things. On the other hand are some dishes that are almost standard “American Chinese takeout”, although to be fair I have to reserve judgement until I try them.

At this point, none of these things are unforgivable because the existence of this place in Pittsburgh is so astounding. I guess this is how the people felt when the Slanted Door opened. I guess I’m getting soft.

Other things on the menu we could not order, but which looked good: Crystal Prawn dumplings, Seafood Mousse Dumplings with Pea Leaves, Wok Fried Cod in a clay pot, Lobster in “XO” Sauce, Beef Tenderloin with Vegetables, Five Spiced Duck. That’s all I can remember.

Funniest menu item: Free Range Kung Pao Chicken. It looked good.

Funniest service moment: In the middle of the dining room is this striking white table with a vase and a large orchid. It’s bright and shiny and hides service items like forks and knives and such. At one point one of the servers put a stack of menus on this table. The manager instantly appeared and quietly told the server to never do that again, ever.

I am optimistic about this place. It is more expensive than people are used to for “Chinese Food”. You will pay as much here as any of the fancier places in Pittbsurgh: Mio, Vivo, Eleven, Dish, and so on. But they are doing a lot more than just Chinese Food. I realize that it might be a stretch to expect people to appreciate that, but I’m hopeful.

I plan to go and run the whole menu. I hope you go too, and pay the prices, and appreciate what they are doing, because it’s really good.

The Abstraction Distraction, Part 2: Distraction

by psu

Previously on this channel we discussed the role of abstraction in the context of constructing software. Abstraction enables laziness by hiding details that are unimportant or irrelevant to the problem at hand. This is a powerful and beautiful idea because it gives the appearance of providing programmers with a great deal of leverage against complexity. Of course, nothing is ever that easy. The problem is that at some point if you are going to ship anything someone has to worry about all those hidden details. And this is typically when people get into trouble.

In software, details are the enemy of simplicity and calm. In my experience, the place where details do the most damage is in the controller layers of the application. Armies of engineers have worked for decades to provide reusable tools for building the controller layers of custom applications. The temptation is to say “Hey, we can just make a generic rule engine to control these things and then everyone can define their own custom flow on top of the some data model and UI abstractions”. But that never works, because when you get down to the critical details, the control requirements for most applications are all different. Thus, while you can gain a lot of leverage in sharing the generic parts of the UI presentation and the data model, it’s almost impossible to actually make customizing the control easier.

So you end up writing everything from scratch every time or encoding every possible option into the generic rule engine. The short way to characterize this syndrome is: “you can’t share the controller”.

Anyone who has worked in software for any amount of time will recognize a whole class of systems for which this statement holds. These tend to be “workflow” applications that try to encode the existing technical or business processes of an organization into a shiny new computer application to make everything more efficient. Some consultant will come in and tell you to spend hundreds of thousands of dollars and buy an application engine from Oracle or SAP or Peoplesoft which has “modules” that encode “business logic” that let you specify exactly what it is you need. Except it only works if you then also hire a dozen or two dozen engineers from Oracle or SAP or Peoplesoft to come in and collect your specifications and write the all the control from scratch.

Of course, this process is tedious and error prone so more often than not the result is a buggy and bloated mess that completely fails. Hooray for abstraction!

There are similar problems in desktop software, which is why it is so much harder to build a framework for building applications than it is to build and ship a few individual applications by themselves. In both cases you have to deal with all of the annoying control details, but making an SDK means you then add the extra overhead of trying to anticipate and deal with everyone else’s details as well. Remember: it’s always better to avoid vague generalities when you could work on concrete requirements instead. Avoid premature reuse.

Unfortunately, engineers find it difficult to follow this rule. It is in their nature to think about everything at a generic abstract level instead of at a level of detail that is useful for the end user. Abstractions are an enjoyable distraction from the every day reality of dealing with messy details. Left on their own they would go and build a cool new way to structure an operating system kernel (say), rather than something that makes editing photos easier for end users. The reason is because if they are building their own abstraction, then they have control over the details of the requirements. This makes their code fun to work on because they are only solving problems that they find interesting. It also makes the end product completely worthless because no one wants to use an abstraction to get work done. Users want to use applications.

There is also a tendency to allow abstraction to distract us from all the details rather than just the unimportant ones. We then talk about a system or a feature as a black box that is already implemented, rather than as a placeholder for the real work that we’ll eventually have to do. One sign that you’ve entered into this danger zone is when you ask the question “how hard could it be?” For example, “That feature seems straightforward, how hard could it be?” No matter how tempted you are, you should never ask this question about a system you do not understand intimately. The answer is almost always “harder and more expensive than you think.” Unless you understand the details, you really have no way to know. If nothing else, in the crunch of a tight schedule, every new detail that you decide to implement adds complexity, risk, testing costs and unexpected bugs. Good software comes from understanding which details are the critical ones and building the right abstractions to deal with the those problems. In other words, you need to solve the right problems in the right way at the right level of abstraction. Don’t let yourself get distracted.

Irons in the Fire

by peterb

Unfortunately, I’m a bit overcommitted at the moment, which means my leisure writing has taken a back seat. Here’s a nice image to hold you over.

jumping

Thanks to the model for posing for this photo, and to Nikon for lending me the camera with which to take it. I’ve gotta say, this camera takes really good pictures!

Archives and Links