Ah, the venerable disk defragmenter! I ran it once, and it was slowly progressing. 97%, 98%, 99%, almost done now I thought! 100%, 101%, 102%, uh oh, that can't be good... but maybe it was just a rounding error in the…
You can indeed, but it would change the code from the article drastically: you have to get rid of the mutex, the discriminant becomes an atomic variable, and you need barriers between access to the discriminant and to…
> The wait_for method is why we have a condition variable at all. If it weren’t for that guy, we could have used std::atomic‘s wait and notify_all methods. No, the std::mutex is the reason you have a condition variable.…
I've worked with piezo actuators to align optical elements. They have great resolution, but they suffer from non-linearity, non-repeatability and a lot of hysteresis. Making motion accurate then becomes a problem of…
Are segments really more flexible? I wrote some 8086 assembly back in the day, and they are a pain in the ass to work with. Code that spans segments has exactly the same problems bank switched systems have. I think the…
It's also not like you are stuck with a full OS when you are running Linux. You can remove features from the kernel you don't need, and you can configure a bare-bones busybox to be your userspace, or just run your…
But that's not what's happening here. If anything, it's driving the e-ink display less. The main risk is that grays are not well-defined. Given a pulse train to get a certain gray level, that gray level might change…
Even weirder: when the router forwards the packet from the host to the Internet, it already sees both the source IPv6 and MAC address, so it could store them. Maybe there are some weird situations where a host that just…
I think the solution is to really give the user control over when something is pasted and into which application. So if you press ctrl-V, it shouldn't pass that on to an application that then gets to poll the clipboard,…
> Intent matters a great deal, The road to hell is paved with good intentions.
For FPGAs in general: When latency is important. Even a $1 MCU has a huge amount of compute power nowadays, and they can simulate many things, but if you need to deterministically react within 1 microsecond to what…
The Swedes managed it.
> Everything being static inline makes it hostile to these older systems which have limited RAM. Compilers can un-inline as well. In fact, since every function is defined in the header file, the static inline annotation…
> execute instructions faster (via -O3) One problem with -O3 is that it disregards any effects of the cache (and yes, ESP32s have a bit of cache memory). I recommend using -Os as the default optimization level, as it…
We'll see how much people like it once the cheap subscriptions end and the actual cost of LLMs (+ profit margin) is asked of them. Although I'm suspecting that eventually, machines that are good enough to run reasonably…
> Notable are the endorsements, which are balanced over all three options, perhaps indicating only 1/3 are supportive of a more permissive position. That's not the case. First, you can't really extrapolate from…
If you do a rebase -i because you want to squash or fix some commits, then there's git commit --squash and git commit --fixup commands which will mark commits as intending to squash or fixup another commit, and then you…
I actually tried doing it as a Vulkan compute shader, continuously simulating 128 strings (all possible MIDI notes). It didn't work very well. While the latency was tolerable, it was slower than doing the same on the…
The simplest form of string synthesis is perhaps the Karplus-Strong algorithm (https://en.wikipedia.org/wiki/Karplus%E2%80%93Strong_string_...). Instead of simulating the motion of all parts of the string for each…
> However, I have to wonder about the cost of these projects. A very good way to deal with this is to recognize that all infrastructure needs maintenance and periodic replacement. Once it is time to replace a road, that…
Nice, although if you already are running your own DHCP and web server, it's very easy to add a TFTP server and configure everything to serve whatever you want. So it does feel a bit like reinventing the wheel to me. A…
It's definitely possible, but I agree with many other commenters it probably will not happen. I wrote an encrypted mesh networking library that runs on normal operating systems. A customer asked me if I could make it…
Ok, but that would just be your own website having a single point of failure, not that Let's Encrypt is a single point of failure. Otherwise you could call every certificate authority a single point of failure.
No, it's not. You can always switch to a different SSL provider. There are other free ones (as mentioned in other comments). However, thinking about how to make your own setup more robust without having to manually…
Very nice. I wonder if implementing a one-instruction set computer (for example something that implements Adrian Cable's subleq VM, see https://www.ioccc.org/2025/cable/) would be educational and whether it can make the…
Ah, the venerable disk defragmenter! I ran it once, and it was slowly progressing. 97%, 98%, 99%, almost done now I thought! 100%, 101%, 102%, uh oh, that can't be good... but maybe it was just a rounding error in the…
You can indeed, but it would change the code from the article drastically: you have to get rid of the mutex, the discriminant becomes an atomic variable, and you need barriers between access to the discriminant and to…
> The wait_for method is why we have a condition variable at all. If it weren’t for that guy, we could have used std::atomic‘s wait and notify_all methods. No, the std::mutex is the reason you have a condition variable.…
I've worked with piezo actuators to align optical elements. They have great resolution, but they suffer from non-linearity, non-repeatability and a lot of hysteresis. Making motion accurate then becomes a problem of…
Are segments really more flexible? I wrote some 8086 assembly back in the day, and they are a pain in the ass to work with. Code that spans segments has exactly the same problems bank switched systems have. I think the…
It's also not like you are stuck with a full OS when you are running Linux. You can remove features from the kernel you don't need, and you can configure a bare-bones busybox to be your userspace, or just run your…
But that's not what's happening here. If anything, it's driving the e-ink display less. The main risk is that grays are not well-defined. Given a pulse train to get a certain gray level, that gray level might change…
Even weirder: when the router forwards the packet from the host to the Internet, it already sees both the source IPv6 and MAC address, so it could store them. Maybe there are some weird situations where a host that just…
I think the solution is to really give the user control over when something is pasted and into which application. So if you press ctrl-V, it shouldn't pass that on to an application that then gets to poll the clipboard,…
> Intent matters a great deal, The road to hell is paved with good intentions.
For FPGAs in general: When latency is important. Even a $1 MCU has a huge amount of compute power nowadays, and they can simulate many things, but if you need to deterministically react within 1 microsecond to what…
The Swedes managed it.
> Everything being static inline makes it hostile to these older systems which have limited RAM. Compilers can un-inline as well. In fact, since every function is defined in the header file, the static inline annotation…
> execute instructions faster (via -O3) One problem with -O3 is that it disregards any effects of the cache (and yes, ESP32s have a bit of cache memory). I recommend using -Os as the default optimization level, as it…
We'll see how much people like it once the cheap subscriptions end and the actual cost of LLMs (+ profit margin) is asked of them. Although I'm suspecting that eventually, machines that are good enough to run reasonably…
> Notable are the endorsements, which are balanced over all three options, perhaps indicating only 1/3 are supportive of a more permissive position. That's not the case. First, you can't really extrapolate from…
If you do a rebase -i because you want to squash or fix some commits, then there's git commit --squash and git commit --fixup commands which will mark commits as intending to squash or fixup another commit, and then you…
I actually tried doing it as a Vulkan compute shader, continuously simulating 128 strings (all possible MIDI notes). It didn't work very well. While the latency was tolerable, it was slower than doing the same on the…
The simplest form of string synthesis is perhaps the Karplus-Strong algorithm (https://en.wikipedia.org/wiki/Karplus%E2%80%93Strong_string_...). Instead of simulating the motion of all parts of the string for each…
> However, I have to wonder about the cost of these projects. A very good way to deal with this is to recognize that all infrastructure needs maintenance and periodic replacement. Once it is time to replace a road, that…
Nice, although if you already are running your own DHCP and web server, it's very easy to add a TFTP server and configure everything to serve whatever you want. So it does feel a bit like reinventing the wheel to me. A…
It's definitely possible, but I agree with many other commenters it probably will not happen. I wrote an encrypted mesh networking library that runs on normal operating systems. A customer asked me if I could make it…
Ok, but that would just be your own website having a single point of failure, not that Let's Encrypt is a single point of failure. Otherwise you could call every certificate authority a single point of failure.
No, it's not. You can always switch to a different SSL provider. There are other free ones (as mentioned in other comments). However, thinking about how to make your own setup more robust without having to manually…
Very nice. I wonder if implementing a one-instruction set computer (for example something that implements Adrian Cable's subleq VM, see https://www.ioccc.org/2025/cable/) would be educational and whether it can make the…