Stuart Breckenridge

Apple Hiking iPhone 7 Orders Due to Samsung Recall

Tim Hardwick, via MacRumors:

Apple has reportedly hiked orders for parts and components required for the production of the upcoming iPhone 7 and 7 Plus, according to sources from the supply chain in Taiwan (via DigiTimes).

[…]

The hike in order volumes suggests Apple is increasingly upbeat about demand for the new devices among existing iPhone owners seeking to upgrade, despite relatively subdued interest in the iPhone 7 models compared to the pre-launch buzz of previous years.

Another potential factor in Apple’s upward revision is Samsung’s global recall of its Galaxy Note 7 smartphone last week, which followed numerous complaints that the device caught fire while charging. The news arguably couldn’t have come at a worse time for Apple’s biggest rival, which has pitched its Note 7 as a direct competitor to Apple’s 5.5-inch iPhones.

“What a lovely gift token. The question is, what do we buy with it?”, pondered the Apple SVPs.


My Backup Strategy

Roughly three years ago I lost all the data on my MacBook due to a hardware failure. I had no backup and I lost the source code to Lucky Dip, Amazing Flag Quiz, and Live@Troon. (For reasons that escape me, I hadn’t committed any of the code to GitHub.) These days, I’m not quite as careless.

Local Backups

My iMac stores everything. Photos, documents, source code, you name it.

It is backed up locally, using Time Machine, to a Synology DS216+. Time Machine keeps hourly backups for the last 24 hours, daily backups for the last months, and weekly backups for all previous months. The first backup will take a very long time, so I’d recommend using ethernet or USB, instead of WiFi.

My Synology contains two 3TB hard drives in a Synology Hybrid Raid (SHR) configuration, which allows one of the two hard drives to fail without experiencing data loss. Two Time Machine backups for the price of one.

Remote Backups

My remote backups take multiple forms.

Everything is continuously backed up from both my iMac and MacBook to BackBlaze. BackBlaze will backup everything, except items on the default exclusion list, or file types you exclude manually.

Photos and videos, with the introduction of iCloud Photo Library, are also stored in iCloud.1

Source code — including this website — is also committed to GitHub.

I feel as though my data is relatively well protected with these failsafes. Having experienced data loss in the past, I wouldn’t hesitate in recommending them to you.

  1. My photos are backed up to my Synology, to BackBlaze, and to iCloud. You can never be too careful. ↩︎


USPS Releasing Stamps to Celebrate Fifty Years of Star Trek

This is pretty cool from USPS:

On September 8, 1966, Star Trek premiered. Centered on the interstellar voyages of the U.S.S. Enterprise, the prime-time television program’s mission was to boldly go where no man has gone before. With an intricate futuristic setting, multicultural cast, and story lines that touched on social issues, Star Trek pushed past the boundaries of popular science fiction and became a worldwide phenomenon.

Each of the 20 self-adhesive Star Trek stamps showcases one of four digital illustrations inspired by elements of the classic TV show: the Starship Enterprise inside the outline of a Starfleet insignia against a gold background, the silhouette of a crewman in a transporter against a red background, the silhouette of the Enterprise from above against a green background, and the Enterprise inside the outline of the Vulcan salute (Spock’s iconic hand gesture) against a blue background. The stamp sheet includes five of each design. The words FOREVER USA, separated by a small Starfleet insignia, appear along the top edge or the bottom edge of each stamp. The words SPACE… THE FINAL FRONTIER, from Captain Kirk’s famous voice-over, appear beneath the stamps against a background of stars.


Keeping Jekyll Build Times Down While Minifying Files

PageSpeed Insights annoys the hell out of me. For a long time this website was sitting — harshly, I thought — with a score in the 60s. I had a few issues:

  • Cache-Control headers not being set on images
  • Render blocking CSS
  • Unminified CSS

I resolved the Cache-Control issue by adding headers to those files using gsutil.1 I’m happy to live with render blocking CSS but I’ve minimised its impacts by moving to asynchronous loading of webfonts from TypeKit, rather than Cloud.Typography’s CSS method. Minifying CSS turned out to be a bit trickier.

I initially implemented a minifier using the Jekyll Asset Bundler plugin. This worked perfectly except for one flaw: it added around seven seconds to the build time of the website. I found that to be unacceptable, so in my search for another solution that doesn’t impact performance I came across a node package called Minifier. Minifier is able to minify CSS without impact to performance but it does require a bit more work to integrate than the Jekyll plugin I was previously using.

Integrating with the Build Script

I build my Jekyll site using a build script, so my first decision was where I want to integrate Minifier in the script. I’ve decided to add it after the Jekyll build is complete:

echo "1. Build Site"
cd ~/blog
bundle exec jekyll build

echo "2. Minifying"
cd ~/blog/public/css
minify poole.css
minify lanyon.css
minify syntax.css

echo "3. Copying Minified CSS to site"
cp poole.min.css ~/blog/_site/public/css/
cp lanyon.min.css ~/blog/_site/public/css/
cp syntax.min.css ~/blog/_site/public/css/

echo "4. Committing"
git add .
git commit -m "Commit via Script"
git push 

Reducing the Number of CSS Files

Using this approach, build time remains constant, and steps 2 and 3 take no time at all. However, there’s one further optimisation I made: combining multiple CSS files into one and then minifying the combined file. Steps 2 and 3 are updated as follows:

echo "2. Minifying"
cd ~/blog/public/css
cat poole.css lanyon.css syntax.css > combined.css

echo "3. Copying Minified CSS to site"
cp combined.min.css ~/blog/_site/public/css/

This reduces the number of requests the browser needs to make to get my CSS files and comes with no performance hit during build.

SUCCESS: These little tweaks keep the build time of this site to around two to three seconds on a 2016 MacBook (m5 CPU) and as a result of the changes above, this site now has a 91/100 score for mobile and 97/100 score on desktop.

  1. Most of the static files for this website are hosted on Google Cloud Storage. I’d recommend this approach as it will help greatly in the event you ever migrate your site to a different platform. ↩︎


App Store Improvements

Apple Developer News and Updates:

Quality is extremely important to us. We know that many of you work hard to build innovative apps and update your apps on the App Store with new content and features. However, there are also apps on the App Store that no longer function as intended or follow current review guidelines, and others which have not been supported with compatibility updates for a long time. We are implementing an ongoing process of evaluating apps for these issues, notifying their developers, and removing problematic and abandoned apps from the App Store.

This is a long overdue move from Apple which I welcome.

(I’m quite sure I’ll be getting an email soon regarding Amazing Flag Quiz. I haven’t updated it since 2013!)