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.

— Supported by —

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.