<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">

  <title><![CDATA[archcoder]]></title>
  <link href="http://nickfloyd.github.com/atom.xml" rel="self"/>
  <link href="http://nickfloyd.github.com/"/>
  <updated>2012-05-14T11:48:09-05:00</updated>
  <id>http://nickfloyd.github.com/</id>
  <author>
    <name><![CDATA[nickfloyd]]></name>
    
  </author>
  <generator uri="http://octopress.org/">Octopress</generator>

  
  <entry>
    <title type="html"><![CDATA[so long and thanks for all the fish]]></title>
    <link href="http://nickfloyd.github.com/blog/2012/04/09/so-long-and-thanks-for-all-the-fish/"/>
    <updated>2012-04-09T07:37:00-05:00</updated>
    <id>http://nickfloyd.github.com/blog/2012/04/09/so-long-and-thanks-for-all-the-fish</id>
    <content type="html"><![CDATA[<p>What could a developer say about the end of an 8 year awesome head-spinning journey and the beginning of an amazing God driven adventure?</p>

<figure class='code'> <div class="highlight"><table><tr><td class="gutter"><pre class="line-numbers"><span class='line-number'>1</span>
<span class='line-number'>2</span>
</pre></td><td class='code'><pre><code class='ruby'><span class='line'><span class="n">craft</span><span class="o">&gt;</span> <span class="n">fellowshiptech</span><span class="o">.</span><span class="n">pop</span> <span class="s2">&quot;Nick&quot;</span>
</span><span class='line'><span class="n">craft</span><span class="o">&gt;</span> <span class="n">newrelic</span><span class="o">.</span><span class="n">push</span> <span class="s2">&quot;Nick&quot;</span>
</span></code></pre></td></tr></table></div></figure>


<p>For the past several months I have felt the absence of peace in what I had been doing at <a href="http://www.fellowshipone.com/">Fellowship Technologies</a>.  Not that I wasn&#8217;t putting my heart into what I did, or that the people aspect was making me miserable or even that the work was a tyrannical laundry list.  Quite the contrary, even though sometimes it was a challenge to move forward because of process or technical debt I loved the people I was blessed to work with and I pressed into the work that we needed to do to try and make a difference in the world.</p>

<p><img class="right" src="http://nickfloyd.github.com/images/blog/got_the_shirt.jpg" title="got the shirt" alt="8 years 5 conferences"></p>

<p><strong><em> A little history before I go on&#8230; </em></strong></p>

<p>Rewind a little over 8 years ago. I went to interview for a new gig at <a href="http://www.fellowshipchurch.com/">Fellowship Church</a> in Grapevine, TX for a web developer position because I felt that I would make more of a difference in the world then throwing web bits at <a href="http://gamestop.com">Gamestop.com</a> (another awesome gig that I was blessed to have).  I had the interview and I didn&#8217;t feel 100% about it, though that could&#8217;ve been because they were doing some things in classic ASP and talking about moving to PHP.</p>

<p>Later that week I got a call from the guy that I would be replacing and he said, &#8220;I liked what I heard in the interview - what do you think about going to do this start up thing with me and some other guys - we&#8217;ll be writing software for churches&#8230;&#8221;</p>

<p>I&#8217;m sorry, could you say that again?  <strong>Did you say software for churches?</strong> I didn&#8217;t know there was a need for that.  Apparently there was, in a big way.</p>

<p>I joined up, and they threw me and another dev in a closet at the church and&#8230; 8 years, 5 conferences, 4 different office buildings, more devs, a billion lines of code, 48 applications, a gazillion (sp?) rows of data, many really awesome people, a whole lot of long nights and foosball games, and one acquisition and IPO - here I stand a changed dev; a changed person.</p>

<p><strong><em> So where is the peace? </em></strong></p>

<p>I&#8217;m not going to go into some long diatribe about the hardships I faced because frankly there really were none. Sure there were things I dissagreed with or got frustrated by but Active is a great corporate body trying to solve some really hard problems.  So then, why am I leaving?</p>

<p>My first motivation is something I have been fighting for months now - God has been telling me to <a href="http://www.youversion.com/bible/John.5.8.nlt">pick my mat up and move</a>. Bottom line, as a Christian, I could not avoid the pull.  I mean, after all why would I move?  Great benefits, I was comfortable / confident in what I did, great support system in Texas, loved the people I worked with - why would I not have peace?</p>

<p>Second, my wife and I had grown so much in our marriage with God we could face what a complete family reboot meant - so our hearts were in the right spot for change.  We agreed that no matter what, if we disagreed on anything around change we would not do it.</p>

<p>Third, I read and <strong>understood</strong> the <a href="http://shop.holstee.com/pages/about">holstee manifesto</a>.  I remember talking to my wife telling her that I really felt like I was not good enough to do anything really &#8220;great.&#8221;  To which she promptly replied, &#8220;You arn&#8217;t.  Quit trying to rely on what you think you know and rely on the plan God has for you.&#8221;  Boom!  I love my wife.</p>

<p><strong><em> What did I do about it? </em></strong></p>

<p>After getting the pride smack-down by my beautiful wife.  I decided to list out 7 companies that inspired me; that, as a dev, I looked up to. I then wrote a few thoughts down on why I would want to be a part of the amazing work each company was doing.</p>

<blockquote><p>Flying is learning how to throw yourself at the ground and miss.</p><footer><strong>Douglas Adams</strong> <cite>The Hitchhikers Guide to the Galaxy</cite></footer></blockquote>


<p><a href="http://newrelic.com">New Relic</a> was, of course, at the top of the list.  As a dev how could you not look up to and admire the shockwave they have sent through the worldwide developer ecosystem. They have fundamentally changed the way many developers and Ops guys work together - empowering developers worldwide to get better by understanding what is actually going on with, and how to fix their software - who wouldn&#8217;t want to be a part of making dev life&#8217;s better?!?</p>

<p>The engineers at new relic have done for monitoring what <a href="http://en.wikipedia.org/wiki/David_Heinemeier_Hansson">DHH</a> and <a href="http://en.wikipedia.org/wiki/Yukihiro_Matsumoto">Matz</a> did for software - they have revolutionized how we make great bits.  New Relic genuinely cares about their people and the developers they serve and it is evident time and time again as we use the software and as I interact with the team.  There are some of the most ingenious and brilliantly minded people in that group.  It is literally a polyglot&#8217;s paradise where they have guys who are experts in Ruby, PHP, Python, Java, and .NET and they all work together innovating on an amazing product - there is no company out there like it!</p>

<p>So I took a leap. I was swooned by the amazing team and the love they showed me right up front and the hard to miss excitement everyone had for what they do there.</p>

<p><strong><em> Now what? </em></strong></p>

<figure class='code'> <div class="highlight"><table><tr><td class="gutter"><pre class="line-numbers"><span class='line-number'>1</span>
<span class='line-number'>2</span>
</pre></td><td class='code'><pre><code class='ruby'><span class='line'><span class="n">life</span><span class="o">&gt;</span> <span class="n">rm</span> <span class="o">-</span><span class="n">r</span> <span class="s2">&quot;/God/FloydFamily1.0&quot;</span>
</span><span class='line'><span class="n">life</span><span class="o">&gt;</span> <span class="n">mkdir</span> <span class="s2">&quot;/God/FloydFamily2.0&quot;</span>
</span></code></pre></td></tr></table></div></figure>


<p>My family (5 rock solid kiddos and a beautiful and patient wife) and I are doing a complete reboot - moving et. al. Are we sad to be leaving our friends and family, yes definitely.  Has it been easy, not entirely but we trust in how we are being led. I am humbled by how orchestrated this entire thing has been from it&#8217;s beginning until now - we are definitely looking forward to the adventure.</p>

<p>Find me on the <a href="http://twitter.com/nickfloyd">Twitters</a> if you ever want to chat about life change or geek out over tech.</p>
]]></content>
  </entry>
  
  <entry>
    <title type="html"><![CDATA[the soup stone]]></title>
    <link href="http://nickfloyd.github.com/blog/2012/03/27/the-soup-stone/"/>
    <updated>2012-03-27T09:57:00-05:00</updated>
    <id>http://nickfloyd.github.com/blog/2012/03/27/the-soup-stone</id>
    <content type="html"><![CDATA[<p><strong><em>[tl,dr]</em></strong>
Ask yourself (and your developers) is what I am doing what I want to do? If I am doing side projects what makes those so interesting?  Because if they are really where I volunteer my &#8220;free&#8221; time then why is that not my day job?  If your still struggling with the questions read the <a href="http://shop.holstee.com/pages/about">holstee manifesto</a> for some inspiration, then come back.</p>

<p><img class="right" src="http://nickfloyd.github.com/images/blog/soup_stone.png" title="the soup stone" alt="the soup stone - what to do about sharing"></p>

<p>Often times I hear developer &#8220;happiness&#8221; come up when turn over happens.  It&#8217;s all part of the &#8220;game&#8221; right? As a creative, why would you stay somewhere that was not helping you become a better painter or a place where you would get really excited about what you do?</p>

<p>To be pragmatic, I feel like I need to claim reality as well - we as devs also need / have to do the grimy grind work because not every line of code creates an epic bloom of fireworks.  Face it, we have to mix our paint if we want the really cool colors.</p>

<p>I&#8217;ve been thinking a lot on the signs of complacency or waining enthusiasm developers face on long running projects; what keeps us motivated and how do we recognize that the &#8220;passion&#8221; has left? Then I thought &#8221;<a href="http://en.wikipedia.org/wiki/Stone_soup">soup stone!</a>&#8221;</p>

<p>It&#8217;s funny how a common cause motivates people.  For instance if you&#8217;ve ever done the startup thing then you know that everyone has a lot to do and has many hats to wear.  Generally there is never much whining about what they &#8220;want to do&#8221; rather there is a lot of moving on what they &#8220;need to do&#8221; - <em>need becomes want</em> because of the cause.</p>

<p>Let&#8217;s play a little metaphor game with the soup stone folk story:</p>

<p>Say that the stone is the company (because without people and product all a company really is, is an idea, a dream) and the ingredients added to the soup by others is the code that is written to motivate and move the company.  What happens if your developers start pursuing other projects on the side and take their ingredients there. Why would they do that? What would motivate them to continue working on the mythical soup to make it a real soup?</p>

<p><strong>Sharing is a massive problem for companies.</strong></p>

<p>I&#8217;m not talking about OSS necessarily but something along the lines of the mentality where &#8220;as developer in company X I am not challenged nor am I motivated to be exceptional therefore I will go make products of my own that do excite me.&#8221; On one hand you want your developers to be challenged and grow, on the other hand wouldn&#8217;t you want your developers to be so excited about what your doing to not have to go and do the side gig thing to get the dev itch scratched?</p>

<p>Is it possible to ask a dev: &#8220;what can we do to get you more interested in what you&#8217;re doing here?&#8221; - who wouldn&#8217;t want to be energized and excited about their day job allowing you to make your night job &#8220;life.&#8221;</p>
]]></content>
  </entry>
  
  <entry>
    <title type="html"><![CDATA[pixel hunter]]></title>
    <link href="http://nickfloyd.github.com/blog/2012/02/28/pixel-hunter/"/>
    <updated>2012-02-28T09:46:00-06:00</updated>
    <id>http://nickfloyd.github.com/blog/2012/02/28/pixel-hunter</id>
    <content type="html"><![CDATA[<p>When you use software do you find yourself to be frustrated or helped? When I design or build something I have a hard time seeing it from the end-user&#8217;s perspective; I get too excited about the idea or flash of potential.</p>

<p>Detaching myself and deciding that I am a user rather than the developer is hard for me. I used to find it difficult to watch people use the software I created&#8230; always wondering if it was good enough, if they&#8217;d like it or if I created an app where people become pixel hunters waiting for alt text to appear rather than users trying to get something done.</p>

<p>I really don&#8217;t feel that way anymore, the fact is it will never be good enough or perfect it will just be what it always has been - my best effort.  If it doesn&#8217;t work I&#8217;ll start over or change it; if it does make someone&#8217;s life better then I&#8217;ll do something else.</p>

<p>One of the most amazing things about creating software is that if you did it once, you can do it again and most likely you&#8217;ll do it better. One of the best ways to learn how to get better is to be quiet, watch and experience your software with your users and listen to everything they say, even if you disagree with them - especially if you disagree with them.</p>
]]></content>
  </entry>
  
  <entry>
    <title type="html"><![CDATA[the dark side]]></title>
    <link href="http://nickfloyd.github.com/blog/2012/02/09/the-dark-side/"/>
    <updated>2012-02-09T14:18:00-06:00</updated>
    <id>http://nickfloyd.github.com/blog/2012/02/09/the-dark-side</id>
    <content type="html"><![CDATA[<p>Here&#8217;s a book I pretty much keep in hand all the time: <a href="http://www.amazon.com/gp/product/0321601912">Continuous Delivery by Jez Humble and David Farley</a>. Not that it&#8217;s a really super enjoyable read, but it helps me remember how doing this software thing we do can be awesome for both the dev and <a href="http://disney.go.com/tron/">user</a>.</p>

<p>This book is primarily focuses on <a href="http://nickfloyd.github.com/blog/2011/01/09/cd-vs-cd/">Continuous Delivery and not Continuous Deployment</a> per se, it etches into an architectural area (around pages 347-349) that I feel every software ecosystem should have.</p>

<h2>Feature Dark</h2>

<blockquote><p>dark side rule #1: Releasing small, even unfinished bits into production is ok and will actually save you from head aches.</p></blockquote>


<p>Delivering features into customers hands should be exciting not terrifying - how many of you have placed bets on the success or failure of a gargantuan release?  Why do we have humongous deployments that are scary? Being big and scary didn&#8217;t really work out for the dinosaurs did it and it won&#8217;t work for your software either. Create a parallel page, work on the model first - do something other than stop to wonder how you&#8217;re going to eat the elephant (i.e. big things need to be eaten one bite at a time).</p>

<blockquote><p>dark side rule #2: Putting software into production does not always mean that you are putting it into the hands of your users. Your software should have toggles that turn features (partial or otherwise) on for either some or all users</p></blockquote>


<p>I believe that developers should be able to release code right to production, bottom line.  If you disagree then you either need to get new developers or you need to start trusting the ones you have.  I also believe that every commit after going through quality gates should go right to production once it hits master.</p>

<p>Write your code so that if the doomsday scenario of someone elbowing the keyboard won&#8217;t put your latest UX redesign in front of your customers. Histrionics aside make your software &#8220;releasable.&#8221;  Don&#8217;t expect a magic bullet here either, this will take team maturity and some patterns for everyone to stick to (like the ones <a href="http://twitter.com/chadmeyer">@chadmeyer</a> and I created - <a href="http://developer.fellowshipone.com/patterns/cd.php#_20_dark_side">pushing features dark</a>). Best idea here is to come up with an easy to understand / use patten and make sure that the business is tooled to flip those switches.</p>

<blockquote><p>dark side rule #3: Let your business worry about releasing the software to the customers and let your developers worry about writing and deploying said software</p></blockquote>


<p>See  - <a href="http://archcoder.com/blog/2012/01/09/cd-vs-cd/">cd vs. cd</a>. Look @ your keyboard, go ahead I&#8217;ll wait&#8230;&#8230;</p>

<p>If the symbols &lt;,>,{,},# are worn then you are a developer. Do what you&#8217;re good at - write and deploy code.</p>

<p>If the # key or the letters a,t,t,n,. are worn then you know who you are. Go put the software developed into the hands and minds of the customers</p>

<blockquote><p>dark side rule #4: Your features might not always fit into or be able to be feature dark</p></blockquote>


<p>You just won&#8217;t.  There will be organizational challenges, changes, events and technical roadblocks that will take time to get past.  The goal here is to incrementally get there.  Be pragmatic.</p>

<blockquote><p>dark side rule #5: Ruled by fear your competitors are&#8230; deploying software all the time you will be&#8230;</p></blockquote>


<p>See <a href="http://amazon.com">amazon</a>, <a href="http://flickr">flickr</a>, so on.</p>

<p>Note: The dark side rules are my own creations and are only based on my experience with what works and does not work while I have been in dev shops trying to achieve CD, so take them with a grain of salt to season your own rules.</p>
]]></content>
  </entry>
  
  <entry>
    <title type="html"><![CDATA[the rub]]></title>
    <link href="http://nickfloyd.github.com/blog/2012/02/08/the-rub/"/>
    <updated>2012-02-08T09:53:00-06:00</updated>
    <id>http://nickfloyd.github.com/blog/2012/02/08/the-rub</id>
    <content type="html"><![CDATA[<p>What is it about bit-rot that seems to drive us away from quality?  Here&#8217;s the analogy:</p>

<p>Let&#8217;s say you just bought this massive steak that you&#8217;re going prep before the game.  So you know you&#8217;re gonna create an awesome rub then toss it on the grill at a solid 600&deg; and just go to town on the beautiful cow bouquet.</p>

<p>You get to the counter and it is covered in the remanence of last night&#8217;s game fest.  Baring any cultures that the CDC might want to take for posterity do you really stop and think&#8230; &#8220;Hmmmmm, should I clean the counter before I do the rub throw-down on this $50 steak?&#8221;  No you don&#8217;t&#8230; so why do we do it with the code we write?</p>

<p>You&#8217;re in some pretty rough code and you add a beautiful bit of code to it, do you leave the other bits around it trashed; lipstick on a pig.  Word to the wise, be a boy scout, leave it in a better condition than you found it.</p>
]]></content>
  </entry>
  
  <entry>
    <title type="html"><![CDATA[Just some of Archcoder's favorite Ruby and Ruby on Rails learning resources...]]></title>
    <link href="http://nickfloyd.github.com/blog/2012/02/01/just-some-of-archcoders-favorite-ruby-and-ruby-on-rails-learning-resources-dot-dot-dot/"/>
    <updated>2012-02-01T21:00:00-06:00</updated>
    <id>http://nickfloyd.github.com/blog/2012/02/01/just-some-of-archcoders-favorite-ruby-and-ruby-on-rails-learning-resources-dot-dot-dot</id>
    <content type="html"><![CDATA[<p><strong>Docs:</strong><br/>
<a href="http://apidock.com">apidock</a><br/>
<a href="http://railsapi.com/doc/rails-v3.0.8rc1_ruby-v1.9.2/">railsapi</a><br/>
<a href="http://guides.rubyonrails.org/">rails guides</a><br/>
<a href="http://blog.envylabs.com/Rails_3_Cheat_Sheets.pdf">envylabs rails cheatsheet</a></p>

<p><strong>Teaching tools:</strong><br/>
<a href="http://hackety-hack.com/">hackety-hack.com/</a> <br/>
<a href="http://www.codeschool.com/courses/rails-for-zombies">codeschool.com/courses/rails-for-zombies</a> <br/>
<a href="http://www.codeschool.com/courses/try-ruby">codeschool.com/courses/try-ruby</a> <br/>
<a href="http://www.rubylearning.org/">rubylearning.org/</a>  <br/>
<a href="http://railscasts.com/">railscasts.com/</a>   <br/>
<a href="http://teachmetocode.com/">teachmetocode.com/</a> <br/>
<a href="http://rubyrogues.com/">rubyrogues.com/</a> <br/>
<a href="http://ruby.railstutorial.org/">ruby.railstutorial.org/</a> <br/>
<a href="http://guides.rubyonrails.org/">guides.rubyonrails.org/</a> <br/>
<a href="http://www.rubyflow.com/">rubyflow.com/</a> <br/>
<a href="http://refactormycode.com/">refactormycode.com/</a> <br/>
<a href="http://pry.github.com/">pry.github.com/</a></p>

<p><strong>Screen / pod casts:</strong><br/>
<a href="http://peepcode.com/screencasts/ruby-on-rails">peepcode.com/screencasts/ruby-on-rails</a> <br/>
<a href="http://rubyshow.com/">rubyshow.com/</a>  <br/>
<a href="http://www.destroyallsoftware.com">www.destroyallsoftware.com</a></p>

<p><strong>irc:</strong><br/>
 #rubyonrails (irc.freenode.net) <br/>
 #ruby (irc.freenode.net)</p>

<p><strong>Books</strong><br/>
<a href="http://mislav.uniqpath.com/poignant-guide/book/">Why&#8217;s (Poignant) Guide to Ruby</a><br/>
<a href="http://pragprog.com/book/ruby/programming-ruby">The Pickaxe</a> <br/>
<a href="http://www.amazon.com/Beginning-Rails-Experts-Voice-Development/dp/1430224339">Beginning Rails 3</a><br/>
<a href="http://www.amazon.com/Beginning-Ruby-Novice-Professional/dp/1590597664">Beginning Ruby</a><br/>
<a href="http://humblelittlerubybook.com/">Humble little ruby book</a><br/>
<a href="http://exceptionalruby.com/">Exceptional Ruby</a></p>
]]></content>
  </entry>
  
  <entry>
    <title type="html"><![CDATA[kid gamification - day 3, the finale]]></title>
    <link href="http://nickfloyd.github.com/blog/2011/09/22/kid-gamification-day-3-the-finale/"/>
    <updated>2011-09-22T00:00:00-05:00</updated>
    <id>http://nickfloyd.github.com/blog/2011/09/22/kid-gamification-day-3-the-finale</id>
    <content type="html"><![CDATA[<p>As I sit here listening to the <a href="http://tronsoundtrack.com/">TRON soundtrack</a> I recognize that the flashy code of movies like <a href="http://disney.go.com/tron/">TRON</a>, <a href="http://www.imdb.com/title/tt0218817/">anit-trust</a>, <a href="http://www.imdb.com/title/tt0113243/">hackers</a> and the like have changed the ideal picture of what coding something looks and feels like.</p>

<p>I have to admit, Hollywood makes slamming out bits look cool and easy - not nerd cool like <a href="http://nodejs.org/">node.js</a> or <a href="http://www.mongodb.org/">mongodb</a> but more like socially acceptable &#8220;teen&#8221; cool like eating Pringles, drinking mountain dew or jolt and getting away with &#8220;something.&#8221;  Right now I am snacking on Pringles and drinking mountain dew - the propaganda worked!</p>

<p>Though my boys haven&#8217;t seen those movies they are familiar with the &#8220;hacker&#8221; architype of a guy mashing keys having code fly across the screen to save the world from total meltdown! So, as I expected we hit a productivity wall with the &#8220;code&#8221; part of this project.</p>

<p>Needless to say here is my 6 year old&#8217;s first lines of code:</p>

<pre>
    public Earth(){    
        super(750, 750, 1); 
        addObject(new Turtle(), 0,350);
        Greenfoot.playSound("mnhaon.mp3");
    }
</pre>


<p>and the 4 year old&#8217;s in the Turtle class:</p>

<pre>
public void act(){
    moveLeft();
}
</pre>


<p>It took us roughly 30 minutes of them typing (20 minutes) and going through the greenfoot API docs by themselves (10 minutes) to get that done.  At this point and time they saw a turtle run left across a white screen and they were done, shutdoor.  I expected this so I did have a back up plan&#8230;.</p>

<p><strong>Making media for the game:</strong>
They spent the remainder of or time making trucks, turtles, backgrounds and recording sounds for the game.  I wrote the remaining code and added some snips from <a href="http://blogs.kent.ac.uk/mik/2008/01/20/teaching-my-daughter-to-code/">Michael Kölling&#8217;s blog</a>.</p>

<p><strong>What we learned:</strong></p>

<ul>
<li>Making games together can be fun and we can actually get something enjoyable done in a short period of time.</li>
<li>Greenfoot is a great platform for new developers and there are others out there such as: <a href="http://www.alice.org/">Alice</a>, <a href="http://research.microsoft.com/en-us/projects/kodu/">Kudo</a>, <a href="http://scratch.mit.edu/">scratch</a> and others, so there is really no excuse to not teach your kids if they are interested.</li>
<li>My boys were too young (6 and 5 years old) to code.  Kind of obvious but I really wanted to see where they were at as far as logic thinkers - I was impressed with there ability to articulate what they wanted to do all I had to do was write the code</li>
</ul>


<p><strong>The bits:</strong></p>

<ul>
<li>Framework: <a href="http://www.greenfoot.org/index.html">Greenfoot</a> (Java)</li> 
<li>Hardware: imac</li> 
<li>Time: roughly a week (1hr per day)</li> 
<li>Process: scrum</li> 
<li>Output: <a href="https://github.com/cadenfloyd/mnhaon">source</a> | <a href="http://greenfootgallery.org/scenarios/3516">game in gallery</a> | <a href="http://archcoder.com/resources/mnhaon/mnhaon.jar">stand alone game</a></li> 
</ul>


<p><img src="http://nickfloyd.github.com/images/blog/mnhaon_final.png"/></p>

<p>If you have time please let my boys know what you think about their project, I know they&#8217;ed love to see your comments and thoughts, they worked really hard and I am super proud of them for doing all that they did and trying as hard as they did.
Related posts: <a href="http://nickfloyd.github.com/blog/2011/09/15/kid-gamification-planning">kid gamification - planning</a>,
<a href="http://nickfloyd.github.com/blog/2011/09/19/kid-gamification-day-1">kid gamification - day 1</a>,
<a href="http://nickfloyd.github.com/blog/2011/09/20/kid-gamification-day-2">kid gamification - day 2</a></p>
]]></content>
  </entry>
  
  <entry>
    <title type="html"><![CDATA[kid gamification - day 2]]></title>
    <link href="http://nickfloyd.github.com/blog/2011/09/20/kid-gamification-day-2/"/>
    <updated>2011-09-20T00:00:00-05:00</updated>
    <id>http://nickfloyd.github.com/blog/2011/09/20/kid-gamification-day-2</id>
    <content type="html"><![CDATA[<p>The boys wanted to get stomping on the project code right away (I did too) but I knew this would be a great opportunity to distill some of the assumed magic of code and that it takes a lot more than copy-n-paste and a browser.  I think a lot is gained and lost on the magic of the interwebs with the &#8220;it just works&#8221; mentality.  Not that things have to be difficult or over baked but I believe that there is much to be gained for having a &#8220;big picture&#8221; perspective to software.</p>

<p><strong>Today we focused on</strong>:</p>

<ul>
<li>getting our project all planned out using sudo scrum (didn&#8217;t want to get wrapped up in teaching them the process in depth; just that there is a process and it can help)</li>
<li>a <a href="https://github.com/cadenfloyd/mnhaon">repo going</a> on <a href="http://github.com/">github</a></li>
<li>creating a greenfoot scenario</li>
<li>theme music - because every great game has cool theme music, and we were doing a lot of admin stuff for the project and I wanted the kids to have fun mixing music.</li>
</ul>


<p><strong>Project planning</strong>:</p>

<p>Using <a href="http://en.wikipedia.org/wiki/Scrum_(development)">scrum</a>, we generated cards and hijacked the grocery list whiteboard and began planning.  I asked the kids questions like what do you want the game to do?, how do you think it should work?, how will you play the game? what do you want things to sound like? and so on.  Their answers, to my surprise, were somewhat practical for a 5 and 6 year old.  I assumed that they would say things like, &#8220;I want to control the turtle with my mind,&#8221; or &#8220;the turtle can fly and breathe fire to destroy the trucks.&#8221;  The answered with we can use the &#8220;arrow keys&#8221; or &#8220;w:a:s:d&#8221; to move the turtle (apparently we need to lay off the games, their familiarity with default game controls and their ability to name them was frightening).  Here are the resulting cards from their answers:</p>

<ul>
<li>Make game sound effects(truck sounds, turtle sounds, turtle getting hit sounds)</li>
<li>Make code project</li>
<li>Make story about why the turtle is doing what he is doing</li>
<li>Make the turtle and truck graphics</li>
<li>Make place to put our code so we dont loose it</li>
<li>Make music</li>
<li>Make turtle move</li>
<li>Make trucks move</li>
<li>Make world for trucks and turtle</li>
</ul>


<p><img src="http://nickfloyd.github.com/images/blog/game_scrumboard.jpg"/></p>

<p><strong>Getting a repo going</strong>:</p>

<p>I let them type the commands in terminal, they said it felt like they were super spies trying to save the world (I never really thought of it that way&#8230;)</p>

<p>We&#8230;</p>

<ul>
<li>generated ssh key - just follow the instructions <a href="http://help.github.com/mac-set-up-git/">here</a></li>
<li>setup a github account - just follow the instructions <a href="http://help.github.com/mac-set-up-git/">here</a></li>
<li>created a local repo -  - just follow the instructions <a href="https://gist.github.com/1229517">here</a></li>
<li>pushed the code</li>
</ul>


<p><strong>Creating a greenfoot scenario</strong>:</p>

<p>If you are parent of really young kiddos with limited attention spans like me I would recommend going through the <a href="http://www.greenfoot.org/doc/tutorial/tutorial.html">greenfoot tutorial</a> before you begin your senario with your kids.  The tutorial will get greenfoot setup and get you aquatinted with the <a href="http://www.greenfoot.org/doc/javadoc/">greenfoot API</a></p>

<p><strong>Creating the theme music</strong>:</p>

<p>This was pretty fun.  The kids mixed samples using <a href="http://www.aviary.com/tools/audio-editor">Aviary audio editor</a>.  You can listen to the sample mix <a href="http://nickfloyd.github.com/resources/media/mnhaon.mp3">here</a>.</p>

<p><a href="http://nickfloyd.github.com/images/blog/game_music_aviary.png"><img src="http://nickfloyd.github.com/images/blog/game_music_aviary_sm.png"/></a></p>

<p>Once we did the mixdown on the samples we made into an mp3 using the same tool and added it to our <a href="https://github.com/cadenfloyd/mnhaon">github repo</a>.</p>

<p>That was it for today.  Tomorrow we should have some working code g2g.  We will spend the next 3 days working on code, testing and content.  Finishing the game at the end of the week.</p>

<p>Related posts: <a href="http://nickfloyd.github.com/blog/2011/09/15/kid-gamification-planning">kid gamification - planning</a>,
<a href="http://nickfloyd.github.com/blog/2011/09/19/kid-gamification-day-1">kid gamification - day 1</a>,
<a href="http://nickfloyd.github.com/blog/2011/09/22/kid-gamification-day-3-the-finale">kid gamification - day 3, the finale</a></p>
]]></content>
  </entry>
  
  <entry>
    <title type="html"><![CDATA[kid gamification - day 1]]></title>
    <link href="http://nickfloyd.github.com/blog/2011/09/19/kid-gamification-day-1/"/>
    <updated>2011-09-19T00:00:00-05:00</updated>
    <id>http://nickfloyd.github.com/blog/2011/09/19/kid-gamification-day-1</id>
    <content type="html"><![CDATA[<p>Day one consisted of a bunch of idea gathering. My kiddos have vivid imaginations and most of the time when you talk about games they click right into <a href="http://www.minecraft.net/">minecraft</a> mode and that&#8217;s about all they can talk about.  While I am a big fan of <a href="https://twitter.com/#!/notch">Markus Persson</a> and his work, I told the boys they should come up with their own unique story and game flavors.</p>

<p>I told them to begin drawing pictures and just talking out loud about what they were thinking they wanted from a game.  As they talked I wrote down key words that they said that had to do with: game name, characters (antagonist, protagonist), environment, and story line.</p>

<div align="center"><img src="http://nickfloyd.github.com/images/blog/interview_game_design_01.jpg"/></div>




<p>
<a href="http://nickfloyd.github.com/images/blog/caden_game_design_01_sm.jpg"><img src="http://nickfloyd.github.com/images/blog/caden_game_design_01_sm.jpg" align="right"/></a>

<strong>One idea was&#8230;</strong>
Game name: Lego Minecraft
Characters: protagonist - Lego guy, antagonist - environment
Environment: Total mutable world

Cool idea but it has really already been <a href="http://www.youtube.com/watch?v=vMxIcL1ygwI">done</a>.
</p>


<br/><br/>




<p>
<a href="http://nickfloyd.github.com/images/blog/jonah_game_design_01_sm.jpg"><img src="http://nickfloyd.github.com/images/blog/jonah_game_design_01_sm.jpg" align="right"/></a>

<strong>Another idea was&#8230;</strong>
Game name: MnHAON (no idea where he got the game name)
Characters: protagonist - trucks, antagonist - turtle
Environment: A road with moving cars, etc.. much like a frogger clone
</p>


<br/><br/>


<p>We ended the hour with a couple of really good ideas where we picked the one titled &#8220;MnHAON&#8221; and decided to move on it.</p>

<p>We also decided on using <a href="http://www.greenfoot.org/">greenfoot</a> (i.e. java) for the project based on the simple API and java being a pretty simple language to pick up quickly.</p>

<p><strong>Tomorrow we are planning on</strong>:</p>

<ul>
<li>Create our scrum board and cards</li>
<li>Creating a github repo for the project</li>
<li>Creating the &#8220;theme&#8221; music using  <a href="http://www.aviary.com">aviary</a></li>
<li>Creating a greenfoot project and push it to github</li>
</ul>


<p></p>

<p>Related posts: <a href="http://nickfloyd.github.com/blog/2011/09/15/kid-gamification-planning">kid gamification - planning</a>,
<a href="http://nickfloyd.github.com/blog/2011/09/20/kid-gamification-day-2">kid gamification - day 2</a>,
<a href="http://nickfloyd.github.com/blog/2011/09/22/kid-gamification-day-3-the-finale">kid gamification - day 3, the finale</a></p>
]]></content>
  </entry>
  
  <entry>
    <title type="html"><![CDATA[kid gamification - planning]]></title>
    <link href="http://nickfloyd.github.com/blog/2011/09/15/kid-gamification-planning/"/>
    <updated>2011-09-15T00:00:00-05:00</updated>
    <id>http://nickfloyd.github.com/blog/2011/09/15/kid-gamification-planning</id>
    <content type="html"><![CDATA[<p>Being a homeschooling dad who is a self proclaimed nerd comes with a great deal of responsibility and it also tools my children in extremely unique ways.  We just brought our newest baby girl home (yes, she is awesome!) and I am taking 2 weeks off to help my wife with the adjustments that come with having another baby at home.  One way I am helping is taking over the homeschooling for a couple of weeks.</p>

<p>I know what your thinking: 4 boys and dad, mom is cuddling with the new baby girl - video games, junk food and movies, whoo hoo!! Well, almost&#8230;</p>

<p>My wonderful wife hooked me up with a lesson plan and the directive: “If you just get one or two things done that will be great.” Looking over the curriculum I saw math, reading, handwriting(who needs that?), science (cool we can blow stuff up), history (really that’s where that subject should stay), and so on.  I mean my wife has this thing put together so well I felt like I might actually be able to pull off teaching my kids something other than the <a href="http://en.wikipedia.org/wiki/Konami_Code">Konami code</a> (a.k.a the Contra code) or how to beat Zelda (<a href="https://plus.google.com/116332820233665488647/posts/Zdobh3MFemW">which we did</a>).</p>

<p>Something felt like it was missing.  So for two weeks we decided to ditch history and replace it with <strong>developing a game</strong> from 0 bits to shared.  I will be teaching my 6 and 5 year olds with the following in mind:</p>

<p><strong>The constraints:</strong></p>

<ol>
<li>The source must be shared via <a href="https://github.com/">github</a> and in a compiled playable format with in two weeks.</li>
<li>The focus will be on creating, experiencing and sharing code not the framework or deep syntax itself (so we will be using <a href="http://www.greenfoot.org/">greenfoot</a>, <a href="http://www.libgosu.org/">gosu</a> or something like them).</li>
<li>The two students will write all of the code using <a href="http://www.extremeprogramming.org/rules.html">XP</a> and <a href="http://en.wikipedia.org/wiki/Scrum_(development)">scrum</a> with an occasional booster script from me</li>
<li>The two students provide all of the content: music, graphics, story and code</li>
<li>We will have fun</li>
</ol>


<p>I am really looking forward to taking on this challenge and will be chronicling it daily, so keep up with us and follow what we are doing.  I know the boys and I hope that it will inspire other parents and kids to try it out and see how far a little creativity will take them.</p>

<p><a href="http://archcoder.com/taxonomy/term/8/0/feed">subscribe</a> to follow our progress</p>

<p>Related posts: <a href="http://nickfloyd.github.com/blog/2011/09/19/kid-gamification-day-1">kid gamification - day 1</a>,
<a href="http://nickfloyd.github.com/blog/2011/09/20/kid-gamification-day-2">kid gamification - day 2</a>,
<a href="http://nickfloyd.github.com/blog/2011/09/22/kid-gamification-day-3-the-finale">kid gamification - day 3, the finale</a></p>
]]></content>
  </entry>
  
  <entry>
    <title type="html"><![CDATA[mowed grass]]></title>
    <link href="http://nickfloyd.github.com/blog/2011/08/06/mowed-grass/"/>
    <updated>2011-08-06T00:00:00-05:00</updated>
    <id>http://nickfloyd.github.com/blog/2011/08/06/mowed-grass</id>
    <content type="html"><![CDATA[<p>I like the smell of mowed grass.  It reminds me of things like spring, new things and that something just got done.</p>

<p>Most of us have lists.  I call mine the “grrr” list (pronounced grrr).  This is a list of things that constantly irritate you about the software you write but for some reason you just cannot stop to address it.</p>

<p>My personal software grrr list has things on it such as: rip out old data model and replace it with the new shiny one I just built, change doc-type on all of my sites - so that I can-haz HTML 5 or move all of my domain names to one provider.</p>

<p>The things on your grrr list are important because they cause you grief and no one likes a constant stream of grief (re: Frasier).  Do yourself a favor and create a grrr list - and in moments where you could watch re-runs of Frasier instead do something on that list.</p>

<p>You’ll feel accomplished and less frustrated with the software you write.  Then you can go outside and do something you’ve been putting off, like mowing the grass.</p>
]]></content>
  </entry>
  
  <entry>
    <title type="html"><![CDATA[ticking clock]]></title>
    <link href="http://nickfloyd.github.com/blog/2011/06/30/ticking-clock/"/>
    <updated>2011-06-30T00:00:00-05:00</updated>
    <id>http://nickfloyd.github.com/blog/2011/06/30/ticking-clock</id>
    <content type="html"><![CDATA[<p>Ever stop to listen to a ticking clock?  It’s one of those things you don’t hear unless you think about it, or someone asks you, ”ever stop to listen to a ticking clock?”</p>

<p>That seems to be much like some software deployments I been evolved with over the years.  The software goes out into production and no one pays attention until the alarm goes off.</p>

<p>As devs pushing bits into the hands of our beloved customers, why don’t we take some time to listen to the tick of the clock.  You can do this by checking the logs after a deployment, monitor cpu / memory usage or my personal favorite get a tool like <a href="http://www.newrelic.com">newrelic</a> and see what the impact of what you just pushed really is.</p>

<p>the take away: just because it was deployed to ”production” does not mean it’s done or you’re done - take time to look at what your software is doing after a release it WILL pay off.</p>
]]></content>
  </entry>
  
  <entry>
    <title type="html"><![CDATA[the lowdown and Star Trek]]></title>
    <link href="http://nickfloyd.github.com/blog/2011/04/28/the-lowdown-and-star-trek/"/>
    <updated>2011-04-28T00:00:00-05:00</updated>
    <id>http://nickfloyd.github.com/blog/2011/04/28/the-lowdown-and-star-trek</id>
    <content type="html"><![CDATA[<p>Let’s be honest, we have a lot of code, right?  According to guys like <a href=“http://www.amazon.com/Working-Effectively-Legacy-Michael-Feathers/dp/0131177052”>Michael Feathers: </a> &#8220;code you wrote yesterday is legacy code&#8221; and <a href=“http://www.amazon.com/Continuous-Delivery-Deployment-Automation-Addison-Wesley/dp/0321601912”>Jez Humble: </a> &#8220;if you’re working with that code only test what you impact - don’t try to generate coverage.&#8221;</p>

<p>So with all of the legacy out there who’s dealing with the underbelly of our software stacks, you know “the lowdown” where no one dares to go.</p>

<p>Seems to me we need to be a little like Captain Kirk.  He wasn’t scared to go places where no one had been.  A little unknown nerd history on the juggernaut legacy of Star Trek - Gene Roddenberry, the creator, wanted to build something that was an adventure while simultaneously conveying a moral point and political agenda.  Kirk was one such character who could carry out that agenda.</p>

<p>Let’s pretend Captain Kirk was a night time hacker - what would that look like next to how the show played out:</p>

<h3>The Plan</h3>


<p><strong>Captain:</strong> Crew set out to do something routine</p>

<p><strong>Coder:</strong> Kirk decides, “Hey let’s do a twitter mashup in one of my existing apps.  I want to be able to tell all of the ladies how cool I am in my yellow an black stretchy outfit.”</p>

<h3>The Distraction</h3>


<p><strong>Captain:</strong> Somewhere along the way they get a call: “Planet O’ ladies are in trouble, only Kirk can save them, please hurry.”</p>

<p><strong>Coder:</strong> “Crap,” says Kirk, “I have to create OAuth hooks, and it looks like all of the models in this app use .net SOAP web services and there are no flippin tests!!!” “efffffffffffffff!, The boss is gonna kill me!” Kirk exclaims.</p>

<h3>The Moral Dilemma</h3>


<p><strong>Captain:</strong>  The Captain must decide, should I follow orders and go or should I do the “right” thing and save the ladies, errr um, the planet.</p>

<p><strong>Coder:</strong>  Scratching his head he thinks: “do I give up on the app, this legacy code is gonna kill me. Or do I rewrite it so that it actually looks and works like software.”</p>

<h3>The Decision (this is where a lot of us go off the reservation)</h3>


<p><strong>Captain:</strong> “Think of the lady planet, they need me! I choose yes! I choose refractor, regardless of the dangers i’ll face.”</p>

<p><strong>Coder:</strong> “Think of the ladies, they need my fashion tips! I choose refractor, regardless of the dangers i’ll face.”</p>

<h3>The Victory</h3>


<p><strong>Captain:</strong> He arrives, struggles with the bad guy aptly named SOAP (what, it’s my story) , looses his shirt (so that they can have a show that both the man and woman will watch), saves the planet, gets forgiven for getting off task, and there is much celebration.</p>

<p><strong>Coder:</strong> He begins writing tests, refactor, test, refactor, kills the bad guy named SOAP, implements his twitter client, gets forgiven for a little scope bleed, builds a killer app, and all of the ladies rejoice because now they see that most of his fashion is based on a breakaway design.</p>

<p>As dangerous as it may seem we need to deal with the lowdown and be like Kirk.</p>

<p>the point: Go hunting occasionally - code smells are not hard to find and there will always be something to refactor.</p>
]]></content>
  </entry>
  
  <entry>
    <title type="html"><![CDATA[lions who have no teeth]]></title>
    <link href="http://nickfloyd.github.com/blog/2011/04/27/lions-who-have-no-teeth/"/>
    <updated>2011-04-27T00:00:00-05:00</updated>
    <id>http://nickfloyd.github.com/blog/2011/04/27/lions-who-have-no-teeth</id>
    <content type="html"><![CDATA[<p>…<a href=“http://en.wikipedia.org/wiki/The_Boy_Who_Cried_Wolf”> the boy who cried wolf</a>, <a href=“http://en.wikipedia.org/wiki/Emperor%27s_new_clothes”>the emperor’s new clothes</a>, or <a href=“http://en.wikipedia.org/wiki/The_Honest_Woodman”>the honest woodman</a> - what do all of these have in common?  They all deal with the axiom of honesty, perception, and misdirection.</p>

<p>When thinking about the business side of software I tend to think about the lions without teeth; the things that are claimed as the highest importance from the loudest people.</p>

<p>So as developers how do we distill the true signal in all of the noise?  How do we separate the lions with teeth who we should be paying attention to from the ones without the teeth that we should be able to ignore?  <strong>Have a point.</strong>  In a scrum shop, this is generally set by the product owner, but we as devs are responsible for helping our groups stick to it when the pressure rises.</p>

<p>Impossible you say? You’re thinking, “there is no way we could all stand behind one point, the business would implode.”  Really? So does that mean personal budgets don’t work, or that companies like <a href=“http://37signals.com”>37signals</a> really don’t function?</p>

<p>When lions bite they will do everything not to let go, because they are hungry.  They know that letting go = empty belly or in the business mind => my group’s priority = my passion; those are the real lions.</p>

<p>What about the others?  That’s where histrionics enters into the equation; where deception takes over and reality steps out.  Their business mind => my priority = my passion. Stay clear of them, don’t have anything to do with them - they tend to distort, disillusion, and distract from the “goal.”</p>

<p>run with this: get a point for what you’re doing, write it down where it’s in your face, get behind it, do it, stay away from anyone who want’s to usurp it.</p>
]]></content>
  </entry>
  
  <entry>
    <title type="html"><![CDATA[i can be sensitive]]></title>
    <link href="http://nickfloyd.github.com/blog/2011/04/26/i-can-be-sensitive/"/>
    <updated>2011-04-26T00:00:00-05:00</updated>
    <id>http://nickfloyd.github.com/blog/2011/04/26/i-can-be-sensitive</id>
    <content type="html"><![CDATA[<p>I recently found out I am going to have a little girl.  Given the back drop that my four other children are boys, that I was raised with more brothers than sisters and my chosen carrier is <a href=“http://archcoder.com/page/i-am-dev”>dev</a> let’s just say I have trouble “expressing” emotions.</p>

<p>Emotions are for socially accepted people, a notion that many developers seem to struggle with - being socially acceptable, that is.  So in any given dev team how do you deal with introverts and the socially challenged, when you as a leader should be, well leading (whatever that actually means to the people you’re leading).</p>

<p>You start by connecting on an emotional level.  Try by asking what do they love about their job and what do they hate.  If they give you service level answers at first start off by “actually” being real with them and tell them about your love/hate relationship with your job.</p>

<p>The take away: You’ll probably lean something you didn’t know; something you’ll actually be able to do something about.</p>
]]></content>
  </entry>
  
  <entry>
    <title type="html"><![CDATA[we use hand grenades to fight]]></title>
    <link href="http://nickfloyd.github.com/blog/2011/04/13/we-use-hand-grenades-to-fight/"/>
    <updated>2011-04-13T00:00:00-05:00</updated>
    <id>http://nickfloyd.github.com/blog/2011/04/13/we-use-hand-grenades-to-fight</id>
    <content type="html"><![CDATA[<p>Would you ever think a hand grenade thrown wouldn’t break, damage or destroy something?  I think in software we tend to fight with grenades, blasting our way through things we don’t like.</p>

<p>Have you ever watched a war movie where the troops roll in and they start lobbing grenades, firing rockets, shooting first then asking questions and at the end of it all you see a “relief effort” swoop in and rebuild? No. After the dust has settled all you see is a bunch of broken stuff.</p>

<p>I feel like that matches the pattern of some of our dev-mentality.  We go in with the intent of saving the village and all we do is cause a considerable amount of collateral damage then bail assuming there will be some sort of relief effort (QA perhaps).</p>

<p>Why do we sometime fight with hand grenades instead of knives; more like the tank and less like the ninja? It might be the glory of the battle or the sweet taste of victory (at least as far as the fight goes ); who really knows?</p>

<p>All software needs some degree of refactoring and sometimes huge reworks are a sound way to rid yourself of a looming / annoying problem area - but try to start by using a knife not a grenade / iteration not search and replace.</p>

<p>The idea… solving problems should be iterative not mass-blasting with collateral results.</p>

<iframe title="YouTube video player" width="550" height="390" src="http://www.youtube.com/embed/xOrgLj9lOwk" frameborder="0" allowfullscreen></iframe>

]]></content>
  </entry>
  
  <entry>
    <title type="html"><![CDATA[dangerous intersection]]></title>
    <link href="http://nickfloyd.github.com/blog/2011/04/07/dangerous-intersection/"/>
    <updated>2011-04-07T00:00:00-05:00</updated>
    <id>http://nickfloyd.github.com/blog/2011/04/07/dangerous-intersection</id>
    <content type="html"><![CDATA[<p><img src="http://archcoder.com/images/blog/dangerous_intersection.jpg" align="right" style="padding:5px;"/>I see this sign on the way to work every day and think: &#8220;really!? If the builders of the intersection know it&#8217;s dangerous why don&#8217;t they change it?&#8221;  I imagine the response would be something like: ”It’s too expensive” or  “you can’t just change a road…”</p>

<p>We deal with &#8220;scary&#8221; legacy code all the time. The fact is if it was produced by you or someone else that doesn&#8217;t matter; it&#8217;s that it&#8217;s there.</p>

<p>More often than not we generally try to stay away from the code claiming that it is toxic or that by touching we would cause unforeseen consequences - claiming “you can’t just change a road.” When, in reality, it&#8217;s just code; bits cast on the grid.</p>

<p>Knowing that there are dangerous intersections, why don&#8217;t we as devs do something about it, change it, rework it. We have a choice: we can continue to avoid those bits or choose to make them better.</p>

<p>Take this up as a challenge: count in a given day, week or month how many times you or someone else groans about a section of code, functionality, etc&#8230; that has been complained about before.  Not that you&#8217;ll be surprised by the result but you may realized how complacent you and other devs have become about dangerous code you&#8217;re allowing your users to use.</p>

<p>Drop <a href=“http://en.wikipedia.org/wiki/Fear,_uncertainty_and_doubt”>FUD</a> as a tool and pick up something useful in it’s place (such as unit / integration tests or parallel deprecation).</p>
]]></content>
  </entry>
  
  <entry>
    <title type="html"><![CDATA[gaming the system]]></title>
    <link href="http://nickfloyd.github.com/blog/2011/04/06/gaming-the-system/"/>
    <updated>2011-04-06T00:00:00-05:00</updated>
    <id>http://nickfloyd.github.com/blog/2011/04/06/gaming-the-system</id>
    <content type="html"><![CDATA[<p>I’ve been wondering&#8230; what it would look like if I could close my eyes and pull my physical application platform out of a 2D doc and make it 3D.</p>

<p>What if you could take a game like <a href="http://www.minecraft.net/">minecraft</a> and build something like &#8220;appcraft&#8221; where you could visibly see where the weak points in your architecture are and what hardware / software relationships make up your app.</p>

<p>I’m not talking about some over blown UML but an almost touchable model of your software that you could actually walk through.  Why would it be so odd to actually make a game of it as well others could attack your virtual stack and see if they could break it.</p>

<p>What would be wrong with &#8220;gaming the system&#8221; and doing software modeling inside of minecraft?</p>

<p>{end-of-line}</p>
]]></content>
  </entry>
  
  <entry>
    <title type="html"><![CDATA[the caterpillar]]></title>
    <link href="http://nickfloyd.github.com/blog/2011/04/05/the-caterpillar/"/>
    <updated>2011-04-05T00:00:00-05:00</updated>
    <id>http://nickfloyd.github.com/blog/2011/04/05/the-caterpillar</id>
    <content type="html"><![CDATA[<p>I was reading the other day when I was visited by a caterpillar.  He was probably the size of a 0.7mm pencil lead.  Immediately distracted, I was taken away from reading and drawn to his movements.</p>

<p>A caterpillar is made of of a series of segments and devices each with the sole purpose of processing food.  I got tuned into that sole focus as he moved across my arm.  A few moves then up to have a look around for food, a few moves then up looking for food again and so on…</p>

<p>(This is where I am not going to draw a parallel to a caterpillars focus and some software or language idiom. )</p>

<p>Here is what I saw…</p>

<p>When the caterpillar approached something natural, such as my arm, a leaf, some grass - it move like silk, without interruption.  When it approached something unnatural, such as my watch, it struggled with navigation and movement.</p>

<p>Much like the software we write and design we loose traction when something ”unnatural” enters our systems.  Being cautious of aberrant things being introduced into our ecosystem is a fundamental desire of an architect. Without this awareness our systems begin to slow and stop functioning.</p>

<p>Consider the caterpillar - if you run into something that slows you or your system remove / re-factor.</p>

<p>{end-of-line}</p>
]]></content>
  </entry>
  
  <entry>
    <title type="html"><![CDATA[communication and responsibility ]]></title>
    <link href="http://nickfloyd.github.com/blog/2011/04/04/communication-and-responsibility/"/>
    <updated>2011-04-04T00:00:00-05:00</updated>
    <id>http://nickfloyd.github.com/blog/2011/04/04/communication-and-responsibility</id>
    <content type="html"><![CDATA[<p>I’ve dealt with many communication failures in the places where I have worked.  It seems that the talking really isn’t the problem or that TO:, CC: and BCC: really don’t play a role in the outcome of the purpose of the communication.</p>

<p>It comes down to ownership.  Who owns the thing that you’re communicating about, are they informed and is that ownership respected.  Often times people become impatient, want to “help,” want to get credit for or just want to do it their way. Which, in turn, massively distills the effectiveness of communication.  If I am the solutions architect, for instance,  and there is a fundamental change to “architecture”  then I had better be involved and own up to the outcome.</p>

<p>I’m not talking about the <a href="http://en.wikipedia.org/wiki/Responsibility_assignment_matrix">RACI</a> mess, to me that’s a lot of work and works just to say I’ve got it.  Most things can be absolutely inferred as to who owns them.  I’m not talking about the ambiguous lines like an organizational decision such as making core hours for the teams; more like the decision to change systems or software patterns.</p>

<p>Consider how these things pan out in life…</p>

<p>I own the budget in my household because i am better at numbers and cash; no “formal” decision was ever made to make me the budget czar.  If you “own” something, make sure you do just that.  Otherwise there will be a lot more mud in your waters that you need to inherit.</p>

<p>{end of line}</p>
]]></content>
  </entry>
  
</feed>

