Thoughts about Ruby, Rails, RubyMotion, iOS, IoT, and business growth.

Context Changes Everything

There are some cases where time zone information is absolutely critical. For example: When scheduling a video conference that crosses national boundaries.

A few hours ago, Google sent me a reminder about today’s LinuxBarbados meeting. The group meets via video conferencing software over the web. Google’s reminder was confusing because it showed the time without the time zone (screenshot below). LinuxBarbados is based in the Caribbean, and some of the members participate from other time zones.

What time is it when the time zone is unknown?What time is it when the time zone is unknown?

Google’s automated reminder said 3pm - 4pm with no time zone reference. How confusing! Members of the group received the same automated reminder with the same information, regardless of time zone. A small change, displaying the time as 3pm - 4pm (CST) would solve the problem.

Chicago Node.js

OpenROV at Groupon. Photo by Michelle Waldorf.OpenROV at Groupon. Photo by Michelle Waldorf. The Chicago Node.js user group invited me to present Node.js Under Water, an overview of the OpenROV underwater robot, this evening. Slides appear below.

Every version of this talk is tailored to the audience. This version focuses on OpenROV hardware components since this group certainly knows Node.js. Information has been added on hardware gotchas and tether management.

Thank you Chicago Node.js organizers and members for having me.

No Windows. Stronger Planes.

It is always good to start the new year with something inspirational. Technicon Design created a 3-minute video to demonstrate their IXION Windowless Jet Concept. Worth watching full screen.

How can a plane with no windows offer better views for passengers?

Looking Inside the Pygments Plugin

This blog uses pygments.rb for syntax highlighting. Recently pygments.rb stopped working, so I had to dig inside to determine the problem and apply a solution.

Full disclosure: Pygments didn’t simply stop working. I applied updates related to Octopress and Lunr.js, and then it stopped working. So the root cause is me! Rather than back-out the updates, I decided to push forward because Lunr.js will improve the search experience for visitors. Search options will be discussed in a future post.

Starting With the Error Message

As with all Octopress based blogs, the $ rake generate command creates a new set of static pages every time the command gets run. Normally the process is smooth. Here’s the error message that resulted this morning.

~$ rake generate


jekyll 2.0.3 | Error:  Pygments can't parse unknown language: </p>.


What unknown language? Something was fishy. Fortunately, pygments is an open source plugin. Solving the problem was non-trivial, but doable.

OWC Thinks Ahead

MacBook Pro SSD, next to a nickel.MacBook Pro SSD, next to a nickel. Every computer user has to deal with this at some point. Your machine runs out of storage space: hard drive, SSD, or whatever mass storage you happen to use. In my case, the 512GB SSD in my early 2013 MacBook Pro was over 90% full. Time for an upgrade.

Fortunately (and contrary to what the Apple literature says) it is possible to upgrade the SSD in a MacBook Pro. RAM is different because the MBP’s RAM is soldered to the logic board. But the SSD plugs into a socket. The SSD upgrade path is well-documented on YouTube and elsewhere.

Too Soon for Alpha Centauri

Bad news: I have decided to cancel RubyCaribe for 2015. Ticket sales are insufficient to cover the cost of the event. Every person who bought a ticket will receive a full refund.

Barbados is a beautiful island nation with welcoming people, a university that leads in multiple technical areas, and a thriving economy. The RubyCaribe (pronounced ka-REEB) organizers will make the event happen in some form at some point in the future. Just not now.

Git Vulnerability on Mac OS X and Windows

Today the Git core team announced a security vulnerability and a corresponding fix. Hats off to the Mercurial team (yes, Mercurial!) for finding the problem. Hats off to the Git team for making the announcement, and for delivering a fix so quickly.

What’s the Problem?

If your Git installation remains un-patched, then a malicious person could over-write the .git/config directory in one of your repositories. This would allow them to alter your Git history and make changes in the repo without your knowledge. Details.

The vulnerability exists on Mac OS X and Microsoft Windows. This article will discuss solving the problem on Mac OS X only, since that is my primary development platform.

Ignite RubyConf 2014

Ignite. 15 seconds per slide.Ignite. 15 seconds per slide. Ignite is a presentation format where the slides advance automatically every 15 seconds whether the presenter is ready or not. Twenty slides, 15 seconds each, five minutes total. Presenters are challenged to present their ideas quickly and clearly before the time runs out.

Ignite is similar to Pecha Kucha. The two formats differ only in slide duration (20 seconds per slide with Pecha Kucha).

ChicagoRuby Expands to North Shore

Long-time observers of ChicagoRuby know that the group is always striving to achieve more. Latest move: ChicagoRuby is now hosting a monthly meetup on Chicago’s North Shore. The first meeting of ChicagoRuby: North Shore will be held on Saturday, December 6, 2014 at 10:30am. Visit Meetup.com for details and to RSVP.

Geekfest & OpenROV

Geekfest: Tuesdays at Groupon.Geekfest: Tuesdays at Groupon. Geekfest is a weekly event hosted by Groupon’s engineering team. Every Tuesday at lunchtime, the company invites members of the tech community to present topics that are interesting to a technical audience.

I wish to express my thanks to Groupon for inviting me to present OpenROV at today’s Geekfest.