Defining Software Quality


Here at Grio we strive to constantly improve the quality of our software. But what exactly does that mean?  Is there a way to measure software quality?  What are the metrics?  What are the tools needed for this endeavor?

We ☠ Eclipse


Over the years, I’ve used a variety of editions of Eclipse with a variety of plugins. These days I try and minimize all of that and ask Eclipse to do as little as possible as infrequently as plausible. The below is a diary of sorts of the events that led to that choice.

A selection of ways Eclipse has failed me:

  • It lies about custom key bindings being set, doesn’t actually set them despite indicating it has, and stores the bindings in the robust and never problematic Java-properties+XML standard format resulting in configuration files that look like this:

    org.eclipse.ui.commands=<?xml version\="1.0" encoding\="UTF-8"?>\n<org.eclipse.ui.commands>\n<activeKeyConfiguration keyConfigurationId\="org.eclipse.ui.emacsAcceleratorConfiguration"/>\n<keyBinding commandId\="" contextId\="org.eclipse.ui.contexts.window" keyConfigurationId\="org.eclipse.ui.emacsAcceleratorConfiguration" keySequence\="COMMAND+SHIFT+V"/>\n<keyBinding commandId\="org.eclipse.ui.window.previousPerspective" contextId\="org.eclipse.ui.contexts.window" keyConfigurationId\="org.eclipse.ui.emacsAcceleratorConfiguration" keySequence\="ALT+COMMAND+CTRL+ARROW_LEFT"/>\n</org.eclipse.ui.commands>

    Normally I could care less what format software stores its config files in, but despite the braindead format I’ve still had better luck editing this file by hand than trying to get Eclipse to handle it correctly. If your config file format is too error-prone for your software to handle, maybe it’s time for a change.

The basics of Cocos2d


Recently I started work on an iOS game. I decided not to use the Core Animations framework provided by Apple and instead experiment with some third party game engines. I chose Cocos2D as it is an all in one package. It gives you the ability to add and control sprites, add cool graphics and animations, access to a sound engine and also 2 physics libraries.

Create an HTML Signature Including Image Links in Mac Mail (OS10.8)


You might imagine that this subject would be rather straight forward and hardly worthy of an article of any sort.  Unfortunately, you would indeed be imagining.  Adding an HTML signature to Mac Mail is not as simple as pasting the html directly into the signature field of the client like in Gmail or Outlook.  With Apple Mail pasting HTML or images directly into the signature field just doesn’t work very well. In fact, the process for setting an html signature with images in mac Mail is remarkably un-Mac-like.

Facebook Photo Picker for Android


Select Album Screen

On a recent project, we needed a widget that would allow users to select a photo from their Facebook albums. “Surely the new Facebook Android SDK must support this.” I thought. Alas, my hopes were unfulfilled. “Well, I bet there is a third-party solution for this!”, I surmised, but again, my search was for naught. At this point I decided to roll up my sleeves and do it myself.

You Do What Android Want = Android Do What You Want ~ Part 1: The Mystical 9-Patch


The Mystical 9 patch

You Do What Android Want = Android Do What You Want
Part 1: The Mystical 9-Patch

I recently encountered some blank stares from some colleagues regarding certain aspects of the 9-patch.

Granted, there doesn’t seem to be all that much documentation out there explaining the ins and outs of nine patch, possibly adding to the mystique, but then again, maybe there isn’t all that much to explain.

Here I’ll outline the basics of the 9-patch, and you can comment as to whether it indeed makes simple sense… or instead, communicate your own blank stare with some scathing criticism below in the comments section.

Communicating with a software engineer


Like any working professional, software engineers are extremely busy. There is more code to write than there is time. For this, we can be very picky with which tools we choose to communicate. A normal day can be filled with meetings, email , and then actually trying to write code. For the engineer, we have time for few things, and writing code is top priority. So, what’s the best method for getting a developer’s attention?

Here’s some tactics that will help you get in touch quickly with the guys building the next best life changing tools.

Managing from India – 5 tips


I’m writing this post from Mysore, India where I’m working for the entire month of February.

Coming here was a nail-biter for me, but not because of typical western concerns like bedbugs, heat, smog, or monsoons. What terrified me was the idea of traveling all this way and not being able to do my job effectively. I oversee operations and finances at Grio, participate in business development, and am currently managing two projects. If anything were to prevent me from working, I would need to grab the next flight and go home – arriving a minimum of 40 hours later!

The fundamental paradox of Stack Overflow’s requirement of objectivity


Stack Overflow requires that questions be largely objective, but is based around a voting system that would be largely unnecessary if all questions actually were. The requirement for objectivity can be readily tested by asking a subjective question and watching how quickly it’s removed, but it’s also made explicit in their blog posts:

Stack Exchange is about questions with objective, factual answers.

their FAQ:

…open-ended questions diminish the usefulness of our site…

and the reasons a question might be closed:

We expect answers to be supported by facts, references, or specific expertise, but this question will likely solicit debate, arguments, polling, or extended discussion.

The message is quite clear: objective good, subjective bad.