Moorko's Avatar

Moorko

@moorko.net

I like to make high performance [networking-related] systems with C++ (and probably Go?). I like aviation too. Want to become a scientist someday. https://moorko.net https://github.com/Moork0

19
Followers
76
Following
40
Posts
10.11.2024
Joined
Posts Following

Latest posts by Moorko @moorko.net

Man... Google search is broken af.
I remember a time when you could easily find what you want but nowadays it even fails to show you relevant results.

28.01.2025 01:42 πŸ‘ 0 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0

I adore night. I basically wait all day for it. Wish it was a bit easier to handle the late night depression/anxiety though.

26.01.2025 19:12 πŸ‘ 0 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0

Ah! Didn't know that new models are coming. I'll wait then. Thanks!

25.01.2025 09:47 πŸ‘ 1 πŸ” 0 πŸ’¬ 1 πŸ“Œ 0

I'd love to have Github runners in my homelab. Would be fun experience to integrate that with Kubernetes ig.

25.01.2025 00:09 πŸ‘ 0 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0

I'm this 🀏 close to spend ~650 bucks buying this Synology DS723+

God help me.

24.01.2025 23:50 πŸ‘ 1 πŸ” 0 πŸ’¬ 1 πŸ“Œ 0

I'm so BACK
(Lying)

22.01.2025 16:22 πŸ‘ 0 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0

Linux kernel documentation says that if you find yourself only using the non-RMW operations of atomic_t (i.e. only store, load), you do not in fact need atomic_t at all and are doing it wrong.

03.01.2025 22:21 πŸ‘ 0 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0

It may turn out that the CPU didn't actually need the value - perhaps because a branch circumvented the load - in which case it can discard the value or just cache it for later use. [1]

[1]: Linux kernel's memory barrier documentation.

31.12.2024 03:34 πŸ‘ 1 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0

This permits the actual load instruction to potentially complete immediately because the CPU already has the value to hand.

31.12.2024 03:34 πŸ‘ 1 πŸ” 0 πŸ’¬ 1 πŸ“Œ 0

Many CPUs speculate with loads: that is they see that they will need to load an item from memory, and they find a time where they're not using the bus for any other loads, and so do the load in advance - even though they haven't actually got to that point in the instruction execution flow yet.

31.12.2024 03:34 πŸ‘ 1 πŸ” 0 πŸ’¬ 1 πŸ“Œ 0

TIL that this is UB in C++:

n = ++i + i;

30.12.2024 20:02 πŸ‘ 1 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0

If the corruption is happening in a single thread, then one.

If it's happening because of concurrency issues, it's Undefined Behavior.

30.12.2024 20:01 πŸ‘ 0 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0

I though I know memory orderings.... until I read the Linux kernel's memory barrier documentation.
Now I forgot everything I knew about memory orderings (in C++) and how to use them properly. Damn.

29.12.2024 00:44 πŸ‘ 2 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0

Merry Christmas!

26.12.2024 02:53 πŸ‘ 2 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0

Have you seen the approach taken by the Unimog team in Cloudflare? Its elegant.

22.12.2024 19:42 πŸ‘ 1 πŸ” 0 πŸ’¬ 1 πŸ“Œ 0
The TLS Protocol Version 1.0 RFC, January 1999, in ugly meme form.

Top text:
I am not a toy
I am not a Christmas present
I am a 30+ years commitment

Bottom text:
Please think hard before you give someone
an Internet standard this Christmas

The TLS Protocol Version 1.0 RFC, January 1999, in ugly meme form. Top text: I am not a toy I am not a Christmas present I am a 30+ years commitment Bottom text: Please think hard before you give someone an Internet standard this Christmas

22.12.2024 14:06 πŸ‘ 1113 πŸ” 216 πŸ’¬ 6 πŸ“Œ 3

What should I spend my time on? The job that my visa and stay in the Netherlands (and effectively being alive) depends on or some random concept in computer architecture detail in the Intel software manual?

Dammit, of course the latter!

22.12.2024 19:40 πŸ‘ 0 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0

How do you spot Noob Programmers: they are too enthusiastic about Tech.

17.12.2024 01:10 πŸ‘ 91 πŸ” 3 πŸ’¬ 6 πŸ“Œ 1

Security pro tip: if you find a USB key on the ground somewhere, DO NOT plug it in to your home computer.

Take it to the office and plug it in there. They have way better software that will mitigate any threats.

27.11.2024 18:09 πŸ‘ 9690 πŸ” 968 πŸ’¬ 448 πŸ“Œ 128

I wasn't born πŸ’€

28.11.2024 14:42 πŸ‘ 1 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0

I implemented a simple interruptible thread.
github.com/Moork0/Concu...

Now I'll move to Golang and eBPF

28.11.2024 14:41 πŸ‘ 1 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0

I want to be so many things all at the same time

23.11.2024 00:37 πŸ‘ 118 πŸ” 20 πŸ’¬ 7 πŸ“Œ 1

I asked the electrician:
- How bad is the previous installation?
He replied:
- This isn’t that bad, things change over time, things get old. You measure a good implementation on how easy it is to replace. This one is easy to replace.

I love that way of thinking, it relates to programming as well.

22.11.2024 10:11 πŸ‘ 96 πŸ” 16 πŸ’¬ 2 πŸ“Œ 2

Well, actually implementing a cancel/interrupt feature isn't difficult especially since std::jthread is in fact an interruptible thread. But I want to implement it myself so...

23.11.2024 01:20 πŸ‘ 1 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0
Preview
GitHub - Moork0/Concurrency: Simple C++ Concurrency Tools Simple C++ Concurrency Tools. Contribute to Moork0/Concurrency development by creating an account on GitHub.

btw the repo for my C++ concurrency code (threadpool etc.) is here:
github.com/Moork0/Concu...

22.11.2024 00:25 πŸ‘ 1 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0

The first two features are now implemented.
I'm going to implement the third one soon.
After that, I want to switch over Golang and eBPF and do some experiments there. My main goal for them is to implement a L4 load balancer like the one @cloudflare.social unimog team has.

22.11.2024 00:24 πŸ‘ 1 πŸ” 0 πŸ’¬ 1 πŸ“Œ 0
a bunch of diagrams showing how stdin/stdout/stderr work for various combinations of >, < , |

a bunch of diagrams showing how stdin/stdout/stderr work for various combinations of >, < , |

working on this unix redirects diagram today

21.11.2024 18:56 πŸ‘ 517 πŸ” 76 πŸ’¬ 26 πŸ“Œ 6
Preview
Does the Internet Route Around Damage? - Baltic Sea Cable Cuts This week's Internet cable cuts in the Baltic Sea have been widely reported, even as attempts to understand their cause and impact continue. We turn to RIPE Atlas to provide a preliminary analysis of ...

For further analysis on this incident, be sure to check out the great work by Emile Aben of RIPE NCC and @dbelson.com of @cloudflare.social:

labs.ripe.net/author/emile...
blog.cloudflare.com/resilient-in...

21.11.2024 22:02 πŸ‘ 25 πŸ” 6 πŸ’¬ 2 πŸ“Œ 1

It's been months since I submitted my PR to the openconnect project but not only the maintainers don't approve, but also they don't even respond πŸ˜•

19.11.2024 14:20 πŸ‘ 1 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0
Playground Wisdom: Threads Beat Async/Await Musings about async await again and why I think virtual threads are a better model.

β€œI'm now convinced that async/await is, in fact, a bad abstraction for most languages, and we should be aiming for something better instead and that I believe to be thread.”

lucumr.pocoo.org/2024/11/18/t...

18.11.2024 12:04 πŸ‘ 159 πŸ” 34 πŸ’¬ 22 πŸ“Œ 6