PS. Instagram app/site, whatsapp.com, messenger.com, oculus.com also down, anything else?
UPDATE: Everything back up! (Even the status page)
PS. Instagram app/site, whatsapp.com, messenger.com, oculus.com also down, anything else?
UPDATE: Everything back up! (Even the status page)
<?xml version="1.0"?>
<!DOCTYPE html>
<html lang="en" id="facebook">
<head>
<title>Error</title>
<meta charset="utf-8"/>
<meta http-equiv="Cache-Control" content="no-cache"/>
<meta name="robots" content="noindex,nofollow"/>
<style>
html, body { color: #333; font-family: 'Lucida Grande', 'Tahoma', 'Verdana', 'Arial', sans-serif; margin: 0; padding: 0; text-align: center;}
#header { height: 30px; padding-bottom: 10px; padding-top: 10px; text-align: center;}
#icon { width: 30px;}
.core { margin: auto; padding: 1em 0; text-align: left; width: 904px;}
h1 { font-size: 18px;}
p { font-size: 13px;}
.footer { border-top: 1px solid #ddd; color: #777; float: left; font-size: 11px; padding: 5px 8px 6px 0; width: 904px;}
</style>
</head>
<body>
<div id="header">
<a href="//www.facebook.com/">
<img id="icon" src="//static.facebook.com/images/logos/facebook_2x.png"/>
</a>
</div>
<div class="core">
<h1>Sorry, something went wrong.</h1>
<p>We're working on getting this fixed as soon as we can.</p>
<p>
<a id="back" href="//www.facebook.com/">Go Back</a>
</p>
<div class="footer"> Facebook © 2021 · <a href="//www.facebook.com/help/">Help</a></div>
</div>
<script>
document.getElementById("back").onclick = function() {
if (history.length > 1) {
history.back();
return false;
}
};
</script>
</body>
</html>
And the png does not load. # curl -i https://www.facebook.com/
HTTP/1.1 500 Internal Server Error
X-Frame-Options: DENY
X-XSS-Protection: 0
X-Content-Type-Options: nosniff
Strict-Transport-Security: max-age=15552000; preload
Set-Cookie: ...
Expires: Sat, 01 Jan 2000 00:00:00 GMT
Cache-Control: private, no-cache, no-store, must-revalidate
Vary: Accept-Encoding
Pragma: no-cache
x-fb-rlafr: 0
Content-Type: text/html; charset="utf-8"
X-FB-Debug: ...
Date: Thu, 08 Apr 2021 21:41:49 GMT
Priority: u=3,i
Transfer-Encoding: chunked
Alt-Svc: h3-29=":443"; ma=3600,h3-27=":443"; ma=3600
Connection: keep-alive
<!DOCTYPE html><html lang="en" id="facebook"><head><title>Error</title>...The year 2000 doesn’t sound right.
Notably, Facebook hasn't updated theirs, though.
Clearly you have not experienced the absolute joy of a mission-critical locked-in-vendor B2B SaaS with no status page, no active Twitter presence, and the effective status page being a chat widget that routes to a person overseas who says "oh yeah this is a known outage on our main product please stay tuned" but there's no attempt to proactively make it visible to clients that they know there is an outage.
EDIT: fun fact, said vendor lets us use a subdomain we own, so we just route them through a Cloudflare Worker that injects Sentry into their HTML, so that we can monitor errors ourselves and raise tickets with them pretending that we know less than we actually know, because somehow we have a better observability culture than a SaaS vendor that's been around for 20 years. Don't underestimate the difference between vendor.mybrand.com and mybrand.vendor.com on a feature matrix, it may save your sanity.
What are the odds it's some IRC bot running under someone's desk?
~# wget https://developers.facebook.com/status/dashboard/
Connecting to developers.facebook.com (157.240.206.16:443)
wget: can't connect to remote host (157.240.206.16): Operation timed outFor example the people responsible for the bootup scripts of Facebook infra could sneak in a "0 0 1 * * /bin/rm -rf ${TEMPDIR}/*" into crontab... They'd set the commit message as "clear out temp monthly" and it would get deployed across the entire fleet till in the first of next month every disk at Facebook gets erased because TEMPDIR isn't defined...
I guess they have enough pending stock to deter them...
This is not how non-trivial services work.
Writing code that appears to do one thing and actually does another is very doable - you only need to hide one malicious line amongst thousands in a code review, while the reviewer needs to inspect every line.
Besides, the vast majority of code reviews are 10 minutes or less.
p.s. I had a short internship there.