Mac


17
Apr 12

Color Pickers in Acorn and BBEdit

I use about 5% of what Acorn can do for image editing, but what I use I love. Take, for example, Acorn’s color picker. I use this regularly for tasks that have nothing to do with editing an image. I use it to grab the info about a specific color. I pop open Acorn’s color panel with shift-cmd-C. I can then use the color picker by hovering over some pixel anywhere on the screen. Acorn tells me the hexadecimal name of the color immediately. I can then save it as a favorite if I want to come back to it later.

The same thing goes for BBEdit. I can open the BBEdit color picker to inspect a pixel anywhere on the screen. But BBEdit will drop the color’s hexadecimal into the front BBEdit document. Both of these applications are great for their primary uses, but it’s the little details that keep them perpetually open in my dock.


16
Apr 12

Path Finder 6 is Out!

No question about it. I already purchased the upgrade to Path Finder. $5 off this week only. That makes it $15 to upgrade or $35 if you have never experienced the alternate reality of the Finder1.

Path Finder has saved my bacon many times. Whenever I need to transfer a large number of files, or a few very large files, only Path Finder has been able to do it. That’s just scratching the surface of the app.


  1. The one where the Finder doesn’t suck and is actually useful for, you know, working with files. 


14
Apr 12

OpenMeta’s Future

I noticed this comment in the latest Default Folder X update:

Recent OpenMeta tags are now read separately from Leap and Yep because the new Mac App Store versions of these applications cannot share their recent tags via the standard OpenMeta mechanism.

I only use OpenMeta with one application, NVAlt. That’s because NVAlt syncs Simplenote tags with OpenMeta. It’s convenient because I have several Hazel rules that match the OpenMeta tags to trigger rules. It would be a minor inconvenience if that happened, but not a tragedy. I’ve already started preparing for the end of OpenMeta.

It makes me wonder what the future of OpenMeta is. It also makes me wonder when Apple will make Finder comments actually compatible with tags. I’ve never felt comfortable with the future of OpenMeta. I wonder if the AppStore will mean the end of OpenMeta.1


  1. OpenMeta may already have come to an end. There have been no significant updates to the project since October 2009. 


12
Apr 12

Java Update to Kill Malware [Link]

Go check your Mac updates. If you have ever used GoToMeeting or similar, then you have Java installed. Let’s be safe out there kids.

By way of TUAW


12
Apr 12

Creating App Consumerism

Will Shipley and Dr. Drang both wrote smart articles about upgrades in the Mac App Store. I agree with Will that the lack of upgrade pricing may discourage developers from making significant changes to their applications. However, I think there is a big part of the user base that is still getting accustomed to paying for software at all, let alone for an upgrade. There’s also a risk that less scrupulous developers will offer upgrade pricing instead of fixes and patches. I think that In App Purchase already leans in that direction for several apps. Features are added to apps piecemeal through IAP rather than through core product updates.

I’m convinced that Apple’s App Store has created consumers where none existed previously. I have several non-technical friends that rely on me for troubleshooting their IT.1 In the past, when I’ve suggested they purchase an application to solve a problem, they’ve scoffed and generally refused.

“What? $10 for an app that will recover all of my lost music? No way!”

To be fair, these are consumers that are accustomed to buying a PC with pre-loaded software and never buying another thing for it, other than a replacement PC. They found it offensive to suddenly start buying software piecemeal.

Now, the same people have been using iPads for the past year and their attitudes towards software have shifted. There’s a threshold, but if the software is below $30, there are far fewer protestations. My friends have no problem dropping $10 on an app for the Mac, because the iPad has trained them that good software costs money.2

On the flip side, it has also created a group of consumers that are very averse to prices over $30. After buying dozens of iOS apps for $0.99, anything over $5 is considered expensive.

The App Store is filled with abandon ware. I don’t think that’s because there’s no option for upgrade pricing. I think it’s because it is very inexpensive to shovel apps into the App Store. Adding the ability to pile on upgrades is going to frustrate users that are only just now becoming comfortable with buying software.

I don’t know what the right answer is. I just know what I see. I see a lot of average customers slowly opening their wallets in reluctant acceptance of the App Store. Apple might want to be careful about scaring them off.


  1. Poor bastards 

  2. The latest example was AirParrot. They were even a little giddy to buy it, and it’s not even on the App Store. 


11
Apr 12

Renaming Finder Items [Link]

A very nice workflow at Macgrunt.com for reliably renaming a set of known files with new names.

By way of Clark’s Tech Blog


10
Apr 12

Python and P-lists [Link]

I learned five things from this 554 word post by Dr. Drang about determining the default browser on OS X.

  1. There’s a Python library for reading plists
  2. There’s a Python library for creating temp files that auto-delete
  3. The InternetConfig tool is still around in OS X 10.7
  4. Dr. Drang uses AppleScript like I do, as a wrapper for Shell and Python
  5. I invested in learning the right scripting language for the distopian future of AppleScript

9
Apr 12

Dripps App

Dripps(AppStore)1 is a very clever menu bar app that makes the process of sharing Dropbox files extremely easy.

Drag a file to the menu bar icon and Dripps uploads to Dropbox and grabs a shareable and shortened URL. The URL is added to the clipboard but Dripps also keeps a running list of the links and the number of times it has been viewed.

The developer Web site has a nice overview of the app, but I really enjoyed the blog post about how he came up with the idea and just built it to satisfy his own needs.

One caveat though: As with all Mac App Store apps that have Dropbox integration, it fails for me when my Dropbox folder is on a secondary drive by way of a symlink. I have a SSD primary drive and I didn’t want to eat up space with Dropbox. Now it looks like every MAS app has the same problem (named sandboxing). Dripps works on my Macbook without the symlink.


  1. Affiliate link 


8
Apr 12

A Panegyric to Marked

I think it’s obvious how much a like Marked by Brett Terpstra. Just look in the sidebar for this site. That’s not an ad. That’s an “I ❤ Marked” tattoo.

Marked1 1.4 is out today and it is a tremendous update. I don’t understand Brett’s version numbers. This feels like a 2.0 feature release. It’s a massive update and it’s still only $4.

About Marked

Marked is a markdown viewer. That doesn’t sound very interesting to most people, but you have to see it to believe it. I open a document in Marked and then open it in a text editor. As I write, the fully processed and rendered view is updated in Marked every time the document is saved.

But Marked 1.4 adds some amazing new features. I’ve put together a short video demonstrating how I use Marked. To keep it short, I’m only showing a couple of features, but I think it’s true value shines through.

It’s For Writing

Marked is not just a dumb renderer. Marked is an interactive tool for Markdown and HTML authors. Several of the tools are unlike anything else I’ve seen.

Watching The Edits Happen

When I use Marked, I don’t just render the final version of a document to see how pretty it is. I have Marked open the whole time and jump between my text editor and Marked. Marked will call out the location where the last edit was made and optionally scroll to the window to that positon.

Marked also has built in search with match highlighting. Sure, I could do this in my text editor, but then all of the HTML is also going to be subject to the search. Marked only looks at the formatted text.

If I resize an image, Marked will update with the new version. If I change a heading style or completely rewrite a paragraph, Marked will display it as soon as I save.

If I’m working in NVAlt, it’s like I’m writing in Marked. NVAlt continuously saves, so Marked continuously updates with the edits.

Link Validation

Link validation is a tremendous tool. Marked will process all links in the document and display a HUD indicating which links are valid. How much is that worth to most bloggers? At least $4!


Link Validation

Document Index

Marked 1.4 also shows a document index at the click of a mouse (or hot key). Marked parses the Markdown headers to create a document hierarchy. Clicking on a heading scrolls to the desired location in Marked and displays a subtle highlight over the line.


Document Index

The document index represents the heading levels with both font and indentation level, making it easy to see if the wrong heading format was chosen. The document is fully navigable by both mouse and keyboard shortcuts. While viewing the index of a large document, just hit the space key and start typing the name of a heading to automatically filter the list.

The document index is a very powerful tool for working with large Markdown documents.

Writing Analysis

Marked offers some of the best writing analysis tools I have. The word repetition finder is a great feature. Marked highlight words that appear multiple times. Clicking on a word shows exactly where the repetitions occur.


Word Repition

For those of us that like the simplicity of plain text, but also want to get a feel for the quality of a piece of writing, Marked offers Readability Statistics. I don’t use it often, but it’s a good option to have.

It’s for HTML Too

Marked handles HTML like a champ. While there are several built in CSS preferences, Marked can also use custom CSS to preview Markdown. Personally, I prefer the built in Swiss-Style.

Once the text is ready for exporting to HTML, Marked is your best assistant. Not only is there a superb source view, Marked can copy the HTML right to the clipboard ready for insertion.


Source View

Someone might get the impression that Marked is only good for working in Markdown. Not so! Write in HTML to get the same benefits. Marked will render the HTML just as quickly and provide all of the same features.

Made for Exporting

Marked also exports the rendered product of the Markdown and HTML to a variety of formats.

  • HTML
  • PDF
  • RTF
  • Print Preview

I think of Marked as the second step in working with HTML and Markdown. It’s rare that I want raw Markdown. I usually want something I can send to a non-nerd that isn’t working in a markup language. I’m not going to send Markdown to my mom.2

Marked Version 1.4

Here’s a brief list of some of the new features in Marked 1.4

  • There’s a CLI for the nerds
  • Syntax highlighting for code blocks
  • Scrivener 2.0 support
  • One of the most beautiful help systems of any app I’ve used. Really.
  • Link popover for external links.
  • Highlight.js can automatically be included with saved HTML.

  1. Affiliate Link 

  2. Ok, I have. I’m a nerd. 


4
Apr 12

Filemaker 12 [Link]

I was a huge Filemaker user back in the mid-nineties. I built chemistry databases on Filemaker and truly enjoyed it. The application has felt stagnant for the past couple of releases and I had lost track of how it was evolving.

Filemaker 12 is out and it looks like they took all of the polish from Bento, added the power of Filemaker and threw in an iOS app (additional purchase). They’ve definitly piqued my interest again.

By way of The Loop


2
Apr 12

Matching MultiMarkdown Meta Data with Hazel

Hazel 3 brings the ability to create custom matching rules using AppleScript or Shell Scripts. This seemingly subtle addition takes Hazel to an entirely new level. I’ve just begun tinkering with this and already I’ve developed some rules that seem almost magical.

MMD Meta Data

MultiMarkdown supports meta data headers in text. These are arbitrary header lines in the file that begin at line 1 and end at the first empty line. The meta data category ends with a colon and is followed by the value. The meta data can be anything but there are some commonly accepted standards. Upon conversion of the MMD file, the meta fields are stripped out. However, they can first be accessed by the MultiMarkdown tools.

Just check out Fletcher Penny’s guide.

title: This is my title
date: 04/02/2012
category: markdown
tags: @blog
    @markdown
    @hazel

In the example above, I’m using the standard meta fields “title”, “date”, and “category”. I’ve also added my own custom field called “tags”. Each tag goes on a single line. Additional tags follow on subsequent lines with at least one level of indentation.

The Python Markdown Module

I’ve written about this module before. I’m not going to rehash all of it, but this is a very good Python tool for accessing the MMD meta data.

The Hazel Rule

I’ve created the following rule in Hazel to move files to my Note Archive when the “@archive” tag is added to the MMD meta data field.


Hazel Rule

Note that this is a shell script that runs a Python script. The Shell path parameter needs to point to the path for Python.

Here’s the Python script that does the matching magic. As usual, this should not be used to operate heavy machinery. It’s ugly and poorly written. There’s way too many IF statements. I just wrote this over the weekend and put it into use today. I’m sure it’s full of bad style and ticking time bombs.

import markdown
import os
import sys

## For Hazel. Received the file path from the rule execution.
filePath = sys.argv[1]

## The tag to look for
matchTag = "@archive"

try:
    myFile = open(filePath, "r")
    rawText = myFile.read()
    myFile.close()
    fileName = os.path.basename(filePath)
    # Start off using the file name as the post title
    title = os.path.splitext(fileName)[0]
    # Handle the odd characters. Just kill them.
    rawText = rawText.decode('utf-8')

    # Process with MD Extras and meta data support
    md = markdown.Markdown(extensions = ['extra', 'meta'])

    # Get the html text
    html = md.convert(rawText)

## extract the tags but keep them as a list

    if md.Meta:
        if 'tags' in md.Meta:
            headerTags = md.Meta['tags']
            if matchTag in headerTags:
                #print matchTag
## Tag was not found. Returning "0" will indicate a pass, anything else will indicate a fail.
                sys.exit(0)
            else:
                sys.exit(1)
        else:
            sys.exit(1)
    else:
        sys.exit(1)

## This is bad form, but if there is no Markdown meta field, just return a failed match.
except AttributeError:
    sys.exit(1)
except Exception, e:
    sys.exit(1)

About the Script

This rule is hard coded to match on the MMD “tags” meta data field matching the tag “@archive”. The script received the file path from Hazel. It then reads all of the text and extracts the MMD meta fields if they exist.

For this script to be of any use to Hazel, it needs to exit properly. It took me awhile (and an email to Hazel support) to figure this out. A successful match should exit the Python script with sys.exit(0). Anything else will tell hazel that it did not match. If the exit statement is omitted the it will likely count as a positive match.

I’ve tried to exit without matching where ever possible. I don’t want the rule to get stuck. If it doesn’t work, I’ll know it.

WARNING

Be aware, creating inefficient scripts with poor error handling can bring Hazel to its knees. I know. That entire Python script will be executed with every file in the directory that Hazel is running it against. I would not add much complexity or processing to a condition script.

Handle with care. Pun intended, and very bad.

Efficient Matching

I’ve tweaked the matching rules a bit to make it more efficient. I don’t need every file run through the Python script. I only want the newly changed files to make it that far, so I’ve added the nested “If all” conditions.

I don’t fully understand the Hazel matching engine, but this gives me the fastest processing. It will only run newly modified text files through the Python script. On a directory of over 500 text files, this Hazel rule executes in about a second. Without those extra rules, it can take almost a minute.

What’s the Point?

I think this is quite powerful. I’m using plain text as if it was file meta data. I’m doing away with Hazel rules that rely on OpenMeta tags for text files. I think this is a better alternative.

MMD meta data can really be anything. I could have meta data with a file path to direct the file. I could have additional processing commands for the markdown conversion.

The rule involves a bit of code, which is counter to some of the reasons to use Hazel (no code scripting). This example is a basic shell that could be used to match on other MMD meta data fields and values.


1
Apr 12

Simplenote and Trouble in Paradise

Update: Simperium have temporarily pulled Simplenote from the AppStore, pending a fix to an identified bug. I really have to say, Simplenote support is pretty stellar and yet another reason I use the service. It’s still worthwhile having an alternative plan so I don’t feel my time has been poorly invested.

I love Simplenote. I’ve professed my fondness many times and I’ve been a staunch evangelist. But I’ve recently started to have problems. As fate1 would have it, Brett Terpstra just built a beautiful and complete list of text editors for iOS.

Trouble In Paradise

These latest Simplenote updates have not been kind to me. I have a very large library of text notes. Something like 1800, including archived. There are at least 500 “active” notes. I noticed many months ago that the Simplenote web app was having some performance issues when I searched or created a new note. It wasn’t a big deal but it was noticeable.

Friday, things went very wrong with the web app and it became unusable. Worse, it crashed the browser every time I went to my Simplenote account. The Simperium support team was very responsive and informed me that there had been an update and that I had an unusually large collection of notes. I was assured that the problem will be fixed in the future and that there was no known maximum for the number of notes. Uh-oh number one.

Saturday, there was an update to the Simplenote iOS clients. I liked what I read about the update, since it focused on performance rather than feature creep. I eagerly updated the app. The update warned that all notes would need to be re-downloaded and that the process could take awhile. Over an hour later, the app was still trying to sync. Two hours later, the app was still trying to sync. Uh-oh number two.

Luckily, I have NVAlt doing a Simplenote sync to Dropbox for me. That means that while both the iOS and Web app were inoperable for Simplenote, good ol’ NVAlt saved my notes. Well, NVAlt showed that Simplenote was duplicating notes and content. Uh-oh number three.

It was more like “oh shit” since it would be difficult to know what notes, out of 1800, were changed. After some Dropbox detective work, I figured out which notes had been changed and restored them from Dropbox.

Better Safe than Stupid

There are two main reasons I use Simplenote.

  1. The search function works across all file content. I can find all relevant information regardless of the file name. It’s as close to NVAlt as I have seen on iOS
  2. I can tag notes in Simplenote and NVAlt converts those tags into OpenMeta tags on my Mac. Simplenote also has a very good tag completion feature.

With so many issues with Simplenote at the same time, I’m looking to mitigate my risks. What if Simplenote just stopped working for me? The majority of posts to Macdrifter.com happen through Simplenote. My Simplenote collection is my external brain. I need to keep my options open. I need to see other apps. It’s not you, it’s me.

The Tag Situation

I’m an oddball when it comes to tags. I do not tag files other than my Simplenote documents.2 Brett Terpstra has an impressive system of tagging that I occasionally envy, but I stopped tagging the first time my OpenMeta tags disappeared after backing up to an NTFS (or maybe it was a FAT32) drive.

But I’ve been less worried with Simplenote for some reason. Perhaps because the number of files is small. Perhaps it’s because the tags were preserved in both Simplenote and OpenMeta so the redundancy feels safer. I actually think it’s because I only need to concern myself with a specific set of tags: the tags that associate notes with their context.

I use a system of tags that I’ve described briefly before in the context of Pinboard bookmarks. It’s not fancy.

I can use NVAlt for tags on my Mac, but I’ve had little luck finding an iOS writing app that supports the same tags. This isn’t a significant problem because my tags are all preceded by an “@” or by an underscore. As long as an app supports file content search across all documents, I should be able tag within the text body.

I have considered several options for automatically converting tags in the note header to OpenMeta tags but I’m skeptical. Some of the chatter on the Hazel 3 forums, in particular, makes me question the future of OpenMeta. Not to mention the CLI tools are almost three years without an update.

Searching in All the Wrong Places

Simplenote search is great. It’s fast on iOS and works across all notes and content. It’s so good that I really only need a small number of tags to group notes. I can find everything else with the search function.

Most Dropbox based iOS text editors only search note titles. My note titles only contain the broad subject. I can not possibly put all contextually relevant information in the title.

A couple of iOS apps provide similar searching across a Dropbox folder of text documents. I’ve tried WriteUp, Notely and Notesy. Notesy is the closest to Simplenote functionality and performance. Unfortunately, my iOS editor of choice, Nebulous Notes, only searches across notes stored on the iOS device.

The World Wide Edit

I use the Simplenote Web interface every day. I’ve used ResophNotes for Windows but the Simplenote web interface is very good. If I move all of my notes to Dropbox, I have very few options on Windows. My employer rightly prohibits Dropbox on company computers.

If I want access to my notes on Dropbox over the web, there is only one option as far as I know: TextDropApp. Luckily the app looks very good, even if it is missing some of my favorite Simplenote features. Primarily, the app is missing the full text searching and sort by modification date. So far I like what I see though and it’s only $5 per year.

Not a Conclusion

So today I am left with a couple options.

  1. Stick with Simplenote and hope for a quick update to fix the issues I am having. Simplenote updates do not come quickly.
  2. Delete notes from Simplenote, reinstall the iOS apps and hope for the best.
  3. Switch to Dropbox only and choose an appropriate iOS editor and TextDropApp. I’ve already purchased a TextDropApp annual subscription.

I want to emphasize that the Simplenote support has been great. Up until this weekend I have received exactly what I paid for. I think I am an edge case with 500 active notes and 1800 total notes.

I’ve opted for option #3. My Simplenote subscription is still active and I’ll get the update when it comes out. I’m hesitant to continue to mess with my corpus of notes and risk destroying records or contaminating content.

I’ve reinstalled Notesy since it has full text searching. The app has improved significantly since the last time I tried it. I still prefer to write in Nebulous Notes but Notesy is a good overall replacement for Simplenote. I’ve already updated my Simplenote blogging tools to use only Dropbo. I can post from Notesy or Nebulous Notes directly to Macdrifter.com. Yup, this post was made from Notesy.

My final question: Who do I need to bribe, kill or marry to get NVAlt for iOS? 3


  1. I don’t believe in fate. I do believe in cross pollination and geeks with many interests. 

  2. I do use tags with my Pinboard bookmarks. 

  3. If you know me, these are all synonymous. 


29
Mar 12

DEVONtechnologies 10 Year Anniversary Sale [Link]

DEVONtechnologies turns 10 and offers 25% off of their great software. If you need a nudge, go listen to the latest Mac Power Users podcast with Kourosh Dini. He talks briefly about why he uses DEVONthink. It’s an impressive piece of software.


29
Mar 12

Parallels On Sale [Link]

There’s a 50% off sale. $25 for the latest version of Parallels is a good deal.


29
Mar 12

Default Folder X On Sale [Link]

Default Folder X is so good, I almost forget it’s not part of the OS. It’s on sale for $20 right now.