HNHacker News
TopNewBestAskShowJobs

assbuttbuttass

1,347 karma · joined August 6, 2021

https://news.ycombinator.com/item?id=37272485
submissionscomments
assbuttbuttass··on Evidence of a spying operation by ICE against left-wing social movements
It's actually better in many cases for businesses to hire undocumented workers, since it makes the workers position much more tenuous. They are much less like to unionize, demand higher pay, etc. if the threat of deportation is hanging over their head
assbuttbuttass··on Several Linux kernel vulnerabilities accidentally posted to public mailing list
lmao
assbuttbuttass··on Platform-independent SIMD in Go
The main problem is that Goroutine stacks are small, starting at 2KiB. When you're calling a C function, the Go runtime can't know how much stack space the C function will use, so it has to defensively expand the stack in a lot of cases
assbuttbuttass··on Battery packs: Let's talk about crates, baby
Sounds like a great way to get dozens of dependencies before you even write a line of code
assbuttbuttass··on The git history command
And then bisect fails because it finds one of the many commits that broke the test before the actual regression
assbuttbuttass··on The git history command
Suppose we have a failing test. For many commits, gp carefully separated their change that would break our test, from the change that would fix the test. At some point, someone forgot to run the tests, and introduced a commit that broke the test without adding a second commit to fix it. Now it's treated as a "pre-existing failure," and many more commits are added on top.

How would you identify the commit that broke the test?

assbuttbuttass··on The git history command
Of course, but this thread was in the context of someone "carefully curating" their git history
assbuttbuttass··on The git history command
That sounds like it would break bisect
assbuttbuttass··on FCC approves test of space mirror to light night sky
We've entered the "bond villain" era of VC startups
assbuttbuttass··on International chess federation sanctions Kramnik
If someone manages to become a world class chess player, they are likely very good at chess
assbuttbuttass··on Since Linux 6.9, LUKS suspend stopped wiping disk-encryption keys from memory
> I must admit I'm a little surprised how many people seem to disable secure boot.

To me, secure boot is the setting that I need to remember to turn off before installing the OS, but I would be willing to be convinced otherwise

assbuttbuttass··on Go: Support for Generic Methods
Hmm I wasn't familiar with join, but it looks like you still need join + fmap for the construction? I believe fmap would also need a generic method
assbuttbuttass··on Go: Support for Generic Methods
It's (sadly) still not possible to express monads with this change, since generic methods can't implement interfaces. You'd probably want something like:

    type Monad[T any] interface {
        Bind[U any](func(T) Monad[U])
    }
However this requires the Bind method to be generic, which still isn't allowed in an interface
assbuttbuttass··on What color is your function? (2015)
> Why would there be paranoia when writing blocking code with async?

In languages like JavaScript, you have to be careful to avoid blocking the event loop, and use something like worker threads for CPU-intensive tasks. Otherwise you will end up with long tail latencies. In Go, the runtime automatically manages this and can suspend and resume long-running goroutines.

> naively accessing a global value can lead to race conditions

Fair point that the language doesn't automatically catch this, but that's what a mutex is for. In return you get actual parallelism that can use all your CPU cores

assbuttbuttass··on What color is your function? (2015)
> Your entire codebase is now a surface area that is at risk of being blocked

The point of goroutines is that they can freely block when needed. It's not like async where you have to be paranoid at every moment about writing blocking code

assbuttbuttass··on Python 3.15: features that didn't make the headlines
Interesting, thanks
assbuttbuttass··on Python 3.15: features that didn't make the headlines
Also C++/Java static initialization, C# static constructors, or Rust global variable initialization, ...

Most languages have this feature Afaik

assbuttbuttass··on Why are there both TMP and TEMP environment variables? (2015)
I use lowercase for my personal environment variables. It works well since most programs only depend on variables in all caps. Hadn't thought of using MY_
assbuttbuttass··on Helix: A post-modern text editor
I really want to like Helix, but I wish the developers paid more attention to performance, or were more receptive to outside contributions. Helix can really chug, even on small files, and the perception in the community seems to be "it's written in Rust so therefore it's blazingly fast :rocket-ship-emoji:"
assbuttbuttass··on Why Go Can't Try
Which aspects of Rust syntax are adapted from ML? Semantics sure, but to me the syntax seems a lot more similar to C++ (e.g. semicolons, type parameters using <>, etc.)
assbuttbuttass··on Pentagon Adopts Incel-Speak
The incels have grown up and now work at the Pentagon
assbuttbuttass··on LLMs as the new high level language
This still doesn't help when you update your compiler to use a newer model
assbuttbuttass··on Guix System First Impressions as a Nix User
Just a personal anecdote, but the errors from Guix are terrible. I had to reinstall because I couldn't figure out the scheme errors for my system config
assbuttbuttass··on Guix System First Impressions as a Nix User
> the thing I hate by far the most in NixOS is .. nix

nix has a pretty steep learning curve, sure

> scheme? Aka Lisp? Seriously???

No nix, no scheme, got it. I wonder which language you would use?

> YAML files exist for a reason.

LMAO

assbuttbuttass··on Claude Code's GitHub page auto closes issues after 60 days
Yeah, it only checks whether the last bot comment is older than 30 days, completely ignoring any human comment

    if (botCommentDate < oneMonthAgo) {
        // Close the issue - it's been stale for 60+ days
Hard to imagine how this got past code review...

https://github.com/anthropics/claude-code/blob/5e3e9408feea9...

assbuttbuttass··on Finding and Fixing a 50k Goroutine Leak That Nearly Killed Production
> Writers kept sending to sub.messages. The channel grew. Memory grew.

Channels are buffered in Go, they will not grow unbounded.

> Tickers Are Not Garbage Collected

It used to be necessary in older versions to call ticker.Stop(), but in recent versions it's no longer necessary.

    // Start goroutines
    go s.pumpMessages(ctx, sub)
    go s.heartbeat(ctx, sub)
    
    // Monitor the connection
    go s.monitorConnection(ctx, sub)
The "fixed" code is still using the fire-and-forget pattern for goroutines which encourages this kind of leak. Go makes it easy to add concurrency on the caller side, so it's usually better to write blocking functions that clean up all their goroutines before returning.

In general this article screams AI with most of the conclusions being hallucinated. Goroutine leaks are real, but it's hard to trust any of the article's conclusions

assbuttbuttass··on Investigating and fixing a nasty clone bug
I fixed an almost identical bug at work a few months ago: an internal service was calling some network device, and would only fail for IPv6-only devices. Turns out it was trying IPv4 first, and then when it failed, it would retry the request with IPv6, but the request body was already consumed so the retry failed with a cryptic error
assbuttbuttass··on Can I start using Wayland in 2026?
Screen sharing works in Zoom now, you'll have to find a new cherry-picked example
assbuttbuttass··on Avoid UUID Version 4 Primary Keys in Postgres
At least for the Spanner DB, it's good to have a randomly-distributed primary key since it allows better sharding of the data and avoids "hot shards" when doing a lot of inserts. UUIDv4 is the typical solution, although a bit-reversed incrementing integer would work too

https://cloud.google.com/blog/products/databases/announcing-...

assbuttbuttass··on Adafruit: Arduino’s Rules Are ‘Incompatible With Open Source’
> To "force" someone to develop on a Chromebook is like giving someone a bicycle to become a race car driver.

Lol, I use a Chromebook for development at work

Page 1 of 14Next →