Archive for February, 2010

Keyword Interface for Conversation Package

Following up on my previous articles on integrating Aaron Reed’s Keyword Interface extension with Eric Eve’s Conversation Package system for conversations (part 1 and part 2), I’ve packaged up the interface code as an extension and submitted it to the archive, so it should be showing up there shortly.

The code is a bit different from what was presented in the articles, due to some changes required because of minor issues with new versions of the extensions it builds upon.  The extension should support both Glulx and Z-code text coloring.

Thanks to Strainer for providing me the kick in the pants I needed to get this done!

Edit:  Due to an apparent bug with the OS/X version of Inform where it perhaps adds the author’s name and the extension name together before comparing against the 51-character limit, I’ve changed the name to “Keywords for Conversation Package”.

Tags: , ,

Hoosegow Wins!

Congratulations to Jack and Ben for another win!  The excellent Hoosegow defeated a deep and strong field to take the $1000 prize in the JiG Casual Gameplay Design Competition.  Congratulations to the other top finishers as well!

The top 4:

  1. HoosegowBen Collins-Sussman and Jack Welch
  2. Fragile ShellsStephen Granade
  3. Dual Transform — Nigel Smith (actually Andrew Plotkin)
  4. Party FoulBrooks Reeves

Tags: ,

Work Overload

No update today! Catch you on Wednesday!

Tags: ,

More Service Broker

After a two-day period of intense hacking, I’ve got the basic architecture of a replacement for our messaging engine working in Service Broker.  It’s fast, lock contention isn’t an issue, and I’m very hopeful that we can not only use Service Broker to replace our messaging engine, but also to reduce our dependence on external apps that poll the database for changes.

Service Broker is not particularly difficult to understand, but getting the syntax right can be tricky.  I ran into several minor stumbling blocks, which I was luckily able to get over quickly:

  1. I did not specify the “no encryption” option on the conversations I opened, so initially messages weren’t being sent due to the fact that I didn’t have a master key set up for the database in question.
  2. My first cut at implementation used the “fire and forget” pattern, where the initiator terminates the conversation immediately after sending.  This is a problem because if the far side needs to return error information to the initiator, it can’t, since the initiator has already jumped ship.  The fix for this is to let the target terminate the conversation and to put a little activated stored procedure on the initiator side to handle any error responses.

After getting past these issues, it was smooth sailing.  I expect to be able to implement the routing logic today, after which it will just be a matter of cleaning it up for inclusion in our software.  We could potentially be running with it in about a week, at least in its 1.0 version, particularly if I go with straight text for the RPC messages rather than have to mess around with XML serialization.  If I were using C# it would be a no-brainer to use XML, but the options available under C++/MFC are less than stellar.

Tags: ,

SQL Server Service Broker

Sorry for the late update; I’ve been feverishly working on a new project at work, using SQL Server Service Broker to replace our older interprocess messaging and database notification system.

Service Broker is a very cool piece of technology, and since it leverages the ubiquity of the database (everyone that needs notifications has connections to our server) we can end up eliminating a huge amount of code by implementing it.  We’re also likely to gain speed, as it will eliminate the single-point-of-contention queue table and the manual polling logic that we were using before.

I’m almost ready to roll with my second proof-of-concept exercise — this one demonstrating a stripped down version of my proposed architecture.  If I can get it to work the way I suspect I can, we’ll be ready to forge full speed ahead to implementation, and eliminate a code structure that ’s been a thorn in my side for almost 10 years!

Tags: , ,

Upgrade Complete

Well, the upgrade went as flawlessly as an upgrade can go.  I expected that it would wipe out my C:\ drive completely and was pleasantly surprised to find that it had preserved everything, making it very quick to move our large numbers of photos and videos back into their proper positions.

Reinstalling Office proved a minor issue, as I only have upgrade media for Office 2003, but luckily I saved the old OEM Office 97 disks from two computers ago.  I kept them in the same box, so I had them immediately available when the system asked me for original media to confirm the upgrade.

So with a fresh install of Windows 7, plus a reinstall of Office, Avast antivirus, Mozy online backup, and Robin’s Itunes, we’re in good shape on that machine.  It definitely seems faster with all the old applications purged, but the biggest difference is that the fan doesn’t run 24/7 any more.  It used to be very loud in the office, and now it’s so quiet that I keep thinking the computer isn’t running at all any more.  The printer works, it’s on the home group and the mesh, and all seems to be well!

That’s unusual for a major system upgrade — you’ve read some of the horror stories right here, in fact — but I won’t complain!  It’s nice for things to work smoothly for a change.

Tags:

Upgrayedd

He spells it with two D's, for a double dose of his pimping...

Over the last couple of days I’ve been upgrading my computer system at home.  The impetus is twofold:

  1. I got a version of Windows 7 as a prize in the 2009 Interactive Fiction Competition, and finally decided to use it to do a full reinstall on our primary email machine.  It’s an old Dell XPS, and we’ve had it for 5 or 6 years.  It’ll run Windows 7, and it’s gotten so encrusted with remnants of old software over the years that it isn’t particularly reliable any more, so I backed up all our photos, videos, music, and email, made a list of the apps we absolutely need to reinstall, and took the plunge.
  2. Thomas has been relentlessly hounding me for his own website.  It’s a huge hassle to administer my webserver, though, because I have to reconnect mouse and keyboard and monitor cables.  When I finally got around to it, I discovered the webserver was over 6 months behind on recommended updates, so I spent a good amount of time bringing it up to date.  I also added Mozy remote backup to it, since it handles all my web content and my Perforce source code control depot.  I recommend Mozy very highly; I’ve used it for years and it’s cheap, fast, and reliable.

For good measure, I’m putting Windows Live Mesh on all three of my machines.  This is a very nice, featureful, fire-and-forget RAS package for Windows and Mac computers, published by Microsoft.  It allows easy file sharing and remote access for XP, Vista, and Windows 7 machines.  I found it extremely easy to set up and get started with.

After I got the mesh set up, I was able to quickly install two new websites — one for Thomas, and one for Robin.  Right now they’re just skeletons, but we’ll be fleshing them out soon.  Thomas wants to host Flash video games on his site, which should be an interesting experience, and Robin has long wanted her own blog.  Now she has one!

The Windows 7 upgrade on our main machine is in progress as I type this; I’ll follow up soon and let you know how it worked.

Tags: , ,

Implicit Association Test

There’s a very interesting website that purports to test your unconscious association between different classes of things.  Many of the tests are to identify whether you have a implicit preference for certain types of people (black or white, old or young, slim or overweight, etc.) but there are other tests that operate on names or religious imagery, etc.

The tests are apparently based on reaction time and number of mistakes made.  In the race/weapons test, which is the only one I’ve taken, you’re shown pictures of white and black faces and asked to quickly press a key to categorize them as white or black.  You’re then shown pictures of harmless object or weapons and also asked to quickly categorize them.  The system then shows you pictures of faces and objects interspersed, and asks you to categorize them as “white or weapon” or “black or harmless”, and then switches to “black or weapon” and “white or harmless”.

It appears that what it’s measuring is whether you will more quickly/easily be able to associate black faces or white faces with violent objects based on how fast and accurately you can categorize the images you are shown.

I was pretty fascinated with this methodology; it seems pretty valid to me, and I’m interested to try out some of the other surveys.  I’d love to know the heuristic they use to grade the results.  Interestingly, they give you a questionnaire at the end where they ask you how valid you think the study is, and I suspect this is a major part of their analysis.  They try to give you an out — one of the questions gives you the option to say that the survey reflects the culture to which you’ve been exposed, but doesn’t say anything about you personally, while other options let you say you think the test is a valid reflection of your conscious or unconscious preferences.

My guess is that those people who achieve “desirable” results (no association of weapons with race) will be more likely to ascribe validity to the survey and to believe it reflects their true outlook, and frankly that might be the whole point of the study.  Regardless of whether the picture association component is meaningful or not, they could just be measuring how much more likely you are to put faith in a seemingly authoritative statement that tells you something good about yourself as opposed to a similar statement that tells you something bad about yourself.

Ah, psychology is great!  No other field of science gets to combine experimental design with stage magicians’ sleight of hand.

Tags: ,

Ferb, I Know What We’re Going To Do Today

I don’t really watch a lot of cartoons these days.  I’m pretty busy with 3 kids, plus I generally prefer to read or play on the computer rather than watch TV.  When we do watch TV it’s usually The Biggest Loser or American Idol — shows that Robin and I both like and that we watch together.

On weekend mornings, however, we usually turn the TV on for Thomas and Katherine, and what they generally watch are cartoons.  They watch a wide variety of different shows, but the one that always gets me to sit down and watch with them is Disney’s Phineas and Ferb.

This is a very cute show that combines kid-friendly situations and antics with humor that appeals to both kids and adults.  And unlike The Simpsons, the two aren’t really separate; there are not really two levels to the show.  If you’re laughing, your kid probably is too.

An episode of Phineas and Ferb is fairly structured.  The premise is that it is summer vacation, and the eponymous brothers are trying to find fun things to do to occupy the day.  Phineas (it’s almost always Phineas) comes up with a Big Idea, which they set about implementing.  This usually ends up being some mammoth construction or engineering project, such as building a giant car wash, rollercoaster, or day spa.  Phineas, the short redhead, is the “mouth” of the group and the idea man, and Ferb is the technical genius (although neither boy is a complete slouch in the other’s area of strength).

The major obstacle is almost always the boys’ older sister Candace, who plays Daffy Duck to the boys’ Bugs.  Early on, she catches on to their plan and tries (inevitably futilely) to “bust” them by dragging their mom over to see whatever giant construct the boys have put together in the backyard.

Depending on the episode, some of Phineas and Ferb’s friends might show up to participate in whatever the scheme might be.  The most commonly appearing are Isabella Garcia-Shapiro, the overachieving Fireside Girl and the ballerina to Phineas’s Harrison Bergeron; Baljeet Patel, an East Indian supergenius and geek; and Buford Van Stomm, a tough kid who oscillates between bullying and friendly behavior.

Candace, besides her obsession with “busting” the brothers, is even more obsessed with fawning over her boyfriend Jeremy, and she often ends up madly juggling these two imperatives (often failing amusingly) as the plot unfurls.

At the same time as this is happening, there is almost always a side plot involving the boys’ pet platypus Perry.  Perry is actually a secret agent known as “Agent P”, and gets summoned to his secret underground base under the kids’ backyard to receive a mission briefing from Major Monogram, the head of the Agency.  This mission always involves dealing with the nefarious schemes of Doctor Heinz Doofenshmirtz, a crazed evil genius who invariably hatches some grandiose plot rooted in one of his many childhood traumas.

In his agent persona, Perry sports a stylish fedora, and although he can’t talk, he communicates very effectively using eye rolls and other facial expressions.  As his struggle with Doctor Doofenshmirtz reaches its climax, whatever bizarre device the Doctor has created usually misfires and either inadvertently resolves whatever jam the kids are in, snatches victory away from Candace just as she’s about to bust the brothers, or saves the day for Candace just as she’s on the verge of doing something monumentally stupid in front of Jeremy.

It’s all put together with excellent comic timing, and the voice work is great.   Candace and Dr. D. in particular are excellently done — Candace constantly skates the edge of hysteria while still projecting a unique personality, and the Doctor delivers some incredibly bizarre dialog with feeling and humanity.  Another appealing thing about the show is that the animation is fairly normal-looking instead of the almost aggressively ugly drawings in some other kids’ shows.

But the thing that really makes the show shine is the message and the relationships between the characters.  Despite Candace always trying to bust the brothers, she really loves them and has worked hard to protect them when they needed it.  In turn, Phineas and Ferb always try to help Candace out when she’s distraught over something (usually Jeremy).  Likewise, Perry and Dr. D., even though they’re each other’s “nemesis”, have each gone out of the way to protect the other when something seriously threatening is happening, and in fact exchanged gifts during the Christmas special episode.

All in all, the show presents kids using their imaginations and having good clean fun while displaying positive personality traits and resolving conflicts in a healthy way.  And it’s freaking hilarious!

Tags: , , ,

The Fading Dream

There is a once-great nation in the world today — a nation seemingly strong and powerful, but riddled with internal decay.  A land with an uncertain future.

This nation was founded in time immemorial by an intrepid few — settlers from a far more powerful country, who brought their culture along with them to this new, virgin land.  Over time the prevailing mores and social structures would change, but in the early days the new land was in many ways very similar to the old country.

The forests, plains, and mountains of this new land were vast, but required hard work to fully develop.  The first settlers of this nation prized self-improvement and expected that they would improve themselves with time.  This bred a spirit of rugged individualism, but also fostered cooperation.  Paradoxically, their self-reliance and desire to better themselves drove them to work together to achieve ever greater achievements.

It wasn’t long before the new nation eclipsed the old, boasting more settlers and far greater wealth, despite the greater age of the mother country.  The rest of the world started to look to the new land as the leader in innovation, and immigration boomed to unprecedented heights as settlers from all over the world wanted a piece of the “good life”.

Unfortunately, with the increase of population came poverty and other social ills, and political pressure increased to provide support for the ever-increasing members of society that couldn’t seem to be productive or carry their own weight.  The original culture, where skills were prized as essential for both personal and societal advantage, began to be replaced by a growing sense of entitlement — that the nation itself owed its citizens an ever-increasing standard of living, regardless of whether the people could produce it or not.

The politicians, of course, were more than willing to give in.  The currency underwent severe inflation as the administration sought to assure everyone a basic standard of living, and although ever more sophisticated consumer goods became available, the prices continued to rise to astronomical levels.  Unfortunately for the administration, however, the hyperinflation didn’t have the desired effect.  Currency was more plentiful, but you still had to earn that currency yourself, and not everyone was able to hold a job.

The next step was to provide full employment through a menial public works program.  Legions of the underclass flocked to these simpler, less-demanding jobs as a means to achieve their dreams.  But this type of employment was considered unpleasant and degrading, and the citizens agitated for their leaders to provide a mechanism whereby they could work in businesses of their choice, but be guaranteed a certain level of income regardless of their actual profitability.  This was a far cry from the successful giant corporations of the nation’s early days, which were large industrial enterprises that employed many workers with a high degree of competition for positions.  Workers were expected to be skilled in those days and those who couldn’t pull their weight were thrown out with little concern.  These new businesses were smaller, and government subsidies (at the cost of pushing the inflation rate ever higher) reduced the risk these businesses needed to assume.

In the end, even this was superseded by an almost Marxist regime.  No longer would small businesses be formed via a person’s circle of friends and acquaintances.  What about those people who didn’t have contacts even competent enough to file the government paperwork and go through the motions required to collect their paycheck?  The government solution was to remove the limit on the number of businesses a person could be a partner in, and at the same time randomly match aspiring business owners together, in the hopes that the more entrepreneurial types would carry the load for the less capable since they could collect an additional government paycheck for a small additional amount of work.

The nation wasn’t quite at “from each according to his abilities, to each according to his needs”, but it was close, and getting closer.  Could it really take long for them to take that one final step?

What’s that?  Oh, right!  What nation am I talking about?

Why, World of Warcraft, of course!

Tags: ,

The Quern is Digg proof thanks to caching by WP Super Cache