HNHacker News
TopNewBestAskShowJobs

squirrellous

126 karma · joined December 13, 2024

submissionscomments
squirrellous··on We mourn our craft
It was pretty clear to me after interacting with the first popular ChatGPT version around end of 2022 that all knowledge jobs will be replaced sooner or later. I don’t think coding is somehow special. What we have right now is an intermediate stage where “taste” still matters, but this won’t last forever.

I also believe that when all knowledge jobs are replaced, something fundamental needs to change in society. Trying to anticipate and prepare for that right now is premature.

squirrellous··on We mourn our craft
If you believe juniors are already not safe, it’s only a question of time before seniors are in the same position. First they came for the socialists, etc etc.
squirrellous··on Zig Libc
I’m sure this has crossed someone’s mind but why isn’t this called zlibc? :-)
squirrellous··on What Most People Miss About Getting Promoted
If you are at a place where that’s true, cherish it. It won’t always be true.
squirrellous··on Spinning around: Please don’t – Common problems with spin locks
Another somewhat known case of a spinlock is in trading, where for latency purposes the OS scheduler is essentially bypassed by core isolation and thread pinning, so there’s nothing better for the CPU to do than spinning.
squirrellous··on Claude Code's new hidden feature: Swarms
Not a direct answer to your question, but I’m recently trying to adopt the mindset of letting Claude “prove” to me with very high confidence that what they did works. The bar for this would be much higher than what I’d require for a human engineer. For example it can be near 100% test coverage, combined with advanced testing techniques like property-based tests and fuzz tests, and benchmarks if performance is a concern. I’d still have to skim through both the implementation and tests, but it doesn’t have to be a line by line review. This also forces me to establish a verifiable success criteria which is quite useful.

Results will vary depending on how automatically checkable a problem is, but I expect a lot of problems are amenable to some variation of this.

squirrellous··on Hung by a thread
> But I will never call into a library I don't fully understand while holding a mutex again. Fool me once.

Nice sentiment and an admirable goal. Not really actionable in practice. Even if we disregard all userspace libraries out there, fully understanding the most frequently used syscalls is a monumental task already. You have to pick your battles in terms of understanding parts of a complex system.

squirrellous··on Are we all plagiarists now?
Anecdotal perspective. I’m usually ok with others copying my code since code feels less personal (for lack of a better word). The other day I found a prompt for internal AI that copied my technical arguments in prose verbatim without attribution. This felt very wrong and invasive. It made me much more sympathetic to people with intellectual work out in the public domain.
squirrellous··on Replacing Protobuf with Rust
Whether it is significant is highly specific to the domain. I think protobuf has accumulated enough problems that every large scale application will eventually run into a footgun or two. Almost all of them have to do with the generated types, not the wire format.

Examples that can noticeably slow things down even for “normal” web apps: map types and deeply nested messages.

squirrellous··on Why does SSH send 100 packets per keystroke?
I’m aware what TCP_CORK does. I’m not seeing how it helps the situation in the post.

Ah, maybe you are saying it doesn’t help the situation in the post. That’s what I misunderstood.

squirrellous··on Why does SSH send 100 packets per keystroke?
Can you explain how TCP_CORK helps here? The chaff packets are spaced 20ms apart and sent per socket, so I don’t see how TCP_CORK could help unless it coalesced across 20ms intervals? But coalescing is clearly not an option for the intended obfuscation effect of the original feature.
squirrellous··on We put Claude Code in Rollercoaster Tycoon
It depends on the language and codebase. For something very dynamic like Python it may be the case that grepping finds real references to a symbol that won’t be found by a language server. Also language servers may not work with cross-language interfaces or codegen situations as well as grep.

OTOH for a giant monorepo, grep probably won’t work very well.

squirrellous··on Dev-owned testing: Why it fails in practice and succeeds in theory
I work with an amazing QA team right now. They are good programmers that don’t mind doing lots of grunt work, understand the goal of the software deeply, collaborates extremely well with other teams, and are just all around great people. I expect they would kill it as a non-QA dev team as well, so I’m always grateful to have such partners.
squirrellous··on A 40-line fix eliminated a 400x performance gap
Does anyone knowledgeable know whether it’s possible to drastically reduce the overhead of reading from procfs? IIUC everything in it is in-memory, so there’s no real reason reading some data should take the order of 10us.
squirrellous··on Everything you never wanted to know about file locking (2010)
This is my go to article every time I think about using file locking to solve a problem.

Also, OFD locks are great if you target Linux only these days.

squirrellous··on Opus 4.5 is not the normal AI agent experience that I have had thus far
For some reason Opus 4.5 is blowing up recently after having been released for weeks. I guess because holidays are over? Active agent users should have discovered this for a while.
squirrellous··on I/O is no longer the bottleneck? (2022)
I don’t have much evidence but feel like fsync has overshot its significance. It’s really important in databases and that’s fine, but a lot of software can handle (very occasional) kernel / hardware crashes by e.g. restoring data from an external backup, and can benefit from the mmap guarantee that process level crashes won’t lose any data.
squirrellous··on I/O is no longer the bottleneck? (2022)
Thanks. These are actually achievable with a custom protocol buffer implementation, but I agree at that point one may as well create a new format.

FWIW the other use case I was expecting is something like database queries where you’d select one particular column out of a json-like blob and want to avoid deserialization.

squirrellous··on I/O is no longer the bottleneck? (2022)
Would you mind sharing what problems motivated Lite? Curious what are the typical use cases for selective reading / in place modification of serialized data. My understanding is that for cases that really want all of the fields, the zero-copy solutions aren’t much better than JSON / protobuf, so these are solutions to different problems.
squirrellous··on Jeffgeerling.com has been migrated to Hugo
Second this. Once I setup GitHub actions with Hugo (there’s one readily available), I rarely build the blog locally anymore. New article drafts become GH pull requests, and once ready they get merged and published. This also works on mobile well enough.
squirrellous··on Zpdf: PDF text extraction in Zig
One reason to use shared memory mmap is to ensure that even if your process crashes, the memory stays intact. Another is to communicate between different processes.
squirrellous··on High-performance C++ hash table using grouped SIMD metadata scanning
Not sure how much value there is in beating Swisstables in very particular cases like this. For specialized cases, one can beat Swisstables by more margin and less effort by using more memory and decreasing load factor, thereby decreasing collisions. You don’t even need SIMD in that case since collisions are rare.
squirrellous··on Functional programming and reliability: ADTs, safety, critical infrastructure
Perhaps someone can enlighten me on this. I never quite understood the sentiment of treating money-related tech as somehow more critical than others. The effects of large SaaS services failing and the bank failing can be quite similar - businesses interrupted, money lost, etc. but it’s typically not life and death, so the importance of reliability should be similar.

I can understand treating social network sites as less critical, of course.

squirrellous··on Memory Safety
Apologies. Please feel free to delete it. That was not the intention.
squirrellous··on Memory Safety
[flagged]
squirrellous··on How I Left YouTube
I feel this is easier if you treat day jobs almost as a side hustle and have significant hobbies and life elsewhere. It’s more difficult if your career heavily overlaps with what you love doing (e.g. software), except the career comes with unwanted things like politics, promos, managing others, etc.
squirrellous··on How I Left YouTube
Google is a somewhat widely known place where promo is a huge problem, but the problem isn’t particular to Google. Generally companies will require you to repeatedly “prove” you are worth the additional compensation before agreeing to it. The friction varies, but the structural incentives are always there. Therefore if the goal is to maximize earnings, and assuming you are a high performer, it’s in your best interest to job hop once in a while.

To not play this made-up game, you either decide to stop caring about compensation, or be your own boss. Of course these are not always realistic depending on one’s life situation.

squirrellous··on Rue: Higher level than Rust, lower level than Go
IIRC the author has a good track record with programming languages.
squirrellous··on Performance Hints
I wish Google would open source their gtl library. Similar utilities exist elsewhere but not in the same consistent quality and well-integrated package.

I particularly like the “what to do for flat profiles” ad “protobuf tips” sections. Similar advice distilled to this level is difficult to find elsewhere.

squirrellous··on Rust Coreutils 0.5.0 Release: 87.75% compatibility with GNU Coreutils
Honest question. Why is a Rust rewrite of coreutils getting traction? Nobody thought it’s a good idea to rewrite coreutils with Go, Java, Python, C++, etc etc. It can’t just be memory safety.
← PreviousPage 3 of 5Next →