Hi, I'm Eric.
I’m an avid world traveler, photographer, software developer, and digital storyteller.
I help implement the Content Authenticity Initiative at Adobe.
Hi, I'm Eric.
I’m an avid world traveler, photographer, software developer, and digital storyteller.
I help implement the Content Authenticity Initiative at Adobe.
via Federico Viticci :ticciseal: (@viticci@macstories.net): Attached: 1 image
Greg Pierce (of Drafts fame) has released Simple Scan, an iPhone and iPad app that does exactly one thing: scan a document to PDF or image and send it where you want. No cloud accounts, no expense report workflows, no ads — just a couple of options and a big Scan Document button, which is precisely right for those of us who scan a receipt once a month.
via Rust Weekly 🦀 (@rust_discussions@mastodon.social): arbtest — powerfully tiny property-based testing
arbtest is a property-based testing library for Rust with a refreshingly tiny API: one function, no macros. It takes an arbitrary::Unstructured random data source, shrinks failures automatically, and prints a seed you can use to deterministically replay any failure — plus it supports time budgeting and works with fuzzers.
via Alexandre Colucci (@timac@mastodon.social): Attached: 1 image
MarkChart is a native Mermaid diagram editor for iPhone, iPad, and Mac, with live preview, syntax highlighting, an interactive visual canvas, templates, and Quick Look support for .mmd files. Handy if you write flowcharts, sequence diagrams, or Gantt charts as text and want polished PDF/PNG/SVG exports without a browser-based tool.
via Rust Weekly 🦀 (@rust_discussions@mastodon.social): Wrote a blog (and benchmark) different type of builder patterns in rust
A small benchmark repo comparing different ways to implement the builder pattern in Rust — owned self, &mut self, typestate, and friends. Handy data if you’ve ever wondered whether your builder’s ergonomics come at a runtime cost.
The Rust project’s 2023 annual survey results are in, drawing on responses from tens of thousands of Rust users about how (and where) they use the language, what they find hardest, and what they want next. Always a useful snapshot of where the community’s collective attention is heading — and yes, Vim landing near the top of the editor list generated the usual cheering.
An episode of Adam Grant’s ReThinking (via the WorkLife feed) featuring Denise Hamilton on revising the stories we hold dear — the narratives we tell ourselves about our work, our teams, and each other. A good reminder that the beliefs we’re most attached to are often the ones most worth re-examining.
via Simon Willison (@simon@simonwillison.net): And Fly.io announced their object storage alternative to S3! https://fly.io/blog/tigris-public-beta/
Fly.io introduces Tigris, a globally distributed, S3-compatible object storage service that caches objects near where they’re requested instead of pinning them to a single region. Fly’s take is refreshingly honest: they couldn’t figure out how to beat S3 themselves, so they’re pointing at someone who did — at least for the kinds of apps that run on Fly.
via Martijn Faassen has moved (@faassen@fosstodon.org): I’ve just released a major change to the Xot XML tree library in Rust, version 0.21. It breaks a lot of APIs (as I’m the only major user at this point in time, I can still do it), and adds a lot of new functionalities.
Xot is, I claim, by far the most fully featured XML tree manipulation library available for Rust.
via Tim McNamara (@timClicks@mastodon.nz): Attached: 1 image
Tim McNamara points out a handy Rust tip: rustup can generate shell completions for itself and for cargo, so you get tab completion for subcommands and flags in your shell of choice. A small quality-of-life win that’s easy to miss in the rustup docs.
Jon Reid revisits the Single Responsibility Principle and argues that the usual “a class should do one thing” shorthand misses the point — the real test is how many different reasons (and stakeholders) could force a change. A useful reframing for anyone who has watched SOLID discussions devolve into arguments about how small a class should be.
A Siri shortcut that captures highlights from whatever you’re listening to in Overcast, transcribes and summarizes the surrounding audio, and syncs the result to Readwise (and from there to Obsidian, Notion, Roam, etc.) or email. “Hey Siri, highlight” is exactly the interaction I want when a good idea goes by while my hands are busy.
Via https://overcast.fm/+QCTSW_xSc/15:55
via Molly White (@molly0xfff@hachyderm.io): When people say you should “own your own data,” or that the future of the web is “ownership,” what does that mean?
Molly White untangles the many contradictory things people mean when they say “digital ownership” — buying media you can’t keep, controlling your own data, owning your audience — and argues we’d be better served by naming the specific rights we actually want. A clarifying read that cuts through both platform lock-in apologetics and crypto “ownership era” hype.
via daniel roe 🇺🇦 (@daniel@roe.dev): 👋 Announcing a new open-source side project:
👉 Put in your domain name to see your Core Web Vitals / Lighthouse score - and then share it easily on social media.
via Rust Weekly 🦀 (@rust_discussions@mastodon.social): Rust Won’t Save Us: An Analysis of 2023’s Known Exploited Vulnerabilities
Horizon3’s analysis of the 2023 CISA Known Exploited Vulnerabilities catalog finds that memory-safety bugs account for a relatively small share of what attackers actually exploit; injection flaws, authentication bypasses, and logic errors dominate. A useful reality check for those of us who reach for Rust as a security panacea — memory safety closes one door, but plenty of others remain wide open.
via Brian Dorsey (@briandorsey@hachyderm.io): #rust #rustlang
binrw is a Rust crate that uses declarative attributes on ordinary structs and enums to generate binary parsers and writers, with support for endianness, conditional fields, and custom encodings. If you’ve ever hand-rolled byte-offset math for a file format or network protocol, this is a much safer and more readable way to do it.
via codepilot (@codepilot@chaos.social): It seems that “The four horsemen of bad #Rust code” by @mre@mastodon.social from #fosdem2024 is now available https://video.fosdem.org/2024/h1308/fosdem-2024-2434-the-four-horsemen-of-bad-rust-code.av1.webm
A FOSDEM 2024 talk on “The Four Horsemen of Bad Rust Code” — the recurring anti-patterns that show up when teams write Rust that compiles but fights the language instead of working with it. A good watch if you’ve ever wondered why your Rust code feels harder to maintain than it should.
via Shafik Yaghmour (@shafik@hachyderm.io): Attached: 1 image
A five-question C quiz where the correct answer to every question is “I don’t know” — structure padding, integer promotion, implementation-defined char signedness, and unsequenced side effects all conspire to make seemingly obvious code undefined. A good humbling reminder that knowing C’s syntax is not the same as knowing what the standard actually guarantees.
via Rust Weekly 🦀 (@rust_discussions@mastodon.social): Achieving Safe, Aliasable Mutability with Unboxed Types
Jake Fecher explains how the Ante language aims to allow aliasable mutability without giving up memory or thread safety, using unboxed types to sidestep Rust’s “Aliasability XOR Mutability” rule. A thoughtful look at one of the most common sources of friction in Rust’s borrow checker and what a different set of tradeoffs might look like.
via Rust Weekly 🦀 (@rust_discussions@mastodon.social): jj init: What if we actually could replace Git?
Chris Krycho makes a thorough, well-argued case for Jujutsu, the new Git-compatible version control system out of Google. His critique of Git’s incoherent mental model is worth the read on its own, but the real payoff is seeing how jj rethinks the working copy, revisions, and conflicts into something you can actually reason about.
Subscribe to my free and occasional (never more than weekly) e-mail newsletter with my latest travel and other stories:
Or follow me on one or more of the socials: