TLDR Web Dev

TLDR WEB DEV 2024-12-02

5 sections13 entrieslinks blockcomplete parse

Parse notes

  • Subscription/account footer truncated before parsefooter_truncated

01ARTICLES & TUTORIALS

NIGHTMARES ON NPM: HOW TWO MALICIOUS PACKAGES FACILITATE DATA THEFT AND DESTRUCTION

Two malicious npm packages, transferwise-iconfont and protect-api, were recently discovered. The former exfiltrates sensitive data, while the latter obfuscates destructive code to delete system files. Malicious open-source packages use tactics like namespace mimicry, obfuscation, and delayed execution for attacks.

socket.dev4 min read

BUILDING A DISTRIBUTED LOG USING S3 (UNDER 150 LINES OF GO)

This blog post describes building a distributed log using Amazon S3 in Go by using S3's scalability and durability to avoid managing a distributed storage system. The log uses a simple append-only design, where each record is stored as a unique S3 object with a sequentially increasing offset, preventing duplicate entries via conditional writes. SHA-256 checksums are incorporated into each record for data integrity, while crash recovery is implemented by iterating through S3 objects to find the last written offset.

avi.im7 min read

KUBERNETES ON HETZNER

This developer migrated a self-managed Kubernetes cluster from DigitalOcean to Hetzner for a 75% reduction in infrastructure costs and a doubling of compute resources. The migration involved using Terraform and Puppet for infrastructure management, Tailscale for secure node access, and Hetzner's managed firewall and load balancer.

bilbof.com17 min read

02OPINIONS & ADVICE

15 LESSONS FROM 15 YEARS OF INDIE APP DEVELOPMENT

This indie iOS app developer has been able to keep up his 15-year indie app career by enjoying the development process, understanding personal motivations (beyond solely financial gain), and accepting the high-risk, high-reward nature of indie app development. Success is a marathon, not a sprint, and it requires perseverance to not give up too early.

lukaspetr.com14 min read

RAILS IS BETTER LOW CODE THAN LOW CODE

This author compares building a simple CRUD application using a low-code platform versus Ruby on Rails. Initially, the low-code platform is faster for creating a basic prototype, but adding features becomes increasingly difficult due to limitations and a lack of flexibility. Conversely, Rails, while initially slower, makes it much easier to accommodate unexpected feature requests and complex functionalities.

radanskoric.com7 min read

IF NOT REACT, THEN WHAT?

React and similar frontend frameworks, used incorrectly, can lead to performance and accessibility issues. It's important for devs to use performance metrics and user testing to guide their tech choices. This means that sometimes just pure HTML and CSS can do the job compared to needing JavaScript for something.

infrequently.org31 min read

03LAUNCHES & TOOLS

ADVENT OF CODE 2024

Advent of Code is a yearly Advent calendar that features daily programming puzzles suitable for various skill levels, solvable in any language. Devs can use it for practice, learning, or competition. No prior computer science background is required.

adventofcode.comTool

STEEL

Steel-browser is an open-source, containerized browser sandbox that provides a REST API for building AI agents and apps that interact with the web. It offers features like session management, proxy support, and integration with automation frameworks such as Puppeteer, Playwright, and Selenium.

github.comGitHub repository

04MISCELLANEOUS

HEADLESS, BONELESS, SKINLESS, & LIFELESS UI

There are four categories of UI abstractions: Headless UI, Boneless UI, Skinless UI, and Lifeless UI. Headless UI is a common term where the abstractions often have underlying functionality and structure. Boneless refers to UI libraries that provide composable styles but no markup. Skinless UIs provide functioning markup with no styling. Lifeless UI abstractions, like TanStack, offer typesafe hooks and logic without rendering actual UI elements, leaving the developer responsible for applying those functions to elements and styles.

nerdy.dev6 min read

OCTOVERSE: AI LEADS PYTHON TO TOP LANGUAGE AS THE NUMBER OF GLOBAL DEVELOPERS SURGES

GitHub's Octoverse 2024 report reveals a surge in global developer activity fueled in part by the rise of AI. Python surpassed JavaScript as the most popular programming language due to increased interest in data science and ML (thanks to AI). Regions like India, Africa, and Latin America have grown a lot. AI-powered tools are being used more often during development.

github.blog32 min read