Everything, Everything

2024: January February March
2023: J F M A M J J A S O N D
2022: J F M A M J J A S O N D
2021: J F M A M J J A S O N D
2020: J F M A M J J A S O N D
2019: J F M A M J J A S O N D
2018: J F M A M J J A S O N D
2017: J F M A M J J A S O N D
2016: J F M A M J J A S O N D
2015: J F M A M J J A S O N D
2014: J F M A M J J A S O N D
2013: J F M A M J J A S O N D
2012: J F M A M J J A S O N D
2011: J F M A M J J A S O N D
2010: J F M A M J J A S O N D
2009: J F M A M J J A S O N D
2008: J F M A M J J A S O N D
2007: J F M A M J J A S O N D
2006: J F M A M J J A S O N D
2005: J F M A M J J A S O N D
2004: J F M A M J J A S O N D
Cameras Killed Twitter
Saturday 22nd October, 2016 16:09 Comments: 0
Or more specifically, a DDoS attack coming from compromised IP cameras took out Dyn, which is used by Twitter, Spotify, Reddit and many others for DNS. The devices appear to be part of a Mirai-based botnet, which is formed of compromised Internet of Things (IoT) devices.

This explains why Twitter wasn't accessible for a while yesterday, but there were some knock-on effects too. This web site of mine will periodically check Twitter for my latest tweets so they can be displayed on the homepage. Because Twitter was having trouble with their DNS provider, my home page would wait 10 seconds before giving up, which meant a 10 second delay before my web page would be displayed. In theory my site should fall back to a cached copy of my tweets that I store locally in a database (partly for this reason, partly to keep things quick, and partly to limit the bandwidth I use with Twitter). Unfortunately, when the connection failed (as my server couldn't resolve Twitter's domain because of the attack against Dyn) my code threw an exception and I hadn't handled the exception properly (or more specifically, at all). This meant the rest of the page content didn't load, which would result in invalid HTML5 output as I hadn't closed a few tags (e.g. body and html), plus most of the content would be missing. I now handle the exception properly, and if it fails to resolve (after 4 seconds now, as 10 seconds felt like forever) the rest of the page should return properly. I've done some testing and I'm pretty confident all is well now, but hopefully Twitter's DNS won't fail again so I might be fixing a problem that will never happen again.
© Robert Nicholls 2002-2024
The views and opinions expressed on this site do not represent the views of my employer.
HTML5 / CSS3