Stuart Breckenridge

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!)


2TB iCloud Storage Now Available

Juli Clover:

Apple today quietly added a new iCloud storage tier, offering customers 2TB of data storage space at a price of $19.99 per month in the United States. Apple now offers four iCloud storage tiers at prices that start at $0.99.

To me this suggests that photos are going to be bigger and, with macOS Sierra, Apple thinks a lot people will sign up for storing their desktop files in iCloud.

What irks me is that storage still can’t be pooled amongst Family Sharing members.


Removing Over the Air Updates from The FFI List

Starting in version 1.3 of The FFI List, functionality that allows users to download updated FFI list databases will be removed. There are a few reasons for this, but it chiefly comes down to the following:

  • The FFI database barely changes from month-to-month
  • There is a small cost to hosting a new database file each month

The FFI List will continue to be updated through the App Store and, as part of those updates, receive updated versions of the database.1 The app will validate saved FFI’s GIINs against the newer database.

1.3 will be released in early September and will contain the August 24, 2016 FFI List. For those who have the in-app subscription, this has been removed from sale. To ensure you don’t miss out, there will be a 1.3.x that contains the September 24, 2016 FFI List.

Following the 1.3.x release, I plan to update the app each quarter. The next release will be in January.

  1. App Store updates are now approved in a timeframe of hours to a few days, instead of around a week. It makes this approach slightly more palatable. ↩︎


Full Dualshock 4 Functionality Coming to the Mac and PC

From the PlayStation Blog:

We’re excited to announce that PlayStation Now is making the jump to Windows PC. The app launches overseas in parts of Europe soon and will come to North America shortly thereafter.

[…]

We’re also introducing a new device, the DualShock 4 USB Wireless Adaptor, which launches in early September for a suggested retail price of $24.99 ($29.99 CAD). This adaptor will let you connect a DualShock 4 to PC and Mac wirelessly, and will enable every feature of the controller you know and love: buttons, analog sticks, touch pad, light bar, motion sensors, vibration, and stereo headset jack – as long as the gaming application supports these features.


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 Surge.sh 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!