Posts tagged 'Software'

Taking Notes With nvAlt And Epistle

I’ve blogged before about productivity tools. GQueues worked for me for a bit but my interest in it eventually faded. I tried running my own wiki with a What You See Is What You Get (WYSIWYG) editor bolted on but that solution wound up being too clunky. But now I’m using a simple text editor for the Mac called nvAlt .

nvALT is a dead-simple application. Just pick a folder to save your notes to and start typing the title of your first note in the Search or Create field at the top. There is no toolbar or buttons or any of the other distractions typically found in a basic word processor. It supports markdown for basic formatting such as creating headlines or lists. The neat thing about markdown is it is easy to read in any editor but when viewing it in editors that understand markdown it can be rendered as valid HTML. nvALT has a rendered preview window if you ever need your notes in HTML or to print them out or just to copy and paste them into an email.

Markdown is just as easy to write as it is to read. To make an unordered list just but an * and a space before the sentence. New lines are translated into new list items. Different level headings are expressed by the number of # symbols in front of the word; one # symbol = heading level 1, 6 # symbols = heading level 6. A lot of the markdown syntax was inspired by simple formatting in plain-text emails. You can read through the complete reference of markdown’s syntax for even more examples.

So nvALT is a great little tool for organizing text notes but what else makes it so special? Well, when you save your notes to your Dropbox folder, your notes can go with you wherever you go. Epistle is an awesome free Android app that complements nvALT. It syncs with Dropbox, lets you search through all of your notes the same way nvALT does and it too supports markdown. Now I can make a shopping list on my computer and reference it when I’m at the store. And then I can delete items from the list after I buy them and have the changes sync to my computer automagically.

Previously I would have to email copies of my notes to myself without an easy way to update or make changes to them.

I keep different files for all kinds of different thing: random ideas, WordPress snippets, links and brain dumps for different projects I’m working on, to-do lists, and even rough drafts of blog entries. One time I was at a meet-up and someone was talking to me about a WordPress problem they were having. I thought a plugin I had just read about would come in handy for them and thanks to my notes synced to my phone I pulled up the link and sent it to him.

Since nvALT and Epistle are tied to my Dropbox account one could do really geeky things. It would be so neat if I had an analytics note and every night a script would update it with stats from Google analytics showing me how many unique visitors read my blog yesterday. Or if it aggregated a bunch of simple information that I check often into one place that I could glance at on my way to work.  Using a service like if this then that (ifttt) would be neat for making some simple actions to automatically update notes with new information. Then that information could be in one place no matter where I am.

I’m so happy I found an open-ended system that gives me the flexibility for all kinds of different things while being simple to use without getting in my way.  What do you use for keeping track of to-dos and ideas?

I Hope Apple Improves Voice Recognition…

Here we are on the eve of another Apple press event. There are all kinds of rumors and speculation about what the famous electronic maker will unveil but the one I am most looking forward to is the extensive voice controls supposedly built-in to the core of iOS5.

Voice recognition is hard. Google has had the capability built-in to their devices (and even their browser) for some time. The quality of the interpretation is iffy at best. I have never felt like voice commands were worth the effort. When Google guesses wrong you have to go back and correct it’s shoddy work by pecking at the tiny screen to get the text cursor in the right place and delete all of the letters and retype the word you originally meant to input. Like I said, voice recognition is tough.

I believe voice is the next big computer interaction. Smartphones have taken off because it allowed us to have a computer in our pocket. The same way we could query the world’s knowledge for answers to our mundane questions at our desks is now available most anywhere we are. But voice will certainly not become the primary form of computer interaction (just imagine a group of cubicle dwellers yelling over one another so their computers can hear them). Instead voice will become prevalent in more intimate settings like in your car (see Ford SYNC) where your hands aren’t free or in your own home.

Imagine being able to ask your computer a question from your couch and having the computer speak the answer back to you. When you’re getting ready in the morning wouldn’t it be great to simply ask aloud “What’s the weather out today?” and then get your answer spoken back to you? This will lead to a more passive computing experience, where it’s just there in the background. Smartphones are a stepping stone to this reality, but I predict it will be at least 5 years until a voice aware home is even viable.

What’s Available Today?

There are a couple of interesting voice automation projects out there today.

CMU Sphinx is an open source toolkit for speech recognition. It’s a bit too complicated for me to get up and running so I could at least play around with it. The home automation project, MisterHouse, uses it for some basic voice commands (video demo).

Windows users have the add-on Bill’s Voice Commander for the Active Home Pro software to do similar things.

Samir Ahmed created the open source Iris project, a Java app for utilizing Speech Recognition and Synthesis to make a desktop assistant. It looks like a really interesting proof-of-concept.

Google uses a web service to convert speech to text which Mike Pultz reverse engineered for his own purposes.

My Favorite Twitter Client, Nambu, Is Dead!

In a sea of desktop Twitter clients, Nambu for the Mac stood out to me. It was a native OSX application which means it wasn’t written on top of a bloated, cross-platform platform like Adobe Air. It performed splendidly while not hogging system resources.

But alas, all good things must come to an end. I randomly stumbled across the Nambu homepage and saw this message:

Unfortunately, we are sad to announce that Nambu is no longer being actively developed. There will be no more updates, as everyone on the Nambu team has moved on to other projects.

We would like to thank everyone for their past support and suggestions.

All the best.

Apparently they put this up in the middle of March. Nambu is still available for download (and still works for that matter) but I expect to see it crap out in a spectacular fashion some day down the line. What are some of your favorite Twitter apps for the desktop?

Adding A WYSIWYG Editor To Your Wiki

Wikis, like Wikipedia, are great tools for the creation and organization of content. The one thing that gets in the way however, is the special syntax needed to mark-up pages. Links are created by wrapping text in double brackets like [[ and ]]. Extra functionality can be expanded with different characters but honestly, it’s a lot to keep track of.

It’s hard enough formulating the words stuck in your head into a clear, well-written piece of content. Trying to translate your idea into cryptic wiki syntax is a brain-fart waiting to happen. For most folks introduced to an inter-office wiki, the syntax is the straw that breaks the camel’s back. You can kiss any chance of adoption goodbye when you explain that to bold text you need to have three single-quotes on each side of the text.

Thank goodness the MediaWiki+FCKeditor project is around. The goal is to build a usable WYSIWYG editor for the MediaWiki software (and they’re on the right track). Installing the extension is as simple as downloading a folder, copying it to your extensions directory, and adding a line to your localsettings.php file. Then presto, an easy to use interface that sits on top of the edit field translating hairy wiki-syntax to their visual equivalents. If your users can figure out how to use Microsoft Word, then they can understand the MediaWiki+FCKeditor extension. But fear not my die-hard wiki wranglers, the plugin lets you easily switch back and forth between the WYSIWYG editor and wiki syntax.

If you need to give it a try, check it out on this Sandbox page.

So adding one simple extension can make it easier for wiki-novices to get involved creating and editing content while staying out-of-the-way of the wiki-pros. If you need to get normal people involved with a wiki, make sure to add the MediaWiki+FCKeditor plugin to make life easier for everyone.

City Caller ID Android App Is No More

One of my favorite Android apps, City Caller ID, is no more today. The simple app displayed the city and state of the incoming phone number when you receive a call. Apparently the technology for displaying this information is patented by Cequint who has sued the developer of the free app. At first the developer was asking for help with donations and legal advice, but as of Saturday night, he has given up.

I can’t believe something like this can even be patented! From a programming perspective, it’s a fairly simple app. All of the area code data can be found on a site like When you get a call on your phone, a program can pull the first 3 digits and do a simple lookup for what state the phone number is issued in. It looks like no one will have the chance to download the app now, but I wonder what will happen to those lucky few like me who have already downloaded it?

I don’t think this will be the last Android city/state app for incoming calls as a Cequint employee introduced himself on an Android forum. Something must be up.

#1 Resolution For 2010: Get ORGANIZED!

There are many things I would like to accomplish in 2010 (exercise more, lose weight, redo my website, create a new logo for myself, release some personal projects, read more books, read less feeds, get married etc.) But I can’t do any of those things unless I organize and plan my projects out more.

I’ve tried many things in the past to try and get organized including e-mailing myself, setting up a personal wiki, and various software tools. But I finally found something that works called GQueues.

GQueues is what you would get if GMail was a to-do app. With GQueues you can

  • Group tasks
  • Sync deadlines with a Google Calendar
  • Add tasks via IM for sorting later
  • Access on the go with a mobile version
  • Other GQueues features

I’ve been using it for a few weeks now and I am really happy with how easy it fits into how I work. It’s a simple organizational tool that doesn’t get in your way when you’re trying to get something done.

Picasa People Tagging / Facial Detection Guide

Picasa 3.5 brings a new feature that scans your photo library looking for faces so you can tag people in your photos. This walkthrough video embedded below from Google covers the basics of people tagging. There is also this written guide.

First Impressions

The face detection technology built into Picasa 3.5 works ok. The scanning processes is slow but Google is aware of this problem. When it works, Picasa can group together common faces making tagging people a breeze. But when it doesn’t work you can get all kinds of wrong matches which are tedious to go through and correct. It’s certainly not something you can set and forget as you will need to spend some time double checking the suggested matches.

With that said there are a few tips and tricks to make the process a little easier. Most of the following info was culled from a help forum post.

Tips for better tagging

Set the suggestion and cluster threshold to 85. By default both of these values are set at 80. You can change this in the following locations:

Windows: Tools->Options->Name Tags
Mac: Picasa->Preferences->Name Tags

I found a noticeable decrease in false positives by bumping this setting up a notch, especially if your photo library is greater than about 10,000 photos.

Picasa Suggestion and Cluster Threshold

Be careful tagging blurry faced photos. When you have a bunch of blurry faces attributed to a person, the number of false positives goes way up as Picasa struggles to make a vague connection.

To see the unknown faces for only one folder at a time just do a search for the name of the folder and select it from the auto suggest list that drops down from the search box. Now you can easily go through the unnamed people for that folder alone cutting out the noise of unnamed people from other photos.

Picasa Filtering Unnamed People Using Search

When you’re combing through a bunch of faces, turn on the Faces filter at the top of the Picasa window. This will hide any photos that don’t have any faces in them saving you a bit of time when moving from picture to picture.

Picasa Show Only Photos with Faces button

How does Picasa’s facial recognition work?

Picasa scans the photo looking for facial patterns. When it finds a match, Picasa adds two pieces of information to a picasa.ini file (hidden by default) in the folder holding the picture. The face data is stored like this:


The first part, enclosed in rect64(…), is the relative coordinates for the rectangle around the face. The second set of characters after the comma is a unique identifier linking the face with a name in Picasa’s contact database which is stored in the following locations on your computer:

Windows: /Users/%USERNAME%/AppData/Local/Google/Picasa2/db3/
Mac: /Users/%USERNAME%/Library/Application Support/Google/Picasa3/db3/

(Source: Mye)

The 16 characters enclosed in rect64(…) is a 64-bit hexadecimal number which can be broken up into four 16-bit numbers used to identify the position of the rectangle used to mark the face. If you divide each of the four 16-bit numbers by the maximum unsigned 16-bit number (65535), you’ll get four numbers between 0 and 1 which give the relative coordinates for the face rectangle in the order: left, top, right, bottom.  To calculate the absolute coordinates, multiply the left and right relative coordinates by the width of the image and multiply the top and bottom relative coordinates by the height of the image.  This way the faces will always be identified even when the image is re-sized.

(Source: Oedious)

Embedding tagged people data in picture files

The fact that Picasa stores the tagged people data in an external data is less than ideal for some. The .NET program AvPicFaceXmpTagger reads Picasa 3.5 face definitions for a given list of pictures and writes them as XMP metadata tags inside the picture files. It can also add the person’s name as XMP keywords and/or IPTC keywords which can be read by other photo programs.

I haven’t tried it out myself but it is worth mentioning as a workaround until Google addresses this problem.

avpicfacexmptagger Main Picture Display

(Source: Andreas Vogel)


Overall the people tagging features introduced in Picasa 3.5 are a nice start but there is still a lot of work to be done. Hopefully the future improvements will be frequent and steady as this is an exciting new vector of information to make digging through photo collections a joy. Things will really get interesting when it will be able to talk to other photo services (like Facebook) to gather and sync and kinds of metadata.

Firebug Gets A Little Buggy

Firebug is the web developer equivalent of a hammer to a carpenter. In other words without this valuable tool hundreds of thousands would not be able to do their job and make the web what it is today. So even small changes to the interface are going to ruffle some feathers.

I spent a good half day trying to figure out why my precious Firebug wasn’t behaving like its usual self. For one thing, it wasn’t showing JavaScript errors in the status bar icon like it usually does. It also displayed a message saying “Reload to activate window console” whenever I would bring it up. This makes debugging impossible if I have to keep refreshing the page everytime.

It turns out the Firebug developers made a teeny, tiny tweak to the interface. The screenshot on top is the newer Firebug, version 1.4. The bottom half of the screenshot is from an earlier version. See the difference?

Screenshot of Firebug 1.4 vs the older 1.3 interface.

The ‘X’ used to hide the Firebug window in older versions has been replaced with an Off button. Unfortunately the Firebug developers changed the behavior as well. The Off button deactivates Firebug for that website which explains why JavaScript errors disabled in the status icon. The button that I have come to accustomed to for minimizing the Firebug panel is that circular down-ward arrow about 50 pixels away.

This is a usability nightmare!

  1. The hide Firebug functionality isn’t where the user expects it, especially for long-time users who have developed a muscle memory
  2. The Off button is ambiguous to what the action does (a better word would be deactivate, though that doesn’t quite fit)
  3. The Off buttons breaks away from the rest of the paradigm of the interface (icons are for actions like inspect, and pause while words are for different tabs)
  4. and the Off button is a much larger than the minimize button even though the minimize button is used far more frequently than the off button

Firebug 1.4 interface paradigm

I now have to focus in order to minimize Firebug taking mental energy away from my task. If I’m not paying attention I can turn-off Firebug for the site I’m working on and then I would have to reload the page to get it working again. These sound like little things but compounded one hundred times and it can drive you batty.

So while the latest Firebug update is not technically broken, a poor interface decision sure makes it feel like a buggy mess.

Adding Your Own Tools To Google Search

This might be a couple years old but I just happened to stumble upon this feature last weekend. Google has always had shortcuts built into it’s search results for things like mathematical calculations (10! / 2 -12), definitions (define: boisterous ), and local weather results (weather 90210). With Subscribed Links, you can add your own custom functionality to specific searches like nutrition data for food items via or a list of the cheapest gas stations in your area by GasBuddy.

This is a neat customization that I’m surprised has n’t changed much since it was brought back nearly two years ago. Adding custom functionality to your searches is kind of like adding custom programs to your command line. My only complaint is they don’t behave like I expect them.

For example, the subscribed links are never near the top. They always seem to be mixed into other results. If I explicitly signed up for added functionality and I need to use a custom syntax like “gas prices 20906”, I expect the add-on to be the first result. The Weather Radar add-on is a bit too small and cramped to be of any real use. It also shows up four items down below Google’s default 5 day weather outlook which comes up on top.


I hope Google has plans to expand these search add-ons. I can only imagine there are heaps of companies that would like to provide an add-on that puts their products and services front and center in the crowded search results.

Top 5 Firebug Extensions

Firebug started as an indispensable Firefox extension which takes web development to a new level. But after 2 years since it’s initial 1.0 release, Firebug has grown into a platform with a host of extensions built right on top of it. Here are my top 5 Firebug extensions that every web developer should have installed.

#5 SenSEO – SenSEO is a handy checklist of key SEO criteria. This Firebug extension rates your page on a scale of 100 against Google’s webmaster guidelines. SenSEO is most important right before a big launch to catch any simple tweaks that you may have overlooked during development.

SenSEO Firebug Extension Screenshot

#4 CodeBurner – CodeBurner is an HTML and CSS reference right at your fingertips while you debug. It adds a Code Example tab which gives a brief description of the HTML tag or CSS property you have highlighted as well as a code sample so you can see the recommended usage. If that’s not enough, CodeBurner provides a link to the Sitepoint reference page which has everything you could ever want to know. Man, I wish I had this extension when I was learning HTML and CSS (let alone Firebug).

CodeBurner Firebug Extension Screenshot

#3 FireFind – FireFind does only one thing but it does it well: finding elements. Using a CSS selector or XPath statement, FireFind will highlight all of the matching elements on the page. This makes it a breeze to test CSS selectors with your site right in front of you. To boot, it also features a count of all the elements found. Even though this is possible through Firebug’s console tab when any popular JavaScript library is included, FireFind makes the process straight-forward and painless.

FireFinder Firebug Extension Screenshot

#2 FireCookie – If you have ever had to debug JavaScript cookies then you’ll wonder how you got by without this extension. FireCookie lets you inspect and edit cookies on the fly including permissions, values, and the expiration time. You can even sort all of your cookies as well as filter them out by domain. And when testing a script for your audience that has cookies disabled, FireCookie provides a simple option to disable cookies globally or just for the current domain. Now working with cookies doesn’t have to be such a stale experience.

FireCookie Firebug Extension Screenshot

#1 YSlow – Serious web developers are obsessed with performance and YSlow provides a smorgasbord of tools for measuring the speed of a site. YSlow is built around 34 best practices for speeding up a website which is the result of extensive research by the Yahoo Performance team. The extension provides a letter grade of each practice with advice on how to squeeze out every little bit of extra performance.

YSlow Test Grade View

Another handy view is the Components tool which gives you an insight into all of the componets of the page. There are a bevy of stats that can be analyzed to pinpoint bloated waste.

YSlow Components View

Finally, the statistics tool gives insight into the weight of your page for users with an empty cache and a primed cache.

YSlow Statistics View

If you have never given much thought to the performance of your site, YSlow makes it easy to dive right in.

What are some of your favorite Firefox extensions geared towards web development?