LinkCatcher 1.0

by Michael G. in ,

Recently, I was using my computer at work, as you do, and a thought occurred to me:

Before explaining my use case, I just assumed it was odd. But then:

Another friend mentioned Choosy, but I looked into it and it seemed like hitting a tiny nail with a massive for-pay hammer-shooting cannon.

After looking for alternatives and not finding one, I decided to write one.

I ended up going with AppleScript, which I hadn't touched in a while, because it's simple, tends to have all kinds of hooks into applications and system events, and it seemed like this was exactly the kind of thing it was made for. In the end, it didn't take long once I actually started, though wrestling with AppleScript's very non-programming-language like vernacular was odd–I haven't done anything notable in AppleScript since I messed around with it for some simple tools back when OS X 10.4 (Tiger) was the new hotness.

After I got it working perfectly for a day on my work machine (running Mavericks), I tried it out at home (where I don't need it, as I do all my browsing in one browser) running Yosemite and found a small headache. Still, I've found a workaround so the tool still works after a bit more effort for setup.

So, on that note, here's the tool with my code, some commentary, and instructions on how to download mine, as well as to re-create it or customize it to your liking:



by Michael G. in

As is true of many people, I think a lot about a lot of things. As with most people, there are things I want, things I won't have, and things I don't mind waiting for. Over the course of years, seemingly regardless of which societies we grow up in or the primary languages we speak, we're all exposed to many little nuggets of apparently obvious wisdom. Sometimes we take these to heart and truly let them shape our lives, sometimes we think we understand them and move on.

One such piece of wisdom is that "patience is a virtue". Most native English speakers have heard the turn of phrase in some form. Being rooted somewhat in the early European Christian "Seven Heavenly Virtues" , some variation of the phrase is (I would guess) recognized by most who grew up in an area steeped in that cultural influence. Most other cultures (again, a guess) probably also have proverbs or passed-down pieces of wisdom advising patience. It seems a totally natural and agreeable thing to agree patience is a wise, helpful, and generally admirable trait to nurture.

I don't believe many would argue with an assertion that people are, generally, not all that patient. I also don't believe many would argue with an assertion that people, generally, are less patient than we believe ourselves to be. Why is that? Why do we, as people who understand patience is likely good for us and may actively try to be patient, often fail at recognizing a lack of patience within ourselves?

A scenario that comes to mind is a stereotypical movie scene: A couple is having an argument, screaming at one another. Perhaps one of the two has clearly been wronged by the other for quite some time. One of the two has spent quite a bit of time waiting for the situation to improve. Maybe promises to change have been made and not acted on. Maybe the failure is on the one making demands. Maybe the failure is a lack of sincerity. Regardless, at some point one person screams or declares "I have been patient for so long!" You know the scene.

Most of us have, at some point, been there in our minds if not in an outspoken and dramatic manner fitting of Hollywood. The thing that we tend not to understand, or refuse to understand, is that most of the time when we think we're being patient, we're not. This comes from a fundamental misunderstanding of what patience is. I'm a big proponent of establishing definitions of terms before starting a discussion, and (though this is a topic for another time) firmly believe it's nearly impossible to have a reasonable discussion on a topic of importance without discussing the definitions of terms in use. So let's start with a definition.

Google tells us the following:




the capacity to accept or tolerate delay, trouble, or suffering without getting angry or upset.

Notice that last part?

"without getting angry or upset"

Yeah. That part. Patience isn't tolerating something without outwardly showing you're upset. Patience isn't hunkering down and being annoyed by a delay but knowing you'll be ok as long as it (whatever it is) happens eventually. Patience isn't biding your time based on a promise for the future. Patience isn't waiting for something that has to happen.

If that's not what patience is, then what is it? While I could get straight to the point, first I want to establish a few more definitions.

Another common phrase is "Don't settle". In general, people understand that settling is bad but compromising is good. Sometimes the words are used interchangeably. In my mind, and for the purpose of this discussion, there's a pretty clear distinction to be made between settling and compromising.

Settling is done when you give up on a principle. Compromising is done when you give up on a detail. It's important to avoid conflating principles with details. A principle is something you're totally unwilling to bend on. It's something that directs your life and the ways in which you change yourself over time or govern your thoughts. A detail is not. A principle–for example–is knowing you want to only marry someone who shares a particular belief or outlook on life, or not at all. A detail is wanting to meet someone in a place or environment where you think that's likely. A detail is wanting to meet someone soon, or maybe even at all. Recognizing the wisdom behind the principle allows you to realize the principle is worth sticking to and the detail is worth compromising on. Meeting someone at a particular place, in a particular context, or even at all becomes a compromisable detail. Is getting married your principle? Or is only getting married if the circumstances are right the principle? Is doing everything to win a competition your principle? Or is doing your best while retaining your integrity your principle? Principles are worth thinking about and understanding so that you will not settle and are then free to compromise on the details of your life. If you know your desire to win is a detail while retaining your integrity is a principle, then you know which to bend on when they come into conflict. Sacrificing your integrity would be settling. Forgoing the victory would be compromising specifically in the name of not settling. The same person in the same situation can often choose to either compromise or to settle. The same two people in a relationship can often choose to either compromise or settle. The former may result in a desired future. The latter probably will not. It's important to recognize the difference, and even to note that sometimes leaving a situation entirely is the only way to avoid settling.

So then, after all this, what is patience?

Patience is not being upset despite recognizing something isn't as you'd like it to be. Patience is knowing you'll continue to not be angry even if your desire never comes to fruition. Patience is understanding what your principles are and knowing you're in a good place with regard to those even if the details of your life aren't as you wish they were. Patience is something reserved for compromiseable details when you're confident you're not settling on your principles. Patience can only be achieved when you do not conflate principles with details or settling with compromise.

You can want the details. You can put a lot of effort into attaining them. You can put quite a bit of value on them. You can desire a particular goal, a victory, or a relationship with a particular person. It is ok, even admirable, to seek out your desires, to recognize what details you'd like in your life and work towards them. Remembering that you can do without them, that it's a definite possibility you will, and being ok with that scenario means knowing you'll only accept the details when they're right–when they don't demand settling. This means being willing to go without some relationships of all types in order to assure you only have healthy ones or being willing to forego some victories in order to only have honorable ones. It means being able to recognize when a particular detail may have become impossible to have without settling. It means keeping your principles intact so the details you can have can be enjoyed to the fullest when the time is right.

True patience is the willingness to wait for something you desire under the right circumstances, without the promise you will ever get it.

Don't settle on what you need. Compromise on what you want.

Be patient.

The Momentum of "Not Right Now"

by Michael G.

Sometimes you're sitting there, doing a bunch of things, and realize "Wow. It's been a really long time since I wrote something on my blog."

Then you realize you've said the same thing pretty frequently for years. Then you still don't write anything, but just think through a bunch of posts you'd like to write.

It's funny how these things work. Running/exercise, blog post writing, podcasting. These are all things I really love doing and sometimes just drop for extended periods of time. They're all so similar in that I love doing them in the moment, and get hooked on them. Then, one day, I realize I just haven't done one of these things (or any of them) in an embarrasingly long time.

Thinking "today's not the day" or "not right now" has an incredible power to keep your momentum of not ever doing something you want to do. And sometimes you just have to decide that today is the day.

So here we go. A blog post. About not posting blog posts. Let's see if this turns into more frequent posts. I've got loads of them bouncing around in my head.

Fingers crossed!

[Missing Post] The Dark Horse in the Race for Our TV

by Michael in ,

What follows is a "missing post". I wrote all of this before WWDC this year in June with predictions for exactly what Nintendo has just announced (or at least how Nintendo is in a unique position for it). While laziness got the best of me, so I never completed the post, I'm going to go ahead and post this right now while Nintendo is still announcing just as evidence that I already had it written. Obviously it's pretty bare bones, as I tend to jot down notes before going back and filling in details and actual words for a post. I haven't touched anything since Nintendo's event started.

Everyone is, and has been, talking about the future, mystical, this changes everything Apple TV. WWDC 2012 is right around the corner and the press has worked itself into such a tizzy over this hypothetical product that if (and I believe when) Apple doesn't announce some new revolutionary our minds just eploded because of how intensely this will change the world overnight television or related device during its main Keynote, Apple's stock price will take its (usual and very temporary) hit, the press will wonder where the product is, and everyone will continue the cycle of excitement until Apple's next event. This is exactly what happened with the iPhone. People expected it for years before it came out. Then it did and changed everything.

The thing is, the TV market is different from the phone market.

 Content vs device (TV vs phones)

Take time to change things (content incumbents)

Most successful in the hybrid world (Xbox 360)

App model for Apple TV (Input is problem: hypotheical iphone/ipod touch/iPad as input--problems are cost, ubiquity. No point to software using both if nobody has both.)

Surprise possibility (Wii U picture - highlight TV button on Game Pad)

What the Wii U has that nobody else does. (Cheap, software updatable/downloadable, platform with intuitive *and* "high definition" input mechanisms built in. Warm "Wii" name which non-technical people have already invited into their homes and aren't intimidated by. They can go buy "the next Wii". Extra input devices for games already in peoples' homes. Built-in, ready-to-go, "Angry Birds" style casual games in "Nintendoland" which anyone can play--familiarize with mascots and then have an included games console for much better games than an Apple TV could manage. Plus easy ports from 5+ years of Xbox 360 and PS3 that, if volume of Wii Us are sufficient, can be easy money at lower prices for publishers/developers on *MUCH* better games than anything Apple could create could do. Cutting edge games on PS4/Xbox 720/PC. Less advanced but not at all input-bottleknecked "real" games on Wii U with non-intimidating platform also being able to be picked up for people who don't/hardly want to game at all.)

Microsoft and Sony already want to do this because there isn't enough money just in "real games" for them. Nintendo isn't competing as  

Obstacles: (Nintendo itself. Partner deals. Stubbornness. Allowing cheaper 3rd party games.)

Biggest obstacle: Nintendo making content deals with the essential movie and TV content creators. Interfaces for accessing media.

Biggest benefit: Touch screen controller always available to control TV stuff, no need to clutter content display to get media info, browse media store. Again: bundled with device.

AfterShokz Bone Conduction Headphones

by Michael in

I like running. I also like listening to things while I run. I've never purchased headphones specifically for running, so listening to my headphones on a run inevitably becomes more annoying the longer a distance I run. I've long wanted to purchase some headphones specifically for running, but have had a list of points I needed to be addressed which I was never quite convinced a prospective purchase would solve.

The basic lists of prioritized conerns I had for headphones to use while running were as follows:

  1. Safety. The biggest problem with wearing ANY headphones while running is the necessary obstruction of traffic noise. I generally don't run in traffic heavy areas, but it would still be nice to be able to hear things around me in order to avoid a fluke accident. Standard headphones ALL make it more difficult to hear things around you as you run.
  2. Comfort and Fit. The Apple earbuds, alternative earbuds, and simple over-the-ear per-ear headphones I've had over the years have all been uncomfortable while running. Per-ear athletic headphones would put enough weight on the ears that a long run would leave the backs of my ears aching. Earbuds would either have to be pushed in uncomfortably and cause the ear to ache on the inside or would become loose as I sweat, potentially falling out as I went.
  3. Durability. When a person runs, there will be a certain amount of wear and tear on the cable leading up to the headphones. Combined with the constant sweat coming into contact with the unit, the physical stresses of running can be surprisingly rough on headphones--sometimes meaning I go through several pairs a year.
  4. Sound quality. By far the least important of the points, the sound quality needs to be good enough for me to hear most of the frequencies involved in the music I'm listening to or to make out distinct voices and easily understand any podcasts or audiobooks I want to use to get me through an especially long run.

Looking at these qualities in aggregate is pretty simple. No headphones will be considered if they can't provide enough sound quality to be worth bothering. Once I've determined a pair can deliver a sufficient not-particularly-high level of audio such that I can hear what I'm attempting to listen to, no more consideration will be given to audio quality over the other points. Durability matters when I take into account whatever price I intend to pay for that particular pair of headphones. As it stands it is already easy to blow through a surprising amount of money by simply wearing through numerous cheap headphones. As long as a pair will last long enough to make up for most (not necessarily all) of the price increase over some cheap earbuds, the durability is satisfactory. Comfort is essential. If the headphones make me uncomfortable, I'll be constantly thinking about the irritation of the headphones instead of relaxing my mind as I run. The best pair of headphones for running is a pair you can forget you have on, and that stays on your ears without any continued effort. Finally, safety is a wild card. I certainly can't purchase sound isolation headphones because that could cause major accidents, but running with headphones almost requires a certain acceptance of environmental hearing impairment. If I could find a pair of headphones which obstructed my hearing minimally, that would be eccellent, but I can make do as long as horns and close by sources can be heard.

Considering all these points, it's no wonder I could never make my mind up on a pair of decent running headphones. About a month ago, that changed. During episode 8 of The Nickel, a podcast about the intersection of sports and technology, the host talks to the creator of AfterShokz. These headphones are different from what the normal pair. They don't go in your ears at all. Instead, they have soft pads which rest on the skin right in front of your ears. The speakers lie behind these pads, sending the vibrations of the audio through the bones in your jaw into your head. As is addressed in the podcast, these are not the first headphones of their kind. That said, every pair of bone conduction headphones I've heard of before has generally been regarded as sub-par. You can imagine my surprise, then, when a quick investigation of online reviews indicated these were truly a nice pair. I decided to give a pair a try.

I purchased the cheaper of the two pairs and it took no time at all to appreciate these headphones were exactly what I had been looking for. Before I start listing off the positives I want to quickly address the only negatives to the headphones. First: audio quality is not especially high. You are not going to want to substitute these for stock Apple earbuds or any decent pair of headphones when you're simply sitting on a chair, couch, or at a desk. The difference in quality essentially disappears once you're outside and environmental noise surrounds you, but if in a quiet environment where you're hearing nothing else you'll want to be using something else. Next, these headphones produce plenty of audio bleed. If you're sitting around with these on, other people will absolutely hear what you're listening to. You can't use these in constrained environments without annoying others. These headphones are absolutely only for running. If you're not willing to buy a pair of headphones to dedicate to running, don't bother with these. The final two negatives are related to one another. These headphones are a powered pair of headphones, meaning that instead of drawing power from your audio device they use power from a separate source: in this case a built-in battery pack. The downside here is that you could conceivably pick up the pair of headphones for a run and find they're out of power and, therefore, useless. Thankfully a single charge takes just a bit more than 2 hours to complete and is rated for 15 hours of active use. I generally charge the set every two weeks without any problem. You need to make sure to have the small USB charger (which looks like a USB flash drive)to plug the headphones in for charging, but there is a nice soft Velcro-sealing bag included which you should use for transporting the headphones in anyway. The final downside relates to the positioning of the battery and control pack. This small box is too close to the headphones. The box has a clip on it for fastening, but it's positioning means you have to be wearing a shirt, an arm band of some sort on your left bicep, or presumably a sports bra (I can't speak from experience here) to fasten the control box to. Leaving it loose is not an option as the weight is easily high enough that it would become an irritation at your very first jogging step. I run without a shirt with my iPhone in an arm band on my left arm, so it's not a big problem for me, but if I were to use a smaller music player (like an iPod shuffle or equivalent) which could easily clip to my shorts I would have no solution without wearing a shirt. This is something to be aware of.

Now, though, I can talk about the positives. As discussed above, the audio is plenty sufficient for listening to things clearly while running. I can easily make out both parts of a conversation when listening to podcasts and am surprised at the quality of the entire range of audio when listening to music. It's no replacement for my higher quality headphones I use while working or relaxing, but it is well above the threshold I've set for running headphones. The only thing to be aware of here is that you might not place the contacts correctly the very first time. If the audio sounds tinny, shift the pads slightly closer to your ear until you hear a sudden increase in depth of the audio. I have only had the headphones for just over a month now, but the construction seems excellent. The contacts are very comfortable against my skin and wipe clean easily. The around-the-back-of-the-head design has exactly the right amount of tension to fit my head as well as heads larger and smaller without getting tiresome. The build quality feels solid and rugged, extending even to the angled entry point of the audio cable into the headphone unit at your head. It is angled behind you in such a way that seems to reduce stress on the joint, a frequent failure point of headphones I have had in the past. The fact that there are no drives sitting on or in the ears means irritation from sweat and heat inside the ears is drastically reduced. In terms of comfort and fit, these headphones are well above any pair I've used in this capacity. Only one month in to use is too early to speak conclusively about durability, but every indication is the AfterShokz should be given just as much credit here. The final area, safety, is where this pair truly shines, though. Simply put, you can not have a standard pair of headphones that is as safe as these. Because these do not obstruct your ear in any way, you are able to hear all environmental noise, including vehicles, just as well as if you had no headphones on and were simply listening to a friend talking right next to you (presuming you leave the volume at a healthy level). In other words, the main issue becomes one of concentration and awareness, and the only way to be safer is simply to not listen to anything at all.

After using these headphones for a while I can give a hearty recommendation to anyone willing to deal with the (in my opinion minor) issues I've mentioned. These are a better solution than any I could have dreamed up on my own. If you're looking for a solid pair of running headphones, you can stop looking now.

The company sells two varieties. I bought the cheaper AS300 AfterShokz Sport variety, which has a control box with volume controls, a power button, and a blue power indicator light. These are not controls for your iPhone or other smart device, but dedicated controls for the headphones. The more expensive AS301 AfterShokz Mobile variety has the same power button and indicator as well as a line-in microphone on the control unit instead of volume controls with a call answer button that will also operate as the single play/pause button if plugged into an iPhone. You have to make the choice between volume controls or microphone and play/pause functionality.

If you decide you want to buy these, I'd appreciate using my Amazon referral links here. If you don't want to buy from Amazon, though, you can purchase directly from the manufacturer's website.


AfterShokz Website