HN user

canyp

277 karma
Posts1
Comments154
View on HN

You could have elaborated the way you did here to begin with.

shame on you if it's your website, given that you've previously submitted content from there

How do you jump to such a conclusion without evidence? Has somebody hurt your feelings on the Internet?

The math alone doesn't do it justice anyway because the context switch is terrible. Why can't I just think about the play that just unfolded and discuss with others? Basketball has the same clock mechanics too and it is nowhere near as tainted with ads.

For reference, soccer matches have traditionally been 45 min half, 15 min commercials, 45 min second half.

I'm not sure about the standard part, but it does call out MS' STL in the sentence prior to what you quoted.

And why is the latter nonsense? lists have had terrible cache performance for decades now and vector is the better default choice of container.

My codebase uses a fairly dumbed down version of C++, but I would have liked to see more depth in this post. As it is, it is not very useful.

There are many more things to avoid than just iostream. HFT university has a good recap: https://hftuniversity.com/post/the-c-standard-library-has-be...

The point on exceptions I think is also misleading. Compilers typically make throwing an exception the expensive part, and the happy path inexpensive (not more expensive than a branch checking for errors, which should be the baseline for comparison, not an implementation with zero error checking.) So to say that they are "expensive" doesn't really make a useful argument.

And there are more things that could be done in this camp, like proposing a set of compiler flags, and a linter to enforce the subset you are subscribing to. Unfortunately the post offers none of that.

Indeed. It is rare to encounter a webgl/gpu visualization that doesn't rev up the fans at 100% while sitting idle, let alone to have this low latency handling input. Virtually all web demos I have seen run terribly because literally 0 attention is paid to actual rendering. The other day somebody submitted one here and admitted they didn't know backface culling was a thing. They also almost universally have no sort of frame pacing.

It's death 1 month ago

It may as well be outside our bounds and unverifiable, but that doesn't mean it doesn't matter or that it shouldn't be part of "practical" discussion, whatever you consider "practical" there. You still have a brain to think about these things.

I do personally believe the latter part. I did not mean to suggest the before/after experience was going to look anything like your current one.

It's death 1 month ago

I believe the fact that it is night time does a lot to it, since we're just wired for a healthy fear of the dark. Coupled with consciousness fading into sleep, it seems to open up a lot of dread.

It's death 1 month ago

Being a materialist and claiming that everything is the consequence of physical phenomena is great, but then you have a lot of homework to do. So I see no more strength in its claims than in the contrarian ones.

It's death 1 month ago

I go through that exercise of visualizing the void and it is fascinating and terrifying at the same time, especially if you do it before going to sleep.

That being said, you can't just assume that existence is bounded by your living memories. You might as well have been everything instead of nothing prior to being spawned and you just don't remember it.

Ironically, the image showing the graph that does that transformation could have gone through the pipeline as well.

I'd be curious to know in more detail what exactly is going on there. I guess the box sharpening is where most of the beef is.

Possibly, but always check the assembly.

The even faster version, opts aside, would be to initialize the pointer at y*screenRect.w and ++ at every loop to avoid the addressing arithmetic.

I still don't get what is the advantage over an unsigned integer. Yes, fp64 has unused bits. But why are you going to involve the FPU at all when a uint64 does the trick as well? Plus with a uint64 you get all the flexibility of what bits to dedicate to the address vs metadata.

Edit: I guess one advantage is that, if we later treat the handle like a pointer, NaN math gets you NaN again, whereas the uint64 math might get you an invalid address, or you'd need extra logic to check that the uint64 is not a valid handle?

Content addressing is extensionality made physical (chapter 11)

Actually, that's in chapter 12; 11 is the standard library. Maybe the LLM got confused because the chapters are 0-indexed.

I was curious about that topic but it seems over my head. I don't think it works outside of mathematics? In programming, one can have two objects that are identical in both structure and value but have different identities. It's why lisp has eq, eql, equal, etc. How'd you get around that other than adding an identity property?

Also:

A handle, what your variables actually hold for strings, sections, lists, trees, is that slot index, carried as an f64

Why does the handle need floating point?

The code casino is real and I don't have an answer to it, only share the sentiment. It is frustrating and exhausting to go through those boom/bust cycles.

The workflow that works for me is: I do the thinking, the writing, then let the AI review it. I am still doing all of the creative work and thinking. The AI keeps me honest and its code reviews are very helpful. The loop becomes competitive and makes me pay more attention to detail; I try to nail things on the first attempt. This gives me a sense of accomplishment and improvement.

Whether this workflow has its days counted, I don't know. But I also don't care. If/when software development as we know it truly stops being a thing, then I'll sadly just have to move on and work in another field. I am not doing vibe coding or programming in natural language. Fuck that.

But I have also noticed that, as much as the AI can process things faster than I can (I also use it to help me navigate the existing code base, and that is also very helpful), it cannot answer the question of whether we should do something, or whether X is more desirable than Y, etc. Maybe for some people, thinking about those things and letting the AI do the rest is enough. For me, personally, I like to navigate all levels of the development.

"AI told me" -- yes, absolutely insufferable dudes. I just don't even bother stating a reply.

The thing though is that they are extremely idiotic. They are constantly, recurringly, scanning the same files, I suppose out of FOMO that a line might have changed. I don't know what a special API solves, especially because HTTP already has etags to save you from re-downloading the whole damn file over again. But these bots don't care. The extent to which they don't care is such that, after I temporarily took cgit down for kicks, they'd get 404s and still repeatedly ask for the sames files days on end.

I second this. My website exposes a cgit and 99% of the traffic now is AI scraping the sources, but the load is nowhere near DoS territory. And this is running on the cheapest VPS I could find.

Not saying I'm not annoyed by the scraping; I am looking to block them, but I'm also not going to put the site behind the gatekeeper. If anything, Cloudflare must love AI scraping now for the same reason AV companies love malware.

Now, if you are running a PHP stack...yeah, maybe that's the problem right there.