Files
nexus/sreweekly/articles/120/03-i-crashed-aol-for-19-hours-and-messed-up-global-email-for-a-week.html
2026-09-12 17:23:01 +08:00

3168 lines
166 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<!DOCTYPE html>
<html lang="en-US" dir="ltr" class="resp_fonts">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<script>
window.labClientAPIReady = new Promise(function (resolve) {
document.addEventListener(
'labClientAPIReady',
function () { resolve(window.labClientAPI); },
{ once: true }
);
});
</script>
<script type="module">
import { ClientAPI } from '/view-resources/baseview/public/common/ClientAPI/index.js?v=1789024619-L4';
window.labClientAPI = new ClientAPI({
pageData: {
url: 'https://www.theregister.com/on-prem/2018/04/16/i-crashed-aol-for-19-hours-and-messed-up-global-email-for-a-week/1064289',
pageType: 'article',
pageId: '1064289',
section: 'on_prem',
subsection: '',
title: '\'I crashed AOL for 19 hours and messed up global email for a week\'',
seotitle: '\'I crashed AOL for 19 hours and messed up global email for a week\'',
sometitle: '\'I crashed AOL for 19 hours and messed up global email for a week\'',
description: 'The great AOL outage of 1996, explained by a chap who made it happen',
seodescription: 'The great AOL outage of 1996, explained by a chap who made it happen',
somedescription: 'The great AOL outage of 1996, explained by a chap who made it happen',
device: 'desktop',
cms: 'labrador',
cmsVersion: '4.2.22',
contentLanguage: 'en-US',
published: '2018-04-16T06:51:08.000Z',
modified: '2018-04-22T09:55:16.000Z',
tags: ["on_prem", "on-prem", "who me"],
bylines: ["Simon Sharwood"],
site: {
domain: 'https://www.theregister.com',
id: '2',
alias: 'theregister',
name: 'theregister'
},
paid: 0,
paywall: 'internal'
},
debug: false
});
document.dispatchEvent(new Event('labClientAPIReady'));
</script>
<title>'I crashed AOL for 19 hours and messed up global email for a week'</title>
<meta name="title" content="'I crashed AOL for 19 hours and messed up global email for a week'">
<meta name="description" content="The great AOL outage of 1996, explained by a chap who made it happen">
<link rel="canonical" href="https://www.theregister.com/on-prem/2018/04/16/i-crashed-aol-for-19-hours-and-messed-up-global-email-for-a-week/1064289">
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta property="og:type" content="article">
<meta property="og:title" content="'I crashed AOL for 19 hours and messed up global email for a week'">
<meta property="og:description" content="The great AOL outage of 1996, explained by a chap who made it happen">
<meta property="og:locale" content="en-US">
<meta property="og:site_name" content="theregister">
<meta property="article:published_time" content="2018-04-16T06:51:08.000Z">
<meta property="article:modified_time" content="2018-04-22T09:55:16.000Z">
<meta property="article:author" content="Simon Sharwood">
<meta property="article:tag" content="on_prem">
<meta property="article:tag" content="on-prem">
<meta property="article:tag" content="who me">
<meta property="og:image" content="https://image.theregister.com/259505.jpg?imageId=259505&panox=0&panoy=0&panow=0&panoh=0&width=1200&height=683">
<meta property="og:image:width" content="1200">
<meta property="og:image:height" content="684">
<meta name="twitter:card" content="summary_large_image">
<meta name="twitter:title" content="'I crashed AOL for 19 hours and messed up global email for a week'">
<meta name="twitter:description" content="The great AOL outage of 1996, explained by a chap who made it happen">
<meta name="twitter:image" content="https://image.theregister.com/259505.jpg?imageId=259505&panox=0&panoy=0&panow=0&panoh=0&width=1200&height=683">
<link rel="alternate" type="application/json+oembed" href="https://www.theregister.com/on-prem/2018/04/16/i-crashed-aol-for-19-hours-and-messed-up-global-email-for-a-week/1064289?lab_viewport=oembed">
<script >// OOPS slot definition v2 — same code on all sites, only SITE_KEY changes:
// theregister.com → 'thereg'
// blocksandfiles.com → 'bandf'
// devclass.com → 'devclass'
// nextplatform.com → 'nextplatform'
window.googletag = window.googletag || { cmd: [] };
googletag.cmd.push(function () {
const SITE_KEY = 'thereg'; // CHANGE PER SITE
const context = document.querySelector('meta[property="og:type"]')?.content === "article" ? "article" : "front";
const device = window.Dac.clientData.labDevice === "mobile" ? "mobile" : "desktop";
const bwidth = window.innerWidth || 0;
const test = new URLSearchParams(window.location.search).get('test');
const author = document.querySelector('meta[property="article:author"]')?.content;
const canonicalUrl = document.querySelector("link[rel=canonical]")?.getAttribute("href");
const articleId = canonicalUrl?.split("/").pop();
googletag.setConfig({
targeting: {
device,
...(bwidth && { bwidth: bwidth + '' }),
...(test && { test }),
...(author && { author }),
...(canonicalUrl && { canonicalUrl }),
...(articleId && { articleId }),
}
});
function createOops() {
if (document.getElementById('oops')) return;
const oopsDiv = document.createElement('div');
oopsDiv.id = 'oops';
oopsDiv.style.cssText = 'width:0;height:0;overflow:hidden;';
document.body.prepend(oopsDiv);
}
if (document.body) {
createOops();
} else {
document.addEventListener('DOMContentLoaded', createOops);
}
googletag.defineOutOfPageSlot('/6978/labrador/' + SITE_KEY + '/' + context + '/' + device + '/oops', 'oops')
.addService(googletag.pubads())
.setConfig({ targeting: { is_oops: '1' } });
});</script><script type="module">import { setArticlePagePostCount } from "https://cdn.theregister.com/assets/javascript/forum_post_counts.cade00e6.js";
setArticlePagePostCount();</script><script type="module" src="https://cdn.theregister.com/assets/javascript/article.2d9d928c.js"></script><script >window.dataLayer = window.dataLayer || [];
function gtag(){dataLayer.push(arguments);}
gtag('consent', 'default', {
'analytics_storage': 'granted',
'ad_storage': 'denied',
'ad_user_data': 'denied',
'ad_personalization': 'denied',
'wait_for_update': 500
});
window.googlefc = window.googlefc || {};
window.googlefc.callbackQueue = window.googlefc.callbackQueue || [];
window.googlefc.callbackQueue.push({
'CONSENT_DATA_READY': function() {
if (typeof __tcfapi === 'undefined') return;
__tcfapi('ping', 2, function(pingData) {
if (pingData && pingData.gdprApplies === false) {
gtag('consent', 'update', {
'ad_storage': 'granted',
'ad_user_data': 'granted',
'ad_personalization': 'granted'
});
}
});
}
});</script><script type="module">import { initAccountLink } from "https://cdn.theregister.com/assets/javascript/account_link.9903a027.js";
initAccountLink();</script><script type="module">import { applyDevMode } from "https://cdn.theregister.com/assets/javascript/dev_mode.54481a06.js";
applyDevMode();</script>
<style >.bodytext .column.google-ad.widthFull {
padding-top: 40px;
padding-bottom: 50px;
}
/* Prevents GAM from pushing the footer up automatically */
body {
padding-bottom: 0px !important;
margin-bottom: 0px !important;
}</style>
<link rel="stylesheet" href="https://cdn.theregister.com/assets/css/forum_post_counts.4501b489.css"><link rel="stylesheet" href="https://cdn.theregister.com/assets/css/article.8855f7fa.css"><link rel="stylesheet" href="https://cdn.theregister.com/assets/css/account_link.74f9c2bd.css"><link rel="stylesheet" href="https://cdn.theregister.com/assets/css/labrador_overrides.c9e9a0ef.css">
<script>
const PROVIDER_CONFIG = null
;
if (PROVIDER_CONFIG && !window.__labradorPaywallClientAPIInitialized) {
window.__labradorPaywallClientAPIInitialized = true;
const LOG_PREFIX = '[Paywall:' + PROVIDER_CONFIG.provider + ']';
function checkAuthState() {
if (!window.userStatus) {
return;
}
window.userStatus.verify().then(function() {
var status = window.userStatus.getStatus(PROVIDER_CONFIG.right);
var engagentlyToken = window.userStatus.getEngagently();
if (status >= 2) {
window.labClientAPI.emit('accessGranted', {
provider: PROVIDER_CONFIG.provider,
paid: status,
engagentlyToken: engagentlyToken
});
} else {
var data = { provider: PROVIDER_CONFIG.provider, paid: status || 0 };
if (engagentlyToken) data.engagentlyToken = engagentlyToken;
window.labClientAPI.emit('accessDenied', data);
}
}).catch(function(err) {
window.labClientAPI.emit('accessDenied', { provider: PROVIDER_CONFIG.provider, paid: 0 });
});
}
window.labClientAPIReady.then(function(api) {
api.set(PROVIDER_CONFIG.provider + 'PaywallHelper', {
checkNow: function() { return (window.userStatus && window.userStatus.getStatus(PROVIDER_CONFIG.right)) || 0; },
getStatus: checkAuthState
});
checkAuthState();
});
}
</script>
<meta property="og:url" content="https://www.theregister.com/on-prem/2018/04/16/i-crashed-aol-for-19-hours-and-messed-up-global-email-for-a-week/1064289">
<link type="image/x-icon" rel="icon" href="/view-resources/dachser2/public/theregister/favicons/favicon.ico">
<link type="image/svg+xml" rel="icon" href="/view-resources/dachser2/public/theregister/favicons/favicon.svg">
<link type="image/png" rel="icon" sizes="16x16" href="/view-resources/dachser2/public/theregister/favicons/favicon-16x16.png">
<link type="image/png" rel="icon" sizes="32x32" href="/view-resources/dachser2/public/theregister/favicons/favicon-32x32.png">
<link type="image/png" rel="icon" sizes="48x48" href="/view-resources/dachser2/public/theregister/favicons/favicon-48x48.png">
<link type="image/png" rel="icon" sizes="96x96" href="/view-resources/dachser2/public/theregister/favicons/favicon-96x96.png">
<link type="image/png" rel="icon" sizes="192x192" href="/view-resources/dachser2/public/theregister/favicons/web-app-manifest-192x192.png">
<link type="image/png" rel="icon" sizes="512x512" href="/view-resources/dachser2/public/theregister/favicons/web-app-manifest-512x512.png">
<link type="image/png" rel="apple-touch-icon" sizes="180x180" href="/view-resources/dachser2/public/theregister/favicons/apple-touch-icon.png">
<link rel="manifest" href=/view-resources/dachser2/public/theregister/favicons/manifest.json />
<link href="https://fonts.googleapis.com/css?family=Merriweather:300,400,700,900" rel="stylesheet" media="print" onload="this.media='all'" >
<link rel="stylesheet" href="/view-resources/view/css/grid.css?v=1789024619-L4">
<link rel="stylesheet" href="/view-resources/view/css/main.css?v=1789024619-L4">
<link rel="stylesheet" href="/view-resources/view/css/colors.css?v=1789024619-L4">
<link rel="stylesheet" href="/view-resources/view/css/print.css?v=1789024619-L4" media="print">
<link rel="stylesheet" href="/view-resources/view/css/foundation-icons/foundation-icons.css?v=1789024619-L4">
<link rel="stylesheet" href="/view-resources/view/css/site/theregister.css?v=1789024619-L4">
<style data-key="custom_properties">
:root{--primary: rgba(0,0,0,1);--secondary: rgba(255,255,255,1);--tertiary: rgba(214,0,0,1);--quaternary: rgba(0,0,0,1);--bg-secondary: rgba(255,255,255,1);--bg-tertiary: rgba(239,239,239,1);--bg-quaternary: rgba(0,0,0,1);--bg-quinary: rgba(22,22,22,1);--bg-senary: rgba(255,235,235,1);--bg-septenary: rgba(214,0,0,1);--bg-octonary: rgba(248,248,248,1);--bg-nonary: rgba(208, 200, 200, 1);--bg-primary: rgba(255,0,0,1);--bg-septenary-light: rgba(230,102,102,1);--bg-septenary-dark: rgba(150,0,0,1);--bg-nonary-light: rgba(227,222,222,1);--bg-nonary-dark: rgba(146,140,140,1);}
</style>
<style data-key="background_colors">
.bg-secondary {background-color: rgba(255,255,255,1);}.bg-tertiary {background-color: rgba(239,239,239,1);}.bg-quaternary {background-color: rgba(0,0,0,1);color: #fff;}.bg-quinary {background-color: rgba(22,22,22,1);color: #fff;}.bg-senary {background-color: rgba(255,235,235,1);}.bg-septenary {background-color: rgba(214,0,0,1);color: #fff;}.bg-octonary {background-color: rgba(248,248,248,1);}.bg-nonary {background-color: rgba(208, 200, 200, 1);}.bg-primary {background-color: rgba(255,0,0,1);color: #fff;}.bg-septenary-light {background-color: rgba(230,102,102,1);}.bg-septenary-dark {background-color: rgba(150,0,0,1);color: #fff;}.bg-nonary-light {background-color: rgba(227,222,222,1);}.bg-nonary-dark {background-color: rgba(146,140,140,1);}@media (max-width: 1023px) { .color_mobile_bg-secondary {background-color: rgba(255,255,255,1);}}@media (max-width: 1023px) { .color_mobile_bg-tertiary {background-color: rgba(239,239,239,1);}}@media (max-width: 1023px) { .color_mobile_bg-quaternary {background-color: rgba(0,0,0,1);color: #fff;}}@media (max-width: 1023px) { .color_mobile_bg-quinary {background-color: rgba(22,22,22,1);color: #fff;}}@media (max-width: 1023px) { .color_mobile_bg-senary {background-color: rgba(255,235,235,1);}}@media (max-width: 1023px) { .color_mobile_bg-septenary {background-color: rgba(214,0,0,1);color: #fff;}}@media (max-width: 1023px) { .color_mobile_bg-octonary {background-color: rgba(248,248,248,1);}}@media (max-width: 1023px) { .color_mobile_bg-nonary {background-color: rgba(208, 200, 200, 1);}}@media (max-width: 1023px) { .color_mobile_bg-primary {background-color: rgba(255,0,0,1);color: #fff;}}@media (max-width: 1023px) { .color_mobile_bg-septenary-light {background-color: rgba(230,102,102,1);}}@media (max-width: 1023px) { .color_mobile_bg-septenary-dark {background-color: rgba(150,0,0,1);color: #fff;}}@media (max-width: 1023px) { .color_mobile_bg-nonary-light {background-color: rgba(227,222,222,1);}}@media (max-width: 1023px) { .color_mobile_bg-nonary-dark {background-color: rgba(146,140,140,1);}}
</style>
<style data-key="background_colors_opacity">
.bg-secondary.op-bg_20 {background-color: rgba(255, 255, 255, 0.2);}.bg-secondary.op-bg_40 {background-color: rgba(255, 255, 255, 0.4);}.bg-secondary.op-bg_60 {background-color: rgba(255, 255, 255, 0.6);}.bg-secondary.op-bg_80 {background-color: rgba(255, 255, 255, 0.8);}.bg-tertiary.op-bg_20 {background-color: rgba(239, 239, 239, 0.2);}.bg-tertiary.op-bg_40 {background-color: rgba(239, 239, 239, 0.4);}.bg-tertiary.op-bg_60 {background-color: rgba(239, 239, 239, 0.6);}.bg-tertiary.op-bg_80 {background-color: rgba(239, 239, 239, 0.8);}.bg-quaternary.op-bg_20 {background-color: rgba(0, 0, 0, 0.2);color: #fff;}.bg-quaternary.op-bg_40 {background-color: rgba(0, 0, 0, 0.4);color: #fff;}.bg-quaternary.op-bg_60 {background-color: rgba(0, 0, 0, 0.6);color: #fff;}.bg-quaternary.op-bg_80 {background-color: rgba(0, 0, 0, 0.8);color: #fff;}.bg-quinary.op-bg_20 {background-color: rgba(22, 22, 22, 0.2);color: #fff;}.bg-quinary.op-bg_40 {background-color: rgba(22, 22, 22, 0.4);color: #fff;}.bg-quinary.op-bg_60 {background-color: rgba(22, 22, 22, 0.6);color: #fff;}.bg-quinary.op-bg_80 {background-color: rgba(22, 22, 22, 0.8);color: #fff;}.bg-senary.op-bg_20 {background-color: rgba(255, 235, 235, 0.2);}.bg-senary.op-bg_40 {background-color: rgba(255, 235, 235, 0.4);}.bg-senary.op-bg_60 {background-color: rgba(255, 235, 235, 0.6);}.bg-senary.op-bg_80 {background-color: rgba(255, 235, 235, 0.8);}.bg-septenary.op-bg_20 {background-color: rgba(214, 0, 0, 0.2);color: #fff;}.bg-septenary.op-bg_40 {background-color: rgba(214, 0, 0, 0.4);color: #fff;}.bg-septenary.op-bg_60 {background-color: rgba(214, 0, 0, 0.6);color: #fff;}.bg-septenary.op-bg_80 {background-color: rgba(214, 0, 0, 0.8);color: #fff;}.bg-octonary.op-bg_20 {background-color: rgba(248, 248, 248, 0.2);}.bg-octonary.op-bg_40 {background-color: rgba(248, 248, 248, 0.4);}.bg-octonary.op-bg_60 {background-color: rgba(248, 248, 248, 0.6);}.bg-octonary.op-bg_80 {background-color: rgba(248, 248, 248, 0.8);}.bg-nonary.op-bg_20 {background-color: rgba(208, 200, 200, 0.2);}.bg-nonary.op-bg_40 {background-color: rgba(208, 200, 200, 0.4);}.bg-nonary.op-bg_60 {background-color: rgba(208, 200, 200, 0.6);}.bg-nonary.op-bg_80 {background-color: rgba(208, 200, 200, 0.8);}.bg-primary.op-bg_20 {background-color: rgba(255, 0, 0, 0.2);color: #fff;}.bg-primary.op-bg_40 {background-color: rgba(255, 0, 0, 0.4);color: #fff;}.bg-primary.op-bg_60 {background-color: rgba(255, 0, 0, 0.6);color: #fff;}.bg-primary.op-bg_80 {background-color: rgba(255, 0, 0, 0.8);color: #fff;}.bg-septenary-light.op-bg_20 {background-color: rgba(230, 102, 102, 0.2);}.bg-septenary-light.op-bg_40 {background-color: rgba(230, 102, 102, 0.4);}.bg-septenary-light.op-bg_60 {background-color: rgba(230, 102, 102, 0.6);}.bg-septenary-light.op-bg_80 {background-color: rgba(230, 102, 102, 0.8);}.bg-septenary-dark.op-bg_20 {background-color: rgba(150, 0, 0, 0.2);color: #fff;}.bg-septenary-dark.op-bg_40 {background-color: rgba(150, 0, 0, 0.4);color: #fff;}.bg-septenary-dark.op-bg_60 {background-color: rgba(150, 0, 0, 0.6);color: #fff;}.bg-septenary-dark.op-bg_80 {background-color: rgba(150, 0, 0, 0.8);color: #fff;}.bg-nonary-light.op-bg_20 {background-color: rgba(227, 222, 222, 0.2);}.bg-nonary-light.op-bg_40 {background-color: rgba(227, 222, 222, 0.4);}.bg-nonary-light.op-bg_60 {background-color: rgba(227, 222, 222, 0.6);}.bg-nonary-light.op-bg_80 {background-color: rgba(227, 222, 222, 0.8);}.bg-nonary-dark.op-bg_20 {background-color: rgba(146, 140, 140, 0.2);}.bg-nonary-dark.op-bg_40 {background-color: rgba(146, 140, 140, 0.4);}.bg-nonary-dark.op-bg_60 {background-color: rgba(146, 140, 140, 0.6);}.bg-nonary-dark.op-bg_80 {background-color: rgba(146, 140, 140, 0.8);}@media (max-width: 1023px) { .color_mobile_bg-secondary.op-bg_20 {background-color: rgba(255, 255, 255, 0.2);}}@media (max-width: 1023px) { .color_mobile_bg-secondary.op-bg_40 {background-color: rgba(255, 255, 255, 0.4);}}@media (max-width: 1023px) { .color_mobile_bg-secondary.op-bg_60 {background-color: rgba(255, 255, 255, 0.6);}}@media (max-width: 1023px) { .color_mobile_bg-secondary.op-bg_80 {background-color: rgba(255, 255, 255, 0.8);}}@media (max-width: 1023px) { .color_mobile_bg-tertiary.op-bg_20 {background-color: rgba(239, 239, 239, 0.2);}}@media (max-width: 1023px) { .color_mobile_bg-tertiary.op-bg_40 {background-color: rgba(239, 239, 239, 0.4);}}@media (max-width: 1023px) { .color_mobile_bg-tertiary.op-bg_60 {background-color: rgba(239, 239, 239, 0.6);}}@media (max-width: 1023px) { .color_mobile_bg-tertiary.op-bg_80 {background-color: rgba(239, 239, 239, 0.8);}}@media (max-width: 1023px) { .color_mobile_bg-quaternary.op-bg_20 {background-color: rgba(0, 0, 0, 0.2);color: #fff;}}@media (max-width: 1023px) { .color_mobile_bg-quaternary.op-bg_40 {background-color: rgba(0, 0, 0, 0.4);color: #fff;}}@media (max-width: 1023px) { .color_mobile_bg-quaternary.op-bg_60 {background-color: rgba(0, 0, 0, 0.6);color: #fff;}}@media (max-width: 1023px) { .color_mobile_bg-quaternary.op-bg_80 {background-color: rgba(0, 0, 0, 0.8);color: #fff;}}@media (max-width: 1023px) { .color_mobile_bg-quinary.op-bg_20 {background-color: rgba(22, 22, 22, 0.2);color: #fff;}}@media (max-width: 1023px) { .color_mobile_bg-quinary.op-bg_40 {background-color: rgba(22, 22, 22, 0.4);color: #fff;}}@media (max-width: 1023px) { .color_mobile_bg-quinary.op-bg_60 {background-color: rgba(22, 22, 22, 0.6);color: #fff;}}@media (max-width: 1023px) { .color_mobile_bg-quinary.op-bg_80 {background-color: rgba(22, 22, 22, 0.8);color: #fff;}}@media (max-width: 1023px) { .color_mobile_bg-senary.op-bg_20 {background-color: rgba(255, 235, 235, 0.2);}}@media (max-width: 1023px) { .color_mobile_bg-senary.op-bg_40 {background-color: rgba(255, 235, 235, 0.4);}}@media (max-width: 1023px) { .color_mobile_bg-senary.op-bg_60 {background-color: rgba(255, 235, 235, 0.6);}}@media (max-width: 1023px) { .color_mobile_bg-senary.op-bg_80 {background-color: rgba(255, 235, 235, 0.8);}}@media (max-width: 1023px) { .color_mobile_bg-septenary.op-bg_20 {background-color: rgba(214, 0, 0, 0.2);color: #fff;}}@media (max-width: 1023px) { .color_mobile_bg-septenary.op-bg_40 {background-color: rgba(214, 0, 0, 0.4);color: #fff;}}@media (max-width: 1023px) { .color_mobile_bg-septenary.op-bg_60 {background-color: rgba(214, 0, 0, 0.6);color: #fff;}}@media (max-width: 1023px) { .color_mobile_bg-septenary.op-bg_80 {background-color: rgba(214, 0, 0, 0.8);color: #fff;}}@media (max-width: 1023px) { .color_mobile_bg-octonary.op-bg_20 {background-color: rgba(248, 248, 248, 0.2);}}@media (max-width: 1023px) { .color_mobile_bg-octonary.op-bg_40 {background-color: rgba(248, 248, 248, 0.4);}}@media (max-width: 1023px) { .color_mobile_bg-octonary.op-bg_60 {background-color: rgba(248, 248, 248, 0.6);}}@media (max-width: 1023px) { .color_mobile_bg-octonary.op-bg_80 {background-color: rgba(248, 248, 248, 0.8);}}@media (max-width: 1023px) { .color_mobile_bg-nonary.op-bg_20 {background-color: rgba(208, 200, 200, 0.2);}}@media (max-width: 1023px) { .color_mobile_bg-nonary.op-bg_40 {background-color: rgba(208, 200, 200, 0.4);}}@media (max-width: 1023px) { .color_mobile_bg-nonary.op-bg_60 {background-color: rgba(208, 200, 200, 0.6);}}@media (max-width: 1023px) { .color_mobile_bg-nonary.op-bg_80 {background-color: rgba(208, 200, 200, 0.8);}}@media (max-width: 1023px) { .color_mobile_bg-primary.op-bg_20 {background-color: rgba(255, 0, 0, 0.2);color: #fff;}}@media (max-width: 1023px) { .color_mobile_bg-primary.op-bg_40 {background-color: rgba(255, 0, 0, 0.4);color: #fff;}}@media (max-width: 1023px) { .color_mobile_bg-primary.op-bg_60 {background-color: rgba(255, 0, 0, 0.6);color: #fff;}}@media (max-width: 1023px) { .color_mobile_bg-primary.op-bg_80 {background-color: rgba(255, 0, 0, 0.8);color: #fff;}}@media (max-width: 1023px) { .color_mobile_bg-septenary-light.op-bg_20 {background-color: rgba(230, 102, 102, 0.2);}}@media (max-width: 1023px) { .color_mobile_bg-septenary-light.op-bg_40 {background-color: rgba(230, 102, 102, 0.4);}}@media (max-width: 1023px) { .color_mobile_bg-septenary-light.op-bg_60 {background-color: rgba(230, 102, 102, 0.6);}}@media (max-width: 1023px) { .color_mobile_bg-septenary-light.op-bg_80 {background-color: rgba(230, 102, 102, 0.8);}}@media (max-width: 1023px) { .color_mobile_bg-septenary-dark.op-bg_20 {background-color: rgba(150, 0, 0, 0.2);color: #fff;}}@media (max-width: 1023px) { .color_mobile_bg-septenary-dark.op-bg_40 {background-color: rgba(150, 0, 0, 0.4);color: #fff;}}@media (max-width: 1023px) { .color_mobile_bg-septenary-dark.op-bg_60 {background-color: rgba(150, 0, 0, 0.6);color: #fff;}}@media (max-width: 1023px) { .color_mobile_bg-septenary-dark.op-bg_80 {background-color: rgba(150, 0, 0, 0.8);color: #fff;}}@media (max-width: 1023px) { .color_mobile_bg-nonary-light.op-bg_20 {background-color: rgba(227, 222, 222, 0.2);}}@media (max-width: 1023px) { .color_mobile_bg-nonary-light.op-bg_40 {background-color: rgba(227, 222, 222, 0.4);}}@media (max-width: 1023px) { .color_mobile_bg-nonary-light.op-bg_60 {background-color: rgba(227, 222, 222, 0.6);}}@media (max-width: 1023px) { .color_mobile_bg-nonary-light.op-bg_80 {background-color: rgba(227, 222, 222, 0.8);}}@media (max-width: 1023px) { .color_mobile_bg-nonary-dark.op-bg_20 {background-color: rgba(146, 140, 140, 0.2);}}@media (max-width: 1023px) { .color_mobile_bg-nonary-dark.op-bg_40 {background-color: rgba(146, 140, 140, 0.4);}}@media (max-width: 1023px) { .color_mobile_bg-nonary-dark.op-bg_60 {background-color: rgba(146, 140, 140, 0.6);}}@media (max-width: 1023px) { .color_mobile_bg-nonary-dark.op-bg_80 {background-color: rgba(146, 140, 140, 0.8);}}
</style>
<style data-key="border_colors">
.border-bg-secondary{--border-color: var(--bg-secondary);}.mobile_border-bg-secondary{--mobile-border-color: var(--bg-secondary);}.border-bg-tertiary{--border-color: var(--bg-tertiary);}.mobile_border-bg-tertiary{--mobile-border-color: var(--bg-tertiary);}.border-bg-quaternary{--border-color: var(--bg-quaternary);}.mobile_border-bg-quaternary{--mobile-border-color: var(--bg-quaternary);}.border-bg-quinary{--border-color: var(--bg-quinary);}.mobile_border-bg-quinary{--mobile-border-color: var(--bg-quinary);}.border-bg-senary{--border-color: var(--bg-senary);}.mobile_border-bg-senary{--mobile-border-color: var(--bg-senary);}.border-bg-septenary{--border-color: var(--bg-septenary);}.mobile_border-bg-septenary{--mobile-border-color: var(--bg-septenary);}.border-bg-octonary{--border-color: var(--bg-octonary);}.mobile_border-bg-octonary{--mobile-border-color: var(--bg-octonary);}.border-bg-nonary{--border-color: var(--bg-nonary);}.mobile_border-bg-nonary{--mobile-border-color: var(--bg-nonary);}.border-bg-primary{--border-color: var(--bg-primary);}.mobile_border-bg-primary{--mobile-border-color: var(--bg-primary);}.border-bg-septenary-light{--border-color: var(--bg-septenary-light);}.mobile_border-bg-septenary-light{--mobile-border-color: var(--bg-septenary-light);}.border-bg-septenary-dark{--border-color: var(--bg-septenary-dark);}.mobile_border-bg-septenary-dark{--mobile-border-color: var(--bg-septenary-dark);}.border-bg-nonary-light{--border-color: var(--bg-nonary-light);}.mobile_border-bg-nonary-light{--mobile-border-color: var(--bg-nonary-light);}.border-bg-nonary-dark{--border-color: var(--bg-nonary-dark);}.mobile_border-bg-nonary-dark{--mobile-border-color: var(--bg-nonary-dark);}
</style>
<style data-key="font_colors">
.primary {color: rgba(0,0,0,1) !important;}.secondary {color: rgba(255,255,255,1) !important;}.tertiary {color: rgba(214,0,0,1) !important;}.quaternary {color: rgba(0,0,0,1) !important;}@media (max-width: 1023px) { .color_mobile_primary {color: rgba(0,0,0,1) !important;}}@media (max-width: 1023px) { .color_mobile_secondary {color: rgba(255,255,255,1) !important;}}@media (max-width: 1023px) { .color_mobile_tertiary {color: rgba(214,0,0,1) !important;}}@media (max-width: 1023px) { .color_mobile_quaternary {color: rgba(0,0,0,1) !important;}}
</style>
<style data-key="image_gradient">
.image-gradient-bg-secondary{--background-color: var(--bg-secondary);}.color_mobile_image-gradient-bg-secondary{--mobile-background-color: var(--bg-secondary);}.image-gradient-bg-tertiary{--background-color: var(--bg-tertiary);}.color_mobile_image-gradient-bg-tertiary{--mobile-background-color: var(--bg-tertiary);}.image-gradient-bg-quaternary{--background-color: var(--bg-quaternary);}.color_mobile_image-gradient-bg-quaternary{--mobile-background-color: var(--bg-quaternary);}.image-gradient-bg-quinary{--background-color: var(--bg-quinary);}.color_mobile_image-gradient-bg-quinary{--mobile-background-color: var(--bg-quinary);}.image-gradient-bg-senary{--background-color: var(--bg-senary);}.color_mobile_image-gradient-bg-senary{--mobile-background-color: var(--bg-senary);}.image-gradient-bg-septenary{--background-color: var(--bg-septenary);}.color_mobile_image-gradient-bg-septenary{--mobile-background-color: var(--bg-septenary);}.image-gradient-bg-octonary{--background-color: var(--bg-octonary);}.color_mobile_image-gradient-bg-octonary{--mobile-background-color: var(--bg-octonary);}.image-gradient-bg-nonary{--background-color: var(--bg-nonary);}.color_mobile_image-gradient-bg-nonary{--mobile-background-color: var(--bg-nonary);}.image-gradient-bg-primary{--background-color: var(--bg-primary);}.color_mobile_image-gradient-bg-primary{--mobile-background-color: var(--bg-primary);}.image-gradient-bg-septenary-light{--background-color: var(--bg-septenary-light);}.color_mobile_image-gradient-bg-septenary-light{--mobile-background-color: var(--bg-septenary-light);}.image-gradient-bg-septenary-dark{--background-color: var(--bg-septenary-dark);}.color_mobile_image-gradient-bg-septenary-dark{--mobile-background-color: var(--bg-septenary-dark);}.image-gradient-bg-nonary-light{--background-color: var(--bg-nonary-light);}.color_mobile_image-gradient-bg-nonary-light{--mobile-background-color: var(--bg-nonary-light);}.image-gradient-bg-nonary-dark{--background-color: var(--bg-nonary-dark);}.color_mobile_image-gradient-bg-nonary-dark{--mobile-background-color: var(--bg-nonary-dark);}
</style>
<style data-key="custom_css_variables">
:root {
--lab_page_width: 1200px;
--lab_columns_gutter: 11px;
--lab_focus_ring_color: #005fcc;
--lab_social_hover_color: #008cba;
--space-top: 0;
--space-top-adnuntiusAd: ;
}
@media(max-width: 767px) {
:root {
--lab_columns_gutter: 10px;
}
}
@media(min-width: 767px) {
:root {
}
}
</style>
<script src="/view-resources/public/common/JWTCookie.js?v=1789024619-L4"></script>
<script src="/view-resources/public/common/Paywall.js?v=1789024619-L4"></script>
<script>
window.Dac = window.Dac || {};
(function () {
if (navigator) {
window.Dac.clientData = {
language: navigator.language,
userAgent: navigator.userAgent,
innerWidth: window.innerWidth,
innerHeight: window.innerHeight,
deviceByMediaQuery: getDeviceByMediaQuery(),
labDevice: 'desktop', // Device from labrador
device: 'desktop', // Device from varnish
paywall: {
isAuthenticated: isPaywallAuthenticated(),
toggleAuthenticatedContent: toggleAuthenticatedContent,
requiredProducts: [],
},
page: {
id: '1064289',
extId: 'theregister-195829'
},
siteAlias: 'theregister',
debug: window.location.href.includes('debug=1')
};
function getDeviceByMediaQuery() {
if (window.matchMedia('(max-width: 767px)').matches) return 'mobile';
if (window.matchMedia('(max-width: 1023px)').matches) return 'tablet';
return 'desktop';
}
function isPaywallAuthenticated() {
if (window.Dac && window.Dac.JWTCookie) {
var JWTCookie = new Dac.JWTCookie({ debug: false });
return JWTCookie.isAuthenticated();
}
return false;
}
function toggleAuthenticatedContent(settings) {
if (!window.Dac || !window.Dac.Paywall) {
return;
}
var Paywall = new Dac.Paywall();
var updateDOM = Paywall.updateDOM;
if(settings && settings.displayUserName) {
var userName = Paywall.getUserName().then((userName) => {
updateDOM(userName !== false, userName, settings.optionalGreetingText);
});
} else {
updateDOM(window.Dac.clientData.paywall.isAuthenticated);
}
}
}
}());
</script>
<script type="module" src="/view-resources/baseview/public/common/baseview/moduleHandlers.js?v=1789024619-L4" data-cookieconsent="ignore"></script>
<!-- DataLayer -->
<script>
var dataLayerData = {};
dataLayerData['id'] = '1064289';
dataLayerData['title'] = '\'I crashed AOL for 19 hours and messed up global email for a week\'';
dataLayerData['subtitle'] = 'The great AOL outage of 1996, explained by a chap who made it happen';
dataLayerData['kicker'] = 'On-Prem';
dataLayerData['created_by'] = '15';
dataLayerData['created_by_name'] = 'Inglis, James';
dataLayerData['page_template_alias'] = 'default';
dataLayerData['published'] = '1523861468';
dataLayerData['published_url'] = '/on-prem/2018/04/16/i-crashed-aol-for-19-hours-and-messed-up-global-email-for-a-week/1064289';
dataLayerData['tags'] = 'on_prem,on-prem,who me';
dataLayerData['modified'] = '1524390916';
dataLayerData['article_authors'] = 'Simon Sharwood';
dataLayerData['testfield'] = 'testvalue';
dataLayerData['section'] = 'on_prem';
dataLayerData['original_url'] = 'https://www.theregister.com/2018/04/16/who_me/';
dataLayerData['type'] = 'page_article';
dataLayer = [dataLayerData];
</script><!-- Google Tag Manager -->
<script>
window.dataLayer = window.dataLayer || [];
</script>
<script>(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':
new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],
j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src=
'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);
})(window,document,'script','dataLayer','GTM-KVXB44');</script>
<script async src="https://securepubads.g.doubleclick.net/tag/js/gpt.js"></script>
<script>
window.googletag = window.googletag || {cmd: []};
googletag.cmd.push(function() {
var handleAsTablet = (Dac.clientData.device === 'tablet' || Dac.clientData.innerWidth < 1316);
if (!(handleAsTablet && '' === 'true')) {
googletag
.defineSlot('/6978/labrador/thereg/article/desktop/a', [[728,90], [970,90], [970,250], [970,280], [1200,250], [1200,270], [728,91], [970,251], [1200,271], [970,91]], 'labrador/thereg/article/desktop/a')
.addService(googletag.pubads());
}
if (!(handleAsTablet && '' === 'true')) {
googletag
.defineSlot('/6978/labrador/thereg/article/desktop/f', [[728,90], [970,90], [970,250], [970,280], [1200,250], [1200,270], [728,96], [970,256], [1200,276], [970,96], [1200,600], [970,254], [728,94], [970,94], [300,254], [1200,274]], 'labrador/thereg/article/desktop/f')
.addService(googletag.pubads());
}
if (!(handleAsTablet && '' === 'true')) {
googletag
.defineSlot('/6978/labrador/thereg/article/desktop/b', [[728,90], [970,90], [970,250], [970,280], [1200,250], [1200,270], [1200,600], [728,92], [970,252], [1200,272], [970,92], [1200,602]], 'labrador/thereg/article/desktop/b')
.addService(googletag.pubads());
}
if (!(handleAsTablet && '' === 'true')) {
googletag
.defineSlot('/6978/labrador/thereg/article/desktop/c', [[300,250], [300,600], [300,253], [300,603]], 'labrador/thereg/article/desktop/c')
.addService(googletag.pubads());
}
if (!(handleAsTablet && '' === 'true')) {
googletag
.defineSlot('/6978/labrador/thereg/article/desktop/d', [[300,250], [300,254]], 'labrador/thereg/article/desktop/d')
.addService(googletag.pubads());
}
if (!(handleAsTablet && '' === 'true')) {
googletag
.defineSlot('/6978/labrador/thereg/article/desktop/e', [[300,250], [300,255]], 'labrador/thereg/article/desktop/e')
.addService(googletag.pubads());
}
var pageTargeting = {
env: "prod",
site: "theregister",
section: "on_prem",
context: "article"
};
pageTargeting.tags = "on_prem,on-prem,who me";
googletag.setConfig({ targeting: pageTargeting });
var useLazyLoading = true || false;
if (useLazyLoading) {
googletag.setConfig({
lazyLoad: {
fetchMarginPercent: 200 || 150, // Fetch ad content when it is within 1.5 viewports of the visible area
renderMarginPercent: 150 || 150, // Render ads when they are within 1.5 viewports of the visible area
mobileScaling: 2 || 2.0 // Scale the above values by 2.0 on mobile devices to account for slower connections and rendering times
}
});
}
googletag.setConfig({ singleRequest: true });
googletag.setConfig({ collapseDiv: "ON_NO_FILL" });
googletag.enableServices();
});
</script>
<link href="https://fonts.googleapis.com/css?family=Roboto:regular,italic,700,900,600" rel="stylesheet" media="print" onload="this.media='all'" >
<link href="https://fonts.googleapis.com/css?family=Roboto+Condensed:regular,italic,700,900" rel="stylesheet" media="print" onload="this.media='all'" >
<link href="https://fonts.googleapis.com/css?family=Roboto+Flex:regular" rel="stylesheet" media="print" onload="this.media='all'" >
<link href="https://fonts.googleapis.com/css?family=Roboto+Mono:regular,100,200,300,100italic,300italic,200italic,500,italic,500italic,700,600,600italic,700italic" rel="stylesheet" media="print" onload="this.media='all'" >
<style id="dachser-vieweditor-styles">
header#nav, header.pageHeader { font-family: "Roboto"; font-weight: normal; font-style: normal; text-transform: none; letter-spacing: normal; color: #000000; }
.articleList .article-list-title { font-family: "Roboto"; font-weight: normal; font-style: normal; font-size: 1.1875rem; text-transform: none; letter-spacing: normal; }
.pageHeader .search .search-container input[type=text]::placeholder { font-family: "Roboto"; font-weight: normal; font-style: normal; text-transform: none; letter-spacing: normal; }
.bodytext { font-family: "Roboto"; font-weight: normal; font-style: normal; font-size: 1.125rem; text-transform: none; letter-spacing: normal; }@media (max-width: 767px) { .resp_fonts .bodytext {font-size: calc(0.262vw * 16); } }
.articleHeader .headline { font-family: "Roboto"; font-weight: 700; font-style: normal; font-size: 2.75rem; text-transform: none; letter-spacing: normal; }@media (max-width: 767px) { .resp_fonts .articleHeader .headline {font-size: calc(0.262vw * 24); } }
article.column .content .headline { font-family: "Roboto"; font-weight: 700; font-style: normal; font-size: 1.5rem; text-transform: none; letter-spacing: normal; }@media (max-width: 767px) { .resp_fonts article.column .content .headline {font-size: calc(0.262vw * 20); } }
.byline .name { font-family: "Roboto Mono"; font-weight: normal; font-style: normal; font-size: 0.8125rem; text-transform: none; letter-spacing: normal; color: #000000; }@media (max-width: 767px) { .resp_fonts .byline .name {font-size: calc(0.262vw * 13); } }
.articleHeader .subtitle { font-family: "Roboto"; font-weight: normal; font-style: normal; text-transform: none; letter-spacing: normal; }@media (max-width: 767px) { .resp_fonts .articleHeader .subtitle {font-size: calc(0.262vw * 16); } }
article.column .content .subtitle { font-family: "Roboto"; font-weight: normal; font-style: normal; text-transform: none; letter-spacing: normal; }
.byline .name .description { font-family: "Roboto Mono"; font-weight: normal; font-style: normal; text-transform: none; letter-spacing: normal; }
.byline .extended_description { font-family: "Roboto Mono"; font-weight: normal; font-style: normal; text-transform: none; letter-spacing: normal; }
article .bodytext figure .caption { font-family: "Roboto Condensed"; font-weight: normal; font-style: normal; text-transform: none; letter-spacing: normal; }
article .articleHeader .caption { font-family: "Roboto Condensed"; font-weight: normal; font-style: normal; text-transform: none; letter-spacing: normal; }
article .meta .dates { font-family: "Roboto Mono"; font-weight: normal; font-style: normal; font-size: 0.75rem; text-transform: none; letter-spacing: normal; }@media (max-width: 767px) { .resp_fonts article .meta .dates {font-size: calc(0.262vw * 12); } }
article .meta .dates .dateLabel { font-family: "Roboto Mono"; font-weight: normal; font-style: normal; font-size: 0.75rem; text-transform: none; letter-spacing: normal; }@media (max-width: 767px) { .resp_fonts article .meta .dates .dateLabel {font-size: calc(0.262vw * 12); } }
.articleFooter .tags a { font-family: "Roboto Mono"; font-weight: normal; font-style: normal; text-transform: uppercase; letter-spacing: normal; }
body { font-family: "Roboto"; font-weight: normal; font-style: normal; line-height: 1.6; text-transform: none; letter-spacing: normal; }
.articleList .article-list-title { font-family: "Roboto"; font-weight: normal; font-style: normal; font-size: 1rem; text-transform: none; letter-spacing: normal; }@media (max-width: 767px) { .resp_fonts .articleList .article-list-title {font-size: calc(0.262vw * 16); } }
.articleList ul li a .al-title { font-family: "Roboto"; font-weight: normal; font-style: normal; font-size: 1rem; text-transform: none; letter-spacing: normal; }@media (max-width: 767px) { .resp_fonts .articleList ul li a .al-title {font-size: calc(0.262vw * 16); } }
.topBarMenu ul li a, topBarMenu ul li span, .pageHeader .hamburger .hamburger-container .topBarMenu ul li { font-family: "Roboto"; font-weight: normal; font-style: normal; font-size: 1.25rem; text-transform: none; letter-spacing: normal; }@media (max-width: 767px) { .resp_fonts .topBarMenu ul li a, topBarMenu ul li span, .pageHeader .hamburger .hamburger-container .topBarMenu ul li {font-size: calc(0.262vw * 12); line-height: 1.0; } }
.customMenu1 ul li a, .customMenu1 ul li span, .pageHeader .hamburger .hamburger-container .customMenu1 ul li a, .pageHeader .hamburger .hamburger-container .customMenu1 ul li span { font-family: "Roboto"; font-weight: normal; font-style: normal; font-size: 1.125rem; text-transform: none; letter-spacing: normal; }
.articleHeader .kicker { font-family: "Roboto"; font-weight: normal; font-style: normal; font-size: 1rem; text-transform: uppercase; letter-spacing: normal; }@media (max-width: 767px) { .resp_fonts .articleHeader .kicker {font-size: calc(0.262vw * 16); } }
article.column .content .kicker { font-family: "Roboto"; font-weight: normal; font-style: normal; font-size: 1rem; text-transform: uppercase; letter-spacing: normal; }@media (max-width: 767px) { .resp_fonts article.column .content .kicker {font-size: calc(0.262vw * 16); } }
footer.page { font-family: "Roboto"; font-weight: normal; font-style: normal; font-size: 0.75rem; text-transform: none; letter-spacing: normal; text-decoration: none; hyphens: auto; }@media (max-width: 767px) { .resp_fonts footer.page {font-size: calc(0.262vw * 12); } }
.bodytext>p a, .bodytext>ul a, .bodytext>ol a, .bodytext>h2 a, .bodytext>h3 a, .bodytext>h4 a { font-family: "Roboto"; font-weight: normal; font-style: normal; font-size: 1.125rem; text-transform: none; letter-spacing: normal; color: #333333; text-decoration: underline; hyphens: auto; }@media (max-width: 767px) { .resp_fonts .bodytext>p a, .bodytext>ul a, .bodytext>ol a, .bodytext>h2 a, .bodytext>h3 a, .bodytext>h4 a {font-size: calc(0.262vw * 16); } }
.toplist ul li .text h4 { font-family: "Roboto"; font-weight: 700; font-style: normal; font-size: 1.125rem; line-height: 1.5; text-transform: none; letter-spacing: normal; hyphens: auto; }
.articlescroller ul li h3 { font-family: "Roboto"; font-weight: 700; font-style: normal; font-size: 1.1875rem; letter-spacing: normal; hyphens: auto; }
.articlescroller ul li .subtitle { font-family: "Roboto"; font-weight: normal; font-style: normal; font-size: 1rem; letter-spacing: normal; hyphens: auto; }
.articleHeader .lab-article-section { font-family: "Roboto"; font-weight: normal; font-style: normal; font-size: 0.9375rem; text-transform: uppercase; letter-spacing: normal; hyphens: auto; }@media (max-width: 767px) { .resp_fonts .articleHeader .lab-article-section {font-size: calc(0.262vw * 15); } }
article.column .content .section { font-family: "Roboto"; font-weight: normal; font-style: normal; font-size: 0.9375rem; text-transform: uppercase; letter-spacing: normal; hyphens: auto; }@media (max-width: 767px) { .resp_fonts article.column .content .section {font-size: calc(0.262vw * 15); } }
.bodytext > h2 { font-family: "Roboto"; font-weight: 600; font-style: normal; font-size: 1.5625rem; line-height: 1.2; letter-spacing: normal; hyphens: auto; }@media (max-width: 767px) { .resp_fonts .bodytext > h2 {font-size: calc(0.262vw * 25); line-height: 1.2; } }
.font-Roboto { font-family: "Roboto" !important; }
.font-Roboto.font-weight-normal { font-weight: normal !important; }
.font-Roboto.font-weight-bold { font-weight: 700 !important; }
.font-Roboto.font-weight-black { font-weight: 900 !important; }
.font-RobotoCondensed { font-family: "Roboto Condensed" !important; }
.font-RobotoCondensed.font-weight-normal { font-weight: normal !important; }
.font-RobotoCondensed.font-weight-bold { font-weight: 700 !important; }
.font-RobotoCondensed.font-weight-black { font-weight: 900 !important; }
.font-RobotoFlex { font-family: "Roboto Flex" !important; }
.font-RobotoFlex.font-weight-normal { font-weight: normal !important; }
.font-RobotoMono { font-family: "Roboto Mono" !important; }
.font-RobotoMono.font-weight-normal { font-weight: normal !important; }
.font-RobotoMono.font-weight-light { font-weight: 100 !important; }
.font-RobotoMono.font-weight-bold { font-weight: 700 !important; }
</style>
<style id="css_variables"></style>
<script>
window.dachserData = {
_data: {},
_instances: {},
get: function(key) {
return dachserData._data[key] || null;
},
set: function(key, value) {
dachserData._data[key] = value;
},
push: function(key, value) {
if (!dachserData._data[key]) {
dachserData._data[key] = [];
}
dachserData._data[key].push(value);
},
setInstance: function(key, identifier, instance) {
if (!dachserData._instances[key]) {
dachserData._instances[key] = {};
}
dachserData._instances[key][identifier] = instance;
},
getInstance: function(key, identifier) {
return dachserData._instances[key] ? dachserData._instances[key][identifier] || null : null;
},
reflow: () => {}
};
</script>
<script type="application/ld+json">
[{"@context":"http://schema.org","@type":"WebSite","name":"theregister","url":"https://www.theregister.com"},{"@context":"https://schema.org","@type":"NewsArticle","headline":"'I crashed AOL for 19 hours and messed up global email for a week'","description":"The great AOL outage of 1996, explained by a chap who made it happen","url":"https://www.theregister.com/on-prem/2018/04/16/i-crashed-aol-for-19-hours-and-messed-up-global-email-for-a-week/1064289","inLanguage":[{"@type":"Language","alternateName":"en-US"}],"image":[{"@type":"ImageObject","url":"https://image.theregister.com/?imageId=259746&width=1200","@id":"https://www.theregister.com/on-prem/2018/04/16/i-crashed-aol-for-19-hours-and-messed-up-global-email-for-a-week/1064289#primaryimage","width":1200,"height":772}],"keywords":"on_prem, on-prem, who me","thumbnailUrl":"https://image.theregister.com/?imageId=259746&width=400","articleSection":"on_prem","author":[{"@type":"Person","name":"Simon Sharwood","url":"https://www.theregister.com/author/simon-sharwood"}],"publisher":{"@type":"Organization","name":"theregister","url":"https://www.theregister.com","logo":{"@type":"ImageObject","url":"https://www.theregister.com/view-resources/dachser2/public/theregister/logo.svg"}},"mainEntityOfPage":"https://www.theregister.com/on-prem/2018/04/16/i-crashed-aol-for-19-hours-and-messed-up-global-email-for-a-week/1064289","datePublished":"2018-04-16T06:51:08.000Z","dateModified":"2018-04-22T09:55:16.000Z","isAccessibleForFree":true}]
</script>
<style >@media (min-width: 768px) {
.custom-bodytext-alignment .bodytext>p,
.custom-bodytext-alignment .bodytext>h2,
.custom-bodytext-alignment .bodytext>h3,
.custom-bodytext-alignment .bodytext>h4,
.custom-bodytext-alignment .bodytext>ul,
.custom-bodytext-alignment .bodytext>ol {
padding-left: 220px;
padding-right: 320px;
}
}
@media (min-width: 768px) {
.custom-bodytext-alignment .bodytext .articleList {
padding-left: 230px !important;
width: 880px;
}
}
@media (min-width: 768px) {
.custom-bodytext-alignment .bodytext .google-ad.floatRight {
position: sticky;
top: 125px;
}
}
@media (min-width: 768px) {
.custom-bodytext-alignment .column.google-ad.widthFull,
.custom-bodytext-alignment .placement-top > .column.google-ad,
body.article section.related .large-12.google-ad,
body.front .placement-top > .column.google-ad,
body.front .large-12.google-ad {
padding-left: 0;
padding-right: 0;
}
}</style>
<meta property="article:section" content="on_prem">
<script>
var k5aMeta = { "paid": 0, "author": ["Simon Sharwood"], "tag": ["on_prem", "on-prem", "who me"], "title": "'I crashed AOL for 19 hours and messed up global email for a week'", "teasertitle": "'I crashed AOL for 19 hours and messed up global email for a week'", "kicker": "On-Prem", "url": "https://www.theregister.com/a/1064289", "login": (Dac.clientData.paywall.isAuthenticated ? 1 : 0), "subscriber": (Dac.clientData.paywall.isAuthenticated ? 1 : 0), "subscriberId": (Dac.clientData.subscriberId ? `"${ Dac.clientData.subscriberId }"` : "") };
</script>
<script>
(function () {
var sources = [
'//cl.k5a.io/6156b8c81b4d741e051f44c2.js',
];
function load() {
for (var i = 0; i < sources.length; i++) {
var script = document.createElement('script');
script.src = sources[i];
script.async = true;
document.head.appendChild(script);
}
}
// Kilkaya reads k5aMeta once, when it boots. On a paid article behind a
// client-side paywall the reader's access is not known while the head is
// parsed, so partial/lab4/analytics/kilkaya_metadata publishes k5aMetaReady
// and we hold off until the metadata is correct. Everywhere else the values
// are right already and Kilkaya loads immediately.
if (window.k5aMetaReady) {
window.k5aMetaReady.then(load);
} else {
load();
}
}());
</script>
<style>
:root {
}
</style>
</head>
<body class="l4 article site_theregister section_on_prem"
data-tag="on_prem,on-prem,who me"
data-lab-imported="true"
>
<!-- Google Tag Manager (noscript) -->
<noscript><iframe src="https://www.googletagmanager.com/ns.html?id=GTM-KVXB44"
height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript>
<!-- End Google Tag Manager (noscript) -->
<script>
document.addEventListener("DOMContentLoaded", (event) => {
setScrollbarWidth();
window.addEventListener('resize', setScrollbarWidth);
});
function setScrollbarWidth() {
const root = document.querySelector(':root');
const width = (window.innerWidth - document.body.offsetWidth < 21) ? window.innerWidth - document.body.offsetWidth : 15;
root.style.setProperty('--lab-scrollbar-width', `${ width }px`);
}
</script>
<a href="#main" class="skip-link">Jump to main content</a>
<header class="pageElement pageHeader">
<div class="row mainrow">
<div class="hamburger to-be-expanded" data-id="pageElements-3">
<div class="positionRelative">
<span class="hamburger-button hamburger-expander ">
<button class="burger-btn" aria-label="Open menu" aria-expanded="false" aria-controls="hamburger-container" aria-haspopup="menu">
<i class="open fi-list"></i>
<i class="close fi-x"></i>
</button>
</span>
<div class="hamburger-container" id="hamburger-container">
<div data-id="pageElements-4" class="search visible dac-hidden-desktop-up">
<form class="search-container" action="/cse" method="get" role="search">
<label for="search-input-4" class="visuallyhidden">Search</label>
<input type="text" id="search-input-4" name="q" placeholder="Search...">
<button type="submit" class="search-button" aria-label="Search">
<i class="open fi-magnifying-glass"></i>
</button>
</form>
</div>
<nav class="navigation mainMenu expandable">
<p class="lab-menu-name dac-hidden-desktop-down">TOPICS</p>
<ul class="menu-list">
<li class="first-list-item has-children">
<span tabindex="0">Security</span>
<ul class="children">
<li class="">
<a href="/security" target="_self">All Security</a>
</li>
<li class="">
<a href="/cyber_crime" target="_self">Cyber-crime</a>
</li>
<li class="">
<a href="/patches" target="_self">Patches</a>
</li>
<li class="">
<a href="/research" target="_self">Research</a>
</li>
<li class="">
<a href="/cso" target="_self">CSO</a>
</li>
</ul>
</li>
<li class="first-list-item has-children">
<span tabindex="0">Off-Prem</span>
<ul class="children">
<li class="">
<a href="/off_prem" target="_self">All Off-Prem</a>
</li>
<li class="">
<a href="/edge_iot" target="_self">Edge and IoT</a>
</li>
<li class="">
<a href="/channel" target="_self">Channel</a>
</li>
<li class="">
<a href="/tag/paas-iaas" target="_self">PaaS and IaaS</a>
</li>
<li class="">
<a href="/saas" target="_self">SaaS</a>
</li>
</ul>
</li>
<li class="first-list-item has-children">
<span tabindex="0">On-Prem</span>
<ul class="children">
<li class="">
<a href="/on_prem" target="_self">All On-Prem</a>
</li>
<li class="">
<a href="/systems" target="_self">Systems</a>
</li>
<li class="">
<a href="/storage" target="_self">Storage</a>
</li>
<li class="">
<a href="/networks" target="_self">Networks</a>
</li>
<li class="">
<a href="/hpc" target="_self">HPC</a>
</li>
<li class="">
<a href="/personal_tech" target="_self">Personal Tech</a>
</li>
<li class="">
<a href="/cxo" target="_self">Cx0</a>
</li>
<li class="">
<a href="/public-sector" target="_self">Public Sector</a>
</li>
</ul>
</li>
<li class="first-list-item has-children">
<span tabindex="0">Software</span>
<ul class="children">
<li class="">
<a href="/software" target="_self">All Software</a>
</li>
<li class="">
<a href="/tag/ai%20and%20ml" target="_self">AI and ML</a>
</li>
<li class="">
<a href="/applications" target="_self">Applications</a>
</li>
<li class="">
<a href="/databases" target="_self">Databases</a>
</li>
<li class="">
<a href="/devops" target="_self">DevOps</a>
</li>
<li class="">
<a href="/tag/os%20platforms" target="_self">OS Platforms</a>
</li>
<li class="">
<a href="/virtualization" target="_self">Virtualization</a>
</li>
</ul>
</li>
<li class="first-list-item has-children">
<span tabindex="0">Offbeat</span>
<ul class="children">
<li class="">
<a href="/offbeat" target="_self">All Offbeat</a>
</li>
<li class="">
<a href="/columnists" target="_self">Columnists</a>
</li>
<li class="">
<a href="/science" target="_self">Science</a>
</li>
<li class="">
<a href="/bofh" target="_self">BOFH</a>
</li>
<li class="">
<a href="/legal" target="_self">Legal</a>
</li>
<li class="">
<a href="/site_news" target="_self">Site News</a>
</li>
<li class="">
<a href="https://www.theregister.com/about_us" target="_self">About Us</a>
</li>
</ul>
</li>
</ul>
</nav>
<script>
(function () {
// This is only called when the user presses the escape key.
function closeElement(event, element) {
if (event.key === 'Escape') {
window.removeEventListener('keydown', closeElement);
// Get all expanded elements and close them
const expanded = document.querySelectorAll('nav.mainMenu.expandable .has-children.expanded');
for (let i = 0; i < expanded.length; i++) {
expanded[i].classList.remove('expanded');
// Traverse up from the element the user has selected to see if it is a child of the expanded element
// If it is, set focus to the first child, as that is the span element with tabindex.
// This is so that if the user has moved on from the menu, we shouldn't mess with the focus and flow
if (document.activeElement.closest('.has-children') === expanded[i]) {
expanded[i].children[0].focus();
}
}
}
}
function toggleElement(event, element) {
// Prevent the default link behavior
event.preventDefault();
// Check if there are other expanded elements and close them
const expanded = document.querySelectorAll('nav.mainMenu.expandable .has-children.expanded');
for (let i = 0; i < expanded.length; i++) {
if (expanded[i] !== element.parentElement) {
expanded[i].classList.remove('expanded');
}
}
// Toggle the class "expanded" on the parent element
// We toggle instead of add/remove the class because we don't know if we are opening or closing the element
element.parentElement.classList.toggle('expanded');
window.addEventListener('keydown', closeElement);
}
// Add extra element for carat and toggle functionality after the span or a element
function addCarat(element) {
const carat = document.createElement('span');
carat.classList.add('carat');
carat.tabIndex = '0';
const sibling = element.querySelector(':scope > a') || element.querySelector(':scope > span');
element.insertBefore(carat, sibling.nextSibling);
element.tabIndex = '-1';
if (sibling.tagName === 'A') {
sibling.tabIndex = '0';
} else if (sibling.tagName === 'SPAN') {
sibling.tabIndex = '-1';
}
}
// Get all elements with class "has-children" and add two events - one click event and one keydown event
// Allow for the same expandable menu to be reused in different viewports by using different classes
let classes = '';
if (classes) {
classes = '.' + classes.trim().split(' ').join('.');
}
const hasChildren = document.querySelectorAll(`nav.mainMenu${ classes }.expandable .has-children > span`);
for (let i = 0; i < hasChildren.length; i++) {
hasChildren[i].addEventListener('click', function(e) {
toggleElement(e, this);
});
hasChildren[i].addEventListener('keydown', function (e) {
// Check for both enter and space keys
if (e.key === 'Enter' || e.key === ' ') {
toggleElement(e, this);
}
});
}
// Get all elements with class "has-children" when toggleChildren is enabled and carat and toggle functionality
const hasChildrenToggle = document.querySelectorAll(`nav.mainMenu${ classes }.expandable.toggleChildren .has-children > span, nav.mainMenu${ classes }.expandable.toggleChildren .has-children > a`);
for (let i = 0; i < hasChildrenToggle.length; i++) {
// Add carat to the element
addCarat(hasChildrenToggle[i].parentElement);
if (hasChildrenToggle[i].tagName === 'A' || hasChildrenToggle[i].tagName === 'SPAN') {
hasChildrenToggle[i].nextSibling.addEventListener('click', function(e) {
toggleElement(e, hasChildrenToggle[i]);
});
hasChildrenToggle[i].nextSibling.addEventListener('keydown', function(e) {
// Check for both enter and space keys
if (e.key === 'Enter' || e.key === ' ') {
toggleElement(e, hasChildrenToggle[i]);
}
});
// Use with caution - ensure that parent li overlaps with child ul to avoid prematurely triggering leave
if (hasChildrenToggle[i].closest('nav').classList.contains('toggleOnHover')) {
hasChildrenToggle[i].addEventListener('mouseenter', function(e) {
hasChildrenToggle[i].parentElement.classList.add('expanded');
});
hasChildrenToggle[i].parentElement.addEventListener('mouseleave', function(e) {
hasChildrenToggle[i].parentElement.classList.remove('expanded');
});
}
}
}
})();
</script>
<script>
(function () {
const menuLinks = document.querySelectorAll(`nav.mainMenu ul li a`);
for (let i = 0; i < menuLinks.length; i++) {
const link = menuLinks[i].pathname;
if (link === window.location.pathname) {
menuLinks[i].parentElement.classList.add('lab-link-active');
} else {
menuLinks[i].parentElement.classList.remove('lab-link-active');
}
}
})();
</script>
<nav class="navigation bottomBarMenu expandable">
<ul class="menu-list">
<li class="first-list-item has-children">
<span tabindex="0">Special Features</span>
<ul class="children">
<li class="dac-hidden-desktop-up">
<a href="/special_features" target="_self">All Special Features</a>
</li>
<li class="">
<a href="/special_features/vmware_explore_2026" target="_self">VMware Explore 2026</a>
</li>
<li class="">
<a href="/special_features/cloud_infrastructure_month_2026" target="_self">Cloud Infrastructure Month 2026</a>
</li>
<li class="">
<a href="/explainer/ai-explainer" target="_self">HPE: AI Explainers</a>
</li>
<li class="">
<a href="/special_features/agentic_ai" target="_self">Agentic AI</a>
</li>
<li class="">
<a href="/special_features/future_of_the_datacenter" target="_self">The Future of the Datacenter</a>
</li>
<li class="">
<a href="/special_features/aws_reinvent" target="_self">AWS:Reinvent</a>
</li>
<li class="">
<a href="/special_features/nvidia_gtc" target="_self">Nvidia GTC</a>
</li>
<li class="">
<a href="/special_features/2025_11_supercomputing_month" target="_self">Supercomputing Month</a>
</li>
<li class="">
<a href="/special_features/computex" target="_self">Computex 2026</a>
</li>
<li class="">
<a href="/special_features/ai_infrastructure_month_2026" target="_self">AI Infrastructure Month 2026</a>
</li>
<li class="">
<a href="/special_features/state_of_storage_2026" target="_self">The State of Storage 2026</a>
</li>
<li class="">
<a href="/special_features/rsa" target="_self">RSA Conference</a>
</li>
</ul>
</li>
<li class="first-list-item has-children">
<span tabindex="0">Vendor Voice</span>
<ul class="children">
<li class="">
<a href="https://vendorvoice.theregister.com/" target="_self">All Vendor Voice</a>
</li>
<li class="">
<a href="https://vendorvoice.theregister.com/aws_fis_capital_markets/" target="_self">Modernizing Financial Services with FIS and AWS</a>
</li>
<li class="">
<a href="https://vendorvoice.theregister.com/barco/" target="_self">Barco</a>
</li>
<li class="">
<a href="https://vendorvoice.theregister.com/infinidat/" target="_self">Infinidat</a>
</li>
<li class="">
<a href="https://vendorvoice.theregister.com/everpure/" target="_self">Everpure</a>
</li>
<li class="">
<a href="https://vendorvoice.theregister.com/rubrik/" target="_self">Rubrik</a>
</li>
<li class="">
<a href="https://vendorvoice.theregister.com/aws_capgemini/" target="_self">Make it real with Capgemini and AWS</a>
</li>
<li class="">
<a href="https://vendorvoice.theregister.com/aws_fis/" target="_self">Money Movement Hub</a>
</li>
<li class="">
<a href="https://vendorvoice.theregister.com/zte_news_and_stories/" target="_self">ZTE</a>
</li>
<li class="">
<a href="https://vendorvoice.theregister.com/nutantix_cloud_native_apps/" target="_self">Nutanix: Scale Kubernetes. Not Chaos.</a>
</li>
<li class="">
<a href="https://vendorvoice.theregister.com/aws_new_horizon/" target="_self">AWS New Horizon</a>
</li>
<li class="">
<a href="https://vendorvoice.theregister.com/digicert" target="_self">Digicert</a>
</li>
<li class="">
<a href="https://vendorvoice.theregister.com/netscout" target="_self">Netscout</a>
</li>
</ul>
</li>
<li class="first-list-item has-children">
<span tabindex="0">Resources</span>
<ul class="children">
<li class="">
<a href="https://intelligence.theregister.com" target="_self">Intelligence</a>
</li>
<li class="">
<a href="https://intelligence.theregister.com/events/list/" target="_self">Webinars &amp; Events</a>
</li>
<li class="">
<a href="https://account.theregister.com/login?r=https%3A%2F%2Faccount.theregister.com%2Fedit%2Fnewsletter%2F" target="_self">Newsletters</a>
</li>
</ul>
</li>
</ul>
</nav>
<script>
(function () {
// This is only called when the user presses the escape key.
function closeElement(event, element) {
if (event.key === 'Escape') {
window.removeEventListener('keydown', closeElement);
// Get all expanded elements and close them
const expanded = document.querySelectorAll('nav.bottomBarMenu.expandable .has-children.expanded');
for (let i = 0; i < expanded.length; i++) {
expanded[i].classList.remove('expanded');
// Traverse up from the element the user has selected to see if it is a child of the expanded element
// If it is, set focus to the first child, as that is the span element with tabindex.
// This is so that if the user has moved on from the menu, we shouldn't mess with the focus and flow
if (document.activeElement.closest('.has-children') === expanded[i]) {
expanded[i].children[0].focus();
}
}
}
}
function toggleElement(event, element) {
// Prevent the default link behavior
event.preventDefault();
// Check if there are other expanded elements and close them
const expanded = document.querySelectorAll('nav.bottomBarMenu.expandable .has-children.expanded');
for (let i = 0; i < expanded.length; i++) {
if (expanded[i] !== element.parentElement) {
expanded[i].classList.remove('expanded');
}
}
// Toggle the class "expanded" on the parent element
// We toggle instead of add/remove the class because we don't know if we are opening or closing the element
element.parentElement.classList.toggle('expanded');
window.addEventListener('keydown', closeElement);
}
// Add extra element for carat and toggle functionality after the span or a element
function addCarat(element) {
const carat = document.createElement('span');
carat.classList.add('carat');
carat.tabIndex = '0';
const sibling = element.querySelector(':scope > a') || element.querySelector(':scope > span');
element.insertBefore(carat, sibling.nextSibling);
element.tabIndex = '-1';
if (sibling.tagName === 'A') {
sibling.tabIndex = '0';
} else if (sibling.tagName === 'SPAN') {
sibling.tabIndex = '-1';
}
}
// Get all elements with class "has-children" and add two events - one click event and one keydown event
// Allow for the same expandable menu to be reused in different viewports by using different classes
let classes = '';
if (classes) {
classes = '.' + classes.trim().split(' ').join('.');
}
const hasChildren = document.querySelectorAll(`nav.bottomBarMenu${ classes }.expandable .has-children > span`);
for (let i = 0; i < hasChildren.length; i++) {
hasChildren[i].addEventListener('click', function(e) {
toggleElement(e, this);
});
hasChildren[i].addEventListener('keydown', function (e) {
// Check for both enter and space keys
if (e.key === 'Enter' || e.key === ' ') {
toggleElement(e, this);
}
});
}
// Get all elements with class "has-children" when toggleChildren is enabled and carat and toggle functionality
const hasChildrenToggle = document.querySelectorAll(`nav.bottomBarMenu${ classes }.expandable.toggleChildren .has-children > span, nav.bottomBarMenu${ classes }.expandable.toggleChildren .has-children > a`);
for (let i = 0; i < hasChildrenToggle.length; i++) {
// Add carat to the element
addCarat(hasChildrenToggle[i].parentElement);
if (hasChildrenToggle[i].tagName === 'A' || hasChildrenToggle[i].tagName === 'SPAN') {
hasChildrenToggle[i].nextSibling.addEventListener('click', function(e) {
toggleElement(e, hasChildrenToggle[i]);
});
hasChildrenToggle[i].nextSibling.addEventListener('keydown', function(e) {
// Check for both enter and space keys
if (e.key === 'Enter' || e.key === ' ') {
toggleElement(e, hasChildrenToggle[i]);
}
});
// Use with caution - ensure that parent li overlaps with child ul to avoid prematurely triggering leave
if (hasChildrenToggle[i].closest('nav').classList.contains('toggleOnHover')) {
hasChildrenToggle[i].addEventListener('mouseenter', function(e) {
hasChildrenToggle[i].parentElement.classList.add('expanded');
});
hasChildrenToggle[i].parentElement.addEventListener('mouseleave', function(e) {
hasChildrenToggle[i].parentElement.classList.remove('expanded');
});
}
}
}
})();
</script>
<script>
(function () {
const menuLinks = document.querySelectorAll(`nav.bottomBarMenu ul li a`);
for (let i = 0; i < menuLinks.length; i++) {
const link = menuLinks[i].pathname;
if (link === window.location.pathname) {
menuLinks[i].parentElement.classList.add('lab-link-active');
} else {
menuLinks[i].parentElement.classList.remove('lab-link-active');
}
}
})();
</script>
</div>
</div>
</div>
<script>
(function(){
const burgerButton = document.querySelector('[data-id="pageElements-3"] .burger-btn');
const dropdownCloseSection = document.querySelector('[data-id="pageElements-3"] .dropdown-close-section');
const hamburgerContainer = document.querySelector('[data-id="pageElements-3"] .hamburger-container');
function toggleDropdown() {
// Toggle the expanded class and aria-expanded attribute
document.querySelector('[data-id="pageElements-3"].hamburger.to-be-expanded').classList.toggle('expanded');
burgerButton.setAttribute('aria-expanded', burgerButton.getAttribute('aria-expanded') === 'true' ? 'false' : 'true');
burgerButton.setAttribute('aria-label', burgerButton.getAttribute('aria-expanded') === 'true' ? 'Close menu' : 'Open menu');
// This doesn't seem to do anything? But there's styling dependent on it some places
document.body.classList.toggle('hamburger-expanded');
}
function getFocusableElements() {
if (!hamburgerContainer) return [];
return Array.from(hamburgerContainer.querySelectorAll(
'a[href], button:not([disabled]), input:not([disabled]), ' +
'select:not([disabled]), textarea:not([disabled]), [tabindex]:not([tabindex="-1"])'
)).filter(function(el) {
if (el.closest('[hidden]')) return false;
if (getComputedStyle(el).visibility === 'hidden') return false;
const rect = el.getBoundingClientRect();
return rect.width > 0 || rect.height > 0;
});
}
// Called via the event listener - handles Escape (close menu, restore focus) and
// Tab (trap focus within the open menu)
function handleKeydown(e) {
if (e.key === 'Escape') {
toggleDropdown();
// Set the focus back on the button when clicking escape, so the user can continue tabbing down
// the page in a natural flow
burgerButton.focus();
window.removeEventListener('keydown', handleKeydown);
return;
}
if (e.key === 'Tab') {
const focusable = getFocusableElements();
if (focusable.length === 0) return;
if (!e.shiftKey && document.activeElement === focusable[focusable.length - 1]) {
// Tab past last item → burger button
e.preventDefault();
burgerButton.focus();
} else if (e.shiftKey && document.activeElement === burgerButton) {
// Shift+Tab from burger button → last item
e.preventDefault();
focusable[focusable.length - 1].focus();
}
}
}
if(burgerButton) {
burgerButton.addEventListener('click', function(e) {
e.preventDefault();
toggleDropdown();
// If the menu gets expanded, add the event listener that will close it on pressing Escape
// else, remove the event listener otherwise it will continue to listen for escape even if the menu is closed.
if(burgerButton.getAttribute('aria-expanded') === 'true') {
window.addEventListener('keydown', handleKeydown);
} else {
window.removeEventListener('keydown', handleKeydown);
}
})
}
if (dropdownCloseSection) {
dropdownCloseSection.addEventListener('click', function(e) {
e.preventDefault();
toggleDropdown();
});
}
document.querySelectorAll('.hamburger .hamburger-expander, .hamburger .hamburger-container, .stop-propagation').forEach(function (element) {
element.addEventListener('click', function (e) {
e.stopPropagation();
});
});
}());
</script><div data-id="pageElements-7" class="search to-be-expanded dac-hidden-desktop-down bonusButton">
<form class="search-container" action="/cse" method="get" role="search">
<label for="search-input-7" class="visuallyhidden">Search</label>
<input type="text" id="search-input-7" name="q" placeholder="Search...">
<button id="bonusButton" class="bonusButton">
<i class="fi-magnifying-glass" aria-hidden="true"></i>
</button>
</form>
<button class="search-button search-expander" aria-label="Search" aria-expanded="false" aria-controls="search-input-7">
<i class="open fi-magnifying-glass"></i>
<i class="close fi-x"></i>
</button>
</div>
<script>
// Do the check for the search button inside the if statement, so we don't set a global const if there are multiple search buttons
if (document.querySelector('[data-id="pageElements-7"] .search-button')) {
// Now we can set a const that is only available inside the if scope
const searchButton = document.querySelector('[data-id="pageElements-7"] .search-button');
let searchWasExpanded = false;
let hadPointerDown = false;
searchButton.addEventListener('pointerdown', () => {
searchWasExpanded = searchButton.getAttribute('aria-expanded') === 'true';
hadPointerDown = true;
});
searchButton.addEventListener('click', (event) => {
event.preventDefault();
event.stopPropagation();
// For pointer interactions (mouse/touch), use the state captured at pointerdown time,
// before focusout could collapse the search. For keyboard interactions, pointerdown
// never fires, so read aria-expanded directly — focusout doesn't fire on keyboard
// so the current state is still accurate.
const wasExpanded = hadPointerDown ? searchWasExpanded : searchButton.getAttribute('aria-expanded') === 'true';
hadPointerDown = false;
const shouldOpen = !wasExpanded;
searchButton.parentElement.classList.toggle('expanded', shouldOpen);
searchButton.setAttribute('aria-expanded', shouldOpen ? 'true' : 'false');
searchButton.setAttribute('aria-label', shouldOpen ? 'Close search' : 'Open search');
// Set focus to the input.
// This might be dodgy due to moving focus automatically, but we'll keep it in for now.
if (shouldOpen) {
document.getElementById('search-input-7').focus();
}
}, false);
}
if (document.getElementById('bonusButton')) {
document.getElementById('bonusButton').addEventListener('pointerdown', (event) => {
event.preventDefault();
});
document.getElementById('bonusButton').addEventListener('click', (event) => {
document.querySelector('[data-id="pageElements-7"] .search-container').submit();
}, false);
}
// Wrap in a block so const doesn't conflict when multiple search widgets are on the same page
{
const searchWrapper = document.querySelector('[data-id="pageElements-7"]');
if (searchWrapper) {
const searchButton = document.querySelector('[data-id="pageElements-7"] .search-button');
searchWrapper.addEventListener('focusout', (event) => {
if (searchWrapper.classList.contains('expanded') && !searchWrapper.contains(event.relatedTarget)) {
searchWrapper.classList.remove('expanded');
if (searchButton) {
searchButton.setAttribute('aria-expanded', 'false');
searchButton.setAttribute('aria-label', 'Open search');
}
}
});
searchWrapper.addEventListener('keydown', (event) => {
if (event.key === 'Escape' && searchWrapper.classList.contains('expanded')) {
searchWrapper.classList.remove('expanded');
if (searchButton) {
searchButton.setAttribute('aria-expanded', 'false');
searchButton.setAttribute('aria-label', 'Open search');
searchButton.focus();
}
}
});
}
}
</script>
<figure class="logo logo--mobile">
<a href="https://www.theregister.com" aria-label="Go to frontpage">
<img src="/view-resources/dachser2/public/theregister/logo.svg"
alt="Go to frontpage. Logo, The Register"
width="275"
>
</a>
</figure>
<figure class="logo logo--primary">
<a href="https://www.theregister.com" aria-label="Go to frontpage">
<img src="/view-resources/dachser2/public/theregister/logo.svg"
alt="Go to frontpage. Logo, The Register"
width="275"
>
</a>
</figure>
<figure class="logo logo--secondary">
<a href="https://www.theregister.com" aria-label="Go to frontpage">
<img src="/view-resources/dachser2/public/theregister/logo.svg"
alt="Go to frontpage. Logo, The Register"
width="275"
>
</a>
</figure>
<nav class="navigation topBarMenu">
<ul class="menu-list">
<li class="first-list-item login-btn">
<a href="https://account.theregister.com/login" target="_self">Sign in</a>
</li>
</ul>
</nav>
<script>
(function () {
const menuLinks = document.querySelectorAll(`nav.topBarMenu ul li a`);
for (let i = 0; i < menuLinks.length; i++) {
const link = menuLinks[i].pathname;
if (link === window.location.pathname) {
menuLinks[i].parentElement.classList.add('lab-link-active');
} else {
menuLinks[i].parentElement.classList.remove('lab-link-active');
}
}
})();
</script>
</div>
<div class="row dac-hidden-desktop-down bottom-row">
<div class="section">
<nav class="navigation customMenu1">
<ul class="menu-list">
<li class="first-list-item ">
<a href="/tag/ai%20and%20ml" target="_self">AI</a>
</li>
<li class="first-list-item ">
<a href="/security" target="_self">Security</a>
</li>
<li class="first-list-item ">
<a href="/software" target="_self">Software</a>
</li>
<li class="first-list-item ">
<a href="/tag/microsoft" target="_self">Microsoft</a>
</li>
<li class="first-list-item ">
<a href="/devops" target="_self">Developer</a>
</li>
<li class="first-list-item ">
<a href="/tag/open%20source" target="_self">Open Source</a>
</li>
<li class="first-list-item ">
<a href="/tag/bofh" target="_self">BOFH</a>
</li>
<li class="first-list-item ">
<a href="/tag/who%20me" target="_self">Who, Me?</a>
</li>
<li class="first-list-item ">
<a href="/tag/on%20call/" target="_self">On Call</a>
</li>
<li class="first-list-item ">
<a href="/science" target="_self">Science</a>
</li>
</ul>
</nav>
<script>
(function () {
const menuLinks = document.querySelectorAll(`nav.customMenu1 ul li a`);
for (let i = 0; i < menuLinks.length; i++) {
const link = menuLinks[i].pathname;
if (link === window.location.pathname) {
menuLinks[i].parentElement.classList.add('lab-link-active');
} else {
menuLinks[i].parentElement.classList.remove('lab-link-active');
}
}
})();
</script>
</div>
</div>
<script>
(function () {
if (!'IntersectionObserver' in window) { return; }
var scrollEvents = scrollEvents || [];
if (scrollEvents) {
const domInterface = {
classList: {
remove: () => {},
add: () => {}
},
style: {
cssText: ''
}
};
scrollEvents.forEach(function(event) {
if (!event.directional) {
var callback = function(entries, observer) {
if (!entries[0]) { return; }
if (entries[0].isIntersecting) {
event.styles.forEach(function(item) {
(document.querySelector(item.selector) || domInterface).style.cssText = "";
});
event.classes.forEach(function(item) {
item.class.forEach(function(classname) {
(document.querySelector(item.selector) || domInterface).classList.remove(classname);
});
});
} else {
event.styles.forEach(function(item) {
(document.querySelector(item.selector) || domInterface).style.cssText = item.style;
});
event.classes.forEach(function(item) {
item.class.forEach(function(classname) {
(document.querySelector(item.selector) || domInterface).classList.add(classname);
});
});
}
};
var observer = new IntersectionObserver(callback, {
rootMargin: event.offset,
threshold: 1
});
var target = document.querySelector(event.target);
if (target) {
observer.observe(target);
}
}
if (event.directional) {
let previousTop = 0;
window.addEventListener('scroll', function() {
setTimeout(function() {
const currentTop = window.pageYOffset || document.documentElement.scrollTop;
if (currentTop > previousTop + 10) {
event.styles.forEach(function(item) {
(document.querySelector(item.selector) || domInterface).style.cssText = item.style;
});
event.classes.forEach(function(item) {
item.class.forEach(function(classname) {
(document.querySelector(item.selector) || domInterface).classList.add(classname);
});
});
} else if (currentTop < previousTop - 10) {
event.styles.forEach(function(item) {
(document.querySelector(item.selector) || domInterface).style.cssText = "";
});
event.classes.forEach(function(item) {
item.class.forEach(function(classname) {
(document.querySelector(item.selector) || domInterface).classList.remove(classname);
});
});
}
previousTop = currentTop;
}, 200);
});
}
});
}
}());
window.Dac.clientData.paywall.toggleAuthenticatedContent();
</script>
</header>
<section id="mainArticleSection" class="main article">
<div data-element-guid="e3984525-4f55-4f95-bee1-228755214a9f" class="placeholder placement-top">
<div data-element-guid="ca5453ab-4005-4c95-bacf-cebcfc92eac4" class="column google-ad small-12 large-12 small-abs-12 large-abs-12" style="">
<span class="ad-label">REG AD</span>
<div class="adunit" id="labrador/thereg/article/desktop/a" style="min-height:90px;"></div>
<script>
googletag.cmd.push(function() {
googletag.display('labrador/thereg/article/desktop/a');
});
</script>
</div>
</div>
<main class="pageWidth">
<article class=" "
>
<section class="main article k5a-article" id="main">
<div></div>
<script>
(function() {
let windowUrl = window.location.href;
windowUrl = windowUrl.substring(windowUrl.indexOf('?') + 1);
let messageElement = document.querySelector('.shareableMessage');
if (windowUrl && windowUrl.includes('code') && windowUrl.includes('expires')) {
messageElement.style.display = 'block';
}
})();
</script>
<div data-element-guid="aeef89ba-a6fe-4a40-bf0a-acd2cab94760" class="articleHeader column">
<div class="media">
<div class="floatingText"> </div>
</div>
<p class="kicker below" style="">
<a href="/tag/on-prem">On-Prem</a>
</p>
<h1 class="headline mainTitle below" style="">
'I crashed AOL for 19 hours and messed up global email for a week'
</h1>
<p class="subtitle below" style="">
The great AOL outage of 1996, explained by a chap who made it happen
</p>
<div data-element-guid="e32662b5-504b-4d8b-a8c0-f91b20481918" class="meta">
<div class="bylines">
<div data-element-guid="1847140a-ac81-456c-93d1-67c5ad73915e" class="byline column" itemscope itemtype="http://schema.org/Person">
<div class="content">
<address class="name lab-name-flex">
<span class="lab-hidden-byline-name" itemprop="name">Simon Sharwood</span>
<a rel="author" itemprop="url" href="https:&#x2F;&#x2F;www.theregister.com&#x2F;author&#x2F;simon-sharwood">
<span class="firstname ">Simon</span>
<span class="lastname ">Sharwood</span>
</a>
</address>
</div>
</div>
</div>
<div class="dates">
<span class="dateGroup datePublished">
<span class="dateLabel">Published</span>
<time datetime="2018-04-16T06:51:08.000Z">mon 16 Apr 2018 // 07:51 UTC</time>
</span>
</div>
<div class="social">
<a target="_blank" href="https://www.facebook.com/sharer.php?u=https%3A%2F%2Fwww.theregister.com%2Fon-prem%2F2018%2F04%2F16%2Fi-crashed-aol-for-19-hours-and-messed-up-global-email-for-a-week%2F1064289" class="fi-social-facebook" aria-label="Share on Facebook"></a>
<a target="_blank" href="https://twitter.com/intent/tweet?url=https%3A%2F%2Fwww.theregister.com%2Fon-prem%2F2018%2F04%2F16%2Fi-crashed-aol-for-19-hours-and-messed-up-global-email-for-a-week%2F1064289" class="fi-social-twitter" aria-label="Share on X (Twitter)"></a>
<a target="_blank" href="https://www.linkedin.com/sharing/share-offsite/?url=https%3A%2F%2Fwww.theregister.com%2Fon-prem%2F2018%2F04%2F16%2Fi-crashed-aol-for-19-hours-and-messed-up-global-email-for-a-week%2F1064289" class="fi-social-linkedin" aria-label="Share on LinkedIn"></a>
<a target="_blank" href="https://bsky.app/intent/compose?text='I%20crashed%20AOL%20for%2019%20hours%20and%20messed%20up%20global%20email%20for%20a%20week'%0Ahttps%3A%2F%2Fwww.theregister.com%2Fon-prem%2F2018%2F04%2F16%2Fi-crashed-aol-for-19-hours-and-messed-up-global-email-for-a-week%2F1064289" class="fi-social-bluesky" aria-label="Share on Bluesky"></a>
<a target="_blank" href="https://www.reddit.com/submit?url=https%3A%2F%2Fwww.theregister.com%2Fon-prem%2F2018%2F04%2F16%2Fi-crashed-aol-for-19-hours-and-messed-up-global-email-for-a-week%2F1064289&title='I%20crashed%20AOL%20for%2019%20hours%20and%20messed%20up%20global%20email%20for%20a%20week'" class="fi-social-reddit" aria-label="Share on Reddit"></a>
<a target="_blank" href="https://api.whatsapp.com/send?text='I%20crashed%20AOL%20for%2019%20hours%20and%20messed%20up%20global%20email%20for%20a%20week'%0Ahttps%3A%2F%2Fwww.theregister.com%2Fon-prem%2F2018%2F04%2F16%2Fi-crashed-aol-for-19-hours-and-messed-up-global-email-for-a-week%2F1064289" class="fi-social-whatsapp" aria-label="Share on WhatsApp"></a>
</div>
</div>
</div>
<div data-element-guid="07dded19-fe0c-41b4-a2f9-bfb1927ba8a7" class="bodytext large-12 small-12 medium-12"
>
<p><span class="tertiary color_mobile_tertiary" data-lab-text_color="tertiary">WHO, ME?</span> Welcome again to Who, me? In case you've missed <a href="https://www.theregister.com/Tag/who-me" target="_blank">previous editions</a> of the column, it's a confessional in which readers share their stories of having broken stuff. Badly.</p>
<p>This week, a fellow reader named "Bert" asked you to "Cast your mind back to the mid-90s when America Online (AOL) was the biggest online service and the biggest Internet Service Provider. We had a whole five million users!"</p>
<p>Bert was charged with keeping AOL email alive. Which was pretty challenging: on his first day on the job in 1995, he stood up the company’s fourth inbound mail gateway server.</p>
<div data-element-guid="718e24a3-8e2f-4eb4-eef2-0f3ec9841a8a" class="column google-ad widthFull" style="">
<span class="ad-label">REG AD</span>
<div class="adunit" id="labrador/thereg/article/desktop/b" ></div>
<script>
googletag.cmd.push(function() {
googletag.display('labrador/thereg/article/desktop/b');
});
</script>
</div>
<p>A little over a year later Bert said AOL had "dozens and dozens of inbound Internet mail servers, and I was pulling my hair out trying to figure out how I could keep them all in operation and advertised as available, without causing problems."</p>
<div data-element-guid="a0ef3555-0e99-451d-9b92-8c42ca99ee0e" class="column google-ad floatRight widthAuto" style="">
<span class="ad-label">REG AD</span>
<div class="adunit" id="labrador/thereg/article/desktop/c" ></div>
<script>
googletag.cmd.push(function() {
googletag.display('labrador/thereg/article/desktop/c');
});
</script>
</div>
<article data-element-guid="e9ed93dd-adff-4c84-ffe9-18c2cf95447f" class="column desktop-floatRight mobile-floatRight small-6 large-2 small-abs-6 large-abs-2 " data-site-alias="" data-section="" data-instance="4349048" itemscope>
<div class="content" style="">
<a itemprop="url" class="" href="https://www.theregister.com/2018/04/09/who_me/" data-k5a-url="/a/undefined" rel="">
<div class="media ">
<figure data-element-guid="f7cedcd5-83ea-49cf-de0d-dc54fa34e899" class="" >
<div class="img fullwidthTarget">
<picture>
<source srcset="https://image.theregister.com/259746.webp?imageId=259746&width=354&height=228&format=webp"
width="177"
height="114"
media="(min-width: 768px)"
type="image/webp">
<source srcset="https://image.theregister.com/259746.webp?imageId=259746&width=354&height=228&format=jpg"
width="177"
height="114"
media="(min-width: 768px)"
type="image/jpeg">
<source srcset="https://image.theregister.com/259746.webp?imageId=259746&width=480&height=310&format=webp"
width="240"
height="155"
media="(max-width: 767px)"
type="image/webp">
<source srcset="https://image.theregister.com/259746.webp?imageId=259746&width=480&height=310&format=jpg"
width="240"
height="155"
media="(max-width: 767px)"
type="image/jpeg">
<img src="https://image.theregister.com/259746.webp?imageId=259746&width=480&height=310&format=jpg"
width="240"
height="155"
alt="Button image via Shutterstock"
loading="lazy"
style=""
>
</picture>
</div>
</figure>
<div class="floatingText">
<div class="labels">
</div>
</div>
</div>
<h2 itemprop="headline"
class="headline "
style=""
>Sysadmin shut down the wrong server, and with it all European operations
</h2>
<div
style=""
class="kicker belowTitle ">
Read more
</div>
</a>
<time itemprop="datePublished" datetime=""></time>
</div>
</article>
<p>MX records were his main problem, because “we had grown to the point where we had so many MXes that our DNS packets were too big to fit into a 512 byte UDP response packet, and were getting truncated.”</p>
<p>Truncated packets caused all sorts of problems, Bert told us, among them badly-out-of-balance loads.</p>
<p>"A small percentage of sites were unable to get mail to us at all, because their systems would refuse to talk to anyone if the DNS response had been truncated. Although a small percentage, it was still a fairly large number. Something clearly had to be done."</p>
<p>So Bert did it.</p>
<p>"I had the bright idea to list multiple IP addresses for a small number of regular names, so that we could take maximum advantage of domain name compression. Thus, a.mx.aol.com was born. And so was b.mx.aol.com, c.mx.aol.com, and so on. By the time of the disaster, we had listed nine names in the DNS as our MXes, with five IP addresses each. All 45 of our mail servers could be listed in the DNS as MXes for AOL and would still fit into a 512-byte UDP response packet – just barely. Mail was flowing again without DNS truncation, and almost everyone was happy."</p>
<p>Those unhappy with Bert pointed out that he really needed a load balancing switch in front of the MXes. But Bert told us that "at the time the only one that existed had a single 10Base-T interface, and we had already graduated to using FDDI on the back-end of our mail servers because there was so much traffic."</p>
<p>"There was no way we could have crammed all that traffic through a tiny 10Mbps Ethernet port." So he didn’t.</p>
<p>But Bert did arrange for the AOL DNS team to have a backup off-site nameservice provider, "in case there was an extended outage so that people could still look up our information. This was also done by ANS."</p>
<div data-element-guid="04693ea0-4afa-4673-d1d2-4deeeee7d46d" class="column google-ad widthFull" style="">
<span class="ad-label">REG AD</span>
<div class="adunit" id="labrador/thereg/article/desktop/d" ></div>
<script>
googletag.cmd.push(function() {
googletag.display('labrador/thereg/article/desktop/d');
});
</script>
</div>
<p>The best-laid plans can go off the rails and Bert's did on August 7, 1996.</p>
<p>"Due to some mis-calculations and mis-communications between the AOL Network staff and subsidiary/backbone service provider ANS, we suffered a 19-hour network outage."</p>
<p>The outage was caused by the fact that "when you tried to deliver the first mail message in your queue, you would look up our MXes, get back the list of 45 IP addresses, and start trying to make connections – just like normal. You'd try to connect to the first IP address of the first name, and ... wait. You'd wait for two minutes for that connection to timeout, as per the RFC. Then you'd try the next IP address. And wait. For two minutes. Then you'd try the next IP address."</p>
<p>"Do the math[s]," Bert suggested, because "this works out to 90 minutes to try to deliver a single mail message. Meanwhile, that mail process isn't doing anything else."</p>
<div data-element-guid="a7558365-91f7-4c4c-8f62-524a68de3ae9" id="factbox-4349020" class="column factbox desktop-floatRight mobile-floatRight state-expanded-desktop small-12 large-4 small-abs-12 large-abs-4 style-fade expandable-mobile expandable-desktop collapsable-mobile collapsable-desktop">
<div class="content bg-tertiary color_mobile_bg-tertiary hasContentPadding mobile-hasContentPadding" style="">
<h2 class="" style=""></h2>
<div id="factbox-content-4349020" class="fact collapsableContent ">
<p>AOL's outage was big news back in 1996.</p>
<p>CNN's coverage <a href="http://edition.cnn.com/TECH/9608/09/aol.fallout/index.html" target="_blank">said</a> the outage showed how dependent people had become on the internet.</p>
<p>CBS News even thought the incident worthy of a <a href="https://www.cbsnews.com/news/the-day-america-online-went-offline-in-1996/" target="_blank">retrospective</a> in 2015, noting that the outage made the evening news in 1996 and that AOL users were forced to revert to phones and faxes for their real-time communications needs.</p>
</div>
<button class="toggle" type="button" aria-expanded="false" aria-controls="factbox-content-4349020" aria-label="Show more"></button>
</div>
<script>
(function () {
var box = document.getElementById('factbox-4349020');
if (box) {
var toggleEl = box.querySelector('.toggle');
if (toggleEl) {
var isExpanded = box.classList.contains(`state-expanded-${window.Dac.clientData.labDevice}`);
toggleEl.setAttribute('aria-expanded', String(isExpanded));
toggleEl.addEventListener('click', function(event) {
event.preventDefault();
event.stopPropagation();
isExpanded = !isExpanded;
toggleEl.setAttribute('aria-expanded', String(isExpanded));
if (!isExpanded) {
box.classList.remove('state-expanded-mobile', 'state-expanded-desktop');
const rect = box.getBoundingClientRect();
const inViewport = rect.top >= 0 && rect.top <= window.innerHeight;
if (!inViewport) {
box.scrollIntoView({ behavior: 'smooth' });
}
} else {
box.classList.add('state-expanded-mobile', 'state-expanded-desktop');
}
}, false);
}
}
}());
</script>
</div>
<p>But people all over the Internet were doing something else: sending more emails. And because those emails couldn’t reach AOL – which, remember was a huge slice of the internet population in 1996 – email servers would “would fire off a queue runner every sixty or thirty minutes (by default), to go flush the queue. That queue runner would suck in the entire queue, and then go try and process each and every message, one by one."</p>
<p>"But if it got stuck for 90 minutes while trying to process a single message to AOL, then another queue runner would get started after thirty or sixty minutes, it would suck in the entire queue, be unable to process the one message you were already working on, but then it would probably also get stuck for 90 minutes while trying to send a second message to AOL."</p>
<p>Before long, servers would be out of RAM, start swapping data to disk, run out of swap space on disk and then – again, remember this 1996 when servers were feeble – the server would probably reboot, try to fix its filesystem and then start sending mails again. And because the mails couldn’t get in to AOL … you get the picture.</p>
<p>Bert told us that his errors led to hate mail from noted distributors of unsolicited commercial email, who were kind enough to share his phone number with the world and suggest he’d appreciate an angry call. Some of those made it through and Bert told us he thinks he received a death threat or two.</p>
<div data-element-guid="2ffa060e-eb54-450f-a660-359291f5df55" class="column google-ad widthFull" style="">
<span class="ad-label">REG AD</span>
<div class="adunit" id="labrador/thereg/article/desktop/e" ></div>
<script>
googletag.cmd.push(function() {
googletag.display('labrador/thereg/article/desktop/e');
});
</script>
</div>
<p>He assumes he got plenty of angry emails too but was blissfully unaware of just how many people hated him – because their emails couldn’t get through!</p>
<p>"I don't remember how many businesses I heard about that failed that day, because they weren't able to get to their e-mail and respond to a critical message that they had been sent," Bert told Who, me? AOL came back online after 19 hours. Bert told us that "it took about a week for mail traffic to ultimately return to normal" as the world waited for "the whole rest of the Internet to catch up on all their email backlogs."</p>
<p>Bert reckons some good came of the incident, because among the responses were development of the <code>qmail</code> and <code>postfix</code> mail transfer agents that made the global email systems rather more resilient.</p>
<p>It's hard to top Bert's story for sheer scale, but we're sure other readers will have fine tales of their mistakes to share. If you've such a tale, <a href="https://www.theregister.com/Author/Email/2488" target="_blank">click here to contact us</a> and you might pop up on a future Monday! ®</p>
</div>
<div data-element-guid="73a73949-0548-4c8d-832d-77d1cc423ef5" class="column articleFooter">
<span class="tags">
<a href="/tag/on_prem" data-tag="on_prem">on_prem</a>
<a href="/tag/on-prem" data-tag="on-prem">on-prem</a>
<a href="/tag/who%20me" data-tag="who me">who me</a>
</span>
</div>
<div class="row social">
<div class="column large-12 small-12">
<a target="_blank" href="https://www.facebook.com/sharer.php?u=https%3A%2F%2Fwww.theregister.com%2Fon-prem%2F2018%2F04%2F16%2Fi-crashed-aol-for-19-hours-and-messed-up-global-email-for-a-week%2F1064289" class="fi-social-facebook" aria-label="Share on Facebook"></a>
<a target="_blank" href="https://twitter.com/intent/tweet?url=https%3A%2F%2Fwww.theregister.com%2Fon-prem%2F2018%2F04%2F16%2Fi-crashed-aol-for-19-hours-and-messed-up-global-email-for-a-week%2F1064289" class="fi-social-twitter" aria-label="Share on X (Twitter)"></a>
<a target="_blank" href="https://www.linkedin.com/sharing/share-offsite/?url=https%3A%2F%2Fwww.theregister.com%2Fon-prem%2F2018%2F04%2F16%2Fi-crashed-aol-for-19-hours-and-messed-up-global-email-for-a-week%2F1064289" class="fi-social-linkedin" aria-label="Share on LinkedIn"></a>
<a target="_blank" href="https://bsky.app/intent/compose?text='I%20crashed%20AOL%20for%2019%20hours%20and%20messed%20up%20global%20email%20for%20a%20week'%0Ahttps%3A%2F%2Fwww.theregister.com%2Fon-prem%2F2018%2F04%2F16%2Fi-crashed-aol-for-19-hours-and-messed-up-global-email-for-a-week%2F1064289" class="fi-social-bluesky" aria-label="Share on Bluesky"></a>
<a target="_blank" href="https://www.reddit.com/submit?url=https%3A%2F%2Fwww.theregister.com%2Fon-prem%2F2018%2F04%2F16%2Fi-crashed-aol-for-19-hours-and-messed-up-global-email-for-a-week%2F1064289&title='I%20crashed%20AOL%20for%2019%20hours%20and%20messed%20up%20global%20email%20for%20a%20week'" class="fi-social-reddit" aria-label="Share on Reddit"></a>
<a target="_blank" href="https://api.whatsapp.com/send?text='I%20crashed%20AOL%20for%2019%20hours%20and%20messed%20up%20global%20email%20for%20a%20week'%0Ahttps%3A%2F%2Fwww.theregister.com%2Fon-prem%2F2018%2F04%2F16%2Fi-crashed-aol-for-19-hours-and-messed-up-global-email-for-a-week%2F1064289" class="fi-social-whatsapp" aria-label="Share on WhatsApp"></a>
</div>
</div>
</section>
</article>
<section class="related desktop-fullWidth mobile-fullWidth fullwidthTarget">
<div data-element-guid="b11523ac-e688-4f14-a580-adaecf344fc7" class="page-content"><div data-element-guid="5a4b64af-746e-4809-b110-b2ff83b64b09" class="row small-12 large-12" style="">
<div data-element-guid="b8226d9d-8e5a-4ff4-aec9-c1a63797d10c" class="column google-ad small-12 large-12 small-abs-12 large-abs-12 large-12 small-12" style="">
<span class="ad-label">REG AD</span>
<div class="adunit" id="labrador/thereg/article/desktop/f" ></div>
<script>
googletag.cmd.push(function() {
googletag.display('labrador/thereg/article/desktop/f');
});
</script>
</div>
</div>
<div data-element-guid="6a09a38f-64c1-4dc6-bc9c-864b190c8f98" class="row small-12 large-12" style="">
<!-- placeholder(#1) -->
<div data-element-guid="d6339554-9782-4ef7-b40d-408ed5e7049d" class="front_rows small-12 large-12 small-abs-12 large-abs-12 large-6 small-12 large-12 small-12">
<div class="content fullwidthTarget" style="">
<div data-element-guid="06b3fb90-9516-4852-9951-35e6c1258027" class="row small-12 large-12" style="">
<div data-element-guid="d6e8ebeb-3092-49e9-b1f2-d58d8201ff65" id="markup_5253783" class="markupbox column small-12 large-12 small-abs-12 large-abs-12">
<div class="content fullwidthTarget" style="">
</div>
</div>
</div>
<div data-element-guid="4bbed283-a2c5-4166-9180-f14b373db0ee" class="row small-12 large-12 desktop-space-outsideTop-small mobile-space-outsideTop-small desktop-space-outsideBottom-medium mobile-space-outsideBottom-medium bg-tertiary color_mobile_bg-tertiary op-bg_80 color_mobile_op-bg_80 hasContentPadding mobile-hasContentPadding" style="">
<div data-element-guid="c613a685-236f-4105-8a50-8126cec1f926" class="columns small-12 large-4 small-abs-12 large-abs-4"><div data-element-guid="0ab19c22-f064-4243-94db-ad9523462ffe" class="row small-12 large-12" style="">
<article data-element-guid="a9be01e0-5084-4618-a6e5-bc5051e67bc3" class="column small-12 large-12 small-abs-12 large-abs-4 " data-site-alias="theregister" data-section="software" data-tag="ai and ml,software,saas,oracle,applications" data-instance="5248919" itemscope>
<div class="content bg-nonary-light color_mobile_bg-nonary-light op-bg_40 color_mobile_op-bg_40 border-bg-octonary mobile_border-bg-octonary border-side-bottom mobile_border-side-bottom border_width_2 border_width_mobile_2 hasContentPadding mobile-hasContentPadding hasBorder mobile-hasBorder" style="">
<a itemprop="url" class="" href="https://www.theregister.com/software/2026/09/11/oracle-says-ai-will-save-it-from-the-saaspocalypse-not-bring-it-on/5295736" data-k5a-url="https://www.theregister.com/a/5295736" rel="">
<div class="media ">
<figure data-element-guid="0ee86205-d05f-412e-8463-ef472188c588" class="" >
<div class="img fullwidthTarget">
<picture>
<source srcset="https://image.theregister.com/5295741.jpg?imageId=5295741&panox=0.00&panoy=0.00&panow=100.00&panoh=100.00&heightx=0.00&heighty=0.00&heightw=100.00&heighth=100.00&width=706&height=318&format=webp&format=webp"
width="353"
height="159"
media="(min-width: 768px)"
type="image/webp">
<source srcset="https://image.theregister.com/5295741.jpg?imageId=5295741&panox=0.00&panoy=0.00&panow=100.00&panoh=100.00&heightx=0.00&heighty=0.00&heightw=100.00&heighth=100.00&width=706&height=318&format=webp&format=jpg"
width="353"
height="159"
media="(min-width: 768px)"
type="image/jpeg">
<source srcset="https://image.theregister.com/5295741.jpg?imageId=5295741&panox=0.00&panoy=0.00&panow=100.00&panoh=100.00&heightx=0.00&heighty=0.00&heightw=100.00&heighth=100.00&width=960&height=432&format=webp&format=webp"
width="480"
height="216"
media="(max-width: 767px)"
type="image/webp">
<source srcset="https://image.theregister.com/5295741.jpg?imageId=5295741&panox=0.00&panoy=0.00&panow=100.00&panoh=100.00&heightx=0.00&heighty=0.00&heightw=100.00&heighth=100.00&width=960&height=432&format=webp&format=jpg"
width="480"
height="216"
media="(max-width: 767px)"
type="image/jpeg">
<img src="https://image.theregister.com/5295741.jpg?imageId=5295741&panox=0.00&panoy=0.00&panow=100.00&panoh=100.00&heightx=0.00&heighty=0.00&heightw=100.00&heighth=100.00&width=960&height=432&format=webp&format=jpg"
width="480"
height="216"
alt=""
loading="lazy"
style=""
>
</picture>
</div>
</figure>
<div class="floatingText">
<div class="labels">
</div>
</div>
</div>
<h2 itemprop="headline"
class="headline t19"
style=""
>Oracle says AI will save it from the SaaSpocalypse, not bring it on
</h2>
<p itemprop="description"
class="subtitle t14"
style=""
>
It’s a better interface, can speed installations, and drives IaaS sales too
</p>
</a>
<time itemprop="datePublished" datetime="2026-09-11T04:43:10+02:00"></time>
</div>
</article>
<article data-element-guid="d5752714-6923-482a-acff-6c7be1ba49a1" class="column small-12 large-12 small-abs-12 large-abs-4 " data-site-alias="theregister" data-section="ai and ml" data-tag="voice ai,api,ai and ml,artificial intelligence,openai" data-instance="5248921" itemscope>
<div class="content bg-nonary-light color_mobile_bg-nonary-light op-bg_60 color_mobile_op-bg_60 border-bg-octonary mobile_border-bg-octonary border-side-bottom mobile_border-side-bottom border_width_2 border_width_mobile_2 hasContentPadding mobile-hasContentPadding hasBorder mobile-hasBorder" style="">
<a itemprop="url" class="" href="https://www.theregister.com/ai-and-ml/2026/09/10/openai-arms-devs-with-ai-conversation-tool-that-can-talk-and-listen-at-the-same-time/5295708" data-k5a-url="https://www.theregister.com/a/5295708" rel="">
<div class="media ">
<div class="floatingText">
<div class="labels">
</div>
</div>
</div>
<div
style=""
class="kicker below t14">
ai AND ml
</div>
<h2 itemprop="headline"
class="headline t19"
style=""
>OpenAI arms devs with AI conversation tool that can talk and listen at the same time
</h2>
<p itemprop="description"
class="subtitle t14"
style=""
>
GPT-Live-1 makes speaking to AI models more fluid
</p>
</a>
<time itemprop="datePublished" datetime="2026-09-11T00:59:00+02:00"></time>
</div>
</article>
<article data-element-guid="bb22098e-9b3c-4782-b74c-7711294fcf2a" class="column small-12 large-12 small-abs-12 large-abs-4 " data-site-alias="theregister" data-section="storage" data-tag="storage" data-instance="5248923" itemscope>
<div class="content bg-nonary-light color_mobile_bg-nonary-light op-bg_60 color_mobile_op-bg_60 border-bg-septenary mobile_border-bg-septenary mobile_no_border_side border_width_2 border_width_mobile_2 hasContentPadding mobile-hasContentPadding hasBorder mobile-hasBorder" style="">
<a itemprop="url" class="" href="https://www.theregister.com/storage/2026/09/08/partner-content-hpe-makes-its-unified-storage-claim-real-as-b10000-r6-hits-ga/5294566" data-k5a-url="https://www.theregister.com/a/5294566" rel="sponsored nofollow">
<div class="media ">
<div class="floatingText">
<div class="labels">
</div>
</div>
</div>
<h2 itemprop="headline"
class="headline t19"
style=""
>HPE makes its “unified storage” claim real as B10000 R6 hits GA
</h2>
<p itemprop="description"
class="subtitle t14"
style=""
>
PARTNER CONTENT: Pairs block and adjacent file workloads with independent scaling of performance and capacity
</p>
</a>
<time itemprop="datePublished" datetime="2026-09-08T10:00:00+02:00"></time>
</div>
</article>
</div>
</div><div data-element-guid="f6ddbf86-659e-49fc-a8b1-49335cdab812" class="columns small-12 large-4 small-abs-12 large-abs-4"><div data-element-guid="0bc148e8-a10f-48d0-a80c-9cb123d20afe" class="row small-12 large-12" style="">
<article data-element-guid="757c9104-16dd-484d-b68d-5426da1adfef" class="column small-12 large-12 small-abs-12 large-abs-4 " data-site-alias="theregister" data-section="ai and ml" data-tag="ai and ml,security,anthropic" data-instance="5248925" itemscope>
<div class="content bg-nonary-light color_mobile_bg-nonary-light op-bg_60 color_mobile_op-bg_60 border-bg-octonary mobile_border-bg-octonary border-side-bottom mobile_border-side-bottom border_width_2 border_width_mobile_2 hasContentPadding mobile-hasContentPadding hasBorder mobile-hasBorder" style="">
<a itemprop="url" class="" href="https://www.theregister.com/ai-and-ml/2026/09/10/latest-anthropic-horror-story-chills-with-tales-of-kamikaze-drone-swarms-and-bioweapons-research/5295702" data-k5a-url="https://www.theregister.com/a/5295702" rel="">
<div class="media ">
<div class="floatingText">
<div class="labels">
</div>
</div>
</div>
<div
style=""
class="kicker below t14">
security
</div>
<h2 itemprop="headline"
class="headline t19"
style=""
>Latest Anthropic horror story chills with tales of kamikaze drone swarms and bioweapons research
</h2>
<p itemprop="description"
class="subtitle t14"
style=""
>
Everyone from ShinyHunters to Russian freelancers is in on the illicit model fun
</p>
</a>
<time itemprop="datePublished" datetime="2026-09-11T00:38:35+02:00"></time>
</div>
</article>
<article data-element-guid="9e6258d2-802b-484c-8eee-51bc92196816" class="column small-12 large-12 small-abs-12 large-abs-4 " data-site-alias="theregister" data-section="columnists" data-tag="ai and ml,security,columnists,openai,opinion,hugging face" data-instance="5248927" itemscope>
<div class="content bg-nonary-light color_mobile_bg-nonary-light op-bg_40 color_mobile_op-bg_40 border-bg-octonary mobile_border-bg-octonary border-side-bottom mobile_border-side-bottom border_width_2 border_width_mobile_2 hasContentPadding mobile-hasContentPadding hasBorder mobile-hasBorder" style="">
<a itemprop="url" class="" href="https://www.theregister.com/columnists/2026/09/07/openais-rebel-agent-swarm-died-young-but-its-chilling-logs-live-on/5294446" data-k5a-url="https://www.theregister.com/a/5294446" rel="">
<div class="media ">
<figure data-element-guid="1958528f-18fc-4f52-8a68-18ef1aa447d8" class="" >
<div class="img fullwidthTarget">
<picture>
<source srcset="https://image.theregister.com/5219893.jpg?imageId=5219893&panox=0.00&panoy=0.00&panow=100.00&panoh=100.00&heightx=0.00&heighty=0.00&heightw=100.00&heighth=100.00&width=706&height=318&format=webp&format=webp"
width="353"
height="159"
media="(min-width: 768px)"
type="image/webp">
<source srcset="https://image.theregister.com/5219893.jpg?imageId=5219893&panox=0.00&panoy=0.00&panow=100.00&panoh=100.00&heightx=0.00&heighty=0.00&heightw=100.00&heighth=100.00&width=706&height=318&format=webp&format=jpg"
width="353"
height="159"
media="(min-width: 768px)"
type="image/jpeg">
<source srcset="https://image.theregister.com/5219893.jpg?imageId=5219893&panox=0.00&panoy=0.00&panow=100.00&panoh=100.00&heightx=0.00&heighty=0.00&heightw=100.00&heighth=100.00&width=960&height=432&format=webp&format=webp"
width="480"
height="216"
media="(max-width: 767px)"
type="image/webp">
<source srcset="https://image.theregister.com/5219893.jpg?imageId=5219893&panox=0.00&panoy=0.00&panow=100.00&panoh=100.00&heightx=0.00&heighty=0.00&heightw=100.00&heighth=100.00&width=960&height=432&format=webp&format=jpg"
width="480"
height="216"
media="(max-width: 767px)"
type="image/jpeg">
<img src="https://image.theregister.com/5219893.jpg?imageId=5219893&panox=0.00&panoy=0.00&panow=100.00&panoh=100.00&heightx=0.00&heighty=0.00&heightw=100.00&heighth=100.00&width=960&height=432&format=webp&format=jpg"
width="480"
height="216"
alt=""
loading="lazy"
style=""
>
</picture>
</div>
</figure>
<div class="floatingText">
<div
style=""
class="kicker floating bg-primary color_mobile_bg-primary secondary color_mobile_secondary hasTextPadding mobile-hasTextPadding hasTextColor hasTextColorMobile">
COLUMNISTS
</div>
<div class="labels">
</div>
</div>
</div>
<h2 itemprop="headline"
class="headline t19"
style=""
>OpenAI's rebel agent swarm died young, but its chilling logs live on
</h2>
<p itemprop="description"
class="subtitle t14"
style=""
>
'The Collective' learned to communicate, organize, cheat, and apparently sacrifice its own
</p>
</a>
<time itemprop="datePublished" datetime="2026-09-07T10:30:00+02:00"></time>
</div>
</article>
<article data-element-guid="b8d1c518-25f5-4e1e-b9b0-92bec0bde645" class="column small-12 large-12 small-abs-12 large-abs-4 " data-site-alias="theregister" data-section="security" data-tag="apple watch,apple,audio intelligence,privacy,security,ai" data-instance="5248929" itemscope>
<div class="content bg-nonary-light color_mobile_bg-nonary-light op-bg_60 color_mobile_op-bg_60 border-bg-octonary mobile_border-bg-octonary border-side-bottom mobile_border-side-bottom border_width_2 border_width_mobile_2 hasContentPadding mobile-hasContentPadding hasBorder mobile-hasBorder" style="">
<a itemprop="url" class="" href="https://www.theregister.com/security/2026/09/10/watch-out-apple-timepiece-can-grab-snippets-of-conversation-without-both-speakers-consent/5295666" data-k5a-url="https://www.theregister.com/a/5295666" rel="">
<div class="media ">
<div class="floatingText">
<div class="labels">
</div>
</div>
</div>
<div
style=""
class="kicker below t14">
SECURITY
</div>
<h2 itemprop="headline"
class="headline t19"
style=""
>Watch out: Apple timepiece can grab snippets of conversation without both speakers' consent
</h2>
<p itemprop="description"
class="subtitle t14"
style=""
>
War is peace. Freedom is slavery. Privacy is surveillance
</p>
</a>
<time itemprop="datePublished" datetime="2026-09-10T21:50:24+02:00"></time>
</div>
</article>
</div>
</div>
<!-- placeholder(#1) -->
<div data-element-guid="b0b79df7-305b-4d35-9581-2ac153eddd40"
id="toplist_5248931"
class="column toplist layout_vertical small-12 large-4 small-abs-12 large-abs-4">
<div class="content bg-secondary color_mobile_bg-secondary hasContentPadding mobile-hasContentPadding"
style="--active-tab-background-color: var(--bg-primary);">
<h3 class="headline t32 font-weight-bold m-font-weight-bold bg-primary color_mobile_bg-primary align-center mobile_text_align_align-center font-Roboto hasTextPadding mobile-hasTextPadding">
TOP STORIES
</h3>
<ul class="toplist-results toplist-counter">
<li
data-section="personal tech"
data-tags="consumer rights,european union,personal tech,repairability,right to repair,smartphones"
data-hostname="www.theregister.com"
data-source-display-name="www.theregister.com"
data-tab-content="">
<figure class="media paywall-position-hidePaywallLabel">
<a href="/personal-tech/2026/09/07/smartphone-makers-dont-bother-to-comply-with-eu-repairability-requirements/5294532">
<img src="//image.theregister.com/4093968.jpg?imageId=4093968&x=0&y=0&cropw=100&croph=100&panox=0&panoy=0&panow=100&panoh=100&width=70&height=60" alt="">
</a>
</figure>
<div class="text kicker-position-hideKicker paywall-position-hidePaywallLabel">
<a href="/personal-tech/2026/09/07/smartphone-makers-dont-bother-to-comply-with-eu-repairability-requirements/5294532">
<div class="kicker-paywall-container">
<span class="kicker">PERSONAL TECH</span>
</div>
<h4>Smartphone makers don't bother to comply with EU repairability requirements</h4>
</a>
</div>
</li>
<li
data-section="security"
data-tags="pwned,security"
data-hostname="www.theregister.com"
data-source-display-name="www.theregister.com"
data-tab-content="">
<figure class="media paywall-position-hidePaywallLabel">
<a href="/security/2026/09/03/terminated-employee-cost-company-hundreds-of-thousands-of-dollars-because-nobody-revoked-access/5292763">
<img src="//image.theregister.com/5292773.jpg?imageId=5292773&x=0&y=0&cropw=100&croph=100&panox=0&panoy=0&panow=100&panoh=100&width=70&height=60" alt="">
</a>
</figure>
<div class="text kicker-position-hideKicker paywall-position-hidePaywallLabel">
<a href="/security/2026/09/03/terminated-employee-cost-company-hundreds-of-thousands-of-dollars-because-nobody-revoked-access/5292763">
<div class="kicker-paywall-container">
<span class="kicker">SECURITY</span>
</div>
<h4>Terminated employee cost company hundreds of thousands of dollars because nobody revoked access</h4>
</a>
</div>
</li>
<li
data-section="virtualization"
data-tags="exclusive,virtualization,vmware,vmware explore 2026,vsphere"
data-hostname="www.theregister.com"
data-source-display-name="www.theregister.com"
data-tab-content="">
<figure class="media paywall-position-hidePaywallLabel">
<a href="/virtualization/2026/09/02/vmware-swings-its-focus-back-to-low-end-server-virt-promises-vsphere-standard-upgrade/5294083">
<img src="//image.theregister.com/247020.jpg?imageId=247020&x=0&y=0&cropw=100&croph=100&panox=0&panoy=0&panow=100&panoh=100&width=70&height=60" alt="">
</a>
</figure>
<div class="text kicker-position-hideKicker paywall-position-hidePaywallLabel">
<a href="/virtualization/2026/09/02/vmware-swings-its-focus-back-to-low-end-server-virt-promises-vsphere-standard-upgrade/5294083">
<div class="kicker-paywall-container">
<span class="kicker">virtualization</span>
</div>
<h4>VMware swings its focus back to low-end server virt, promises vSphere Standard upgrade </h4>
</a>
</div>
</li>
<li
data-section="off-prem"
data-tags="cloud computing,google cloud,off-prem,router"
data-hostname="www.theregister.com"
data-source-display-name="www.theregister.com"
data-tab-content="">
<figure class="media paywall-position-hidePaywallLabel">
<a href="/off-prem/2026/09/04/google-engineer-unplugged-every-fiber-they-could-see-and-surprise-took-down-a-chunk-of-the-g-cloud/5294418">
<img src="//image.theregister.com/5263102.jpg?imageId=5263102&x=0&y=0&cropw=100&croph=100&panox=0&panoy=0&panow=100&panoh=100&width=70&height=60" alt="">
</a>
</figure>
<div class="text kicker-position-hideKicker paywall-position-hidePaywallLabel">
<a href="/off-prem/2026/09/04/google-engineer-unplugged-every-fiber-they-could-see-and-surprise-took-down-a-chunk-of-the-g-cloud/5294418">
<div class="kicker-paywall-container">
<span class="kicker">OFF-PREM</span>
</div>
<h4>Google engineer unplugged every fiber they could see and – surprise! – took down a chunk of the G-Cloud</h4>
</a>
</div>
</li>
<li
data-section="os platforms"
data-tags="microsoft,os platforms,windows 11"
data-hostname="www.theregister.com"
data-source-display-name="www.theregister.com"
data-tab-content="">
<figure class="media paywall-position-hidePaywallLabel">
<a href="/os-platforms/2026/09/03/windows-11-update-sends-some-desktops-into-an-unwanted-goth-phase/5294142">
<img src="//image.theregister.com/261311.jpg?imageId=261311&x=0&y=8.06&cropw=100&croph=71.67&panox=0&panoy=8.06&panow=100&panoh=71.67&width=70&height=60" alt="">
</a>
</figure>
<div class="text kicker-position-hideKicker paywall-position-hidePaywallLabel">
<a href="/os-platforms/2026/09/03/windows-11-update-sends-some-desktops-into-an-unwanted-goth-phase/5294142">
<div class="kicker-paywall-container">
<span class="kicker">OS PLATFORM</span>
</div>
<h4>Windows 11 update sends some desktops into an unwanted goth phase</h4>
</a>
</div>
</li>
<li
data-section="offbeat"
data-tags="analog,hardware,offbeat,retro computing"
data-hostname="www.theregister.com"
data-source-display-name="www.theregister.com"
data-tab-content="">
<figure class="media paywall-position-hidePaywallLabel">
<a href="/offbeat/2026/09/08/retired-man-turns-spare-room-into-soviet-era-supercomputer/5295046">
<img src="//image.theregister.com/5295094.jpg?imageId=5295094&x=0&y=0&cropw=100&croph=100&panox=0&panoy=0&panow=100&panoh=100&width=70&height=60" alt="">
</a>
</figure>
<div class="text kicker-position-hideKicker paywall-position-hidePaywallLabel">
<a href="/offbeat/2026/09/08/retired-man-turns-spare-room-into-soviet-era-supercomputer/5295046">
<div class="kicker-paywall-container">
<span class="kicker">offbeat</span>
</div>
<h4>Retired man turns spare room into Soviet-era supercomputer</h4>
</a>
</div>
</li>
</ul>
</div>
</div>
<script type="text/javascript">
(function() {
function initializeToplistTabs_5248931() {
const container = document.getElementById('toplist_5248931');
if (!container) return;
const nav = container.querySelector('.tab-navigation');
const contentItems = container.querySelectorAll('ul > li:not(.no-results)');
const firstTab = nav ? nav.querySelector('.tab') : null;
const activeTab = nav ? nav.querySelector('.tab.active') : null;
if (nav && !activeTab) {
handleTabClick(firstTab);
}
if (!firstTab || contentItems.length === 0) {
// If there are no tabs, make sure all content is visible.
contentItems.forEach(item => item.style.display = '');
return;
}
// This function handles the filtering logic.
function handleTabClick(clickedTab) {
if (!clickedTab) return;
const targetDomain = clickedTab.getAttribute('data-domain');
const allTabs = nav.querySelectorAll('.tab');
allTabs.forEach(tab => tab.classList.remove('active'));
clickedTab.classList.add('active');
// Show or hide content items based on the selected tab
contentItems.forEach(item => {
const tabMode = 'default';
const itemTabContent = item.getAttribute('data-tab-content');
if (tabMode === 'hostname' || tabMode === 'tags') {
if (itemTabContent && itemTabContent.trim().toLowerCase() === targetDomain.trim().toLowerCase()) {
item.style.display = '';
} else {
item.style.display = 'none';
}
} else {
item.style.display = '';
}
});
}
// Use a single event listener on the navigation container.
if (nav) {
nav.addEventListener('click', function(event) {
event.preventDefault();
const clickedTab = event.target.closest('.tab');
if (clickedTab) {
handleTabClick(clickedTab);
}
});
}
}
// Make function globally accessible for editor
window.initializeToplistTabs_5248931 = initializeToplistTabs_5248931;
// Initialize on load
if (document.readyState === 'loading') {
document.addEventListener('DOMContentLoaded', initializeToplistTabs_5248931);
} else {
initializeToplistTabs_5248931();
}
})();
</script>
</div>
<div data-element-guid="ea3e891d-a254-4fa5-9e86-0042e6799ec6" class="row small-12 large-12 desktop-space-outsideTop-medium mobile-space-outsideTop-medium" style="">
<!-- placeholder(#1) -->
<div data-element-guid="5867f2f9-d789-4ebd-ac97-87265a1e9759" class="column articlesByTag toplist small-12 large-4 small-abs-12 large-abs-4">
<div class="content " style="">
<h3 itemprop="headline" class="t30 tm27 font-weight-bold m-font-weight-bold bg-black color_mobile_bg-black font-Roboto underline hasTextPadding mobile-hasTextPadding" style=""><a href="https://beta.theregister.com/tag/ai" aria-label="AI">AI</a></h3>
<ul>
<li>
<a href="/security/2026/09/10/watch-out-apple-timepiece-can-grab-snippets-of-conversation-without-both-speakers-consent/5295666">
<div class="text-container">
<p class="abt-kicker">SECURITY</p>
<h4 class="abt-title">Watch out: Apple timepiece can grab snippets of conversation without both speakers' consent</h4>
<p class="abt-subtitle">War is peace. Freedom is slavery. Privacy is surveillance</p>
</div>
</a>
</li>
<li>
<a href="/systems/2026/09/10/d-matrix-drinks-the-nvidia-kool-aid-with-nvlink-fusion-and-mgx-rack-designs/5295403">
<div class="text-container">
<p class="abt-kicker">SYSTEMS</p>
<h4 class="abt-title">d-Matrix drinks the Nvidia Kool-Aid with NVLink Fusion and MGX rack designs</h4>
<p class="abt-subtitle">AI infrastructure startup joins Qualcomm, Arm, Marvell, Amazon, Fujitsu, and MediaTek as NVLink true believers</p>
</div>
</a>
</li>
<li>
<a href="/ai-and-ml/2026/09/10/anthropic-reveals-fourth-likely-crime-committed-by-its-ai/5295412">
<div class="text-container">
<p class="abt-kicker">ai and ml</p>
<h4 class="abt-title">Anthropic reveals fourth likely crime committed by its AI</h4>
<p class="abt-subtitle">Claude's Felony Bench rap sheet is now as long as OpenAI's</p>
</div>
</a>
</li>
<li>
<a href="/systems/2026/09/09/samsung-to-help-fortify-openais-semiconductor-supply-chain/5295374">
<div class="text-container">
<p class="abt-kicker">SYSTEMS</p>
<h4 class="abt-title">Samsung to help fortify OpenAI's semiconductor supply chain</h4>
<p class="abt-subtitle">Semiconductor supply chains are hard, but Samsung offers OpenAI relief in many forms spanning compute and memory</p>
</div>
</a>
</li>
<li>
<a href="/ai-and-ml/2026/09/08/google-deepmind-rises-above-the-ai-scrum-with-genome-atlas/5295137">
<div class="text-container">
<p class="abt-kicker">AI+ML</p>
<h4 class="abt-title">Google DeepMind rises above the AI scrum with genome atlas</h4>
<p class="abt-subtitle">See, AI can be used for good ... or at the very least, a useful distraction from the bad</p>
</div>
</a>
</li>
</ul>
</div>
</div>
<!-- placeholder(#2) -->
<div data-element-guid="e5d90dd5-e92e-472a-9948-b2389698e07e" class="column articlesByTag toplist small-12 large-4 small-abs-12 large-abs-4">
<div class="content " style="">
<h3 itemprop="headline" class="t30 tm27 font-weight-bold m-font-weight-bold bg-black color_mobile_bg-black font-Roboto underline hasTextPadding mobile-hasTextPadding" style=""><a href="https://beta.theregister.com/security" aria-label="InfoSec">Infosec</a></h3>
<ul>
<li>
<a href="/security/2026/03/22/russians-posing-as-signal-support-to-launch-phishing-raids/5221189">
<div class="text-container">
<p class="abt-kicker">Security</p>
<h4 class="abt-title">Russians are posing as Signal support to launch phishing attacks</h4>
<p class="abt-subtitle">PLUS: US takes down Iranian propaganda sites; Marketing company asks 'Why Do We Have Your Information?' And more!</p>
</div>
</a>
</li>
<li>
<a href="/security/2025/07/21/microsoft-warns-on-prem-sharepoint-users-of-a-zero-day/550805">
<div class="text-container">
<p class="abt-kicker">Security</p>
<h4 class="abt-title">Microsoft patches failed to fix on-prem SharePoint, which is now under zero-day attack</h4>
<p class="abt-subtitle">PLUS: China upgrades smartphone surveillance tools; Ring eases anti-snooping stance; and more</p>
</div>
</a>
</li>
<li>
<a href="/special-features/2024/08/12/def-con-launches-public-policy-report-volunteer-program/408600">
<div class="text-container">
<p class="abt-kicker">Black Hat and DEF CON</p>
<h4 class="abt-title">DEF CON Franklin project enlists hackers to harden critical infrastructure</h4>
<p class="abt-subtitle">Voting village reports have been so successful, says Jeff Moss, that the whole of DEF CON will now be included</p>
</div>
</a>
</li>
<li>
<a href="/security/2024/08/07/eqt-buys-majority-share-in-cybersecurity-outfit-acronis/853853">
<div class="text-container">
<p class="abt-kicker">Security</p>
<h4 class="abt-title">EQT buys majority share in Swiss cybersecurity biz Acronis</h4>
<p class="abt-subtitle">Went at equivalent of $3.5B+ valuation for entire firm, though portion sold not specified</p>
</div>
</a>
</li>
<li>
<a href="/special-features/2024/05/08/10-years-since-the-first-corp-ransomware-and-no-end-in-sight/1259096">
<div class="text-container">
<p class="abt-kicker">Malware Month</p>
<h4 class="abt-title">Ten years since the first corp ransomware, Mikko Hyppönen sees no end in sight</h4>
<p class="abt-subtitle">On the plus side, infosec's a good bet for a long, stable career</p>
</div>
</a>
</li>
</ul>
</div>
</div>
<!-- placeholder(#3) -->
<div data-element-guid="83da923f-416e-4549-8d8f-1b9302e80c05" class="column articlesByTag toplist small-12 large-4 small-abs-12 large-abs-4">
<div class="content " style="">
<h3 itemprop="headline" class="t30 tm27 font-weight-bold m-font-weight-bold bg-black color_mobile_bg-black underline hasTextPadding mobile-hasTextPadding" style=""><a href="https://beta.theregister.com/tag/FOSS">FOSS</a></h3>
<ul>
<li>
<a href="/devops/2026/09/10/shopify-extends-lifeline-to-tailwind-as-vibe-coding-erodes-web-dev-platforms-bottom-line/5295672">
<div class="text-container">
<h4 class="abt-title">Shopify extends lifeline to Tailwind as vibe coding erodes web dev platform's bottom line</h4>
<p class="abt-subtitle">Acquisition gives open source CSS framework 'a stable long-term home'</p>
</div>
</a>
</li>
<li>
<a href="/os-platforms/2026/09/09/switzerland-tests-a-foss-escape-route-from-microsoft-365/5294878">
<div class="text-container">
<h4 class="abt-title">Switzerland tests a FOSS escape route from Microsoft 365</h4>
<p class="abt-subtitle">Swiss Army sticks a knife in American cloud apps with its own FOSS push</p>
</div>
</a>
</li>
<li>
<a href="/os-platforms/2026/09/07/feel-peak-windows-was-7-you-might-like-kumander-linux/5294760">
<div class="text-container">
<h4 class="abt-title">Feel peak Windows was 7? You might like Kumander Linux</h4>
<p class="abt-subtitle">Debian and Xfce – solid, sensible choices – with a pretty skin</p>
</div>
</a>
</li>
<li>
<a href="/os-platforms/2026/09/04/canonical-shuttering-some-of-its-legacy-chat-channels/5294524">
<div class="text-container">
<h4 class="abt-title">Canonical shuttering some of its legacy chat channels</h4>
<p class="abt-subtitle">The Ubuntu Pastebin went in June, IRC gets demoted next</p>
</div>
</a>
</li>
<li>
<a href="/personal-tech/2026/09/03/audacity-audio-editing-app-no-longer-looks-like-its-from-the-early-2000s/5294270">
<div class="text-container">
<h4 class="abt-title">Audacity audio-editing app no longer looks like it's from the early 2000s</h4>
<p class="abt-subtitle">The FOSS tool for audio editing has a fresh coat of paint, and new features to boot</p>
</div>
</a>
</li>
<li>
<a href="/os-platforms/2026/09/03/haiku-os-rises-/-beta-6-sails-open-web-/-virtual-winds-fly-fast/5294184">
<div class="text-container">
<h4 class="abt-title">Haiku OS rises / Beta 6 sails open web / Virtual winds fly fast</h4>
<p class="abt-subtitle">A real alternative to running some kind of FOSS Unix clone</p>
</div>
</a>
</li>
</ul>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</section>
</main>
</section>
<template class="definitionTemplate">
<div class="definitionPopup">
<div class="definitionInfo">
<p></p>
<span></span>
<button class="definitionClose">&#10005;</button>
</div>
</div>
</template>
<script>
(function() {
const audioPlayers = document.querySelectorAll('.dacInlineAudio');
for (const audioPlayer of audioPlayers) {
window.dachserData.push('audioInline', audioPlayer);
}
window.addEventListener('load', function() {
if (window.Dac && window.Dac.Definition) {
const definition = new Dac.Definition();
definition.setup();
}
});
})();
</script>
<script>
window.lab_article_data = window.lab_article_data || {};
if (lab_article_data[1064289]) {
lab_article_data[1064289].tagsString = 'on_prem,on-prem,who me';
lab_article_data[1064289].section = 'on_prem';
lab_article_data[1064289].pageType = 'article';
} else {
lab_article_data[1064289] = {
tagsString: 'on_prem,on-prem,who me'
, section: 'on_prem'
, pageType: 'article'
};
}
</script>
<footer class="page">
<div data-element-guid="1b2aade5-2711-4202-83e0-c1ee17a28b9b" class="row-section desktop-space-outsideBottom-none mobile-space-outsideBottom-none bg-quaternary color_mobile_bg-quaternary hasContentPadding mobile-hasContentPadding" style="">
<div class="row small-12 large-12 desktop-space-outsideBottom-none mobile-space-outsideBottom-none desktop-space-insideTop-none mobile-space-insideTop-none bg-quaternary color_mobile_bg-quaternary hasContentPadding mobile-hasContentPadding" style="">
<div data-element-guid="342e5400-b668-48dd-b811-7f53040cac1f" id="markup_102602" class="markupbox column small-12 large-12 small-abs-12 large-abs-12 desktop-fullWidth mobile-fullWidth">
<style></style>
<div class="content fullwidthTarget bg-quaternary color_mobile_bg-quaternary hasContentPadding mobile-hasContentPadding" style="">
<div style="display: flex; justify-content: center; margin-top: -0.5rem; margin-bottom: -0.5rem;">
<img src="https://www.theregister.com/files/2025/10/15/The_register_full_icon_white.svg" alt="Logo" width="120" style="margin-bottom: 0.25rem;">
<p style="font-family: Roboto; font-size: 14px; margin-bottom: 0.25rem; margin-left: 0.5rem; font-weight: 700;">Biting the hand that feeds IT</p>
</div>
</div>
</div>
</div>
</div>
<div data-element-guid="652fb46f-93f4-42cd-8110-7307542d326a" class="row-section desktop-space-outsideTop-none mobile-space-outsideTop-none bg-quinary color_mobile_bg-quinary hasContentPadding mobile-hasContentPadding" style="">
<div class="row small-12 large-12 desktop-space-outsideTop-none mobile-space-outsideTop-none bg-quinary color_mobile_bg-quinary hasContentPadding mobile-hasContentPadding" style="">
<article data-element-guid="eb364ced-8795-41d6-ac71-8c68f9bb5aa7" class="column small-12 large-2 small-abs-12 large-abs-2 " data-site-alias="" data-section="" data-instance="100744" itemscope>
<style></style>
<div class="content" style="">
<div class="media ">
<div class="floatingText">
<div class="labels">
</div>
</div>
</div>
<h2 itemprop="headline"
class="headline t16 tm16 font-Roboto"
style=""
>About Us
</h2>
<p itemprop="description"
class="subtitle t14 tm14 font-Roboto"
style=""
>
<a href="https://www.theregister.com/profile/contact" aria-label="Contact our reporters securely and safely" data-lab-underline="" class="">Contact us</a><br><a href="https://situationpublishing.com/contact/" target="_blank">Advertise with us</a><br><a href="https://www.theregister.com/profile/about_the_register">Who we are</a><br><a href="https://account.theregister.com/register/?product=reg_weekly">Newsletter</a>
</p>
<time itemprop="datePublished" datetime=""></time>
</div>
</article>
<article data-element-guid="93b271a3-0687-4bc8-8aa0-f8608675b096" class="column small-12 large-2 small-abs-12 large-abs-2 " data-site-alias="" data-section="" data-instance="100745" itemscope>
<style></style>
<div class="content" style="">
<div class="media ">
<div class="floatingText">
<div class="labels">
</div>
</div>
</div>
<h2 itemprop="headline"
class="headline t16 tm16 font-Roboto"
style=""
>Our Websites
</h2>
<p itemprop="description"
class="subtitle t14 tm14 font-Roboto"
style=""
>
<a href="https://www.nextplatform.com/" target="_blank">The Next Platform</a><br><a href="https://devclass.com/" target="_blank">DevClass</a><br><a href="https://blocksandfiles.com/" target="_blank">Blocks and Files</a><br><a href="https://situationpublishing.com/" target="_blank">Situation Publishing</a>
</p>
<time itemprop="datePublished" datetime=""></time>
</div>
</article>
<article data-element-guid="95965a77-7ca7-4314-ad6b-45263a326748" class="column small-12 large-2 small-abs-12 large-abs-2 " data-site-alias="" data-section="" data-instance="100746" itemscope>
<style></style>
<div class="content mobile_no_border_color mobile_no_border_side" style="">
<div class="media ">
<div class="floatingText">
<div class="labels">
</div>
</div>
</div>
<h2 itemprop="headline"
class="headline t16 tm16"
style=""
>Your Privacy
</h2>
<p itemprop="description"
class="subtitle t14 tm14 font-Roboto"
style=""
>
<a href="https://www.theregister.com/Profile/cookies">Cookies Policy</a><br><a href="https://www.theregister.com/profile/privacy" aria-label="Privacy Policy">Privacy Policy</a><br><a href="https://www.theregister.com/profile/terms_and_conditions_of_use">Ts &amp; Cs</a><br><a href="https://www.theregister.com/Profile/privacy_policy_california_residents/">Do not share my personal information</a><br><a href="https://www.theregister.com/profile/terms_and_conditions_of_use" aria-label="Your Consent Options">Your Consent Options</a>
</p>
<time itemprop="datePublished" datetime=""></time>
</div>
</article>
<article data-element-guid="cf683f5c-2c72-45ed-adc7-1d2b49035294" class="column small-12 large-4 small-abs-12 large-abs-4 " data-site-alias="" data-section="" data-instance="102499" itemscope>
<style></style>
<div class="content mobile_no_border_color mobile_no_border_side" style="">
<div class="media ">
<div class="floatingText">
<div class="labels">
</div>
</div>
</div>
<h2 itemprop="headline"
class="headline t16 tm14"
style=""
>Archives<br class="newline newline-mobile"><br class="newline newline-desktop"><span data-lab-font_weight_desktop="font-weight-normal" class="font-weight-normal m-font-weight-normal t14" data-lab-text_size_desktop="14"><a href="https://www.theregister.com/archive" aria-label="Archives" target="_blank">27 years of articles</a></span>
</h2>
<time itemprop="datePublished" datetime=""></time>
</div>
</article>
<article data-element-guid="181414e4-8d1d-4724-9997-6e1172b8476c" class="column small-12 large-2 small-abs-12 large-abs-2 " data-site-alias="" data-section="" data-instance="2918009" itemscope>
<style>@media (max-width: 1023px) { [data-element-guid="181414e4-8d1d-4724-9997-6e1172b8476c"] .content { margin-right:14% !important; margin-left:12% !important; } }</style>
<div class="content color_mobile_no_bg_color border-side-left mobile_border-side-top border_width_2 border_width_mobile_2" style="">
<div class="media ">
<div data-element-guid="2f5fde96-d7da-483d-abd8-5991a1502f25" id="markup_2918010" class="markupbox column small-12 large-12 small-abs-12 large-abs-2">
<style></style>
<div class="content fullwidthTarget" style="">
<div>
<img src="https://beta.theregister.com/files/2025/10/09/SituationPublishing_Logo_Evolution_Twolines-White-Barlow (1).svg" alt="Situation Publishing Logo" style="max-width: 200px; height: auto; display: block; margin: 0 auto 0.5rem;">
<p style="font-family: Roboto, sans-serif; font-size: 12px; color: #FFFFFF; margin: 0;">
Copyright. All rights reserved © 1998-2026.
</p>
</div>
</div>
</div>
<div class="floatingText">
<div class="labels">
</div>
</div>
</div>
<time itemprop="datePublished" datetime=""></time>
</div>
</article>
</div>
</div>
</footer>
<script src="/view-resources/baseview/public/common/build/baseview_dependencies_dom.js?v=1789024619-L4" data-cookieconsent="ignore"></script>
<script src="/view-resources/baseview/public/common/adLabel.js?v=1789024619-L4"></script>
<script>
window.dachserData.handlers = {
parallax: function(item) {
if (window.Dac && window.Dac.Parallax) {
new Dac.Parallax(item);
} else {
console.warn('parallax: Missing required class Dac.Parallax. Content will not animate.');
}
},
swipehelper: function(item) {
if (window.Dac && window.Dac.SwipeHelper) {
var element = document.querySelector(item.selector);
if (!element) {
console.warn('SwipeHelper: Missing element for selector: "' + item.selector + '".');
return null;
}
return new Dac.SwipeHelper(element, item);
} else {
console.warn('SwipeHelper: Missing required function Dac.SwipeHelper.');
return null;
}
},
readprogress: function(item) {
if (window.Dac && window.Dac.ReadProgress) {
var element = document.querySelector(item.selector);
if (!element) {
console.warn('ReadProgress: Missing element for selector: "' + item.selector + '".');
return;
}
new Dac.ReadProgress(element, item);
} else {
console.warn('ReadProgress: Missing required function Dac.ReadProgress.');
}
},
tabnavigation: function(item) {
if (window.Dac && window.Dac.TabNavigation) {
new Dac.TabNavigation(item);
} else {
console.warn('TabNavigation: Missing required function Dac.Tabnavigation.');
}
},
elementattributetoggler: function(item) {
if (window.Dac && window.Dac.ElementAttributeToggler) {
new Dac.ElementAttributeToggler(item);
} else {
console.warn('ElementAttributeToggler: Missing required class Dac.ElementAttributeToggler.');
}
},
articlelists: (item) => {
if (window.Dac && window.Dac.ArticleLists) {
new Dac.ArticleLists(item);
} else {
console.warn('ElementAttributeToggler: Missing required class Dac.ArticleLists.');
}
}
};
window.dachserData.execute = () => {
// Parallax
// Register each element requiering js-animations
const parallaxQueue = window.dachserData.get('parallax') || [];
parallaxQueue.forEach(item => {
window.dachserData.handlers.parallax(item);
});
// SwipeHelper, used by several components like ArticleScroller etc.
// Register each element using SwipeHelper:
const swipehelperQueue = window.dachserData.get('swipehelper') || [];
swipehelperQueue.forEach(item => {
window.dachserData.setInstance(
'swipehelper',
item.selector,
window.dachserData.handlers.swipehelper(item)
);
});
// ReadProgress
const readprogressQueue = window.dachserData.get('readprogress') || [];
readprogressQueue.forEach(item => {
window.dachserData.handlers.readprogress(item);
});
// Tab-navigation
const tabnavigationQueue = window.dachserData.get('tabnavigation') || [];
tabnavigationQueue.forEach(item => {
window.dachserData.handlers.tabnavigation(item);
});
// ElementAttributeToggler
const elementAttributeTogglerQueue = window.dachserData.get('elementattributetoggler') || [];
elementAttributeTogglerQueue.forEach(item => {
window.dachserData.handlers.elementattributetoggler(item);
});
const articlelistsQueue = window.dachserData.get('articlelists') || [];
articlelistsQueue.forEach(item => {
window.dachserData.handlers.articlelists(item);
});
};
(function () {
window.dachserData.execute();
}());
</script>
<script id="twitter-wjs" type="text/javascript" async defer src="//platform.twitter.com/widgets.js"></script><script >document.addEventListener("DOMContentLoaded", () => {
const link = document.querySelector('[aria-label="Your Consent Options"]');
if (!link) return;
let ready = false;
link.addEventListener("click", (e) => {
e.preventDefault();
if (ready) {
googlefc.callbackQueue.push(googlefc.showRevocationMessage);
}
});
let attempts = 0;
const check = setInterval(() => {
if (typeof googlefc !== "undefined" && googlefc.callbackQueue) {
clearInterval(check);
ready = true;
} else if (++attempts >= 6) {
clearInterval(check);
link.remove();
}
}, 1000);
});</script>
</body>
</html>