Recent submissions

Comment · 1 month ago
I read what the text says but I still do not understand what the point is they are trying to make.

What is it that AI does exactly that they consider to be bad for mathmaticians?

I thought that having AI solve prevously unsolved problems would be a good thing. Doesn't that knowledge give them new ideas and tools for them to solve the next big problem?

Comment · 3 months ago
Worked great but it was hard. Only got to 7 with 1 ball.
Comment · 5 months ago
Yeah don't worry too much about it. You are still young, this is your first book. That is a great accomplishment.

Don't let the comments discourage you, use them, learn from them and your next undertaking will be even better. Be proud of what you did. It is unreasonable that your first attempt would be perfect.

Comment · 9 months ago
I see, you thought I meant that C was the only language with this property. No there are plenty of others, I was fully aware of that. I on the other hand thought you meant that JOVIAL in some way was even thinner or more tuned to underlying architecture in some way that made it thinner than C.
Comment · 9 months ago
I am curious, what was it I said that you consider to be a myth? If I have some misunderstanding I would like to know. I looked at JOVIAL on wikipedia quickly but I can't see exactly how it would be thinner than C or if it's compiler would output something vastly different to a C compiler. Or did you mean it's as thin as C but it came out earlier?
Comment · 9 months ago
True, it doesn't give you the bare machine. What it gives you is the thinnest of machine abstraction with the possibility of linking to your own assembly if you have the demand for it.
Comment · 9 months ago
This is, perhaps surprisingly, what I consider the strength of C. It doesn't hide the issues behind some language abstraction, you are in full control of what the machine does. The bug is right there in front of you if you are able to spot it (given it's not hiding away in some 3rd party library of course) which of course takes many years of practice but once you have your own best practices nailed down this doesn't happen as often as you might expect.

Also, code doesn't need to be bulletproof. When you design your program you also design a scope saying this program will only work given these conditions. Programs that misbehaves outside of your scope is actually totally fine.

Comment · 9 months ago
First off, I want to congratulate you on reaching this milestone. I think this is the state where the most seasoned programmers end up. They know how to write code that works and they don't need a language to "help" or "guide" them.

Enjoy!

Comment · 9 months ago
I agree as a whole but aren't all thoughts some sort of guesswork? Facts just have a higher probability?
Comment · 10 months ago
If Linux previously always outperformed Windows the result should be similar this time around as well. It could possibly be some missing feature or a bug in the linux drivers but it sounds unlikely to me. I mean the architecture isn't fundamentally different. Maybe windows ignores some thermal throttling? Something smells fishy here for sure.
Comment · 11 months ago
I just want to be a bit picky and say that bike shedding means focusing on trivial matters while ignoring or being oblivious to the complicated parts. What he described sounded more like a combination of feature creep/over-engineering.
Comment · 1 year ago
Comment · 1 year ago
Yeah I am not advocating creating a new seperate register, even though that would be nice. Like the poster below said, there are usually some unpreserved registers to choose from but if you for some reason cant spare a register you could instead write the error code to any virtual address instead, or send a signal, a message or anything else you could come up with. Just some way that does away with this intermix of return types and error types.
Comment · 1 year ago
I think it would have been better if they had designed it so that the error message from the kernel came in a seperate register. That would mean you didnt have to use signed int for the return value. The issue is that one register now is sort of disambigious. It either returns the thing you want or the error but these are seperate types. If you had them in seperate registers you would have the natural type of the thing you are interested in without having to convert it. This would however force you to first check the value in the error register before using the value in the return register but that makes more sense to me than the opposite.
Comment · 1 year ago
I have no experience of using it so I might be wrong but AMD has ROCm which has something called HIP that should be comparable to CUDA. I think it also has a way to automatically translate CUDA calls into HIP as well so it should work without the need to modify your code.

Live from the official Hacker News API

A modern reader for Hacker News · SvelteKit + Skeleton