Currently in Cairo, Egypt. He/him. dodyg.bsky.social.

Cairo, Egypt
Joined January 2009
dodyg retweeted
TigerBeetle 0.2⁴.2⁶ is out! An internals-heavy release. github.com/tigerbeetle/tiger…
1
2
1
17
dodyg retweeted
I'm hoping to solve this with Cap'n Web, our RPC protocol that supports full bidirectional calling, higher-order functions, object-capabilities, streaming, etc. Basically lets you expose a rich TypeScript interface over the network. blog.cloudflare.com/capnweb-…
5
10
3
134
OpenWorkflow is live - durable, resumable workflows for TypeScript - 100% open source - no directives or build steps - pluggable backend providers (Postgres supported natively, more to come) Check it out & ⭐ it: github.com/openworkflowdev/o…
someone please hold me back from building this: workflow((step) => { step.​run(() => {}) step.​run(() => {}) })
Try C#. It will help you unravel a lot of your misconceptions about async. Half the languages you picked have the fake async, yes, but go truly concurrent, you need to start dealing with Threads and locks and prove (via benchmark) that you're running on separate cores. Your insinuation about high-level langs (or even low-level ones like C) being simulated async (or concurrency, I think you meant), is innacurate - we've been running code with concurrency forever. It's just been up to language designers just how well Threads are abstracted (or not) and how processes are terminated (or not). For example, you can run concurrent Bash if you use the '&' between scripts or commands. Is that an 'abstraction'? No. It's telling the OS "Hey, run these processes on 2 threads, please". Now, where you're somewhat correct that there's simulation is when there's 2 processes on the *same* core, trying to share memory and CPU time. THEN, there is logic done by the scheduler to allocate memory (if available/unlocked) and run instructions. This has nothing to do with high-level language Async syntax or implementation, but is a native OS process. Therefore, saying these languages (or the OS itself) are simulating Async threads or even full on concurrency is inaccurate. If you want full concurrency, C# has async Tasks that you can run and they will be truly concurrent, but only if you take the time to learn to do it right. Same with bash, though you're risking one or more threads cancelling before completion or running out of memory with no control over them. So, "nothing in computing is truly asynchronous at the hardware and instruction level" is not only a "hot take", but one that falls apart the moment you examine software like the OS. You might say, "I meant strictly hardware". Well, you're wrong there too. If hardware couldn't process asynchronously or concurrently any task, then IBM would have been out of business long ago. I think you're trying to fuse two ideas together without properly explain the components. Yes, engines like the Chrome browser fit the bill as to what you're describing - fake async. 100% agree. But not everything, and not your full list (I'm sure a Golang dev can step in and defend their concurrency model as truly async, which it is from what I've heard). I could be wrong about these things, but from what I was taught in school and from what I've observed, I believe there's error here.
Hot Take: Nothing in computing is truly asynchronous at the hardware and instruction level. Everything is synchronous, until a runtime fakes it. People talk about async like it's a magical property of the universe. But at the lowest level, every system is ultimately synchronous. -CPUs appear to execute instructions in order (even though they reorder internally) -Syscalls block unless the OS schedules around them -Hardware is event-driven but still bound by clocks -“Async” functions don’t run in parallel, the runtime schedules them So what’s actually happening? Async is an illusion built by runtimes: -JavaScript: event loop + callback/microtask queue -Rust: executor + waker + poll-based futures -Python: event loop + coroutines -Go: scheduler multiplexing goroutines over OS threads -OS kernels: interrupts + preemptive scheduling Under the hood, it’s all synchronous execution broken into chunks and interleaved by a scheduler. -Async ≠ “parallel” -Async ≠ “multithreaded” -Async = “scheduled synchronous steps that look concurrent” The runtime just decides when your synchronous fragments run. In summary: Every system is synchronous at its core. Async is a runtime abstraction that slices sync operations into interleaved steps that feel concurrent. It's the core concept of Asynchronous. I am always open to feedbacks, because through your feedback I get to know a lot.
11
4
2
121
dodyg retweeted
🚨Bruno v2.14.0 is here and it's massive ⚡️Your local, Git-native, API Client keeps getting better! - Request/Response examples - Copy + paste requests - Import/Export collection & global environments - Vault + API Key auth - GraphQL + gRPC upgrades - Import WSDL 🐞 Tons of fixes & performance boosts usebruno.com/changelog
24
89
15
1,184
dodyg retweeted
Can’t get enough of Iranian brickwork
60
1,442
97
12,478
We’ve recently released Compose Multiplatform 1.10.0-beta01! 🎉 Highlights of this EAP feature release include: 🧩 Unified @Preview annotation 🧭 Support for Navigation 3 🔥 Bundled Compose Hot Reload What’s new: kotl.in/qb7gxf 👈 GitHub: kotl.in/kevvbf 👈
3
28
5
192
Time to make Microsoft MAUI extremely fast by running on top of wgpu and compute shaders for high performance and butter smooth UI
5
5
65
dodyg retweeted
Currently doing this for Microsoft with aspire... It's hard 🫡 #aspire
Every company should create an internal benchmark measuring how hard it is to create a simple regional CRUD service and publish it to production with bare minimal privacy, security, compliance, and observability features in place.
7
3
2
107
Datastar from React, prepare for a long one! threadgold.nz/writing/datast…
5
29
I wrote a bit about my sidequest at Earendil: Building Absurd which implements durable execution (𝚞𝚜𝚎 𝚠𝚘𝚛𝚔𝚏𝚕𝚘𝚠, Temporal, Inngest, etc.) on just Postgres. How it works and why I like it. lucumr.pocoo.org/2025/11/3/a…
Been using Visual Studio 2026 with Blazor and .NET 10 on a new project. Hot reload experience has been excellent. Major improvements. #dotnet
SQLite 3.51 is out, and here are two things that you would find interesting... 3.51 introduces two new JSON functions - jsonb_each() and jsonb_tree(). These functions make working with nested JSON data more efficient. These functions work like their existing counterparts (json_each() and json_tree()), but with a key difference. When they are provided arrays or objects, they return JSONB format for the value column instead of regular JSON. This makes subsequent operations on nested structures faster since the data is already in binary format. 3.51 also has a few performance improvements... It now uses fewer CPU cycles when committing read transactions. It can detect early when joins will return no rows, saving unnecessary computation. One clever optimization: SQLite now skips evaluating scalar subqueries when their result won't change the overall expression outcome. Here's an example ``` SELECT * FROM users WHERE age > 50 AND (SELECT COUNT(*) FROM orders) > 1000; ``` If SQLite evaluates age > 50 first and finds no users over 50, the entire WHERE clause is already false. The subquery (SELECT COUNT(*) FROM orders) > 1000 won't change the outcome, so SQLite skips executing it entirely. Simple, but effective.
3
12
153
dodyg retweeted
The Write Last, Read First Rule How to guarantee strict serializability across database systems. A special guest post from @DominikTornow tigerbeetle.com/blog/2025-11…
Once a queue in a distributed system or a buffer in a network gets large enough it takes so long to reach the front that the client has already timed out and retried. You'll spend all your time processing useless work. Good systems have small queues. If your queue has to get long then switching to LIFO under load at least ensures you're making progress on requests users still care about.
Replying to @jamesacowling
What’s the logic for LIFO instead of FIFO?
dodyg retweeted
Hi. Thai here. Almost nobody in Thailand uses the term “ladyboy” when discussing trans identity in Thai. The word is an orientalist construction and is a Western projection that exists only within English speaking contexts. What these viral misinformed takes always leave out is that trans women in Thailand use feminine language in the exact same way cis women do, and they are addressed as women by almost everyone whether they are conservatives, men, women, children, monks etc. Unlike Indonesia, very few people in Thailand spend time policing other people’s use of language, which restrooms they use and how they choose to live their lives. These hot takes from people stems from one thing: the fact that most of you have never actually known a trans person, listened to a trans person, or opened your hearts to one in real life. And you certainly don’t understand how Thai language functions either. In Thailand this is almost unthinkable as Trans people are normalised members of society. You can’t avoid trans people in Thailand because they don’t need to hide. If their family doesn’t accept them, they still have friends and the larger Thai community to lean on. They are doctors, nurses, business owners, entertainers, teachers, service workers, creatives, athletes, and more. While you’re all busy debating bathroom politics and indulging in religious and political hysteria, the world keeps turning in Thailand lol I see this discourse often and it really does expose how colonial language hierarchies erase the nuance of non-Western gender systems - systems that, while imperfect and still evolving, have long recognised identities beyond the narrow Western binary and flatten them into stereotypes for global consumption. I’ve said this before but social media algorithms amplify English-language content to the rest of the world while Thai opinions remain trapped within Thailand’s content ecosystem. That asymmetry is exactly why so many of you speak about Thais instead of with Thais and it’s why your understanding of Thai trans identity will always sound like a mistranslation.
Lol, Did he even try? Even thai ladyboy never claim h8mself as a woman and always identified tjey are ladyboy