TLDR Web Dev

TLDR WEB DEV 2024-03-15

5 sections17 entrieslinks blockcomplete parse

Parse notes

  • Subscription/account footer truncated before parsefooter_truncated

01ARTICLES & TUTORIALS

HOW FIGMA'S DATABASES TEAM LIVED TO TELL THE SCALE

Figma's database team had to deal with hypergrowth that was starting to outpace their database's capacity. To address this, they first focused on vertical partitioning, which bought them time but was not a long-term solution. They then embarked on a complex nine-month project to implement horizontal sharding, tailoring their approach to Figma's specific needs. To manage their horizontally sharded databases, they built a service in Golang to support load-shedding, transaction support, database topology management, and more.

figma.com20 min read

COMPARING JAVASCRIPT FRAMEWORKS PART 1: TEMPLATES

This is a thorough comparison of the template languages used by React, Vue, Angular, and Svelte. It looks at how the frameworks define and use components, event handling, and more advanced techniques like slotting. While all four frameworks can do everything that was tested, React still feels most natural to the author.

maartenhus.nl30 min read

HTTP/2 AND HTTP/3 EXPLAINED

HTTP is the backbone of the web, and it is constantly evolving. HTTP/1.1 introduced persistent connections and headers for better efficiency. HTTP/2 improved performance with multiplexing (sending multiple requests over one connection) and binary formatting. HTTP/3 is built on the QUIC protocol for enhanced performance on unstable networks, overcoming issues with TCP and TLS. Currently, both HTTP/2 and HTTP/3 are widely used.

alexandrehtrb.github.io7 min read

02OPINIONS & ADVICE

THE CURSE OF THE SENIOR SOFTWARE ENGINEER

Staying in a senior position for too long can hinder your future job prospects. This is known as the "Curse of the Senior Software Engineer" – you become too experienced for typical Senior roles, but lack the leadership experience necessary for higher-level positions. To avoid this curse, either proactively pursue promotions and leadership opportunities within your company or seek out companies that offer less structured career paths.

yieldcode.blog11 min read

WHY SOFTWARE PROJECTS FAIL

Software projects often fail due to hidden complexities and human factors rather than technical shortcomings. Overconfident developers can underestimate task complexity and the challenges of using new technologies or third-party dependencies. Inexperienced managers may prioritize personal ambitions over project success, lack firm leadership, or cave to every change imposed by higher-ups. Projects can become zombies, draining resources without delivering value, as stakeholders become reluctant to admit defeat due to fear or embarrassment.

vadimkravcenko.com10 min read

QUIETLY GOING INSANE WITH TOOLS & AUTOMATION

This author started a project of automating a simple Unreal Engine task, but it quickly spiraled into an overly complex solution. His first attempt was a PowerShell script to delete specific project folders, but this evolved into a full-blown Windows installer using GitHub Actions to build a release. Eventually, he decided to use the language Zig to build an executable for the script, but Zig’s low-level nature proved hard to work with.

jerkytreats.dev12 min read

03LAUNCHES & TOOLS

PSD

PSD is a lightweight parser for Adobe Photoshop PSD and PSB files. It can be used both in web browsers and Node.js, uses WebAssembly to speed up decoding image data, and pulls in zero dependencies.

github.comGitHub repository

LAVAGUE

LaVague is a framework that transforms natural language instructions into browser interactions.

github.comGitHub repository

SKYVERN

Skyvern automates browser-based tasks using LLMs and computer vision. It is able to handle unfamiliar websites and changes in website layout without breaking.

github.comGitHub repository

04MISCELLANEOUS

ONBOARDING ROULETTE: DELETING OUR EMPLOYEE ACCOUNTS DAILY

While automated testing is crucial for quality software and preventing regressions, complex features can be difficult and time-consuming to test, leading to situations where teams prioritize building features over writing robust tests. In cases like this, developers should consider alternative strategies like canary releases, beta testing, and dogfooding. The startup in this article decided to start automatically deleting an engineer's account daily. This forced them to experience the onboarding process firsthand, uncovering bugs and building empathy for the user experience.

graphite.dev6 min read

THE MESSY REALITY BEHIND A SILICON VALLEY UNICORN

A VC-funded startup aiming to disrupt the local services industry experienced rapid growth fueled by pressure from investors. To keep up with demand, the company hired Filipino contractors to perform routine tasks that software could technically handle. This allowed engineers in San Francisco to focus on strategic initiatives and experimentation, leading to significant user growth. The story highlights how automation is not necessarily a reality for a lot of engineering companies today.

spectrum.ieee.org12 min read

WINNING A HACKATHON, LOSING MY SANITY

Students created a "Spotify Wrapped" for student dining habits for a hackathon by scraping data from Tufts University's outdated meal plan portal. The project found numerous security flaws in the portal's design, for example, session keys were stored in URL parameters and guest access permissions were easily circumvented.

jero.zone7 min read