24 Jan, 2025
August 22, 2024 [Programming, Programming Languages, Rust, Tech, Videos] Wrote a mini client to connect to our async Rust chat server. To see the training code as I recorded the…
We’ve made a toy decomposer, but it won’t last long. We need to make it a little more precise. In particular, we must be able to look forward, and then…
06 September 2024 [Programming, Programming Languages, Rust, Tech, Videos] There is a special mode in Rust programs called unsafe – why do we need it? Series: Language basics, More syntax,…
07 September 2024 [Programming, Programming Languages, Rust, Tech, Videos] That unsafe keywords in Rust mean two things: “You have to read the docs!” or “I promise I’ve read the docs…
Last time we gave a task statement. This time: break it down, so we’re ready to execute! You can find the source code at codeberg.org/andybalaam/milk and more of my stuff…

Mini-rust in Rust 008: Refactoring our parser

Our parser is somewhat functional, but needs some work to make it not so bad. We realize that we’re doing some things awkwardly or wrongly, so let’s fix them before they get out of hand. You can find the source code at codeberg.org/andybalaam/milk and more of my stuff at artificialworlds.net Game Online Gaming Hub A […]

1 min read

Caution: stay away from WordPress

October 16, 2024 [Writing] Here’s a heads up: I’m actively working on moving this blog from WordPress, to a static site built using Zola. I plan to keep as many URLs working as possible, and the RSS feed URLs should not change. (With any luck, the permalinks inside won’t change either, but I won’t retain […]

1 min read

Rust 101 – 47: Exercises for module F (q2)

October 21, 2024 [Programming, Programming Languages, Rust, Tech, Videos] Wrapping C functions in safe Rust code. Series: Language basics, More syntax, Traits and generics, Building applications, Concurrency and parallelism, Trait objects, Async, Not safe This section (Async): 42: Why is it unsafe?, 43: Meaning of unsafe, 44: Undefined behavior, 45: Types of unsafe, 46: Exercise […]

1 min read

Mini-rust in Rust 007: Evaluating operations

Now that we can break it down, let’s evaluate it. By the end of this, we should be able to use our little language as a mini calculator (just to add up so far). You can find the source code at codeberg.org/andybalaam/milk and more of my stuff at artificialworlds.net Game Online Gaming Hub A gaming […]

1 min read

Rust 101 – 48: Exercises for module F (q3)

October 21, 2024 [Programming, Programming Languages, Rust, Tech, Videos] Implemented our own Result type that has a specific memory layout, so it can be used by Roc code. Series: Language basics, More syntax, Traits and generics, Building applications, Concurrency and parallelism, Trait objects, Async, Not safe This section (Async): 42: Why is it unsafe?, 43: […]

1 min read

“Mahjong Ways 2: Sensasi Main Mahjong Sambil Cari Cuan!”

Mahjong Ways 2 adalah game slot yang berhasil menggabungkan keseruan bermain mahjong tradisional dengan peluang menang yang bikin hati deg-degan. Kalau kamu suka tantangan dan ingin coba cara seru buat cari cuan, ini dia alasannya kenapa Mahjong Ways 2 wajib masuk daftar permainanmu: 🎴 Nuansa Tradisional yang Modern Game ini terinspirasi dari mahjong klasik, tapi […]

1 min read

Mini-rust in Rust 006: Unraveling operations

We’re finally ready to break it all down! Our lexer can do almost enough to let us handle “3 + 5”, so we’ll set that up, and then parse that expression into a syntax tree. You can find the source code at codeberg.org/andybalaam/milk and more of my stuff at artificialworlds.net Game Online Gaming Hub A […]

1 min read

Message order in Matrix: right now, we are deliberately inconsistent

December 04, 2024 [Matrix, Tech] After lots of conversations with Element colleagues about message order in Matrix, and lots of surprises for me, I wanted to write down what I had learned before I forgot, and also write down some principles I think we should try to follow. A lot of this is just my […]

20 mins read

19 years of blogging – Andy Balaam’s Blog

October 22, 2024 [Writing] As you may know, I recently upgraded my blog from WordPress to Zola. This means my home computer does the work of rendering the page to HTML once, and my web server only has to provide the rendered HTML to your browser. This means pages appear faster on your screen, and […]

3 mins read