Evernote Services

Updated October 2, 2009!

Just a note: These work great in Lion and Mountain Lion. It’s not just for Snow Leopard.

With Snow Leopards new services support, I’ve updated the old “Send to Evernote” service to include three services:

  • Clip Text to Evernote: This is the original “Send to Evernote” service, with the improvements provided by Snow Leopard. This service takes selected text and turns it into an Evernote note. It will also grab the name of the frontmost window for the title of the note so that you’ll remember where you clipped it from.

  • Clip URLs to Evernote: This takes any selected URLs, and downloads the contents of those URLs into Evernote. Very handy if you have a reading list of URLs and want to save them for later.

  • Clip Files to Evernote: This will accept files and folders and attempt to clip them to Evernote. In some cases this will fail if the file isn’t supported by Evernote (although premium users can attach anything they want). If it is a supported file type, the document’s contents will become the note, rather than just attaching as a file.

Installation’s easy. Just unzip the archive, and put the services you wantin your ~/Library/Services/ folder (make one if it doesn’t already exist).

This will also let you get rid of the little elephant in your menu bar if you like.

Written on October 2, 2009

Nik's Picks: iSSH

iSSH is a wonderful SSH client that goes beyond a simple terminal client, to nearly the remote access Swiss army knife of SSH on the desktop.

SSH is commonly used as both a remote terminal and also as a sort of VPN to access remote systems graphically. Apple has limited the iPhone in such a way that this is impossible. A SSH connection can only be maintained in a single app, and when that app is closed, so is the SSH connection – no other apps can access it.

iSSH gets around this by bundling in the two most common remote management systems: VNC and remote X11 applications. It also permits multiple simultaneous connections, so you can manage tasks between more than one server. (very useful in disaster recovery and server migrations)

As a terminal, iSSH is quite good. It supports custom fonts, different keymaps, copy and paste, and is in all ways a good solid terminal. Unlike other SSH apps, it also supports the legacy Telnet protocol and ANSI terminal emulation, in case you need to get your Tradewars on.

It also has a pretty easy way to get at non standard keys, such as arrows and modifier keys. A row of small buttons line the top of the screen, and you can scroll left and right to reveal more commands. This works all right, but I sometimes clicked the wrong key, even when scrolling, since the buttons are so small. This can be quite frustrating, and it made me miss TouchTerm’s floating key palettes.

iSSH also has the option of a “key pie” menu. This brings up a floating round control that reminds me of a remote control for a TV. It can contain multiple sets of fully custom buttons that can be used as modifiers, macros, or arrow keys. I wouldn’t mind seeing this concept completely replace the modifier keys at the top of the window.

VNC is well thought out and very flexible, thanks to the underlying SSH system for secure connections. You can connect in the clear, or using SSH tunneling, as well as tunneling to one server and then connecting openly to a second. Once connected, you have the normal sort of control, including window scaling, keyboard and mouse, and all the modifier keys you’d expect.

The winning feature here is the tunnel support. Performance over 3G is worse than some other VNC clients. Jaadu VNC can do the same SSH tricks and is generally a better VNC client, but it’s also much more expensive. For lighter or infrequent remote management, iSSH is great, especially for the price. (note that VNC is perfect for remote control of presentations – one more use for iSSH!)

X11 forwarding is very impressive, and quite a bit faster than SSH over slower connections (especially if you use something lighter weight than KDE or Gnome) But it’s limited to pure Unix systems, and more complex to set up than VNC, so it’s only a real benefit to the most die hard *nixers. That said, it works great, up until you run out of memory. (Which, on my 3G, was after just a couple of KDE apps – a 3GS would fare better)

The one limit on remote management is that only one graphical (VNC or X11) session can be active at once, although any number of terminals can run at once. (until you run out of memory, at least)

To wrap up, iSSH is fantastic. It gives you all the tools you need to remotely manage Unixish servers from your phone. (Windows, too, if you install the right open source tools) It might be just the thing to let a IT professional take a vacation without needing to drag along a laptop and stay near wifi in case disaster strikes at the datacenter. Or, for $5, it’s also just a handy tool for any *nix hobbyist.

Written on September 26, 2009

iPhone Users Aren't Cheapskates

I keep hearing developers complain that “iPhone users are cheapskates who won’t pay for a quality application.”

Most iPhone users have spent over $200 and around $100/month for a telephone. Why can’t you sell a high tech piece of software to someone with a $1,500/year gadget habit?

My guess: They’re too distracted by all the cheap/free gadgets they can get. If what they want is the gadget, and not productivity, that may be very hard to break through.

At the same time, there are app users like me who are more than willing to shell out for a quality piece of software. I use Jaadu VNC almost every day, and was happy to pay $25 for trouble free VNC, even though there were cheap remote control and free VNC clients available. Likewise, I paid plenty for OmniFocus on the iPhone, and for the desktop as well. I get more than $100 worth of productivity from it.

In both cases, I had a recommendation from a trusted source. OmniFocus was built by one of my favorite software houses, and was recommended by many people I’d met while exploring Kinkless GTD. Jaadu was recommended by my geek-buddy, Aaron.

Again, it’s marketing outside of the app store. What does it take for your app to get that precious recommendation?
Written on August 3, 2009


I just started working with the Drupal Mailhandler module. I got jealous of Posterous, but I like geeking in Drupal so much that I couldn’t bear switching over. (And yes, I know Posterous can handle cross-posting to Drupal – I like this better) Very cool stuff. I can attach images and do all kinds of neat things.
Drupal continues to impress me with what it can do. I just think about something, like “can I post by email?” and a short search later, I find out that I can. It’s wonderful.
This couldn’t be more of a test post, so please don’t worry yourself about all the images and files. I’m just working on themeing things. Or maybe not. :)

Written on July 31, 2009

Your iPhone App is a 99¢ Lawnmower

Vlasic, one of the world’s top pickle producers, delivered a top selling item to Walmart – a gallon of pickles for about $3. It was huge, Walmart shoppers went pickle crazy, and bought them by, well, the gallon. The only problem was that the gallon jugs of brine were only minimally profitable – picklers make their real money on cut and prepared pickles. But Walmart and Vlasic were caught up in the pickle-fever, and Vlasic ignored the shrinking margins as their business shifted from premium gherkins to dime-a-dozen salted cucumbers. Finally, Walmart’s continued pressure to lower the cost of a gallon of pickles, and the total loss of more profitable business, forced Vlasic into bankruptcy.

Simplicity Manufacturing, a premium lawnmower manufacturer, was offered the opportunity to become Walmart’s house brand of lawnmowers, guaranteeing millions of sales. But that would have watered down Simplicity, forced them to lower their standards, and to reduce their profit margins. Ultimately, they said “no,” and continue selling high priced and high quality lawnmowers today. They haven’t filed for Chapter 11.

Your iPhone application is a shiny red lawnmower, and you’re selling it for 99¢ a gallon.

It would be flattering to call the App Store Walmart on Black Friday. Sure, it generates a ton of traffic, but that traffic is a bunch of sweaty bargain hunters digging through endless shelves of games and applications, guided by $1 flashlight applications, haphazard search and vague and untrustworthy reviews. It’s a great place to sell if you’re willing to sell your app at the absolute lowest possible price (quality be damned!), and be in cutthroat competition with the next guy who can give the Walton family some pickles for half a cent less per gallon. Unless you’re as good at the low price game as Walmart, you’ll be in a race to the bottom.

Remember Simplicity and their shiny red lawnmowers? Not only are they unavailable at Walmart, they’re also nowhere to be found on Amazon, or at Sears, or most anywhere else. They’re sold exclusively through certified dealers, each of which is equipped to be a full service support shop for the mower. There are two such dealers within 100 miles of my house. But that’s all right, because if I’m going to spend over three grand on a lawnmower, I’m happy to make the trip.

You’ve got this great application that’s well worth a premium price. Why are you trying to draw people in who are window shopping at Walmart’s app store? It's time to to quit bitching and build your dealer network.

Start with your own storefront – make it a killer website with the sort of depth and trustworthiness that makes people happy to shell out a thousand bucks to upgrade their copy ofAdobe Creative Suite. Heck, make ten killer websites, each targeted at a specific market segment or use for your app. Or give away a thousand copies of your app as coupons in MacHeist-like promotions to get the word out. Put a quarter of your money into advertising and search marketing. Get endorsements from the people in your very particular market niche telling other enthusiasts and professionals how critical your app is to their lives. And keep investing in quality, design, and support, the last thing you can afford is customers who feel cheated. 

Yes, this costs money, and time, and has huge risks. Welcome to the world of business. And seriously, what’s the alternative…?

Pickles, that’s what.
Written on July 30, 2009

BBEdit HTML to Text

This script uses BBEdit to convert HTML to lightly formatted text. Unlike BBEdit’s “Translate” utility, this maintains links, image ALT text, and even formats headers and bold text as all-caps. The formatting is ideal for making plain text versions of HTML email messages – which is the reason I created it in the first place.

For best results, drop this in the BBEdit Scripts folder. (you can open it from BBEdit’s script menu!)

Written on March 31, 2009

Easy Apache Redirects and Site Aliases

Everybody knows about using .htaccess files to redirect, say, foo.com to www.foo.com. There’s lots of cookbooks out there for doing this. But I was in a different situation; I registered foo.com, foo.biz, foo.net, foo.org, foo.mobi, foo.us, and foo.info!

(Note: “Everybody” refers to apache sysadmins, and foo refers to a domain name that I do not want to advertise at this time.)

One way to handle this would be to set up a ServerAlias entry in the httpd.conf file for every one of these domains. While this works, it doesn’t redirect the domain. Instead I end up with duplicate content for every one of these many domains.

I could handle this by writing a .htaccess file that covers every combination of, say, foo.net, foo.org, foo.biz, and so forth for every domain, but that seemed like an awful lot of typing. Yet, for some reason, I couldn’t find much of anything on the web to make this easier.

It turns out this can all be handled in your httpd.conf file using the “Redirect” directive.

What you need to do is set up two virtual hosts. One is for the domain you’re re-directing to, and the other is for any and all domains you want to redirect from. Then you add a “Redirect permanent” directive as appropriate.

Here’s an example, in which I try to route foo.com to www.foo.com:

# This is the master domain

ServerName www.foo.com
DocumentRoot /var/www/foo.com

# Redirect foo.com to www.foo.com

ServerName foo.com
Redirect permanent / http://www.foo.com

Okay, this is actually more text that an .htaccess mod_rewrite statement, but look at what happens when I add ServerAliases to the redirecting virtual server:

# Redirect everything to www.foo.com

ServerName foo.com
ServerAlias *.foo.com
ServerAlias foo.net *.foo.net
ServerAlias foo.org *.foo.org
ServerAlias foo.biz *.foo.biz
[and so on...]
Redirect permanent / http://www.foo.com

I can use the same syntax to do a 302, 303, 401 or any other sort of redirect as well.

If you have a fairly simple array of virtual hosts, you could also use the default “catch all” virtual host to redirect to your main site, thus avoiding any need to explicitly define tons of ServerAlias entries.

Written on January 22, 2009