TLDR Web Dev 2024-03-26

$100k for 10 lines of code šŸ¤Æ, Google TPUs explained šŸ–„, downsides of CSVs Ā šŸ’¾

šŸ§‘ā€šŸ’»
Articles & Tutorials

The problem with using a UUID primary key in MySQL (9 minute read)

This article goes through the different versions of UUIDs and why using them as a primary key in MySQL can hurt database performance. Using UUIDs as primary keys can lead to slow insert performance, higher storage requirements, and larger index size requirements (since secondary indexes also store primary keys). To mitigate these issues, UUIDs can be stored in a binary format or ordered using UUID v6 or v7.

What Happens on GitLab When You do git push? (12 minute read)

Git stores project history locally as objects and references (like branches). When you use 'git push', and your git remote is with GitLab, it sends these updates to a remote GitLab server. How you connect (SSH or HTTP(S)) determines the authentication method: SSH uses GitLab Shell for key-based verification, while HTTP(S) relies on Workhorse and Rails for authentication. Once authenticated, Gitaly takes over, managing your Git repository and executing 'git-receive-pack' to handle the incoming changes. Gitaly is used by GitLab to read and write Git data.

Low effort image optimization tips (8 minute read)

This is a tutorial on how to identify unoptimized images and how to optimize them to improve your web applicationā€™s performance. Developers should use modern formats like AVIF and WebP where possible and size their images properly to match their rendered dimensions. The `picture` element can be used with multiple image formats and resolutions for the browser to automatically select the best fit. Images below the fold should be lazy loaded.
šŸ§ 
Opinions & Advice

Friends don't let friends export to CSV (9 minute read)

CSV is a poor choice for storing and transferring tabular data due to its ambiguity, performance issues, and lack of compression. Apache Parquet is a better choice because it is self-describing, has excellent compression, and can be loaded efficiently.

How to build a career you enjoy as an engineer. What I wish someone told me when I started (8 minute read)

To progress in your career, focus on impactful projects that align with your skills and interests rather than settling for easy tasks. You should take control and proactively seek out high-impact projects that contribute to company goals and your own career development. These projects should challenge you and itā€™s easier to work on something challenging if itā€™s also work that is meaningful to you, aligns with your strengths, and has a significant impact on your company. When you find an area you excel in, invest time and energy to become an expert and the go-to in that area.

From full-stack development to systems programming (5 minute read)

This developer describes their career journey, shifting from full-stack development to specializing in systems programming. They discovered a passion for the technical depth of systems programming through projects focused on network protocols, tooling, and performance optimization. As their focus changes, they wonder whether it's possible to be both a generalist and a specialist.
šŸš€
Launches & Tools

InvertOrNot (Website)

InvertOrNot is a free, open-source API that predicts if an image should be inverted for optimal dark-mode rendering.

Jampack (GitHub Repo)

Jampack optimizes static websites for the best user experience and Core Web Vitals scores.

Mountaineer (GitHub Repo)

Mountaineer is a web framework for building Web applications using Python.
šŸŽ
Miscellaneous

Why I Charge a $100,000 Software Licensing Fee For 10 Lines of Code (3 minute read)

This developer creates novel, fundamental algorithms and data structures designed to solve specific computing challenges and improve performance. Unlike common open-source models, they license these algorithms with a fee for use in closed-source projects, allowing them to make a lot of money from organizations that can easily afford it.

RIP Redis: How Garantia Data pulled off the biggest heist in open source history (6 minute read)

The recent Redis license change by Redis Labs (aka Garantia Data) is a harmful move that disregards the contributions of the wider Redis community. Garantia Data didn't create Redis. Redis was initially an independent open-source project and Garantia Data only became involved years after its creation. Redisā€™ widespread adoption was thanks to the open-source community and Amazonā€™s ElastiCache, not due to the company itself.

Google's First Tensor Processing Unit - Architecture (12 minute read)

Google designed the TPU v1 for fast, cost-effective inference using trained neural network models at scale. Its key feature is a focus on tensor operations, specifically matrix multiplications, which are core to neural network computations. The TPU v1 is 15-30x faster than contemporary CPUs/GPUs for inference. It has 25-29x better performance per watt than GPUs.
āš”ļø
Quick Links

The Allure of Local-First Sync Engines (2 minute read)

Local-first sync engines revolutionize data management the way React transformed DOM manipulation: both shift from manually writing instructions (imperative) to simply declaring the desired state (declarative), with the engine handling the 'how' of syncing or rendering changes.

Newly senior engineer, but I donā€™t feel senior. I have big gaping holes with regard to how to structure/refactor code and build systems (Reddit Thread)

Understanding the scope of what you donā€™t know is an important part of the senior mindset. Seniors should focus on their strengths while working to fill in their gaps.

When Apple considered buying Bing (6 minute read)

Apple executives discussed buying or partnering with Microsoft Bing, but they had concerns about its smaller market share and potential challenges in catching up to Google's dominance.

Two open source projects with great documentation (8 minute read)

esbuild and Redis are examples of open-source projects with great documentation that includes READMEs, architecture explanations, changelogs, and code comments.
Get our free, 5-minute newsletter read by 350,000 frontend, backend, and full stack developers
Join 300,000 readers for