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

  <title><![CDATA[Get Off My Lawn]]></title>
  <link href="http://melriffe.github.com/atom.xml" rel="self"/>
  <link href="http://melriffe.github.com/"/>
  <updated>2014-11-22T21:15:10-05:00</updated>
  <id>http://melriffe.github.com/</id>
  <author>
    <name><![CDATA[Mel Riffe]]></name>
    <email><![CDATA[mriffe@gmail.com]]></email>
  </author>
  <generator uri="http://octopress.org/">Octopress</generator>

  
  <entry>
    <title type="html"><![CDATA[Missing Words]]></title>
    <link href="http://melriffe.github.com/blog/2014/11/21/new-post/"/>
    <updated>2014-11-21T00:16:00-05:00</updated>
    <id>http://melriffe.github.com/blog/2014/11/21/new-post</id>
    <content type="html"><![CDATA[<h2>Or, things I should&#8217;ve said and didn&#8217;t</h2>

<p>Today I received some not-so-good news: my Grandma is very sick and weak. To write that doesn&#8217;t have all the true weight of the situation. Suffice it to say, it&#8217;s serious.</p>

<p>So, here I am, in Virginia, trying to head off a tail-spin while my Grandmother is in Michigan, sick. And my only thoughts are: I should&#8217;ve shared more of my life with her and now it might be too late.</p>

<p>Grandma: these are for you. I&#8217;m sorry I didn&#8217;t share sooner&#8230;</p>

<!--more-->


<h2>Kaela</h2>

<p>Kaela is about to graduate college (finally). She&#8217;ll have a Bachelor&#8217;s Degree in Forensic Science. She&#8217;s worked very hard to achieve this. Heather and I are very proud of her. My Mom and Dad are also proud of her. I know you can be proud of her too.</p>

<p>I don&#8217;t know if you&#8217;d recognize her right away. I don&#8217;t mean she&#8217;s different looking. She&#8217;s no longer the quiet shy girl you might remember. She&#8217;s finally found her voice and her backbone. She&#8217;s very strong willed and opinionated. I wonder where she got that from? I&#8217;ll tell you what: she came by it honestly that&#8217;s for sure.</p>

<p>And she&#8217;s a good Big Sister too. I know she doesn&#8217;t always see eye-to-eye with her sister, but I know she really loves Alex and tries to help her when she can. She helps with Noah too. She even helps him with his Math homework. Kaela&#8217;s quite protective of her family too.</p>

<p>She&#8217;s quite an amazing woman now. Sheesh, I can&#8217;t believe she&#8217;s 23 years old now. To put it in perspective Heather was 21 and I was 24 when Kaela was born.</p>

<h2>Alexandria</h2>

<p>Alex. What can I say about Alex?</p>

<p>We had some tough times with Alex. It wasn&#8217;t anything she did (other than be a typical teenage girl); it was more of what was going on at the time. I&#8217;m not going to lie: it was tough and it continues to be tough. However I&#8217;m quite proud of the young woman she&#8217;s become.</p>

<p>Heather and I struggled to get Alex through high-school but she did graduate. She hasn&#8217;t started college yet. We all decided it would probably be a good thing if she took a break from school. So, she went to work. She has a lot of drive and ambition. She&#8217;s also headstrong and opinionated. But swears like a Sailor. She&#8217;s not afraid to tell it like it is. But when it comes to working she takes after her mother quite a bit. She works for a gas station/convenience/deli chain named Wawa. She started out at the bottom, like everyone else. However, 2 years later, she&#8217;s now a Shift Manager. She&#8217;s not afraid to get her hands dirty and do what needs to be done. You can be proud of her, too.</p>

<p>We&#8217;re hoping to get Alex in college come this January. I think she&#8217;s ready. She doesn&#8217;t want to stay at Wawa any longer than necessary. I&#8217;m not sure what she&#8217;ll study, but she can decide on that later.</p>

<p>She&#8217;s out on her own and has been for a while. She&#8217;s getting a taste of &#8216;real life&#8217;. But I have to tell you: it&#8217;s always good to see her when she visits. And I always feel better when she can go home with some extra food and stuff. I&#8217;m sure when Kaela moves out we&#8217;ll do the same for her.</p>

<h2>Noah</h2>

<p>Noah is now 13 and sporting that brand-new moustache. He&#8217;s now nearly as tall as Heather and weighs in around 100 pounds. For the longest time he was our small guy. Welp, over the summer he had his growth spurt: 6 1/2 in and 27 pounds. The Doctor said he&#8217;ll continue to grow after high-school and has a good chance of reaching 6&#8217;. He&#8217;s happy about that. Of course he needs all new clothes. And eat! I guess I now know what my Mom &amp; Dad went through.</p>

<p>And Noah&#8217;s in the 8th grade and goes to the regular classes. He&#8217;s definitely Autistic but he&#8217;s definitely smart, too smart; like his sisters. And now that he&#8217;s 13&#8230; oh boy&#8230; teenage hormones and autistic traits! Soemtimes it&#8217;s not very much fun, other times he&#8217;s hilariously clumsy.</p>

<p>Talking about school, Noah is taking German 3 now. In fact, when he started taking German in 6th grade, he was the only 6th grader; he&#8217;s the only 8th grader now too. I&#8217;m not sure what to think. He takes the class at the high school. And, of course, the high school has the better lunches; the girls did confirm that the Otis Spunkmeyer Cookies were delicious. But, he&#8217;s 13, he&#8217;s a little more concious of his appearence&#8230;</p>

<h2>Heather</h2>

<p>Grandma, she adores you. We all do, but for Heather you&#8217;re like a role model. She keeps reminding me that you&#8217;re the strongest woman she knows. I know you are (we all know that) but it&#8217;s good to hear it too. I&#8217;m so happy you got to meet her. She&#8217;s a keeper! I&#8217;m still madly in love with her. And signs point to her still being able to tolerate me. That&#8217;s a plus. It&#8217;s kind of neat to think that nearly half of my life has been spent with Heather by my side. We&#8217;ve had our ups and downs, good times and bad times. But I can&#8217;t imagine life without her.</p>

<p>We&#8217;re going through some tough times, health-wise, though. But she&#8217;s not letting anything slow her down. Her current challenge is her parents. They&#8217;re both experiencing health challenges. They live in West Virgnia but come to Richmond for the serious medical care. So, for a while now, every 3 months or so, for about 2 weeks, we have Heather&#8217;s parents here. Let me be frank: it&#8217;s difficult. But enough about them.</p>

<p>Heather&#8217;s calmed down a little bit over the years. I must be wearing her down. It&#8217;s nice to see her take time for herself. It&#8217;s not as often as I would like to see it but at least she does. She basically taught herself to crochet and now that&#8217;s all she wants to do. She&#8217;s already made the girls scarves. I asked for socks. We&#8217;ll see.</p>

<h2>Me</h2>

<p>Words really can&#8217;t express what I&#8217;m feeling and thinking right now. But I&#8217;m filled with emotions ready to burst.</p>

<p>I&#8217;ve tried really hard to be a good husband, a good dad, a good son. It&#8217;s not easy, hasn&#8217;t been easy. But I keep trying because I want everyone to be proud of me. Not &#8216;everyone&#8217; everyone, of course, but my family. I feel bad for my kids not having the opportunity to spend time with you like I did. And then Life got in the way. I got so busy with what&#8217;s going on down here I barely noticed we&#8217;ve been in Virginia for 17 years. I guess we all grow up eventually.</p>

<p>What I wouldn&#8217;t give to be in your kitchen, right now, eating green beans (fresh from the garden, of course) and boiled potatoes and corn bread (you can keep the garbage - I never really liked it). Heather&#8217;s a fantastic cook (and I&#8217;ve got the gut to prove it) but I can still taste your green beans.</p>

<p>I&#8217;m so sorry I didn&#8217;t write or call. I have so much to learn. I have so many questions. But I do know one thing: I love you very much Grandma and I want to thank you for all you&#8217;ve shown and taught me.</p>
]]></content>
  </entry>
  
  <entry>
    <title type="html"><![CDATA[CVREG]]></title>
    <link href="http://melriffe.github.com/blog/2013/09/11/cvreg/"/>
    <updated>2013-09-11T11:23:00-04:00</updated>
    <id>http://melriffe.github.com/blog/2013/09/11/cvreg</id>
    <content type="html"><![CDATA[<h2>Central Vigrinia Ruby Enthusiasts Group (CVREG)</h2>

<h3>Richmond&#8217;s Premiere Ruby Users Group</h3>

<p><a href="http://cvreg.org">http://cvreg.org</a></p>

<p>I have &#8220;officially&#8221; stepped down as the principal organizer. I, kind of, stepped in around October 2008 and, after 5 years, it&#8217;s been a blast. But it&#8217;s time for me to hand over the reins. Thankfully my group is filled with a lot of great folks; I&#8217;m confident the group will continue to grow, continue to get better, continue to be a great tech-community citizen.</p>

<p>I&#8217;d like to share some memories&#8230;</p>

<!--more-->


<h2>Andy Hunt</h2>

<p>If you&#8217;re a developer and you haven&#8217;t read <a href="http://pragprog.com/book/tpp/the-pragmatic-programmer">The Pragmatic Programmer</a> then stop reading this post and buy a copy&#8230; Right Now!</p>

<p>Ok, so you&#8217;ve read the book, yes? Then you know about <a href="http://blog.toolshed.com/">Andy Hunt</a> and Dave Thomas.</p>

<p>I finally had an opportunity to meet Andy at a developer&#8217;s event/conference in Durham, NC a few years ago. And, after finally getting up the nerve, I introduce myself and asked what it would take to get him to come to Richmond to talk to my Ruby Users Group. Unbeknownst to me, Chris Allport, now a CVREG Organizer, but then an RJUG Organizer, asked about Andy coming to speak to the RJUG. After learning that we both asked him, we worked together to get the logistics figured out.</p>

<p>Personally, it was one of the best meetings I&#8217;ve planned or attended.</p>

<p>And what was Andy&#8217;s reply to my question? Oh, I don&#8217;t <a href="http://twitpic.com/iudd4">remember</a>.</p>

<h2>RubyNation</h2>

<p>Hands down, one of the best regional Ruby conferences out there. I highly recommend attending if you get the chance. In fact, a number of CVREG&#8217;s former speakers were approached at a <a href="http://www.rubynation.org/">RubyNation</a>.</p>

<p>And, if all the planets align, they offer a discounted rate for Ruby Group Organizers. ;-) Not too shabby, eh?</p>

<p>It probably goes without saying, but c&#8217;mon, who am I; conferences are a great source for speakers. Here&#8217;s a quick list of former speakers I approached at a conference:</p>

<ul>
<li>Avdi Grim</li>
<li>Bob McWirther</li>
<li>Joe O&#8217;Brien</li>
<li>Jeff Casimir</li>
<li>David Bock</li>
</ul>


<h2>804RVA</h2>

<p>For all the past, present, and future User Group organizers nothing helps like consistency; nothing hurts like inconsistency. I want to thank <a href="http://www.804rva.com/">804RVA</a>, the coolest co-working location in Richmond, for supporting CVREG by providing a super awesome meeting location.</p>

<p>And I want to thank everyone else that provided meeting locations for those ties where we didn&#8217;t have consistency; you helped keep CVREG afloat.</p>

<h2>Stategy Cafe</h2>

<p>I would be remiss if I didn&#8217;t mention Greg Provo and <a href="http://strategycafe.com/">Strategy Cafe</a>. He helped get CVREG off the ground. Now, admittedly I wasn&#8217;t there because I joined the group after it had been formed; this could all be hearsay and/or some great fiction I&#8217;m writing. But, as the story goes, Greg, Jim Van Fleet, and Matt Overstreet were throwing back some beers one fine evening mid-summer 2008. Being technology folks the topic eventually landed on Ruby on Rails. Mr. Van Fleet had recently participated in an organized Ruby Code Jam in Charlottesville and wanted to bring the excitement to Richmond. Greg was able to supply a meeting location, a domain, and website hosting. The group was born!</p>

<p>My hat&#8217;s off to Mr. Provo for recognizing Ruby as a viable alternative to the entrenched .Net and Java shops inhabiting Richmond.</p>

<h2>The Future</h2>

<p>We&#8217;re a long way off from Ruby being the predominate language used in Richmond (if ever). But I think we&#8217;ve done a great job of letting folks know we exist. There is a group of passionate Ruby developers; hell, we&#8217;re passionate about technology and its use to solve simple and complex problems alike. I believe we&#8217;re a welcoming group. And we&#8217;re waiting for you to show up and help make CVREG better.</p>

<p>Remember, spread the word and bring a friend! And Thanks for all the great memories!!</p>

<p><strong>Cheers!</strong></p>
]]></content>
  </entry>
  
  <entry>
    <title type="html"><![CDATA[Smalltalk Reboot]]></title>
    <link href="http://melriffe.github.com/blog/2013/08/15/smalltalk-reboot/"/>
    <updated>2013-08-15T19:19:00-04:00</updated>
    <id>http://melriffe.github.com/blog/2013/08/15/smalltalk-reboot</id>
    <content type="html"><![CDATA[<h2>Smalltalk, Seaside; Final Answer!</h2>

<p>I&#8217;m not ashamed to say I&#8217;ve been struggling with <a href="http://melriffe.github.com/blog/2013/06/10/bf3-squad-update/">BF3 Squad</a>, my <a href="http://www.battlefield.com/battlefield3">Battlefield 3</a>-focused web application. I had selected the technology stack: <a href="http://www.padrinorb.com/">Padrino</a> and <a href="http://www.postgresql.org/">Postgres</a>, briefly considering <a href="https://github.com/rails-api/rails-api">RailsAPI</a> and <a href="http://emberjs.com/">Ember.js</a>. I had a Look and Feel loosely defined; I even started writing up an <a href="http://i.imgur.com/T2HklkN">HTML mock-up</a>. But I wasn&#8217;t happy with my progress, or lack thereof.</p>

<p>But&#8230;it&#8217;s all about to change again&#8230;</p>

<!--more-->


<p>Realizing I wasn&#8217;t making any progress and, indirectly, pressured by the upcoming <a href="http://www.battlefield.com/battlefield-4">Battlefield 4</a> release, I decided I would take a different tack. At it&#8217;s core this application consumes JSON data. I decided I would implment the core functionality and just display the raw JSON, delaying the Look and Feel exercise until I need it. Vióla! I had a plan of attack.</p>

<p>However, more imporantly, I was inspired by <a href="https://twitter.com/srbaker">Stephen R. Baker</a> (he came and spoke at my <a href="http://cvreg.org">Ruby Users Group</a>) I&#8217;m going back to <a href="http://www.pharo-project.org/home">Smalltalk</a>, <a href="http://www.seaside.st/">Seaside</a> in particular. Oh, my beloved <a href="http://www.pharo-project.org/home">Smalltalk</a>.</p>

<p>I feel confident I have the general work flow defined; I have some spike code written even. And, in my mind&#8217;s eye, nothing, application-wise, changes. I have a different set of deployment issues, but that&#8217;s OK. I believe, with <a href="http://book.seaside.st/book">Seaside</a> and <a href="http://pharobyexample.org/">Smalltalk</a>, I&#8217;ll be able to write the core application in short order.</p>

<p>What I believe is the absolute lowest level of functionality consists of the following requirements:</p>

<ul>
<li>Make an HTTP request to an API end-point that returns JSON data</li>
<li>Store JSON data, as-is</li>
<li>Display JSON data</li>
</ul>


<p>Now, there are some rules regarding the sending of the API request. And there may be some rules regarding the storing of the JSON data. But other than those two variables, the above list is all this application will do.</p>

<p>At a later point I want to add Accounts and authentication and authorization. I want people to be able to sign up for my application. I want people to be able to add All of their Battlefield soldiers. But I can delay that functionality until I need it.</p>

<p>I&#8217;m excited. And I can&#8217;t wait to show you some code (once it&#8217;s written) and the application (once it&#8217;s deployed).</p>

<p><strong>Cheers</strong></p>
]]></content>
  </entry>
  
  <entry>
    <title type="html"><![CDATA[BF3 Squad Update]]></title>
    <link href="http://melriffe.github.com/blog/2013/06/10/bf3-squad-update/"/>
    <updated>2013-06-10T16:30:00-04:00</updated>
    <id>http://melriffe.github.com/blog/2013/06/10/bf3-squad-update</id>
    <content type="html"><![CDATA[<p>Progress has been slow, real slow. Sadly, I&#8217;ve wavered back and forth between
Padrino and Rails API + Ember.js. However, I&#8217;m going to stick it out with
Padrino! I may have some help now. The learning curve was one thing that held
up my progress; the other was futzing over the UI/UX (which I still don&#8217;t have
ironed out).</p>

<p>But I think I want to share some of my notes on the UI&#8230;</p>

<!--more-->


<h2>BF3 Squad UI</h2>

<p>I&#8217;m essentially splitting up the data into three distinct groups: Solider,
Vehicle, and Assignments. Each section will be further divided into sub-sections.</p>

<p>I&#8217;m definitely going to highlight the Soldier Kits: Assault, Engineer, Support,
and Recon. I&#8217;m also going to group Dog Tags, Medals, and Ribbons together. I&#8217;m
also going to group Pistols, Shotguns, and PDWs together. What ever is left will
comprise the main Solider sub-section.</p>

<p>I haven&#8217;t looked into how I&#8217;m going to divide the Vehicle information, yet.
There seems to be a grouping of Air Vehicles vs. Land Vehicles. Once I get it
figured out though, I&#8217;ll document it.</p>

<p>And Assignments: those are already divided based on the DLC with which they&#8217;re
associated. The main Assignments sub-section, will present a summary of the
progress made across all assignments. This section, though, seems to be limited
to those that have access to the DLCs. This brings up the possibility folks
may not have access to Assignments; progress will always be 0%.</p>

<h2>Authoriztion &amp; Authentication</h2>

<p>I&#8217;m also going to be looking at Warden and CanCan. I need to simplify the technology
stack and that duo appears to take care of my requirements.</p>

<ul>
<li>Allow a user to signup at the site</li>
<li>Allow a user to set up their profile (in this case it&#8217;s their BF3 Solider information)</li>
<li>Allow the user to view their soldier</li>
<li>Don&#8217;t allow the user to view other profiles</li>
<li>Don&#8217;t allow the user to view other users&#8217; soldiers</li>
</ul>


<h2>Data Model</h2>

<p>I think I want an Account Model. This will contain the login information as
well as other pieces of data. That model will have a <em>has_many</em> relationship
to the Player Model. And, of course, the Player Model is my dumb JSON data
container.</p>

<p>I&#8217;ll have to define helper methods to pull out the necessary data and
relationships. That actually got me to thinking about Ember.js. But I&#8217;m not
going to be using Ember.js on this project. I&#8217;m actively trying to keep the
technology stack simple.</p>

<h2>Revenue Generation</h2>

<p>I had thought about trying to make a little money on the side with this project,
but, with the soonish release of Battlefield 4, I may wait until then. I could
use this project as a learning experience and when BF4 releases, start on the
next version. I would also like to have a Mobile version. However, if I use
HTML5 do I need one? We&#8217;ll see.</p>

<p><strong>Cheers</strong></p>
]]></content>
  </entry>
  
  <entry>
    <title type="html"><![CDATA[Personal Project Continued]]></title>
    <link href="http://melriffe.github.com/blog/2013/03/13/personal-project-continued/"/>
    <updated>2013-03-13T22:16:00-04:00</updated>
    <id>http://melriffe.github.com/blog/2013/03/13/personal-project-continued</id>
    <content type="html"><![CDATA[<p>I&#8217;ve started to put some of the technology pieces together, but I&#8217;m still, very
much in a prototype-, spike-mode. Per usual, I&#8217;m kind of stuck on the visuals
for the website. I <em>know</em> what I want; I&#8217;m just not sure how to get there from
here.</p>

<h2>InK - Interface Kit</h2>

<!--more-->


<p>I don&#8217;t remember where/when I found it, but I&#8217;m going to be using <a href="http://ink.sapo.pt/index.php">InK</a> for my
presentation layer. It includes a lot of nice things out-of-the-box, but the
main one is the &#8220;responsive&#8221; design.</p>

<p>And while it does <strong>Grids</strong> differently, possibly easier and more straight
forward, I think my presentation is <strong>at most</strong> two columns. The initial
iterations will only use a single column.</p>

<p>I probably need a UX/Data design person to help me layout all of the information
I plan on presenting; it&#8217;s going to be dense. While there&#8217;s a lot of data  to
present I don&#8221;t want the UI to feel cluttered.</p>

<h2>Soldier Images</h2>

<p>Naturally, since this website/application is going to be focused on Battlefield3,
I&#8217;m in need of some military-type images.</p>

<p>I have found some I plan on using; I also want to select one for the site&#8217;s
background. However, from a suggestion, I was able to find quite a few interesting
pictures on DeviantArt.</p>

<h2>Padrino</h2>

<p>Ok, the interesting bits; sadly I haven&#8217;t dug too deep yet into padrino and the
functionality is brings to the project. I&#8217;ve generated my skeleton application.
I&#8217;ve read the docs. I even implemented a PagesController:</p>

<figure class='code'><figcaption><span>app/controller/pages.rb </span></figcaption>
 <div class="highlight"><table><tr><td class="gutter"><pre class="line-numbers"><span class='line-number'>1</span>
<span class='line-number'>2</span>
<span class='line-number'>3</span>
<span class='line-number'>4</span>
<span class='line-number'>5</span>
<span class='line-number'>6</span>
<span class='line-number'>7</span>
<span class='line-number'>8</span>
<span class='line-number'>9</span>
<span class='line-number'>10</span>
<span class='line-number'>11</span>
</pre></td><td class='code'><pre><code class='rb'><span class='line'><span class="no">Bf3Squad</span><span class="o">.</span><span class="n">controllers</span> <span class="ss">:pages</span> <span class="k">do</span>
</span><span class='line'>
</span><span class='line'>  <span class="n">get</span> <span class="ss">:index</span><span class="p">,</span> <span class="ss">:map</span> <span class="o">=&gt;</span> <span class="s1">&#39;/&#39;</span> <span class="k">do</span>
</span><span class='line'>    <span class="n">render</span> <span class="s1">&#39;pages/home&#39;</span>
</span><span class='line'>  <span class="k">end</span>
</span><span class='line'>
</span><span class='line'>  <span class="n">get</span> <span class="ss">:show</span><span class="p">,</span> <span class="ss">:map</span> <span class="o">=&gt;</span> <span class="s1">&#39;/pages/:id&#39;</span> <span class="k">do</span>
</span><span class='line'>    <span class="n">render</span> <span class="s2">&quot;pages/</span><span class="si">#{</span><span class="n">params</span><span class="o">[</span><span class="ss">:id</span><span class="o">].</span><span class="n">to_s</span><span class="o">.</span><span class="n">downcase</span><span class="si">}</span><span class="s2">&quot;</span>
</span><span class='line'>  <span class="k">end</span>
</span><span class='line'>
</span><span class='line'><span class="k">end</span>
</span></code></pre></td></tr></table></div></figure>


<p>I&#8217;m using Sequel as my ORM. The connection configuration was new:</p>

<figure class='code'><figcaption><span>config/database.rb </span></figcaption>
 <div class="highlight"><table><tr><td class="gutter"><pre class="line-numbers"><span class='line-number'>1</span>
<span class='line-number'>2</span>
<span class='line-number'>3</span>
<span class='line-number'>4</span>
<span class='line-number'>5</span>
<span class='line-number'>6</span>
<span class='line-number'>7</span>
</pre></td><td class='code'><pre><code class='rb'><span class='line'><span class="no">Sequel</span><span class="o">::</span><span class="no">Model</span><span class="o">.</span><span class="n">plugin</span><span class="p">(</span><span class="ss">:schema</span><span class="p">)</span>
</span><span class='line'><span class="no">Sequel</span><span class="o">::</span><span class="no">Model</span><span class="o">.</span><span class="n">raise_on_save_failure</span> <span class="o">=</span> <span class="kp">false</span> <span class="c1"># Do not throw exceptions on failure</span>
</span><span class='line'><span class="no">Sequel</span><span class="o">::</span><span class="no">Model</span><span class="o">.</span><span class="n">db</span> <span class="o">=</span> <span class="k">case</span> <span class="no">Padrino</span><span class="o">.</span><span class="n">env</span>
</span><span class='line'>  <span class="k">when</span> <span class="ss">:development</span> <span class="k">then</span> <span class="no">Sequel</span><span class="o">.</span><span class="n">connect</span><span class="p">(</span><span class="s2">&quot;postgres://bf3squad:bf3quad@localhost:5432/bf3_squad_development&quot;</span><span class="p">,</span> <span class="ss">:loggers</span> <span class="o">=&gt;</span> <span class="o">[</span><span class="n">logger</span><span class="o">]</span><span class="p">)</span>
</span><span class='line'>  <span class="k">when</span> <span class="ss">:production</span>  <span class="k">then</span> <span class="no">Sequel</span><span class="o">.</span><span class="n">connect</span><span class="p">(</span><span class="s2">&quot;postgres://bf3squad:bf3quad@localhost:5432/bf3_squad_development&quot;</span><span class="p">,</span> <span class="ss">:loggers</span> <span class="o">=&gt;</span> <span class="o">[</span><span class="n">logger</span><span class="o">]</span><span class="p">)</span>
</span><span class='line'>  <span class="k">when</span> <span class="ss">:test</span>        <span class="k">then</span> <span class="no">Sequel</span><span class="o">.</span><span class="n">connect</span><span class="p">(</span><span class="s2">&quot;postgres://bf3squad:bf3quad@localhost:5432/bf3_squad_test&quot;</span><span class="p">,</span>        <span class="ss">:loggers</span> <span class="o">=&gt;</span> <span class="o">[</span><span class="n">logger</span><span class="o">]</span><span class="p">)</span>
</span><span class='line'><span class="k">end</span>
</span></code></pre></td></tr></table></div></figure>


<p>I had to create a PostgreSQL Login Role, password protected, of course. I had
to manually add that to the connection information. And, while I didn&#8217;t try
without, I did add the port information to the connection string.</p>

<p>Sequel also implements migrations:</p>

<figure class='code'><figcaption><span>db/migrate/001_create_players.rb </span></figcaption>
 <div class="highlight"><table><tr><td class="gutter"><pre class="line-numbers"><span class='line-number'>1</span>
<span class='line-number'>2</span>
<span class='line-number'>3</span>
<span class='line-number'>4</span>
<span class='line-number'>5</span>
<span class='line-number'>6</span>
<span class='line-number'>7</span>
<span class='line-number'>8</span>
<span class='line-number'>9</span>
<span class='line-number'>10</span>
<span class='line-number'>11</span>
<span class='line-number'>12</span>
<span class='line-number'>13</span>
<span class='line-number'>14</span>
<span class='line-number'>15</span>
</pre></td><td class='code'><pre><code class='rb'><span class='line'><span class="no">Sequel</span><span class="o">.</span><span class="n">migration</span> <span class="k">do</span>
</span><span class='line'>  <span class="n">up</span> <span class="k">do</span>
</span><span class='line'>    <span class="n">create_table</span> <span class="ss">:players</span> <span class="k">do</span>
</span><span class='line'>      <span class="n">primary_key</span> <span class="ss">:id</span>
</span><span class='line'>      <span class="nb">String</span> <span class="ss">:platform</span>
</span><span class='line'>      <span class="nb">String</span> <span class="ss">:name</span>
</span><span class='line'>      <span class="no">Text</span> <span class="ss">:data</span>
</span><span class='line'>      <span class="n">index</span> <span class="o">[</span><span class="ss">:platform</span><span class="p">,</span> <span class="ss">:name</span><span class="o">]</span><span class="p">,</span> <span class="ss">:name</span> <span class="o">=&gt;</span> <span class="s1">&#39;index_players_on_bf3stats_key&#39;</span>
</span><span class='line'>    <span class="k">end</span>
</span><span class='line'>  <span class="k">end</span>
</span><span class='line'>
</span><span class='line'>  <span class="n">down</span> <span class="k">do</span>
</span><span class='line'>    <span class="n">drop_table</span> <span class="ss">:players</span>
</span><span class='line'>  <span class="k">end</span>
</span><span class='line'><span class="k">end</span>
</span></code></pre></td></tr></table></div></figure>




<figure class='code'><figcaption><span>models/player.rb </span></figcaption>
 <div class="highlight"><table><tr><td class="gutter"><pre class="line-numbers"><span class='line-number'>1</span>
<span class='line-number'>2</span>
<span class='line-number'>3</span>
</pre></td><td class='code'><pre><code class='rb'><span class='line'><span class="k">class</span> <span class="nc">Player</span> <span class="o">&lt;</span> <span class="no">Sequel</span><span class="o">::</span><span class="no">Model</span>
</span><span class='line'>
</span><span class='line'><span class="k">end</span>
</span></code></pre></td></tr></table></div></figure>


<p>If you&#8217;ve used ActiveRecord then nothing should jump out at you, just the
syntactical differences. And I&#8217;m not sure how I feel about the (apparent)
sequential numbering of migrations.</p>

<p>And the Model doesn&#8217;t implement any behavior over and above what Sequel
provides. Padrino also allows you to put your models in several different
locations, depending on your needs. It seems this <code>models</code> directory
allows models to be shared across implemented, mounted applications.</p>

<p>There are several different files that got generated but I&#8217;m not listing
them here because I haven&#8217;t changed them.</p>

<p>Here are the Specs that got generated when I generated my controller and
model:</p>

<figure class='code'><figcaption><span>spec/app/controllers/pages_controller_spec.rb </span></figcaption>
 <div class="highlight"><table><tr><td class="gutter"><pre class="line-numbers"><span class='line-number'>1</span>
<span class='line-number'>2</span>
<span class='line-number'>3</span>
<span class='line-number'>4</span>
<span class='line-number'>5</span>
<span class='line-number'>6</span>
<span class='line-number'>7</span>
<span class='line-number'>8</span>
<span class='line-number'>9</span>
<span class='line-number'>10</span>
<span class='line-number'>11</span>
</pre></td><td class='code'><pre><code class='rb'><span class='line'><span class="nb">require</span> <span class="s1">&#39;spec_helper&#39;</span>
</span><span class='line'>
</span><span class='line'><span class="n">describe</span> <span class="s2">&quot;PagesController&quot;</span> <span class="k">do</span>
</span><span class='line'>  <span class="n">before</span> <span class="k">do</span>
</span><span class='line'>    <span class="n">get</span> <span class="s2">&quot;/&quot;</span>
</span><span class='line'>  <span class="k">end</span>
</span><span class='line'>
</span><span class='line'>  <span class="n">it</span> <span class="s2">&quot;returns hello world&quot;</span> <span class="k">do</span>
</span><span class='line'>    <span class="n">last_response</span><span class="o">.</span><span class="n">body</span><span class="o">.</span><span class="n">should</span> <span class="o">=~</span> <span class="sr">/Hello World/</span>
</span><span class='line'>  <span class="k">end</span>
</span><span class='line'><span class="k">end</span>
</span></code></pre></td></tr></table></div></figure>




<figure class='code'><figcaption><span>spec/models/player_spec.rb </span></figcaption>
 <div class="highlight"><table><tr><td class="gutter"><pre class="line-numbers"><span class='line-number'>1</span>
<span class='line-number'>2</span>
<span class='line-number'>3</span>
<span class='line-number'>4</span>
<span class='line-number'>5</span>
<span class='line-number'>6</span>
<span class='line-number'>7</span>
<span class='line-number'>8</span>
</pre></td><td class='code'><pre><code class='rb'><span class='line'><span class="nb">require</span> <span class="s1">&#39;spec_helper&#39;</span>
</span><span class='line'>
</span><span class='line'><span class="n">describe</span> <span class="s2">&quot;Player Model&quot;</span> <span class="k">do</span>
</span><span class='line'>  <span class="n">let</span><span class="p">(</span><span class="ss">:player</span><span class="p">)</span> <span class="p">{</span> <span class="no">Player</span><span class="o">.</span><span class="n">new</span> <span class="p">}</span>
</span><span class='line'>  <span class="n">it</span> <span class="s1">&#39;can be created&#39;</span> <span class="k">do</span>
</span><span class='line'>    <span class="n">player</span><span class="o">.</span><span class="n">should_not</span> <span class="n">be_nil</span>
</span><span class='line'>  <span class="k">end</span>
</span><span class='line'><span class="k">end</span>
</span></code></pre></td></tr></table></div></figure>


<p>Again, very vanilla because I haven&#8217;t added any extra behavior. One note, though,
I did change the controller spec from <code>== "Hello World"</code> to <code>=~ /Hello World/</code>
because I started to implement my InK-inspired layout.</p>

<h2>Up Next</h2>

<p>I have quite a few things to do before I can create Version 0.0.0. I still need
to implement the mechanism to call the BF3 Stats API. I need to learn more about
Sequel in order to know what can and can&#8217;t be done via the ORM. I need to implement
authentication; I&#8217;m leaning towards OmniAuth Identity and support for Twitter,
Facebook, and Google+ OAuth.</p>

<p>I guess I should develop some kind of Product Road Map; would probably help me
stay on task.</p>

<p><strong>Cheers</strong></p>
]]></content>
  </entry>
  
  <entry>
    <title type="html"><![CDATA[Personal Project - Post 1]]></title>
    <link href="http://melriffe.github.com/blog/2013/02/05/personal-project/"/>
    <updated>2013-02-05T22:35:00-05:00</updated>
    <id>http://melriffe.github.com/blog/2013/02/05/personal-project</id>
    <content type="html"><![CDATA[<p>I&#8217;m going to start building my personal project and I thought I&#8217;d share a few details about it.</p>

<p>First, it&#8217;s going to be written in Ruby (of course).</p>

<p>Second, it&#8217;s going to be built using <a href="http://www.padrinorb.com">Padrino</a>. The initial website is going to be small
and I don&#8217;t need everything that comes with <a href="http://rubyonrails.org/">Rails</a>. I first thought of <a href="http://www.sinatrarb.com/">Sinatra</a>,
but then I remembered hearing about Padrino. I started reading the <a href="http://www.padrinorb.com/guides">Guides</a> and
became excited at the prospect of building a website with it.</p>

<p>Third, largely because of Padrio, I&#8217;m going to use <a href="http://sequel.rubyforge.org/">Sequel</a> as my ORM. For my
initial implementation (or so I&#8217;m planning) my <a href="http://www.postgresql.org/">Postgres</a> database will just be a
place to hold <a href="http://json.org/">JSON</a> data. While I do have relationships within the structure of the JSON, I&#8217;m
not going to persist them.</p>

<p>Fourth, I hope to regularly blog about my adventures. Although I didn&#8217;t document my research phrase, I do/did plan
on documenting the construction phase. I&#8217;ll get into more details as the implementation progresses.</p>

<h2>Project Vision</h2>

<p>Ok, I think it&#8217;s time I shared a little bit about the project. My goal is to construct an application to help
Battlefield 3 players &#8220;level up&#8221; through the ranks, the classes, and the myriad unlocks for weapons and vehicles.</p>

<p>There&#8217;s a fabulous <a href="http://bf3stats.com">stats</a> site, as well as Battlefield&#8217;s <a href="http://battlelog.battlefield.com">Battlelog</a>
and even their in-game progress tracking. My site, in presenting the stats data in a slightly different manner, aims
to compliment those resources.</p>

<p>Also, if all goes well, there&#8217;s even a mobile version planned. In fact, the mobile version was to be implemented first
until I thought, &#8220;let&#8217;s make this a website first to test the theory.&#8221;</p>

<p>Look for Post 2 in the coming weeks.</p>

<p><strong>Cheers</strong></p>
]]></content>
  </entry>
  
  <entry>
    <title type="html"><![CDATA[BF3Stats &amp; An Idea]]></title>
    <link href="http://melriffe.github.com/blog/2012/11/30/bf3stats-and-an-idea/"/>
    <updated>2012-11-30T00:25:00-05:00</updated>
    <id>http://melriffe.github.com/blog/2012/11/30/bf3stats-and-an-idea</id>
    <content type="html"><![CDATA[<p><a href="http://bf3stats.com">BF3Stats</a> is a wonderful website that is part of a group of websites that
track gaming statistics for various video games, one of which is <a href="http://battlelog.battlefield.com">Battlefield 3</a>!
And, since getting involved with <a href="http://battlelog.battlefield.com">Battlefield 3</a>, I&#8217;ve discovered a lot of folks
routinely use <a href="http://bf3stats.com">BF3Stats</a>. In fact, <a href="http://getbblog.com/">Better Battlelog</a>, a browser extension that
enhances Battlefield&#8217;s Battlelog, utilizes <a href="http://bf3stats.com">BF3Stats</a> for many of its features.</p>

<p>If you love numbers and stats, you&#8217;ll love this website.</p>

<p>&#8220;But wait! There&#8217;s more!&#8221;</p>

<!--more-->


<h2>BF3Stats&#8217; Public API</h2>

<p>Not only can you track your progress on their website; not only can you track
a set of players&#8217; progress, as well; <a href="http://bf3stats.com">BF3Stats</a> has an API that anyone can use.
In fact, I learned about <a href="http://bf3stats.com">BF3Stats</a> from the Android App: <a href="https://play.google.com/store/apps/details?id=com.bcseime.bf3stats3">Battlefield BF3 Stats</a>.
(As part of the &#8216;agreement&#8217; for using the <a href="http://bf3stats.com/api">API</a>, they request you sport a
&#8216;powered by&#8217; label on your app and/or website)</p>

<p>So I started to explore their <a href="http://bf3stats.com/api">API</a> and found it short on examples. <em>le sigh</em> But
my little bit of exploration got my wheels turning.</p>

<h2>Quick Tangent</h2>

<p>The images on my &#8217;<a href="http://melriffe.github.com/section/battlefield">Battlefield</a>&#8217; page, here, is actually supplied/generated by
<a href="http://bf3stats.com">BF3Stats</a>. There&#8217;s a way to create these <em>signature</em> images that integrate your
stats into the image using the <a href="http://bf3stats.com/api">API</a> (I&#8217;m sure). Actually, I don&#8217;t know how it&#8217;s
done and I&#8217;m not really all that interested in learning how (at least not yet).</p>

<h2>Trillion Dollar Idea</h2>

<p>Well, don&#8217;t expect to learn about my idea just yet. For those that know me, I
have too many interests and not enough time. However, for this one, I feel
confident I&#8217;ll be able to produce something sustainable and, dare I say,
popular; hopefully popular with the <a href="http://battlelog.battlefield.com">Battlefield 3</a> audience.</p>

<p>My overarching goal is to build an Android App that uses <a href="http://bf3stats.com">BF3Stats</a> but not like
the current set of apps. I have a strong need/desire to be different.</p>

<p>Right now I&#8217;m completely in the vision/prototyping stage. I have a ton of
research to perform to make sure I can achieve my goals. I&#8217;ll post more as I
get going. I&#8217;m hoping to be able to also post my <a href="http://bf3stats.com/api">API</a> usages, to serve as
examples/tutorials for other folks getting started with <a href="http://bf3stats.com">BF3Stats</a>. Of course,
Ruby will be my language of choice!</p>

<p>Stay Tuned.</p>

<p><strong>Cheers</strong></p>
]]></content>
  </entry>
  
  <entry>
    <title type="html"><![CDATA[Battlefield 3]]></title>
    <link href="http://melriffe.github.com/blog/2012/09/16/battlefield-3/"/>
    <updated>2012-09-16T12:49:00-04:00</updated>
    <id>http://melriffe.github.com/blog/2012/09/16/battlefield-3</id>
    <content type="html"><![CDATA[<p>This is going to be a quick post, mostly to let you know that I will be
blogging about my <a href="http://battlelog.battlefield.com/bf3/">Battlefield 3</a> adventures.</p>

<p>I&#8217;m getting better! But I still consider myself a Noob. However, I&#8217;m
getting some excellent support from
<a href="https://plus.google.com/u/0/115244362630293643244/posts">Battlefield G+ Community</a>.
They&#8217;re posting excellent content.</p>

<p>Ok - that&#8217;s enough for now.</p>

<p><strong>Cheers</strong></p>
]]></content>
  </entry>
  
  <entry>
    <title type="html"><![CDATA[Cherry Picking Multiple Files With Git]]></title>
    <link href="http://melriffe.github.com/blog/2012/09/12/cherry-picking-multiple-files-with-git/"/>
    <updated>2012-09-12T23:09:00-04:00</updated>
    <id>http://melriffe.github.com/blog/2012/09/12/cherry-picking-multiple-files-with-git</id>
    <content type="html"><![CDATA[<p>Yesterday I was tasked with moving over a &#8216;feature&#8217; from one branch into
&#8216;master&#8217; for eventual deployment, ahead of the rest of the planned
features. And, I think, normally, this isn&#8217;t a big deal, especially with
git. However, my challenge involved several iterations of this &#8216;feature&#8217;
and several changed files over a period of time.</p>

<h2>Cherry Pick Time?</h2>

<!--more-->


<p>My first thought was to cherry-pick the commits into the &#8216;master&#8217;
branch. After I found the commits I needed to cherry-pick, I thought to
myself, &#8220;How can I automate this?&#8221; That&#8217;s because I had 45 commits to
process.</p>

<p>I did start down the cherry-pick lane. Using
<a href="http://www.git-tower.com/">Tower</a>, a Git GUI
application, it quickly got old moving a commit into the branch, fixing
any conflicts and commiting the change.</p>

<p>I really wanted to move the entire feature into &#8216;master&#8217; as one unit.
Yes I know there are ways to squash commits into one. But I was looking
at dealing with 45 commits&#8230; and it was late in the evening&#8230; I just
knew there had to be a better way.</p>

<h2>Cherry Picking Multiple Files</h2>

<p>Google&#8217;s my friend and I found an excellent
<a href="http://jasonrudolph.com/blog/2009/02/25/git-tip-how-to-merge-specific-files-from-another-branch/">article</a> by <a href="http://jasonrudolph.com/blog/">Jason Rudolph</a>
describing exactly what I was trying to do: bring over a mess of files
into a branch.</p>

<p>Heading back to <a href="http://www.git-tower.com/">Tower</a>, I then cycled through
the 45 commits to build me a list of 31 files that had either been added
or changed in the implementation of this &#8216;feature&#8217;.</p>

<p>Then on the command-line:</p>

<pre>
$ git checkout master
$ git checkout -b local-merge-branch
$ git checkout development &lt;file-1> &lt;file-2> &lt;file-3> ... &lt;file-31>
</pre>


<p>Actually I did the checkout process over a couple of iterations. And I
did it on a local branch to make sure I didn&#8217;t screw anything up. It
also allowed me to package all the changes into a single unit.</p>

<p>Running my tests produced a failed test. &#8220;Crap!&#8221;, I thought. What did I
miss? Turns out I didn&#8217;t miss anything because the failure was in an
unrelated test. I just backed out the changes that was causing the
failure.</p>

<p>Once I had the Green light (i.e. all tests passing), I stashed my changes:</p>

<pre>
$ git stash save changes-destined-for-master
</pre>


<p>And then applied them to &#8216;master&#8217;:</p>

<pre>
$ git checkout master
$ git stash pop
</pre>


<p>I run the tests one final time; just being thorough. After the tests
finished, I committed and tagged.</p>

<h2>Want to learn how&#8230;</h2>

<p>I would love it if someone could offer suggestions on automating this
process.</p>

<p>Is there a way of getting a list of affected files by searching commit
messages for a token (in this case it was a Issue Ticket number)?</p>

<p>Is there a better way of accomplishing the same thing?</p>

<p>Is there a way to automate cherry picking?</p>

<p>Until I learn a better way, I&#8217;ll use this as an example of moving
changed/added files from one branch to another.</p>

<p><strong>Cheers</strong></p>
]]></content>
  </entry>
  
  <entry>
    <title type="html"><![CDATA[It's Alive!]]></title>
    <link href="http://melriffe.github.com/blog/2012/09/12/its-alive/"/>
    <updated>2012-09-12T20:11:00-04:00</updated>
    <id>http://melriffe.github.com/blog/2012/09/12/its-alive</id>
    <content type="html"><![CDATA[<h2>Welcome Back!</h2>

<p>I can&#8217;t believe my last post was back in March. A lot has happened since
then. A lot is happening now.</p>

<p>For one thing: you can now access this blog at:
<a href="http://melriffe.com">http://melriffe.com</a></p>

<p>The other thing: I&#8217;ve been playing a lot of Battlefield3 lately. Maybe,
just maybe, I&#8217;ll blog about my adventures.</p>

<p>See you soon&#8230;</p>

<p><em>Cheers</em></p>
]]></content>
  </entry>
  
  <entry>
    <title type="html"><![CDATA[RubyNation 2012]]></title>
    <link href="http://melriffe.github.com/blog/2012/03/23/rubynation-2012/"/>
    <updated>2012-03-23T16:34:00-04:00</updated>
    <id>http://melriffe.github.com/blog/2012/03/23/rubynation-2012</id>
    <content type="html"><![CDATA[<p>I&#8217;m back at RubyNation again; 3rd year in a row for what I feel is the best regional conference out there. But I&#8217;m biased. Why am I writing this blog post? Well, I briefly thought about &#8216;in-conference&#8217; blogging. When I say &#8216;briefly&#8217; I mean for about 3 nanoseconds. For me it&#8217;s difficult to concentrate on the presentation while either taking notes or creating the blog post; I can&#8217;t multitask.</p>

<p>However, I still wanted to let folks know about this awesome conference.</p>

<!--more-->


<h2>Why RubyNation?</h2>

<p>First, it&#8217;s a well run conference: there&#8217;s always time between sessions, the food is always good and the snacks are always delicious. Couple that with near endless coffee and you can probably tell why I think it&#8217;s a great conference.</p>

<p>Second, there is always a plethora of fantastic talks and stellar presenters. Without fail, RubyNation is able to attract big name folks for the keynotes. It&#8217;s quite impressive.</p>

<p>Third, location. I mean, Reston VA is quite close for me and Dulles is right down the street. DC as the backdrop is also attractive for those able to spend a couple extra days sight-seeing.</p>

<h2>RubyNation 2012</h2>

<p>What&#8217;s the theme this year? Well, it seems like a huge focus on front-end, client-side development and evented, asynchronous computing. Though I&#8217;m interested in the evented stuff, I&#8217;m <em>really</em> interested in the front-end stuff. I&#8217;m really digging the talks covering Backbone.js, Spine.js, HTML5, CSS/SASS/Compass, Mobile Development, JQuery Mobile. All of that on the First day!</p>

<p>Tomorrow promises to be equally awesome.</p>

<p><strong>Cheers</strong></p>
]]></content>
  </entry>
  
  <entry>
    <title type="html"><![CDATA[Missing In Action]]></title>
    <link href="http://melriffe.github.com/blog/2011/11/03/missing-in-action/"/>
    <updated>2011-11-03T11:29:00-04:00</updated>
    <id>http://melriffe.github.com/blog/2011/11/03/missing-in-action</id>
    <content type="html"><![CDATA[<p>While Octopress makes it easier to blog (at least for me anyways), you
still need the willpower, discipline, routine, etc, to keep it going.</p>

<p>Right now I&#8217;m struggling with what information I want to talk (blog)
about here. Is this strictly a personal blog? Will I also blog about
work-related topics here? More than likely it will be a combination of
the two.</p>

<!--more-->


<p>I do have plans of building out http://juicyparts.com as my business
site and it will also have a blog that will be strictly work- and
technology-related. On this site, I&#8217;ll have both.</p>

<p>So what have I been up to since I last blogged? Oh yeah, I did get some
feedback on my Octopress requests; more on that later.</p>

<p>As is par for the course I&#8217;ve been busy. Busy with Family, Clients, and
CVREG. I&#8217;ve also started helping out more with Noah&#8217;s Scout Pack. Then
Heather recently had knee surgery and, because she can&#8217;t drive yet, I&#8217;ve
been driving the kids to work, school, events, etc.</p>

<p>Client work has been steady and piling up. I received some news about a
product I built; it&#8217;s both exciting and nerve racking.</p>

<p>But at the end of the day I feel like I&#8217;m going in a hundred different
directions all at once. It&#8217;s hard to blog under those conditions.</p>

<p>Ok. Enough whining. Chat ya later&#8230;</p>

<p><strong>Cheers</strong></p>
]]></content>
  </entry>
  
  <entry>
    <title type="html"><![CDATA[Requesting Octopress Assistance]]></title>
    <link href="http://melriffe.github.com/blog/2011/09/30/requesting-octopress-assistance/"/>
    <updated>2011-09-30T16:46:00-04:00</updated>
    <id>http://melriffe.github.com/blog/2011/09/30/requesting-octopress-assistance</id>
    <content type="html"><![CDATA[<h2>Help!</h2>

<p>First off, and most importantly, I&#8217;m really digging
<a href="http://octopress.org">Octopress</a>. I think Brandon Mathis has done an
excellent job of packaging all kinds of cool things on top of Jekyll.
But I want to do more. I want to learn more of the internals. I have a
couple of things in mind that I would like some assistance with:</p>

<ul>
<li>Drafts</li>
<li>Processing Trackback URLs</li>
</ul>


<!--more-->


<h2>Drafts</h2>

<p>Right now all posts go into my <code>source/_posts</code> directory. Which is
fine when I have a blog post mostly thought out. However, many times I
have an idea of a blog post that I would like to stash in a document
that isn&#8217;t publishable, a rough draft, if you will.</p>

<p>What&#8217;s the simplest thing that could work in order to implement this
feature?</p>

<p>Right now I just created a <code>source/_drafts</code> folder and if I have
something I want to stash away, I do the following:</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=''><span class='line'>rake new_post['post-title']
</span><span class='line'>cp source/_posts/YYY-MMM-DDD-post-title.markdown source/_drafts</span></code></pre></td></tr></table></div></figure>


<p>Not elegant; but gets the job done.</p>

<p>When I&#8217;m ready to publish the blog post I just move it to the
<code>source/_posts</code> directory.</p>

<p>Is there a better solution?</p>

<h2>Trackback URLs</h2>

<p>Do the kool kids still post to Trackback URLs? I mean, if a blog author
is going to go to the trouble of providing a Trackback URL and you&#8217;re
writing a blog post that compliments their post, why not hit their
Trackback URL?</p>

<p>There is where I&#8217;m completely lost within Octopress/Jekyll. The site
gets generated and uploaded. How would I post back to a blog author&#8217;s
Trackback URL?</p>

<h2>Summary</h2>

<p>As I&#8217;m using Octopress more I really want to learn how to take advantage
of it and Jekyll. I really want to learn about plugins and extensions.
But I have two immediate needs: Drafts and Trackback URLs.</p>

<p>Any assistance will be greatly appreciated (and blogged about).</p>

<p><strong>Cheers</strong></p>
]]></content>
  </entry>
  
  <entry>
    <title type="html"><![CDATA[Coder Talk Show]]></title>
    <link href="http://melriffe.github.com/blog/2011/09/21/codertalk-show/"/>
    <updated>2011-09-21T23:28:00-04:00</updated>
    <id>http://melriffe.github.com/blog/2011/09/21/codertalk-show</id>
    <content type="html"><![CDATA[<h2>Coder Talk</h2>

<p>My friend <a href="http://joeybeninghove.com/">Joey Beninghove</a> started this
weekly Developer Chat called <a href="http://codertalkshow.com/">Coder Talk</a>. I
tried getting on the very first session but my laptop decided to be
mean; it was an excellent session on Cucumber and TDD. You&#8217;re going to
have to trust me on this one because, unfortunately, the session wasn&#8217;t
recorded.</p>

<p>But every session since then has been recorded, edited, and made
available for listening; including tonight&#8217;s session on which I was able
to join. Visit the site to get information on downloading previous
sessions and joining the conversation.</p>

<!--more-->


<h2>Rails 3.1 Assest Pipeline</h2>

<p><em>Disclaimer:</em> I knew next to nothing about the pipeline before tonight&#8217;s
session.</p>

<p>Because I still have Rails 2.x projects and my Rails 3.0 projects are
not in production, I was not able to contribute during this part of the
talk. However, from the conversation, I learned a lot; I feel I&#8217;ll be
better prepared when I start using it.</p>

<p>To me, and I&#8217;m probably wrong and over simplifying and wrongly over
simplifying, but to me it sounds like a mini-CDN embedded into my Rails
app that should be behind a caching solution. But I could be wrong.</p>

<h2>Upgrading Applications</h2>

<p>This is a classic problem. &#8216;nuff said.</p>

<h2>Splitting up your application</h2>

<p>We had a quick chat on splitting up your application into more managable
pieces, with a slant towards easier upgrading.</p>

<p>There was mention of needing Rails to make this easier but that position
was contested, stating it&#8217;s more an architectural issue than a web
framework issue.</p>

<p>There was a general consensus that Security makes the implementation of
this application segmenting difficult, if not impossible. However,
Engines was presented as a possible solution.</p>

<p>And as far as architecture goes: implementations can be realized either
with a server-per-application-function or a port-per-application-function;
and there may be something in-between or quite different all together.
Regardless which architecture is selected, care must be taken when
splitting up an applicaiton.</p>

<h2>Hope to return</h2>

<p>I hope I was able to contribute to the conversation. I had fun and would
like to join in next week&#8217;s chat. And, while I had planned on doing some
billable work, I&#8217;m very happy Joey called me.</p>

<p><strong>Cheers</strong></p>
]]></content>
  </entry>
  
  <entry>
    <title type="html"><![CDATA[Feedburner: Enabled]]></title>
    <link href="http://melriffe.github.com/blog/2011/09/17/feedburner-enabled/"/>
    <updated>2011-09-17T08:29:00-04:00</updated>
    <id>http://melriffe.github.com/blog/2011/09/17/feedburner-enabled</id>
    <content type="html"><![CDATA[<p>Ok, this one really wasn&#8217;t on the list but I went ahead and configured
this site for <a href="http://feedburner.com">Feedburner</a> support. You can
subscribed via RSS/Atom or with your email address.</p>

<p>Again, <a href="http://octopress.org">Octopress</a> made it simple by offering two
configuration items I only had to set with the correct URLs.</p>

<p>I may (or may not) style the subscription buttons differenly when I
retheme the site. I&#8217;m also considering creating a feedburner plugin that
will pull in their styled buttons and/or <em>chicklets</em>.</p>

<p>What&#8217;s left on my list? you may wonder. Right now it&#8217;s creating a new
theme for the blog and configuring &#8216;melriffe.com&#8217; to resolve to this
blog.</p>

<p><strong>Cheers</strong></p>
]]></content>
  </entry>
  
  <entry>
    <title type="html"><![CDATA[Analytics: Enabled]]></title>
    <link href="http://melriffe.github.com/blog/2011/09/17/analytics-enabled/"/>
    <updated>2011-09-17T07:39:00-04:00</updated>
    <id>http://melriffe.github.com/blog/2011/09/17/analytics-enabled</id>
    <content type="html"><![CDATA[<p>Time to scratch another item from the list of blog enhancements: Google
Analytics.</p>

<p>This one was easy since I already have a Google Analytics account for my
Business Website (<a href="http://juicyparts.com">http://juicyparts.com</a>).
Unfortunately the site&#8217;s currently: <strong>Under Construction</strong></p>

<p>So, adding Analytics to my personal blog was fairly straightforward:</p>

<ul>
<li>Add a Web Property under my Analytics Profile</li>
<li>Set <code>google_analytics_tracking_id</code> to the newly created property id</li>
<li>Generate and Deploy site</li>
<li>Wait for Google Analytics to detect the tracking id</li>
</ul>


<h2>Cheers</h2>
]]></content>
  </entry>
  
  <entry>
    <title type="html"><![CDATA[Comments: Enabled]]></title>
    <link href="http://melriffe.github.com/blog/2011/09/16/comments-enabled/"/>
    <updated>2011-09-16T23:34:00-04:00</updated>
    <id>http://melriffe.github.com/blog/2011/09/16/comments-enabled</id>
    <content type="html"><![CDATA[<p>Scratch one off the list; comments are now enabled on this site!</p>

<p><a href="http://octopress.org">Octopress</a> makes it <em>very</em> easy to integrate <a href="http://disqus.com">Disqus!</a>
into your blog: you just need the short_name. From start to finish it took me, roughly, 15m
to enable comments.</p>

<p>First, I signed up for a <a href="http://disqus.com">Disqus!</a> account; they&#8217;re free. Unfortunately,
my initial short_name was already taken. I changed it to what this site will eventually become.
I then enabled all the options I could.</p>

<p>Second, I signed up for an <a href="http://akismet.com">Akisment</a> account because <a href="http://disqus.com">Disqus!</a>
offers <a href="http://akismet.com">Akisment</a> integration. For personal blogs you can use <a href="http://akismet.com">Akisment</a>
for <em>Free</em>. With API Key in hand, I completed my <a href="http://disqus.com">Disqus!</a> configuration.</p>

<p>Now, it is at this point I preview my site locally and beam, ear-to-ear upon seeing the
Comments section. I deploy my site and verify that, indeed, folks can add comments; I add the
first comment.</p>

<p>Then I start filling out my <a href="http://disqus.com">Disqus!</a> profile, enabling services, changing
my profile picture, following some folks. And I thought: Blog about enabling comments on your
blog!</p>

<p><strong>Cheers</strong></p>
]]></content>
  </entry>
  
  <entry>
    <title type="html"><![CDATA[Cub Scouts and Popcorn]]></title>
    <link href="http://melriffe.github.com/blog/2011/09/16/cub-scouts-and-popcorn/"/>
    <updated>2011-09-16T10:51:00-04:00</updated>
    <id>http://melriffe.github.com/blog/2011/09/16/cub-scouts-and-popcorn</id>
    <content type="html"><![CDATA[<p><a href="http://www.trails-end.com/estore/scouts/email_referral.jsp?id=15763773">Order Some Popcorn</a></p>

<p>While Noah, my son, has been in <a href="http://scouting.org">Cub Scouts</a> for a few years, this is the
first time we&#8217;ve tried online popcorn ordering. If you can help out, Noah would greatly
appreciate your order. One of the benefits of ordering online is getting your order directly
shipped to you.</p>

<p>Every sale will help Noah earn money for his Pack so they will be able to fund many of their
planned activities. Did you know that 70% of your purchase goes to Noah&#8217;s Pack and Council?</p>

<p>I really want to emphasize the direct shipping. Because a large portion of our family lives
out-of-state, it&#8217;s really difficult asking them to purchase popcorn and ship it to them. With
online ordering, Trails End will ship the order directly to them.</p>

<p>Again, if you can help, it will be greatly appreciated!</p>

<h2>Pack 503, Mechanisville, VA</h2>

<p>Noah has been in this pack a couple of years. He&#8217;s a Webelow2 this year; next year he&#8217;ll be a
Boy Scout. Last year was a really good year for him and he&#8217;s excited for this year. In fact,
this weekend (17-18 Sep), he and his pack are going camping at <a href="http://luraycaverns.com/">Luary Caverns</a>.</p>

<p>And Noah is really flourishing in Scouts. He&#8217;s quite the Outdoorsman and Craftsman.</p>

<p>Heather is now a Pack Leader, the Assistant Cub Master. If you know Heather then you know
she&#8217;s a &#8220;hands-on&#8221; Mom. It was just a matter of time, in my opinion, before she would be
helping to run Noah&#8217;s Pack.</p>

<p>If you&#8217;re in the Mechanicsville, VA area and would like to know more, feel free to contact
me and I&#8217;ll put you in touch with the right people (i.e. Heather).</p>

<p><strong>Cheers</strong></p>
]]></content>
  </entry>
  
  <entry>
    <title type="html"><![CDATA[Blog Plans]]></title>
    <link href="http://melriffe.github.com/blog/2011/09/16/blog-plans/"/>
    <updated>2011-09-16T08:35:00-04:00</updated>
    <id>http://melriffe.github.com/blog/2011/09/16/blog-plans</id>
    <content type="html"><![CDATA[<p>I&#8217;m starting to make some plans to bring this blog up to where I want it:</p>

<ul>
<li>Comments</li>
<li>New Theme</li>
<li>Plugins</li>
<li>Custom Domain</li>
</ul>


<p>I think the new theme will be the toughest because I want to create it in the Style of existing Octopress Themes.
Right now there are no dates associated to my tasks because it&#8217;s definitely &#8216;spare time&#8217; activity. However, each
new feature will have an associated blog post. Hopefully I can share something new for the folks.</p>

<p><strong>Cheers</strong></p>
]]></content>
  </entry>
  
  <entry>
    <title type="html"><![CDATA[Htc Evo 3d]]></title>
    <link href="http://melriffe.github.com/blog/2011/09/13/htc-evo-3d/"/>
    <updated>2011-09-13T16:54:00-04:00</updated>
    <id>http://melriffe.github.com/blog/2011/09/13/htc-evo-3d</id>
    <content type="html"><![CDATA[<p>Today I got a new phone. The HTC EVO 3D. Why? you ask. I dropped my Palm
Pre last night and it didn&#8217;t survive the fall. :-(</p>

<h2>Yesterday</h2>

<p>The Palm Pre was a good phone and I really liked WebOS; I liked the
&#8220;swipe to dismiss an app&#8221; metaphor. But, alas, the good times had to end
sometime. I was just hoping it would have been a little longer.</p>

<p>Last night, while getting out of my car I fumbled my phone. While it was
falling, I over-reacted and actually hit it, propelling it to the
floorboard. Due to damages already received from previous drops the
screen cracked and there was no life visible when I powered it up. I was
sad. I was very sad.</p>

<p>I was already considering upgrading my phone when my discount became
available. Although my Pre was a good phone it started acting up;
randomly calling people and bringing up apps. But now that it was broken
I just decided to bite the bullet and upgrade. Oh sure, I could have had
Sprint send it for repair but it was time to move on. It was time to
retire the Pre; I don&#8217;t hold much hope in HP.</p>

<h2>Today</h2>

<p>So I jumped in my car and headed over the Sprint Corp. Store in
<em>downtown</em> Short Pump. Though I don&#8217;t need the 3D camera I like the fact
this version of the EVO has a better processor than its predessor.</p>

<p>As some may know I&#8217;ve been a Sprint Customer for years; since 1997 I
believe. And now the entire family (sans 10 year old son) has cell
phones and yadda, yadda, yadda.</p>

<p>They (Sprint) get you with the discounted prices and because I didn&#8217;t
have any upgrades available (every 2y a phone is availble for an
upgrade) I had to pay full price. Ouch! But doable!</p>

<p>I have a lot to learn about the phone and its capabilities. But, at
least, I know how to take/receive a call.</p>

<h2>Tomorrow</h2>

<p>Will this be the phone that entices me to do some Android development?
Inquiring minds want to know&#8230;</p>

<p><strong>Cheers</strong></p>
]]></content>
  </entry>
  
</feed>
