If you grew up doing windows C++ development, looking at things in a debugger is your first step. You only resort to printing values if you can't immediately see what happened in the debugger.
A lot of other envioronment/language cultures are the opposite. Obviously both have their place, but I do feel like more people should use the debugger as the first step instead of the last.
Sometimes I yearn for the Haskell or Idris style of programming where a dependency can do nothing harmful or stupid without me passing in permission.
Then I think about having to pass in thread handles and file handles to logging libraries. I don't know. It would be a cool option. There is probably a hack for `tracing` that would let me manage the logging thread myself.
Software is so complex these days. The funny solution of doing static-allocated C with no threads and no logging isn't gonna work for me. You aren't going to have WebRTC in from-scratch C.
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.
But yeah it would be much more predictable for everyone if the robot didn't use WebRTC or the fancy logging library, and there was a WebRTC shim on the laptop to get the visuals into a browser.
The longer I think about that 10 ms control loop, the more I hope they aren't running any WebRTC thing on the same hardware cores as the control loop.
You’re welcome to not like the article, and it can even be LLM-assisted, but that doesn’t mean it’s slop