November, 2011


30
Nov 11

Fillerama [Link]

Sometimes Lorem Ipsum is a necessary evil. While a few developers may prefer real content when designing, I just want something that makes me happy when I’m looking at the same thing all day. Fillerama makes me happy. I love the Star Wars content and the fact that it generates lists and headers is a bonus. There’s also an API.

“The more you tighten your grip, Tarkin, the more star systems will slip through your fingers.”


29
Nov 11

P.I.’s Checking Facebook For Insurance Fraud [Link]

As long as I’m kicking Facebook today, here’s another trend in social media. I guess it’s good to catch cheaters but the story sounds like companies are making decisions based on Facebook posts without context. I’m sure that will end well.


29
Nov 11

Griffin PowerDock Dual [Review]

I purchased the PowerDock Dual from Amazon[1] to help cleanup the family charging stations. 2 iPhones, 2 iPads and 2 laptops all charging in one creates an overwhelming tangle of little white cables. Unfortunately the PowerDock Dual is poorly designed and just creates more problems than it solves

The concept is great. The PowerDock holds one iPad and one iPhone with small coin dish between them. It looked like a smart solution. In practice, the iPad holder is awkward and the entire thing is out of balance.

PowerDock Dual

How does it fit?

The iPhone is held in place tightly and fits well. The problem is with the iPad slot. It simply does not fit the iPad 2 with a smart cover on. The railing that sits in front of the lower front edge is too close to the dock connector. In order to get the iPad onto the stand, I am forced to remove the cover. So instead of cleaning up our charging station I now have to set the iPad cover next to the charger.

In addition to the poor design of the iPad holder, the base of the device is not weighted. If I attempt to just charge my iPad, then there is a very real possibility that the entire arrangement can flip over backwards. So basically, Griffin added the coin dish so that a customer can weigh it down with miscellaneous ballast from their pockets.

How is it as a charger?

Good. That was actually a selling point. The charger delivers 5W for the modern power hungry iOS devices to charge fast. It can charge an iPhone 4S and iPad 2 just as quickly as the Apple charger.

How does it look?

Ugly. It looks and feels like plastic. It’s a combination of black plastic and shiny clear polycarbonate adapters. It’s not something I would keep out for its aesthetic value. However, it is a utilitarian object and not intended to be decorative. Griffin lives up to the expectation.

Conclusion

I have a bit of buyers remorse. It’s not very good. It will most likely end up on my nightstand for the occasional overnight charging needs. I’m still looking for something to use daily on an end table. I probably will not try any other Griffin chargers.


  1. Associate link


29
Nov 11

Secret Records of US Bank Bailout Released, Over Howls of Protest [Link]

Just staggering. Half of everything produced in the U.S. Everything.

“Add up guarantees and lending limits, and the Fed had committed $7.77 trillion as of March 2009 to rescuing the financial system, more than half the value of everything produced in the U.S. that year.

They had no clue that one bank, New York-based Morgan Stanley (MS), took $107 billion in Fed loans in September 2008, enough to pay off one-tenth of the country’s delinquent mortgages.”

 

BoingBoing


29
Nov 11

Facebook Mistakenly Hands Merck KGA Account Over To Merck & Co. [Link]

To be clear, these are two different companies that are competitors. Yeah, more reason for me to never use Facebook.

Reuters round-up


29
Nov 11

Django History [Link]

I’m trying to learn Django and started with the definitive source. The intro includes a brief history of Django, which I found fascinating.

“The World Online team, responsible for the production and maintenance of several local news sites, thrived in a development environment dictated by journalism deadlines. For the sites — including LJWorld.com, Lawrence.com, and KUsports.com — journalists (and management) demanded that features be added and entire applications be built on an intensely fast schedule, often with only days’ or hours’ notice. Thus, Adrian and Simon developed a time-saving Web development framework out of necessity — it was the only way they could build maintainable applications under the extreme deadlines.”

There are two salient conclusions for me:

  1. Large media corporations can be crucibles of innovation
  2. “Eating your own dog food” is the best way to develop any robust system

29
Nov 11

UberFridge [Link]

Another reason I love home brewers. They love to tinker.


29
Nov 11

Dodgy Coder [Link]

Funny list of coding terminology.
I really like the term “Mandelbug” for some reason.


28
Nov 11

Vertical Epic Recipe

One of the things I love about the Micro- and Nano- breweries is that they have a tendency to be enthusiastically generous. Around Denver, breweries are known to share ingredients with “competitors” in need and many share what would seem to be precious recipes.

For example, Stone Brewing is sharing their recipe for their latest Vertical Epic with Anaheim Chiles and Cinnamon. It’s way better than it sounds. I don’t know of many more industries that are that generous while also making innovative things. Wait, yes I do.


28
Nov 11

Wacom Inkling Review [Link]

I am disappointed it’s not better. The Verge does a good job with a real-world review.


28
Nov 11

Mail Action Macro – Walkthrough

This walkthrough demonstrates how I use Keyboard Maestro to control applications that are not scriptable or have few exposed options.

This example creates some handy macros for quickly filing mail in Mail.app. It’s no where near the power of Mail Act-On but it does provide one of my most used features, which is hotkey triggered filling of Mail messages.

Macro Groups

Before getting into the details of macro creation, I want to describe how I organize my macros. The system is still evolving, but as my collection grows, careful organization and trigger settings become more critical.

I have a system for my macros. I keep related macros together. Not just by function, but by how they are triggered. I use a number of palette triggers that pop-up a palette of actions to select. I do this to reduce the number of keyboard shortcuts that I need to remember. But sometimes I want two palettes that might use the same or similar hotkey[1]. In this case I already have a Markdown palette that uses the opt-cmd-M hotkey and I want a new palette for Mail that also uses opt-cmd-M. Keyboard Maestro will handle this fine by showing an option for one palette or the other, but why waste key presses when I can customize the palette triggers

I don’t use Markdown functions in Mail. I often will compose lengthy emails in NVAlt using Markdown, but with normal Mail use, I just write in plain old text. In this case, I customize the two triggers to only function when appropriate. The Markdown trigger fires in every application except Mail and the Mail trigger on fires in Mail.

Mail Filer Macros

Now I have my two macro groups separated. I need some macros for moving mail items. I typically organize and name my macros according to function and trigger within a single group. I number my macros within a group and assign their hotkey to the matching number. For example, the Mail Filer macro group looks like this:

The number on the right is the macro trigger. Keep in mind that these macros are not available until their group palette is triggered by the opt-cmd-M trigger. That way, there are no conflicts between unrelated macros. When the palette is activated, I get a list and I can select an individual macro by hitting the corresponding number key on my keyboard. I find this setup the most reliable way to keep a lot of macros with only a few key bindings.

The heart of each of these macros is the the Select Menu action. This action provides access to a menu item many levels deep. Here’s an example:

It’s not necessary to manually enter all of the layers in a menu selection. Keyboard Maestro provides a recording functionality that will create the action when selecting a menu. It’s a handy way to build macros but it does record EVERYTHING. After completing the recording I also go back and delete all of the extraneous actions like mouse clicks and application switching.

This was a very simple macro for controlling an application without AppleScript. Keyboard Maestro has the capability to completely simulate human interaction. Anything that I can do with a mouse and keyboard, I can likely script with KM.


  1. I usually pick hotkeys that start with opt-cmd-, where is the first letter of the context. For example opt-cmd-F is my Finder or File palette for manipulating files.


28
Nov 11

MPU Visitors

Hi MPU visitors. Thanks for stopping by.

You can find a bunch of Keyboard Maestro related links on my public Pinboard with the _KM_MPU tag. Otherwise, poke around and try building some cool stuff with Keyboard Maestro. Comments are always welcome.


27
Nov 11

Brett Terpstra’s Writer Workflow

I think it’s appropriate to start this series with someone that makes and shares some of my favorite Mac things. I conceived this series with Brett in mind.

Brett Terpstra is the creator of Marked, a partner in the development of NVAlt and the proprietor of brettterpstra.com, where he shares things like TextExpander snippets, Lorem Ipsum generators and super-power AppleScripts.

 


 

What are the applications you use for making a post to brettterpstra.com?

I write in Markdown, so I can easily port my work between platforms and applications. I use various combinations of apps depending on the circumstances: nvALT, Byword, MultiMarkdown Composer, Scrivener, TextMate with the Blogging and Blogsmith bundles and my Markdown QuickTags plugin for WordPress.

For brainstorming and structuring I use mind mapping, where my favorite apps are MindMeister (web, iPhone, iPad), MindManager and MindNode. I can export any of those to a text outline in nvALT or directly to an editor for expansion.

Can you give an overview of your workflow starting from the initial idea through the posting to the site?

Most of my posts start in nvALT. I keep a list of ideas there, and then create [[links]] to new notes when I want to flesh them out and brainstorm further. If an idea is larger than I can fit in my head or a simple outline, it goes to a mind map for development.

The outlines (from nvALT or a mind map) generally end up in Byword or MultiMarkdown Composer for development (Byword is excellent for Markdown writing, and upcoming features in MultiMarkdown Composer make it especially ideal for link-heavy writing).

The next step is usually to paste into a TextMate blog post template using the Blogging bundle, add additional links using the Blogsmith Bundle linking tools, auto-tag it with keywords using my AutoTag2 bundle/plugin, add images with my drag and drop uploader and then post it to my blog directly from TextMate.

If a post requires more visual refinement and I want to see a preview first, I’ll publish it as a draft from TextMate and then use the tools in the Markdown QuickTags plugin to develop it further on the web.

It all sounds a bit complicated as an overview, but my basic rule is to use the best tool available for the job, selected in a way that’s intuitive to me. Knowing what to use when is a split-second decision, and my tools are all geared toward the way I think, so using them is second nature.

How long have you been doing it this way?

This particular workflow has been in place, in a general form, for about a year. Prior to that I was doing my writing purely in TextMate.

Does your workflow change based on the type of post?

Yes.

  • For long pieces where I need to deal with changing structure as it comes together, I’ll start in Scrivener and finish in TextMate.
  • For quick posts that are really just a paragraph or two, I’ll skip straight to WordPress and write in Markdown QuickTags.
  • For shorter posts that don’t require a lot of linking, I’ll skip other steps, starting the post in one of nvALT, Byword or MMDC and then pasting directly into Markdown QuickTags for publishing.

Do you have a particular process/tool for researching a post?

I open a new Safari window and start searching (DuckDuckGo is my favorite tool), opening a new tab whenever I find the information I was looking for and starting fresh with the next topic. I have Services set up to grab selections (and their urls) and add them to a scratchpad in nvALT with a keystroke, and I can insert a Markdown reference list of all the open tabs in the window to my post with one of my Markdown Service Tools. I also use my TabLinks Safari extension frequently to gather lists of links to start referencing in my posts.

I often collect links in a mind map as I build, but when it comes down to the average post it’s much faster for me to just have all of my references and notes open in Safari at once and use scripting to pull it all together.

One often-overlooked tool for doing deep research is DEVONagent. It allows you to really dig into a topic and find citations that might take much longer with a straight Google search. DEVONagent Express is equally useful, especially in blogging situations.

What are your custom tweaks to your workflow that are tailored just to you?

As I’ve peppered throughout this interview, I use a lot of custom plugins, System Services and TextMate bundles. My personality type pretty much ensures that I won’t rest until everything works exactly the way I think it should, which means I’ve spent a lot of time making the tools work with my style of writing and information gathering.

I’ve publicly shared most of the tools I’ve developed in this area and am constantly updating and tweaking them as my workflow changes.

What parts of your workflow are you looking to change or improve?

I’m always looking for faster ways to do the tedious parts. I have a Service that takes selected text and returns a Markdown link to the first Bing result for that text. I’d like to develop that idea further. In TextMate I have a similar command, but it allows me to modify the search text prior to sending and then select a link from the top 10 results in a popup. My goal lately has been to develop application-agnostic tools (because I work in so many different apps), so brining that kind of additional functionality to, say, Byword or MultiMarkdown composer is a priority for me.

What parts of your workflow are you least willing to change?

There are very few aspects of any of my workflows that I’m not willing to reconsider. If a better option presents itself, I’m almost always willing to switch.

The (Multi)Markdown core of the process is really not malleable. I chose it for its future-proof nature, its ease of editing and its innate cross-platform, cross-application compatibility. It’s not that I wouldn’t ever consider changing it, but changing would mean invalidating years of work and a massive headache. The tools are a different story, though.

TextMate is the one area I’ve held off the longest on changing, primarily because my customizations have made it a superior choice (for me) to anything else that has come along. I’m hoping TextMate 2 comes through and lets me continue using my current workflow without interruption, but if something like Sublime Text 2 ends up being the better option, I will grudgingly switch.

Anything else you would like to share about your workflow?

Well, I’d like to mention TextExpander, a huge timesaver for me both in writing and in web development. My custom snippet collection is constantly growing.

I think that every post I write ends up following a slightly different path, but the core concepts of plain text and Markdown mean that any post can be updated and maintained using any of my tools, and it doesn’t matter what I used to begin with.

All of my posts are stored in my WordPress database as plain Markdown. I render them into cache when I publish them, but I can pull a post down into TextMate at any time, make changes to the post or the metadata, and send it back up with zero hassle.

This malleable workflow works great for me. Portability has become a major factor in all of my tool choices, and I expect that to continue for long into the future.


27
Nov 11

Writer Workflows: Introduction

We all have our tools and workflows for creating content. I love some of mine while others feel like sand in my shorts every time I use them. I was inspired by the Mac Power Users workflow shows and became preoccupied with the process by which other Mac nerds research and compose articles on the web.

I wanted to know about their tools and about their process. I wanted to know if I could improve my system by looking to people that geek out with Markdown or Shell scripts or TextExpander.

Several very nice and very geeky Mac users have already agreed to share their little worlds so I will post the results here as I get them. I find these things fascinating and presume that a couple of other people will too. So in the spirit of David Sparks’ HomeScreens series and Shawn Blanc’s Sweet Mac Setups I’ve posed some questions and plan to post the responses here. Enjoy.


26
Nov 11

Keyboard Maestro Variables: Get Pixel Measurement

I’ve written previously about Keyboard Maestro variables. Last time I showed how a variable in Keyboard Maestro could be used to create a push and pop mechanism for the finder. In that case the trick was to pass the variable into an AppleScript. Here’s another example using variables in Keyboard Maestro except this time I’m going to perform a calculation with variables right in the macro

Here’s a macro to determine the change in coordinates of a mouse cursor. Placing a mouse cursor at one corner hitting the macro action and then moving the mouse and hitting return provides a text box with the change in coordinates of the mouse cursor. I created this after I needed to figure out how wide an onscreen object was. It’s not fancy, but it works and I don’t need another application installed.

Large Version

When the macro is activated the current mouse coordinates are captured to a variable. Next the macro waits for the return key to be hit, at which time it captures the new mouse coordinates into a second variable.

Finally the macro performs the calculation with the two variables to determine the difference in coordinates for the cursor and displays the results in a text box. If I wanted to be more accurate, I could apply a ABS function to the results to get the absolute difference but I honestly don’t care.

There are a couple of valuable features to highlight in this macro.

Variable Calculations

Keyboard Maestro variables are more than dumb text, which is what sets it apart from other tools. They can contain arrays and numerical values that can be manipulated in a calculation. For example I extract the first list item out of the variable by referencing the list position. The value in the list can then be used as either a string or integer as needed.

MouseStart[1]

KM variables are normally referenced through text replacement tokens and are surrounded by KM specific tags, for example:

%Variable%MouseChange%

However, when a variable is referenced in a calculation, the tags are omitted:

MouseStart[1]-MouseEnd[1], MouseStart[2]-MouseEnd[2]

This took me awhile to get used to [1] and I still mess it up.

A variable can store a list and each element in the list can be extracted with an appropriate pointer. For example “MouseStart[2]” gets the second element in the MouseStart list.

Pause Until…

The “Pause Until Condition Met” action is very handy. There are several options available and they can be combined in several ways. In this macro, it causes the macro to sit and wait for the return key to be pressed before getting the second mouse cursor position.

I can actually build some complex behavior with the new Keyboard Maestro 5 flow control actions. For example, pausing and waiting for a script to finish successfully or checking a network path before continuing.

I plan to make a future post all about the flow control actions since they are so useful.


  1. And several emails to Keyboard Maestro support