TLDR Web Dev

TLDR WEB DEV 2024-02-07

6 sections19 entrieslinks blockcomplete parse

Parse notes

  • Subscription/account footer truncated before parsefooter_truncated

01GENERAL

Sponsored

POST/CON 24

API developer? This year’s POST/CON [5] conference in San Francisco is the place to be. Hear from industry leaders, gain new skills, and engage with the community. There’s a 50% discount if you sign up early [5]! A small taste of what you can expect from this two-day event:

postman.comSponsor

02ARTICLES & TUTORIALS

LEARNINGS FROM OUR 8 YEARS OF KUBERNETES IN PRODUCTION

Urb-it uses Kubernetes to leverage container orchestration capabilities for its microservices architecture. Some of the lessons learned after using Kubernetes in production for over eight years include the importance of keeping Kubernetes and Helm up to date, backing up secrets, planning for disaster recovery, keeping certificates up to date to prevent cluster crashes, and going all-in with a cloud provider. Kubernetes allowed Urb-it to scale in a cost-efficient manner and develop new products and services faster.

medium.com12 min read

HOW MUCH UPTIME CAN I AFFORD?

Engineering for 99.5% uptime is much more cost-effective than 99.99% for most startups. This is because in order to achieve that level of reliability, you will need specialized architecture, redundant infrastructure, and streamlined operational and organizational procedures. The cost comes in terms of system complexity, the number of engineers required and their specializations, experience levels, and corresponding salaries, as well as significantly increased operational costs and arrangements. 99.99% guaranteed uptime must be 50 times as reliable as one with "only" 99.5%.

world.hey.com6 min read

BUILDKIT IN DEPTH: DOCKER'S BUILD ENGINE EXPLAINED

BuildKit is Docker's new default build engine. It improves Docker builds by parallelizing build steps, optimizing multi-stage builds, and utilizing layer caching for enhanced performance. BuildKit uses a directed acyclic graph (DAG) data structure called LLB to represent dependencies and has frontends and backends to convert Dockerfiles into LLB and build Docker images efficiently.

depot.dev9 min read

03OPINIONS & ADVICE

TOO MUCH OF A GOOD THING: THE TRADE-OFF WE MAKE WITH TESTS

Aiming for 100% code coverage can lead to unintended consequences, such as having engineers write unrelated tests or "cheating" the system to reach 100% at all costs. Teams should be deliberate in deciding how much risk to take on when writing tests. Measure the cost of writing tests versus the cost of bugs to make informed decisions. In certain contexts, it’s the ethical thing to do to write extensive tests, such as for critical software like pacemakers.

ntietz.com5 min read

WE MIGHT WANT TO REGULARLY KEEP TRACK OF HOW IMPORTANT EACH SERVER IS

A significant air conditioning failure in a machine room led to the need to power off machines to prevent overheating. Deciding which machines to turn off was not straightforward. Maintaining documentation on the importance of each machine and its dependencies is helpful for situations like these. While this documentation takes a lot of effort, it also helps engineers understand the system's connections and dependencies, making it a valuable resource in case of future failures.

utcc.utoronto.ca2 min read

WHY WE CAN'T HAVE NICE SOFTWARE

There’s a paradox of software being too powerful and efficient, which makes it challenging to maintain profitability and often causes unnecessary software churn. Software today often is never completed due to the need for yearly growth by companies. Old software “rots” and is then replaced by new and supposedly better software. The endless quest for growth means that today’s software often never gets to reach a state of perfect completion.

andrewkelley.me9 min read

04LAUNCHES & TOOLS

GEPPETTO

Geppetto is a Slack bot that lets teams easily interact with ChatGPT. It integrates with OpenAI's ChatGPT-4 and DALL-E-3 models. Each message generates a conversation thread. The application uses the message history to formulate coherent responses.

github.comGitHub repository

BOUNCY BALL

Bouncy Ball compares web animation techniques by showing how to bounce a ball with each one. Multiple code examples in different languages are shown, including vanilla JavaScript, pure CSS, jQuery, Anime.js, and more.

sparkbox.github.ioTool

SERVOR

Servor is a dependency-free file server for modern web app development. It supports HTTPS, live reloading, gzip, hot reload, frontend routing, and more.

github.comGitHub repository

05MISCELLANEOUS

HOW SLOW IS SELECT * ?

"SELECT *" SQL queries fetch all columns from a row-store database. This is often quite slow due to issues like index-only scans, deserialization cost, external storage for large columns, network cost, client deserialization, and unpredictability. Selecting only the necessary columns avoids unnecessary overhead and leads to faster, more efficient queries.

medium.com4 min read

INTRO TO WEB MONETIZATION

The Web Monetization API simplifies online payments for website users and owners by allowing visitors to pay a chosen amount directly to websites using a browser extension or native browser support. With the API, website owners no longer need to integrate multiple payment methods and currencies. Instead, they can merely signal their acceptance of payments in code, and browsers would facilitate the payment process.

webmonetization.org4 min read