Java(Script) and Twine

Has it been over a week since I posted anything? Geez. Well, last week I was suffering some food poisoning (though I did manage to get my Castalia House piece up!), and together with wedding planning, something had to give. I beg your indulgence!

Before my bout, I’d decided to take another shot at something I’ve only thus far barely even touched upon – programming. Because I need another project I don’t have time for. Over the years I’ve picked up bits and pieces of almost inconsequential coding experience – a smattering of HTML at computer camp as a kid, a pinch of Visual Basic in high school, a couple dozen chapters of Learn Python the Hard Way.

It’s always been a dream of mine to make a video game, though I’ve never had the fire required to give up my other hobbies in pursuit of that goal. There have been RPG Maker attempts that were quickly aborted after scope got too out-of-hand and frustration grew.

Not too long ago, I told a software developer friend of mine that I’ve been thinking of trying once more to learn a programming language. One of my issues in the past was that I never really had a solid goal, or concrete projects to keep me interested. I got bored with writing Python scripts that merely asked users for their favorite color or spit out the cube of 9. Perhaps if I were to go into this with the goal of writing some very simple games or programs?

Anyway, my friend listened to me babble about my situation and asked me if I’d heard of Twine, which he suggested might be a good starting point for me if I just wanted to make a game. Simply explained, Twine is an open-source tool that seems best-purposed for creating text-based “non-linear” stories and games.


It publishes to HTML files, so it’s fairly easy to quickly create something and share it. Though Twine does have its own syntax, it also supports HTML, CSS, and JavaScript. You can use conditionals and variables and media files, too. So depending on how deep you want to go, it seems there’s a lot you can do with it.

So far I’ve created two very simple “games” that I was planning to design as smaller elements of a larger game I’d like to make. One is a variation of the game Nim. The other is a riddle game.

I did encounter some frustration with the limits of the native Twine syntax and had to do a lot of debugging, which prompted me to explore JavaScript. I think knowing JS would give me a lot more flexibility in my coding.

I’m not quite sure if or when I’ll proceed with my Twine project, but I would like to continue studying JavaScript. Even if my game is still far off, the coding knowledge and experience can only help me as an IT guy. If I do pump out anything fun, though, I’ll have to host it somewhere and share it with y’all.

That’s about it for now; I started playing Undertale the other day, which I’ve heard is a pretty fast one to get through. Excellent game so far. I’m trudging through Eyes of the Overworld, which pains me to say, for I love Jack Vance. But Cugel is just such a d-bag. I’ve got the first Lensman book on the side, and I’m hoping to get to Larry Niven’s Neutron Star and ERB’s At the Earth’s Core before long.

Ah, if only there were more time!



Java(Script) and Twine

The four most important troubleshooting steps

I know I’ve mentioned the IT Crowd once or twice here. If you’re into British comedy and/or you work in IT, you may want to check it out on Netflix. If not, I guess you can bugger off, wot.

So I’ve been working in the industry for about a year now, and I’ve learned much. I’ve found, though, that the cliches are true. We have relatively good users at my organization, but my palm and face have yet remained acquainted. While we do run into some head-scratchers, there are calls that can be addressed by one of the following:

1. Turn it off and on again. Yup, this is a big one. When in doubt, ask the user to restart their machine and tell them you’ll be over shortly. Often they’ll call or email you back to say the restart seems to have fixed the problem (or you’ll swing by and everything is now working fine).

2.  Make sure it’s plugged in. I have yet to encounter a monitor that’s gone bad. Usually a connector has come lose or gotten unplugged somehow. Sometimes you’ll even get a power cord that’s been accidentally unplugged (mistaken for another device?) or jostled by the cleaning lady.

3. Is it turned on? This can happen with printers or other devices that may be set to sleep without anyone’s knowledge. I hadn’t run into this “dilemma” with a PC until this week, but it does happen. User complained of her monitor not working, saying “No signal.” I figured it was a loose or unplugged monitor cable, but when I got to her office it turns out her computer wasn’t turned on!

4. Be gracious and humble. We like to grouse about user error (PEBCAK and all that), but this is why we’re paid the big bucks. Well, some of us. I work with a lot of folk who are more educated and in many cases probably much more intelligent (or at least more wizened) than I am. Not all of them are “computer people” or know a lot about tech, just as I don’t really know much about medicine or family law. A lot of the time when you run into one of the issues listed above, the user will be embarrassed, and there’s no need to rub it in. Either smile and tell them it was no problem and happens all the time, or nod sagely and wonder aloud if the cleaner may have accidentally knocked out the cord. And be thankful that it was an issue easily remedied!





The four most important troubleshooting steps

PC joy and pain

Men like to build and create. I’ve never been profoundly interested in or skilled at carpentry or stonework or automobile mechanics or, uh, spacklecraft. I do like to cook, but I’ve never constructed any kind of pastry.

I also do a little bit of gardening (mostly herbs), but I have kind of a brown thumb. Plants under my care have probably a 50-50 shot of surviving.

My creative tendency has been most manifest in my PC building efforts. The first time I built a computer, I made some unfortunate mistakes that wound up costing me. But when I got the thing working, man. Such a feeling of satisfaction – making something that not everyone can, and then putting it to good, honest use.

This second time I fared better on the front end, but over the past two or three weeks I’ve been getting a string of game crashes and blue screens of death. These kinds of setbacks can be profoundly disappointing and frustrating; computers are complex machines with all kinds of moving parts. You can look at dump files and event logs and errors messages, and sometimes you’ll be able to quickly or luckily diagnose the problem.

Often, however, the root cause of your troubles is elusive. Is it a driver? Bad RAM? Corrupted system files? Faulty PSU/not enough juice? Hard Disc error? Apps that just don’t want to cooperate with your operating system?

At least I’ve discovered a number of useful diagnostic utilities and system tools. System File Checker, Driver Verifier, Windows Memory Diagnostics, and Memtest86+ in particular strike me as good tools for any IT Guy or Gal to be aware of.

I also can’t overstate the importance of taking the time to check manufacturer websites for updated drivers, and becoming familiar with the Device Manager. I thought I had updated everything, but over the weekend I found that I had an old ethernet driver. Yesterday I checked out the support webpage for my motherboard and found that I was way behind on my BIOS version. That was a little more tricky to update, but relatively painless.

I haven’t been able to pinpoint any bad hardware so far, though I was suspicious of the RAM and the SSHD for a while. After I updated my BIOS yesterday I played the Witcher 2 for a few hours and didn’t get any BSOD or game crashes, so that’s a good sign. Fingers crossed I’ve stumbled upon the solution to my woes. Having a gaming machine that won’t run games is the absolute pits.

On Monday I couldn’t run Heroes of the Storm for more than a couple minutes without crashing to desktop, and I was branded with my very first “leaver” status. I’m apprehensive, but tonight I’ll give it a go and see if the BIOS update did it. Can an outdated BIOS cause other drivers to crash programs (my HOTS crash event log entry seemed to indicate a GPU driver-related incident)? I guess I’ll find out.



PC joy and pain

Troubleshooting: Errant Mouse

Alternate title: How many IT guys does it take to fix a mouse?

Things have been quiet here because I’ve been hustling at work. Normally the morning hours before I clock in are prime for busting out some nerdy blog materials, but this month we’ve been rolling out Windows 10 ahead of the free upgrade cutoff at the end of July. So I’ve been starting work an hour earlier and can’t bring myself to come into the office at 7:00 to write. Alas and alack, but tis only temporary, my friends.

An interesting thing happened yesterday morning – a user’s mouse decided to stop working. Now this happens on occasion, and normally unplugging the usb connector and replugging it into another port will do prompt the machine to come to its senses. This time, though, it just wasn’t doing it.


I tried another Microsoft mouse (our standard) and same thing. I’d get the little sound effect indicating the device was detected, and the underside LED would light up for a few seconds. But then it would go dark and the computer would continue to ignore the mouse’s presence.

Standard restart didn’t help. Device manager showed that the mouse driver was showing an error and also was being placed under “Other Devices” for some reason.

As I was juggling some upgrades with a limited timeframe, I escalated it to my boss and jumped back and forth between moving along the Windows 10 stuff and looking over his shoulder.

The mouse and keyboard software that he downloaded from Microsoft didn’t do the trick. Remoting into the affected system did allow for us to use mouse functionality, though, so didn’t have to navigate everything with the keyboard.

Eventually we ran to the server room and rummaged up an old Logitech trackball mouse we had leftover from a former left-handed user. It worked.

We tried a handful of other tactics to troubleshoot the regular mouse. Uninstalling the driver and letting it reinstall didn’t work. Nor did prompting the system to update the driver.

Eventually my colleague got in and took a look. He tried manually changing the driver from one of the Microsoft ones to the generic “HID – compliant mouse” driver. Presto.


We then rotated the mouse to each USB port to associate them all with this driver. Not too glamorous, but seems to have gotten the job done for now.

Curious that the Microsoft mouse driver should be erroring out randomly. Perhaps a Windows update-related failure? If future issues arise or if we return to this sometime, perhaps I’ll try copying some healthy drivers from another machine to see if this was a case of corrupted files or some such.




Troubleshooting: Errant Mouse