HNHacker News
TopNewBestAskShowJobs

dubi_steinkek

44 karma · joined April 6, 2021

submissionscomments
dubi_steinkek··on Rust project goals: Immobile types and guaranteed destructors
Which stdlib collections and types should become `!Move`?
dubi_steinkek··on Rust project goals: Immobile types and guaranteed destructors
How so? This feel distinct from the "algebraic effects"-like features like constness, async, can-panic, can-unwind, etc., since this is a property of the types themselves rather than of functions.
dubi_steinkek··on Air is full of DNA
Do you have links to these youtubers? Sounds interesting
dubi_steinkek··on Chromium Has Merged JpegXL
That looks pretty good to me. Every `unsafe` function has clearly stated safety requirements, and every `unsafe` blocks justifies why the requirements are met.
dubi_steinkek··on LLVM: The bad parts
mainly, but it also supports alternative codegen backends (cranelift, rustc_codegen_gcc)
dubi_steinkek··on How well do you know C++ auto type deduction?
Why is this a perf footgun? As someone who doesn't write a lot of c++, I don't see anything intuitively wrong.

Is it that iterating over map yields something other than `std::pair`, but which can be converted to `std::pair` (with nontrivial cost) and that result is bound by reference?

dubi_steinkek··on Java Hello World, LLVM Edition
Maybe they can with postinstall scripts, but they usually don't.

For the most part, installing packaged software simply extracts an archive to the filesystem, and you can uninstall using the standard method (apt remove, uv tool remove, ...).

Scripts are way less standardized. In this case it's not an argument about security, but about convenience and not messing up your system.

dubi_steinkek··on Jujutsu worktrees are convenient (2024)
> there is no difference as jj is only a frontend to git.

That's not really true in this case, as the worktree feature from jujutsu is not implemented on top of git worktrees.

dubi_steinkek··on Jujutsu for busy devs
I don't think that's a fair characterization.

It's more that there isn't really a big difference between the workflow of

    # you're on
      staging area
    @ commit A
    # make some untracked changes and console logs you don't wanna commit
    git add -p && git commit # select only what you want
vs

    # you're on
    @ empty commit 
    | commit A
    # make some local changes (which are tracked in @)
    jj commit -i # select only what you want
You're still "in charge what gets tracked" if you treat the last @ commit as your local playground, exactly the same as the staging area. The only difference is that you can use exactly the same tools to manipulate your "staging area" as other commits. The only difference being that you can manipulate your staging area with the same tools as any other commit.
dubi_steinkek··on Small Strings in Rust: smolstr vs. smartstring (2020)
It's possible but I would prefer to just pass &str at that point, leading to less monomorphizations and a simpler API
dubi_steinkek··on 4B If Statements
This seems to be a somewhat common occurrence. When I was first learning programming with python I wanted multiple balls in a pong-like game, so after some googling I ended up writing something like `globals()["ball" + i]` until someone mentioned that arrays were a thing I could use for that.