A Case of the Mondays

To be honest, I do not have a problem with Mondays. I do, however, have a problem with all the people who insist on misusing a Monday.

The weekend, Saturday and Sunday, are time off for most people. They relax, they get away from the office and work. For other people, the weekend is time to get work done that can’t be done while everyone else is working. Programming is like this, especially when you are bug fixing a production level program. You can’t make changes to the underlying database in the middle of the day on a work day. You have to wait for late at night, or the weekend.

In one case you are returning to work and are in need of getting back into a work frame of mind. In the other case, you’ve spent the weekend doing one kind of work and are in need of getting back into the normal work mode.

Mondays, used properly, are great for this. On a Monday I like to wake up late, not too much, but about a half hour or hour late. Then I have a good breakfast, something I often skip later in the week. Next I’ll spend some time going through emails and sending out replies. I’ll pull out last week’s paperwork and merge it with the weekend notes, and make myself an organized task list of all the stuff that is still open and is still my responsibility. Just before lunch, I’ll gather up all the easy tasks and polish them. Most of them are so simple that I find myself actually thinking, “Why didn’t I do this earlier?” With the bulk of quick work done, I go to lunch. If I’m at home, I eat and watch some TV; if I’m at work, I eat and chat with coworkers. But in both places, in the back of my mind, I’m sifting and shuffling, organizing and prioritizing. After lunch, I settle in for the long afternoon. Tackle as much as I can in preparation for the rest of the week which is bound to throw me a curve ball or two. This is when I remember why I didn’t do that easy stuff sooner. By the end of a good Monday, the To Do list is half or more done and the coming week has a nice outline of work to be done.

That is how a Monday should be.

It is a shame that so many people insist on trying to cram status meetings and project planning on to Mondays. No one is ever mentally prepared. They are either still too relaxed, or they are just in the wrong frame of mind. All the meetings really do is to force people to rush into action, instead of easing into the week at a brisk walk or comfortable jog, Monday meetings make people hit the ground running… and its why by Wednesday they are begging for the weekend again. And because of the befuddlement and confusion of a rushed Monday, all those meetings will need to be repeated later in the week in some form or another. A giant waste of everyone’s time.

If you are a manager or project lead or anything of the sort, I beg of you to take this to heart. Hold off on those Monday meetings and rush whenever possible. Let your people, in fact encourage your people to, use Monday as a day of preparation. They’ll be much more productive later in the week, I promise.

Useless Technical Websites

Most of today I have spent my work time searching the Internet for a solution to a problem that I have. One of the things I have been looking for is information on how to best use HTTP Modules in .NET. Allow me to provide you with an depiction of 99% of the websites I found:

HTTP Modules are great and can do much if you use them well.

When using HTTP Modules, you need to consider exactly what you are trying to accomplish, and then take the steps needed to accomplish it.

In conclusion, HTTP Modules are awesome!

Now take that, make it five hundred or more words and you have a good idea of what I’m getting at. It is an article, written with wonderful verbiage and great care… to make sure they do not actually explain anything. No examples, nothing. Just “This is neat! Its neat because it does stuff! Isn’t that neat?!?” with no bother to actually go into any detail at all about what is does or how to actually use any of it.

And of course, every page is simply overflowing with ads.

Hey you… yeah you, the one who writes pages exactly like the one I described… you are ruining the Internet!

There is just so much noise, I can’t even tell if there is a signal at all anymore…

Meeting Fu

When it comes to business, one of the greatest pains are the glut of meetings the average large corporation insists on having. As a programmer, I have come to the point where I estimate any project at least three times the amount of hours I actually need to do it, in part to leave room for mistakes and redesigns, but mostly to cover the seemingly endless meetings the client will wish to have.

The worst offender of wasted time is the Status Meeting with the client. Now, Status Meetings with your manager or with other team members can be quite productive, but with the client its just because they want to see work being done. The first problem is that not all work can be seen by the client. If the code I have worked on has made part of the program function better, or differently behind the scenes, then there is no screen I can show the client to say “Look what I did”. This results in two behaviors:

1) The stack of paper. When a client insists on Status Meetings being face to face, I cannot go to the meeting empty handed. Despite the fact that my job as a programmer is almost entirely paperless, I have a stack of paper in a drawer of my desk that contains print outs of sections of code (from my personal web page), spreadsheets (of comic books and a sample timesheet I made for a friend), manuals (for my universal remote among other things), and a complete guide to Teradata specific query formats. Thrown on top will often be one or two emails printed that concern the project from the client I am meeting with, and two pads of paper, one with a task list (a huge TO DO scrawled at the top) with items crossed out and one with various ramblings and scribblings. I take all this stack of well thumbed paper with me to the meeting, and then periodically I will shuffle through it before pulling out a random piece of paper and then either agreeing or disagreeing with the client.

2) Useless screen modifications. During the project planning stages, I will suggest that certain changes get made to the layout of the screens, more often the initial design of the screens is done UOP (Ugly On Purpose) so that they can be fixed later. Clients absolutely love to see things move around the screen to new places, especially if they believe it is their personal input that is resulting in the changes (one item may clearly belong on the left side of the screen, but I will place it on the right and try to get the client to suggest we move it to the left). All this designing and redesigning pages wastes time both in and out of meetings.

The best bet, however, when dealing with meetings is to take extra care when planning them.

Step one, if your company uses Outlook to schedule meetings make sure than any time you don’t want there to be a meeting, you have something scheduled already. For example, from 11:30 am to 12:30 pm every day, I eat lunch, and to avoid people (especially people in other time zones) from scheduling meetings during my lunch, I have a meeting scheduled every day called “Provision Processing” (Food Eating) and it is attended by a few random people who also wish to eat lunch at the same time I do.

The next step is to never schedule a meeting on a day where everyone is open, specifically the client. Try to find a day where they already have five hours of meetings planned. Your best bet is to look for a day when they look all booked up except for an hour or hour and a half around noon. Since you took my advice on Step One, your lunch is already blocked, but that gap is probably where they plan to have lunch. Schedule it then. If it does happen to fall into their lunch, the meeting is likely to run quick since they want to get out of there. Basically, anything you can do to make the client initiate shortening the meeting is great.

If all else fails, call in sick. Sore throat, take my wife/kid/father/dog to the doctor. Specificity is not your friend, stay generic when possible but if you have to give details, make and keep a list so you can remember what fictitious ailments you have assigned to your family members. Never ever make it serious though. If you ever fib your way into Get Well cards, you’ve gone too far.

Of course, none of this applies if you actually have stuff to show the client. The honest truth is always the best policy when its good news. All this other stuff is just to avoid having to explain to the client that they are honestly clueless. You might also get extremely lucky and have a client who understands and some weeks is willing to simply accept “Work is progressing and is on track, but there is nothing to show you this week.” In which case, ignore everything I said.

Except the thing about scheduling a meeting for your lunch.

RAD is not rad

Rapid Application Development is not a horrible idea. Of course, much like Communism, it is not a problem with the idea it is the implementation. When most companies get into a RAD style of work, the result more often than not is just flying by the seat of their pants. No project plans, minimal design documents… usually it is just a list of features and a deadline, or a dozen lists and a dozen deadlines, and the lists change daily.

Having worked for two years on one RAD project, and then two and half on another, I really would like to work on something with more structure, or at least be part of team that is doing RAD instead of people one guy trying to work on multiple phases on the same RAD project by myself. I go into one meeting about phase one in the morning, then in the afternoon I go to a meeting on phase two when I have to pretend that I am not aware that phase one is behind schedule… it really is quite maddening.

Why I Dislike Oprah

Most of my life I have been a skeptic and a pessimist. Hope for the best, prepare for the worst.

This is why I dislike Oprah.

I’ve gotten into a bit of a tiff with a friend of mine because I mistakenly used the word “hate” while talking about Oprah, and I appearantly wasn’t clear that my dislike has nothing to do with Oprah Winfrey personally but only with the brand Oprah that she has created. Much the same way I have a dislike for Microsoft, or any large brand.

If you read up on Oprah, she has done some wonderful things with her life, her show, her magazines, her charities… she’s made a few mistakes along the way, most famously is James Frey’s book A Million Little Pieces where she and her people didn’t bother to do the minimal background work that thesmokinggun.com did that proved his book was a pile of lies. But, overall, she does good, and that’s why when she suggests or recommends something I give it attention and look into it for myself.

Sounds like I don’t dislike her, right? Let me continue…

Where I start to get uncomfortable is the cult like following that she has engendered and nurtured. There are literally millions of people who will take her at her word and do what she says without thinking for themselves. She says a charity is worth giving to and suddenly that charity gets record donations. She’s probably not wrong, but I am worried by the blind faith that people have… almost the same problem I have with many organized religions. Follow, don’t question.

Is it really her fault? Can she stop people from just doing what she says? No, not really… people like knowing that other people know better, following a strong leader is easier than trying to lead themselves. But what I dislike is that Oprah, as a brand, seeks to gain by maintaining this blind following, and not once have I ever heard her openly state that people should do research on these ideas, books and charities themselves before acting. It would be bad for business to give people advice and in the same breath tell than that you could be wrong and they should really figure it out for themselves.

Most recently, Oprah has funded the building of a school. The Oprah Winfrey Leadership Academy. Building the school is clearly a good thing, but to prove a point, I discussed the school with some coworkers, and while all of them said it was good, not one of them could tell me why Oprah felt the school needed to be built beyond “because they needed a school for women.” No one could tell me why that school, why there, why now… all that was lost in the Oprah publicity of the school being built and how great it was.

Along with that, I find I am put off by the fact that she puts her name in the forefront of everything, on everything. I watched one of the TV specials about something she was doing, it may have even been the school, but I completely lost interest because in the ten minutes I watched, Oprah was always center frame, even when she was talking to someone who, in the context of the special, should have been more important than her. With Oprah, it seems that the subject is never “Here is something worth knowing about…” its always “I’m Oprah, and behind me is something worth knowing about…” There is a distinction there that I think is very important.

In this argument with my friend, she brought up other brands (Microsoft, Nike, etc) latching on to the idea that it must be brands that I “hated”, not Oprah. But the truth is, I bring the same skepticism to those brands. I never buy software because its Microsoft, I buy it because I need the functions that it does and from my research it fills my needs. Microsoft Office is a great example, I love the product, but only because I’ve gone down the road of using other software. I’ve installed Star Office and used other email readers, and in the end, after trying dozens of other products, it turns out that Microsoft Office is the one that does everything I need in the best way possible for me. And Nike, well, I’m a skinflint when it comes to shoes and refuse to spend more than $30 for any pair. I’m rough on shoes, and spending $100 for a pair is like throwing money out the window. Again, I’ve done the footwork, pardon the pun, and realized that buying Ocean Pacific sneakers for $19.99 was a much better fit for my lifestyle.

In a way however, these companies are more honest than Oprah, because they are trying to directly sell you on their products… Oprah, on the other hand, is often trying to sell you other people’s work, their books, their deeds, their charities. And while you can look into Oprah’s eyes and see if she is sincere, she has put a layer between you and the product, potentially hiding from you if the original purveyor was sincere, and you have to trust that she has done all the proper background work, which she has shown on occasion that she (or her staff) has not.

So what am I trying to get at with this blog? In the end I suppose the core of it is that I am adverse to any person or group that encourages, actively or passively, people to stop thinking for themselves.

Setec Astronomy

The irony of most secrets is that they are not, in fact, secret. It is strange to see people fight tooth and nail to hide things which everybody knows. Even more so when their attempts to dodge certainty and protect their secrets result in miscommunication and bad blood between people who should be getting along.

How does this relate to gaming? Well, in the world of game design, there are many developers who post on blogs and on message boards, and all of them to some degree talk in vague notions and hints, hiding their precious secrets. The funny thing is, most times when their games finally do come out they really don’t introduce anything that was worth hiding, at least not hiding to the degree they did it. I realize that many times they are being vague because they might get fired for revealing company secrets, but if that is the problem why are they getting involved in the discussions at all? If you aren’t supposed to talk about your work, then don’t talk about your work. Its almost like that kid back in grade school who’d dance around singing “I know something you don’t know.”

Why the hell am I blogging about this? I’ll tell you…

I do not work in the game industry. I wish I did, but currently I live in Atlanta, and there isn’t much going on around here (at least not that I know of), and I don’t want to move. Also, while I feel that I have a good grasp on programming and design, I don’t have the experience on my resume that would make other people have the same faith in me that I have in myself. I mean, hey, I’ve only done full life-cycle design on a time and attendance software package picked as the best on the market by several independant studies, and a data warehouse application for one of the largest telcos in the US, but clearly that’s not good enough. I also am currently accustomed to a lifestyle that precludes me from starting over at the bottom, so I can’t just pick up and move across the country to take a bottom rung CS or QA job making next to nothing. But, despite not working in the game industry, I love games and I think about them alot. Starting this week, I’m going to start posting every idea I have ever had for games on my weblog. Some of them are raw, some of them are more thought out, and I hope people find them interesting enough to discuss them with me, and maybe, just maybe, someone might give me credit if they decide to steal one or two of them.

No more secrets.

Reign Over Me

I saw Reign Over Me yesterday. A very powerful film about love and loss and life. I’m not going to spend alot of time reviewing it, I only want to say that Don Cheadle continues to be an excellent actor and Adam Sandler proves again that he isn’t just a comedy guy. Mike Binder, who’s work I have loved since Crossing the Bridge and Indian Summer, has written and directed a wonderful film full of joy and heartbreak. Maybe they’ll remember him by the time the Oscars roll around next year.

It is not a happy joy joy film, so know that going in, but I highly recommend seeing this movie.

Pattern Recognition

Every once in a while, a book comes along that really matters. You read it and it gets down into your soul, affects your core beliefs and really, truly changes you. I just finished reading Pattern Recognition by William Gibson, and let me tell you… this is not that book.

Normally, I don’t post spoilers, but I can’t talk about this book without them. So, if you want to read more and don’t mind a little (or a lot) of spoiling, read on.

Read more

Stuff on the Net XVI

Over at Critical Hits, you can find an old D&D commercial, circa 1983. I think the worst part of this is not that I owned that version of the game in 1983, or that I still play D&D today… but that I recognize the early acting work of Alan Ruck and Jami Gertz.

Documentary: Spiders on Drugs.

I couple of lightsaber fights: Old favorite, One with more story.

Are you a muslim woman with a desire to surf? Well, now you can without violating muslim law!

Oh… and HBO is going to be making Martin’s A Song of Ice and Fire into a TV show. Oh, yeah.

Offline Play

Some days I wish I could remember to write stuff down. I had alot I wanted to say concerning this post over on Tattered Page, but I could only remember one part, so I’ll just go with that.

As much as I ultimately end up hating EVE Online every time I go back to it, I keep going back to it because ti does have a few really cool ideas. The biggest of these is the introductions of true Offline Play.

Many games before and after have had some type of reward for people who are offline. In World of Warcraft, being offline in an inn or city would result in an experience bonus when you returned. The longer you were gone, the longer the bonus would last. It had a cap, of course, but it was a nice way for casual players to feel like they had a chance in hell of keeping up in level with the people racing to the top. But in EVE, skill training happens whether you are logged in or not. So, if you set a skill that’s going to take fourteen days to train, you can log out and come back in two weeks to find it complete.

So… where am I going with this?

What if, you had a game that was designed around player created and/or controlled towns, and when a citizen of that town logged out in town he was given a menu of a list of work tasks that the town needs performed that he can set himself to do while he’s logged out? Things like, collect garbage, defend walls, work the mine, tan leather. And all of these things would amount to resources that the town leaders could manage and pay wages for.

The mayor says he’s going to pay 2 gold per pound of trash/weeds cleaned up from the street. Now, a player could, if he chose to, while playing, run around picking up junk and pulling weeds, turning them in for pay. But how many people would really do that? Instead, based on the town size, the mayor lists he needs three garbage men, and a player who logs out can pick that, his character will be seen (as an NPC) walking the streets and collecting garbage during daylight hours that he isn’t logged in. When he does log back in, he finds that over the last week working as a garbage collector he earned twenty two gold.

But who wants to be a garbage man? Why not join the town militia? The militia pays ten gold a day, and while you are logged out, your character will be used as an NPC to patrol the city walls and to fight off attackers. Now, you won’t die while you are offline and lose your character or gear, but the point is that non-player-based-NPC guards are always of level or strength equal to the average citizen minus two, or something like that. So getting players to be guards is likely better than leaving it up to the NPC guards, unless you are new to the world and fall below the NPC level. (Of course, in my overall design, the game is PvP and players playing will be given the option to actively defend assaults before NPC-players or NPCs are populated.)
And working in the mine? the fields? fishing? You help increase the resources of the town. Players as NPCs would always be slower/worse than players playing to give incentive to play, but would allow players to still feel like they are contributing and not falling so far behind even when they can’t play.

I’m sure there are many complications that I haven’t thought through, but its an idea I’d love to see a game take a whack at.