TLDR Web Dev

TLDR WEB DEV 2024-12-19

5 sections15 entrieslinks blockcomplete parse

Parse notes

  • Subscription/account footer truncated before parsefooter_truncated

01ARTICLES & TUTORIALS

INTRODUCING TANSTACK START

TanStack Start is a new meta-framework that adds a thin server layer to TanStack Router, enabling server-side rendering without sacrificing Router's functionality. Unlike other meta-frameworks, Start avoids performance issues by using isomorphic loaders, which run on both the server (for initial load) and the client (for subsequent navigations), using client-side state and caching. This approach solves the "impedance mismatch" between server-side data loading and client-side state management, preventing unnecessary data refetches.

frontendmasters.com19 min read

OPTIMIZING RUBY'S JSON, PART 1

This developer improved the performance of Ruby's json gem, making it the fastest JSON parser and generator in many benchmarks. These improvements actually weren't that complex, as most of them came from simple optimizations discovered through profiling and focusing on areas like redundant UTF-8 checks and inefficient buffer allocation.

byroot.github.io17 min read

HOW WE THINK ABOUT THREADS' IOS PERFORMANCE

The Threads iOS team prioritized performance to maintain a positive user experience during the app's rapid growth, tracking key metrics like image load times (%FIRE), content delivery speed (TTNC), and post success rate (cPSR). They reduced app size, used a new latency measurement tool (SLATE), and implemented features like Drafts for better reliability. A boundary test revealed the negative impact of navigation latency on user engagement, highlighting the importance of quick loading times.

engineering.fb.com18 min read

02OPINIONS & ADVICE

A SIMPLE PROGRAMMING PRODUCTIVITY TRICK: LEAVE WORK UNFINISHED TO REACH FLOW

Leave work slightly unfinished in order to reach a productive “flow state” easier the next day. Learn keyboard and mouse shortcuts, maintain a list of common commands and references, and learn to say “no” more often. This includes saying “no” both in terms of choosing technology and tasks that align with your goals and priorities

read.engineerscodex.com5 min read

MENTORING SOFTWARE ENGINEERS OR ENGINEERING LEADERS

Mentoring is valuable for professional growth. A few different approaches to finding mentors include seeking internal mentors at large companies, considering paid coaches for engineering leaders at smaller companies, and connecting with experienced individuals both in-person and online. Mentoring doesn't have to be formal and structured, as even informal mentorship can be valuable and initiated by simply asking someone you admire for their time and advice.

blog.pragmaticengineer.com18 min read

03LAUNCHES & TOOLS

MUSOQ

Musoq is an open-source project that provides SQL-like querying capabilities for data sources like files, databases, and APIs without the need for a traditional database. It's designed for efficient ad-hoc querying of smaller to medium-sized datasets and has plugins for various data sources (filesystem, Git, JSON, AI models, etc.).

github.comGitHub repository

BASE UI

Base UI is a set of 25 unstyled React components that are easily installable via npm. They can be animated using CSS transitions, CSS animations, or JavaScript animation libraries.

base-ui.comTool

04MISCELLANEOUS

THE RAM MYTH

The article challenges the common misconception that modern computer memory behaves like ideal random-access memory, arguing that this assumption leads to inefficient data sharding algorithms. For large datasets, a seemingly slower algorithm using radix sort, which prioritizes ordered memory access, outperforms the standard approach. This improvement is from reducing cache misses, shown by code examples and benchmarks that demonstrate speedups from 2.5x to 9x.

purplesyringa.moe7 min read

JAVA IN THE SMALL

Java can be used for small programming tasks, as recent language features have improved its suitability for scripting. Modern Java allows for launching `.java` files directly without explicit compilation or JAR creation. Java's standard library lacks JSON and command-line processing - tools like JBang and third-party libraries can help with this.

horstmann.com14 min read