TLDR Web Dev

TLDR WEB DEV 2024-07-24

5 sections15 entrieslinks blockcomplete parse

Parse notes

  • Subscription/account footer truncated before parsefooter_truncated

01ARTICLES & TUTORIALS

THE BIGGEST-EVER GLOBAL OUTAGE: LESSONS FOR SOFTWARE ENGINEERS

CrowdStrike caused a global outage by pushing a faulty configuration update to its Falcon product, resulting in the crash of 8.5 million Windows machines. The update aimed to enhance threat detection but contained a logic error that caused the CSAgent.sys process to crash the operating system. The recovery process was slow and manual, requiring physical access to each impacted machine. While CrowdStrike is primarily responsible, Microsoft's inability to restrict third-party software from running at kernel level due to a 2009 agreement with the European Commission also worsened the situation.

open.substack.com26 min read

HOW CANVA COLLECTS 25 BILLION EVENTS PER DAY

Canva's product analytics pipeline collects 25 billion events per day with high uptime, using Protobuf to define event schemas and Datumgen to generate code and enforce compatibility rules. The event collection process starts with analytics clients on various platforms, then events are validated and enriched in ingest-workers before being sent to a Kinesis Data Stream (KDS). KDS serves as the primary streaming platform, with SQS as a fallback for overflow protection and failover mode.

canva.dev10 min read

RUBY METHODS ARE COLORLESS

Ruby methods are "colorless," meaning there's no distinction between synchronous and asynchronous methods, allowing for asynchronous behavior without explicit markers. Ruby achieves this through independent call stacks, enabled by Threads and Fibers, which allow for switching between tasks without blocking the main thread. This concurrency model, similar to Go's, allows for efficient handling of blocking operations like file reading, HTTP calls, and database queries.

jpcamara.com26 min read

02OPINIONS & ADVICE

SOFTWARE ENGINEERS ARE NOT (AND SHOULD NOT BE) TECHNICIANS

A good software engineer should automate repetitive tasks, which is not incentivized in most large tech companies. These companies tend to favor predictability and hire technicians who do well-understood work instead of engineers who tackle unpredictable challenges. This focus on predictability leads to over-hiring and reduced productivity.

haskellforall.com4 min read

I'VE USED (AND LOVED) RUST FOR ~10 YEARS. HERE ARE THE WAYS IT DISAPPOINTS ME

This author loves Rust, but finds some of the syntax cumbersome, especially for library and application code. The orphan rule and the flexibility of the module system can make organizing code difficult. Compile times and IDE tooling are also slow, particularly for large projects.

links.tldrnewsletter.com8 min read

HOW TO USE PERPLEXITY IN YOUR DAILY WORKFLOW

Perplexity is useful thanks to its ability to choose between different AI models and a Pro Search function that asks clarifying questions. It can be integrated into daily workflows for tasks like morning briefings, fact-checking, brainstorming, and writing assistance.

open.substack.com11 min read

03LAUNCHES & TOOLS

GLHF CHAT

GLHF Chat allows you to chat with any open-source large language model. You can use the chat UI or an OpenAI-compatible API.

glhf.chatTool

POKU

Poku is a JavaScript test runner that aims to bring back the simplicity of JavaScript testing. It has high performance, a low memory footprint, and the ability to run tests across different platforms like Node.js, Bun, and Deno.

github.comGitHub repository

BRIEFER NOTEBOOKS

Notebooks that live on the cloud. They support SQL and Python. An AI assistant is included.

briefer.cloudTool

04MISCELLANEOUS

OPEN SOURCE AI IS THE PATH FORWARD

Mark Zuckerberg believes open source AI is the best way to develop AI technology for several reasons: it allows developers to customize models to their needs, avoids vendor lock-in, protects sensitive data, and is more cost-effective. Zuckerberg also believes that open source AI is safer and more secure because it allows for wider scrutiny and transparency.

about.fb.com12 min read

FORGET “SHOW, DON'T TELL”. ENGAGE, DON'T SHOW!

Good UIs and knowledge transfer should have a smooth curve of incremental effort leading to incremental value. People learning should understand why the information is useful and apply it quickly in order to truly retain and understand it. Explaining things in context, rather than upfront, is the most effective.

lea.verou.me4 min read