Helix image switcher

I saw a rotating blinds -style advert outside a fuel station and figured that it would be a flashy way to show a set of images on a web page. The demo is available here, and the source (including a generator shell script) is available in a github repository. This animation uses pure HTML/CSS3 – forget outdated stuff like Flash, there isn’t even any JavaScript in use for this demo!

I may use some variation of this for the images in the gallery viewers over at Kuckian Arts, once more importants tasks for that site have been completed…

You can also trigger the animation via on-mouse-over / on-mouse-leave by using the :hover pseudoclass, the animation direction specifiers, and a single iteration of the animation rather than “infinite” as it currently does. Thanks to CSS3, making those changes is incredibly easy for anyone who wants to.

Dynamic DNS server

This software provides a cheap dynamic DNS solution for anyone with a Linux VPS (or a friend who is willing to share one).

I occasionally want to access my home PC while I’m away from home, but my ISP doesn’t offer static IP addressing.  Thanks to a resurgence in the popularity of virtualisation, servers are extremely cheap to rent nowadays (as little as £3/month).  In addition to the server hosting this website (and others), I run a DNS nameserver (using PowerDNS) on one of my other virtual servers.  With this simple BASH script and a web interface, my server gained dynamic DNS capabilities and allows me to access my home PC despite the varying IP address.

The packaged script and web interface run on the nameserver, and a separate script is run on the target machine (in my case, the home PC), which curl’s the web interface periodically to update the necessary A-record.  It is important for the A-record to have a small TTL value (e.g. 60 seconds), in order to allow updates to propagate through DNS caches at a reasonable speed.  Look at the code for the PHP web interface to understand the syntax for the CURL request.

Rather than leave the home PC on 24/7 and waste electricity, I also created a remote interface to dispatch wake-on-lan packets.

Download: Dynamic DNS scripts
Latest version (github): battlesnake/ddns