Jordan McQueen's Avatar

Jordan McQueen

@jm.dev.bsky.social

Rust Person ๐Ÿฆ€ ๐ŸŽฑ๐Ÿ“กโŒจ๏ธ๐ŸŒ๏ธโ€โ™‚๏ธโ›ฉ๏ธ Tokyo, ๆ—ฅๆœฌ ๐Ÿ‡ฏ๐Ÿ‡ต I like agents of truth. (?:distributed )?systems, security, performance, semantics, compilers.

572 Followers  |  275 Following  |  125 Posts  |  Joined: 23.08.2023  |  1.6712

Latest posts by jm.dev on Bluesky

๐Ÿ˜๐Ÿ˜…

18.07.2025 06:16 โ€” ๐Ÿ‘ 0    ๐Ÿ” 0    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0

Compensation isnโ€™t a motivator, itโ€™s a constraint. c.f. Punished by Rewards

18.07.2025 05:48 โ€” ๐Ÿ‘ 2    ๐Ÿ” 0    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0

Something about WhatsAppโ€™s network code is much better than other platforms. It was the only platform that successfully uploaded and sent a video on spotty plane WiFi.

18.07.2025 05:44 โ€” ๐Ÿ‘ 1    ๐Ÿ” 0    ๐Ÿ’ฌ 1    ๐Ÿ“Œ 0

Today I wrote about 300 lines of Rust featuring "unsafe" that I thought about quite carefully.

Then I started adding safety comments. The act of needing to convincingly argue that something is true made me find and fix 3 bugs I had missed before.

Safety comments exist for a reason!

17.07.2025 20:36 โ€” ๐Ÿ‘ 36    ๐Ÿ” 5    ๐Ÿ’ฌ 1    ๐Ÿ“Œ 0

Sometimes I wonder if rural vs city, house vs condo, and manyrepo vs monorepo and monolith vs microservice are different flavors of the same question.

05.07.2025 04:36 โ€” ๐Ÿ‘ 3    ๐Ÿ” 0    ๐Ÿ’ฌ 1    ๐Ÿ“Œ 0

I believe that people who get good at lying are irrevocably and fundamentally changed. It is a black magic; it is a skill that comes at great cost to its user.

02.07.2025 09:14 โ€” ๐Ÿ‘ 32    ๐Ÿ” 6    ๐Ÿ’ฌ 3    ๐Ÿ“Œ 1
Video thumbnail

Why Does Oxide Use Rust?

27.06.2025 15:04 โ€” ๐Ÿ‘ 128    ๐Ÿ” 19    ๐Ÿ’ฌ 1    ๐Ÿ“Œ 3

Iโ€™m confident that Japanese society will instill good values in my children and help raise them right. But one thing I feel is a personal duty to teach my kids that they wonโ€™t get here: a healthy ability to question authority.

25.06.2025 09:02 โ€” ๐Ÿ‘ 4    ๐Ÿ” 0    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0

My favorite meals in Japan are set lunches done by Izakayas whose main business is evening hours but they are just carrying the afternoon hours with some lunch specials. The meals are almost total sleepers โ€” amazingly good and low key.

24.06.2025 03:36 โ€” ๐Ÿ‘ 4    ๐Ÿ” 0    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0

Itโ€™s huge. Many endgame draws are predicated on zugzwang.

24.06.2025 03:31 โ€” ๐Ÿ‘ 2    ๐Ÿ” 0    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0

As an aside, this isn't a position on whether that's a good thing or a bad thing. Sometimes you're forced to choose between "bad" and "worse". I think it's fairly clever. Nothing is as it seems.

17.06.2025 06:03 โ€” ๐Ÿ‘ 0    ๐Ÿ” 0    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0

During the deployment of Stuxnet, interviews of Case Officers portrayed the Israelis as being too aggressive with deployment and unrestrainable. It always struck me as a CI play. It's convenient to have an entity that you "can't control" that does what you actually want to do, but cannot.

17.06.2025 06:01 โ€” ๐Ÿ‘ 0    ๐Ÿ” 0    ๐Ÿ’ฌ 1    ๐Ÿ“Œ 0

Anyone else experience this? I *always* take my backpack off left strap first. You know how you sometimes need to do that maneuver where you sling it on one shoulder to access a side zipper? If itโ€™s on the opposite shoulder as my usual take-off side, I find it awkward to execute. ๐Ÿ˜…

17.06.2025 05:06 โ€” ๐Ÿ‘ 0    ๐Ÿ” 0    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0

Did you know: if you installed Rust with rustup, you already probably have the "Embedded Rust Book" locally. If you run `rustup doc` in your terminal, it'll open the bookshelf with all the docs installed already, including the main rust books as well as the embedded rust book.

16.06.2025 09:01 โ€” ๐Ÿ‘ 63    ๐Ÿ” 9    ๐Ÿ’ฌ 2    ๐Ÿ“Œ 0

Human effort is conserved. Creating a municipal trash collection solution spawns truck maintenance backlogs, collective bargaining effort, and landfill management projects. The net societal human effort is unchanged -- only rearranged.

15.06.2025 15:47 โ€” ๐Ÿ‘ 0    ๐Ÿ” 0    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0

โ€œDarn it!โ€ Youโ€™re the second person to talk about curly quotes so I guess that signal is out the window. ๐Ÿ˜…

14.06.2025 21:30 โ€” ๐Ÿ‘ 1    ๐Ÿ” 0    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0

No, it literally uses them everywhere. You can check the output for yourself. I think theyโ€™ve added special passes at the end to purposefully insert these sentinel values to make it easier to detect generated content. Maybe itโ€™s something theyโ€™re even doing for anti-cheating purposes.

14.06.2025 12:16 โ€” ๐Ÿ‘ 2    ๐Ÿ” 1    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0

Yeah. Quotes is probably the weakest of all these signals. If you put U+1680 Ogham Space Mark between a number and the percentage sign, thoughโ€ฆ sketch. ๐Ÿ˜… New game: insert weird Unicode everywhere into oneโ€™s typical usage patterns to trick people into thinking youโ€™re a โ€œuserโ€. ๐Ÿ˜†

14.06.2025 12:14 โ€” ๐Ÿ‘ 0    ๐Ÿ” 0    ๐Ÿ’ฌ 1    ๐Ÿ“Œ 0

He has taught me many things! In this case I can thank my emacs config for making it very obvious when โ€œnon-standardโ€ characters are being used.

14.06.2025 09:50 โ€” ๐Ÿ‘ 0    ๐Ÿ” 0    ๐Ÿ’ฌ 1    ๐Ÿ“Œ 0

There are actually good ways to try and detect AI-generated content, but the whole โ€œem-dashes implies generated contentโ€ approach is intellectually lazy. Hint: check for fixed-width space characters, weird Unicode hyphens, zero-width joiners, ellipsis characters, right and left quotation marks, etc.

14.06.2025 09:34 โ€” ๐Ÿ‘ 1    ๐Ÿ” 0    ๐Ÿ’ฌ 4    ๐Ÿ“Œ 0
Rust Could be a Good Beginner Language Itโ€™s often assumed that Rustโ€™s low-level nature and fundamental differences from common languages make it unsuitable for beginners, but I suggest that Rustโ€™s apparent difficulty is instead caused by o...

#rustlang Could be a Good Beginner Language

scp-iota.github.io/software/202...

11.06.2025 22:07 โ€” ๐Ÿ‘ 110    ๐Ÿ” 16    ๐Ÿ’ฌ 11    ๐Ÿ“Œ 3
Rust at Volvo Cars - Julius Gustavsson
YouTube video by RustNL Rust at Volvo Cars - Julius Gustavsson

The talks from RustWeek are now available on YouTube! It was great fun and a big honour to get our Rust efforts: youtu.be/2JIFUk4f0iE?...

10.06.2025 08:45 โ€” ๐Ÿ‘ 23    ๐Ÿ” 6    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 1

Iโ€™m not on the calendar. Iโ€™m on the critical path.

07.06.2025 02:25 โ€” ๐Ÿ‘ 1    ๐Ÿ” 0    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0

advice I would give my 20 y/o self. donโ€™t stress so much about strategy and tactics and understanding byzantine organizational politics. just build things.

05.06.2025 11:28 โ€” ๐Ÿ‘ 8    ๐Ÿ” 1    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0

Whenever I get self conscious about naming libraries silly things, I remind myself that Arm (the acorn risc machine) released the ARM (architecture reference manual) for their A/R/M (application/realtime/microcontroller) processors, making the document the Arm A/R/M ARM.

01.06.2025 07:42 โ€” ๐Ÿ‘ 162    ๐Ÿ” 23    ๐Ÿ’ฌ 2    ๐Ÿ“Œ 0

Japanese society feels similar to the safety you get from having blocks marked as unsafe{}. You can default trust people generally. You can walk into a mobile phone carrier store and take all of their recommendations and you wonโ€™t get scammed or taken advantage of.

29.05.2025 01:12 โ€” ๐Ÿ‘ 3    ๐Ÿ” 1    ๐Ÿ’ฌ 1    ๐Ÿ“Œ 0

I feel the need to explain what I think Trippe was saying. Globalism and reducing the barrier to travel the world would collectively increase our foreign connections and therefore reasons to love each other, acting as a positive motivator for peace, contrasted to the typical language of deterrents.

24.05.2025 18:54 โ€” ๐Ÿ‘ 2    ๐Ÿ” 0    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0
use iddqd::{IdOrdMap, IdOrdItem, id_upcast};

#[derive(Debug)]
struct User {
    name: String,
    age: u8,
}

// Implement IdOrdItem so the map knows how to get the key from the value.
impl IdOrdItem for User {
    // The key type can borrow from the value.
    type Key<'a> = &'a str;

    fn key(&self) -> Self::Key<'_> {
        &self.name
    }

    id_upcast!();
}

let mut users = IdOrdMap::<User>::new();

// You must pick an insertion behavior. insert_unique returns an error if
// the key already exists.
users.insert_unique(User { name: "Alice".to_string(), age: 30 }).unwrap();
users.insert_unique(User { name: "Bob".to_string(), age: 35 }).unwrap();

// Lookup by name:
assert_eq!(users.get("Alice").unwrap().age, 30);
assert_eq!(users.get("Bob").unwrap().age, 35);

// Iterate over users:
for user in &users {
    println!("User {}: {}", user.name, user.age);
}

use iddqd::{IdOrdMap, IdOrdItem, id_upcast}; #[derive(Debug)] struct User { name: String, age: u8, } // Implement IdOrdItem so the map knows how to get the key from the value. impl IdOrdItem for User { // The key type can borrow from the value. type Key<'a> = &'a str; fn key(&self) -> Self::Key<'_> { &self.name } id_upcast!(); } let mut users = IdOrdMap::<User>::new(); // You must pick an insertion behavior. insert_unique returns an error if // the key already exists. users.insert_unique(User { name: "Alice".to_string(), age: 30 }).unwrap(); users.insert_unique(User { name: "Bob".to_string(), age: 35 }).unwrap(); // Lookup by name: assert_eq!(users.get("Alice").unwrap().age, 30); assert_eq!(users.get("Bob").unwrap().age, 35); // Iterate over users: for user in &users { println!("User {}: {}", user.name, user.age); }

new #rustlang crate drop: iddqd! ID-based maps where keys are borrowed from values. Four maps are included: IdOrdMap, IdHashMap, a bijective (1:1) BiHashMap and a trijective (1:1:1) TriHashMap.

At Oxide we've found this pattern to be very useful. iddqd is no-std compatible, too!

docs.rs/iddqd

21.05.2025 21:19 โ€” ๐Ÿ‘ 164    ๐Ÿ” 36    ๐Ÿ’ฌ 15    ๐Ÿ“Œ 2

LLMs are here to stay it seems. I hope the subscription monetization model is sufficient for them. It would be pretty dismal if we started seeing free-to-use LLM services that have an ads-injection layer before generation. "Give me a comparison of these services and pros/cons." [...] "Sure! ๐Ÿ˜ˆ"

11.05.2025 09:15 โ€” ๐Ÿ‘ 0    ๐Ÿ” 0    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0

๐Ÿ˜†

08.05.2025 15:04 โ€” ๐Ÿ‘ 0    ๐Ÿ” 0    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0

@jm.dev is following 20 prominent accounts