- Programmer Weekly
- Posts
- Programmer Weekly (Issue 232 November 21 2024)
Programmer Weekly (Issue 232 November 21 2024)
Programmer Weekly - Issue 232
Programmer Weekly
Welcome to issue 232 of Programmer Weekly. Let's get straight to the links this week.
Quote of the Week
"Writing software is a very intense, very personal thing. You have to have time to work your way through it, to understand it. Then debug it." - Vint Cerf
Reading List
After discovering the SQLite file format and implementing the .tables command in part 1 and part 2 of this series, we're ready to tackle the next big challenge: writing our own SQL parser from scratch.
LinkedIn's infrastructure scales with design patterns like Producer-Consumer to handle complex systems efficiently. This pattern powers distributed systems for server queries, console monitoring, and network security by enabling independent scalability, concurrency, and extensibility while prioritizing simplicity and reusable solutions.
The article describes how to use git bisect to efficiently locate the source of a regression bug in a large codebase. By performing a binary search through commits between known "good" and "bad" versions, the author narrowed down the culprit from 2,088 potential commits to the exact one in just 11 steps1
The outbox pattern remains a popular solution for reliable data exchange between microservices, allowing services to update local data and send notifications via platforms like Kafka. However, concerns about potential database bottlenecks and alternative approaches like "listen-to-yourself" have emerged, prompting a reevaluation of the pattern's relevance and implementation in 2024.
Musings about async await again and why I think virtual threads are a better model.
The article provides a guide on importing JavaScript libraries without using a build system, focusing on three main types of JavaScript files: classic global variable, ES Modules, and CommonJS. It explains how to identify and use each type, offering practical examples and methods for importing libraries in a no-build-system setup for frontend development.
This document aims to improve readers' skills in prompting post-trained LLMs, assuming basic familiarity with LLM interactions. It is divided into two parts: the first half offers conceptual frameworks for understanding post-training and prompting, while the second half provides practical guidance on prompt tuning, though this section may become outdated more quickly due to rapid advancements in LLM technology.
Watch and Listen
Multi-tier programming allows developers to build multiple layers of a distributed application within a single program, which can then be compiled into independently-deployable units. The talk explores how this concept could be applied to Kubernetes development, presenting a prototype "Kubernetes compiler" that transforms monolithic code into distributed applications running on Kubernetes.
What have we learned from more than a decade of deploying microservices? Was it a good idea? Are we any better at figuring out what a microservice is, or where its boundaries lie? Does splitting things up create fragmentation problems? And is it too late to put the genie back in the bottle? This week we’re going to look at all these questions and more as we reflect on the lessons learnt from this big architectural idea.
Even if you've never used Nginx before, this crash course will get you up to speed with a simple real-life demo project!
Firebase's new demo videos showcase how tools like Genkit, Vertex AI, and Gemini empower developers to integrate AI features, monitor performance, and enhance app experiences. Using the Compass travel app, the series demonstrates features like smart itineraries, AI chatbots, and personalized recommendations.
Interesting Projects, Tools and Libraries
Interactive find and replace in the terminal.
Modular and efficient approach to web development in C.
View 3d Models in your Terminal.
It provides a high-performance computer vision processing engine that is designed to be customized and extended using WebAssembly.
An LLM-powered programming-by-example programming language.
A fast application config manager.
Time series analysis for Rust, with bindings to Python and Javascript.
Our Other Newsletters
- A free weekly newsletter featuring the best hand curated news, articles, tools and libraries, new releases, jobs etc related to Python.
- A free weekly newsletter for entrepreneurs featuring best curated content, must read articles, how to guides, tips and tricks, resources, events and more.