It's not an open standard, but this was the one of the interesting pieces of RIM's software stack. Their push system worked reasonably well, used little power on the handset, and organizations were able to run their own on-site push proxy supporting their own in-house applications.
Only on Hacker News is the fact that a database has a primary key for user accounts evidence of a global conspiracy against humanity. Here's some bad news for you: literally every company with a website and user accounts has the same scheme.
There are messes that cannot be cleaned up. We have the leverage to destroy everything. Therefore it is better to focus on preventing the mess, than in futilely pretending we can clean it.
Part of the German economic success story has been keeping housing cheap, so they can keep pay down, so they can export. As soon as housing prices rise, pay rises, and the story falls apart.
Like any utility, you don't need a guy just hanging around waiting for the transformers to explode. You truck him in every 50 years when that actually happens. It's time domain multiplexing, essentially.
The old eastern span of the SF-Oakland bridge was a series of double-decked trusses between towers. Essentially it was several loosely-coupled, independent failure domains. In failure analysis that's not really the same thing as redundancy.
We still have a lot of prestressed concrete structures that predate good understanding of creep in such structures. Box-beam highway bridges, for example, were universally built from prestressed concrete after WW2, but creep wasn't well characterized until the late 1960s.
Indeed, it's not the data but the code to support it. There's a bazillion features in there designed to avoid the user having to do additional page loads. For example in my Gmail memory profile there's 20+ MB of code to support the real-time chat feature in the sidebar. You can argue about whether there should be a middle ground implementation that has the email preloading but not the real-time chat. Developer and project manager time is unfortunately finite.
The very lightweight HTML Gmail lacks all of "normal" Gmail's latency-hiding features, which is one reason it uses so little memory. Gmail preloads all of the messages in the thread list so when you click them they are displayed instantly. HTML Gmail doesn't, and when you click a message it fetches the body from the origin. The tradeoff is yours to make. I find the HTML version infuriating when I'm tethered on mobile because every mouse click takes 10 seconds. On the same tether I can leave normal Gmail open all the time and it's fast. Ironically the lightweight Gmail is more usable on a fast, reliable wired connection.
Debug symbols don’t inhibit identical code folding. What you get is one copy of the function and one arbitrary file/line entry which makes it look like your program makes impossible function calls, if you happen to walk the stack. This can easily be seen in a C++ program with lots of Protocol Buffers because protobuf generated code has lots of identical small functions.
It is very rare that I have seen a use of std::set that seemed justified, although it does happen. People just use it because it's easier to type than unordered_set!
One way to speed up set's usually appalling performance is to give it a custom allocator so that instead of N calls to allocate tiny tree nodes all over the heap, you get all your tree nodes on an arena. This can dramatically speed up short-lived sets (for example you are trying to build the unique set of some non-unique input).