In 1977 Queen released “News of the World”, and this year a 40th Anniversary Edition has been released with outtakes, alternative versions of the whole album and more. Here’s the trailer:
I found a playlist on Youtube and it’s great to hear slightly different versions of tracks I know so well but it reminds me that 2 days from now is the anniversary of Freddie Mercury’s death and that makes me sad.
Google knows all, most of the time. However, I know I’m in trouble when I the first link returned by a search for an error message in a widely used piece of software is a commit entry adding test scripts for that and related errors to the software.
So, just in case you run into this problem where Subversion thinks you have deleted a file locally and someone has updated the same file on the Subversion server you should use the following to fix it:
$ svn resolve $ svn revert
Tell “svn resolve” to keep local changes (mc) which means the file will be deleted, and then “svn revert” will revert that delete. You’ll finally be back to a pristine work area.
The RETRO title will be familiar to Speccy owners, as it looks very similar to the title graphic of Crash magazine, another Newsfield publication from long ago.
I had a quick look through the magazine. Not much in the way of C64 games. It did have a bit about the Amiga 500, but the paper felt cheap, and I knew it would only end up collecting dust if I bought it.
John Wick 2 is a movie like a violent shoot-em-up game with a body count approaching that of a typical Call of Duty game. But it’s also got a retro heritage, with old fashioned telephone exchanges, rotary dial telephones and even a venerable Commodore VIC 20.
It’s also a magic computer because it wasn’t even plugged in, and the power light was unlit. It was a hero prop so they should have noticed!
Last September almost 600 employees of Automattic travelled to Whistler in Canada for our annual Grand Meetup. As is now a company tradition a photograph was taken of everyone who attended. It’s a challenge taking a photograph of that many people. Remember how hard it was taking that family photo? The difficulty of getting everyone to look at the camera at the moment the shutter closed, or even just getting everyone in one place is multiplied when you have this number of people.
The last company photo was also taken in Whistler and we took a photo in the that same location again but it wasn’t good enough. The camera wasn’t up high enough, so people in the back were all but invisible in the photo. This photo was taken around the corner, where the photo was taken from a first floor balcony. Plenty of height and a perfect vantage point.
Taking the photo was one challenge, but then came development of the image. The camera had to be handheld because of the location on the balcony but the photographer took plenty of shots so I had a lot of material to work with.
The first issue was lining up the photos and I tried using Affinity Photo. Unfortunately it wasn’t quite up to the job (at least with the knowledge I have, it’s an excellent tool otherwise) but I learned a lot about working with layers and layer masks as I swapped parts of different images around.
Eventually I used Photoshop, loaded 3 photos in a stack and the auto align did a great job of correcting for changes in each photo.
What turned out to be the biggest pain point in developing a photo like this was removing people from the background. Here’s a few of them:
I’m already planning for next year. We’ll get some shots of the background to make it easier to to clone bystanders out, and have more volunteers to help organise the shoot so we make best use of the available space.
WP Super Cache is a full page caching plugin for WordPress. When a page is cached almost all of WordPress is skipped and the page is sent to the browser with the minimum amount of code executed. This makes the page load much faster.
Unfortunately if you want to run code on every page load you’re out of luck as regular WordPress plugins are not loaded or executed. You’ll need to write a WP Super Cache plugin. This short introduction will not teach you how to write plugins but the example plugins that ship with WP Super Cache will get you a long way towards understanding how they work.
WP Super Cache ships with some example plugins in wp-super-cache/plugins/. Some of them even do useful tasks like help with domain mapping and Jetpack integration. There’s one called “awaitingmoderation.php” which removes the text “Your comment is awaiting moderation.” when someone writes a moderated comment.
There’s also dynamic-cache-test.php which is a complicated beast but it’s heavily commented. It allows you to add template tags to your site that are replaced when the cached page is loaded.
Before you get started writing a plugin you should be aware that you should not use the wp-super-cache/plugins/ directory. Every time WP Super Cache is updated this directory is deleted. So, edit your wp-config.php and set $wp_cache_plugins_dir to another directory where you’ll put your plugin.
These plugins run before most of WordPress has loaded. That means you can’t rely on some of the nice features of WordPress such as filters and actions. However, WP Super Cache has it’s own action/filter system that is similar to actions and filters in WordPress:
add_cacheaction( $action, $func )
do_cacheaction( $action, $value = ” )
A cacheaction is also a filter. If you hook on to a cache action that has a parameter, you must return that parameter at the end of the function like you would with a WordPress filter.
If you need to hook into a WordPress filter use the imaginatively named cache action “add_cacheaction”. That runs on “init” so the function that is executed can use add_action() or add_filter(). You can see this in action in the plugins/dynamic-cache-test.php or plugins/awaitingmoderation.php scripts.
Two very useful filters are the WordPress filter, “wpsupercache_buffer” (in wp-cache-phase2.php) that is used to modify the page before it is cached and the cache action “wpsc_cachedata” (in wp-cache-phase1.php) is used to modify the cached page just before it’s served.