TLDR Web Dev

TLDR WEB DEV 2023-10-10

6 sections16 entriesinline urlcomplete parse

Parse notes

  • Subscription/account footer truncated before parsefooter_truncated

01GENERAL

02ARTICLES & TUTORIALS

HOW SLACK PROCESSES 33,000 JOBS PER SECOND

Slack manages many tasks asynchronously, including push notifications and billing. It previously used Redis for task queuing, but as Slack scaled, it faced limitations such as memory constraints and coupling between workers and Redis instances. To address these issues, Slack integrated Apache Kafka, added Kafkagate as a new scheduler, and used JQRelay to relay jobs from Kafka to Redis. This improved Slack’s scalability and durability and reduced complexity in managing job queues.

blog.quastor.org14 min read

SPEEDING UP THE JAVASCRIPT ECOSYSTEM- THE BARREL FILE DEBACLE

Barrel files are files that only export other files. They are used to reduce the number of import statements in a project. Barrel files are a common cause of performance issues in JavaScript projects, especially large ones. Importing many files through a web of barrel files can significantly increase module loading times, affect test runners' performance, and cause linting times to increase dramatically. Getting rid of barrel files can make many tasks run 60-80% faster.

marvinh.dev6 min read

ARCHITECTURE

Slack sends millions of messages daily across millions of channels in real-time across the world. This post explores Slack’s real-time messaging architecture with a discussion on the architectural and system design concepts they leverage to scale and keep the latency low. Slack's Channel Servers are stateful and in-memory, aiding in quick message delivery to clients. The post also touches on how consistent hashing routes traffic to different Channel Server nodes. It discusses the trade-off between low latency and scalability challenges which can be mitigated using the right cloud instance for memory-intensive operations.

scaleyourapp.com13 min read

03OPINIONS & ADVICE

FORTY YEARS OF PROGRAMMING

In this article, the author, who has been programming for forty years, reflects on their learnings. They discuss their evolution in terms of ergonomics and health, noting the shift from standard setups to ergonomic choices like a vertical mouse and the Magic Trackpad from Apple. They also detail their keyboard journey, highlighting customizable, wrist-friendly keyboards. The author recommends VIM-based editors, standing desks, stretching exercises, and rock climbing as ways to maintain health and productivity in a programming career.

fabiensanglard.net3 min read

MY PERSONAL C CODING STYLE AS OF LATE 2023

The author of this article reflects on significant changes in their C coding style and habits over the past year. They highlight various modifications, including the use of short names for primitive types, the adoption of a standardized set of macros, the elimination of null-terminated strings in favor of a custom string type, and the preference for structure returns over out parameters. Overall, the changes they highlight have improved productivity and code readability.

nullprogram.com9 min read

A HEALTHIER WAY TO OPEN SOURCE YOUR CODE

Open-source project maintainers face many challenges, including the burden of managing user expectations, answering questions, fixing bugs, and reviewing pull requests. Possible solutions for managing open-source projects include clearly stating the project's status, converting all open issues to discussions, blocking the creation of new issues, and unsubscribing from all notifications to reduce the mental and emotional toll on the maintainer. This author encourages sharing code without committing one's time and mental capacity to the entire project.

sapegin.me5 min read

04LAUNCHES & TOOLS

Sponsored

YOUR CLIENT’S BUSINESS

Trusted by the web’s biggest creators, Memberful is the easiest way to build a membership business. Memberful seamlessly integrates with the tools your clients already use like - WordPress, Mailchimp, Discord, and more - plus it includes a full-featured GraphQL API, webhooks, and OAuth Single Sign On. Your client's membership program should allow them to launch a new revenue stream without rebuilding their entire tech stack — Memberful makes that happen. Create your client's customized membership website now (free trial, no credit card required)

memberful.comSponsor

FETCHBOOK

Fetchbook is a command-line tool designed to help you manage your collections of HTTP requests. It is based on the standard RequestInit object and runs in TypeScript with bun.sh.

github.comGitHub repository

CRITICAL

Critical optimizes a webpage by inlining above-the-fold CSS.

github.comGitHub repository

05MISCELLANEOUS

STREAMING AT SCALE WITH KUBERNETES AND RABBITMQ

A technical lead on a streaming solution discusses the use of technologies like Kubernetes, RabbitMQ, and load balancers in managing the process of video streaming. They detail how videos are processed asynchronously, scaled using Kubernetes, and cached using a Content Delivery Network () to ensure smooth playback for users. Costs are optimized using on-demand instances called preemptible nodes.

alexandreolive.medium.com7 min read

MISCONCEPTIONS CAN KILL ACCESSIBILITY MOMENTUM

Achieving accessibility is difficult. To create accessible software, engineers need to take the time to learn how assistive technologies actually work. This article addresses a specific proposal related to focus behavior in UI elements and the potential issues it may bring. It underscores the complexity of accessibility and the need for careful consideration in implementing accessibility features.

yatil.net4 min read