Learning from Giants #35
Cuckoo and bloom filters by example, Meetings for an effective eng organization, and an introduction to web accessibility.
👋 Hi, this is Mathias with your weekly drop of the 1% best, most actionable, and timeless resources to grow as an engineering or product leader. Handpicked from the best authors and companies.
Did a friend send this to you? Subscribe to get these weekly drops directly in your inbox. Read the archive for even more great content. Also: I share these articles daily on LinkedIn.
Probabilistic filters by example
Bloom and Cuckoo filters: data structures that trade off certainty for space and speed. They're called probabilistic filters.
"Probabilistic filters are high-speed, space-efficient data structures that support set-membership tests with a one-sided error."
It's not that complex: probabilistic filters answer one question:
Is a value V part of a (large) set of values?
They answer this question with a controllable probability of false positives. When the filter responds YES, there is a chance that the value is not actually in the set.
But the interesting fact is that if the filter's answer is NO, we are 100% sure that the value isn't in the set. And that's what probabilistic filters are used for in software.
And all this while using minimal space:
"Cuckoo Filters and Bloom Filters require approximately 7 bits per entry at 3% False Positive Probability, regardless of the size of the entries."
📗 Brian Dupras's Probabilistic Filters By Example: Cuckoo Filters and Bloom Filters introduces these two variants of probabilistic filters. While engineers have used Bloom filters for decades, Cuckoo filters are much more recent, and Brian's visualization of both offers an interesting comparison.
Meetings for an effective engineering organization
"Some engineers develop a strong point of view that meetings are a waste of their time."
There are more articles about tech companies like Shopify removing meetings than about which meetings you should hold. As always, Will Larson has an interesting take:
"Large meetings are rarely the best communication solution for any particular goal. However, they are a remarkably effective backup solution when there are gaps in your default approaches."
Meetings effectively bridge the async, written-culture theory and the messy reality of fast-moving and changing organizations. Thinking about them this way can help you decide which ones you need or don't.
Focusing on engineering organizations, there are a few must-haves:
A weekly team meeting with your direct reports. Problems solved: goal alignment, shared context, building team effort.
Technical spec review and incident review meetings. Problems solved: getting the right eyes early on technical decisions, high-standards culture building.
📗 Will Larson's Meetings for an effective eng. organization describes different meeting types such organizations usually hold. The author explains what they are, why they're useful, and gives advice on how to run them effectively.
An introduction to Web Accessibility
What is web accessibility, and where to start?
"By accessibility, we mean the concept of designing any service (digital) product in a way that will be usable for everyone equally."
And like many axioms of the web, accessibility has its own standard: WCAG.
"The Web Content Accessibility Guidelines (WCAG) is an extensive standard for web development. [...] The WCAG version 2.1 has 13 guidelines with many success criteria distributed among three levels." From A to AAA.
But rules and guidelines are just that. Web browsers materialize them through a framework: WAI-ARIA.
"WAI-ARIA stands for Web Accessibility Initiative - Accessible Rich Internet Applications Suite, which defines a way to make any web content, site, or application more accessible for people with disabilities."
ARIA is mostly implemented as custom HTML element properties with the aria-
prefix. It divides them into three categories:
"Roles define what an element does or mean." An extension of semantic HTML.
"Properties are additional extensions to existing elements whose goal is to give more meaning to them."
"States are for managing the condition of an element."
📗 Adam Laki's Bite-sized accessibility is an introduction to the essential but deep topic of web accessibility through short posts of less than 150 words. And like the best introductions, these posts link to longer resources on each topic.