Tim McNamara's Avatar

Tim McNamara

@timclicks.dev

Trainer and consultant on the Rust programming language. Author of Rust in Action. Team climate. Walkable neighbourhoods are nice, actually. Signal: @timclicks.01

3,517
Followers
464
Following
1,183
Posts
26.04.2023
Joined
Posts Following

Latest posts by Tim McNamara @timclicks.dev

Oh wonderful. Let's see if I can wrangle things to attend

17.02.2026 09:08 ๐Ÿ‘ 3 ๐Ÿ” 0 ๐Ÿ’ฌ 0 ๐Ÿ“Œ 0

You're in NZ? Welcome! Are you giving any talks near Wellington?

17.02.2026 09:02 ๐Ÿ‘ 3 ๐Ÿ” 0 ๐Ÿ’ฌ 1 ๐Ÿ“Œ 0

๐Ÿ˜ง

17.02.2026 08:55 ๐Ÿ‘ 0 ๐Ÿ” 0 ๐Ÿ’ฌ 0 ๐Ÿ“Œ 0

๐Ÿ˜”

17.02.2026 08:54 ๐Ÿ‘ 0 ๐Ÿ” 0 ๐Ÿ’ฌ 0 ๐Ÿ“Œ 0

Useful typo

17.02.2026 08:01 ๐Ÿ‘ 0 ๐Ÿ” 0 ๐Ÿ’ฌ 0 ๐Ÿ“Œ 0

After carefully reading and ranking a record number of 185 submissions from 148 speakers, we finally finished the talk selection for RustWeek 2026!

I'm *really* excited about the lineup! Check it out here: 2026.rustweek.org/blog/2026-02...

Don't forget to buy your ticket! See you in Utrecht!

16.02.2026 18:45 ๐Ÿ‘ 42 ๐Ÿ” 5 ๐Ÿ’ฌ 0 ๐Ÿ“Œ 1

What the actual f

17.02.2026 07:56 ๐Ÿ‘ 0 ๐Ÿ” 0 ๐Ÿ’ฌ 0 ๐Ÿ“Œ 0

I don't think that it invalidates the main thrust of your argument, but the large majority of that wealth is in property rather than cash or shares.

08.02.2026 08:30 ๐Ÿ‘ 1 ๐Ÿ” 0 ๐Ÿ’ฌ 1 ๐Ÿ“Œ 0

Additionally, watercolour is especially tricky because the pigment gets pushed to the edges of what's being worked on as it dries. When painting the sky, it can create harder borders against the clouds, which is sort of the opposite of what we want

11.01.2026 21:51 ๐Ÿ‘ 2 ๐Ÿ” 0 ๐Ÿ’ฌ 0 ๐Ÿ“Œ 0

FWIW these clouds look lovely (you'll see that when you look at this painting with fresh eyes in a few weeks' time).

I think that they're difficult to paint and draw because they require you to use negative space, which is what is the opposite of what we intuitively do.

11.01.2026 21:46 ๐Ÿ‘ 2 ๐Ÿ” 0 ๐Ÿ’ฌ 1 ๐Ÿ“Œ 0

Agreed! I have tried very hard to animate code with Manim in a way that I would really like but have always failed. I want to shift groups of characters, but Manim interpolates geometries and it ends up causing a flash rather than something that feels like typing.

17.12.2025 21:22 ๐Ÿ‘ 2 ๐Ÿ” 0 ๐Ÿ’ฌ 2 ๐Ÿ“Œ 0

".. Common Sense Restrictions Based on Data" has strong "Democratic Republic of ..." vibes

17.12.2025 04:01 ๐Ÿ‘ 1 ๐Ÿ” 0 ๐Ÿ’ฌ 0 ๐Ÿ“Œ 0
Preview
Simon Wilson: Bicycles give you the freedom that car ads promise My last Herald column: A city safe for cycling is a city fit for every good purpose.

It is a truth universally acknowledged, bicycles give you the freedom that car ads promise.
www.nzherald.co.nz/nz/the-joy-o... @tomflood.bsky.social @cyclingactionnz.bsky.social @nzherald.bsky.social

17.12.2025 00:01 ๐Ÿ‘ 90 ๐Ÿ” 18 ๐Ÿ’ฌ 1 ๐Ÿ“Œ 3

Do you have any examples of instructional tech videos that you really like?

I'm looking it at increasing the quality of mine and would love to know examples of formats that work well.

16.12.2025 22:56 ๐Ÿ‘ 7 ๐Ÿ” 2 ๐Ÿ’ฌ 12 ๐Ÿ“Œ 0

I think that this stagnation has more to do with Canonical's enterprise strategy focused on the server than any deliberate decision

15.12.2025 08:12 ๐Ÿ‘ 0 ๐Ÿ” 0 ๐Ÿ’ฌ 1 ๐Ÿ“Œ 0

They've been watching YT since before they could talk.

11.12.2025 05:23 ๐Ÿ‘ 1 ๐Ÿ” 0 ๐Ÿ’ฌ 0 ๐Ÿ“Œ 0

You know what this means? It's time to deploy the Pykrete.

11.12.2025 00:00 ๐Ÿ‘ 0 ๐Ÿ” 0 ๐Ÿ’ฌ 0 ๐Ÿ“Œ 0

Where to from here?

- ๐Ÿ“– Read the full post www.patreon.com/posts/14555...
- ๐Ÿค” Comments are very welcome
- ๐Ÿ‘‹ If the algorithm has sent you here, please follow for more

10.12.2025 23:33 ๐Ÿ‘ 0 ๐Ÿ” 0 ๐Ÿ’ฌ 0 ๐Ÿ“Œ 0

The Axiom level is really fascinating to me. This isn't something that exists in the Rust language, but I suspect that it will emerge. Some parts of Rust are so safe that they essentially require no further review.

10.12.2025 23:33 ๐Ÿ‘ 0 ๐Ÿ” 0 ๐Ÿ’ฌ 1 ๐Ÿ“Œ 0

In safe Rust:

[More difficult]

- "Semver exempt" APIs
- Unreliable Traits (Eq, Ord)
- Sealed Traits
- Safe Rust (Most safe code lives here)
- Axiom

[Less difficult]

10.12.2025 23:33 ๐Ÿ‘ 0 ๐Ÿ” 0 ๐Ÿ’ฌ 1 ๐Ÿ“Œ 0

In unsafe Rust land:

[More difficult]

- Raw Assembly
- Pointer Poker (Using raw pointers and type casting to do whatever you want)
- Unsafe (Most unsafe code lives here)
- Partial Initialization
- Like-for-like FFI
- Experimental/Internal API

[Less difficult]

10.12.2025 23:33 ๐Ÿ‘ 0 ๐Ÿ” 0 ๐Ÿ’ฌ 1 ๐Ÿ“Œ 0

Here a sketch of that spectrum. (For details, click through to the blog post linked to at the start.)

It's not an exhaustive list and many items could be reordered...

10.12.2025 23:33 ๐Ÿ‘ 0 ๐Ÿ” 0 ๐Ÿ’ฌ 1 ๐Ÿ“Œ 0

Aspects like that mean that coding patterns are more difficult to verify than others. We can use that difficulty quotient as a way to position those patterns along a spectrum.

10.12.2025 23:33 ๐Ÿ‘ 0 ๐Ÿ” 0 ๐Ÿ’ฌ 1 ๐Ÿ“Œ 0

Consider the Eq, Ord and std::hash::Hash traits.

They're safe, i.e. they're not marked with the unsafe keyword, but they're are allowed to be implemented in a way that can could cause undefined behavior later on if they're relied on by unsafe code.

10.12.2025 23:33 ๐Ÿ‘ 0 ๐Ÿ” 0 ๐Ÿ’ฌ 1 ๐Ÿ“Œ 0

This all or nothing approach occurs because once undefined behavior is triggered, it's game over for memory safety. Soundness imposes a hard stop.

..but Rust does not have a safe/unsafe binary divide.

10.12.2025 23:33 ๐Ÿ‘ 0 ๐Ÿ” 0 ๐Ÿ’ฌ 1 ๐Ÿ“Œ 0

The unsafe keyword marks where programmers are given the responsibility to uphold Rust's safety guarantees. Expressed more formally, the soundness guarantees only apply to the safe subset of Rust.

10.12.2025 23:33 ๐Ÿ‘ 0 ๐Ÿ” 0 ๐Ÿ’ฌ 1 ๐Ÿ“Œ 0

Not all safe Rust code is equally safe.

Here's what that means and why I argue that Rust has a spectrum of safety rather than one that's binary as indicated by the unsafe keyword.

Notes from "Pointer Poker" and more: Levels of safety beyond the safe/unsafe dichotomy www.patreon.com/posts/14555...

10.12.2025 23:33 ๐Ÿ‘ 2 ๐Ÿ” 0 ๐Ÿ’ฌ 1 ๐Ÿ“Œ 0
Post image

Prediction: the next wave of programming languages will just be AI prompts.

Someone's just released ai_bindgen (github.com/germangb/ai...) into the Rust ecosystem, which allows annotation to create functionality with natural language:

08.12.2025 20:44 ๐Ÿ‘ 9 ๐Ÿ” 0 ๐Ÿ’ฌ 3 ๐Ÿ“Œ 2

What topics? I'm very open to suggestions. Here is my initial sketch:

- Digging into popular crates to see how they work under the hood
- Refactoring "messy" code into idiomatic Rust.
- How to tackle harder stuff: Unsafe, FFI, and so on

What do you think? Any interest? DMs open if that's easier ๐Ÿ™‚

03.12.2025 11:25 ๐Ÿ‘ 1 ๐Ÿ” 0 ๐Ÿ’ฌ 0 ๐Ÿ“Œ 0