Dec 16 2014

Issue tracking systems, fun things at work

It’s not often in this job that I get a fun project, but this one was a good one.

We’ve been running an Access database for issue ticket tracking for many years now. Originally based on a stock “example” database, it’s been tweaked and mutated into what we use today.

Issue Tracking

After moving away from GameStop, we found ourselves facing a mountain of replacement hardware and no system to track those assets. So I integrated a new tab into the issue tracker that allowed us to join assets to every issue. When a new label printer needed to be shipped, we had that label printer’s serial number recorded, and reports allowed us to see which stores had what hardware. Instant accountability.

Asset Tracking

But while the additional system solved asset tracking, we still had a boatload of new hardware to check in. We also had a set of Motorola MC9090 handheld scanners lying around from a failed attempt to automate our now-defunct warehouse. The MC9090 ran Windows CE 5.0, had a 320×240 display, and RAM that was measured in megabytes. Programming an application for this thing was out of the question.

But what those devices did have was something called “Pocket Internet Explorer.” And I’m a web developer, dammit.

Of course, the MC9090’s bar code scanner didn’t have keyboard emulation, so I had to download and install a number of third-party applications to enable file transfer over Bluetooth, then essentially “hack” the configuration files to allow the scanner to input as a keyboard would. This allowed me to scan the bar codes of incoming inventory into a web form created with something like HTML 2 and some JavaScript that I served off IIS on my office machine.

The web front-end would require a database with which it could interface, so I converted the Access database over to SQL Server 2008 and got that talking to IIS via PHP and an ODBC plugin. Some creative use of JavaScript and PHP scripting meant you could start scanning one type of product bar code and never stop until you were finished. And the form was intelligent enough to be able to guess when you’d scanned the wrong bar code, or the wrong type of product.IMG_20141216_144256That wasn’t actually the challenging part. What was rough was getting the MC9090 to start talking to our wireless network. I’m still not entirely sure how I managed that, but I know a lot of progress was made when I realized a third party utility had to be used, not Network Connections in the Control Panel of t he MC9090’s operating system.

At the end of the day, when all was said and done, we ended up having to ditch the MC9090s because their batteries needed refurbishing, which was too expensive. Now they sit in the corner, collecting dust. They die if they leave their cradles for longer than five minutes.

Dec 20 2010

Game Development sucks, right?

In reply to

If the game development industry could play a song, it would be in the key of pain.

It’s not hard to find lots of blogs written by game developers or programmers who are dissatisfied with their jobs.  These kinds of blogs get lots of attention because video game fans are just as obsessed with dirt and rumor as movie fans, and considering they’re both branches of the “entertainment” industry, it’s easy to see the connection.

This attention gives the video game development industry a lot of bad press.  It’s (evidently) fun to read a long, disorganized rant about “sweatshop” conditions and unchecked egos and wasted millions.  But there are a few important lessons to take from these kinds of temper tantrums: the game industry can produce burnt-out, jaded former fans.  But it’s not alone.

People who got involved with an industry because they love the product frequently end up disappointed.  It’s like getting into politics because you love freedom: like sausages, laws are disgusting when you find out how they’re getting made.  Frequently it’s often infuriating when people find out how much real, hard work has to get done to produce something fun.  There’s really very little fun involved.  What I’m saying is that many of these industry whiners are complaining because they’ve discovered that great products require real effort, and when you’re young and inexperienced that can be quite a startling realization.

The reality of triple-A titles like Red Dead Revolver and Grand Theft Auto Anything or even World of Warcraft is that they are motivated by money and not creativity or entertainment.  These games are products, and they are created for the sole purpose of getting people to pay for them.  People will pay for them because the games are fun to play, not because they were fun to make.

Making a video game is hard work.  If you want the creation process to be fun, you’ve got to either have a lot of money or a lot of development time, and if you want a lot of money and time you’re going to have a long history of being able to make serious money for your investors.

When a production company is creating a triple-A title they want it released at a strategically viable time and that window of opportunity is often set in stone well before the game’s development has gotten past the “notes on paper” mode.  When game developers come into the picture, whether they are programmers or asset creators, they are working towards a release date that may or may not move forward, but it almost never gets pushed back.

Is it possible to create an expensive title quickly, but without grinding your employees to dust in the process, you’ve got to have highly effective project planning and fantastic managers.  Your project planning will enable you to avoid the dreaded crunch time, and your managers can help to set reasonable expectations and help keep your people from becoming burnt out.

It’s really not hard to do, but if the game industry shares nothing else in common with the movie industry, it’s that both have a huge number of very poorly-qualified people in positions of influence and power who have no idea what they’re doing.

Don’t like it?  Wanna complain?  Go ahead.  Then quit and start your own company, your own project, whatever.  There are very few creative visions that can’t be realized with current content creation tools.  And if you still can’t manage to be happy doing that, then maybe you need to put yourself into a different industry.  Don’t feel bad: like the movie industry, the video game industry is already filled to the brim with people who don’t belong there, they don’t need one more.

Aug 30 2010

Not a complete waste of time after all…

It’s good to know that, even though I still think it wasn’t worth all the money, my Bachelor’s in Computer Forensics can still come in handy.

Like this weekend, when two drives died in my main computer. At the same time.

Yet, here I am, at work, backing up the data off what Windows 7 thought was a completely unreadable drive. One of these drives wouldn’t even show up in POST. But thanks very much to my decision to blow a boatload of money and go into debt for fifteen years, I now won’t have to restart my Morrowind save game and make up the thirty-five hours of game play I’ve put into it. Whew!

Aug 18 2010

Those old PHP skills still have their use

I freely admit I haven’t been paid to develop in PHP for many, many years.

Sure, I’ve done plenty of work privately, for my own amusement, but I’ve never really been compensated for any of it.

However, faced with a huge amount of accumulated data generated by the Big Fix clients running on MovieStop’s POS machines, I decided it was time to start examining hard drive error records to see if I could determine if there were any trends.

I dusted off the old installation of XAMPP and gave it a shot.  Of course, while the Big Fix systems management suite could tell me anything I wanted to know about our computers, the Web Reports section of the Big Fix management suite is dumber than a bag of hammers.  As it turned out, while that system could technically create comma-separated-value files of my reports, the CSVs produced were actually delimited using alternately semicolons and quotes, if the rows were delimited at all.

So out came PHP for a little data massage.  And after about four hours of head-scratching spread over two weeks, what was I able to determine from that data?  Well, beyond any additional information I’ve yet to gather, there’s no pattern to any of our hard drive failures at all.  They’ll develop bad clusters during heavy use or in the middle of the night, when they’re sitting idle.  In fact, the only trend I was able to identify is that all the hard drives we’ve lost are Western Digital SATA drives we installed in the machines over a year ago.

Well anyway, it’s nice to remind myself that I can still program something when the chips are down.