Moorko
banner
moorko.net
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
Pinned
Moorko @moorko.net · Nov 10
Hi there! It's my first post here in bsky!
I recently published my first blog post (in English):
moorko.net/adding-tls-r...

I wrote about TLS fragmentation for evading Internet censorship.
Adding TLS Fragmentation to OpenConnect
In this post, I discussed what it means to apply fragmentation at the TCP and TLS Record layers during the TLS handshake, and how we can use these techniques to evade Internet censorship.
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.
January 28, 2025 at 1:42 AM
I adore night. I basically wait all day for it. Wish it was a bit easier to handle the late night depression/anxiety though.
January 26, 2025 at 7:12 PM
I'd love to have Github runners in my homelab. Would be fun experience to integrate that with Kubernetes ig.
January 25, 2025 at 12:09 AM
I'm this 🤏 close to spend ~650 bucks buying this Synology DS723+

God help me.
January 24, 2025 at 11:50 PM
I'm so BACK
(Lying)
January 22, 2025 at 4:22 PM
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.
January 3, 2025 at 10:21 PM
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.
December 31, 2024 at 3:34 AM
TIL that this is UB in C++:

n = ++i + i;
December 30, 2024 at 8:02 PM
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.
December 29, 2024 at 12:44 AM
Merry Christmas!
December 26, 2024 at 2:53 AM
Reposted by Moorko
December 22, 2024 at 2:06 PM
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!
December 22, 2024 at 7:40 PM
Reposted by Moorko
How do you spot Noob Programmers: they are too enthusiastic about Tech.
December 17, 2024 at 1:10 AM
Reposted by Moorko
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.
November 27, 2024 at 6:09 PM
I implemented a simple interruptible thread.
github.com/Moork0/Concu...

Now I'll move to Golang and eBPF
github.com
November 28, 2024 at 2:41 PM
Reposted by Moorko
I want to be so many things all at the same time
November 23, 2024 at 12:37 AM
Reposted by Moorko
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.
November 22, 2024 at 10:11 AM
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...
November 23, 2024 at 1:20 AM
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.
moorko.net Moorko @moorko.net · Nov 17
I'm writing a simple thread pool and some concurrent algorithms in C++. It's fun to review some of concurrency techniques.
3 more things to implement and then I guess it would be done:
1- Local task queues for each thread to reduce cache contention on the global queue
2- Simple form of work stealing
November 22, 2024 at 12:24 AM
Reposted by Moorko
working on this unix redirects diagram today
November 21, 2024 at 6:56 PM
Reposted by Moorko
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 😕
November 19, 2024 at 2:20 PM
Reposted by Moorko
“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...
Playground Wisdom: Threads Beat Async/Await
Musings about async await again and why I think virtual threads are a better model.
lucumr.pocoo.org
November 18, 2024 at 12:04 PM
Reposted by Moorko
I made a thing!

I was playing around with the AT protocol and as a little experiment I made a website that visualises activity around Bluesky: nightsky.hctr.dev

It listens to all new posts and shows them as little stars across a night sky 🌃

Every star is someone, somewhere, posting something
Nightsky | hctr.dev
See live conversations from all over Bluesky as a dynamic night sky
nightsky.hctr.dev
November 16, 2024 at 11:05 PM
Someone asked me why do we need local queues?
Well, every time a thread calls submit() on a particular instance of the thread pool, it has to push a new item onto the single shared work queue. Likewise, the worker threads are continually popping items off the queue in order to run the tasks.
moorko.net Moorko @moorko.net · Nov 17
I'm writing a simple thread pool and some concurrent algorithms in C++. It's fun to review some of concurrency techniques.
3 more things to implement and then I guess it would be done:
1- Local task queues for each thread to reduce cache contention on the global queue
2- Simple form of work stealing
November 18, 2024 at 1:30 AM