Wednesday, October 8, 2008

The Goliath Says, "Comm-link Online."

Last week I decided to test the waters at my work concerning instant messaging. When I started my new job I was told that instant messaging was discouraged, but that our department had been cut some slack. I was given the impression that it would probably be alright for me to use one.

But I chose not to. I thought that as a new employee, I didn't want the first impressions I would make to be exploring the edge of what was allowed. Also, I thought it might be good for me to focus on getting to know the new job. So I decided to wait.

Fast-forward to last week. Coming off a busy week of putting in extra hours, things seemed slow and laid-back. Plus management was gone on a retreat, so things were really quiet. I installed my IM client.

I chatted with a couple friends. It was really nice to be able to communicate again. Especially since some of them are people whom I rarely see in person. And it was nice to see the list of friends there and know that I could chat with them, if I wanted to.

But somehow I didn't feel quite satisfied. Being plugged back into my psychic-like connection wasn't all that I thought it would be. And in the back of my mind, I felt a nagging doubt start to grow. What if this is not okay? What if I get in trouble?

So since having installed the client, I've only been on intermittently. This morning I asked my manager about it. He said it should be fine, just keep it on the down-low. Phew!

I'm back.

Saturday, September 13, 2008

Crashing More Than Just Castles

With the recent release of the game Castle Crashers, there has been some controversy about bugs in the game. This has led me to think about the difficulty of programming.

This topic has been exacerbated by a recent event at my work. I've been learning how to do iPhone/iPod Touch application development. It is really interesting. It's also very nice to be learning something new. Development has been going really well, but then yesterday I hit a nasty problem. The program is crashing due to a memory issue I cannot find. (For those interested: somewhere something is trying to free an object which has already been freed.)

I spent several hours wrestling with this problem. The debugger was of no help, nor were the tools for tracking objects and memory leaks. I tried all of my usual techniques, but just couldn't find the problem. After I had spent an extra two hours at work, I decided that the best thing to do would be to go home. On Monday I plan to go back and take the component completely apart and start from scratch. Very annoying.

There is a tried and true method for fixing really confounding problems like this, and I'm hoping that it will work in this case as well. The method is this:
  • Go home.
  • Get some sleep.
  • Get the problem out of your head for a while.
  • Go back and take a fresh look at it.

I am sometimes amazed at how complex programming can be. Computers are complicated enough to begin with! After taking a class in which we built an 8-bit computer from CAD tools, I often think it is a miracle that computers work at all! Then on top of that you add OS software, all sorts of libraries, and your own code... there are many layers.

Unfortunately, one of the truths of programming is that there will be bugs. For non-trivial programs, it is asymptotically hard to find and fix all the bugs in a program. Luckily, like a squeaky wheel the worst bugs usually reveal themselves and are subsequently fixed.

But despite the many bugs and occasionally rip-out-your-hair problems, I love programming. It is a euphoric experience to be able to see the results of well-written code.

P.S. Castle Crashers is a great game!

UPDATE: I figured out the problem with my iPhone program and had it fixed within an hour of showing up to work. Like I said, tried and true.

Tuesday, August 26, 2008

With a Ph.D. in Horribleness



A few weeks ago I found a little gem that you may have heard about: Dr. Horrible's Sing-along Blog. I realize that I'm late to the party of telling everyone about how great it is, but if you somehow haven't seen it yet then click that link already!

Seriously.

This blog will still be here when you're done.

Dr. Horrible is a great example of how to tell a story. It really just gets in there, tells the tale, and then is done. And it doesn't hurt to have some clever humor either. It really helps establish an opinion of mine which I've held for some time (and I believe I've written about it a little before) which is basically this:

A good movie (or show in this case) is mostly determined by the writing and storytelling rather than special effects, attractive actors/actresses, or other gimmicks.

(By the way, I'm a fan of the old-school way of calling them actresses instead of actors... although heroine can be kind of a problem.)

There are actually several awesome examples from Dr. Horrible, but to avoid any spoilers I'll just focus on the setup. Within the first 5 minutes of the show you learn basically everything you need to know:

  • Dr. Horrible is an aspiring villain who desires social change (amongst other things) and wants to rule the world.
  • The Dr. has a video blog.
  • The Dr. is an inventor. His current project is the "Freeze Ray".
  • There is an "Evil League of Evil" which the Dr. wants to be accepted into.
  • The Dr.'s nemesis is Captain Hammer.
  • Dr. Horrible has a crush on a girl, but he's too shy to talk to her.


Additionally it provides a nice setup for Bad Horse and Captain Hammer, gives the viewer with a general feel for the show, and has plenty of humor. And it does all this exposition within the regular context of the show. No need to have an intro sequence or some other sort of contrived method of getting the message across.

I guess what it all boils down to is that there need to be more Joss Whedons in the world, and they need to be writing in Hollywood. No one will miss all the drivel-spawning clowns who currently claim to be screenwriters.

Thursday, August 14, 2008

"Never Ask That Question"

Kosh
"Could you help me to understand you?"
"Can you help me to understand you?"


(Image from here.)


As a by-product of my recent job search, I've begun to ask myself a question which I haven't yet found a good answer for. It lurks in the back of my mind, growing seemingly more ominous each time I think on it.

"What do I want to being doing in my career?"

It doesn't help that Haylee and I have been watching Babylon 5 recently. My mental Kosh doesn't like the question. Perhaps the Morden-esque nature of the question lends to part of the ominous feeling. But putting that aside, I'm just not sure what I want.

When I was looking at jobs out there, I found that there are many which I'm not very well qualified for due to lack of work experience. I've only been out in the work force for 2 years, so that's not too bad, but I worry that my skills are too focused in the web development sphere. I feel like I've got an excellent education and aptitude, so part of me wants to be branching out more. Proving, perhaps, that I'm a well-rounded programmer capable of much more. So in my search I looked for places where I could get a Java or C/C++ based job.

But that didn't pan out. My most promising leads were in web development. Not that I mind terribly; I enjoy it well enough. But I feel like I don't want to be typecast (what a great programming pun, by the way. heh).

Looking for a job is one activity which I really dislike. In fact, I don't know anyone who feels otherwise. It's the sort of thing that you do out of necessity, and yet try to procrastinate it as much as possible. But I did try to grab hold of one ray of hope I found: getting a job in the gaming industry.

I think that being a game programmer is something I'd really enjoy. I'm pretty sure of it actually. I've certainly spent a lot of my free time over the years doing it for myself. But there is a nagging bit of doubt in my mind about some details, such as: not being in control of the project, having to work on stupid games, etc. On the other hand, it would be a good chance to get out of web development city... or at least live in the suburbs.

Unfortunately, I haven't yet found a chance to get into the industry. Again the lack of work experience in relevant areas hinders me. But it could still be a possibility in the future.

All of this has led me to think about what I would do if I could choose. What programming projects have most interested me? Mostly games that I've worked on. (Ironically, my Imperium game was built in a web development sphere.) So I've been wondering if there is something there that I could do. Is there a way that I could take one of my projects and make money with it?

I'm scared to take a leap. What I do for now has to be a side-project -- I won't quit my job to try something like this... not now, not without some promise of success. But then I find myself in a dilemma: when would I actually work on it? I really don't want to spend what little free-time I have these days doing more coding. It's almost as if I need it to be my job.

I shall have to think more on this...


"I will teach you."
"About yourself?"
"About you. Until you are ready."
"For what?"
"To fight legends."

Thursday, July 24, 2008

Pandora

Here at my new job I've been introduced to Pandora Radio. I find it very interesting, especially with its ties to the Music Genome Project. It is very nice to have something to listen to at work, especially with the variety of music available.

The timing of this find matched up with the new iPhone update which brought the new 3rd-party apps. I haven't really used the iPhone app much, but it seems to work pretty well even over the EDGE network. But the coincidence of timing piqued my interest in the service.

I really like the idea of finding new music by matching qualities with songs or artists which you like. I rarely listen to traditional radio because they play so much junk that I don't enjoy (and that's not to even start talking about commercials). But on Pandora I can control the experience enough to get music that I like.

Of course, playing music that I own on my iPod trumps Pandora overall because I have full control. But then I'm not finding new music.

Now I just need a way to find / review movies and games in a similar way. It's a little bit like what you see on online stores: "People who bought what you bought also bought these things you might like." But the power here is that you aren't just limited to one (well, maybe a few) variables to compare against.

It makes me wonder what kind of algorithms they use to create the playlists...

Thursday, July 10, 2008

Incommunicado

I am feeling pretty isolated these days. As I've indicated in my previous posts, things have been changing a lot over the last few weeks. But one change that I did not expect was a drop-off in my level of communication, especially with friends.

Changing jobs seems to be the crux of the matter. I had made friends with people I worked with at my last job, but now I'm not seeing them every day. I like the guys I'm working with now, but we don't have that established relationship.

But the biggest difference is my lack of online presence via instant messenger. Like a psychic cut off from his power, I feel incomplete without my ethereal connection to my friends. I used to sense the presence of my friends and I could communicate with them at will. But now it's gone.

The policy at my new job discourages the use of instant messengers and the like, but our department has been cut some slack. For now however, I don't feel like installing one would be the wisest choice I could make. I've got to get to know my place a little better first.

I've only recently become aware of how this is affecting me, and I'm interested to see how widespread the symptoms and changes will be. I'm wondering how I will adjust to the changes, but perhaps the more interesting question is whether I've been unconsciously adjusting already.

A corollary I find of interest is how people adjust to communication technology in general. I often think that my sister-in-law doesn't need to be so obsessed with her phone. We joke that it would have to be surgically removed. But now I start to wonder if without her phone she feels cut off as I now do?

So for my friends out there who are missing me on your contact lists, if you felt like someone was crying out and then was suddenly silenced, it was me.

Monday, July 7, 2008

Back In The Saddle Again

Over the last few weeks my life has been turned upside down, stirred up, and basically changed completely. But now things seem to be settling down pretty well, so I figured I'd giddy-up for big post #50.

(Speaking of posting #50, since it's been just about exactly one year, this means I've averaged almost a post per week. Not too bad, says I.)

Married life is excellent. The biggest adjustment I'm finding seems to be related to how I spend my time. It used to be that I scheduled my time around when I could be with my fiancé. Now we're always together and I'm having to figure out new ways to schedule my time. It feels like I haven't spent nearly as much time playing games over the last few weeks. I actually get to bed at a decent hour now!

I'm also settling into my new job. Two weeks after being laid off from my old job I had a new job offer. I felt pretty good about it, so I accepted. Now I'm getting to know the people, learning about the existing code I'm working with, and basically finding my place. I feel like I have to ask a lot of questions, but they are all related to how things work here. So I think that's pretty good.

Another interesting thing that has found its way into my week is Dungeons & Dragons! My friends recently expressed interest in playing again, and we've scheduled time to play once a week. I've taken on the role of DM and we're continuing the campaign I started about two years ago.

Thus overall things are going really well for me right now. The dust from the major life events is clearing, and I feel like things have turned out really well.