2 Games I made in jest

Walken: The Fish with No Chance. 

During secret santa at my company last year, our UX Director was given a fish. A live fish. Do not give fish as a gift, even to small children. Shockingly it died over News Years. I made this game over the course of a couple weeks at night to commemorate this lost fish and to pay homage to the same company's Window's Store game Newton.

The Moutains of Meaninglessness

I had been reading a lot of apologetics and Russell last year. My company was building a demo for Microsoft to promote HTML5 game dev for the Windows 8 store called YetiBowl. Having a little fun with the pereception of Russell, I made this while going through some episodes of 30 Rock.

By the way, there's a bunch of bugs. But JEST!

Why I bought R.O.B.

I own lots of old vintage computer and gaming stuff. It's something I'm into. I like simple systems that are easier to wrap my head around. There's a charming simplicity to it all.

ROB - the Robotic Operating Buddy - is a piece of shit I have no interest in every getting my head around. 

ROB is an additional controller that hooked up with the original NES. He even came with system if you paid a little more. He basically only plays two games - Gyromite and Stack-Up. Which suck as well. The professional below bitches much better about the awfulness and absolute unplayable nature of these games. Specifically, because of ROB's failture to work correctly or time his motions right with the the game.

So why buy it? Because I've always wanted it. Seriously, back in the day, I really imagined that ROB actually had some of sort of personality to him and would be this super smart robot who would advance my pretty pathetic gameplay. If you watched the video above, obviously that wouldn't have been the case. Nostalgia sets in deep, I even have the The Office Nintendo Player's Guide, which lists a category of games know as the "Robot Series." Guess what - it's Gyromite and Stack-Up.

 However, I did want ROB for another reason. I like to see the faith people had in technology and the exploration it took in the past. ROB may have been quickly rushed to market to add novelty to a system that would be forever praised for its basic elements: games and square controllers. Call it desperation or Nintendo thinking kids will buy anything (guess they were right in my case), but holding ROB now, I know that, someone years ago thought that this was where games and human interaction with computers may be headed. 

Perhaps that's a little idealistic on my part, but I've been one of those people my whole life. Less so now, but I looked at games like Burncycle and I imagined the possibilities of such a medium.  

I didn't by any means think that it was the only and end of development, but it allowed me to really think about where I thought technology was going. It was a good practice. I still think of ads for games and movies that I knew nothing about and where I imagined their plots, most of the time, the actual plot (sans my idea for Jurassic Park) I enjoyed more.

When I looked at my lifeless ROB (I couldn't really afford a working one), I see the start of that process for me. I know it's nothing special, that quality, or even collecting for nostalgia's sake, but those reflective eyes remind me, not of a carefree time, but a place where I was forced to imagine the possibilities rather than be disappointed by their implementation. 


The worst waste of time is my exceptionalism. 

This is a two-fold:

The first component is my use of exceptions to excuse poor behavior. Oh, I worked late the other night, well I probably deserver to stay up all night drinking whiskey watching AVGN videos for the 400th time. I'll make an exception. Just this once.

The second part is assuming that I'm exceptional, by which I'm mean, espeically good at what I do or smart. That is irrelevant, though I'll just save myself some mockery and say I'm not either. Rather, imagine that you had an sweet truck and a bunch of dope ass ropes and shit. You agree to help someone move and don't show up till 10pm because your truck is so bitching as if it would compensated for their requested rendevous time of noon. That's what I do.



Deepity is a new term for me. I've grown rather fond of trying to identify them in my daily life. Unfortunately, I believe I'm the number one source of them.

A collision of discussions about business opportunities and this term, made me start to look for them in software development, or rather the business component of software.

Starry-eyed programmers may dream of creating a Facebook or Google, and may have, in an attempt to align themselves with these giants, developed some nebulous idea for what their billion dollar company will do: "Connect", "Engage", or "Expand".

Fortunately, software really brings this to deepity practice to a halt. Software and its many development practices, asks the question right up front - "What is this going to do?" Or some variant like "What's the deliverable?" "Lay down the starting feature set?" Even without wasting your time building up user narratives or ideal user scenarios, your confronted with the limitations of deepity.

Thus here comes my didactic - If you can't lay out exactly what your billion dollar software will do in these simple terms, you can't program it and you don't really have an idea. You have something that sounds right  - "People need to connect" - but doesn't really provide much value. 

So yeah...work on that, and make sure to throw that in the face of the every hundreth person with a start up idea.

Revising Stories with Rails

I love rails. I love that I can sit do and just sweep through the model layer, building out all that abstraction for an applicaiton within a couple hours at most. Likewise with the view layer, using the prebuilt urls (new,create,show,edit...). Reusing partials throughout, so I can take a static site and use some of the partials to build a dynamic one. It's fucking beautiful.

That said, when I first got into Scrum and was looking out building stories within the rails framework, it occurred to me that a lot of what made rails fast for development didn't exactly work for how I was writing stories. So I had two choices - change how I developed in rails, or changed how I wrote stories. 

Well, it was obviously not going to be the first, so I changed the second. The main change wasn't so much the stories themselves, but the expectations that followed teh stories.

For example: "User can save a new contact." Off the cuff, this sounds like it would require a build from the model to the view layer, especially if the contact form was actually a lightbox or some pop-out, which would require some JS/CSS magic. Rails exposes that this may be a too big of story, or maybe that I need more backlog items in order to actually cover it.

Here's what I built instead:

- A new contact can be saved.
- A user can save a contact through a webform.
- Webform is integrated into the dashboard and a user can save there dynamically. 

How the last two make sense as added features and they fit with my eulogy to rails above. First I build a form using the standard new template, then I render that as a partial once I get to dashboard integration. In this situation, I can do tests against the form, and leave all the work of the final feature to template/visual work rather than submission/controller work. 

Finally, the first feature, segregates the model work to its own feature. A great way to confirm this functionality is to lean on the Unit test system that comes with rails. Now I could theoretically put all of my model tasks into one sprint and have verification of my feature, with the additional benefit of always having the ability to easily do regression testing. 

Clients may not find this as sexy, but I think most folks get that setting up saving is the first step in building an application and the UI comes next, even if all you have to show (if required) is the console confirming save and data retrieval. 

I don't understand military and rank

If you watch Independence Day, you'll notice a side character who appears in most of the scenes in the ladder half of the film - Major Mitchell.

It's Adam Baldwin (Jane from Firefly) and apparently this guy does everything in the military - he's initially the Air Force liason to the President, then he's helping corale pilots, and then at the end he's driving the jeep to go pick up Ian Malcolm and Will Smith. Simple question - the hell is this guy's job? If he's the President's liason, why is he later driving the jeep? Doesn't he have other work to do? Maybe he could delegate driving to a subordinate officer. 

This is a general thing in movies - characters in organized, military or military-like organizations do a bunch of random tasks that they would likely just pass off to someone else. 

Take The Avengers. Why is Nick Fury the guy who is running SHIELD day to day, and then he's also the guy that needs to check up on the Tesseract. Wouldn't he give that to a specialist in that field of research? Later Black Widow (a special agent who job is to beat the hell out of people) is flying a plane on a routine trip back to SHIELD HQ. Wouldn't you want someone more specialized in flying to do that? I get that Black Widow is a bad ass and all, but I assume flying takes practice to maintain skill. So I wouldn't necessarily want her to be the pilot. I'd want a pilot, which I assume since SHIELD's HQ is flying a fucking air craft carrier, that they have a couple sitting around. 

See organizations have specialists for a reason, and leaders and important people need to do what they're good at and not waste time doing tasks beneath them. It's probably pretty insulting if you're boss is always coming over and taking the controls away from you. The upcoming jeep driver is thinking "Oh boy, here's my chance to drive the President. Moving up!" then Major Mitchell comes over and takes it away. Meanwhile, a hundred plus people are all waiting around for Major Mitchell to get back from driving so they can follow orders.