What really happened when Facebook shut down?

6

October

2021

No ratings yet.

Probably everyone noticed what happened to Facebook, Instagram, and Whatsapp this week. Because of a human error, the platforms were no longer reachable and caused millions of people to open their favourite app every half an hour to check if they could connect with their friends again. 

Now, what causes something like this? What happened when Facebook ‘was down’. I’ll try to shed a little bit of light on this topic and share some implications.

The internet is basically a network of networks. Those networks can be an internet service provider (ISP), a university system of computers, a government agency’s computer system, or something that contains information within a ‘network’, called an Autonomous System (AS). Now all of those networks need to be connected to access a file stored somewhere else in the network. You can get there using what you call a Borderline Gate Protocol (BGP); it figures out which route through the networks you should take to access the file you want. It does this by listening to the ‘Prefix announcement’. These announcements by an AS tell what IP Addresses (i.e. Facebook) they can deliver traffic to. The AS either hosts this IP Address itself or is connected to an AS that does.

Schematic view of the internet

All AS’es are shouting out the IP addresses they can deliver traffic to. The BGP picks up this signal and finds the best way to get there, hopping from AS to AS until it arrives at the IP address containing the correct data. What happened to Facebook was that someone updated the company’s BGP records, which took away ‘the map’ that made Facebook visible in the network. Whenever someone tried to connect to Facebook, no AS could tell where to go. You can compare this with your friends sharing their live location so you can go to their current location, but suddenly, you can’t see them on the map. It doesn’t mean they have evaporated or disappeared from the earth, but you don’t know where they are.

The outage has huge implications

That you can’t share a meme on Facebook for a few hours probably won’t do much harm, not liking a cat video neither. But communication channels like Whatsapp are commonly used for communication on the work floor (or as student for a project), and is increasingly used for connecting with businesses. Imagine an outage of Google’s DNS server, which millions of people rely on. That will not only affect consumers, but would disrupt commerce and critical infrastructure, factory production, fleet transport, basically any industry you can think of.

The Facebook outage has drawn attention to the vulnerability of the world to failures of this nature. The internet is a complex system of systems in which much can go wrong and following Murphy’s law “anything that can go wrong, will go wrong”. It also leaves room for criminals to highjack a BGP and redirect traffic to a malicious website; with 80,000 autonomous systems, it is not surprising that some would be untrustworthy.

Hopefully we can continue to share our social lives online without any inferences anytime soon, but when it happens, you know why and know the consequences.

Sources:

https://www.researchgate.net/figure/Internet-is-a-network-of-networks-interconnected-by-various-business-models_fig3_304797449

https://www.wired.com/story/why-facebook-instagram-whatsapp-went-down-outage/

https://krebsonsecurity.com/2021/10/what-happened-to-facebook-instagram-whatsapp/

Please rate this

AI as your coding buddy, or driving human coders obsolete?

14

September

2021

5/5 (1)

AI is probably the most (over)used term in the past decade and is the root of many disruptive and sustaining innovation. OpenAI (oh yes, an Elon Musk company), is a frontier on AI research and deployment. Their mission is to ensure that artificial general intelligence (AGI), meaning the outperformance of human work by autonomous systems, benefits all of humanity.

In 2020, OpenAI released a paper about GPT-3, a language model capable of processing natural language as input and transforming it into usable outputs like complex SVG graphs, answering exam questions and writing math formulas. For example, the input ‘Show a scatter plot with minimum temperature and maximum temperature both on the y-axis’ gives an output as shown below. The only input was the text and the database the data was based on.

SVG chart generated by OpenAI’s Codex program (source: https://www.buildgpt3.com/post/29/)

This means that complex tasks that previously solely humans could perform, are now within the realm of AGI, only with the input of a simple prompt. Although the GPT-3 could do some impressive things, it was still fairly limited.

Earlier this month, OpenAI released Codex, based on GPT-3. This system can interpret simple commands in natural language and execute them on the user’s behalf, which makes building natural language interfaces to existing applications. Where GTP-3 was primarily good at generating natural language, Codex could produce working code. With the use of an API, commands can be issued in English to any piece of software.

To visualise what Codex is capable of, OpenAi released a video of them coding a simple space game in under 9 minutes as shown below. Previously, we could not have imagined that a game like this could be developed with such speed and without writing a single line of code. The AI basically functions as an employee with coding knowledge, and you are the manager providing the requirements.

So, what does this mean? Did the apocalypse for the software developer arrive? Probably not, at least not any time soon.

Two sides of programming
The majority of developers are spending half, or less, of their day coding. This becomes apparent from a survey from ActiveState. Activities such as design and architecture, meetings, testing, and bug hunting are other time-consuming activities. Those activities are necessary to perform with the skills software developers have as they require human creativity and coder-mindset.

But Codex can still play a roll in this. Demand for developers has been rising for the last decennia and will keep going at this rate. Codex will allow coders to work more efficiently and will help filling the supply/demand gap. Greg Brockman, a researcher at OpenAI, talks about two sides of programming. One side is the more requirement related side, in which the problem must be solved and divided into smaller pieces. On the other side, those pieces must be mapped to existing code. Especially the latter activity is something Codex works exceptionally well for, and beta-testers say it brings the joy in coding back into their life as it allows them to spend less time on writing simple code and makes working more efficiently.

Over-reliance is dangerous
Finally, Codex works as a black box. The inputs fed to the system will lead to a particular output, but it is nearly impossible to understand what the system based its decision on. This means it can contain flaws and errors. Surely we can look into the code and see what the system produced, but that would require a software developer to read and understand the code, which takes about the same time as writing it himself. Those errors are present to a lesser extent in human programmers. To avoid errors in software, complex tasks will still be executed by humans. We still cannot trust on the code Codex writes completely, as in beta testing, roughly 60% of the code still contains errors or bugs.

Overall, Codex will serve as a valuable tool with a possible enormous impact on the software industry, maybe even education. In the future, I might just tell my computer to write an essay on AI and its impact instead of doing the research and writing myself. However, I can assure you this blog is written by myself.

Sources:

GPT-3 Generates SVG Chart: https://www.buildgpt3.com/post/29/

Blog: OpenAI Codex: https://openai.com/blog/openai-codex/

Towardsdatascience: https://towardsdatascience.com/heres-how-openai-codex-will-revolutionize-programming-and-the-world-e8432aafc5f7

TNW: https://thenextweb.com/news/dont-mistake-openai-codex-for-a-programmer-syndication

Please rate this