Archive for January 24, 2015

Saturday, January 24, 2015

Swift Capture Lists

Russ Bishop:

The Language Guide claims you should use unowned if the closure and containing object reference each other and will be destroyed at the same time. Presumably that’s to avoid the cost of safely nil’ing out a weak reference in an object that’s about to dealloc anyway.

Most people aren’t aware that you can create new named values here as well[…]

Documents in the Cloud: bird and brctl

Apple’s site doesn’t yet document them, but bird is the system daemon behind iCloud documents, and brctl is the corresponding control utility (via Zachary Drayer).

Accessibility Showdown: iPhone 6 vs. iPhone 6 Plus

Steven Aquino:

In this context, bigger truly is better: it allows for more content to be shown, and the 401 pixels-per-inch (ppi) screen is so bright and crisp that I find myself rarely squinting to read text. The screen is so good, in fact, that text is easily viewable for me at normal size (my preference, though it can also be set to show less content at larger sizes). The advantages of the iPhone 6 Plus’s screen are such that I experience less eye strain and fatigue than on my iPhone 6, whose screen is “only” 326 ppi.

Alas, the sheer physical size of the iPhone 6 Plus hardware makes for a polarizing user experience. As wonderful as the screen is, the dimensions of the iPhone 6 Plus make me yearn for my smaller iPhone 6. The iPhone 6 Plus is a monster, making it cumbersome both to hold and carry in my pocket. Even getting it in and out of my pocket takes more effort than the iPhone 6, and it’s much more obvious in my pocket as well.

This isn’t just personal preference. Sure, my hands are small, but my cerebral palsy makes holding the iPhone 6 Plus awkward and uncomfortable, forcing me to adjust my grasp constantly to maintain control over the phone. Holding it to my ear during phone calls is hard too, because it’s so smooth and hard to grip, and the size makes it weird to hold against my ear.

The Imitation Game

Scott Aaronson:

OK, so for those who haven’t yet seen it: should you? Here’s my one paragraph summary: imagine that you told the story of Alan Turing—one greatest triumphs and tragedies of human history, needing no embellishment whatsoever—to someone who only sort-of understood it, and who filled in the gaps with weird fabrications and Hollywood clichés. And imagine that person retold the story to a second person, who understood even less, and that that person retold it to a third, who understood least of all, but who was charged with making the movie that would bring Turing’s story before the largest audience it’s ever had. And yet, imagine that enough of the enormity of the original story made it through this noisy channel, that the final product was still pretty good. (Except, imagine how much better it could’ve been!)

Geoff Knauth:

I liked The Imitation Game, despite its problems. Here’s a better list of its inaccuracies than I’d have produced.

Gitlet: Git Implemented in JavaScript

Mary Rose Cook:

Over the last six years, I’ve become better at using Git for version control. But my conceptions of the index, the working copy, the object graph and remotes have just grown fuzzier.

Sometimes, I can only understand something by implementing it. So, I wrote Gitlet, my own version of Git. I pored over tutorials. I read articles about internals. I tried to understand how API commands work by reading the docs, then gave up and ran hundreds of experiments on repositories and rummaged through the .git directory to figure out the results.

I discovered that, if approached from the inside out, Git is easy to understand. It is the product of simple ideas that, when combined, produce something very deep and beautiful.

Creating the Natural Numbers From First Principles

Brandon Williams:

Turns out, natural numbers can be constructed from two basic objects. First, we start with the “smallest” member of the naturals, called Zero. Then we have a function Succ (the successor function) that takes a natural and returns the next natural.

Update (2015-01-31): The solutions to the exercises.

Back to the iPhone 5s

Jeff Hunsberger (via John Gordon):

The iPhone 6 screen always felt a bit like it wasn’t made for my hands like the iPhone 5S was. The iPhone 4 and 4S were tiny and I could easily reach any area of the screen. My resistance to the iPhone 5 gave way to the fact that I could still reach the top left corner while holding my phone in the right hand. The iPhone 6 requires you to shift the phone in your hand, balance it on your fingertips and then stretch across to hit the top left of the screen one-handed. The whole time you are courting disaster.


Moving back to the iPhone 5S has reaffirmed my feeling that it is the current high point in smartphones. It is the best balance in speed, battery life, size and durability.

When testing an iPhone 6, I found that it was much less comfortable in my jeans pocket. It simply wouldn’t fit in the breast pocket of my ski jacket. I’m hoping that the iPhone 6S will come in a smaller size. Meanwhile, I’m still happy with the 5s.

The Future of No Thirst Software

Kevin LaCoste (tweet):

First off, you can rest easy that updates are already being worked on and roadmaps are being discussed. We have a lot planned for 2015 and beyond starting with some minor updates to get things up-to-date with the latest and greatest on iOS and OS X.

Great news. I had been worried, as I use MoneyWell every day and it had been more than six months since the original developer, Kevin Hoctor, announced his move to Apple. New Kevin’s Twitter is here, and he explains a bit about his bio here.