HNHacker News
TopNewBestAskShowJobs

ackfoobar

713 karma · joined April 26, 2021

submissionscomments
ackfoobar··on Go Concurrency Distilled
>> state of the art GCs

> That just isn't true

Generational ZGC is free for everyone to use.

ackfoobar··on Go Concurrency Distilled
>> Preemptive scheduling plus M:N mapping

AFAIK, in the current implementation, Java's virtual threads yields only when they block (cooperative). But the spec allows a JVM to implement them as preemptive.

ackfoobar··on Go Concurrency Distilled
Kotlin's coroutines basically had the same API as Go's. But also the ability to confine some coroutines' execution into certain threads (e.g. UI main thread).

Then they added structured concurrency, which roughly solves the same problem as Go's context, arguably more elegantly.

ackfoobar··on Java 27
> it took like 2 weeks to ramp up

I worked on a purely functional Scala codebase (Cats). I joined after the original authors were gone.

Some new comers were not fluent in it after ~a year.

ackfoobar··on Where did all the public bathrooms go?
This might be the your missing puzzle piece:

https://en.wikipedia.org/wiki/Committee_to_End_Pay_Toilets_i...

ackfoobar··on Where did all the public bathrooms go?
You are of course right about what the word "commons" refers to. Still, I want to quibble.

Maybe the definition covers both, but I still think it's worth distinguishing between incentives creating a bad equilibrium and simply antisocial behaviours. When I hear "tragedy of the commons", I think of the former.

ackfoobar··on My thoughts on the Bun Rust rewrite
> stuck to why he thought it was bad for Bun to do this

Quite the opposite. "When Jarred announced the Rust rewrite, we were ecstatic."

> It’s definitionally an ad hominem against Jared.

Who Jarred is, as a CEO, definitely has an impact on how the company develops software - how Zig is used. And the argument is that Zig is used badly in Bun. Without that context, I, as a reader, would have to actually read through a lot of code to be convinced of that point.

ackfoobar··on A case against currying
Coming from Scala to Kotlin, this is what I thought as well. Seeing `it` felt very wrong, then I got used to it.
ackfoobar··on A case against currying
As noted in the article:

> This feature does have some limitations, for instance when we have multiple nested function calls, but in those cases an explicit lambda expression is always still possible.

I've also complained about that a while ago https://news.ycombinator.com/item?id=35707689

---

The solution is to delimit the level of expression the underscore (or dollar sign suggested in the article) belongs to. In Kotlin they use braces and `it`.

    { add(it, 3) } // Kotiln
    add(_, 3) // Scala
Then modifying the "hole in the expression" is easy. Suppose we want to subtract the first argument by 2 before passing that to `add`:

    { add(subtract(it, 2), 3) } // Kotlin
    // add(subtract(_, 2), 3) // no, this means adding 3 to the function `add(subtract(_, 2)`
    x => { add(subtract(x, 2), 3) } // Scala
ackfoobar··on A case against currying
> explicitly written to do this

In that case I want the signature of "this function pre-computes, then returns another function" and "this function takes two arguments" to be different, to show intent.

> achieved through compiler optimisation

Haskell is different in that its evaluation ordering allows this. But in strict evaluation languages, this is much harder, or even forbidden by language semantics.

Here's what Yaron Minsky (an OCaml guy) has to say:

> starting from scratch, I’d avoid partial application as the default way of building multi-argument functions.

https://discuss.ocaml.org/t/reason-general-function-syntax-d...

ackfoobar··on Java is fast, code might not be
The premise of this joke is dead since 2020, when ZGC was production ready.
ackfoobar··on Java is fast, code might not be
> ditch ORMs ... make good use of SQL

I think Java (or other JVM languages) are then best positioned, because of jooq. Still the best SQL generation library I've used.

ackfoobar··on Hammerspoon
https://github.com/peterklijn/hammerspoon-shiftit

I use ShiftIt (a lovely project, but dead) reimplemented in Hammerspoon. It is very comprehensive.

ackfoobar··on Following 35% growth, solar has passed hydro on US grid
I guess the answer has to depend on demographics. But if we are spitballing, it probably wouldn't be all bad for every country to have a Lee Kuan Yew.
ackfoobar··on NewPipe: YouTube client without vertical videos and algorithmic feed
I'd gladly pay for Premium (I'm already paying for YT Music, the price difference is minimal) if they allow turning off shorts. But they won't. They see time spent in app goes up when they hypnotize the users. They're too Goodhart'ed to realize that quite a lot of users don't enjoy being hypnotized.
ackfoobar··on A16z-backed Doublespeed hacked, revealing what its AI-generated accounts promote
https://www.tiktok.com/@chloedav1s_ is the first account mentioned in the article. (Unless TikTok's UI is horrendously bad and I misunderstood) They are literally still images.
ackfoobar··on A16z-backed Doublespeed hacked, revealing what its AI-generated accounts promote
Your scenario is sth like: guy sees bad AI, good AI, and genuine content in his feed. Bad AI gives him confidence in his ability to detect slop, but he thinks the good AI is genuine content. Here the higher the quality of the slop, the harder it is to detect.

In this case some slop is hacked and exposed. I check them out to see if they're good yet. The quality of the slop is unrelated to whether they'd get hacked.

ackfoobar··on A16z-backed Doublespeed hacked, revealing what its AI-generated accounts promote
I checked out one of the accounts mentioned, mostly to check if I can discern fake accounts. The content is just still pictures. I'd dismiss those whether or not they're AI. Well, I'm not on TikTok anyway.

This reminds me of some youtube videos when I was researching some stuff to buy. Those videos are just still images plus text-to-speech narration, usually with an annoying background music.

ackfoobar··on [dead]
Just for the record, another one of his PRs was torn to shreds.

> some core developers (who are compiler developers by trade) are actually experimenting with and using these same tools too, but haven't suddenly turned into 13kLoC PR-opening AI superheroes.

>> Here's my question: why did the files that you submitted name Mark Shinwell as the author?

> Beats me. AI decided to do so and I didn't question it.

https://github.com/ocaml/ocaml/pull/14369

ackfoobar··on Tron: Ares Set to Lose $132M+
I guess it's really hard to write a sequel to Tron Legacy. Quorra came to life, then what? They're supposed to change the world. How? With a Q&A site? (Sorry I can't help myself with this dumb joke.)
ackfoobar··on Ultrasonic Chef's Knife
> Most home cooks (I would bet millions) are not worrying about "the cutting experience"

Indeed, and they won't buy the knife at this price anyway. My point is that not being dishwasher-safe does not matter for ~everyone. If they care, they won't do it; if they don't, they won't buy it.

ackfoobar··on Ultrasonic Chef's Knife
I don't think anyone who cares about the cutting experience would put a knife into a dishwasher.
ackfoobar··on EU court rules nuclear energy is clean energy
Asked for numbers, got a link. Let's see.

They can manufacture 80 GWh a year. To get through dunkelflaute with moderate renewable percentage we need tens of TWh. Not to belittle Tesla, but that's 3 orders of magnitude difference.

Are you changing your mind or can you give me numbers to change mine?

ackfoobar··on EU court rules nuclear energy is clean energy
My question is a few math operations away from "how much batteries capacity can we deploy to support how much % of renewables in the short-medium term, while still having a stable grid". My "100%" phrasing was sloppy, no need to index too much on it.

Since you're in the industry, maybe you can answer this question and change my mind.

ackfoobar··on EU court rules nuclear energy is clean energy
Have you done the math of how insufficient battery tech is, if we are to go 100% renewable? I'm so tired of renewable proponents just use the thought terminating cliche "BATTERIES!" when intermittency is brought up.
ackfoobar··on Google deletes net-zero pledge from sustainability website
On the spectrum between pure communism and pure capitalism, modern China is closer to the US than the US is close to pure capitalism.

> has resulted in big changes

The change was allowing market forces to align incentives.

https://en.wikipedia.org/wiki/Reform_and_opening_up

ackfoobar··on Google deletes net-zero pledge from sustainability website
The poverty reduction comes from the Chinese "Communist" Party adopting capitalism.
ackfoobar··on RubyMine is now free for non-commercial use
> Junie, which also benefits greatly from integration into the IDE.

That is very plausible, I really want it to be true as a fan of IntelliJ and Kotlin. I used Cursor at work and tried out Junie on a hobby project. Maybe it's the different niche, maybe I'm more used to Cursor for chat bot workflows, but I got a personal Cursor license after trying out Junie.

ackfoobar··on FFmpeg Assembly Language Lessons
I seem to recall that they lamented on twitter the low amount of (monetary or code) contribution they got, despite how heavily they are used.
ackfoobar··on OCaml as my primary language
I'm very embarrassed to say this. Those code examples weren't non-compiling OCaml, but valid SML. Once I remembered the existence of the language (in my defence it was never mentioned in the thread), I managed to compile the code, and confirm my suspicion:

`val point: Bound.shape = Shape.Point` type-checks, because `type shape = S.shape`. To drive the point home, so does

    val DoesNotReturnPoint : Shape.shape -> Bound.shape = fn x => x
So the module example does not show "this function won't return a point" as one would have hoped.
Page 1 of 13Next →