I'm Jason, a web application developer in East Tennessee.

  1. Coding Games

    A few weeks ago I heard about this FightCode website that lets you program robots that compete against other coders who code their own robots. It uses Javascript, so it should be accessible to many web developers. They even have a Facebook page you can like.

    Fight Code logo

    Recently a co-worker also mentioned a new programming game called NodeWar. It appears to be under development still, but could prove to be awesome.

  2. Customize your IRB

    Stephen Ball of has a cool post on how to customize your IRB environment.

    Customize your IRB

  3. htaccess tester

    I’m not sure how one would use this, but it looks like it’s supposed to be useful.


  4. Using Find Each to Process Batches

    I just found out that there is a find_each method provided by ActiveRecord which loops through an array of models that are retrieved in batches of 1000 at a time.

    The find is performed by find_in_batches with a batch size of 1000 (or as specified by the :batch_size option).

    User.find_each(:start => 2000, :batch_size => 5000) do |user|

  5. Development Time

    It seems common that development tasks or projects take much more time than expected. My manager recently pointed these out to me:

    The 90/90 Rule - “The first 90 percent of the code accounts for the first 90 percent of the development time. The remaining 10 percent of the code accounts for the other 90 percent of the development time.” — Tom Cargill, Bell Labs

    Hofstadter’s Law - “Hofstadter’s Law: It always takes longer than you expect, even when you take into account Hofstadter’s Law.” — Douglas Hofstadter, Gödel, Escher, Bach: An Eternal Golden Braid

  6. Minecraft Mods

    I’ve been playing Minecraft for a little while now. Want to see what else this thing can do, so I want to get access to console commands. This is a challenge it seems, so I’m going to document how it’s done here.

    I’m currently using Minecraft version 1.4.7. I just downloaded the latest build/snapshot (possibly unstable yet likely compatible) from Minecraft-Console by simo415 on Github. A prerequisite to this mod running is modloader, which states that it’s only for version 1.4.7.

  7. Obtain MySQL Query Statistics using Explain

    Sometimes it really counts to restructure the queries made to your MySQL database, especially so that they do make use of indexes which are present on the table.

    You can obtain information on which keys are being used with a query by using the EXPLAIN statement before your SELECT statement. Here are some examples of it’s output.

  8. Git Branching Model

    I just want to put this here for future reference.

    There is a version control branching model known as Git-Flow, which is very similar to the model used on the team I work with. See A Successful Git Branching Model. This seems to work well for teams that make several separate commits to the ‘develop’ branch, with different versioned releases provided to the ‘release branch’ that may or may not have been tested and put through a quality assurance process, and finally only major updates (not releases) merged into the ‘master’ branch and tagged with the appropriate version number.

  9. Referencing Gem Source Code

    It’s often difficult to work with Ruby Gems that your Rails application depends on because the source code for the gem itself is packed away in a gem directory. I’ve often found myself using the command ‘rvm gemdir’ to output the path to the gem directory that my application is using, changing to that directory, and opening the source using Textmate. This is a time consuming process.

    Instead, it’s useful to simply unpack a gem into your Rails application so that it loads from the vendor/gems directory. I’m currently using the following command to unpack the RefineryCMS gems into my Rails app for reference.

  10. You can be a programmer too!

    I’ve been telling people to check out because it has well laid out interactive courses that you can take to learn advanced web development technologies (jQuery, Coffeescript, Rails, etc).

    However, it doesn’t have the prerequisite courses on HTML, CSS, Javascript, and Ruby.

    It turns out that covers those languages.

    Of course not just anyone can be a web developer, but if you’re nerdy and this stuff excites you, then go for it. I have a job working in San Francisco as a professional developer, doing Ruby on Rails programming. No college. Just experience. Just takes will and determination, and the effort to get experience even if it means taking a pay cut for a while.

    If you’re looking for something a little more low level, like algorithms or an intro to computer science, check out Udacity.