I think it has healthy funding from his Patreon account, plus the $15 to buy the game, as well as serving as sort of inadvertent PR for his upcoming commercial game (1935.)
Once consumers become aware of the true differences between ICE vehicles and EVs, most auto manufacturers will need to do this, as the simple economics of owning an EV is so superior to an ICE vehicle, all else being equal. It remains to be seen however if the established manufacturers can match Tesla's lead in supply chain and battery production capacity relevant to EV manufacture.
This is mostly about hybrids though (near term), and it's not obvious that a hybrid at $50k or an Ev at $60k is more evonomical than the ICE at $40k (say).
So long as the premiums are very steep it's still a hard sale so tax breaks are absolutely necessary. There is a one time credit of $9k here now for EV's and the yearly tax is almost zero (compared to upwards of $1k/yr for ICE) but I still can't get the math to quite add up. The game changer will be more mass produced modestly priced models. Right now it's often sold as a luxury with added performance. Look at Volvos T8 drivetrain - it's pure luxury. No one will buy it for economy.
Cautionary aspect: detecting mild and/or very long term deleterious effects of nootropics/drugs is extremely difficult empirically. Something like e.g. caffeine has been put through the ringer historically both empirically and in terms of secondary anecdotal cultural awareness (if that counts for anything.) But something relatively niche like this can't hope to have the necessary resources allocated to it for sufficient study.
This being a result of JavaScript's weapons grade weak-typing, I've always wondered of what benefit weak typing actually brings, once dynamic typing is assumed, over strong typing as in python/Ruby. Or at least stronger typing. Reasonable coercion from 11434 -> "11434" is one thing, but why not throw an exception when anything more ambiguous is encountered? It would seem even for an absolute newcomer to programming, or someone experienced who wants to rapidly prototype, the bugs resulting from this hidden coercion complexity outweigh any gains in productivity. Especially considering the alternative is simply a set of special unambiguous casting functions that could be easily looked up.
> I've always wondered of what benefit weak typing actually brings
It makes your code crash less, and I would argue that in many cases that's desirable. I think it's a bit sad that the default behavior for computers is often to completely give up on the sight of any error. If you're running code in development or need to worry about data integrity, it makes sense to fail quickly and loudly, but if the analytics system or the "like" counter or some other non-critical feature crashes for a real user, it's a much better UX to degrade that feature rather than taking down the whole page.
I think the "avoid crashing at all costs" mindset was especially sensible when the web was viewed more as a collection of documents, with JS existing to give light optional enhancements rather than drive the core functionality. Imagine opening a Word doc or a PDF and having it crash because the author made a mistake. These days, I would certainly prefer that JS be more strict by default, especially in development.
I think the right way to handle the situation these days should be to define boundaries where a crash in one part of the code is contained to its boundary, e.g. React error boundaries ( https://facebook.github.io/react/blog/2017/07/26/error-handl... ). I also think it's useful to have a variant of "assert" that just logs a warning and continues in production, since in many cases that's the desirable behavior.
Wait, can you back this up? What makes you think strongly typed languages crash more than weakly typed languages? What's a scenario where a strongly typed language will crash at runtime, but a weakly typed language won't?
I can see an argument that an interpreter of a weakly typed language will let you run a program with dangerous type conversions without complaining, while a strongly typed language won't even let you execute it - but are you counting that as a crash?
To be clear, I'm talking about strong/weak typing and static/dynamic typing as distinct concepts. My comment mostly applies to dynamic-typed languages.
In JavaScript, `1 + {}` gives the string `1[object Object]`. In Python, `1 + {}` crashes. Neither language has a static type system, so neither language is able to disallow an expression like `a + b`; it needs to actually execute the code to find out that you're adding two things that don't make sense. I think most examples of "Python is stronger-typed than JavaScript" are of that form; Python crashes while JavaScript silently does something that may or may not make sense. Accessing a missing property, accessing an array out of bounds, and calling a function with the wrong number of arguments are also examples where Python crashes and JS doesn't.
So "crashing less" is pretty much inherent in my (simplified) definition of weak typing, and not meant to be anything controversial.
Why is crashing less often better in these cases? When it crashes, you know there is a problem with the code that needs to be fixed. When it doesn't, you might have nonsensical results that you're not aware of.
It depends on the exact context, but I think that in many cases, it's better to present wrong data to the user than to crash the page, since crashing the page makes it useless. Let's say Facebook accidentally introduces and ships some bug when computing the "like" count on about 1 in 5 news feed items. I could imagine two scenarios:
1.) The JS code crashes and the Facebook news feed page breaks for basically everyone. The flood of errors is reported to the error monitoring system and Facebook engineers frantically fix or roll back the problem to limit the amount of time Facebook is unusable.
2.) 1 in 5 news feed items shows "NaN people liked this", but Facebook is otherwise usable. The flood of errors is reported to the error monitoring system and Facebook engineers frantically fix or roll back the problem to limit the amount of time the weird "NaN people" message is shown.
Scenario #1 is a really bad outage, and scenario #2 is a temporary curiosity/annoyance that most people don't notice, and hopefully it's clear that scenario #2 is a better situation for everyone. But it really depends on context; if the bug is "a bank's website shows incorrect account balances", then crashing the page is probably a better user experience.
I'm certainly not saying JS got it right; JS doesn't do the part from #2 where it alerts you if there's a non-fatal error in production. But I think the basic idea of error resiliency has plenty of merit.
The problem with "avoid crashing at all costs" is that the alternative is usually "produce invalid output". The latter doesn't sound so bad in theory - but in practice, it means that the resulting bad data can go quite a long way, further accumulating errors as it flows through the pipeline. Worse yet if there are any observable actions taken on the basis of bad data (like, say deleting a file, or deciding to show some piece of private data).
And any central database of this information is vulnerable to a one time leak. One period of vulnerability and potentially this information is out there forever. Once that happens automated identity verification becomes much less reliable/convenient and there will potentially be a need for a more Turing-complete and/or hardware dependent process.
True, but I believe a standard reply to this from a pro EV perspective is that it's still better to be using fossil fuel->grid->EV than fossil fuel->ICE because of the overall efficiency of the former's process over the latter's, to the extent that it results in less CO2 emitted per mile driven in an EV over an ICE vehicle.
"and even if you do go the experience won't be the same."
Off topic, but say someone is a late-20s/early-30s guy who for financial reasons wasn't able to do the "backpacking Europe/Australia/NZ/whatever" thing, how does the experience significantly change throughout the 30s/40s? I know a few people who still do this.
"maybe even poor people should have some fun and the push to save is part of a massive collective delusion to pretend we're not mortal."
This ties into something I've thought for a while and while reading the article. Basically "premium mediocre" is just another variant of materialism. That somehow material goods (of a sufficiently high caliber) are an intrinsic good, and that obtaining/consuming them brings about some intrinsic benefit to one's life, just a variant shaped to the particular existential angst of millennials. But there's an out: maybe the most lasting and significant experiences of one's life are one's that take place/are primarily a function of one's mind. From the outside it may seem much less substantial or obvious, but why can't millennials consider spiritual progress, mental self-discipline, grand experience, or cultural exploration (say bumming around Europe for a while) to be a primary aspiration, even if it leaves them relatively broke at the end of the day? To an extend they do, and I'm not sure that's such a terrible thing.
>Off topic, but say someone is a late-20s/early-30s guy who for financial reasons wasn't able to do the "backpacking Europe/Australia/NZ/whatever" thing, how does the experience significantly change throughout the 30s/40s? I know a few people who still do this.
Well, not the same wonder / starry eyed optimism for everything you see, not as easily content on sleeping in any kind of accommodation (not many 30s/40s will sleep in bunker bed hostels for example), less casual sex, less bodily demanding "adventures", etc.
Not qualitatively or remarkably different than 20s though, in the 30s, as Carl indicated. After all the decade distinction is arbitrarily chunked off, whereas actual change in these attributes is linear/gradual. In addition I've seen many cases where each of these experiences improve over time, e.g. someone in their 50s/60s being finally exposed to the wonder and reality of other cultures, whereas in 20s, it may not stand out as much compared to other youth/20s experiences.
I remember being in my early 20's and hosteling around and doing pub crawls and the like and thinking "man, everyone must stop having fun when they hit 30". I imagine you're less likely to do the pub crawl/random hookups/wandering around a new city at 4 AM thing in your 50's than in your 20's (though now that I say that I know some people in their 50's who definitely keep up just fine...) Now that I'm a good way in to my thirties I definitely do less stuff like that, but then, life hasn't proved to be too dull.
Then again, I still remember fondly a couple in their 70's I met in a hostel in Prague who were finally doing their round the world trip. They were the exception though.
Regardless, though, I think that life is generally different at 40+ than at 25 and that will be manifested in travels. Even if you're the same, the folks around you won't be (people will definitely treat someone who looks 45 in a hostel differently to someone who looks 25). It's not worse (and in some ways it's much better; I like not being broke), but the experience is definitely different.