Thursday, December 27, 2007

code/book 1.2: Expanding On It

Update time.

You can now hit a button to reveal a list of players for each game. The current player is marked in bold, and defeated players are marked in gray. Plus, the expanding is nice and animated, thanks to Dashcode's AppleAnimator.

This part took longer than I expected, as most of my work on the widget this week has been towards this feature, mostly, due to rewriting.

Also, I had to redo my handling of updates to prevent the widget from resetting the view. I guess it was about half and half between this and including more game info, work-wise.

Anyway, here's a new pic.

Sunday, December 23, 2007

Let It Snow

Three hours on the road, including fifteen minutes in a ditch.

And I didn't even get to Topeka.

So let the damn thing snow.

Saturday, December 22, 2007

code/book 1.1: Great For the Confidence

It's nice to finish working on a project, to put it away for the day with a sense of accomplishment instead of one of frustration. These past three days, I've come away from working on Dashwar content in the notion that I had implemented all I desired. It's such a contrast from working on my other, bigger projects, where most days are ended due to a general feeling of fatigue, a hope that a good night's sleep and a bit of distance will present a bit of clarity or insight into the unyielding, ever-growing issues of the day.

It's strange, though. Regardless of  how I leave, whether in victory or defeat, I still feel the same yearning to get back to work. Instead of a thirst for revenge, a need to prove my domination over all that is code, I come back to Dashwar with an eagerness birthed from a sense of exploration. I've done this much so far, what else am I capable of?

Anyway, here's what great, new heights I've reached. Pretty modest, but I'm still pretty happy with my first efforts in JavaScript:
  • Get User Info - The first thing I did was display the username, account type and score for the user.  Once I muddled my way through relearning how the DOM works (remember: firstChild), implementing the display was cake. Even displaying the profile image was easy.
  • Display Games - Using the Headquarters XML file, I was able to get a list of all current games. I was able to make a scrollable list of games quickly, save for a view display problems. It seems that with all these elements with dynamically calculated dimensions, trying to refresh the scroll area when it isn't displayed isn't of much use (read: refresh when you show the front of the widget). Finding out why the thumb for the scrollbar wasn't showing up was most of my yesterday.
  • Show Waiting Games - With a hit of F12 and a quick glance, I can see where my next turns need to be taken. Waiting games are highlighted in yellow and display the handy message icon that Weewar.com uses.
There are a few other, minor details (clicking a game name takes you to it, clicking your username brings up your profile, etc.), but the main points are there. Like I've said, I'm eager to get back to work on Dashwar, so I'll wrap this up with a little visual preview of the fruits of my labors.

Friday, December 21, 2007

code/book 1.0: Dashwar

In an effort to fill the void that my blog has become, I've decided to actively seek out topics for exposition, not so much to express my opinions, but to sort of cogitate by exposure, exploring my thoughts by revealing them to the public. Since I do little else in my free time than code and game, I guess it follows that I'd want to ruminate on one of those two subjects.

As such, I've decided to take a stab at chronicling my attempts at programming. Maybe articulating my experiences will help reveal solutions to persisting problems. Perhaps reader comments on my endeavors will help to motivate me in completing my projects. I don't know; I just want to put this Blogger account to use for a change.

So here it is.

code/book 1.0: Dashwar

Whenever I get the chance (and whenever my turn is up), I like to get in a few rounds of Weewar with friends. The problem is, I've yet to find a way to efficiently keep me informed of my martial obligations. pyWeeStatus freezes up on occasion, and I've yet to get WeeHQ to work for me. Now, I'm sure a quick email correspondence between me and one of the developers of these utilities would fix the problem, but that's just too easy.

With the release of Dashcode, I've been meaning to try my hand at making a widget. I've done web development before, but very little of it involved JavaScript. Learning a new language seemed a bit daunting, but somewhat necessary, what will the advent of AJAX and all.

Taking my need for a notification system for Weewar and my desire for a little JavaScript education, I've decided to make Dashwar, a Weewar Dashboard widget. As it stands, I have a few expectation for the final product.

  • Show Games Needing Your Attention - This is, of course, my main goal. At the very least, I have to see which games are waiting on me.

  • Show Game Details - If a games is not wanting on me, it would be nice to see who the game is waiting on (so I can yell at them), as well as who's playing and who's been knocked out in my absence.

  • Growl Notifications - I've been meaning to learn about using Growl, and this seems like a good project to test the waters with. After all, activating Dashboard takes some forethought. I'd like the computer to tell me to play without being asked.

Hopefully this is the start of something interesting. At the very least, I'll get a few posts out of it.

Wednesday, December 19, 2007

Post, post, post.

Let's see how long this lasts.

Now that the semester is over, I'm getting around to doing all the non-school related stuff that's been bogging down my to do list. In addition to plugging my webcam back in, I will also be making a conscious effort to post more, especially now that I have a few ideas for recurring topics. Some of them are gaming related (and not only of the video variety. Gasp!) and some will be regarding programming. Hopefully I have the time now to actually play video games, code and write intelligently about the experience.

For now, you can catch me twittering ever so often. It's occasionally interesting.