How and why the leap second affected Cloudflare DNS

At midnight UTC on New Year’s Day, deep inside Cloudflare’s custom RRDNS software, a number went negative when it should always have been, at worst, zero. A little later this negative value caused RRDNS to panic. This panic was caught using the recover feature of the Go language. The net effect was that some DNS resolutions to some Cloudflare managed web properties failed.

90 minutes later they had identified the problem and started rolling out a 1-character fix.

How and why the leap second affected Cloudflare DNS →

Zero-config development with Apache’s VirtualDocumentRoot and xip.io

# Use name-based virtual hosting.
NameVirtualHost *:80
UseCanonicalName Off
 
# ~/Sites/ vhost configuration - sends foo.bar.dev to ~/Sites/bar/foo
<VirtualHost *:80>
    VirtualDocumentRoot /Users/dave/Sites/%2/%1
 
    <Directory "/Users/dave/Sites">
        Options Indexes FollowSymLinks MultiViews
        AllowOverride All
        Order allow,deny
        Allow from all
    </Directory>
</VirtualHost>

What that VirtualDocumentRoot does is map the above company and project to the %2 and %1 variables, respectively. So whenever I surf to http://foo.bar.dev, I end up in ~/Sites/bar/foo.

Dave’s a clever man.

Zero-config development with Apache’s VirtualDocumentRoot and xip.io →

xip.io – Wildcard DNS for any IP address.

xip.io is a magic domain name that provides wildcard DNS for any IP address. Say your LAN IP address is 10.0.0.1. Using xip.io:

  • 10.0.0.1.xip.io resolves to 10.0.0.1
  • www.10.0.0.1.xip.io resolves to 10.0.0.1
  • mysite.10.0.0.1.xip.io resolves to 10.0.0.1
  • foo.bar.10.0.0.1.xip.io resolves to 10.0.0.1

…and so on. You can use these domains to access virtual hosts on your development web server from devices on your local network, like iPads, iPhones, and other computers. No configuration required!

Now that’s pure genius! How come no-one else ever thought of that before?

To get this working in MAMP Pro, select your vhost, go to the advanced tab and enter ServerAlias project.*.xip.io in the Customized virtual host general settings-field.

Test it out by surfing to http://project.127.0.0.1.xip.io on your local machine. If for example your IP is 192.168.0.11, you can access it from other machines via http://project.192.168.0.11.xip.io

xip.io →