Issue #480

16 January 2024


Issue #480
pointer.io


Tuesday 16th January’s issue is presented by Gitpod

Built For Platform Teams


Gitpod’s developer platform was built for developers looking to work faster and platform teams looking to work smarter.


It allows them to do two things really well: automate standardization of development environments and always be ready-to-code.


All it takes is adding a .gitpod.yml file to the root of any repository.

Incentives And The Cobra Effect

— Andrew Bosworth


tl;dr: “Incentives are superpowers; set them carefully.” The Cobra Effect is when the solution for a problem unintentionally makes the problem worse. Andrew believe this issue is more widespread than anticipated. He provides several examples, including: everyone sharing feedback directly instead of through managers. This leads to people withholding valuable feedback to maintain relationships or damaging relationships if they can’t share negative feedback elegantly.


Leadership Management

Applying The SPACE Framework

— Laura Tacho


tl;dr: The SPACE Framework of Developer Productivity is a holistic approach to thinking about and measuring software developer productivity. The SPACE framework is not a list of metrics or benchmarks. Instead, it outlines five different dimensions of productivity that can inform your own definition of productivity, and by extension, your measurements: (1) Satisfaction and Well-being. (2) Performance. (3) Activity. (4) Communication and Collaboration. (5) Efficiency and Flow.


Leadership Management

How To Successfully Adopt A Developer Tool

— Lou Bichard


tl;dr: Adopting developer tools is not the same as successfully adopting developers tools. It’s a socio-technical challenge involving strategy, timing and people that can be broken down into three steps: champions, use cases, scale. Avoid the premature ‘all-hands’ demo and embrace the power of building a champion.


Promoted by Gitpod

BestPractices DevTools

The Checklist Manifesto

— Murat Demirbas


tl;dr: This book advocates for integrating checklists as potent safety and fault-tolerance tools across diverse domains. While the author, a prominent surgeon, enriches the narrative with numerous surgery cases, he also discusses their use in the construction and aviation industries. Checklists significantly reduce cognitive load, enabling complex tasks and effective team collaboration. Murat questions why we don’t use checklists more frequently in software development.


Management UsefulTool

“The important thing is not to stop questioning. Curiosity has its own reason for existing.”


— Albert Einstein

How Apple Built iCloud To Store Billions Of Databases

— Leonardo Creed


tl;dr: Apple uses FoundationDB and Cassandra for iCloud and CloudKit, their cloud backend service, running one of the largest Cassandra deployments in the world. This deployment includes over 300,000 instances or nodes, managing hundreds of petabytes of data, possibly extending to exabytes. Each cluster in this deployment can handle over two petabytes of data, and there are thousands of such clusters. This indicates a highly distributed and scalable storage system spread across multiple data centers.


Scale Architecture

The Ten Commandments Of Refactoring

— Armand Halbert


tl;dr: Thou shalt: (1) Have a comprehensive suite of tests. (2) Take small steps. (3) Run tests frequently. (4) Use continuous integration. (5) Not add extra functionality while refactoring. (6) Refactor often. (7) Automate refactoring. (8) Not prematurely optimize. (9) not suffer duplicated code. (10) Not suffer excessively long functions, or excessively large classes. 


Refactoring

Dynamic Programming Is Not Black Magic

— Quentin Santos


tl;dr: Dynamic Programming is a method used to solve complex problems by breaking them down into simpler subproblems. Many common algorithms are the application of dynamic programming to specific problems, including Dijkstra’s path-finding algorithm. Quentin provides an introduction and examples. 


Algo

How Fast Is Your Shell?

— Thorsten Ball


tl;dr: “Think about it this way: which program do you execute more often than your shell? How many shells do you spawn every day? How many other programs do you run every day that spawn your shell? If you’re anything like me, it’s a lot of shells per day. I’m a heavy terminal and tmux user. I spawn shells like I open new tabs in a browser. Do you want one of your most-used programs to start slow because you didn’t care?” Thorsten shares how to measure and optimize the shell’s speed.


Optimization Shell

Notable Links


AI Gateway: Route to 100+ LLMs 1 API.


Marimo: Reactive notebook for Python.


RAD Debugger: User-mode, multi-process, graphical debugger.


Surya: Line-level text detection and OCR in any language.


Vanna: Chat with your SQL database.


Click the below and shoot me an email!


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


12345