Full Width [alt+shift+f] Shortcuts [alt+shift+k]
Sign Up [alt+shift+s] Log In [alt+shift+l]
7
In my last last post, I argued that property-based testing and fuzzing are essentially the same practice, or at least share a lot of commonality. In this followup post, I want to explore that idea a bit more: I’ll first detour into some of my frustrations and hesitations around typical property-based testing tools, and then propose a hypothetical UX to resolve these concerns, which takes heavy inspiration from modern fuzzing tools, specifically the AFL and Google’s OSS-Fuzz.
over a year ago

Improve your reading experience

Logged in users get linked directly to articles resulting in a better reading experience. Please login for free, it takes less than 1 minute.

More from Posts on Made of Bugs

Performance of the Python 3.14 tail-call interpreter

About a month ago, the CPython project merged a new implementation strategy for their bytecode interpreter. The initial headline results were very impressive, showing a 10-15% performance improvement on average across a wide range of benchmarks across a variety of platforms. Unfortunately, as I will document in this post, these impressive performance gains turned out to be primarily due to inadvertently working around a regression in LLVM 19. When benchmarked against a better baseline (such GCC, clang-18, or LLVM 19 with certain tuning flags), the performance gain drops to 1-5% or so depending on the exact setup.

2 days ago 4 votes
Building personal software with Claude

Earlier this month, I used Claude to port (parts of) an Emacs package into Rust, shrinking the execution time by a factor of 1000 or more (in one concrete case: from 90s to about 15ms). This is a variety of yak-shave that I do somewhat routinely, both professionally and in service of my personal computing environment. However, this time, Claude was able to execute substantially the entire project under my supervision without me writing almost-any lines of code, speeding up the project substantially compared to doing it by hand.

a month ago 22 votes
Finding near-duplicates with Jaccard similarity and MinHash

Suppose we have a large collection of documents, and we wish you identify which documents are approximately the same as each other. For instance, we may have crawled the web over some period of time, and expect to have fetched the “same page” several times, but to see slight differences in metadata, or that we have several revisions of a page following small edits. In this post I want to explore the method of approximate deduplication via Jaccard similarity and the MinHash approximation trick.

8 months ago 20 votes
Stripe's monorepo developer environment

I worked at Stripe for about seven years, from 2012 to 2019. Over that time, I used and contributed to many generations of Stripe’s developer environment – the tools that engineers used daily to write and test code. I think Stripe did a pretty good job designing and building that developer experience, and since leaving, I’ve found myself repeatedly describing features of that environment to friends and colleagues. This post is an attempt to record the salient features of that environment as I remember it.

9 months ago 14 votes
Performance engineering, profilers, and seeing the invisible

I was recently introduced to the paper “Seeing the Invisible: Perceptual-Cognitive Aspects of Expertise” by Gary Klein and Robert Hoffman. It’s excellent and I recommend you read it when you have a chance. Klein and Hoffman discuss the ability of experts to “see what is not there”: in addition to observing data and cues that are present in the environment, experts perceive implications of these cues, such as the absence of expected or “typical” information, the typicality or atypicality of observed data, and likely/possible past and future time trajectories of a system based on a point-in-time snapshot or limited duration of observation.

a year ago 16 votes

More in technology

Why are sine waves so common?

A simple question that takes some effort to answer in a satisfying way.

16 hours ago 3 votes
Intel and the New Millenium

Losing the performance crown

19 hours ago 3 votes
Apple might be cooking this fall

Tim Hardwick reporting on Gurman’s reporting in Bloomberg, which I don’t have access to, so I’m quoting the MacRumors article: While specific details are scarce, it's supposedly the biggest update to iOS since iOS 7, and the biggest update to macOS since

22 hours ago 2 votes
This Arduino device helps ‘split the G’ on a pint of Guinness

Guinness is one of those beers (specifically, a stout) that people take seriously and the Guinness brand has taken full advantage of that in their marketing. They even sell a glass designed specifically for enjoying their flagship creation, which has led to a trend that the company surely appreciates: “splitting the G.” But that’s difficult […] The post This Arduino device helps ‘split the G’ on a pint of Guinness appeared first on Arduino Blog.

2 hours ago 1 votes
Pricing

Bone Health Tracker Premium Track your bone health, Monitor the progress of your treatments. Get more reports and cloud sync for just ₹1,332.21/year Free Premium Parsed BMD reports ✓ ✓ Skeleton visualization ✓ ✓ T-Score chart ✓ ✓ Z-Score chart ✓ ✓ Submit reports without private data for research ✓ ✓ Newsletter on lastest in bone health research and treatments ✓ ✓ Max reports 3 40 Access the reports on multiple devices(cloud sync) ∅ ✓ Priority support over email ∅ ✓ First access to latest features ∅ ✓ Access to private discord server to discuss bone health ∅ ✓ Support an individual trying to make monitoring bone health accessible to all ∅ ✓ Pricing Free ₹1,332.

yesterday 3 votes