Populism isn’t just bad elites or gullible masses. It’s what happens when both sides lose the virtues that once held them together. Elites forget humility and justice, turning reason into arrogance; populists forget prudence and temperance, turning righteous anger into resentment.
HN itself is a kind of popu-elitism. Look at the other comments here. We're a crowd of self-identified “slow thinkers” who often post fast, intuitive reactions. The irony is that our intuitions here are shaped by analytic habits, not moral ones.
The real goal isn’t to think faster or slower, but to build a society that makes a virtuous life first possible, and then easy.
Do you know which will happen first? Specifically, will the court put forth its remedies before the appeals begin? Or will those actions happen in parallel? Or what?
Look I don't have any reason to praise Twitter, but ...
This "Twitter-scale mastadon implementation" is when my red flags went up. It's meant to demonstrate a simpler and more performant architecture, but it actually demonstrates "things you should never do" #1: rewrite the code from scratch.
"The idea that new code is better than old is patently absurd. Old code has been used. It has been tested. Lots of bugs have been found, and they’ve been fixed."
The "1M lines of code" and "~200 person-years" of Twitter being trashed on in this article is the outcome of Twitter doing the most important thing that software should do: deliver value to people. Millions of people (real people, not 100M bots) suffered thru YEARS of the fail-whale because Twitter's software gave them value.
This software has only delivered some artificial numbers in a completely made-up false comparison. Okay it's built on "fundamentally better abstractions", but until it's running for people in the real world, that's all it is: abstract.
Please don't tout this as a demonstration of how to re-create all of Twitter with simpler and more performant back-end architecture.
This is a well-known essay that everyone should read, and yet nobody should ever cite it as a commandment for what other engineers can or cannot do.
Joel was talking about commercial desktop software in the extremely competitive landscape of the 90s, he wasn't talking about world-scale internet service infrastructure. The architecture that delivered a set of X features to the initial N users isn't always going to be enough for X+Y features to the eventual 1000*N users that you promised your investors.
Companies like Google are quite public about how much they rewrite internal software, and that's just what the public hears about. A particular service might have been written with all of the care and optimization that a world-class principal engineer can manage, serve perfectly for a particular workload for several years, and yet still need to be entirely replaced to keep up with a new workload for the following several years.
You wouldn't tell another engineer that they shouldn't rewrite a single function because software should never be rewritten, so it also doesn't make sense to tell them not to rewrite an entire project either. It's their call based on the requirements and constraints that they know much more about.
Nobody should be rushing out to rewrite Linux or LLVM from scratch, and yet we wouldn't even have Linux or LLVM if their developers didn't find reasons to create them even while other projects existed. In hindsight it's clear those projects needed to be created, but at the time people would have said you should never rewrite a kernel or compiler suite.
The Joel article is about not rewriting an existing application. TFA is not saying that Twitter should rewrite. It's saying that if you don't work for Twitter but you want to write something like Twitter maybe this could be a good place to start.
At some point in time the same argument was made for relational databases despite there being stable systems built without them based on ISAM. The newer relational systems took a lot less work to implement but that didn't imply that it made sense to rewrite the ISAM based systems.
By your logic, all testing is invalid except for usage by real users. Two things:
- We stress-tested the hell out of our implementation well beyond Twitter-scale, including while inducing chaos (e.g. random worker kills, network partitions).
- We ran it for real when we launched with 100M bots posting 3,500 times / second at 403 average fanout. It worked flawlessly with a very snappy UX.
The second-system effect is a real thing, but there's a difference when you're building on radically better tooling. All the complexity that Twitter had to deal with that led to so much code (e.g. needing to make multiple specialized datastores from scratch) just didn't exist in our implementation.
> By your logic, all testing is invalid except for usage by real users
That is exactly correct. All testing is make believe except for real case studies by real customers with an intent to pay, and barring that, real pilots with real utilization. Otherwise, you run the risk of building a product for a version of yourself that you are pretending is other people.
Great to hear!
One suggestion; I think it would be great to have an integration with smartphones Contact apps. This way a user can leverage autocomplete and do not disturb rules on mobile.
i would like this too. i think you can do it with apple email relay.
currently i have example.com as my email, which i use with mailbox.org, would it be possible to keep using it with mailbox.org and then for mozilla to allow it to be used for email relays? e.g.
I assume this means you have an MX record at example.com pointing to your/mailbox.org SMTP server? AIUI, a sending MTA will look up the MX record for example.com by preference order and will deliver emails to the first server that accepts the connection.
So it may depend if you can configure your mailbox.org account/server to reject connections from servers trying to send mail to unknown addresses? Then the sending MTA server might "fail over" to the Relay server instead?
This was the part I latched onto in Moxie's piece too: "A protocol moves much more slowly than a platform. After 30+ years, email is still unencrypted; meanwhile WhatsApp went from unencrypted to full e2ee in a year. People are still trying to standardize sharing a video reliably over IRC; meanwhile, Slack lets you create custom reaction emoji based on your face."
In the Firefox OS days here at Mozilla, I was a huge believer and advocate for our desire to push web protocols & standards into mobile. But as it turns out, proprietary walled-garden mobile platforms move faster than web standards - who knew?!
But, I like the phrase you used - "hoping for an inefficient market". At this point in my tech career and looking around at what the tech market is doing in the world, I think slowing down and getting less efficient might be good for us?
Howdy. I'm an engineer on both Facebook Container and Relay.
We fixed the original bug in Facebook Container that was showing the prompt on every website - now it only shows the prompt on websites where Facebook trackers are detected.
Facebook Container is something that inspired and influenced the development of Relay in the first place. Facebook Container users reported that they used websites and still saw ads from those websites in their Facebook feed, even though they were using Facebook Container. Because Facebook lets anyone create custom audiences for re-targeting, we need to give users a way to protect themselves from "back end" data sharing & tracking.
The random aliases at mozmail.com are certainly the most private option. The subdomain aliases are for convenience so you can make up any alias you want even if you don't have a device on you. (e.g., checking into a hotel, etc.)
Aah, so the personal subdomains are catch-all accounts? So one doesn't have to talk to the Relay services at all and can just give out whatevertheycanthinkof@yourname.mozmail.com and it would get forwarded?
If so - thank you, yes, now I see the point. My bad and please consider telling marketing team to highlight this hotel use case more prominently, because without it just comparing @mozmail.com vs @foo.mozmail.com is not really compelling and could be even confusing.
Thank you very much! Just to make it clear, I still use Relay for those sites that allow me to use it, I just wouldn't recommend it to friends because this kind of hiccups mean that it's not something that one can rely on with blind eyes. Glad to see there is active interest in ironing them out.
HN itself is a kind of popu-elitism. Look at the other comments here. We're a crowd of self-identified “slow thinkers” who often post fast, intuitive reactions. The irony is that our intuitions here are shaped by analytic habits, not moral ones.
The real goal isn’t to think faster or slower, but to build a society that makes a virtuous life first possible, and then easy.