- The iPad could get lost
- The iPad's battery could die
- Netflix's servers could fail
- DNS servers could fail
- Our wireless router could fail
- The iPad could freeze up
- The iPad could be in airplane mode
- The Netflix session could timeout requiring a new sign in, which from my son's perspective is failure since he can't sign in without me
- Anything Gabe Weatherhead has written about Pythonista
- Anything Dr. Drang has written about Pythonista, especially his expense report workflow using Drafts and Pythonista
- Brett Kelly on using Pythonista and Launch Center Pro for better web site sharing
The ascent of failure
This morning, right after my three-year-old son and I lost interest in rebuilding his train set when his 15-month-old sister wrecked it for the third time, my son went for the iPad mini.
It wasn't working either. More specifically, he wanted to watch a Netflix movie, which he couldn't because the iPad was in airplane mode. So he did what he needed to do to fix it: he handed it to dad.
Just then, my daughter toddled up and handed me a ball, which was working just fine.
So there I sat legs crossed on the floor. Netflix in one hand, a ball in the other—two toys with two very different conditions for failure.
The ball has two states of failure: 1) It could get lost or 2) it could run out of air.
The iPad Netflix app has many more than two states of failure. It is beyond me to list them all, but here's a sample:
Let's assume the probability of a lost ball is the same as the probability of a lost iPad (very similar incidence rates in my household). Further, let's assume the probability of the ball losing air is zero over short (play-session-long) time periods.
Right away, we see that no matter how well designed the Netflix app might be, its probability of failure is much greater than the ball.
Simply put, as a system gets more complicated, there are more things that can go wrong. For the general public, this intuition is enough, but in terms of Dr. Drang's Venn diagram woodshedding of Marco over misinterpreted probability theory, a system's probability of failure is the sum of many failure possibilities: this could go wrong OR that could go wrong OR if part A fails, parts B, C, and D will also fail immediately.
With an iPad, the more individual probabilities you add on top of the base probability of being lost, the larger the total probability of failure becomes. No matter what.
Pr[Adults are dumb] = ?
As we mature as both individuals and societies, we seem to have his urge to want ever more complicated tools and toys. We also tend to place increasingly complicated expectations on what these things should do.
A modern computer is made of systems within systems. A MacBook is not hardware, not software, but both of them at the same time. And a MacBook is not really the MacBook of our expectations if it can't connect to the Internet—an entirely larger and more complicated system.
With Yosemite and iOS 8, we have even more interdependence through features like Handoff. Now, a MacBook, iPhone, and iPad are no longer three things but a system of things—an ecosystem with an even higher chance of failure by virtue of sitting atop an ever-rising house of cards.
I think it's worth pondering the time we spending fixing our tools and toys versus the time we spending solving problems and actually getting to play.
I'm not convinced that having complex tools is a necessary condition for achieving remarkable results. The Apollo spacecraft's computer was far less complicated than an iPad's after all. Far less. We haven't landed a man on the moon since 1972.
If complexity and connectivity are necessary conditions for the perceived success (the complement of failure) of any given technology, it stands to reason that the risk of technological failure will increase over time, not fall.
I don't see this as a dystopian inevitability though. I think people are at their best and truest selves in the moments following failures. And to a simplistic extent, the human experience is one of either solving problems or creating problems to solve.
If we've learned anything in the last hundred years or so, it's that technology doesn't promise to simplify our lives. It promises to keep our lives extremely interesting.
On Overcast and overwork
A lot of people will probably link to and talk about Marco Arment's Overcast sales numbers post, which Marco provided as data and education for other app developers.
But as illuminating as his numbers will be to the (good natured) people that read Marco's post, I think the most enlightened part is at the very end:
After the self-employment penalties in taxes and benefits, I’m probably coming in under what I could get at a good full-time job in the city, but I don’t have to actually work for someone else on something I don’t care about. I can work in my nice home office, drink my fussy coffee, take a nap after lunch if I want to, and be present for my family as my kid grows up. That’s my definition of success.
I'm really lucky I have a job that gives me indie-like flexibility with my work projects, hours, and location, too. I feel so lucky that I can be so present at home today because I can't imagine the future hell of wishing I'd spent more time with my kids. That I can make a decent living at the same time is just a bonus bestowed by the internet age.
But having complete control over what I work on and how often I work on it can also be a curse for someone like me. I will be the first to admit that I have this innate propensity to pursue my work in every nook and cranny of time I can find—in and around family life.
The more I mature as a person, though, the easier it's getting to remind myself that work is just a means to money, which itself is only a tool. Money is merely a resource that one must acquire to exist in modern society. Once you make enough to secure survival and take your mind off the next meal, the rest is just a game. A truly enlightened individual will weigh the time they spend playing that game with the other things and people they value in life.
In one of my absolute favorite TED Talks of all time, Nigel Marsh talks about the importance of work-life balance with almost stinging eloquence.
To me, work-life balance is a far more interesting and worthwhile obsession than work itself. Designing your reality is the most important design you'll ever work on. It is the one design that determines everything.
How to draw lines and influence people
If a picture is worth a thousand words, then times have never been better for people who want to tell long lies to audiences with short attention spans. Last year, Eric Portelance wrote a great piece for Medium where he dissected a fantastic falsehood told through a Bloomberg graph of U.S. men's income.
Maybe I'm just getting cranky with age, but I've just gotten so cynical about graphics posted in mainstream places—from news articles to Twitter. Whenever I see a graph or chart depicting any kind of trend in any kind of data, I assume it's been designed to mislead me. A very recent example: The Economist mixed a nice cocktail of confirmation bias, anchoring bias, and data truncation into a graph of shooting deaths versus automobile deaths.
Line graphs, bar charts, and all their two-dimensional friends can be wonderfully effective story tellers. But sadly, it's not always apparent whether the genre is fiction or non-. Most people today don't have the time to check before clicking share.
A better pocket knife with Launch Center Pro and Pythonista
As nice as it is to write a for-my-eyes-only script to solve a specific problem on my Mac, it is satisfying in an entirely new way to write code on a mobile device. It just feels less like "programming" and more like making a better pocket knife.
A mundane problem I wanted to solve:
I love budgeting, but not as much as I love food. It's always been a struggle for me to manage what I'm spending eating out over the course of a month—especially since what my family and I spend at restaurants tends to vary a lot in size and frequency.
It's easy to set a food budget at the beginning of the month, and it's easy to see whether we came in under or over that budget at the end of the month, but it's a lot harder to ascertain whether or not I'm on track as the days of the month tick by.
The pocket knife solution:
I wrote a simple Python script in Pythonista that takes a monthly dollar figure—my remaining food budget for the month—and averages it over the remaining days in the current month:
import datetime, calendar
import sys
import console
budget = float(sys.argv[1])
d = datetime.datetime.today().day
m = datetime.datetime.today().month
y = datetime.datetime.today().year
last = calendar.monthrange(y,m)[1]
remaining_per_day = budget / (last - d)
message = 'You have $' + str(round(remaining_per_day,2)) + ' remaining per day for the next ' + str(last - d) + ' days.'
console.clear()
print message
The Python script itself is fairly unremarkable, but what impressed the hell out of me is that I was able to write it entirely on my iPhone, then slap a "GUI" on it using Launch Center Pro.
I don't even have to open Pythonista to use it. I just tap a Launch Center Pro action, enter a dollar figure, and Launch Center Pro sends it to Pythonista, which runs the script and puts an answer in the console.
<img src="/img/img.gif" alt=""/>
This little workflow takes advantage of Pythonista's ability to accept standard input via its URL scheme and Launch Center Pro's ability to send a URL that consists partly of numeric keypad input.
[caption id="" align="alignnone" width="400.0"]<img src="/img/img.png" alt="In LCP's action settings, enter Pythonista's URL scheme in the URL field along with [prompt-num], which is LCP's variable for keypad input. The name of the Python script in this example is Budget.py."/> In LCP's action settings, enter Pythonista's URL scheme in the URL field along with [prompt-num], which is LCP's variable for keypad input. The name of the Python script in this example is Budget.py.[/caption]
This was a mundane problem, but the solution feels remarkable.
To me, Pythonista is a very important app because it feels like an obvious step toward a future where more software creation will happen on devices that we don't think of as "computers" in the conventional sense.
Maybe I'm overblowing all this, but I just think it's amazing that I can write a piece of code on a mobile device, then snap a few blocks together to essentially create a custom app. I can't help but think the future of programming won't feel like "programming"—much like using an iPhone doesn't feel like "computing."
Other resources
Some of the media elements in this post are best viewed in the original.
Caught in our own net
How the Victorians Wired the World is a fascinating documentary of the telegraph's influence on modern life. Though it was made in 2000, near the height of the dot-com bubble, its message is no less profound today.
I think connective technologies are the most powerful influencers of human behavior today. To understand ourselves, we must understand the elemental nature of that which owns our attention. The internet and mobile devices are our masters today, but in many ways, they are far more evolutionary than revolutionary on the grander time scale of technological development.
Before the internet, we had forms of instant communication unconstrained by distance. Before the telegraph, we did not.
via Hypertext
The only free economy
Money seems to enable free societies. The free economies of the world seem to be proof that exchanging some socially agreed-on proxy of value for real things is better than trading real things directly.
But does money really free the individuals of those societies? What's the value of money to one's self?
Modern money (fiat money) itself has no intrinsic value. It only has value to the extent that people imagine it has value.
Money can only be valued on a relative basis. A U.S. dollar will always be worth less (or more) than a euro. Someone with "a lot of money" can only exist if there are those who have a lot less. Manmade currencies are simply social contracts valued on the relative emotions of those who exchange them.
In fact, being a system created by people—for people—money is all emotion. For all the real problems solved by money, it creates at least as many imaginary ones.
At an individual level, once money solves the problems of basic survival, the human mind becomes temporarily starved of problems, so it naturally begins creating new ones with the money left over. I think this is largely because the socially accepted definition of "enough money" is forever pegged at "more than I have now."
Behaviorally, I think a capitalist mindset can lead to a looking-glass reality of true emotional prosperity. Everything is inverted. Going up is really going down. Those chasing heaven are actually barrelling toward hell.
"Ascension" in a capitalist economy is like riding an elevator in an infinitely high Wall Street sky scraper. The catch: demons lurk on all the floors below. The higher you go, the higher you must go. This is the paradox of loss aversion—the beast yet to be slain by the First World. To escape the fear of falling, we perpetually climb higher. Not because we truly want more, but because we're terrified of less.
"If Bill Gates woke up tomorrow with Oprah's money, he'd jump out a fuckin' window. . ." —Chris Rock
To an observer from another world, modern financial systems would probably seem like a twisted game of "heads I win, tails you lose." Winners' highs rapidly melt into progressively worse hangovers, forcing them to play for even higher highs. Losers are cursed with envy of the ostensible winners.
Ultimately, money fails at providing anyone lasting satisfaction because its quantity and value aren't constrained by anything real. It's all in our heads, and the evils of our imaginations know no bounds.
If there's any real currency in the universe it's time.
Time is completely immune from the whims of human emotion, and ignoring the effects of extreme gravity or speed, time's value is constant for all of us. Being independent of our existence and our perceptions, time follows simpler, less emotional rules than manmade money.
First, time can only be spent; it can not be amassed. Second, time must be spent at a fixed rate. Third, time is infinite in total—there's enough for everyone who has been and who will be—but our individual endowment of time is both finite and essentially beyond our control.
Unlike money, we can't choose whether or not we spend time. We can't save it for later. We can only choose what we spend time thinking about right now. There is no currency more equitable and free-flowing in its current state than time.
In any given day, a very rich person has the ability to buy vastly more than a very poor person. But in that same day, they will spend exactly the same amount of time.
In Walden Thoreau said ". . . a man is rich in proportion to the number of things which he can afford to let alone."
I've come to the conclusion that freedom is the greatest form of riches anyone can achieve. But being free—truly free—is something that can only be bought from myself. Since manmade money can only be a liability in an economy of one, it's worthless as a medium of exchange for freedom. The only currency that can buy my freedom is the time I spend choosing to be free.
Surprisingly, I've found that freedom can only come from self-discipline and ruthlessly dictating priorities—choosing what to do in advance as much as possible. More importantly, freedom is about choosing what not to do in advance.
And for all the plans that fall apart, freedom is in the Cool Hand Lucan process of accepting, getting up, and planning again.
Only through the consistent practice of planning, self-discipline, and acceptance can I be set free to care as deeply as possible about what I'm doing in any given moment.
This takes a lot of effort, and with practice, it gets easier. But never perfect.
All I know is that when I'm operating at the very highest level across my three most fundamental identities—professional, parent/spouse, and self—I have full awareness not only of how I plan to spend my time, but why I'm spending it that way.
In those moments I am fully aware. I am rich. I am free.
OmniFocus outside of the GTD box
I do not use OmniFocus the GTD way (at least I do not think I do given that I have not read the book). I do use OmniFocus the way that works best for me.
So many great ideas in one post. One of my favorites:
Chase tasks are special tasks to remind me to chase people for information or deliverables.
OS X Shell Tricks
Brett Terpstra and Ryan Irelan are two of my favorite people on the internet, and when I found out they came together to make a course on OS X Shell Tricks on Mijingo.com, I couldn't resist. I got a lot out of this course considering that I was pretty weak on Shell commands coming into it. The section on files and directories alone was worth it to me.
As someone who makes a lot of educational video myself, I have a lot of respect for the quality of Mijingo's products. Another thing I'm realizing more and more: When it comes to any form of online education, I usually can't afford the time cost of "free." Give me a reasonably priced video course with high production values over wasted hours of YouTube searching any day.
Twice the gender, twice the sales
If you interpret the 1970s Lego parent letter as anything other than a sales tactic, you’re giving Lego too much credit. If I'm handing out a medal for the most gender-progressive company of the 20th century, I'm extending a hand to Slinky first. Beginning in the late 1960s, they jingled it clear for decades: this industrial spring is fun for a girl and a boy.
I will say, however, that my son and daughter enjoy Legos equally, and until today, I hadn't given it much thought. Maybe that in itself is the greatest sign of progress.
RegexOne
I've always known I'd be better off if I knew how to write regular expressions, but for some reason I never had the patience to teach myself through web searches and online manuals.
Thankfully I just came across RegexOne, a site with interactive tutorials and practical examples using regular expressions. Now I finally know how to write simple regular expressions and know enough to figure out more complex regular expressions when the need arises.
I really like sites that teach with real-time feedback. RegexOne's teaching model is great.
All data go to hell
Forbes describes how Fitbit data are being used in a personal injury case:
The young woman in question was injured in an accident four years ago. Back then, Fitbits weren’t even on the market, but given that she was a personal trainer, her lawyers at McLeod Law believe they can say with confidence that she led an active lifestyle. A week from now, they will start processing data from her Fitbit to show that her activity levels are now under a baseline for someone of her age and profession.
In this case, the data are being used in a way that's beneficial to the individual on which the data were collected. But that's just this case.
This is such a perfect example of something that I preach to anyone who doesn't seem to care about data privacy. The mindset goes something like this: "I don't care if the government or Big Company X has my data. I haven't done anything wrong."
It's fine if you don't care about privacy, but if you use the innocent-today-therefore-innocent-forever logic to arrive at your apathy, you've gone way astray. You can't possibly anticipate how today's data will be used to implicate you in the future.
You can't possibly foresee how the fact that you went to lunch at a cafe on Broad Street at 11:43 AM on a Wednesday morning in July will become relevant and subpoenaed in a court case involving people you don't even know. You can't possibly be certain that a pattern of perfectly innocuous web searches you did in 2009 will raise suspicion in light of an accusation someone makes in 2021. You can't be sure that future laws will err more on maintaining civil liberties than ensnaring enemies of the state.
In his 1954 book How to Lie With Statistics, Darrell Huff famously said "If you torture the data long enough, it will confess to anything." I would offer a 21st century version: We're all guilty given enough database unions.
via FlowingData
Snapback Actions in ScreenFlow 5
ScreenFlow gets better with each release. One of my favorite new features in ScreenFlow 5 is the "Snapback Action," which lets you quickly revert your scale and picture position to their previous settings following a video action. I made a short video to illustrate.
Clink and sync
Gabe Weatherhead and Bradley Chambers. . .
Two guys with demanding day jobs. Two guys with families. Two guys that find the time to make amazing things by mixing some spare time with their passions.
Two guys that inspire me to do more.
And two guys with two very different new products. . .
Bradley wrote another book in his Learning to Love series: Learning to Love Google Drive (available in the iBookstore and outside of it). And thanks to Gabe's new app, TapCellar, beer journaling is a thing in my life.
Now join me in drinking and reading to both. Here's to the crazy ones, especially the ones that ship.
All thumbs
Yuvi likes writing on his iPhone 6 Plus:
I originally thought the iPad would be a perfect writing device but I never found the right keyboard solution. The iPad keyboard is too big for me to happily thumb type on, and I also never enjoyed 10 finger typing on it (doable but uncomfortable). And carrying around an external keyboard started to make me want to just go with the laptop.
The portrait keyboard on the iPhone 6 Plus is just right for me. It works great for fast, two-handed thumb typing, which suits my creative writing pace.
I totally agree, even though I'm using an itty-bitty iPhone 6. It's logical to expect the iPad to be superior to the iPhone for writing because the iPad's keyboard is larger. In practice, the opposite is true.
A few reasons why. . .
Body position matters for the iPad, not the iPhone.
Typing landscape on an iPad is optimal only when sitting in a traditional "laptop" position, ideally at a table or desk. It's maddeningly frustrating in any other body position—especially positions that you really wish it worked in. For example, trying to type on an iPad in your lap while sitting on a sofa seems like a good idea, but that's only if you enjoy being punched in the balls by autocorrect every four seconds.
The position of my body is practically irrelevant when I type on an iPhone. I can stand, sit, or even lay on my back. In every case, the iPhone is in the same orientation with the same degree of thumb accessibility.
I'm sure Yuvi would agree that an iPad just doesn't work in his "sweet setup" for writing—the toilet.
If I can't touch type, just let me have my thumbs.
I can type on an iPhone in portrait orientation with two thumbs just as fast as I can touch type on an iPad in landscape. Even when sitting in a traditional typing position with an iPad, I'm not creating more words per minute.
My iPhone is with me all the time; my iPad isn't.
My iPad is with me about as often as a laptop is with me. My iPhone, on the other hand, might as well be grafted to my skin. Even if the time spent per typing session is less on an iPhone compared to an iPad or laptop, there are way more iPhone sessions.
My iPhone typing speed promotes a more discerning type of typing.
This is really more of a comparison to laptop typing, I guess. I think it's also what Yuvi meant when he said the iPhone "suits his creative writing pace." I couldn't agree more. I just type too damn fast at a "real" keyboard. My emails sometimes read like they were written by a third-grader vomiting words into the IMAP sewer that is unedited, high-volume work email.
When I type on an iPhone, I usually write fewer and richer sentences. I make fewer typos, too.
It's not that I don't use my iPad a lot.
I just don't use it much for writing. My iPad time is almost entirely spent reading technical papers, books, or watching Netflix. For me, my iPad is a natural extension of my Mac's screen when working, and it provides the best experience for reading text—just not creating it.
Read Later is dead
I think Read Later was always a fantasy. The Read Later app genre definitely sustained that fantasy in my mind far longer than it should have.
By waking up from the Read Later dream, I've made more time for reading (usually better) things. If I have time at the end of the day to read, I'd rather spend that time reading text written before Read Later was even a problem that needed solving.
Killing Read Later also means I killed the shittiest of shitty side effects of a Read Later workflow—unread counts. I permanently deleted an entire inbox. I stopped spamming myself.
Today my rule for reading internet text is essentially this: read now or not at all.
In cases where I need to act on a URL later, I use a simple OmniFocus bookmarklet to put it in my OmniFocus inbox along with other things I need to act on. In other words, reading something important is at parity with doing something important.
URLs that I can't read now and don't need to act on in the near future go into a flat Pinboard archive. An article that I may need to look at in the future isn't something I need to read later. It's something I may need to read later. It's just a piece of reference material. A simple search returns it on a whim.
Don't get me wrong. To waste time is to very much be a human being. I'll never be able to completely clockwork orange myself off of the empty calories dripping out of the "social" web. But I can get better at not putting them in a to-go box. Putting Read Later in the trash is just one way.