Jay McGavren's Journal

How a Head First author spends his days off

View on GitHub
2008-03-14

I saw this and my jaw dropped… I thought “not only are they using Zyps in Poland, but they’re coding soccer simulations?!”

Zyps po odbiciu

Well, no. My best guess is that there’s a Polish soccer star whose last name is Zyps. :) Hope that doesn’t cause search conflicts later.

Read more...
2008-03-12

Been using GMail tags as my GTD folders, but that approach is showing its weaknesses… Too many extra clicks to remove or recategorize something.

I set up a free Nozbe account, but haven’t done anything with it because I’m not about to re-add all my tasks to a platform I’m not even sure I want to use. Fortunately, I just discovered their “add tasks by e-mail” feature. I copied the subjects from the GMail tag summary page, appended an (@ context) and/or (P project) tag as appropriate, and boom - there they were in the appropriate section of Nozbe.

Except that half got plopped in the generic inbox because the task line was too long. They’ve promised to fix that, but my faith is now shaken, especially since individual categorization is going to be even worse than via GMail.

The API might be a cure. I’ll add a client to my personal library if I really start using Nozbe.

Read more...
2008-03-10

WordPress - Your Source For Too Much Information...

Note to self: never, ever get the macaroni salad from the cafeteria again. I probably could burp my A-B-C’s right now.

Read more...
2008-03-10

I can't let you do that, BEA...

From Programming Ruby:

$ ruby -e "puts ['H', 'A', 'L'].map {|letter| letter.succ }.inspect"
["I", "B", "M"]

Ah, nerd humor… :)

Read more...
2008-03-07

Gods bless Massive Attack's “Dissolved Girl”.

Especially the bridge. THUMP-THUMP-chik-a-chik-THUMP THUMP-chik-THUMP-chik. Rage itself encoded as audio. I want to build a Flash gallery and take a bunch of noir photographs just so I can loop that as the background.

I was also amused to see that “Teardrop” got used as the title theme for House (the medical drama).

Read more...
2008-03-05

Ahhhh...

Typing this from our new Dell Inspiron 1501. (“Mini Me”.) Got here via “open new journal entry”, from my speedily working Enso installation, using a shortcut created by my working Ruby installation from a config file stored in my fully-preserved $home folder. All without bluescreening once.

We still have 360 glorious days of warranty coverage, but just in case, I checked their out-of-warranty options - $160 to repair any problem outside of the mobo or LCD.

Lappy486 failed the very same week that its warranty ended, and Acer won’t touch it. We knew we were taking a risk on it, but damn, we didn’t think it would go that badly. Frankly, I’m done with all brands besides Dell and Apple until the field changes.

Read more...
2008-03-05

Was listening to a recorded talk about helping tech types relate to ordinary people, and the speaker broke an ordinary person’s life down into stages and priorities:

-Teenager: friends -Twentysomething: sex -Thirtysomething: family (friends drop off) -Fortysomething: contribution to society

The speaker put particular emphasis on that point - I guess it’s a common phenomenon for friendships to fall by the wayside once family enters the picture. Most of us are squarely in that thirtysomething group now, and yes, our friends are taking a back seat.

I just want you all to know that I’m not going to disappear altogether, and I don’t want anyone else to, either. Family won’t be the top priority forever.

Read more...
2008-03-03

Ain't they cute?

view = TrailsView.new(
	:width => WIDTH,
	:height => HEIGHT,
	:scale => 0.5,
	:origin => Location.new(-200, -100)
)

scale_origin.PNG

This is another prerequisite to a 2D shooter. Scrolling should be a matter of:

View#origin.y -= SCROLL_RATE * clock.elapsed_time

Some kind of factory can spawn enemies from a YAML file as the player approaches them, and delete them after he passes them.

Read more...
2008-02-29

creature.name = ‘Neo'

A huge feature I’d always meant to include in Zyps but had thus far left out: bullet time. On a whim today, I tried adding it, and it took all of 2 minutes…

class Clock
	def initialize
		@@speed = 1
		reset_elapsed_time
	end
...
	#Returns the time in (fractional) seconds since this method was last called (or on the first call, time since the Clock was created).
	def elapsed_time
		time = Time.new.to_f
		elapsed_time = time - @last_check_time
		@last_check_time = time
		elapsed_time * @@speed
	end
...
	#Speed at which all Clocks are operating.
	def Clock.speed; @@speed; end
	#Set speed at which all Clocks will operate.
	#1 is real-time, 2 is double speed, 0 is paused.
	def Clock.speed=(value); @@speed = value; end

So far it seems to Just Work, but I have a lot of unit testing ahead before I’ll declare that with confidence.

One other enhancement I may try is the ability to set a Clock instance’s speed in addition to the global speed. So you could pick up a power-up and suddenly be moving twice as fast as your environment or some such.

Read more...
2008-02-28

Die, die, die!!!!

Presenting ShootAction:

shootaction.png

Read more...
Copyright © Jay McGavren.