In search of a better Image Optimizer

by

Web users never like to wait for a website to load. As a software company, a long wait time can result in losing potential clients. One of the tricks that can speed up the loading of your website is the optimization of your images. There are several free tools that you can use for this. Here are five that I recommend.

Of Darts and Buckets

by

Web Services

Recently, I had the opportunity to work on an exciting in-house project for Grio called Filedart.  This service, which will launch in the near future, affords the denizens of the web the ability to effortlessly upload content to the cloud by dragging photos or files to a small icon in their taskbar.  After the file is uploaded by the client, the service automatically copies a mini-fied URL to the client’s clipboard.  This URL leads to a brand-new, public web hosting wrapper for that file that they can easily distribute to their friends of colleagues to share.  The service is free, and users don’t even have to log-in to use it.

Defining Software Quality

by

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

by

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:


    eclipse.preferences.version=1
    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>
    overridepresentation=true

    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

by

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)

by

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

by

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

by

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

by

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

by

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!