Take a quick scroll through, it features programming with pictures which is much more useful and motivating for a beginner than lines of text.
First impressions matter. So avoid excessive keywords and syntax that only scares beginners into thinking programming is a voodoo-magic-minefield. I'm looking at you, Python.
This is an example of how the internet was originally intended: Every user of the internet has a public address that any other user can send and receive messages from.
The design works just like postal addressing. Your postal address contains the directions to your building from any location on earth. Even if you live in a dormitory building with many other residents, I can still send you a letter directly by adding "door number: 42" to your dorm's postal address.
IP addressing use numbers instead of English terms like "door" and "street". So I can't simply add "door number" to your building's IP address, your building has to be given enough addresses so each resident's computer can have their own. When your computer has a public IP address, I can send Internet packets directly to you.
Harvard was early to the slicing of the IPv4-address pie, so they had enough addresses each of their residents, including Zuck. Anyone with internet could put Zuck's IPv4 address on an Internet packet and it would end up on his computer. Most of these packets would be HTTP requests to facebook.com, to which his computer would reply with a page from the facebook website.
This is the internet working as intended.
But we ran out of IPv4 addresses in 2012, which has forced internet service providers to adopt an address-sharing scheme called network-address-translation (NAT) that makes it impossible to send letters directly to other people's computers. Imagine I wasn't allowed to put any room number or name on my letters. If I sent a letter to your dormitory, the staff there wouldn't know what to do with the letter and would be forced to return-to-sender or discard it. This is what NAT does, and it has turned the glory of the Internet into a centralized monster of control and censorship.
If you want to host a website with a public IPv4, only established cloud providers that obtained enough IPv4 addresses before it was too late can help you (primarily Amazon, Google and Microsoft).
The successor of IPv4, IPv6, brings enough address space for every person, their dog, their dog's fleas, and their dog's flea's microbes. We can go back to hosting websites from our dormitories, sending chat messages directly to our friends (not via Google, Facebook and Microsoft), and start new ISPs that missed out on the IPv4 pie that actually have a chance at competing with the likes of Comcast.
IPv6 reintroduces equity to the internet that facebook benefited from in it's inception.
Who uses the indicator lights? - people looking behind a computer or at switchgear. They aren't regular users, they understand how networks operate and what the green/yellow lights mean. They're typically debugging a problem, for which you want the truest indication of what's happening on the wire.
For regular users who just care about working internet, you can notify the user of connection failure where they look - the screen.
> X-Plane is the most advanced flight simulator in the world. The product of 20 years of obsessive labor by a hardcore aeronautics enthusiast who uses capslock a lot when talking about planes, it actually simulates the flow of air over every piece of an aircraft’s body as it flies. This makes it a valuable research tool, since it can accurately simulate entirely new aircraft designs—and new environments.
Protobufs/nanopb would be my go-to for minimal message size.
If you want small code size, CBOR seems like a good bet:
> The Concise Binary Object Representation (CBOR) is a data format whose design goals include the possibility of extremely small code size, fairly small message size, and extensibility without the need for version negotiation. [1]
This [2] C-implementation fits in under 1KiB of ARM code.
The link explains that CouchDB can have replicas on mobile phones and websites, meaning clients don't always have to be connected to the internet.
> The Couch Replication Protocol lets your data flow seamlessly between server clusters to mobile phones and web browsers, enabling a compelling offline-first user-experience
> Speaking at the BlueHat security conference in Israel last week, Microsoft security engineer Matt Miller said that over the last 12 years, around 70 percent of all Microsoft patches were fixes for memory safety bugs.
In New Zealand, the government funds tertiary education with a zero-interest loan. If you move/work overseas, it becomes a regular loan with 4% interest.
It gives some pressure to stay in NZ, but in reality, talented engineers can get over double their salary abroad.
From Google's Site Reliability Engineering book[1]:
> SRE’s goal is no longer "zero outages"; rather, SREs and product developers aim to spend the error budget getting maximum feature velocity. This change makes all the difference. An outage is no longer a "bad" thing—it is an expected part of the process of innovation, and an occurrence that both development and SRE teams manage rather than fear.
I suspect Search has a lower error budget than Sheets.
Some friends of mine are entry-level developers that work alone on an Arduino/C++ codebase. Baremetal development and C++'s bad library support encourages them to write huge amounts of their own, very bad, code. They've taken a year to write the functional equivalent of a few hundred lines of Python and some packages.
Their codebase would improve immensely if they used a more powerful chip to run Linux and Python instead.
https://htdp.org/2021-11-15/Book/part_prologue.html
Take a quick scroll through, it features programming with pictures which is much more useful and motivating for a beginner than lines of text.
First impressions matter. So avoid excessive keywords and syntax that only scares beginners into thinking programming is a voodoo-magic-minefield. I'm looking at you, Python.