TLDR Web Dev

TLDR WEB DEV 2024-03-25

5 sections16 entrieslinks blockcomplete parse

Parse notes

  • Subscription/account footer truncated before parsefooter_truncated

01ARTICLES & TUTORIALS

OPTIMIZING JAVASCRIPT FOR FUN AND FOR PROFIT

This is a summary of common JavaScript optimization techniques and ways to benchmark performance. Some common practices that can actually hurt performance include string comparison, operating on objects of different shapes, and array/object methods like map, reduce, and filter.

romgrk.com24 min read

DESIGNING A PURE PYTHON WEB FRAMEWORK

Reflex is a Python-based web framework where apps are built using composable Python functions as components. Under the hood, it compiles frontend code into a React app and backend logic into a FastAPI server. State and logic are defined in a Python State class, bridging event handling and communication between the frontend and backend. Reflex uses WebSockets to send events from the frontend to the backend and update state accordingly.

reflex.dev9 min read

HOW WE BUILT A CUSTOM PERMISSIONS DSL AT FIGMA

Figma had a complex permissions setup, the implementation of which was causing tech debt, bugs, and delays. After not finding any open source answers, its team built a cross-platform DSL (domain specific language) that isolated policies and data while improving performance, accuracy, and developer ergonomics. This is a good case study on problem discovery and building an MVP all the way to a performant and long-lasting solution.

figma.com22 min read

02OPINIONS & ADVICE

PEOPLE WHO HAVE MADE THE JUMP FROM "SENIOR" TO "STAFF" DEV, HOW IS IT WORKING OUT? (REDDIT THREAD)

Staff engineers generally code less than senior engineers and instead need to show impact on an organizational level. This means that the scope of work is often vague and staff engineers have to spend more of their time building cross-functional relationships and getting people excited about their ideas. While they occasionally code, most of their technical work is at a higher level, like architecture and design.

reddit.com

PROGRAMMERS ARE BAD AT MANAGING STATE

The age-old tech support advice, "turn it off and on again," is surprisingly effective because it resets programs to a known good state. Software complexity makes it impossible to anticipate every possible state or interaction a user might encounter. Solutions like dedicated uninstaller programs and browser "refresh" features offer users an easy way to reset state. Most software programs for users should provide a way to reset state as a way to deal with unforeseen bugs.

nolanlawson.com4 min read

WHY I LOVE THE WAY C++ SUCKS

C++ has a reputation for being confusing, but it can still be enjoyable due to its powerful type system and other features. C++'s '=' syntax can have nuanced behavior, allowing for fine-grained, flexible control over how objects interact. Since C++ is so verbose and specific, the possibilities for programming in C++ are endless.

jstefanelli.com13 min read

03LAUNCHES & TOOLS

OPENDEVIN

OpenDevin is an open-source project aiming to replicate Devin, the recently-unveiled AI software engineer capable of executing engineering tasks.

github.comGitHub repository

ONEREPO

oneRepo provides JavaScript and TypeScript monorepo management tools. It handles common tasks automatically, has strict safety and checks, and provides human-readable output for logs.

onerepo.toolsTool

MONOLITH

Monolith is a CLI tool for saving complete web pages as a single HTML file.

github.comGitHub repository

04MISCELLANEOUS

ASK HN: HOW COMMON IS DEVELOPER BURNOUT? HAVE YOU EVER BEEN BURNT OUT? (HACKER NEWS THREAD)

Developer burnout occurs for different reasons, depending on the person. For some people, they don’t mind working long hours as long as they are passionate about the work they are doing. Others find that money or status doesn’t matter to them as long as they have great coworkers, a short commute, and work that ends at the same time every day.

news.ycombinator.com

HOW I REDUCED (INCREMENTAL) RUST COMPILE TIMES BY UP TO 40%

Frustrated by slow Rust compile times, this author modified the Rust compiler (rustc) to cache procedural macro expansions. They focused on improving incremental build times, which yielded 11-40% faster incremental builds in real-world projects.

coderemote.dev3 min read