Recent submissions

Comment · 3 months ago
Our backend is primarily in Scala and has been for over a decade. My take is that Scala 2 -> 3 was a massive hit to the language's momentum. It came at a time when the language's popularity was waning and it had all the same challenges that other major language version changes tend to have. Migrating's been quite challenging. Tooling, which was already a challenge for the language, got worse because it was split between Scala 2 and 3.

The language was deliberate about providing backwards and forwards compatibility between 2 and 3, but they didn't have a good story for macros. Yes, macros were experimental, but the ecosystem relied on them very heavily. This meant that your 3rd party dependencies likely hadn't migrated to Scala 3. If they had, things got complicated because you had to deal with two macro systems.

After many years the tooling is finally catching up and many 3rd party dependencies are available in Scala 3. That said, it's taken years and years. I think during those years many companies migrated to other languages or put a moratorium on new projects in Scala.

Comment · 7 months ago
Did MoonBit add support for some kind of shared memory concurrency like threads? I remember discovering the language, being very excited about it, and then learning it is single-threaded, which makes it a poor replacement for Rust IMHO.
Comment · 9 months ago
Agreed. There was a period of time roughly 10-15 years ago where symbolic operators in Scala were very en vogue. That fell out of style in a big way and I haven't encountered symbol soup in a very long time.

Most of the conversations I have with folks about Scala issues these days center around implicits, tooling, and its decline/lack of popularity.

Comment · 9 months ago
Comment · 10 months ago
Comment · 11 months ago
From my perspective the two biggest challenges of the Scala 3 migration were macros and poor tooling support.

Macros were an experimental Scala 2 feature, but were used all over the Scala ecosystem. Because they were considered experimental a good migration story for them was never developed. That lack of support stopped migration efforts dead in their tracks at our company for a long while. It just wasn't worth contributing simultaneous support for Scala 3 and Scala 2 macros to every third party dependency who used Scala 2 macros. That said, we did it for some and lived on a fork for others.

IDE support for Scala 3 was really rough when it first released. We checked in on it with every IntelliJ release for roughly 3 years before we decided it was far enough along. Prior to that it was rough enough that we froze migration efforts in order to keep the tooling usable enough for engineers to be productive.

Comment · 11 months ago
Compiler error messages improved significantly with Scala 3. IIRC there was a dedicated effort with Scala 3 to improve error messages and make them more actionable. Scala 2 error messages improved somewhat over time, but can still be obtuse.
Comment · 7 years ago
Isn't the table sorted alphabetically?
Comment · 7 years ago
Based on my reading of the table, the PurpleAir II sensors seemed to be the best of the sub $300 for PM1.0 (field R^2 of 0.96 to 0.98) and PM2.5 (field R^2 of 0.93 to 0.97). The PM10 readings were not as good (field R^2 of 0.66 to 0.70).

After skimming the rest of the table, it looks like the PurpleAir II sensors might have some of the best field R^2 for PM 2.5 and PM 1.0

Comment · 7 years ago
PurpleAir also makes an indoor air quality sensor that measures particulate matter: https://www2.purpleair.com/products/purpleair-pa-i-indoor

Not sure how it compares with Awair or laseregg.

I have no affiliation with PurpleAir, but they are pretty popular in Utah.

Comment · 7 years ago
One thing I'm not totally clear on after reading the article is which AWS account the AWS KMS resides. Is it Slack's AWS account or the customer's?
Comment · 7 years ago
Similar experience with Dota 2 and ESL on Facebook. The experience was horrible. Viewership was bad. Doesn't seem like anyone was happy about it https://twitter.com/Slasher/status/1071863217243197440

If I recall correctly, people on Twitch streamed games from the Dota Majors/Minors and got more viewers than the Facebook stream. Then ESL started DMCA'ing streams https://www.reddit.com/r/DotA2/comments/7skt8e/did_mlpdota_j... Then Valve got involved and made a statement about the whole kerfuffle http://blog.dota2.com/2018/01/dotatv-streaming/

Comment · 7 years ago
>I don't understand why they wouldn't do it, though. I see no plausible explanation.

Money seems like a good reason. If a tiny fraction of your sales and a large fraction of your bugs are from a particular subset of those users, you don't want those users. They are too expensive.

Comment · 7 years ago
Several years ago, I ran into the exact same nausea with the Source engine as the GP, but when I increased the FOV the problem went away.

I've run into nausea with other games that have a narrow FOV. Increasing the FOV (when possible) usually fixes the problem.

As far as I understand, the late Total Biscuit was similar. He frequently advocated for FOV sliders in games. I greatly appreciate his help making FOV sliders more popular.

Comment · 8 years ago
I imagine there are climates that are better for grass or certain species of grass that are very drought tolerant. However, in my experience, not watering a lawn will kill it. I have a few patches in my lawn that were killed this summer by lack of water due to a poorly designed sprinkler system.

Live from the official Hacker News API

A modern reader for Hacker News · SvelteKit + Skeleton