Mac App Store installed app on wrong volume

July 24, 2013

I recently updated ReadKit through the Mac App Store (MAS) and noticed immediately that it was no longer actionable via LaunchBar (*gasp*)–LaunchBar just wasn’t seeing it anymore. The MAS said it was installed, but I couldn’t find the application package in /Applications or ~/Applications.

For whatever reason I thought to use Apple’s Launchpad (something I’d never used before) just to see if maybe it was aware of the application; it was, and launched it just fine. At this point I was seriously confused: ReadKit was installed somewhere (accessible to my Mac), and was being indexed by Launchpad, but not LaunchBar. Hrm.

I next thought to jump into OS X’s System Information app and look at the list of installed applications. (Click the apple icon in your menubar → About This Mac → More Info… → System Report… Once you have the System Information app open, look for “Applications” under “Software”.) ReadKit was in the list, but—and here’s the kicker—it was installed on one of my backup volumes, and nowhere else. Every other app appeared three times in this list: once on my Mac, and once on each of my two backup volumes.

I have no idea how this could have happened, but it was what it was. Now, how to fix it? There probably are a few ways to resolve this, but the easiest—I assumed—was to delete the copy on my backup volume, unmount the backup volume, launch MAS (which no longer saw the app as installed), and reinstall like normal. Worked like a charm.

If you’ve any theories as to why this happened in the first place, I’d love to hear them.

Thunderspace#

We used special stereo microphones with ears to record the sound the way humans hear: With interaural time and level differences. With headphones on, the sound recorded by the left microphone enters your left ear, and the sound recorded by the right microphone enters your right ear. Your brain decodes the stereoscopic 3D audio cues as if you were there when the recording took place.

I came across this app a number of times, but didn’t buy it until after I read Patrick Welker’s detailed piece, and I encourage you too as well (if only to get a better handle on the science and technology behind the marketing blah blah blah quoted above).

I’ve been using White Noise for years (on the Mac and iPhone), and it gets the job done, but it’s not without its faults. (I mostly use its “brown noise” setting, though it does have a ton of “nature” sounds as well.)

I think it’s safe to say that when it comes to simulating the experience of sitting on a back porch in Florida listening to a thunderstorm, Thunderspace is the best app out there, and all of those to whom I’ve recommended it agree.

What I expect from a feed reader

July 08, 2013

With the recent shuttering of Google Reader (my thoughts on the announcement in March) there’s been no shortage of competitors jumping into the space, hoping to gain just a small slice of the RSS pie. The interest I’ve seen in new RSS readers and services has really surprised me, especially the interest shown by “normals” who maybe followed 10-20 sites and used a browser to interface with Google Reader.

In the past few months I’ve tried most (all?) of the “main” players in the after-GReader market, and have been mostly disappointed, particularly by the mobile clients, which disappointment kind of compelled me to write this post. Please understand that I realize many of these operations are very small teams (some are just one person) and that this post is in no way meant to belittle what they’ve accomplished in the past few months. But, the fact is, I’ve (we’ve) come to expect a certain number of “core” features when it comes to my precious feed-reading rituals, and there’s just no going back. (I’ve no doubt that given enough time, the majority of these new guys will incorporate most or all of the features listed below. Fortunately, most best-of-breed clients already talk to many of these new services, and so much of this is a non-issue if you know which clients to choose.)

Before reading the below list, keep in mind that I do 99% of my feed reading on iOS devices, and because of that I’m just not too concerned with the desktop/mobile browser experience. That said, most of the things listed below should apply to those mediums as well. Also, these features mostly are concerned with user-facing clients and not backend systems, so I’m not getting into syncing or anything else like that–those things are givens.

Features I've come to rely on

I’m fully aware that some of these may seem a bit trivial, especially when considered individually, but when taken together over a large number of feeds, they make for an incredibly powerful–and efficient–skimming/reading experience.

Mark-as-read-on-scroll (in a multi-item view)
I’ve written about this many times in the past, and it’s still one of the first things I look for in any new aggregator, and am always surprised when it;s missing. It’s especially handy for high-volume feeds, where without it you’d have to scroll through every unread item before being able to move on to the next feed/folder, because only then would you feel comfortable marking the feed/folder as read.
Offer multiple ways of moving to the next item
When viewing a particular item, moving to the next item should always be possible by swiping up when at the end of the item. Additionally, there should be an on-screen control for this sort of thing; this is especially useful when dealing with full-content items, where, in the case of long items, getting to the next one may require a lot of scrolling before being able to transition to it using only the swipe-up gesture. (Mr. Reader goes a little further in this regard, and lets you move the on-screen controls to any of four areas of the screen, which is great when you’re holding your device in an odd configuration, or you're left-handed, etc.)
Ability to turn off animations
Animations can been pretty, and fun, but when done a hundred times a day they can start to feel “heavy” and inefficient; sometimes it makes more sense to just turn them off completely. This should be configurable.
Save items to a read later service (e.g., Pocket, Instapaper, etc.)
I’m pretty sure all clients support this sort of thing these days, but I’m including it here for completeness (and to setup the next couple of items).
Act on feed items without having to jump into them
Here I’m referring mainly to the ability to save an item to a “read later” service while scrolling through a multi-item list. Often as you’re scrolling through a list of feed items you can tell whether an item is something you want to act on without having to actually jump into it. In Newsify, for example, if I want to save something to Pocket while scrolling through a list, I simply long-tap the item (no matter the layout mode) and it gets shuffled along.
Save internal links to a “read later” service
How often are you reading an article and want to save to a “read later” service a link you come across within that article? Most clients offer the ability to act on the link via the system-wide iOS dingus, but only a few let you send the link to your “read later” service of choice. If the “read later” option isn’t available, I usually have to open the link in Safari, and then use a bookmarklet to send it to the service I want. That’s crazy, and about 10 steps too many.
Show thumbnail images if available
I realize some people don’t like thumbnails in their feed readers (especially given the propensity for some writers to add images to their articles that don’t necessarily inform the reader, because they know that articles with images tend to get more views), and want to see only the title and maybe a line or two of preview text, but I find that my skimming usually is much faster when thumbnails are shown; it’s much easier for me to determine at a glance whether the article is something I want to see more of. This is especially true for particular feeds; for example, I have a feed that’s focused on car news, and because of thumbnails I can blaze through its unread items incredibly quickly.
Offer multiple layout modes
There usually are two that are most important, namely a list view where each item is presented in a uniform size, including length of title, number of preview lines, etc., and a newspaper-style view where the width (and sometimes height) of the “box” in which an item is presented can vary based on, for example, whether that item has any images associated with it, etc. This should be configurable (and, ideally, on a folder-by-folder and feed-by-feed basis).
Show only feeds and folders with unread items
This one seems so obvious, but you wouldn’t believe how many apps out there force you to scroll through your entire list of feeds/folders, despite there being something new in just a few of them. Silly. Hide that shit.
Show oldest items first
Again, another thing that you’d think couldn’t be more obvious. I want to view articles in the order they’re published, not the reverse.
Never require mark-all-as-read confirmation
Ever.
Show read/unread progress when inside a feed or folder
There are certain feeds or folders of feeds that I always run through item-by-item (e.g., my folder of individual bloggers), and it’s nice to know how far along I am in the list while in the process of going through it (e.g., display “3 / 8 articles read” above the current article).
Offer options when finishing a feed or folder of feeds
Some clients jump right into the next unread feed or folder, others bring you back to the main list of feeds/folders. This should be configurable.
Customizable "Services" menu
The client should support as many services as is practicable, and the user should be able to choose which of those appears in the services menu.
Switch easily to a web-based view
99% of the time I’m fine with being shown a “sanitized”, content-only version of an item’s corresponding web page, but it should be very easy to view the page “natively” in an in-app browser. Which of these to show by default (i.e., sanitized or in-app browser) should be configurable (and, ideally, on a feed-by-feed basis).
Filtering at the item level
Frankly, I think this is something that should come with anything you use to consume any type of content, but it rarely does. In fact, I’m not aware of any major RSS client (for iOS) that lets you hide some of your feed items based on constraints you specify. I’ve been using Yahoo! Pipes for this sort of thing for years, and while it’s a little clunky, it works great, and lets you use regular expressions, which is always a plus. (Yeah, I’m aware that Feed Wrangler offers filters, though I don’t think at this point they’re too robust (e.g., no regex, etc.). I’m keeping my eye on this.)
Site/author attribution in folder view
When looking at more than a single feed at once (e.g., when viewing a folder’s worth of items), it’s nice to be able to see which site and/or author a particular item belongs to, because that information might ultimately determine whether you want to take further action on that item. Same goes for multi-author sites.
Prefetch everything
All feed images should be downloaded when syncing, and not when an item is opened. The last thing you want to do when jumping into a feed item is have to wait for an image to load; do this a hundred times in a row and you’ll understand how truly maddening it can be. There should be an option to turn this off if using a connection other than WiFi, but otherwise you should be slurping down everything at sync time.

So, what am I using now?

To be honest, my workflow hasn’t changed at all since Google Reader was put out to pasture. I’ve long used Newsify (despite it having, without question, the worst icon ever), Mr. Reader before that (my detailed thoughts on this app from a couple of years ago), and Reeder years before that, all three of which now sync fully with Feedly’s backend service.

The Google Reader shutdown simply meant I had to point Newsify to Feedly, instead of Google Reader. That really was it. My experience now is no different than it was two weeks ago, and as I mentioned above, I basically just don’t do news reading on the desktop anymore, but in a pinch, Feedly’s site is fine for me.

Bolt: Portable USB battery backup with built-in wall charger#

Bolt is the world’s smallest portable USB wall charger combined with a built in 3000mAh rechargeable battery that will charge your mobile device, anywhere.

I think this looks awesome, and I really want to back it (w/ the t-shirt package), but I’m a little concerned about the 5V/1A output rating, which is the same as the chargers that come with iPhones. I specifically use Apple’s 12W chargers for all of my iOS devices because their output rating is 5.2V/2.4A, and, as you may have surmised, charge iPhones faster (if only slightly—at the end of the day, the phone will draw only as much current as it’s designed to draw), especially if you’re actually putting the phone through its paces while charging it.

(The 12W chargers now come standard with iPad 4’s; I believe they were 10W for all previous models.)

The Daila Lama on what surprises him most about humanity#

Man. Because he sacrifices his health in order to make money. Then he sacrifices money to recuperate his health. And then he is so anxious about the future that he does not enjoy the present; the result being that he does not live in the the present or the future; he lives as if he is never going to die, and then dies having never really lived.

Find iPhone UDID without iTunes...or a working iPhone

June 16, 2013

Like a lot of us last Monday, I really wanted to get the iOS 7 beta on my iPhone, but didn’t currently have an iOS Developer Program membership ($99/year). (The last time I felt compelled to get a developer beta was for iOS 5, mainly because I wanted/needed Notification Center.)

I got home from work really late Monday night and couldn’t wait to get the beta installed, and in my haste I made a mistake that, at the time, I thought might have bricked my iPhone. (Keep in mind too that you’re warned you can’t revert to an earlier version of iOS (i.e., non-beta) if you install the beta, which, it turns out, isn’t true.)

I installed the beta (~1:30AM), booted up the phone, and iTunes wouldn’t recognize it, because I hadn’t associated my UDID number with my reactivated dev account. Not only had I not taken this step before installing the beta, I hadn’t even written down my UDID at all. (I should have been able to search my email for this, as I’d previously sent it to various devs for beta access to their apps, but, long story short, I get new iPhones fairly often because I’m a maniac, and just hadn’t grabbed the UDID for this latest one yet.)

The UDID is a 40-character string that uniquely identifies the phone–the hardware–and is easily accessible if you have a working iPhone. One way is via iTunes: when the phone’s plugged in, choose the “Summary” tab in iTunes and click on “Serial Number”, and you’ll see it change to “Identifier (UDID)”, followed by the UDID. (⌘C will copy the string to your clipboard.)

Another way is through OS X’s System Information app: click the apple icon in your menubar → About This Mac → More Info… → System Report… Once you have the System Information app open, look for USB under “Hardware”, and then look for your phone in the USB device tree, and note that the UDID is actually reported as the “Serial Number” here. (I’m pretty sure this method won’t work (at least on OS X) if iTunes doesn’t recognize your phone.)

Another method you can use if you have a working iPhone is to download apps whose sole purpose is to report this string. Search the App Store and you’ll find plenty of them.

OK, that’s all well and good, but what do you do if iTunes isnt’ recognizing your device, and your device won’t boot fully? As I was scrambling around trying to find a solution that would salvage my phone, it occurred to me that I had seen folders made up of long sequences of characters in a backup folder I had been poking around in some time ago. I went snooping and again came across those long sequences in this folder (where iTunes stores your iOS backups):

~/Library/Application Support/MobileSync/Backup/

I counted up the characters, and sure enough there were 40 for each folder at the above location. I rummaged through the various .plist files to figure out which of these folders/sequences corresponded to my iPhone 5 (and not my iPad, other iPhones, etc.), punched that string into my dev account, and all was right with the world.

(Clearly this isn’t rocket science, but I decided to write something up for other non-devs who may come across this issue in the future and go so searching for a solution.)

Shortcat#

Shortcat is a keyboard tool for Mac OS X that lets you “click” buttons and control your apps with a few keystrokes. Think of it as Spotlight for the user interface.

This is undeniably brilliant, but I’m not sure I could find a real use for it, and trust me, no one hates taking his hands off the keyboard more than me. In this (well, at least my) world of do-everything Keyboard Maestro macros, TextExpander snippets, and AppleScripts all tied to various key combinations, I just don’t think I’d get a lot of mileage out of Shortcat. That said, I’m curious to see what my fellow power users come up with.

Sofia Coppola on Lost in Translation#

It’s about moments in life that are great, but don’t last. They don’t go on, but you always have the memory and they have an effect on you. That’s what I was thinking about.

Lovely. (OMG, it’s true!)

ofexport, an OmniFocus exporter#

I really don’t have a use for this (yet), but that didn’t stop me from downloading and playing around with it. The number of export-to formats it supports is kind of incredible.

(Via Brett Terpstra.)

Display notifications when Jekyll-based operations complete

May 30, 2013

I wanted to be notified when my Jekyll-powered site finished building and syncing, and so I whipped up a silly little LaunchBar + AppleScript thing to do just that. As I’ve mentioned here before, it takes Jekyll forever to generate and deploy my site (more on that in a future post), and sometimes when I add new content I forget to check it on the site after it’s gone live (because it’s been so long since I started the process), and so this is meant to ensure that doesn’t happen.

I opted to cheat a little and crib some stuff from an earlier project—Create a simple timer using LaunchBar and AppleScript—a hack I still use multiple times a day. With that in hand, it really was just a matter of putting a few pieces together.

As explained in that earlier post, LaunchBar’s AppleScript library has a display in large type command, which displays given text in a semi-transparent window across the center of your screen, and by throwing in a delay command (with no arguments), the window persists until you click anywhere on the screen. (And yeah, this proabably could be modified with little effort to have either Notification Center or Growl handle the message.) With that in mind, the AppleScript amounted to just this:

tell application "LaunchBar"
    set announcement to "Site Updated!" as string
    display in large type announcement
    delay
end tell

Once that was complete, all that was left to do was to call the AppleScript from my Rakefile:

desc "Build site and sync"
task :update => [:build, :merge, :sync] do
    sh "osascript _announce.scpt"
end

For those curious, the "build" task calls jekyll (with certain arguments), which generates the files needed for the site; the "merge" task combines the sitemap.xml files from both of my sites (i.e., / and /photos); the "sync" task calls s3cmd and uploads any new or modified files to Amazon S3, which is where they’re hosted; and the last line invokes the AppleScript just described.

When did you choose to be straight?#

Reminds me of this tweet from yours truly a few years ago: “I’m proud of all of my heterosexual friends for always resisting the homosexual urges constantly gnawing at them. It’s a choice, you know.”

Social-based phone notifications

May 26, 2013

I (mostly) don’t get them anymore. A little over a year ago I turned them off almost completely. Moreover, the notifications that I do let through are by screen only—no sounds or vibrations.

As some of you are well aware, I have an incredibly demanding job where important emails are constantly being sent to me throughout the day. Also, like many of my fellow bloggers, I get a fair amount of personal email because of this site, etc.

So what? Well, the truth is, damn near all of it can wait, at least for a short bit, and until I manually decide to check [insert service here]. To be clear, I check both personal and work email manually. I have to think to check them. (Triage has made dealing with personal email a bit easier, even if that’s just in my head.)

Admittedly, it’s rare that too much time ever passes that I don’t think about checking my work email, but by increasing the number of steps that need to be carried out to actually make that happen, I can oftentimes convince myself to not check it, and continue doing whatever I happen to be doing at the time. (This is made easier still by the fact that I always keep the Mail app on my last screen of apps, alone, so I don’t constantly see it when scrolling around my phone. Crazytown, I know.)

So, given that emails are out of the picture, the only social-based things that blow up my phone these days are SMS/iMessages (these are relatively high volume, but I like to see them in real-time), FB messages, and Twitter/ADN stuff (e.g., mentions, DMs, etc.), and, as mentioned, these do nothing more than light up my screen; if my phone’s in my pocket, lying upside down on my desk (on a satin pillow, of course ;) etc., even these don’t interrupt me.

All of this goes for phone calls too; I rarely know about them as they happen (which, yeah, could be seen as reckless in some situations), and sometimes I don’t even know if a voicemail has been left until days or weeks later when I have to jump into the app for whatever reason. (I loathe talking on the phone, so that app—yeah, the phone app—is buried in a folder. Crazytown, I know.)

Dave Morin got some flak recently for his ringtone comment (“I don’t use a ring of any kind on my phone. This is so that I am always on offense and never defense.”), and yeah, it does toe the give-me-a-break line, but I totally get where he’s coming from.

The fact is, it’s 2013, and if I’m interacting with someone via a network, I want to do it on my terms, namely (mostly) asynchronously. In nearly every instance, you have no right to interrupt me, nor me you.

Multitasking neurons found essential to the brain’s computational power#

The flexible neurons also greatly expand the brain’s capacity to perform tasks. In the computer model, neural networks without mixed selectivity neurons could learn about 100 tasks before running out of capacity. That capacity greatly expanded to tens of millions of tasks as mixed selectivity neurons were added to the model. When mixed selectivity neurons reached about 30 percent of the total, the network’s capacity became “virtually unlimited,” Miller says — just like a human brain. […]

Miller is now trying to figure out how the brain sorts through all of this activity to create coherent messages. There is some evidence suggesting that these neurons communicate with the correct targets by synchronizing their activity with oscillations of a particular brainwave frequency.

“The idea is that neurons can send different messages to different targets by virtue of which other neurons they are synchronized with,” Miller says. “It provides a way of essentially opening up these special channels of communications so the preferred message gets to the preferred neurons and doesn’t go to neurons that don’t need to hear it.”

FiOS customer discovers the limits of “unlimited” data: 77TB a month#

Houkouonchi got a call from a Verizon representative this week. “Basically he said that my bandwidth usage was excessive (like 30,000 percent higher than their average customer),” houkouonchi said. “[He] wanted to know WTF I was doing. I told him I have a full rack and run servers…”

Welcome, Robot Overlords. Please Don't Fire Us?#

Increasingly, then, robots will take over more and more jobs. And guess who will own all these robots? People with money, of course. As this happens, capital will become ever more powerful and labor will become ever more worthless. Those without money—most of us—will live on whatever crumbs the owners of capital allow us.

Get Plain Text#

Get Plain Text is a practical utility program to process text within Mac OS: It converts copied text into plain text.

Neat, but if you use TextExpander (and real talk, who doesn’t?), you should check out my solution first.

(Via One Thing Well.)

Due.app and reminder notifications

May 14, 2013

I really wish more of the 1,000,001 simple reminder/task apps available for iOS handled notifications the way Due does. Since I started using Due a few years ago I’ve come across no other app in this space that has as good an overall experience, especially with regard to how it manages reminder notifications.

Unlike every other app I’ve seen, when Due issues a system notification to tell you something is due, the notification persists until you clear the task, and by “persist” I mean to say the app continues sending you notifications every hour (or minute, you nutcase) until you jump into it and mark the item as having been completed (or defer it…and it has great defer options).

This may sound annoying, and for some types of tasks I suspect it would be, but for the things I use Due for (namely everything I don’t throw into OmniFocus), it’s a godsend. It allows me to “defer” the completion of a task without requiring me to input anything—when I see the notification I know that if I don’t act on it I’ll be reminded again in an hour. Awesome.

As you can imagine, this is great for (recurring) tasks that don’t necessarily need to be completed by/at the specified time, but instead can be done within some hours-wide window; e.g., a daily workout routine, weekly status updates you send to your manager, a reminder to call a friend on Saturday (set it for 9AM and have it bug you every hour until you do it), etc.