James Guthrie
jamesguthrie.bsky.social
James Guthrie
@jamesguthrie.bsky.social
computers, coding, networking, rust

software engineer in AI at Timescale

🇿🇦 in 🇨🇭
Async python is such a footgun. Just don't.
February 26, 2025 at 2:00 PM
Another day, another bug caused by the lack of type safety in a snaky duck-typed language.

Why do we do this to ourselves?

Why am I doing this to myself?

Meanwhile, in the distance I hear the the gentle laughter of the crabs, frolicking in their blissfully-typed world 🦀

#python #rust
January 28, 2025 at 4:51 PM
Reposted by James Guthrie
If it were up to me I’d replace the phrase “proving a program correct” with “convincing another human the program is correct”

I think the latter phrase promotes better intuitions for how to approach formal methods
December 10, 2024 at 10:34 PM
Postgres is awesome. I wanted to remove a key from a jsonb column. The `#-` and `@?` operators come to the rescue!

`#-` deletes a field specified by a path, and `@?` returns if a jsonpath is in an object.
December 10, 2024 at 7:35 AM
Does anybody in my (small) network know of anybody who is _not_ using the default 8k page size in Postgres? And why?

Please repost for reach.
November 11, 2024 at 7:57 PM
This was a pretty eye-opening podcast episode, going into the computer security around political campaigning in the US. securitycryptographywhatever.com/2024/10/13/c...
Campaign Security with [REDACTED]
With the 2024 United States Presidential Election right around the corner, we talk to an unnamed guest who has worked on cybersecurity for political campaign...
securitycryptographywhatever.com
November 10, 2024 at 1:09 PM
This change in the 2024 edition is great! “Hidden” unsafe ops in unsafe fns are a great way to overlook the safety constraints that the caller must uphold. And I’ve seen the bugs to prove its value. I wonder how many codebases that really need it will turn it off. doc.rust-lang.org/nightly/edit...
unsafe_op_in_unsafe_fn warning - The Rust Edition Guide
doc.rust-lang.org
November 9, 2024 at 10:01 PM
A few weeks ago I figured out how to access devices on two tailscale networks (tailnets) simultaneously (no more dreaded "switch tailnet") and wrote up my findings here: jamesguthrie.ch/blog/multi-t...

If you're interested in networking you might like it.
Multi-Tailnet: Unlocking Access to Multiple Tailscale Networks
jamesguthrie.ch
November 8, 2024 at 10:42 PM
Just in time for the weekend: I finally got to the bottom of the cause for undefined behaviour in a Postgres extension written in Rust. Blog post incoming.
November 8, 2024 at 9:38 PM
A useful guide on prompt engineering techniques: www.promptingguide.ai
Prompt Engineering Guide | Prompt Engineering Guide
A Comprehensive Overview of Prompt Engineering
www.promptingguide.ai
November 6, 2024 at 12:47 PM
Reposted by James Guthrie
I am reminded of that old joke about the optimist and the pessimist: the pessimist says "Everything’s terrible, it can’t get any worse." and the optimist says "Oh, yes it can!"
November 6, 2024 at 11:27 AM
Wow, I had forgotten how slow cargo's old git-based fetch was. Just switched to 1.60 to debug something, and was surprised by this fellow:

Updating crates.io index
Fetch [===============> ] 64.08%, (149529/291979) resolving deltas
November 4, 2024 at 11:04 AM
The great thing about daylight savings time ending: an extra hour to sleep in.

The bad thing: kids don’t care about wall clock time.
October 27, 2024 at 4:38 AM
Reposted by James Guthrie
Welcome to my 🧵 where I post my progress and steps on a short embedded project in Rust 🦀 on the Raspberry Pi Pico!

I hope to finish it today, but may end up being tomorrow.
October 25, 2024 at 5:59 PM
Reposted by James Guthrie
does everybody know about my favorite website, the embroidery tips page that forgot to close its <h3> tags
Embroidery Trouble Shooting Page
Embroidery Trouble Shooting Answers to all your questions about Embroidery problems
web.archive.org
October 25, 2024 at 3:39 PM
Today at work I discovered that the front end components (react) don’t know anything about the types of the data coming out of the store (mobx), despite us using typescript.

I’m surprised that anything worked.

Fixed the typing: one gajillion type errors. 😱
October 24, 2024 at 10:22 PM