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?
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\="org.eclipse.jdt.ui.edit.text.java.search.references.in.project" 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.
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.
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.
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
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.
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.
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!
I recently reviewed a SQL query that was returning duplicate results. Since I expected, and needed, a single result from the query this was a problem. Here’s an explanation of why this bug occurred, and several different ways it can be resolved.
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.
…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.