Previous Blog Next Blog
Prev/Next Blog
by date

Plan for Joel Baxter

Plan for Joel Baxter
Name:Joel Baxter
Date Posted:Nov 12, 2002
Rating:Not Rated
Public:YES
Comments:YES
RSS Feed:GarageGames Blog feedor Subscribe with .
Profile Page:View profile page for Joel Baxter

Blog post
An experiment: daily updates. Why? I'll tell you why! Also, the first update... a day spent rolling the latest TGE changes into our codebase.
It's always an adventure to keep yourself motivated when you're working alone in your house, and always a problem keeping the team up-to-date with your activities (and vice versa). Ideally, a solution to one problem will help solve the other... when you're more motivated you have more stuff to tell people about, and you're more excited to tell it; and, when you're communicating well with your team, you develop motivation by feeling that you are being held accountable for your activities. Or you should, anyway. :-)

The sixty-four-thousand-dollar question, of course, is what solution fits the bill.

In the beginning of the Grav project we kept timesheets on a 15-minute granularity. This was manageable when we were all just sort of puttering around, but as the workload (and variety of task) increased for some of us, that turned into too much bookkeeping.

So we changed to doing weekly updates on our blogs on our private website. This worked for a while, but somewhat recently I hit The Wall in motivation and activity, and a change is needed. Speaking for myself, a weekly period of assessment is a bit too large-grain currently; it's too easy to let days slip by. I'm not going to go back to 15-minute timesheets, but daily reflection may be what the doctor ordered, so I'm going to try that for a while.

And since I'm not using this blog here at the GG site for anything else, I'm going to take a trial run at doing the dailies here rather than at the Badlands private site. Another thing I need to do is get back into involvement with the GG community, and having a daily appointment here will help with that. Hopefully I'll have at least one comment each day that might be interesting to people in similar roles; obviously there will be some things that should be handled in private team discussion, but odds are I'll regularly encounter some publically-appropriate topic having to do with engine code, scripting, working with a team, or design. If not, hopefully no harm done, and I'll move my dailies to our private site, and maybe do weeklies here instead.

Anyway, here's to a rejuvenation.

---

The Daily for Nov 11 2002:

Unless TGE really goes off the rails in an odd direction, our policy is to regularly roll TGE changes into the Grav codebase. Now, much of the Grav engine source has additional changes of its own, large or small, including file additions/deletions/renamings and directory restructurings -- so, merging with TGE is not a process that can be fully automated. I tend to wait for a natural lull in the TGE updates and then dedicate a day to rolling them into the Grav codebase in one fell swoop. Today was Merge Day, catching up with the changes in TGE since September 3.

I'm pretty obsessive-compulsive in merging methodology. I've tried several different approaches; my current process goes like this:

- Bring up the TGE changelist ... this is a great resource.

- Referencing the TGE changelist, make a text file that organizes all of the changed files by directory, listing the changes for each file since my last merge, with similarly-changed files grouped together. Got to keep in mind that some files may have been changed more than once in that time.

- "cvs update -dAP" in the torque tree. Note the displayed list of changed, added, or deleted files, and make sure that that matches exactly with the info from the TGE changelist web page.

- Now I work my way through the list one file at a time. Generally I take them in order on my list, but sometimes I'll skip around to take care of related changes... as long as I mark each file on the list as I complete it, no worries. For this work I use three separate windows.

- In the first window, I open GG's version of the file in an editor.

- In the second window, I check the cvs log for GG's version of the file, to make sure that it corresponds with what I think I know about the changes that have been made to the file. The I do a cvs diff to see what the changes consist of. Today, for example, I was doing "cvs diff -D Sept3 filename" to see all the changes since my last merge. Then it's good to take a minute to examine the changes to see what's going on.

- In the third window, I do a cvs log of the Grav version of the file to see if I've made any local changes to it. Any cvs commit messages from merges are clearly marked because of the format I use for those. If there are no changes, or if they are all from merges, I simply copy the GG version over the Grav version, done. Otherwise...

- If I have local changes, there are some cases where I could do an automated merge safely, and some cases where I could not. Many of the cases where it would be safe, are simple enough that it would be just as easy to do a manual merge. So I just always do a manual merge... sometimes applying my local changes to the GG version of the file, sometimes applying GG's latest changes to my local version. This is obviously the touchiest part of the process, but I've done it enough to develop some methods that I'm sort of happy with.

- Then it's time to commit. I can pretty much use my original list of changes verbatim for commit messages.

An advantage of a hands-on merge approach is that I'm doing at least a light code review of the TGE changes, which keeps me au courant with the state of TGE (and can occasionally trap some TGE bugs -- caught a couple of teeny-tiny ones today).

The downside of course is that it takes time, so I didn't get much else done today. Fielded a minor change request from one of our arteests. Also got re-acquainted with the Project Manager for TGE... there hasn't been much motion there since I last looked in, I guess that's lucky for me. :-)

And I have a lot of catching up to do on the forums; I think I'll need to take that in small doses.

---

Today's accompaniment for keyclicks:

"Straight No Chaser", Blue Note Artists
"A Cappella", Todd Rundgren
"All Hands on the Bad One", Sleater-Kinney
"Supersax Plays Bird", Supersax
"Security", Peter Gabriel
"Alien Encounter", Masada
"James Morrison at the Winery", James Morrison
"Oh Good Grief", Vince Guaraldi

Recent Blog Posts
List:06/16/04 - Plan for Joel Baxter
11/26/02 - Plan for Joel Baxter
11/23/02 - Plan for Joel Baxter
11/21/02 - Plan for Joel Baxter
11/20/02 - Plan for Joel Baxter
11/19/02 - Plan for Joel Baxter
11/15/02 - Plan for Joel Baxter
11/14/02 - Plan for Joel Baxter

Submit ResourceSubmit your own resources!

Tim Gift   (Nov 12, 2002 at 17:02 GMT)
Sounds like work is starting up again on Grav :) Looking forward to seeing something new on that project!

Joel Baxter   (Nov 12, 2002 at 18:41 GMT)
IGC was helpful in (among other things) getting us re-juiced for Grav work. First of all for the obvious reasons... getting to spend more time with the GG folks, meeting other "indies" (some of whom were already net-acquaintances), and getting ideas from the presentations and discussions. Also it was particularly good to get hands-on and eyes-on time with some of the other TGE projects, for a couple of reasons:

- Reassurance that we've hitched our wagon to a potentially viable technology/community/businessplan.

- Motivation for a littly friendly competition. :-)

Plus we've now got some of our personnel back from issues that were keeping them fully or partially away from the project.

So, onward.
Edited on Nov 12, 2002 18:42 GMT

You must be a member and be logged in to either append comments or rate this resource.