The spiders had been very busy spinning over night, and were enjoying a lazy Sunday morning in their webs. (Click for a higher resolution photo.)
18th September 2010: overnight our floating hotel had conveyed us to another beautiful harbour, the town of Skagway (population 968). Our morning began with the walk around the preserved and restored Klondike gold rush era central business district, learning about the history and conditions of frontier life.
Later we took a trip on the incredibly scenic White Pass & Yukon Route Railway. This follows the same path as the prospectors up into the mountains, and crosses into the Canadian province of British Columbia. The train continues to the Yukon Territory but we alighted at the customs post in B.C. and enjoyed an exhilarating bicycle free-wheel back down the road to Skagway.
The 17th September 2010 was our first day in Alaska, the previous one being spent at sea cruising up from Vancouver. The first item on the itinerary was to cruise into the majestic Tracy Arm Fjord in glorious sunshine. We later docked in Juneau—the State Capital, which can only be accessed by sea and air—and took an excursion to see Bald Eagles and Humpback Whales.
16th September 2010: formal dinner on the MS Volendam in Alaska.
Photographic entertainment while the Little One enjoyed an ice lolly during a day out to see the sights of London. This was taken by resting the camera on my backpack, which was across my lap. I had to do quite a lot of work on the RAW file but the end result is surprisingly good for basically a handheld shot in the middle of the day.
Visiting a dinosaur museum in August is never going to be a calm or relaxing experience. Our chance to go earlier in the year whilst older children were in school had been nixed by COVID-19, but with numbers limited by social distancing, it was a fun and enjoyable outing.
Having caught up on my backlog of reading during lockdown, I decided to accept Apple’s offer of a free trial of their News+ service. The concept seems attractive for someone who would like to read widely without the great investment of time and money needed to take individual subscriptions to many publications. Unfortunately as I near the end of my month-long trial, I do not intend to continue with it.
The News+ “anchor-tenant” for current affairs in the UK is The Times. It had been my expectation that I could open the News+ app every day and peruse a digital newspaper, with all the in-depth articles and quality journalism that one gets that is so often missing from the 24/7 Internet news cycle. However the News+ service just seemed to give me access to a selection of online stories from The Times, with little to differentiate this offering from non-News+ providers such as The Evening Standard, The Independent or BBC News.
Some of these aforementioned providers have very aggressive advertising on their websites so even an advert-free reading experience would have potentially been a benefit, except News+ continues to display adverts, mostly terrible ones, in a way that seemed to maximise the interruption to the reading experience. In contrast, The Guardian app has the option to remove all adverts for £5.99 per month.
News+ also offer a selection of electronic magazines on a wide variety of topics. Some of these magazines are natively formatted for the app which offers a pleasing reading experience on screens both large and small (such as a phone). Sadly the majority I am interested in are just PDFs. Many local libraries (including my own) already offer free access to e-magazine services that include what are termed digital replicas of paper magazines so there is little incentive to subscribe just for the magazines.
Over the Easter break I spent some time making changes to this blog so that the posts from 2004 through to 2014 are displayed in the style in which they were originally posted rather than the current theme. This might seem like an odd thing to do: these old designs do not conform to modern layout standards, nor are they optimised for the typical screen resolutions in use today. However, as I looked through the older posts, some of them had visual oddities where the original formatting had not translated properly to a new theme, and even when the formatting was OK, there was something odd about reading text written 15 years ago but presented in an up-to-date way.
I was able to implement this by creating a directory structure for the older years and populating it with static files for the older posts. The default WordPress configuration means that if these files and directories exist then they are served instead being given to WordPress to render dynamically. The easiest way to generate the static pages is to use the Preload setting of the WordPress Super Cache plugin, then copy the files it generates from
wp-content/cache/supercache to the correct location. Before doing this you should review your theme to make sure that any time-sensitive dynamic content (for example, an instagram feed) is turned off, otherwise the generated pages will remain stuck with today’s content which which may look rather odd in a few months time.
One problem I encountered is that my initial approach broke some of the auto-generated year archive pages (e.g. /tooBusy/2005). The monthly archive pages were produced consistently, but the year ones were sometimes missing. I used the curl command to fill in the missing ones, but it also highlighted that any private posts will no longer appear in these year and month archive pages when you are logged in, although they will be shown in other views such as tags and categories.
Executing this for posts using two older themes, presented a slightly harder problem. I did not want to reconfigure my live website while I experimented with this setup, so I spun up a copy of WordPress on my laptop using Docker and loaded into it a backup of my live website. I then used the WP2Static plugin which, in addition to generating the files, can also post-process them to change any references to the web server running on my laptop to the correct one.
I reviewed many, but not all, of the generated files—if you spot any problems, please let me know. Getting a good quality result using an offline copy of the website took considerably more time and effort than I hoped, but looking through those older posts I am struck by how much better many of them look in their original style, while I find the current theme to be equally good for more recent posts. WordPress continues to offer a first-class writing experience for new posts, and the fact that the same software is still running this blog after 16 years is a triumph of longevity and backwards compatibility. The existence of practical solutions for migrating away from it are just another point in its favour.
Despite its reputation for flashy graphics, macOS has a number of nifty features and shortcuts for terminal users. Here are some of my favourite keyboard shortcuts within the Terminal application itself:
- ⇧⌘a (“shift-cmd-a”) to copy the output of the last command.
- ⇧⌘v (“shift-cmd-v”) to paste the currently selected text.
- ⌃⌘v (“control-cmd-v”) to paste escaped text.
The following keyboard shortcuts work in other applications:
- ⌥⌘c (“option-cmd-c”) in Finder will copy the path to the selected file(s) (via @scriptingosx).
- ⇧⌘. (“shift-cmd-fullstop”) toggles
show hidden files, even in file open/save dialogs (via @howardnoakley).
- ⌃t (“control-t”) transposes the two characters to the left of the cursor (via @eWhizz).
While testing the copy & paste shortcuts in this post, I also discovered—after 15 years of being a Mac user—that Finder has the ability to show the current contents of the clipboard (Edit→Show Clipboard).
A combination of a growing volume of personal media from 24+ megapixel cameras/4k HD video-recording phones, the switch to smaller solid-state internal drives, and the increasing life-span of our desktop computers, means that at some point you are likely to find yourself needing to offload data to an external storage device. Having gone down this path earlier in the year I thought I would share my experiences with the WD My Book Duo.Continue reading “MacOS External Storage Setup”
Our final day at the idyllic Treyarnon Beach in Cornwall saw a dramatic helicopter rescue operation by HM Coastguard, as well as another spectacular sunset.
Since I have recently written about and recommended multiple Extensions for Apple’s Photos.app, I thought I would share a link to this article by the author of the RAW Power application on what happens “under the covers” when using an Extension. It also covers the difference between an Extension and the “Edit With..” functionality. What is happening is far more complex than you might imagine and will probably explain various inconsistent behaviours you may have observed.
An early Easter break saw us enjoying fabulous Cornish beaches (even Australians consider them “proper” beaches!) and the expected variety of British weathers. We had one evening with a beautiful sunset in Treyarnon, and a very cold and blustery blue sky day at Constantine.
In my review of the Blue Coffee Box I observed:
In addition to the quality of the coffee, important considerations include the ability to control the frequency of delivery since even a well-sealed bag will only keep coffee properly fresh for a few weeks. Another factor is how much choice is there over the style of coffee delivered? Does the service allow for some flexibility and choice around that?
To review these aspects of the service I signed up for a subscription. The first decision as whether I would like Light, Medium, or Dark roast, or there was an option to “surprise me” with each bag. Although I had sampled three bags of their coffee already, these had not been categorised in this way so I was unsure which I would prefer and plumped for the Medium option.
The next decision was frequency of delivery: fortnightly, monthly or every two months. Finally, I could choose to pay monthly, or pre-pay for 3, 6 or 12 months. Prepaying for 3 months saves 50p per bag, for 6 months it is £1 per bag. If you go for fortnightly deliveries then prepayment options are 8 and 16 weeks for a 50p and £1 discount accordingly. I placed my order on a Saturday, it was dispatched on the Tuesday and arrived two days later on Thursday. The coffee was again excellent.
The medium roast was exactly as you would expect a medium roast, rich but well-balanced and not over-powering but I remained undecided: am I a light roast or a medium roast subscriber? I decided that the only way to check was to change to a light roast for my next bag. I duly emailed the team at Blue Coffee Box, explained that I was still on the fence, and they were very happy to switch my subscription for my next bag. Their IT systems were not quite as obliging as it inadvertently generated a new order for me and charged my card again, but another email to them saw that swiftly corrected.
Once your subscription is live you can view it on their website and make some amendments, such as switching the pre-pay period, skip your next renewal (the date of which is clearly shown), cancel and add a new subscription. Cancellation seems to be the only way to change the frequency, having first cancelled the existing subscription, hence I had to email them to change from medium to light roast.
Blue Coffee Box offer a great subscription product which is simple and easy to use. The variety of coffee is supplemented by the different roasters used, so every delivery is going to feel like a mini-surprise present to yourself. The downside is that the coffee is only posted to you on a fixed schedule (2, 4 or 8 weeks) so if your coffee consumption does not fit one of those patterns then you will find yourself accumulating a surplus or running short and needing to “top up” from other sources.
The need for flexibility and low-stress stock management is something I think Pact Coffee have solved. I have been using them since 2013 and while their product started off as a weekly or monthly subscription service, their website has evolved to include precise scheduling and handy features like “choose my subscription frequency in days” (mine is 21), and buttons for “skip this delivery” and “ship today” (or “tomorrow” if it is after 1pm). Thus my routine is: realise while making coffee that I have only a few days supply remaining, pull up website on phone while waiting for it to brew, request coffee be posted that afternoon and it generally arrives within two days. Pact also requires you to choose your coffee from a rotating menu of around 6 or 7 they have in stock on any particular day—great if you like a particular coffee and want more of the same—but there is enough turnover that you can probably have something different every time if you prefer too.
A coffee subscription allows you to enjoy, with minimal effort, high quality freshly roasted coffees that you will never find for sale in your local supermarket. As with most subscription products, there are discounts available to tempt new customers so I recommend you try them both using the offers below and decide which style of subscription works best for you. Cheers!
A few months ago I noticed that the home page of this site was taking multiple seconds to load. Common wisdom is that a “good” loading time is under 200ms, and even though a photo blog such as this might be a bit slower than a text-heavy site, multiple seconds is just too long to wait.
The best lead I had as to why this was taking so long was the comment inserted by the WP Super Cache plugin at the bottom of every page recording how long it took to generate in seconds. This was frequently more than 3 seconds which suggested that the problem was either my web server being too slow or a problem with my WordPress setup. Discounting the first as unlikely, I did some reading up on WordPress performance-tuning. The most practical advice was to minimise the number of plugins you use, and turn off each plugin in turn and check the effect on load-time before and after. I use few plugins but had been fond of Flickr Justified Gallery for displaying my Flickr-hosted photographs, and of course this was the culprit. The problem is not the plugin itself but Flickr’s own API—generating each gallery requires a query to Flickr to retrieve the list of photos in the album.
My preferred solution was to host my own images. This blog is 14 years old now and as I learned last year, third party services can disappear or change unexpectedly. Sadly the built-in gallery layout with WordPress 4.x remains an old-fashioned looking grid of square thumbnails that can fail to represent the underlying photograph properly (example). The JetPack add-on comes with a more attractive gallery layout but automatically uploads and serves all your images from their servers, which has its own downsides.
I looked at a number of third-party gallery plugins but anything outside the WordPress core also has the same “third-party risk” as Flickr: the code could stop working in the future, breaking all my old posts. None could also match the slick efficiency of Flickr’s upload workflow for optimising, arranging and captioning images. Fortunately while I was investigating this, WordPress released their new Gutenberg Editor. This comes with a new Gallery, the first version of which was a bit buggy but has the modern look that I wanted, and has improved over the last few months. (At time of writing there remains a bug where clicking on any photo in a gallery displays the first photo in the gallery not the one you clicked on. This is due to be fixed in mid-January.)
Switching to the new gallery improved page-generation times but without Flickr to optimise my images, I need to do this prior to upload to keep page-load times acceptable. This involves a two-step process:
- Use ImageMagick to resize images to no more than 2048 pixels on their longest edge: mogrify -resize 2048x2048 *.jpg (be careful, this changes the original files!)
- Reformat to be progressive JPEGs and apply lossless optimisation. There are a number of tools that can do this but ImageOptim is an efficient open-source drag-and-drop option for MacOS.
The final tweak, as recommended by Google’s PageSpeed Insights tool, was to defer offscreen images. This should make the initial page render faster by not loading images that are not yet viewable, and was already available as part of the Jetpack add-on (Lazy Load Images).