It seems every time I begin a new job I go back to dreaming about something different. More interesting. More consistently challenging. So it is and so I’m back to trying to program.

I read an essay about some hackers from back in the day stuck at the airport after a conference. The group included Bill Gates, Steve Ballmer, and others. One of the group decided to introduce Petals Around the Rose to everyone. Most of the group got what was happening after a bit, but some didn’t. I understood the game at the explanation of the first roll. For a second I thought, “Hah! How brilliant I am!” Then, I recalled that I was introduced to the game about 11 years ago while in college.

It made me wonder about how we acquire and retain knowledge. Why some things stick in the brain and others don’t. And it got me back to wanting to program. The desire has been with me for so long, but I don’t put in the consistent effort to achieve results. The progress I make isn’t rewarding enough to keep me coming back. So, I take breaks. The latest break ended about a month ago as I had made some updates to my Dad’s website. It’s badly in need of a total overhaul. Hopefully I actually get to that at some point.

The essay concluded with an anecdote about Steve Ballmer. Apparently, that game stuck with him as whenever he encountered a new programming language that interested him, instead of doing a simple ‘Hello World!’ he programs a version of Petals Around the Rose. I decided to do that myself.

I was surprised that I had retained as much as I had. I haven’t touched Python in almost exactly a  year and hadn’t done much other than read. But, I put together something that works. It isn’t perfect, but it works. And for the most part I slapped it together myself (maybe that part is incredibly obvious!).

My biggest hurdle was in getting the dice to print to the screen. Stack Overflow helped me get through those. I’m still disappointed, though. I’m not really sure I could have figured that out myself. That’s something that’s still a big hangup for me. I can’t consider myself above a beginner level if I can’t figure out how to do some of this stuff myself. It’s fine if I don’t come up with the most efficient method, but I need to be able to figure out some workable way of accomplishing a task.

I started reading some more on design patterns in programming. That will hopefully help. One of my biggest knowledge gaps is in how to organize things. I also started reading other people’s code. That will be a great help and something I’ve not done enough of.

A Long Time Gone

Well, since my last update it’s been quite the whirlwind of activity. I had lived in Seoul, South Korea for two years, but quit my job, flew to Vietnam for a week and a half to visit friends and am now back in Minneapolis, MN two years and three weeks after I first left. I’ve been busily looking for jobs, and unfortunately I still don’t know enough about either programming or web development to find work in those fields. There is an explosion of available work, but you apparently need some kind of skill. I have accepted a job to be a Service Desk dude for an IT outsourcing company. I start on Monday.

So, with that out of the way I’m moving on. I’ve made it up to lesson 36 in Learn Python the Hard Way, which asks to design a simple text-based adventure game similar to the game created in lesson 35. I made a plan, planned out the structure of my game and the goal of the player, but I found myself stuck. The game we made felt too simple, so I decided to try to create a text-parser for my game. It hasn’t gone so well so far. I couldn’t really think of how to begin. I thought I could just define all of the possible verbs and go from there. Then I realized how will the program know what to do when a verb is entered. How can I define North to only go through the “North” exit? I figured I could just create flags inside of each room, but so far it hasn’t been working. I ended up downloading a text-adventure system for Python called PAWS, so I could dig through what they did, and hooooo boy, it is complicated.

I’m not going to go into what I found in PAWS, mostly I just found that at this point I’m not able to create a system of such depth and finesse, but it gives me something to aspire to. Wait, who am I kidding, when it comes to programming it’s all something to aspire to right now. So, I’m working on my game and I’ll post what I end up with at the end of the week that’s supposed to be dedicated to it. I started on Sunday the 11th, so hopefully I’ll have something compiled and playable this Sunday the 18th.