4,485 karma · joined June 1, 2012
Also:
> Erlang achieves concurrency by interleaving the execution of processes on the Erlang virtual machine, the BEAM. On a multi-core processor the BEAM can also achieve parallelism by running one scheduler per core and executing one Erlang process per scheduler. The designer of an Erlang system can achieve further parallelism by distributing the system on several computers. > https://happi.github.io/theBeamBook/
My understanding is that the BEAM will also do "work stealing" among schedulers to take better advantage of the available CPUs.
> First of all he's not wrong - anyone with a FB account (including myself) is an idiot for trusting them
First of all, many intelligent people got FB accounts in the early days because they didn't know / understand the privacy implications. Eg, some of them surely were college students who went on to become neurosurgeons, astronomers, doctors, etc. They acted on a reasonable heuristic - "this web site looks legit, people I know are using it, there appear to be social benefits, and I live in a country where rule of law is generally enforced, so it's probably safe enough." So they were not dumb categorically, even if their decision in this case turned out to be (arguably) dumb.
Second, for you to call the users idiots for trusting FB is one thing. For Zuckerberg to call them idiots for trusting him is different. A scammer probably thinks of his victims as idiots, whereas their friends think of them as regular people who got tricked. The quote sounds like he meant "because of course I'm going to abuse that trust."
And in context (according to https://en.wikiquote.org/wiki/Mark_Zuckerberg), that appears to be exactly what he meant, treating users' information as his own possession.
> Zuck: Yeah so if you ever need info about anyone at Harvard > Zuck: Just ask > Zuck: I have over 4,000 emails, pictures, addresses, SNS > [Redacted Friend's Name]: What? How'd you manage that one? > Zuck: People just submitted it. > Zuck: I don't know why. > Zuck: They "trust me" > Zuck: Dumb f---s
So this quote is brought up not because it shows his insightful analysis of the fact that generally speaking, people should not trust online services, but because it seems to show his own intent, from the beginning, to take advantage of FB users and blame them for trusting him in the first place.
From a technical perspective, this is neat.
From a societal perspective, I want the images an AI sees and the AI's decision-making process to be auditable by humans.
I'm not a lawyer, but that line of reasoning sounds like something out of a comedy skit.
"Sure, the law regulates sales of alcohol and sales of firearms, but it doesn't say anything about an Alcohol And Firearms Combo Pack™!"
> We don't really know yet how well server-side Blazor (Razor Components) will scale with heavy use applications.
I don't think that's a concern with LiveView, as it's built on Phoenix Channels, which in 2015 could already handle 2 million connections on a single box: https://phoenixframework.org/blog/the-road-to-2-million-webs...
So there's no way they would have listened to Acton and let him build Messenger the way he wanted.
Add to that the fact that Acton's ideas didn't yet have any market validation. Once WhatsApp was a proven success, FB was willing to pay for it, but even so they are now destroying what made it good - https://www.theverge.com/2018/4/30/17304792/whatsapp-jan-kou...
"Grandpa, tell me again about combustion engines."
"Well, they burned gasoline in a series of tiny explosions, and they were set up so that the timing of those explosions would generate motion."
"Haha, that sounds like a Rube Goldberg machine."
"Yes, and the worst part is that fire is hot. So even though gasoline contains a lot of energy, the process of turning it into motion was fantastically inefficient. They turned so much of the energy into useless heat that they needed whole separate systems just to throw it all away so the darn things wouldn't melt."
This isn't true. Lots of companies wouldn't steal users' call logs - eg, Mozilla, Signal, and plenty of boring, normal ones who make TODO list apps or whatever.
It also isn't relevant. See how that argument flies in criminal court. "Anybody else would have stolen that car."
What we see here (again) is that FB does nasty things and it's in the public interest to stop them - along with "any other company" who does the same things.
Wouldn't that number go back to 1.1s every time you deploy a JS change? And isn't it good to deploy often?
And yes, it's users' responsibility to decide what code they trust. But "I trust developer/organization X" is a reasonable way to decide that, and auditing every single release is far, far more expensive. I'd be betraying their trust if I let a complete stranger release an update in my name.
1. What's the value of a wireless connection to a device you'll be touching when you use it anyway?
2. Assuming you value "no cord tangles" so highly that you're willing to put up with Bluetooth, charging your headphones, risking dropping your AirPods down a storm drain, etc, why can't the rest of us just have the jack as an option? Nobody's saying "remove Bluetooth."
3. What about the value of loose coupling and backward and forward compatibility? Given a couple adapters, I can plug my current iPod into a 1970s stereo, or plug a record player into my car stereo, and instantly have them working. Brand and device age are irrelevant. BlueTooth compatibility isn't guaranteed between two devices made today.
And sometimes you have to take a step back because someone pushes you.
I'm old enough to remember getting a cordless home phone. Being able to walk around the house and talk instead of sitting by the phone jack was awesome. And there was very little downside, because whenever you weren't using the phone, you put it on the cradle and it was charging.
Ethernet to WiFi was similarly good. I like that I can sit anywhere in or near my house and use the internet. There's not much downside.
But headphones? If I'm listening to a podcast on my phone, I'm going to have my phone on me. I'm not going to walk away from it because then I couldn't control the playback.
A wireless connection to something I'm going to be touching while I use it anyway doesn't do anything for me. I get zero freedom of movement from that. It just means another thing to configure, another thing to charge, another way things can be incompatible or fail.
Good point, but if they used a distributed version control system, lawmakers could have any number of private repositories on which to craft laws before they're merged to the public master repo.
(I wouldn't expect lawmakers themselves to use git, of course; their staff would do this for them.)
Protestant theology actually says the opposite of "you deserve blessings", historically. The "five solas" of the protestant reformation include "sola gratia" (salvation only by grace - undeserved good treatment), and "solus christus" and "sola fide" make similar points.
Certainly "prosperity gospel" teaching is rampant, but it has very little to do with the Jesus of the New Testament or with historical Protestantism.
> You can't think a fax is a gift from God if you don't think there's a God, for example.
You also wouldn't think that if you read the Bible much.
- Proverbs 13:11 - Wealth gained hastily will dwindle, but whoever gathers little by little will increase it. - Proverbs 22:7 - The rich rules over the poor, and the borrower is the slave of the lender. - Hebrews 13:5 - Keep your life free from love of money, and be content with what you have, for he has said, "I will never leave you nor forsake you."
You can find many examples of professing Christians (or atheists) doing stupid things. That doesn't necessarily mean that Christianity or Jesus is the problem. It's more often that they don't follow what they claim to believe.
Imagine you were hired at a company, trained and mentored in a whole new skill set, given work you enjoy and find meaningful, working with people who encourage your further development, and were shown appreciation for your efforts and abilities.
Would you leave at the first opportunity to get a raise? Unless I really needed the money or was severely underpaid, I probably wouldn't.
> Two managers are talking about training their employees. The first asks, "Yeah, but what if we train them, and they just leave?" The second responds, "What if we don't train them, and they stay?"
What makes it different is a recommendation engine that is deliberately designed to maximize the amount of viewing time and has no moral compass about doing so.
When a kid finishes reading Ranger Rick magazine, nothing prompts them to read anything else except their own interests and the pile of books their parents have purposefully made available to them. You don't have strangers popping in the window, tempting them to read something nasty, and if you do, you get that person arrested.
But automatically and transparently paying people based on their location is weird to me. If Bob has chosen to live in a place where houses are insanely expensive, or if Bob has chosen to drive a luxury car or keep a pet elephant, those are Bob's decisions. None of them mean that he contributes more to the company.
Also, since a company has non-infinite funds for salary, paying Bob more to live in SF inherently means that the company either pays less money to Alice in Arizona, thereby incentivizing her to quit or move to SF, or else doesn't hire Carol.
> One of the corporate advantages of 100% remote is the business can pay your team whatever their local market rate is
What if instead you framed it as "we can offer almost-SF rates to people all over the U.S., which makes us one of the top choices for every dev outside the big cities"? That's a huge talent pool to take your pick from. Seems like a competitive advantage to me.
I don't know exactly what they should have done and when, but it seems like rewrites are going to be necessary, and it sure would be nice to start rewriting a system while you still have someone who can explain what it does.
I think you're right that every long-lived code base will have warts. And I don't think that means that the original builders were wrong-headed.
But if you've got a decades-old system that nobody understands anymore, you've got a huge liability. You can't ship features to compete, you can't fix bugs, you can't comply with new regulations. You can't even rewrite confidently because you don't know what the old system does.
There must be things you can do as a code base ages to keep it maintainable, allow incremental rewrites, etc.
This makes sense. However, if the code 1) is hard to understand (according to the developers available) and change and 2) needs to be changed, it costs money.
Eg, read about the expense banks are now incurring trying to maintain COBOL systems. Whether the code is "bad" is debatable. But the fact is that they have a hard time finding people who can work on it.
However, it seems like privacy requirements like "forget you ever knew about this user" would throw a wrench in the gears.