Recent submissions

Comment · 1 month ago
I have come to think of this in the context of 'you can lead a horse to water (but can't make it drink)'. Good therapy is exactly that. There is surprisingly little personal knowledge needed to help someone. It's mostly about steering someone away from negative feedback loops. As much as I believe in human interactions, I actually think that LLMs can be helpful in this regard, provided the LLM provider doesn't prey on us. That last part is why I'm reluctant to advise people to use LLMs for these use cases. I feel that this is not a technical problem, more an alignment issue. Not of AI, but of other people. (in the form of big tech)
Comment · 3 months ago
That explains it. I guess my actual question was, why would you prefer submodules over fetchcontent :)
Comment · 3 months ago
Why use git submodule, when the repo already use CMakes Fetchcontent?
Comment · 6 months ago
honest question, do you not care about/take into account the negative externalities such as animal suffering and/or environmental impact?
Comment · 6 months ago
Comment · 6 months ago
I think this video nicely articulates something modern software has lost. Modern software does not feel like it was meant for you. No longer a tool for you to use. I am hopefull we will bring some of that back.
Comment · 7 months ago
It's not criminal as the power usage is (assumed to be) paid for. It is criminal or at least problematic that the cost of power does not include (negative) externalities, we should strive to change that.
Comment · 11 months ago
Lovely article, I am amazed at the lengths compilers go through to get the best performance. Thanks for writing this!

Reading the part about pure functions (including the extension [[gnu::pure]]) made me feel that this is a part where the C++ default is actually wrong. Not just because it could be better/hindsight/other languages have it/etc. but because it is in conflict with its own motto, don't pay for what you don't use. I really hope I can enable a compiler flag some time in the future that would make my variables const, and my functions pure by default.

Comment · 1 year ago
I can see how the author came to the conclusion that libmodem written in rust would have prevented the issue, but isn't it simply pushing the problem further down the stack?

The author needed to use unsafe in order to pass his pointer to libmodem, but libmodem is going to require a pointer with static lifetime itself. Which would have prevented the issue in the first place had the author done this.

I can see why you wouldn't want to use static, it hinders testability, but that means you need to ensure that the pointer you supply libmodem outlives libmodem. I would use RAII to do that in C++ and I am sure in rust you could/would do the same.

I guess I am asking, is there anything here that a libmodem written in rust would have magically solved? It feels like wishful thinking, but I am open to learn where I am mistaken.

In any case, kudos for finding this bug. Having worked with Zephyr/NRF connect SDK and this exact chip myself I can definitely relate to the pain they (can) bring.

Comment · 1 year ago
I'm sure, but could you point me in the direction of these tools? I would love to supply GDB with some aliases for much used templates so I can have less verbose outputs
Comment · 1 year ago
I love it too, it tends to bend to my will, for better or worse. It feels like it doesn't stand in my way, and that further translates to feeling like there is nothing between my program and the hardware it runs on.

No need to school me on how that isn't true, I'm just describing my feeling and why I love C++.

Comment · 1 year ago
This is what keeps tripping me up, it is very difficult to be both general and not opinionated. C++ is general, you can use it however you want. Especially in many unsafe ways. Like it or not, this is great news for a general low-level language. A language that tells me how to build, where my files should live and what tools I am to use may be a great user experience, it is not very general. Still not sure what to make of this and where I land on this.
Comment · 1 year ago
The comment in your frobulate code suggests one is to forbulate, yet reading The code it is very clear that there will only be frobulation happening in the outlined proceedings. Perhaps a minor revision is required.

Live from the official Hacker News API

A modern reader for Hacker News · SvelteKit + Skeleton