Michael De Lang's Avatar

Michael De Lang

@xoipos.bsky.social

Embedded c++ engineer, developer of https://github.com/volt-software/Ichor

31 Followers  |  160 Following  |  49 Posts  |  Joined: 24.11.2024  |  1.9808

Latest posts by xoipos.bsky.social on Bluesky

Preview
GitHub - simdutf/simdutf: Unicode routines (UTF8, UTF16, UTF32) and Base64: billions of characters per second using SSE2, AVX2, NEON, AVX-512, RISC-V Vector Extension, LoongArch64. Part of Node.js, We... Unicode routines (UTF8, UTF16, UTF32) and Base64: billions of characters per second using SSE2, AVX2, NEON, AVX-512, RISC-V Vector Extension, LoongArch64. Part of Node.js, WebKit/Safari, Ladybird, ...

Simdutf is a godsend: github.com/simdutf/simd...

27.01.2025 11:02 โ€” ๐Ÿ‘ 1    ๐Ÿ” 0    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0

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...

27.01.2025 09:56 โ€” ๐Ÿ‘ 2    ๐Ÿ” 0    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0

Not to mention having different member variables depending on the CRTP param...

25.01.2025 09:37 โ€” ๐Ÿ‘ 0    ๐Ÿ” 0    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0

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.

22.01.2025 03:57 โ€” ๐Ÿ‘ 1    ๐Ÿ” 0    ๐Ÿ’ฌ 1    ๐Ÿ“Œ 0
Preview
GitHub - uatuko/grpcxx: ๐Ÿš€ Blazing fast gRPC server (C++) ๐Ÿš€ Blazing fast gRPC server (C++). Contribute to uatuko/grpcxx development by creating an account on GitHub.

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?

20.12.2024 15:15 โ€” ๐Ÿ‘ 2    ๐Ÿ” 0    ๐Ÿ’ฌ 1    ๐Ÿ“Œ 0

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.

16.12.2024 15:11 โ€” ๐Ÿ‘ 4    ๐Ÿ” 0    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0

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.

16.12.2024 04:19 โ€” ๐Ÿ‘ 1    ๐Ÿ” 0    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0

There's Conan and vcpkg. But before I get your hopes up, they're nowhere near as good as cargo.

12.12.2024 23:52 โ€” ๐Ÿ‘ 1    ๐Ÿ” 0    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0

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.

12.12.2024 06:17 โ€” ๐Ÿ‘ 0    ๐Ÿ” 0    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0
Preview
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

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)

12.12.2024 06:13 โ€” ๐Ÿ‘ 1    ๐Ÿ” 0    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0

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.

11.12.2024 05:28 โ€” ๐Ÿ‘ 1    ๐Ÿ” 0    ๐Ÿ’ฌ 1    ๐Ÿ“Œ 0

This seems like such a waste of engineering effort for practically 0 gains... I question the benefit of the asynchronous API too.

11.12.2024 03:35 โ€” ๐Ÿ‘ 0    ๐Ÿ” 0    ๐Ÿ’ฌ 1    ๐Ÿ“Œ 0

Std variant should come pretty close?

10.12.2024 11:52 โ€” ๐Ÿ‘ 1    ๐Ÿ” 0    ๐Ÿ’ฌ 1    ๐Ÿ“Œ 0

Wow. You'd think that after ten years of programming c++ I'd have noticed this. But no, TIL.

10.12.2024 11:51 โ€” ๐Ÿ‘ 2    ๐Ÿ” 0    ๐Ÿ’ฌ 1    ๐Ÿ“Œ 0

๐ŸŽ‰

10.12.2024 08:55 โ€” ๐Ÿ‘ 1    ๐Ÿ” 0    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0

๐ŸŽ‰

10.12.2024 08:54 โ€” ๐Ÿ‘ 0    ๐Ÿ” 0    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0
Legacy Safety: The Wrocล‚aw C++ Meeting | cor3ntin

A good out of the box thinking blog post on the current safety in c++ dichotomy: cor3ntin.github.io/posts/profil...

02.12.2024 22:46 โ€” ๐Ÿ‘ 0    ๐Ÿ” 0    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0

It is one of the more difficult tools to use yes :(

01.12.2024 21:53 โ€” ๐Ÿ‘ 0    ๐Ÿ” 0    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0

Does anyone have any recommendations on organizational learning? Double-loop learning and so on. #organizationallearning #managementbooks #learningfromfailure #books

30.11.2024 19:04 โ€” ๐Ÿ‘ 1    ๐Ÿ” 0    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0
Preview
x86_64-elf-gcc Homebrewโ€™s package index

Homebrew is the answer: formulae.brew.sh/formula/x86_...

30.11.2024 15:23 โ€” ๐Ÿ‘ 1    ๐Ÿ” 0    ๐Ÿ’ฌ 1    ๐Ÿ“Œ 0
Does GitHub Copilot Improve Code Quality? Here's How We Lie With Statistics | Jadarma's Blog A critique of GitHub's research blog and marketing-driven science.

The AI hype is so strong that Microsoft published an article that looks like it was written by an LLM. I keep saying it to whoever wants to listen, the current generation AI is making software development worse. jadarma.github.io/blog/posts/2...

30.11.2024 15:21 โ€” ๐Ÿ‘ 4    ๐Ÿ” 1    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0

Link missing :(

30.11.2024 06:22 โ€” ๐Ÿ‘ 0    ๐Ÿ” 0    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0
Post image

The enshittification continues. www.baldurbjarnason.com/2024/the-det...

30.11.2024 06:12 โ€” ๐Ÿ‘ 1    ๐Ÿ” 0    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0

Story-time: C++, bounds checking, performance, and compilers -Coding in Old Entish
https://chandlerc.blog/posts/2024/11/story-time-bounds-checking/

#frombsky


Original->

28.11.2024 12:54 โ€” ๐Ÿ‘ 2    ๐Ÿ” 1    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0

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.

28.11.2024 08:39 โ€” ๐Ÿ‘ 2    ๐Ÿ” 0    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0

No worries, everyone starts as a beginner.
Usually the pattern is that there is a "create_my_type" extern C function that returns a void pointer to python. Then other functions accept that as a parameter "void some_operation(void* my_opaque_type_ptr, int arg1, float arg2);"

28.11.2024 08:36 โ€” ๐Ÿ‘ 2    ๐Ÿ” 0    ๐Ÿ’ฌ 1    ๐Ÿ“Œ 0

Not sure I understand the problem. Passing around opaque void pointers, while frowned upon, is definitely possible with python <-> c interop. You just gotta sprinkle your c++ with extern "C" every point where you interop

28.11.2024 06:23 โ€” ๐Ÿ‘ 1    ๐Ÿ” 0    ๐Ÿ’ฌ 1    ๐Ÿ“Œ 0

For those, like me, who recently joined blue sky, there's apparently a site to search for lists! Go check it out

27.11.2024 03:49 โ€” ๐Ÿ‘ 1    ๐Ÿ” 0    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0

Well, stuff like reflection, constexpr/consteval, concepts being more powerful.

27.11.2024 03:40 โ€” ๐Ÿ‘ 0    ๐Ÿ” 0    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0

Either rust or the Safe c++ proposal, which implements the borrow checker for c++.

26.11.2024 06:49 โ€” ๐Ÿ‘ 0    ๐Ÿ” 0    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0

@xoipos is following 18 prominent accounts