Archive for category Computer

Service Broker Update

I’m finally finishing up the Service Broker RPC implementation at work.  I’m not 100% done, but I can see the light at the end of the tunnel finally.  As usual, setting up the initial implementation isn’t that bad — it’s linking it into every other aspect of the system where you start to see problems.

The devil is truly in the details.  Now I’m exhausted from two straight weeks of fighting this fire, and I’m sure I’ll be right back at it Monday, trying to finish the last hanging details.

Wish me luck!

Tags: ,

So I Rewired It…

One of Katherine’s more annoying recent habits is to flip off the light switch in our office.  That wouldn’t be so bad, except that the switch is a half-hot that controls some, but not all, of the outlets in the room.  My webserver and my own computer are not on it (although the monitor is) but the main email computer and the one Robin uses for her work are on it.

So after about the fifth time Katherine killed power to Robin’s computer this past week I decided to rewire the switch to a flat plate and remove the control over the outlets.  This was a pretty trivial change compared to some of the work I’ve done in our basement over the past couple of years, but it was pretty satisfying.

So far Katherine hasn’t made any comments about the lack of the switch — we were out of the house enough yesterday that I’m not sure she noticed.  I’ll be interested to see her reaction when she finally figures it out — I hope it won’t be to go over and shut down the computers manually…

Tags: ,

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: ,

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: , ,

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: ,

Hoosegow

If you’re interested in one-room escape games, JayIsGames is hosting a competition for them.  One of the entrants is Hoosegow, an interactive fiction game by Ben Collins-Sussman and Jack Welch, the team behind this year’s IFComp winner Rover’s Day Out.

I did some design review on this game, although I wasn’t able to beta the finished product.  It’s another well-written, fun little adventure with a tongue-in-cheek Western style that should have wide appeal.  I was very impressed with it.

It doesn’t look like JIG is showing the contest details at the time I’m writing this, but it should be up soon.  Check it out when you get a chance!

Tags:

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