When handling things that are serialized over the wire, you have to do it this way. Yes, you can use typed serialization formats, but in a string-based serializer, there's nothing stopping the other system from sending "0.0000005" on a field that should be an int. If you don't validate that it's an int, you would just pass that value to your equivalent of parseInt().
If you do validate that it's an int, then it still didn't matter if the language has static typing or not. You're doing that at runtime or you're not.
In Rust, doing "0.00005".to_string().parse::<i32>().unwrap() causes a panic on the unwrap() from an invalid digit. However, that's runtime. It's not something the type system can handle statically. The real benefit here, I think, is that it at least forced you to consider that the invalid input could have unexpected results. This is a pretty good reason to be careful about putting unwrap() on everything. The compiler isn't going to save you here.
There's no reason the market has to do that. We've all collectively decided that every generation should have MORE, but the best games I've played in recent years are done by small teams looking to provide a good experience in a somewhat limited package.
Also, people tend not to account for manufacturing drops. Cost to produce dropped dramatically when things moved from cartridges to optical formats. Dropped somewhat in the move to digital distribution, though not as much as you might think.
Removing significant printed instruction manuals helped, too. Printing has gotten really expensive over the last 30 years. Falcon 4.0 came with a spiral bound book written by an actual F-16 pilot, and it was basically an F-16 flight manual. Nobody expects that to ever happen again. Not with a base game, anyway. That game was about $53 at launch (going by the "Chips and Bits" ad toward the back of this old CGW magazine).
There's a good $20-30 in reduced production costs that were never directly passed on to customers.
They're generally well organized for competitions. Lots of countries have them for airguns when they can't get full firearms. They emphasize safety and shooting skills.
He was specifically kicked out because he shot across lanes. That's a huge safety risk and will get you kicked out of most ranges. The club acted correctly.
Non-profit scams. You can set one up, put out a call for donations claiming you do some blah blah blah work, and give yourself most of the money in the form of a salary/bonus. Only a small percentage of the money ever needs to go to anyone in need.
This happens in all sorts of corporate and religious charities. The NFL was technically non-profit for many years, and that should say it all.
If I go to a WH40k night at a FLGS, and someone points to a specific guy and says they're good at 40k, I'll probably take their word for it. They're in an environment where they've been tested regularly and that guy probably is one of the better ones at the shop. Are they able to play at a major tournament and place well? Maybe, maybe not.
For a new hire for programming, depends on who is saying it. Were they in the team for the hiring process? Do they have a track record of picking up good talent?
I also have a working theory that it's not too hard to better than 75% of people who do a given thing. For example, here's a breakdown of Chess.com ELO ratings (taken from the other site, dated April 2023):
Getting to 75% would be a little over 900 ELO. Which is interesting, because not only is that fairly low, but it's also below the 1200 that you typically get assigned as a new player. Though Chess.com does assign that based on your self reported skill level at signup.
That was a right-wing talking point in the years following 2008. After Bush had flooded the banks with money, Obama took office and suddenly Republicans decided they were fiscal conservatives again.
The paper that said a debt/gdp ratio over 100% created a death spiral (I believe it was more like 125%) had a problem: nobody else could reproduce their results. Didn't matter, Republicans had to remind people that Obama was a spend and tax liberal.
Then an econ student asked the authors for their Excel spreadsheet (econ does everything in Excel; everything). He found a coding error in one of the formulas. Once corrected, the whole conclusion evaporated.
This is a good analysis, but it's slightly different from OP's statement.
Median real wages actually are up since 1979. It became something of a meme post-2008 to say that median wages have been flat since that time. That was true for a few years following the Great Recession, but they caught up and went quite a bit higher. It's possible the numbers will cycle around to that again, but it's not where we're at right now.
What the graphs in the article are arguing is that wages over that time are much lower than they should be given productivity increases.
Let's say you work for one hour making a widget, and you get $1 for that time. Your boss sells the widget for $5 and pockets the difference. Now there's an increase in productivity, and you can make two widgets in the same hour. You still get paid $1 for that hour, but your boss is selling those two widgets for $10 total now. You're not getting a raise just because of that productivity increase.
You might get a raise due to inflation. With 4% inflation, you get to make $1.04/hour, but your boss is now selling those widgets for $5.20 each. This is more or less the story since 1979.
That difference between productivity and real wages is what's charted out above. It tells you exactly who the real moochers are in society.
This all tracks very neatly with a decline in union membership.
Might not need anything except economies of scale. But getting that is the problem.
Tablet sized eink displays found a niche that couldn't quite be displaced by smartphones and regular tablets. That let them have a market for getting costs down.
There would need to be a similarly wide use case to get the price down on larger eink displays.
Have experiences and respect other life. That's really it.
The Earth created lifeforms that can understand the universe. Even if there are other conditions out there that can create life like that, it's not common. There is unfathomable empty space between planets and their moons. To say nothing of between planets or stars or galaxies.
Good news! You're one of these rare combinations of matter that can understand the universe. In a real way, we are the universe trying to understand itself. Scientists explore it in a deep way, and should be respected for that, but you don't need a PhD to participate. A single celled organism who figured out better ways to swim in its little pool helped the universe understand itself. The first human to taste a strawberry helped the universe understand itself. Have experiences.
There's a lot of other life also participating in this, and they should be respected, too.
When handling things that are serialized over the wire, you have to do it this way. Yes, you can use typed serialization formats, but in a string-based serializer, there's nothing stopping the other system from sending "0.0000005" on a field that should be an int. If you don't validate that it's an int, you would just pass that value to your equivalent of
parseInt().If you do validate that it's an int, then it still didn't matter if the language has static typing or not. You're doing that at runtime or you're not.
In Rust, doing
"0.00005".to_string().parse::<i32>().unwrap()causes a panic on theunwrap()from an invalid digit. However, that's runtime. It's not something the type system can handle statically. The real benefit here, I think, is that it at least forced you to consider that the invalid input could have unexpected results. This is a pretty good reason to be careful about puttingunwrap()on everything. The compiler isn't going to save you here.