Michael De Lang
xoipos.bsky.social
Michael De Lang
@xoipos.bsky.social
Embedded c++ engineer, developer of https://github.com/volt-software/Ichor
How else he's going to teach people why c++ strings are how they are? It solved a rail pain and will prevent pain for you once you understand. Otherwise, abusing ats::string will lead you to days of debug hell...
January 27, 2025 at 9:56 AM
Not to mention having different member variables depending on the CRTP param...
January 25, 2025 at 9:37 AM
A conversion allocates and does some "real" work for some definition of "real". Casts, especially c style casts, are just sprinkles of magic fairy dust to make the compiler treat something as a different type. Sometimes that fairy dust is actually demon dust though.
January 22, 2025 at 3:57 AM
Yeah, especially because it's mostly tailor made for Google's workflow. Haven't been able to try it, but perhaps github.com/uatuko/grpcxx is slightly easier to use?
GitHub - uatuko/grpcxx: 🚀 Blazing fast gRPC server (C++)
🚀 Blazing fast gRPC server (C++). Contribute to uatuko/grpcxx development by creating an account on GitHub.
github.com
December 20, 2024 at 3:15 PM
If you're writing your game in ASM, I have bad news for you.

You aren't a game dev.
You aren't making anything.
You're relying on a cheap tool to make the game for you, so you can feel proud.

Come back when you've written a game in hardware logic gates... then we'll talk.
December 16, 2024 at 3:11 PM
Unfortunately I see a lot of global mutable state in embedded projects. Kind of like errno, but custom. Having independent parts of the code react or not depending on that leads to having at least half a working system in some cases.
December 16, 2024 at 4:19 AM
There's Conan and vcpkg. But before I get your hopes up, they're nowhere near as good as cargo.
December 12, 2024 at 11:52 PM
With WAL, synchronous=normal and order-dependent execution, I really wonder if it's use is justified. Either the use-case is one where'd one be better of using postgresql/mysql/etc or in a single user use case, I only see it as an overkill function that adds overhead.
December 12, 2024 at 6:17 AM
If you're able to use c++23: github.com/stephenberry...

This library is so much more convenient than any other to use and the performance is one of the best (jsonifier might beat it depending on use case)
GitHub - stephenberry/glaze: Extremely fast, in memory, JSON and interface library for modern C++
Extremely fast, in memory, JSON and interface library for modern C++ - stephenberry/glaze
github.com
December 12, 2024 at 6:13 AM
Learning is fun, but c++ (especially on windows) is a marathon of masochism. Whether you enjoy such a thing or not is up to you. It will end up giving you a greater mastery of programming though, as you will have to touch on all the things that make a computer work.
December 11, 2024 at 5:28 AM
This seems like such a waste of engineering effort for practically 0 gains... I question the benefit of the asynchronous API too.
December 11, 2024 at 3:35 AM
Std variant should come pretty close?
December 10, 2024 at 11:53 AM
Wow. You'd think that after ten years of programming c++ I'd have noticed this. But no, TIL.
December 10, 2024 at 11:51 AM
🎉
December 10, 2024 at 8:55 AM
🎉
December 10, 2024 at 8:55 AM
It is one of the more difficult tools to use yes :(
December 1, 2024 at 9:53 PM
Homebrew is the answer: formulae.brew.sh/formula/x86_...
x86_64-elf-gcc
Homebrew’s package index
formulae.brew.sh
November 30, 2024 at 3:23 PM
Link missing :(
November 30, 2024 at 6:22 AM
And then in your c code you cast it back and forth.

This is great for learning making your own bindings, however, there are usually libraries that make c++ interop more seamless by hiding the gory details. F.e. pybind11 supports binding classes by generating a python class underwater.
November 28, 2024 at 8:39 AM