Using Ember CLI with PhoneGap’s CLI Tools

For a recent project, a client wanted a mobile phone application that would work across both iOS and Android. As someone with more experience with web development than either iOS or Android, turning to Adobe’s PhoneGap seemed a fairly obvious path. I would be able to leverage more of my existing skill set, and could use awesome tools like Ember.js.

I started digging through some getting started guides for PhoneGap and quickly realized that the default platform and build management tooling (cordova-cli) had no support for any sort of asset processing. Read more on Using Ember CLI with PhoneGap’s CLI Tools…

Relaxing and Rediscovering Childhood Joy

As a small child, I loved nothing better than reading. I read everything I could get my hands on, as fast as I could. I wasn’t allowed flashlights in my room, as my parents knew I’d just use them to read under the covers. At one point, they even took my alarm clock, since I was using its display as a lamp.

I loved to read.

Then in late middle school, I got my first computer, and everything changed. Instead of staying up late reading about elves and spaceships and battles, I stayed up reading about Linux and programming and syscalls. I still stayed up late, but had trouble staying interested in the novels that used to keep me spell-bound.

This state of affairs continued through college. I would work on programming homework or fiddle with programs until crazy hours of the night, but could not stay focused on a book for any significant amount of time. I tried buying a Kindle to see if I could leverage my love of technology to revive my interest in books. The Kindle wound up rooted and found great use for textbooks and reference manuals, but didn’t see much leisure-time reading. It bothered me that something I used to take such enjoyment from no longer held any joy for me. Read more on Relaxing and Rediscovering Childhood Joy…

JRuby, Rails, and Jetty – Where Are my Assets?

Recently, I was spinning up an extremely simple Rails 4 project, which was to serve as a portal to several other applications deployed on the same Jetty instance. This was not my first JRuby on Rails rodeo, so I was expecting a smooth deployment.

When I deployed the WAR into a Jetty instance on my local machine, neither the CSS nor images were being served correctly. The application server was giving me a 200 return code with the correct content length header, and then giving me a zero-byte response. Having never encountered this issue before, I talked to my pair on the project, who was standing up a separate Rails 4 app for the same application server. He was seeing it too. We compared notes. Heads were scratched. Read more on JRuby, Rails, and Jetty – Where Are my Assets?…

First Impressions of Swift

My programming background is primarily one of Ruby, Javascript, C#, and C. Nevertheless, I was intrigued when Apple announced Swift at WWDC this year.

I tend to pick up new programming languages like a crow picks up shiny objects, so when I found out that Swift was to support type inference, Option types, Sum types, a real REPL, and nice lambda syntax, I had to check it out further.
Read more on First Impressions of Swift…

Ember.js array.[] syntax

While digging around in the Ember.js API docs, I encountered a mention of a computed property syntax that I hadn’t seen before. Quoth the docs for the computed.empty alias:

Note: When using Ember.computed.empty to watch an array make sure to use the array.[] syntax so the computed can subscribe to transitions from empty to non-empty states.

This sounded intriguing, but wasn’t actually very instructive. A quick ask around the office revealed that no one else had encountered this syntax before either. The quest for knowledge was on.

Read more on Ember.js array.[] syntax…

Increasing Pivotal Tracker Usability with Shorter IDs

We’re using Pivotal Tracker to manage the backlog on my current project. I initially really appreciated the simplicity of the way Tracker presents stories just by their human-readable name. But as the project progressed, there came a point where there were so many stories that it started to become difficult to find stories quickly.

One of the clients made a mention in passing about how they wished they had a short story ID like they had seen in previous projects. Having previously worked with JIRA’s project-unique issue-ID system, I realized how much easier it would be to make quick reference to existing stories, and started looking for a solution. Read more on Increasing Pivotal Tracker Usability with Shorter IDs…

Don’t Fear the Standards – They’re There for a Reason

When I started working on my first embedded project at Atomic, I was given just two pieces of advice regarding C programming:

  1. Read the K&R C book.
  2. Turn to the C technical standard for language questions.

The second one struck me as an odd proposition at the time, as I had never before cracked open a language spec.

My impression of language specifications and formal documents in general was that they were for a chosen few, and not generally useful day-to-day. This turns out to be almost completely untrue. Since the standards documents lay out the rules which the people implementing the standard must follow, they often provide one of the very best references for how things behave in the real world. They also must be clear enough to follow, and detail the corner cases that introductory blog posts always seem to leave out.

Surely enough, I quickly found myself skimming through the C99 specs for everything from finding out what the ‘register’ keyword actually does (hint: nothing to do with register allocation) to the exact behavior of designated initializers for structs. The spec isn’t always the clearest, and takes some time to read, but importantly it’s almost always right. Read more on Don’t Fear the Standards – They’re There for a Reason…

Faster MacOS Drive Images with SuperDuper, SSHFS, and Netcat

I recently found myself needing to make a really thorough system image of my MacBook when my Mac OS install picked up some subtle corruption that was causing some really crazy suspend/resume bugs. I chose to make full system images with SuperDuper!, since it has proven itself quite capable in these matters in the past.

I already had Netatalk set up on my trusty personal file server, so I set up a gigabit ethernet connection with jumbo packets, mounted an AFP share on my mac, and started a backup to a new sparse bundle. “Slow” does not even begin to describe for how painfully sluggish the speeds reported by SuperDuper! were, at less than 8MB/sec. Over 18 hours were estimated to complete the backup. Since I need to work on my laptop at least 8 hours a day, this was unacceptable. Thankfully, I found a faster way. Read more on Faster MacOS Drive Images with SuperDuper, SSHFS, and Netcat…

A Primer on Esoteric Programming Languages

There are a few programming languages like Ruby and JavaScript I use day to day that just get work done. There are others that are wonderfully expressive like Scala and Clojure, but which I find few opportunities to use.

This post is not about any of those programming languages. This post is about more esoteric languages — ones that I will never use for practical purposes.

These are languages that exist not to get work done, but to have fun. If you ask yourself “Why?” you are probably missing the point. The question is more often, “Why Not?” Read more on A Primer on Esoteric Programming Languages…

Ember.js Date Pickers – It’s Easy!

Ember.js can be an extremely polarizing framework. If the stars align, you can accomplish astonishing volumes of work in a short period. When you start exploring the boundaries of what’s known practice, sometimes you can get buried under a mountain of yaks that need shaving.

The application I’m currently working on has quite a few form pages. This has lead me to look some of the tougher problems in Ember like radio boxes and modal dialogs. While I’ve had exceptionally poor luck trying to get radio buttons working properly and am not unsatisfied with my current solution for modals, I had a really awesome experience adding a calendar date-picker widget with Ember.

Read more on Ember.js Date Pickers – It’s Easy!…

Google Circle
Join my Circle on Google+