Captain’s Blog: Blue Marble

2009 June 7
by Jonas

Mission Date: O years, 224 days

We’ve hit a milestone today! Due to complex nature of gravitation slingshots, we’re passing Earth for the second time today, more than half a year into our journey. Today’s flyby is much faster than the last. About half of the crew gathered in the observatory to watch it fly by over the course of about fifteen minutes or so. Truly a majestic sight, passing between the moon and earth. At these speeds you aren’t able to judge distances, the planet doesn’t feel any further away than a mountain on the highway. It’s the last time any of us will see the blue marble with our own eyes. Simply breathtaking.

Maybe I should get some introductory stuff out of the way. I’m the captain of a colony ship en route to Alpha Centauri, the UNSS Ennui. It should take roughly eighty years to get there, which makes this a generation ship. I, however, fully intend to still be alive when we arrive to bring humanity to the stars!

Aside from our last flyby, an odd thing happened today. About 15% of crew members called in sick, and another 10% simply didn’t show up for duty. Normally I’d be concerned about some sort of space-plague, but we have a sort of explanation: over the last two days, every last one of our escape pods has gone missing. When about half of them were gone, security was ordered to put the remaining pods under guard. Now all of the pods are missing, along with a disproportionately high number of security personnel.

Oddly enough, none of this would have happened if anyone had read the memos. Our velocity in relation to the Earth was very, very high. Far higher than the delta-v escape pod thrusters can achieve. This was all in a crew wide communique, which apparently nobody reads. Apparently nobody payed any attention in the mandatory orbital mechanics classes either. I think there may at least be a silver lining for the eventual human population of Alpha Centauri, in a Darwinian sense.

I need to decide what to tell the remaining crew members. Since this was our last Earth flyby, we don’t need to worry about this happening again. What we do need to worry about is keeping morale up. Which explanation for their disappearance would be worse for your personal morale, that a large number of your coworkers escaped successfully, or that all of the escapees certainly died and the beautiful meteor shower you witnessed this afternoon in the observatory was thanks to their sacrifice?

I think I’ll go with space-plague.

Captain Richards out.

Blogkeep

2009 June 1
tags:
by mcgrue

Hello fellow Bloodpact Bloggers!

This is just a maintenance post.  Ben Mathes asked me to remove him from the aggregator a while ago (so that he may journal more), and I just got around to doing it.

And in so doing, I got to wondering: does anyone else still really use this rss?

And after a smashing meal last night with several of the old ‘pact, I was also wondering in the complete opposite direction: does anyone want to go another round?  Either with the old grindmill once-a-day rules, or perhaps a more leisurely variant on the gruedorf rules?

Poetry Moment

2009 May 15
by mcgrue

A limerick’s structure’s sublime
its formula will, every time 
make you groan while you groan 
with a poem in your poem 
Because yo dawg we heard you like rhymes

(source: this guy)

Forever Forums.

2009 April 28
by mcgrue

I foolishly regret saying the end of my work on the beta.verge-rpg.com forums was, in fact, nigh.

I am getting close to done.  It’s just that the management of forums also requires work on the teams/games sections of the website that I was hoping to put off until later.

Here’s a list of things accomplished since my last post:

  • Added uservoice to the layout of beta (and production!) for feedback.
  • Generalized forum displaying.
  • Added forum url_key setting.
  • added /forum/find (so you can find forums you’re allowed to see, and add them to your main listing)
  • added breadcrumbs to the forums.
  • created functions to list all visible forums to the current user.
  • Added SEO stuff to the template.
  • Added nofollows to links that performed actions rather than showing pages.
  • Updated to YUI 2.7
  • fixed an annoying bug where a forum with no messages (ie, a newly created forum) wouldn’t render at all.
  • Created a service to look up usernames that was integrated with a YUI autocomplete widget.  This’ll mainly be of use moving forward with the team creation page.

Currently on revision 225 in the SVN repository.

The good news is that I have more time to work on this, as my train-based commutes now let me think and hack!

The bad news is I am like a week late with this Gruedorf post :(

Collected writings of disease

2009 April 24
by Jonas

A few things that’ve been percolating nicely in the drafts repository.


It hurts where I LIVE

You know you’re retarded sick when your eyes hurt. That’s right, retarded sick. I’ve been sleeping all day, my nose is stupid red, an entire roll of toilet paper is crumpled up into little wads next to my bed, and my body can’t make up its mind what temperature it wants to be. Right now I feel hot AND I’m sweating, a rare bit of consistency from an otherwise barely functioning wreck of a thing. Too high, you say? Well fuck you, body. You wanted it hot, and that’s what you’re going to get you son of a bitch.

I catches me off guard that I can’t talk. If you go a good 12 hours without speaking to anyone it suprises you when you try and find you can’t.

It occurs to me that this might seem like I’m begging for pity so let me explain how my life is still better than yours.

a smile and an erection

First off, location, location, location. I get to be sick as a dog in NYC. If there were a place in the world to not be able to enjoy, NY is the one you’d get the most non-enjoyment from. The awesome job I’m staying home from, and that isn’t paying me while I do, is also awesome.

The one time I left my house today I went to the grocery store and bought about $25 of canned soups. Why? Because my mommy isn’t going to make soup for me on account of being thousands of miles away. She doesn’t even have to know I’m sick. You know what freedom from parental nagging tastes like? It tastes like Progresso Vegetable Minestrone. High in saturated awesome.

So don’t cry for me Argentina. The truth is I wrote this months ago and I’m healthy as all fuck now. The cans of soup that once filled my cabinets are a distant memory, and instead of a painfully dried out mouth in the morning I wake up to a smile and an erection.
  read more…

A Whole New Paradox!

2009 April 23
by mcgrue

I’ve been watching a lot of Disney’s Aladdin this week for someone who’s pushing 30 and has no kids.  I rented the special edition and watched all of the comentary tracks.

Even though A Whole New World won the best song oscar for 1992, it’s not my favorite song by far from the movie (One Jump AheadPrince Ali, and the Prince Ali Reprise (the only time Jafar sings) are all clearly ahead).

The thing that always annoys me when the song comes up is in the following line:

Unbelievable sights
Indescribable feeling

…You just described the feeling as indescribable! This feeling wasn’t as indescribable as first advertised, was it, Jasmine?

I really do wonder if this would’ve annoyed me before I’d read Gödel, Escher, Bach, though.

speaking of bitches

2009 April 12
by mcgrue

Speaking of Bitches…

James:
speaking of bitches

James:
I just found out in the sequel to that talk you sent me that women find different things attractive when ovulating.

Ben:
yeah

James:
not ovulating: nice guys
ovulating: muscly aggressive guy

James:
those whoresome whoring whores

Ben:
whoremones.

James:
fuck you evolution!

of course we carry that genetic code too, in hopes that our daughters will act in such a terrible way as well!

…those hypowhorical whores

it’s like, that’s it!

I’m a creationist now

this kind of thing cannot be tolerated

…hey Anna is online, sweet.

read more…

Gruedorf means never having to say “I win!”

2009 April 12
by mcgrue

…but at least I’m not losing again for the moment!

Although I had a series of disractions (got sick, moved, had several time-sensitive periods at work, went to GDC, and went to Rhode Island to see my girlfriend twice) I still have managed to get a clip of vrpg work done.  Revisions 199 through 215 were all done since the last post.

Major milestones passed are: bbcode mode switching (new posts use bbcode, old posts don’t, even if edited), and custom forum creation.

Next up is forum management (adding/removing admins/mods/peons, changing details on forums you admin, changing your forum notification preferences), and searching for non-standard forums.

And then the forum stuff will be over (for now).

I’m going to sleep now and see how much of that list I can plow through when I wake up.

A simple question

2009 March 26
by Jonas

If hurricanes always rotate in the same direction, how does a telephone work?

Tobias

Holy fuck

I’ve never thought of it that way

Ben

what ?

Split-Testing and Late-Night Coding

2009 March 5
by mcgrue

Experiments!

Split Tests are a very powerful way to determine if a thing you are doing is in your best interest or not. If you aren’t familiar with A/B tests, the very high level is that you show half of your users one thing, half another thing, and you compare the results of each set of users.

Humanity

One of the more mundane, human problems you can run into as an engineer is tiredness. Tunnel vision sets in, and you focus on specific tasks. If you’re solving a complex math problem, you make an arithmetic error. If you’re a coder not using TDD, often you’re running into syntax errors or the like.

These things happen.

Process

At IMVU, we deploy code fifty times a day. The code you just wrote goes out to the production cluster without waiting for QE people to sign off on it, or for your manager to approve it.

Engineering under TDD acts like a blanket to shield you from a lot of problems. You know from the get-go if you broke something in a more interesting way (assuming said interesting way was protected by a test). The tests exist to protect you before you get near the production systems. A failed test on your buildbot is a good thing, because that’s a broken thing your customers never had to deal with. As someone who had jobs where he was tacitly encouraged to code untested fixes on the fly on the production machines in other jobs, this is a godlike boon.

However, things go wrong, and sandboxes and production environments still can disagree! This is why the final step of pushing code live to a production server is always, always, always verify your change manually out in the live website.

And if it’s not verified (or if your change breaks things in very unexpected ways, causing die spikes or high database load or the such), to revert to a previous known good state and investigate further.

Moral

Now that all of the background for tonight is set up, I’ll skip the actual stupidity, and jump straight to the conclusion:

When testing a feature wrapped in a spiffy-keen augmentation of an experiment system live, please remember to take into account that you have a 50% chance to land in the “nothing happens” side of the experiment. This will probably save you a lot of trouble.

It was a pleasant surprise when I looked up to see a wonderful forest around me. I’d just been staring at this one tree over here.

The other kind of Restful

The fun part is my team’s Quality Engineer, who was familiar with this feature and had tested it in production live before, was also up working. He didn’t catch the obvious either, because it was so obvious.

Say a human has a 10% chance of making a mistake/forgetting something obvious. Say he’s got a pairing partner with the same ratio. Assuming an ideal world, you’ve reduced your net error ratio to 1% by having another dude on the case with you. Yay pairing!

If both dudes are tired, their error rates go up, and even pairing, you still have a higher chance of fucking something up. Boo tired!

…Perhaps there’s a better moral than the one listed above hidden in here?