DNS lookups can become a significant bottleneck in the browsing experience. […] We believe that the cache miss factor is the most dominant cause of DNS latency, and discuss it further below.
You can assign keyboard shortcuts to Automator workflows and you can overwrite specific app shortcuts in System Preferences -> Keyboard -> Keyboard Shortcuts. But there’s no easy way to assign keyboard shortcuts to AppleScripts.
If you don’t want to use a 3rd party app, one trick you could do is to create Automator workflows that execute your AppleScripts and assign keyboard shortcuts to them. It works, but it’s an extra step.
The space of 3rd party apps is wide. Here’re the top options for solving this.
There are a couple of apps I know of—and probably many more that I don’t—whose sole purpose is to provide this feature: assigning shortcuts to AppleScripts. The two I ‘ve tried: FastScripts and Aptivate are apps whose sole purpose is to address this problem. There’s also Keyboard Maestro whose breathing keyboard shortcuts for workflows.
Another option is app launchers. A couple of them provide this feature. The ones I know of to support this feature are Alfred 1 and 2, Quicksilver, Butler. Unfortunately LaunchBar, the one I’ve been using for a while mostly due to his support for presenting results from AppleScripts, doesn’t.
Finally, here’s the trick I discovered tonight and the reason of this post.
You can assign keyboard shortcuts to AppleScripts using BetterTouchTool. If you haven’t heard of it until now, do yourself a favor and download it. Now. The extra gestures that you can add to the Mac touchpad, Magic Mouse and Magic Trackpad will transform these into Awesomely Magical Mouse and Trackpad.
Back to AppleScripts and keyboard shortcuts though. If you go to the Keyboard tab, you can create a new Keyboard shortcut and make it trigger an Open Application/File/Script.
That’s all.
TidBITS’s Josh Centers reviews 4 podcast apps for iOS (Instacast, Downcast, PodCruncher, Stitcher) trying to see which of them accomplishes a list of expectations for such applications:
- it should have a simple interface that doesn’t requrie careful tapping
- it needs to be able to intelligently download and store episodes when I’m on Wi-Fi
- it also needs to be able to efficiently stream those [episodes] I forget to download before leaving the house
- I nedd to be able to easily rewind a few seconds to catch up
- I need the capability to skip past them [ads]
- I need lock screen and headphone controls that let me rewind and fast forward within an episode
I’ve tried a dozen of podcasting apps for iOS and there’s only one answer: iCatcher!. It is a 5 star app.
This is how DayOne looked before (October) and after I started to use the Word Journal:
- Apple is considered to have come out of this with a black eye.
I don’t see how Item 4 follows from Items 1-3.
Let’s check some facts then. Apple:
Google:
What this timing really shows is how much Google needs to be on iOS.
To me it only shows two things:
How many words are in a language? How many words do I know? How many words do I actually speak on a regular basis? Do all languages have similar numbers of words? Does your age influence the vocabulary you can learn in a foreign language?
If you Google any of these questions you’ll come up with very contradictory answers. As you probably expect neither do I have the definitive answers to any of these questions, nor am I planning to continue looking for them.
Instead, I want to introduce to you a solution I’ve baked to help me simplify and improve my learning process of new words. I named this solution the Word Journal
Here is the list of ingredients that make up my solution:
Before detailing the “recipe”, let me show you how the output of these ingredients looks like:
in DayOne:

in a terminal (nb: I’m using iTerm 2):

First usage scenario of my Word journal is to capture some of the unknown words I encounter while reading on the web. The first of the AppleScripts is used to retrieve the selection from a browser, the page URL, and ask for the specific word from the selection that I want to be added to Word Journal.
The second AppleScript is meant to allow me adding a word directly from LaunchBar.
The heavy lifting is done by the Python script which retrieves, filters, cleans up, and formats the output. The format I use includes the main example (retrieved from a web page), various definitions, a couple of examples, and a series of related words. Wordnik provides all the data I need. DayOne provides a Markdown-enabled1 time-based storage.
Putting these together and baking them for a couple of hours at moderate heat, I’ve got a solution that allows me to track and hopefully learn more new words every day.
I hope future releases of DayOne will improve the way it handles Markdown. And the way it presents entry overviews (which currently completely ignore the markup) ↩
Since learning about the DefaultKeyBindings from Brett Terpstra, I’ve been using and over-abusing it.
The last adventure that led me again to DefaultKeyBinding started after getting this typewriter-inspired WriteRoom theme. I actually wanted the typewriter feeling of deleting characters by over-typing them.
The first solution I’ve thought of was to define a system wide shortcut that would insert one of block ASCII characters (light shaded, medium shaded, dark shaded, or black box). But I couldn’t find an easy way to do it.
The second idea I had and it was also suggested on Twitter—thanks @_pablo and @Mads_Hartmann —was to use the symbol and text substitution feature of Mac OS or some sort of TextExpander. Unfortunately that wouldn’t.
Kontra suggested the use of AppleScript as a service and this has been the solution that I thought to be the one that will work, but would not be the simplest.
Just before starting to write the script I realized that I was missing an option: the DefaultKeyBindings. Once I’ve remembered it, everything just worked. Here is the definition I’m using:
"$\U007F" = (deleteBackward:, insertText:, "▒", moveBackward:);
If you are not familiar with DefaultKeyBindings this means: when pressing Shift+Delete, delete one character backwords, insert the medium shaded block, then move back one character. Here is a screenshot of how a paragraph would look when using this shortcut for deleting characters:
Safari 6 introduced—finally—the omnibar, a feature that has been present in Google Chrome and Firefox for quite a while. But usability wise it’s still not on par with the behavior of these other browsers. By now you probably wonder what do I mean.
If you enter an URL and click enter the focus moves to the page/viewport. But if you enter a couple of words for a search and click enter the focus remains on the address bar. I don’t have a good explanation why the behavior is different in these two cases1.
I’ve been searching around for solutions for this issue, but couldn’t find any. Most of the answers suggested using Tab or Opt+Tab, but the behavior and number of clicks required make these a non-solution.
Right before giving up—already tried the AppleScript/Automator way— and starting to hope that maybe the next version of Safari will address this issue, I’ve got another idea. It actually worked.
Here is the shortcut that will get you from the address bar to the page in a finite, short, and guaranteed number of clicks:
Cmd + F ( => page level search) -> Esc ( => hide search) -> Page focus
If the explanation you have in mind for the second scenario’s behavior is that for a search you might want to continue entering search terms, I think you could use the same explanation for the first scenario. Plus let’s keep in mind that getting from the page to the address bar is just a shortcut away: Cmd + l. ↩
In queueing theory, Kendall’s notation (or sometimes Kendall notation) is the standard system used to describe and classify the queueing model that a queueing system corresponds to.
Reading it now.
In the last two days I’ve been asking on Twitter suggestions for monitors. What I wanted to figure out is if there are good alternatives or alternatives at all to the Korean monitors Jeff Atwood has posted about.
Below you’ll find a table of the monitors I’ve looked into and some characteristics I’ve considered when trying to make a decision.
| Monitor | Link | Price | Size | Aspect ratio | Resolution | Response time | I/O | Panel surface | Ratings | Rate | Comments |
|---|---|---|---|---|---|---|---|---|---|---|---|
| LG IPS231P-BN | Amazon | $250.28 | 23 | 16:9 | 1920x1080 | 5ms | D-Sub In, DVI-D in, HDMI in | anti-glare | 23 | 4.3 | e-IPS; not vibrant colors; pixel response time slower than TN; light leaks in the corners due to LED lighting; no HDMI; |
| LG IPS235T | Amazon | $241 | 23 | 16:9 | 1920x1080 | 5ms | D-Sub In, DVI-D in | anti-glare | 6 | 3.5 | |
| LG IPS235V | Amazon.com | $199 | 23 | 16:9 | 1920x1080 | 5ms | D-Sub, DVI-D, HDMI | anti-glare | 9 | 2.9 | |
| ASUS ML249H | Amazon.com | $235 | 24 | 16:9 | 1920x1080 | 8ms | HDMI, D-Sub, DVI-D (via HDMI-to-DVI cable) | 14 | 4.4 | ||
| NEC EA232WMi | Amazon.com | $265 | 23 | 16:9 | 1920x1080 | 14ms | Display Port, DVI-D, D-sub | 8 | 4.0 | ||
| Dell U2312HM | Amazon.com | $203 | 23 | 16:9 | 1920x1080 | 8ms | DVI-D, DisplayPort, | 16 | 4.4 | ||
| Dell UltraSharp U2412M | Amazon.com | $270 | 24 | 16:10 | 1920 x 1200 | 8ms | DVI-D, DisplayPort, VGA | 81 | 4.5 | ||
| FSM-270YG | FSM-270YG | $306.5 + $50.5 | 27 | 16:9 | 2560x1440 | 6ms | DVI | ||||
| Acer B243PWL | Amazon.com | $325 | 24 | 16:10 | 1920x1200 | 14ms | DVI-D, VGA, DisplayPort | 0 | 0 | ||
| DGM IPS-2701WPH | TFT Central Review | $553 + $151 | 27 | 16:9 | 2560x1440 | 6ms | HDMI, DVI-D, DP, VGA | ||||
Leave a comment if your favorite monitor is or isn’t in the list.