The Blog: November 2010
A Better Way to Avoid a Project Named Server
Yesterday I posted about how I avoided creating the annoying rails server projects when accidently running rails server under a rails 2 application. I wanted to follow up with a much more concise script that accomplishes the same ends through different means. Using this script requires no changes to how you start the development server and, even cooler perhaps, allows you to start the rails 2 server as if you were in a rails 3 project. Shout out goes to Intern Mike for the assist.
rails () { if [ -e script/server ]; then script/"$@" else command rails "$@" fi}To Version or Not To Version Your Gems in Gemfiles
I don’t like moving targets. I’m a software developer, not a sharpshooter. So why don’t more people version all of their gems in a Gemfile?
Moving to Rails 3 Pain Point: rails server
Update: I have posted a better solution!
Working with rails 2 and 3 projects back and forth, day to day has been pretty painless thanks to rvm and .rvmrc files. That is with the exception of accidentally running rails server on a rails 2 project. I do this all the time and it results in generating a new rails project called server rather then starting the rails server, my actual intention. It’s almost as frustrating when running script/server on a rails 3 project but at least it doesn’t spit out a bunch of useless files. Incidentally, all of the built in rails command (i.e. generate, console, …) set the same trap. To avoid falling prey, I have created a bunch of shell functions which I would like to share with everyone in case they would like to be privy as well.
Interactive Git Stash For Stashing Single or Multiple Files
TL;DR git stash save –patch
From the git docs, “With –patch, you can interactively select hunks from in the diff between HEAD and the working tree to be stashed.”
Agora Games & Major League Gaming participate in the web’s first multicast transmission
When you send a unicast message it gets routed within a network to a single destination. Unlike unicast messages, multicast messages get delivered to every node within a network. If not properly controlled however you can experience routing loops which, like feedback between a microphone and a speaker, cause what networking techs call “multicast storms”. Because of this many corporate networks block multicast messages from ever leaving a single broadcast domain. For the same reason, multicast messages are blocked by all Internet Service Providers at the network’s edge.
Apparently it was just a matter of time until someone with a big enough backbone started letting them through.
On November 12, 2010 during Major League Gaming’s National Finals in Dallas we working with AT&T and Octoshape to deliver the first open-web multicast video stream. Who doesn’t love the bleeding edge?
Check out the details here:
http://www.attinnovationspace.com/2010/11/23/first-ever-open-web-multicast-event/#more-523
More musings can be found on my Twitter account, genexp
Halo::Reach::API.new
If you’ve ever wanted to access your Halo:Reach statistics from Ruby, you can now using the Halo:Reach Ruby gem.
Going All The Way With factory_girl and rails3-generators
I responded to a few tweets from Barrett Clark about factory_girl noting that you can get a lot more functionality out of factory_girl than just replacing fixtures. However, let’s keep things simple to start and just replace fixtures with factory_girl in a simple Rails 3 application.
Winning at the Career Fair (A How-to)
Recently I had the pleasure of representing Agora Games at two Western New York career fairs held at RIT and my alma mater, University at Buffalo. It was a interesting experience to be on the flip side of the job search process for a change, sitting at our table answering questions, taking resumes, and evaluating applicants’ skills to see if they might be the right fit for our team.
Pretty MySQL listings
Tired of MySQL wrapping long rows when running selects from the command line? Here’s a crazy useful tip: add \G to the end of your ‘select’ statement and your output will go from gobbledygook to great.
Here’s an example:
mysql> select name, identity_url from members \G;*************************** 1. row *************************** name: identity_url: *************************** 2. row *************************** name: supportidentity_url: NULL*************************** 3. row *************************** name: testuseridentity_url: 14 rows in set (0.00 sec)
ERROR: No query specified
mysql>
HTML and CSS Horizontal Delimited Navigation Done Right
When we, as front-end developers, set out to build a horizontal site navigation, what markup come to mind? Thoughts of a standard semantic design pattern, an unordered list (UL) with list items (LI) floated to one side, possibly with delimited items to help visually separate each link.






