The Hobbit Hole

In a hole there lived a hobbit. Not a nasty, dirty, wet hole, filled with the ends of worms and an oozy smell, nor yet a dry, bare, sandy hole with nothing in it to sit down on or to eat: it was a hobbit-hole, and that means comfort.

8/29/2005

Personal MBA, Book 1

Filed under: Uncategorized — bilbo @ 9:01 am

The reading time for the first book the Personal MBA is almost up. I’ve read most of it, and should be able to complete it before the time is up.

The Art of Project Management is a good book. It reads easily and covers its material well. It covers what I would consider to be all the topics, including the human ones. The coverage of the “human” factors is why I would consider this book a must read for any aspiring project manager, or a current manager who feels disconnected with his team.

The book avoids advocating any specific methodology. The author goes out of his way to leave many things ambiguous, such as the amount of scheduling and what should be on the schedule. His advice is “check with the people on the project, and let them decide, or at least advocate, how much process there should be.”

The book does state that there are certain stages of any project that do require managing: Requirements, Design, and Implementation, in this order. These phases are divided up by their deliverables, the Marketing Requirements Document, the Vision Document, and the Schedule. One perusing the book might think the author advocates a waterfall method, but he doesn’t. These documents are “living” and are meant to coexist and be kept up in tandem.

Where the book really is useful is in the chapters such as “Where Ideas Come From”, “Communications and Relationships”, and “Why Leadership is Based on Trust”. No chapter is “revolutionary”, but all of them do provide common sense and good points to remember when going through the various phases. He provides lots of lists and bullet points for things such as gathering and refining ideas and communicating with team members. He even offers advice on connecting with the team and establishing trust, something that most project management books don’t offer.

Lastly, I enjoyed the notes to the chapters. In looking through these, I’ve expanded my reading list quite a bit and plan on reading many of his recommendations.

Overall, I would recommend the book along with a book on a specific methodology applicable to your field. In my field, software, I would recommend an agile methodology, perhaps Scrum.

8/25/2005

What do you bring to the table?

Filed under: RPG — bilbo @ 6:15 pm

It’s been a long month, to say the least. The game I’m working on at work is getting ready ship, which means lots of late nights and very little time for anything else.

Still, as I was waxing nostalgic for some free time, I came across this table. It looks like something I could do even. I think my favorite thing in the room is the banner of modules across the upper wall though. That’s cool!

I’m going to start up a WLD game, either face-to-face or online. The problem with face-to-face is that the prime time to game is right in the early evening or on Saturdays, times that are already taken up by other commitments. Doing online allows me to start later when the rest of the day is done.

If you’re interested in joining, let me know. I plan on starting sometime late September.

8/1/2005

Personal MBA

Filed under: Uncategorized — bilbo @ 11:18 am

I’ve become more interested recently in business. I’m a computer scientist at heart, so why the interest in business?

I suppose it’s because for the last 5 years, I’ve not really made any career advancement. Instead I’ve made a series of lateral moves, mostly dictated by game studios going out of business. I’m already near the top of the game software engineering ladder, so advancement isn’t really easy within a small studio.

Truthfully, the only real advancement would be Technical Director or Lead Engine Programmer. Unfortunately, there just aren’t enough of those openings around.

I could go back to being a lead programmer on a game project. It’s certainly not more technically challenging, but it would be a change. I’ve already lead 3 projects though, and while fun, I don’t see it as a real advancement, just another lateral move.

The common wisdom is that to advance in one’s career, increase one’s education. I like school as well, so going back isn’t something I’m adverse to (though finding the time is another story :) ), but should I follow a managerial track (MBA) or a technical track (MSCS)?

I have some very bright friends who have done both, and to be honest, they are both at approximately the same level with different companies. Anecdotally, I’m not sure there is a great advantage to either. It would greatly help me to know what each teaches and make a more informed choice. Does that mean I should take classes from each? Not a bad idea, but a bit wasteful of time, not to mention expensive.

I’m already fairly well steeped in computer science, so I have a good base for what would be in a MSCS program, and how that might help me. What I don’t know is much about business and what an MBA might teach me and why that would be useful. Enter the Personal MBA. [Edit: I like this list as well for Entrepreneurship]

Seth Godin, fairly well known author of business topics, proposed that reading the right 30 or so business books would give a person the equivalent knowledge to an MBA. So, if I want to better understand how an MBA can help me, perhaps reading these 30 books will help.

To better understand what an MBA would teach me, I’m going to read the books on this list. I figure it’ll take me almost a year. I’ve started with David Allen’s “Getting Things Done” and Guy Kawasaki’s “The Art of the Start“. Looks like I’ve got quite a bit of reading ahead of me.

If you’re interested in joining me, send me an e-mail and we can coordinate our reading.

C++ vs Java

Filed under: Programming — bilbo @ 10:03 am

I’m not really one to engage in language wars. To each his own is more or less my philosophy. Still, as a user of C++, I do track how C++ stacks up against other languages just to keep current.

One of the hot issues, if not the issue, for C++ and Java comparisons is performance. Java has in recent years nearly bridged the gap, and in some benchmarks, actually surpasses C++ in speed. Then I read a small blurb in the Informit C++ Reference column (and now published book) about Java versus C++ performance and optimization.

Setting the Record Straight

“There are many reasons why programmers opt for C++. Performance is one of them. Java propagandists have been saying for ten years that the latest JVM/JDK/Java IDE has been tweaked and optimized, producing programs that “outperform equivalent C++ code.” It’s time to unveil the truth behind these irresponsible claims. These rosy reports mistakenly assume that C++ programs can’t be optimized after compilation (this assumption is just as ridiculous as the claim that C++ doesn’t support concurrency or dynamic linking). The truth, however, is that anything that Java can do with respect to optimization — C++ does better.

There is more to it, though. Whereas Java bytecode is optimized when the client is actually using the program, a C++ executable deployed at a client’s site has already been fully-optimized. This difference is crucial. WPO and PGO are resource hogs. They consume memory, CPU cycles, and other system resources. Whereas in the case of C++, the client running an optimized executable doesn’t suffer from the overhead of these performance tuning tools, in the case of Java these tools must be used at the client’s site, at production time. Indeed, disabling them is possible. Alas, the cost is highly non-optimized bytecode and recurrent JIT compilation — not exactly a recipe for outperforming optimized native machine code.

Visual C++ experimenters report 5%-20% performance gains when using WPO and GPO. These figures, as impressive as they are (remember that even without WPO and GPO C++ compilers produce rather efficient native code), my impression that there’s still room for improvement. Any assembly programmer knows that the best compiler still can’t compete with hand-written assembly code. I believe that in the near future, we’ll see additional performance gains as these technologies continue to evolve.”

Interesting. Read the whole article to learn what WPO and GPO are and to better understand what Danny Kalev’s talking about.