jesstaa
Google isn't allowed to stop others tracking you without also removing their own ability to track you because that's anti-competitive.
The problem is that they're not layers of abstraction, they're just layers.
An actual layer of abstraction should allow you to replace or combine the lower layers. But we just have layers without abstractions.
The claim of 20x program performance difference is overblown. Compilers can often remove virtual function calls, JITs can also do it at runtime. Virtual function calls in a tight loop are slow but most of your program isn't in a tight loop and few programs have compute as a bottleneck.
Measure your program, find the tight loops in your program and optimise that small part of your program.
Software isn't the making of a thing, it's the designing of a thing.
Ask an architect how long it will take for them to design your dream home.
* $300 million for equivalent solar
* $200-400 million for equivalent onshore wind (they don't mention offshore wind which is more cost effective over it's lifetime)
* $1.5 billion for the SMR
Assuming solar and wind stay the same price for the next decade (which they definitely won't) that's a 4-5x construction price difference. The article didn't mention lifetime, decommissioning or running costs, which is likely a significant difference too.
> using JWT in a typical SPA <-> API scenario. Is this typical? It's a pretty horrible setup. Cookies have a lot of great features that 'store a JWT in LocalStorage' just doesn't have.
Sure, but the needle has moved. The thing that took you two weeks to write in 1987 isn't even considered anything useful by today's standards. The parsing needs to happen in real time, it needs to provide machine learning assisted auto complete, it needs a web UI and UI needs to show you an animated graphic of the scene you're describing, etc.
> Teams must communicate with each other through these interfaces.
I read that as interfaces to the team, instead of interfaces to software the team is responsible for. Something like Mechanical Turk(https://www.mturk.com/) but for internal team communication. I'm not sure if that was what was meant but that sounds interesting.
I think this is only possible because there is lots of regulation on electricity providers in Australia.
Given that solar has become so cheap that new solar is able to compete with existing fossil fuel power this conclusion seems outdated. Solar can be placed in many places where it's not possible to plant in to the ground and it also doesn't account for power from other renewable energy sources that aren't available to plants in a field ie. Wind and Hydro
Parking and roads are massively subsidized by government taxes/council rates and are built in to the cost of all city real estate. Everybody is paying for your 'free parking' don't pretend that we're not.
> Trains and busses are fundamentally less convenient and useful than cars
This is only true for very low density areas which means low prosperity and opportunity. In any major city it's physically impossible to transport the majority of people to their work places in cars and impossible to store those cars for the work day.
Studies have shown that people are happy to use what ever transport is available as long as it's fast, frequent and cheap. For a high density city with lots of economic opportunities the only way to do it is with trains.
> Need to make enough parking available for a building. In an apartment building I used to live in 1/3 of the building was parking. That means that each apartment was 1/3 more expensive than it needed to be. Even though I didn't have a car I still had to pay for the cost of the construction and maintenance of the 7 level car park. Everybody pays the car tax.
This isn't it. It's literally what is creating the problem. Small libraries mean duplication, a lack of shared abstractions and dependency hell. The reason garbage collection was such a huge win is that before that every C library shipped with it's own completely different way of managing memory, that's a nightmare.
We need bigger libraries providing better abstractions that are reused through out and written to allow composition and dead code elimination('tree shaking' for the JS crowd) to work well. So you can opt in to functionality you need and opt out of functionality you don't need.
Communities working on big libraries can actually do good release planning, backwards compatibility and timely deprecations. React is a example of a library that does a really good job of this. All the smaller libraries in the JS ecosystem are the cause of the pain in modern JS development.
"I guess the computer got it wrong" is a terrifying thing for a police officer to say.
The best markets for selling software are the wealthy countries with their cultures. You need people in those countries that are part of those cultures to develop that software. So your employment market is limited by people within that culture that have that skill, which is why there is still a software development skills shortage.
For purely technical things like kernel, database, network or driver development the job market is much smaller but it's also much easier to move those jobs to lower income countries, which is very common.
But most software development jobs are at the application level where having a matching language and culture with your users is essential.
Something as trivial as a signup form that asks for firstname and lastname and then refers to the user by their firstname later in the application is something you wouldn't even need to spec out for an English speaking programmer. They would just implement it like that by default because that's the culture.
For sites that make their money from advertising adding proxying would probably be a requirement and be worth the effort, but for most other sites that are trackers by accident it wouldn't be.
Restricting third party cookies won't prevent all tracking but it will increase the cost and reduce the number of sites doing tracking without knowing it.
The code doesn't say they have to work with people of low levels of experience. It simply says they won't harass people for their lack of experience. Rejecting PRs submitted through github doesn't have to be abusive can simply be "We don't accept PRs via github, please read the contributor docs"
The effort of dealing with legions of unskilled programmers isn't made easier with harassment or abuse. It's made easier with documentation, tooling and a legion of patient programmers you can delegate management work to.
As do other people. People just want to do work in an industry they want to work in with people they want to work with and don't want people to use use their gender, sex, racial or cultural background to prevent them doing it.
unix is the bazaar enabler. An OS that is so simple as to be mostly useless without third party additions but also without enough of an overall design to give the third parties much of a guide on how things should fit together. The mess that unix enabled is also the reason we can't get away from it and move on to better architectured systems.