Posts categorized under: Tech

Rust and SecureDrop

I'll be attending RustConf in Montreal this week so I wanted to take a moment to describe how we're using Rust in SecureDrop. Historically SecureDrop has always been a primarily Python project accompanied by bash scripts and then HTML/CSS/JS for the web interface. Aaron Swartz's first commit to SecureDrop was…

How many Rs are in the word strawberry?

There's a viral Mastodon post that demonstrates a supposed deficiency in large language models (LLMs), specifically ChatGPT, because it apparently can't count the number of letters in the English word "strawberry". > How many R's are in the word strawberry ChatGPT: There are two "R's" in the word "strawberry." >…

Side quest: creating a "main" tool

I like Simon Willison's framing of using large language models (aka LLMs, aka "AI") to enable side quests of things you wouldn't normally do. Could I have done this without LLM assistance? Yes, but not nearly as quickly. And this was not a task on my critical path for the…

Basic anti-abuse monitoring for Mastodon

Back in February, Mastodon and the connected Fediverse faced a spam attack caused by unattended instances with an open signup policy. Bots quickly registered accounts and then sent spammy messages that were relayed through the Fediverse. It was annoying and the normal moderation tool of limiting or blocking entire instances…

Implementing search for my blog in WebAssembly

If you visit my blog (most likely what you're reading now) and have JavaScript enabled, you should see a magnifying glass in the top right, next to the feed icon. Clicking it should open up a search box that lets you perform a very rudimentary full-text search of all of…