TLDR Web Dev 2024-04-17

Postgres’ insane decade 📈, failures vs mistakes 🤦, building something real 🧑‍💻️

🧑‍💻
Articles & Tutorials

Upgrading 3 Million Variables to Envelope Encryption (7 minute read)

Railway, a cloud deployment platform, used to rely heavily on Google Cloud's Key Management Service (KMS) for encrypting sensitive user configuration variables. To improve performance, security, and reduce dependency on a single provider, Railway implemented envelope encryption, which encrypts data with a data encryption key that is itself encrypted with a key encryption key. This change reduced KMS usage and allows Railway to have potentially no dependencies on external cloud infrastructure in the future.

Ten years of improvements in PostgreSQL's optimizer (3 minute read)

PostgreSQL's query optimizer has improved massively over the past decade. Using the Join Order Benchmark (JOB), this author shows that tail latency has been nearly halved between PostgreSQL versions 8 and 16, with each major version offering an average 15% performance increase. One of the best decisions teams can make to make their database query speeds faster is to simply keep their Postgres instances up to date.

How PayPal Serves 350 Billion Daily Requests with JunoDB (8 minute read)

JunoDB is a highly reliable database developed by PayPal with an architecture that supports near-constant availability and efficient handling of massive data request loads. Its architecture includes a client library, a proxy with load balancing, and storage servers using RocksDB.
🧠
Opinions & Advice

Building Something Real in your spare time (4 minute read)

To bring a side project to completion, start by defining specific goals, then break the project into smaller milestones to maintain motivation. Work on it consistently but sustainably by prioritizing features properly.

Mental Health in Software Engineering (7 minute read)

This article shares a tech co-founder's struggle with anxiety and burnout, which stemmed from the intense work environment in the startup world. Neglecting mental health can take a heavy toll. To manage his anxiety better, the author set boundaries and prioritized self-care.

Faster Connectivity !== Faster Websites (5 minute read)

Despite the increase in internet speeds, the user experience on many websites has not proportionally improved due to bloated websites and performance issues. Websites designed to load static content all at once remain the most accessible universally and often outperform all other websites. Modern websites that prioritize complex features over basic usability like scrolling and search are often slower than average.
🚀
Launches & Tools

Paper Code (GitHub Repo)

Paper Code is a fast and performant C++ IDE.

Reader (GitHub Repo)

Reader converts any URL to an LLM-friendly input.

MikroORM 6.2 (5 minute read)

MikroORM is a TypeScript data-mapper ORM. Recently released MikroORM v6.2 introduces support for Microsoft SQL Server and libSQL, along with better handling of collection updates and pagination.
🎁
Miscellaneous

Distributed Authorization (12 minute read)

Authorization is complex and creates problems in microservice-based applications. Existing approaches either mix authorization logic with application code (making it hard to understand and update) or centralize authorization data, leading to tough data synchronization. A new service called Oso Cloud solves these issues with policy-based logic and a new distributed authorization architecture, allowing developers to define logic centrally while still using local data to make authorization decisions.

Failures, Mistakes, Confusion (4 minute read)

In programming languages, failures are systemic limitations that come from constraints and might be recoverable. Mistakes are code-based errors that violate program logic and usually need safe termination. Failures and mistakes should be handled differently by software.

A blueprint for making quantum computers easier to program (6 minute read)

MIT researchers have identified a major challenge in quantum programming: the lack of control flow instructions like those in classical computers. To address this, they proposed a new model called the quantum control machine which includes modified instructions that make quantum computers easier to program.
⚡️
Quick Links

How I setup my terminal for max productivity (8 minute read)

A detailed guide to customizing your terminal setup to use productivity-oriented plugins, themes, aliases, and command-line utilities.

Optimizing Node.js Performance (1 minute read)

To profile the CPU usage of a Node.js application, launch the application with the ‘--inspect flag' and connect to it using Chrome DevTools via ‘chrome://inspect'. Start and stop the CPU profiling using the Record button in the Performance panel of DevTools to capture how CPU time is spent during application execution.

A quick post on Chen's algorithm (4 minute read)

Chen's algorithm is a new quantum algorithm that, if proven correct, could potentially break lattice-based cryptography schemes, which are currently used to secure many systems today.

Site claims to have harvested 4B+ Discord chats, all on sale (3 minute read)

A service named Spy.pet has collected over 4 billion Discord messages from public chat servers and is now selling access to this data.
Get our free, 5-minute newsletter read by 350,000 frontend, backend, and full stack developers
Join 300,000 readers for