January 2012
1 post
Cleaning up SQL Server 2008 Simple Databases
We make lots of databases here at the office.  Often they’re play databases, or restore databases, or test databases.  Since they rarely progress from development status to production status, they need to be set up with simple recovery model so they don’t collapse under the weight of the dozens of gigabytes of transaction logs my programmers pump in every day (at least, until Western...
Jan 13th
December 2011
2 posts
Social/Phone Gaming and Bugs
With the comments from some analysts today that social gaming is flat or unsustainable, let me mention something that may be clear to people on the inside but might not be visible to the outside: Social games, and mobile / iPhone games, are designed to exploit platform bugs. What does this mean? Some facebook games became popular because they exploited the ability of applications to generate...
Dec 8th
Reed Hastings Claims To Be Moneyball
“We’re very much the ‘moneyball’ content buyers,” Hastings said, referring to Michael Lewis’ book about a low-budget baseball team’s approach to player acquisition. “We’ll look at, OK, we paid X for something, so how many people watched it?” Netflix has problems.  At least, their streaming service has problems.  The biggest problem...
Dec 7th
November 2011
4 posts
Multithreading a User
Programmers spend lots of time writing multithreaded applications that can get work done while the user is thinking, or reading, or whatnot. We know, almost instinctively, how to make the program fast. But we often don’t think about making the user fast. Why? Well, the first reason is that computer science classes often say “Waiting for I/O is slow;” and leave it at that. ...
Nov 21st
Too many surveys!
If you visit enterprise hardware and software vendor websites frequently, there’s a good chance that you’ve been sent a survey. They often appear as a pop-behind window that detects when you leave the main website and asks you a few dozen vague questions. These questions give you a 1-10 point scale to grade them on such topics as “is this site easy to use?” or “how...
Nov 13th
Toys for Bob produces: Skylanders!
Two of my videogame heroes, Paul Reiche III and Fred Ford, have developed a fantastic new game series: http://www.skylanders.com/. Given how many classics they’re responsible for (Archon, Mail Order Monsters, and Star Control II, among others), they are way overdue for a massive hit. These guys deserve their success.
Nov 8th
Turbo Pascal
I learned serious programming on Turbo Pascal, on the advice of one of my father’s friends.  This was in the mid-to-late 1980s - maybe 1987 or 1988.  I had experience with Microsoft Basic - yes, the last program Bill Gates wrote - and was doing okay there, but I knew I needed to become a better programmer if I was going to write video games.  So I learned Turbo Pascal, and I even learned how...
Nov 1st
October 2011
6 posts
Programming hand-offs
Doesn’t it suck when you build something great, a real shining jewel of a program, only to see the next owner mangle it with careless maintenance and poor planning? The only thing worse is when you do it to yourself! The necessity of ownership Successful organizations make sure that programmers have the ability to own their programs.  It’s vitally important for a creative person to...
Oct 25th
Advantages of Bad Code
Not every program is a masterpiece of ingenuity.  Software doesn’t exist to be a perfect shining diamond – it facilitates something else, and that something else is what we care about.  The intense 3D game you developed – fantastic!  Your massive accounting report - it should rock!  Your child’s digital storybook – it should be glorious!  But the program you’re going to write today? ...
Oct 24th
Lessons from the Classic Mac
We all do tons of user interface design, both in games and in business software.  One of my favorite books on usability design is “Macintosh Human Interface Design”. It’s a classic; I’ve been reading it off and on since as long as I can remember.  Much of it is woefully out of date.  But, as with all visionary products, it has lessons to teach us to this day. So, what can we learn from a user...
Oct 22nd
Taking Care of your Team
I spend a lot of time working on software architecture.  All day long I come up with new ideas, investigate them, discard them, and research other peoples’ solutions to compare them to mine.  But, no matter how many programming blogs I read, no matter how many new design docs I write, I won’t be successful if my team doesn’t enjoy their jobs. “Happiness” is a fad...
Oct 6th
Repost: SUM() strings in SQL Server
It’s really easy to sum numeric values. You write this: SELECT SUM(revenue) FROM orders Every so often I wish I could write a similar query for strings. For example, wouldn’t it be neat if we could get a list of employees by department like this? SELECT TO_LIST(name), department FROM employees GROUP BY department As it turns out, there’s a way to do this, but it’s a...
Oct 6th
The Value of Asking Questions
For the past three years, I’ve been managing an internship program for software developers.  We’ve had a chance to work with people from all kinds of backgrounds, and pretty much everyone who completed the internship has gone on to be a successful programmer.  And the biggest trait the successful interns have shared is the ability to ask good questions. This isn’t rocket science.  I’m not...
Oct 4th
September 2011
1 post
Recycle IIS app pool from the command line
I recently discovered that I had a need to force an application pool to reset as part of a command line.  We have a program that was caching results for a time period of an hour; but occasionally we get business users who request a recache immediately.  Eventually, we’ll rewrite the application to have recaching on triggers, but for the moment it’s possible to do this: ...
Sep 28th
August 2011
1 post
SMB2
If you’re like me, your network probably still has a mix of Windows XP and 7 desktops, plus some Server 2003 and Server 2008 machines.  Toss in a few Macs and some Linux servers, and you’ve got a nice enterprise flavor. Bet you didn’t know that SMB2 isn’t just a rebranded version of Doki Doki Panic. Microsoft released a revision of their core networking protocol, Server...
Aug 16th