Wednesday, February 16, 2011

Yahoo Chat: A classier kind of turing test, part 2

lachellepollard598 :
im so bored.. wanna chat?

Me:
charges

lachellepollard598 :
Yay someone to talk to !! how are u? I found your name in the yahoo online members search

Me:
...

lachellepollard598 :
my roomates just stepped out I only have a little while alone... are u alone too? we should cam2cam .

Me:
...

lachellepollard598 :
K here's the link to my cam it's http://URLREMOVED go there and you should see me, just click the join free tab on top of the page, I use this site cause you can't record it like on here -- my dad would kill me if he found out I was doing this kinky stuff on his computer lol

Me:
charges

lachellepollard598 :
umm, why would you get charged babe? I'm the one with the premium membership..I can invite anyone I want to a cam session

Me:
charges

lachellepollard598 :
LOL aw you're cute.. well can u see my cam it was giving me trouble earlier but it looks ok now? oh I hope u dont mind chatting with a kinky girl!

Me:
charges

lachellepollard598 :
yeah i'm horny lolz! u? Wait you're not a stalker are u?? LOL

Me:
bitch

lachellepollard598 :
sounds like the only bitch here is you! haha

Me:
bitch

lachellepollard598 :
yeah i'm horny lolz! u? Wait you're not a stalker are u?? LOL

Me:
bitch

lachellepollard598 :
Mhhm u never know lol I have to make sure! babe u sound confident I like that .. maybe we can trade phone numbers after we chat on cam ? I'd love to...

Sunday, February 13, 2011

Drink to your Name

Take your key I'm on my way gimme a smile for the road
the sex was always awesome but the dinners were too cold

keep my number in your phone I'll put your face on a card
I'll drink fondly to your name with every shot at the bar



Drink to your body and your jacket and the way you take your chair
I loved the sweat drops and the candles and the tangles in your hair


Every time I made a joke you got a better line on me
Thought I had you figured out I did not know what we could be


Shot for the sugar in the morning and the poison late at night
and the shocking show of anger right when you're about to cry


Drink to the movies and our music and the racing games we played
and to secret stubborn strength hidden by icy outer shades



There was nowhere you could hide but always things I couldn't see
always finding parts of you that were fantastic mysteries


I love the way you hold your eyes and the way you do your hair
you're a bitch, you're a goddess, you're the reason I despair




The real reason I wrote this song is I was practicing my guitar and didn't feel like working on these chord forms things and started just messing around.  These lyrics are intended to be sung all in one breath, to some weird catchy song that I can't remember.  They are about the end of a fictional relationship that I never had, but which was yet based on a relationship I did have once, with a girl who I stayed up until 5 am with trading text messages that had an average of 10 minute round-trip latencies before falling asleep and getting up early this morning to go skiing in heavy, melting moguls that destroyed my quads.  I want to post these lyrics on facebook so that girls I am acquaintances ("facebook friends") with will read it and think I am one of those sensitive guys in romantic comedies.  Unfortunately, this girl would read them too, so, that's out.  Oh, but back to the...this stuff:

Its easy to look back and be all like, "yeah I should have done this."  Instead of what you actually did.  That works for some people.  Some people collect failures, like the rejection notices Stephen King used to hang on an old nail or something, and that works for them.  Maybe it makes the final success all the sweeter.

Another way you can look at it though, is what would have happened if you hadn't done anything. What if you had stayed home that night?  What if you had given up?  What if you hadn't taken the enormous risk?  Maybe everyone does have that one mistake they made where it really would have been better if they stayed home.  But all the others?  The alternative is to have had nothing all along.  So the next time I see the ghosts of my past in the in my doorway, here to remind me of what I'm missing out on, I'll remember that they are better than nothing.

If fact, the best of those memories were unplanned and unexpected.  Shots in the dark.  No amount of planning or analysis could recreate them.  I know because I've tried.

404















This post intentionally left blank.















































_

Good Intentions

whirlpools stretch to the bottom
swallowing the wreckage
I sunk with my tongue

some red paint on the street
guides wild vines of people
in loose flock formation

I search among them finding no air--but
blades of grass shaped like a boot heel

phones ring, nothing is said
its just a replay
you should know what happened

you were there

Tuesday, February 1, 2011

Nancy Drew and the Case of the Missing Workflow

I signed an NDA with my company, so we're going to have to use an analogy for this situation.  We'll make this fun.  Here's the deal.  You may have heard of the Space Marines.  Space Marines are the most baddass of all fighting forces both real and imaginary.  In fact they are more baddass than Chuck Norris and all of the United States special forces combined.  Let me describe a typical day of a space marine:  They get up.  They get into a drop pod and fall from outer space all the way down to the planet surface, "landing" with a big explosion in the middle of a battle.  Then they burst out of the new destroyed drop pod, guns ("bolters") blazing against an enemy with superior numbers.  Then they each lunch.

Here is an image of a typical space marine, courtesy of some guy named Neoshin:


Anyway, wow.  This has like...nothing to do with work.

Ok.  So.

I work in the...ok, lets say that space marine commanders use an online web interface to order these drop pods of marines down onto the battlefield.  Does that sound ridiculous to you?  Do you think I'm making a joke?  If so, you haven't worked in the defense industry.  But I digress.

Definitions

So I work in the place where we satisfy these requests.  We'll call them "orders."  A commander "orders" a hundred space marines.  Lets assume that a space marine drop pod carries a maximum of ten marines, because I'm not looking that up.  A hundred marines thus requires ten drop pods.  We'll call them shipments.  Every order of marines has one or more shipments of drop pods that they land in.

The system that I technically no longer work on, keeps track of the state of these orders and shipments (technically, thats not true, but we're pretending so to keep this explanation simple).  For example, the marines have to like, put their helmets on, and then they have to walk down to the...to the...drop pod deck (?) and then they have to get in, and put their seatbelt on, maybe a quick trip to the restroom, and then we lock the drop pod doors, and send them out.  There are a lot of steps there.

Mystery

Man, this is going to be so anticlimactic when I can finally explain what I fucked up.  Ok, so, anyway, we track this shit using something called a "workflow."  We have a workflow for sending out the shipment (drop pod), and, if a commander changes his mind, we have a workflow for canceling the shipment (drop pod).  You know, canceling a shipment means opening the door, and getting them all out, maybe hosing down the inside because it problem smells, etc.

Obviously, if a shipment sending workflow is running (in the middle of loading up a drop pod) and we want to run the shipment canceling workflow, we have to stop the shipment sending workflow.  I.E. in order to get all the space marines back out of the drop pod, you first have to stop sending them in.

Ok.  So. Also, we fulfill a lot of drop pod orders.  So many, in fact, that we need to use multiple databases to store the workflows in.  This makes no sense in the space marine universe because a space marine chapter never has more than 1000 members* but just go with it.  Also, space marine orders and these drop pod shipments both have these numbers, which I will call MarineIDs and PodIDs.  These numbers are used to easily identify the total group of marines, and each drop pod they go out in, respectively.

So, for reasons that you don't need to know about, I...improved...a script that sends cancel requests.  Before, you needed to know the MarineID in order to cancel a drop pod shipment using this script.  I improved the script by making it look up the damn id itself.  Thats the kind of thing these stupid computers are supposed to be doing for us.  I also did one other itty bitty change:  I modified the script so that it could read in the ...PodIDs from STDIN.  For those of you programmers that don't know what STDIN is....please fall in a well and die.

So, that sounds awesome right?  I thought so to, and I named my new script "start_ship_cancel_awesome" in honor of my awesomeness.  And here's the key:  it worked for me.

Then my buddy tried to use it...on...a different continent.  Yeah, I know.  Marines were fighting Orks all over the planet, or whatever.  I am sick of this analogy.  Anyway, so my buddy here uses my awesome script for a small number of shipments.  The drop pod shipment workflow got canceled, and the record of the drop pod was deleted.  Thats normal.  Except...there was no record of the cancel workflow running.  It just...it ran, but it was like invisible.  This is highly unusual because we designed our system to create a record of the workflow before it runs the workflow.  In other words, you can't run a workflow without having a record of it.  I started thinking maybe I should rename my script to "stealth ship cancel."  A nearly identical script--the version without my improvements--did leave a record of the workflow.

Hours, and a number of database sessions later, we discovered the culprit:  The script was written in Ruby.  Ruby is the scripting language here that everyone loves, because its like great or something.  If you want to know why, I can introduce you to some geeks I met at a party this one time.  Anyway, when you read from STDIN in Ruby, Ruby does not strip off the newline character at the end of the line, like every other fucking language on the planet does.  Normally, when you say "give me the next line" to a language, the fact that the line ended is kind of implied.  You don't also need a newline character to remind you that the end of the line you're looking at is the end of the line you're looking at.  Its not like you're going to say "give me the next line" and suddenly get three newline characters.  It doesnt happen!

Thats like...thats like going to the grocery store, and putting your groceries on the belt, and then someone comes in behind you and puts down that little plastic divider, and then puts their groceries on the belt.  And then the stoned out cashier rings you up and bags your food and also bags the little plastic divider.

Long story short, that extra divider, which we here like to call "\n" got included on the id field.  For example, "pod123" suddenly became "pod123\n."  This changed something magical called a "hash value," which in turn made it get stuck in the wrong database partition, so that no one could find it.  The workflow still ran, though;  the extraneous new line apparently didn't bother anyone else.

So the missing workflow was found.  Case Closed.




Whats the moral of the story?  Chuck Norris is a wimp.



*I've just realized how pathetic it is that I know so much about a game I've never played.