Killer Business Models and DC Consultants

I’ll be presenting my talk on “Creating Killer Business Models” on June 21, 2011 at the DC Computer Consultants Meetup. This is a “big picture” business talk that should be useful for anybody working for startups or contemplating starting their own company.

RubyNation Main Room Videos

I’ve solved most of the workflow problems with the RubyNation 2011 video content from the main room, the footage that was shot with the awesome camera that we borrowed from Near Infinity. In the video realm, “workflow is a fancy word for getting video from the camera into a format that you can use for editing with all elements intact. It’s backed up by Dave’s Video Corollary – “no matter where you get video from, it will never be in the format that you need.”

The camera is a Sony EX1 HDCAM. Sony produces a free software component called the XDCAM Log and Transfer Utility that allows Sony video footage to be imported into Final Cut Pro for editing. If you’ve saved the entirety of the content from the digital card (i.e. – the full directory tree), then importing works just fine.

Since Gray Herter, RubyNation’s Chief Organizer, wanted the Ryan McGeary talk done first, I was successfully able to import the footage into Final Cut Pro and edit it. So, that talk is just waiting on the single-width animated intro bumper from Don Anderson before it goes out live on our Blip.tv channel.

Most of the talks are in fine shape. However, there was a glitch on Friday (the first day of the conference) that corrupted some metadata from one of the digital cards. This has impacted the Scott Chacon, Nick Gauthier and Jerry Cheung talks. I still have the raw video footage (so nothing is actually lost), just not the top-level metadata that will allow it to work with the import utility. I have a Plan B and Plan C for dealing with that content.

Plan B uses Adobe Premiere to handle the raw Sony video files, for which it is supposed to have native support. Plan C uses a commercial utility (about $120 or so) to recover the footage from the raw Sony video files if Adobe Premiere doesn’t work.

It looks like the video footage is clear enough that I can get away with not doing the side-by-side video/slide thing that we did last year. Or, at least, that’s true of Ryan McGeary’s talk, where the slides were distinct, well-designed and clear. I may need to do side-by-side on some of the talks that are more code-focused. I’m currently deciding this on a case-by-case basis.

I think this year that we’re also going to spring for a professional-level membership with Blip.tv, so we can have larger files, higher priority for transcoding activities and ultimately deliver high-resolution videos for viewers.

Anyway, welcome to the world of video production, where the work really begins when the event is over.

RubyNation Collateral

I added a RubyNation Collateral section to my portfolio to showcase some of the key documents and graphics that have been created for RubyNation over the last few years. Let me know what you think!

RubyNation 2011 Podium Graphic

Each year, we create various accessory graphics for RubyNation. I thought I’d share the graphic we created for this year’s podiums, i.e. – the 22-inch by 18-inch graphic that appeared on the front of the podiums where the speakers were giving their talks. By the way, I thought the graphic looked MUCH better on video than the “Sheraton Hotel” image that is present by default – the Sheraton can do their own advertising.

RubyNation 2011 Logo - For use on a Lectern (technically)

Certified Scrum Master

Certified Scrum MasterI just completed an excellent Scrum Master course by Sanjiv Augustine, the author of “Agile Project Management.” Then I completed the online test to get my Scrum Master certification. I highly recommend Sanjiv’s LitheSpeed company for agile/scrum training.

Recipe: Page-Specific Content for the HTML Head Section

Rails layouts are a nice way to organize boiler-plate HTML content in a DRY (“Don’t Repeat Yourself” in case you’ve been asleep for a while) fashion. But your standard layout may not be sufficient to meet the needs of all web pages, particularly when it comes to including CSS style sheets or JavaScript files.

The Problem

In a Rails 3.x application, how can you provide an easy method for web pages to include page-specific CSS style sheets and JavaScript files within the <head> section of the HTML?

The Solution

Here’s a straight-forward solution to the problem:

   <!DOCTYPE html>
   <html>
   <head>
     <title>Sample</title>
     <%= stylesheet_link_tag :all %>
     <%= javascript_include_tag :defaults %>
     %lt;%= csrf_meta_tag %>
     <%= yield :head %>
   </head>
   <body>

   <%= yield %>

   </body>
   </html>

Note the “yield :head” statement in the <head> section of the document. With this construct in place, any web page can add custom content to the <head> element of the page.

  <% content_for :head do %>
    <%= javascript_include_tag 'custom.css' %>
  <% end %>

In the example above, a custom CSS file is added for one specific web page.

With this method, no other page has to bear the burden of including a CSS file that will not be used on that page. For any page that does not provide content for the <head> element, well, no content will be inserted. This is a simple way to support per-page customization capabilities while only affecting the pages that need their own custom support files.


To the extent possible, it’s beneficial to limit the number of CSS stylesheets your website has. So I’m not advocating tons of little CSS stylesheets for your website. But when one page has a bunch of special-purpose CSS, it’s good to segregate that code in a separate stylesheet and include it in only where it’s needed.

The recipe described in this article serves to meet those occasional CSS needs.

KeenerTech Upgrade in Progress

I’ve decided to make the leap. I’m in the process of upgrading the KeenerTech web site from Rails 2.3.5 to Rails 3.0.5. Lots of required changes, but mostly minor stuff except for the ActiveScaffold upgrade.