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:
bundle exec jekyll build
cp _redirects _site #Redirects needs to be copied to _site after build
git add .
git commit -m"Commit via Script"
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!
The coaster — visible under the mug — is from E&O hotel, Penang
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+.
Use code RFR91045 for $10 off your first order. ↩︎
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.
Technically, buddybuild, all lowercase. It’s just wrong. ↩︎
They check out your project in GitHub, integrate their SDK and then commit their changes. There is no manual work needed. ↩︎
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.
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.
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
On Plus size devices: the location of the power button is ergonomically obtuse. ↩︎
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. ↩︎
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.