Monoprice Earbuds

At the beginning of May I had a meeting with the guy who was our Lab Tech while I was in college studying Audio Recording. Both of us are no longer in the industry, but we spent a good amount of time talking about how much the consumerization of audio has changed where the transducer industry is going.1 During that conversation he mentioned that you could get a great deal ($13.99) on a pretty good pair of in-ear, noise-isolating2 headphones at Monoprice.

I'm super easily distracted when working (I have a curious brain) so, I decided to try them out, and despite the fact that they're always wiggling around in my ear canals, I really like them. These are not the best in-ears out there, but for under $15, they are a great deal. The low-end usually overwhelms the mids and highs, so I just turn on the “Bass Reducer” EQ preset on Spotify/iTunes/Apple Music. Then things sounds pretty great (again, for $15).

In fact, as I'm writing this I'm sitting up at the cabin my in-laws rent reading and typing from the kitchen table while the rest of the adults watch The Bourne Supremacy about 10 feet away and I have been focused on reading and writing since I took out the earpods and put these in. I'd highly recommend you check out these if you're easily distracted by sounds and need to work remotely often.

07-15-2015 09:50 PM: It looks like the headphones are temporarily on sale for $10 – you may want to get them now!

Hi-Fi Reflective Sound Technology Earphones w/ Microphone-Black/Bronze – Monoprice.com


  1. BLUE Microphones will always be a professional brand that happens to make some consumer products in my mind. I remember when the Mouse and Dragonfly were the two cheapest mics that they made. And let's not forget about their short-lived Red Microphones. A few years ago, even though had stopped recording years earlier, I picked up a Blue Kiwi as it was always my dream mic and I found one for an incredible deal. 
  2. Note these are noise-isolating, not noise-canceling. Noise-cancelation makes me feel queasy due to the phase-cancelation techniques it uses. I'm all about passive noise-isolation. 

Comcast ≠ Blockbuster

I’m not sure why, but I’ve always felt like Dan Lyons was desperate for attention. Now I know he is:

Daniel Lyons, visiting fellow at AEI’s Center for Internet, Communications and Technology, thinks antitrust regulators may be too stuck in the present when it comes to the Comcast-Time Warner Cable. He cites a blast from the past to make his point:
“Ten years ago, the FTC successfully blocked the merger between Blockbuster and Hollywood Video because the combined company would have dominated the market for video store rentals — failing to appreciate that technology was shifting so quickly that ‘video store rentals’ was no longer a relevant market,” he writes. “Without the scale to compete against new technologies, both companies eventually collapsed. It remains to be seen whether regulators have made the same mistake here.“

Comparing Blockbuster (a company whose revenue was already on the decline in 2005 and didn’t provide access to anything critical to our society) to Comcast (a company whose revenue continues to grow and has roughly 20% of the country’s broadband subscribers) is absurd. But, as John Gruber has pointed out, Dan Lyons specializes in the absurd.

Using Siri Better to Write Posts and Messages

It’s not convenient to explain punctuation to Siri, but if it’s just occasional, or you don’t have your hands free, these commands can save some time in the editing process.

I think it’s best if you use Siri inside a text editing app like Drafts…It’s easier to edit things there, and sometimes Siri botches things so using the service by pressing and holding the home button still feels a bit risky.

Jordan Shirkman does a fantastic job explaining the best way to use Siri on your iPhone/iPad. He also has the best list I’ve ever seen of punctuation commands for Siri.

Personally, I go back and forth between his method of speaking text into Drafts and just making an audio note in Evernote. I generally try to keep my documents as text, if possible to make sure they’re searchable, but when I need to get an idea out quickly or it’s technical in nature, I find it works better to make them an audio note in Evernote and transcribe later.

Two Map Photos Workflows on iOS

A few weeks ago I thought I’d be clever (too clever it turns out) and try to integrate Dr. Drang’s map-photos.py Pythonista Script with Workflow so I could map photo locations directly from Photos.app. I was hoping to use Workflow to create an action extension that could grab a photo, put it to the clipboard and then run map-photos.py to display the location of the photo on a map without having to launch the script through Launch Center Pro or, slower still, opening up Pythonista, navigating to the script, and then tapping run. Unfortunately that project turned out to be a miserable failure because clipboard.get_image() in Pythonista doesn’t allow you to get the metadata of the image on the clipboard. Out of sheer laziness I left the useless workflow on my phone, taunting me every time I opened the app.

With the advent of general stability in Workflow 1.11, I decided to spend some time thinking about how I could better use the app. Tonight, for some reason, inspiration struck when I saw the Map Photos workflow looking me in the eyes. So I decided to take on the challenge.

The initial workflow idea was to create an action extension that could select multiple photos and display them all as separate pins on the map. While I think this is possible, I didn’t want to get derailed with that. I just wanted a reliable way to serially display multiple images on a map on iOS. The easiest way I could figure out how to do this was by using an X-Callback-URL. The problem is that there isn’t a reliable way to return to the source app when using an X-Callback-URL from an action extension on iOS. Also, Apple Maps doesn’t support the callback function of the X-Callback spec, obviously.

So I looked online and it turns out that Google Maps on iOS does support the X-Callback-URL spec, making the choice a no-brainer. So I built two different workflows:

  • one that would be able to run as an action extension to map photos directly from Photos.app as well as other apps, and
  • one that could take a series of images, display them in Google Maps, then return to Workflow to load up the location of the next image and send that one to Google Maps.

The what I like better about the Dr.’s method is that it actually grabs the Latitude and Longitude from the image file, whereas my workflows grab the address. I typically prefer Lat/Long because, especially in rural or newly developed areas, using the address can be highly inaccurate. This is another reason why I’m using Google Maps on iOS for this project. Three years into Apple Maps I still trust Google’s data more.


  1. probably because now I know that the steps of my workflows won’t just randomly be erased when running the workflow 

Using Drafts and Launch Center Pro/Workflow to Open Evernote Notes Directly

This past summer I stumbled across Jeffrey Kishner’s helpful post about using Pythonista, Drafts, and Launch Center Pro to create a direct link to any Evernote note on iOS. I have been using that workflow quite a bit to easily launch Evernote notes directly on my iPhone. Some of the notes I want to have quick access to are my Bible Verses to Remember and Prayer Requests notes.

There were a few things about the script that seemed like they could be optimized:

  1. There’s no need to get the link to the note from your Mac, you can get it directly from the iOS Evernote app.
  2. The manual of your six-digit string and the s.. in the Evernote URL could easily be automated.
  3. There workflow overall didn’t seem to be automated enough.

So I decided to try my hand at eliminating Pythonista from the workflow by using the new JavaScript actions in Drafts 4. To someone who knows JavaScript, or programming in general, I’m sure the script I hacked together is hideous, but it works, and to me that’s all that matters.

To check it out look for the Create Direct Link to Evernote Notes link on my projects page.

Fixing the BibleDraft Text Verse Action To Send Multiple Verses

The other day I needed to send my wife a series of Bible verses. This is one of the reasons I wanted a tool for quickly getting Bible verses on iOS. Well, as I went to text her, I realized that I'd made a sloppy error when building BibleDraft 1.1 – I had not built the multiple-verse functionality to group references and passages. So I took 15 minutes last night to fix that.

If you use BibleDraft to get Bible verses on your iPhone or iPad, please update to 1.1.1. Let me know if you have other issues.

BibleDraft 1.1

I’ve been hard at work (in the little spare time that I have) on some new projects and my use of BibleDraft has also continued to evolve. I want to thank Greg Pierce at Agile Tortiose for being so generous to tweet a link to the project on NYE 2014. I was amazed at the amount of traffic that came to my little blog (in 2 days I had more traffic than I had since I started blogging 18 months prior) for a little project about using Drafts for iOS as a Bible app. I had no idea people were so curious about it.

So, if you’re using BibleDraft, I have a little update for you. I just updated the script to v. 1.1. With BibleDraft 1.1, you can now:

  • Quickly send a Bible verse on iOS using the new “Text Bible Verse” action
  • Use a semicolon ; to separate multiple passages in addition to new lines of text
  • turned off links to the corresponding verse on ESV Bible Online. It’s actually off by default now. The “Preference” to turn them on is at Line 63 of the code.
  • if you do choose to have links on, the link ids are now much less hideously long

For more info on the entire project, check out the BibleDraft page in the projects section.

Also, if you’d like to use BibleDraft but don’t have Pythonista, would you let me know? Tweet to me and let me know if you have Editorial. I’m trying to see if I spend the time moving the entire project over to Editorial for greater appeal.

BibleDraft 1.0

Today I’m happy to finally put a project I’ve been working on for quite awhile on this site. The project is called BibleDraft and you can find its home on my new projects page.

BibleDraft1.0

The Background

Since the big thing in movies in the last 10 years has been origin stories, let’s start with the background[1] on this script. Continue reading

Workflow to Pythonista: New from Gist

While the rest of iOS-land is caught up in the Workflow frenzy, the past few days I’ve been spending my free time learning more about scripting in Python. One major project I’ve been working on is a large update to my Drafts & Pythonista workflow for getting Bible verses. Since I’m such a hack and Pythonista doesn’t have version control built-in, I’ve been uploading my work-in-progress files to GitHub as private gists so I can go back in case I royally screw things up. That’s caused me to be downloading a lot of gists lately. Continue reading