The personal blog of Stuart Breckenridge

Vesper Discontinued  

Brent Simmons:

We at Q Branch just released the final version of Vesper. It does one crucial thing: it allows you to export your notes and pictures. See the new Export section in the sidebar.

Sync will be turned off Aug. 30 at 8pm Pacific. We’ll destroy all the data, and neither we nor anyone else will be able to recover it.

The app will be removed from the App Store on Sep. 15. Until then, starting now, it’s free — since you can’t create new sync accounts, and it wouldn’t be fair to charge new users if they can’t sync.

I loved working on Vesper. It was one of the great software-making experiences of my life. We’d get on a roll and it was wonderful.

And now it hurts to turn it off, but it’s time.

To everyone who used the app: thank you so much.

This is such a shame. Vesper was one of my favourite note taking apps, but since Apple’s Notes app was drastically improved in iOS 9, I didn’t think Vesper would last long.

Host Migration

Since converting the content of this site from Wordpress to Jekyll, I’ve been using as web host. However, over the last few months I’ve been disappointed with certain aspects of the service.

First, there was downtime for the entire Surge network in January as a result of a DMCA takedown request. Second, their CLI generates some remarkably unhelpful error messages. For example, when uploading a new PEM file the error I received was as follows:

Error - something went wrong. the pem file was not applied

What are you meant to do with that?

So I decided to migrate to Netlify and this turned to be much easier than anticipated.

I signed up using my GitHub account and pointed the Netlify to this website’s repository. As I build the site locally on my Mac and then commit to GitHub, I simply had to set the public folder to the _site directory in the repository with no need to apply any build scripts. When ever I commit to GitHub, Netlify detects the commit and syncs the changes. I’ve been really impressed with the speed in which this synchronisation happens.

Using Netlify has also simplified my deploy script:

cd ~/pathtosite
bundle exec jekyll build
cp _redirects _site #Redirects needs to be copied to _site after build
git add .
git commit -m "Commit via Script"
git push

Overall, I’m very happy with the migration.

Improve Boot Camp Gaming Performance with an External SSD

Last year, I was playing Battlefield 4 on my 2013 iMac through Boot Camp. My iMac has a 3TB Fusion Drive which meant that the Windows partition (and Battlefield) were installed on the hard drive portion of the disk, rather than the flash storage. This precipitated in a situation where my eldest nephew wanted to see Battlefield 4 and had to wait over three minutes for a multiplayer level to load.

Short of buying a newer iMac with a flash drive, I’ve instead bought an external USB3 Samsung T3 250GB SSD. After connecting the drive to the iMac and formatting it, I uninstalled Battlefield 4 and reinstalled it on the SSD.

I expected a minor performance improvement. What I actually got was fairly incredible: loading time decreased from over three minutes to 19 seconds. This is more than acceptable and a much more cost-effective option than buying a new iMac!

My Desk at Home

While most of my code (and the content for this website) is written on my MacBook Pro, I do spend sometime sitting at my home desk working on my iMac.

What’s there?

I find that anything else detracts from productivity: I like the vast expanse of empty desk space, it helps me think. I also can’t stand cables — I will gladly wait for a TestFlight build to finish processing rather than hook up a lightning cable into an iPhone or iPad.

Out of shot is the stuff that gets on my nerves for their untidiness: the cable modem, the WiFi router (required because the built-in WiFi on the modem is quite rubbish), and the Synology DS216+.

  1. Use code RFR91045 for $10 off your first order. ↩︎

Buddybuild Pricing Announced  

Buddybuild1 recently announced their pricing structure and thankfully there is a free pricing tier for smaller, indie developers like myself. I’ve been using buddybuild for the last month and I’ve been thoroughly impressed with the way it integrates with your project2 and the way in-app feedback works during testing. They have also been extremely quick to support Xcode 8 beta builds.

If you haven’t tried buddybuild, I’d strongly recommend that you do.

  1. Technically, buddybuild, all lowercase. It’s just wrong. ↩︎

  2. They check out your project in GitHub, integrate their SDK and then commit their changes. There is no manual work needed. ↩︎

Style Sample

My approach to CSS is to hack around with it until it works and then leave it alone. To assist me in this quality approach, I’ve created a styles page that covers each of the CSS selectors I use throughout the site. I find this gives me a very quick overview of how the changes I make to the CSS affect the overall look and feel.

The markdown is available as a gist.

How to Avoid Flash on the BBC Website

Anthony LaForge, on the Chrome Blog:

In December, Chrome 55 will make HTML5 the default experience, except for sites which only support Flash.

The biggest culprit for not moving to HTML5 is the BBC. Their content defaults to HTML5 on mobile devices and Flash on desktops — resulting in a You need to install Flash Player to play this content alert. Their reasoning to run with this approach for as long as they have continues to baffle me. Luckily, there is an easy fix for Safari:

  • In Preferences -> Advanced: enable the Show Develop menu in menu bar option
  • In the Develop menu -> User Agent submenu: Select one of the Safari — iOS options
  • Reload the website and the Flash content will be presented as HTML5 content.

I can’t wait until Flash is no longer used.

iPhone 7: Are the Secondary Speaker Holes Cosmetic?  

Joe Rossignol, for MacRumors:

The text in the documents refers to the area that occupies the 3.5mm headphone jack on current iPhones as having simply a microphone and microphone mesh, with no mention of a speaker in that location. Most of the secondary holes would be non-functional, except for the one furthest to the right, which would double as a microphone.

I’m hoping this design document is a fake and the speaker grille is actually, you know, for a speaker. It’s decidedly un-Apple like to include something so misleading in their hardware design and I can’t think of any other examples of them doing this.

The only reason I think they would include a speaker grille in that location is to give the bottom of the phone the appearance of being symmetrical. I think this is a pretty poor reason though. The iPhone has been around for nine years and the bottom of the phone has never been symmetrical. This has had no impact on sales and I’ve never read a complaint about the look and feel of the bottom of an iPhone. There are, quite frankly, bigger design problems to solve.12

  1. On Plus size devices: the location of the power button is ergonomically obtuse. ↩︎

  2. On 6 and 6s non-Plus devices: the phone is too light (use it in a windy place), the battery life is not good, and it’s too slippy in hand without a case. ↩︎

The Collatz Conjecture  

This short post on Daring Fireball regarding the Collatz Conjecture and Swift code in playgrounds piqued my interest. I thought I’d have a go at putting together a playground with full markup and graphs of the results. My code is available as a gist.

Note: Interestingly, I discovered that XCPlaygroundPage.currentPage.captureValue(value: T, withIdentifier: String) has been deprecated and there is no replacement. There is a basic for loop at the end of the playground which produces the graph.

Adding San Francisco Mono to Font Book

Apple introduced a new fixed width font in Xcode 8 — San Francisco Mono — but they’ve not made it available for system-wide usage.

If you want to make the fonts available for system-wide usage, you need to extract them from the Xcode 8 beta and add them to Font Book.

Assuming Xcode is installed in /Applications, navigate to the below folder using Finder:


Then select the fonts in that folder and drag them to Font Book.