Issue #443

29 August 2023

Issue #443

Tuesday 29th August’s issue is presented by Influxdata

InfluxDB: A High-Performance Time Series Database For Your Real-Time Analytics Needs

Manage high volumes of time series data, reduce complexity in data pipeline architectures, and scale storage based on workload. Trusted by engineering managers for its superior data compression and low latency queries.

An Effective Team Communicates Much Like Optimized Code: With Clarity, Modularity, And A Focus On Simplicity.

— Addy Osmani

tl;dr: “Just as we strive for optimized, clean code, our teams should aim for clear, modular, and simple communication.” Addy shares tips from his time at Google: (1) Optimize communication for the target audience.
(2) Speak clearly and slowly. (3) Opt for concise messages rather than apologizing for long ones. (4) Use simple and common words. Remove unnecessary and unrelated words. (5) Avoid English idioms and slang phrases if working with a global team. (6) Use inclusive language that considers all educational backgrounds.

Leadership Management Tips

Bjarne Stroustrup Shares Life Advice 

tl;dr: Creator of C++, Bjarne Stroustrup emphasizes the dangers of overspecialization and importance of flexibility in one's career. Stroustrup warns against young individuals becoming too engrossed in a specific niche, leading to burnout and missing out on broader experiences. He observes that many in tech field mistakenly believe that specific expertise is all that matters. However, Stroustrup stresses the significance of communication - "if you don't communicate your ideas, you can just as well do Sudoku." He highlights the need for a balanced life, enriched by diverse education and experiences drawing from his own journey, where he mistakenly chose CS over applied mathematics.


Metrics, Logs and Traces: More Similar Than They Appear?

— Andrew Lamb

tl;dr: Metrics, logs, and traces, while all time series data, require different approaches for storage and querying due to their unique characteristics. Logs, with their high cardinality and unique data, pose the greatest challenge. Traces, while also high in cardinality, are more structured. Metrics typically have bounded tag keys and values. Each type necessitates a different approach, making a single solution elusive.

Promoted by Influxdata


8 Reasons Why WhatsApp Was Able To Support 50 Billion Messages A Day With Only 32 Engineers

tl;dr: (1) Single responsibility principle. (2) Tech stack. Erlang provides scale with a tiny footprint. (3) Leveraged robust open source and third party libraries. (4) A huge emphasis was given to cross-cutting concerns to improve quality. (5) Diagonal scaling to keep the costs and operational complexity low. (6) Critical aspects were measured so bottlenecks were identified and eliminated quickly. (7) Load testing was performed to identify single points of failure. (8) Communication paths between engineers were kept short.

Scale Management

"Test early and often"

- Bjarne Stroustrup

Hire For Floors, Not Ceilings

— Jacob Kaplan-Moss

tl;dr: Jacob uses the sports performance analogy of "floors" and "ceilings" to discuss hiring practices. In sports, an athlete's "ceiling" denotes their peak potential, while their "floor" represents their worst performance. Jacob identifies four performance archetypes, from consistently excellent athletes to those who are unpredictably variable. Drawing parallels to hiring, Jacob argue that employers often mistakenly prioritize a candidate's potential (ceiling) over their consistency (floor). He emphasizes that a consistently average performer is often more valuable than an unpredictable one, stating, consistency and reliability should be prioritized over sporadic potential.

Hiring Management

How Are You Investing In AI?

tl;dr: Fundrise has fully democratized venture capital. Now you can get in early, investing in some of the most promising pre-IPO tech companies— including those leading the AI revolution. No accreditation required. No membership fees. And the lowest venture investment minimum ever. 

Promoted By Fundrise


Akin's Laws Of Spacecraft Design

— Matt Rickard

tl;dr: The article presents 45 laws by David Akin, Professor of Aerospace Engineering, including: (1) Engineering is done with numbers. Analysis without numbers is only an opinion. (2). To design a spacecraft right takes an infinite amount of effort. This is why it's a good idea to design them to operate when some things are wrong. (3). Design is an iterative process. The necessary number of iterations is one more than the number you have currently done. This is true at any point in time. (4). Your best design efforts will inevitably wind up being useless in the final design. Learn to live with the disappointment. (5). Three points determine a curve.


Management Process

The Unexpected Find That Freed 20GB Of Unused Index Space

— Haki Benita

tl;dr: Haki’s team managed to free up more than 70GB of database storage without dropping any indexes or deleting data. They initially used conventional techniques like rebuilding indexes and tables to clear up space. However, a surprising discovery allowed them to free an additional ~20GB. They realized that PostgreSQL indexes NULL values, which led them to create a partial index that excludes these NULL values, thereby significantly reducing the index size. The article also delves into the concept of "bloat" in PostgreSQL tables and indexes, offering solutions like using the REINDEX command and the pg_repack extension to manage it. Haki suggests that partial indexes are particularly useful for fields with a high percentage of NULL values.


FIFO Queues Are All You Need For Cache Eviction

— Juncheng Yang

tl;dr: “I will describe a simple, scalable eviction algorithm with three static FIFO queues. Evaluated on 6594 cache traces from 14 companies, we show that S3-FIFO has lower miss ratios than 12 state-of-the-art algorithms designed in the past decades. Moreover, S3-FIFO’s efficiency is robust — it has the lowest mean miss ratio on 10 of the 14 datasets. The use of FIFO queues enables S3-FIFO to achieve good scalability with 6× higher throughput compared to optimized LRU in cachelib at 16 threads.”


Notable Links

BEPb: Config files for a GitHub profile.

Crumb: High level language where everything is a function.

Maccarone: AI-managed code blocks in Python.

Micro: Modern terminal-based text editor.

Pixi: Package management made easy.

Click the below and shoot me an email!

1 = Didn't enjoy it all // 5 = Really enjoyed it