Advertisement · 728 × 90

Posts by Andrew Burkhart

Preview
1Password with Andrew Burkhart Podcast Episode · Rust in Production · 06/26/2025 · 1h 4m

I had the pleasure of being a guest on the Rust In Production podcast recently. Got to talk all things Rust and 1Password.

podcasts.apple.com/us/podcast/r...

9 months ago 1 0 0 0
Post image

Published my first Rust crate today. Introducing priact.

crates.io/crates/priact

priact implements the actor pattern (based on the Swift implementation) in Rust and adds a priority queue for your actors methods to respect the urgency you need for them.

10 months ago 1 0 0 0
Workspace featuring various Raspberry Pi boards, including a Raspberry Pi Pico on a breadboard, two Pico W boards, and a Raspberry Pi Debug Probe in its case. A Pimoroni Badger 2040 W e-ink display shows developer information and Wi-Fi details in the background. Electronics components are neatly arranged on a wooden desk, with cables and packaging nearby.

Workspace featuring various Raspberry Pi boards, including a Raspberry Pi Pico on a breadboard, two Pico W boards, and a Raspberry Pi Debug Probe in its case. A Pimoroni Badger 2040 W e-ink display shows developer information and Wi-Fi details in the background. Electronics components are neatly arranged on a wooden desk, with cables and packaging nearby.

Welcome to my mega 🧵 on getting started with Rust on the RP2040! This thread aims to get you started with writing Rust on the Raspberry Pi Pico. The actual end result will just be a blinking on-board LED. It’s up to YOU to take this foundation and make awesome projects from it.

1 year ago 201 39 17 14
Preview
GitHub - 1Password/zeroizing-alloc: A minimal secure heap zero-on-free implementation for Rust A minimal secure heap zero-on-free implementation for Rust - 1Password/zeroizing-alloc

Freshly open-sourced, the “Zeroizer” we discussed @wesbos.com @tolin.ski

github.com/1Password/ze...

1 year ago 3 0 0 0

The domains is how they really got us (sincerely a guy who hasn’t made a proper one)

1 year ago 0 0 0 0
1Password, Adobe, Woven by Toyota: Gold Sponsor Lightning Talks | RustConf 2024
1Password, Adobe, Woven by Toyota: Gold Sponsor Lightning Talks | RustConf 2024 YouTube video by Rust Foundation

We have a Rust Study Group at 1Password that’s helped hundreds of learners from all different backgrounds (CS, customer service, sales, etc.) learn Rust from scratch.

I had the honor of presenting some of our learnings from this group at RustConf in Montreal this year.

youtu.be/EY2KT0QZnkg?...

1 year ago 3 0 0 0
Post image

If you convert the above code to this code, the app will panic. When we hit the expect() line, nothing from the async fn start_invocation_loop() has run yet.

1 year ago 1 1 0 0
Post image

Rust Tip: async fn is entirely lazy.

I posted this code the other day showing how you can do some sync setup before an asynchronous block to initialize things needed by the future.

Many times, any fn() -> impl Future can be replaced by an async fn. Not true here.

Explanation in 🧵

1 year ago 3 0 1 0
Post image

Actually this should've been like this. Oops

1 year ago 0 0 0 0

Sounds like you should just switch to Rust 😏

1 year ago 6 0 0 0
Advertisement

The future that is being polled by block_on() is the future that is returned by start_invocation_loop(). That future is everything inside the async move {} block. The code in that block only executes when polled.

However everything above that happens synchronously before even the .get() call.

1 year ago 0 0 1 0
Post image

Rust Tip: Rust futures are lazy but you can perform synchronous setup before they're polled.

For example, the code in this image might seem like it should panic at first glance because expect() is called before start_invocation_loop() initializes the OnceCell but it doesn't.

Explanation in 🧵

1 year ago 4 0 1 0

My guess is bsky.app/profile/synt.... I just went looking for the same reason 🤣

1 year ago 1 0 1 0