TLDR Web Dev

TLDR WEB DEV 2024-02-08

6 sections19 entrieslinks blockcomplete parse

Parse notes

  • Subscription/account footer truncated before parsefooter_truncated

01GENERAL

Sponsored

POST/CON 24 - CLAIM YOUR EARLY-BIRD DISCOUNT

POST/CON 24 [5] is the place to be if you’re looking to hear from industry leaders, gain new skills, or engage with the global API community. And there’s a 50% discount if you sign up early [5]!

postman.comSponsor

02ARTICLES & TUTORIALS

A SEARCH ENGINE IN 80 LINES OF PYTHON

This post walks through how to build a search engine from scratch using Python. The project was motivated by the desire to address the "Small Website Discoverability Crisis" and make small websites more visible. The post walks through the key components of the search engine, including the crawler, inverted index, ranker, and interface, providing both theoretical descriptions and practical implementation details. The project is helpful for deepening one’s understanding of search engine mechanisms.

alexmolas.com26 min read

PG_ANALYTICS: TRANSFORMING POSTGRES INTO A FAST OLAP DATABASE

pg_analytics is a Postgres extension that significantly improves the analytical performance of Postgres databases by up to 94 times compared to traditional methods. It addresses the challenges faced by developers dealing with slow query times and poor data compression, offering a drop-in solution within Postgres itself. This post explains the technical workings of pg_analytics, explaining the introduction of deltalake tables and integration with Apache Arrow and Apache DataFusion.

blog.paradedb.com5 min read

HOW TO STREAM FILES FROM NEXT.JS ROUTE HANDLERS

We traditionally use a "public" folder to serve files in Node.js applications. However, this only works for static assets and doesn’t work for files like profile pictures, private files, or generated files - these files are served from an API and loaded into memory. This isn’t scalable when there are a lot of users. Instead, it’s useful to use a stream to return large files in chunks. This article looks at a couple of ways to achieve this using both Next.js API routes and also the more generic Route handlers.

ericburel.tech10 min read

03OPINIONS & ADVICE

HOW TO GET IN THE FLOW WHILE CODING (AND WHY IT’S IMPORTANT)

Many developers have experienced “flow state”: your ideas are flowing, time and space fade away, and the path ahead of you is clear. Achieving flow state is not only great for productivity, but also enhances dopamine and endorphins, resulting in an increased feeling of motivation, thinking ability, and general well-being. To better reach flow state, it’s helpful to optimize your environment, map out your work ahead of time, and find joy in the work that you’re doing.

github.blog8 min read

WHEN "LETTING IT CRASH" IS NOT ENOUGH

Once your app gets into an undesirable state, the best thing you can do is reset it and start from a fresh, well-known, and correct state. Erlang’s "let it crash" philosophy suggests resetting parts of an application upon failure. While effective, it requires developers to manually track and restore application states. Another approach, "durable execution," allows computation to run uninterrupted by storing minimal data for state reconstruction, making local variables resilient even through restarts.

flawless.dev3 min read

“WHEREVER YOU GET YOUR PODCASTS” IS A RADICAL STATEMENT

The phrase "wherever you find podcasts” highlights a stark contrast between podcasting and closed media platforms like YouTube or TikTok. Podcasting's open format empowers creators to control their content and audience relationships, enabling portability and resisting surveillance-based advertising. There are challenges in podcast economics, but podcasting is a beacon for the open web's renaissance and a model for reclaiming control in online spaces. Podcasting is similar to RSS feeds for blogs and newsletters.

anildash.com5 min read

04LAUNCHES & TOOLS

SQLITE WEB

SQLite Web is a web-based SQLite database browser written in Python. It lets developers add, drop, or edit tables, columns, rows, and indexes. SQLite Web works with both existing SQLite databases or can be used to create new ones. It allows for the import and export of both JSON and CSV files.

github.comGitHub repository

CONCRETE.CSS

Concrete.css is a simple, classless CSS framework. It offers styling for typography, sections, buttons, images, lists, forms, tables, blockquotes, and progress bars.

concrete.styleTool

MEOW

Meow is a CLI app helper. It can parse arguments, convert flags to camel case, negate flags with “--no-” prefixes, and output helpful descriptions and help text. Meow has no dependencies.

github.comGitHub repository

05MISCELLANEOUS

LESSONS LEARNED FROM PAYMENTS STARTUPS

While working at startups and moving fast, it’s important to use existing tools before adding new ones to avoid complexity. Software often changes fast at startups, so optimize software for change and focus on iteration, testing, and implementing a modular monolith approach. Store data in databases for easy querying, utilize decision logs, and employ continuous deployment practices for efficient software delivery.

pgrs.net13 min read

THE IDEAL PR IS 50 LINES LONG

The ideal size for small pull requests (PRs) is around 50 lines long. Smaller PRs are reviewed and merged faster, less likely to be reverted, and attract more review comments per line changed. Data from various repositories suggests that PRs between 25-100 lines offer optimal benefits across speed, review quality, and total code output. Extremely small PRs (under 25 lines) tend to have a higher revert rate, while very large PRs (over 10,000 lines) may receive less engagement and feedback.

graphite.dev5 min read

NEW LOCALLLM LETS YOU DEVELOP GEN AI APPS LOCALLY, WITHOUT GPUS

Google Cloud’s localllm enables developers to utilize LLMs on local CPUs without GPUs. Developers can use quantized models and Cloud Workstations for cheaper LLM usage and better privacy controls compared to online models like GPT-4.

cloud.google.com6 min read