Programmer Weekly - Programmer Weekly - Issue 223

View this email in your browser

Programmer Weekly

Welcome to issue 223 of Programmer Weekly. Let's get straight to the links this week.

Quote of the Week 

"It's tempting to write a long complicated expression instead of two or three shorter ones where the intermediate results are stored in variables. But then every time you look at the long expression you have to pause for a moment to remember what is going on." – Mark Dominus


Reading List

Why GitHub Actually Won
This is an article about why GitHub became the dominant code hosting platform. It discusses the history of GitHub, including its founding and early growth. The article also details some of the technical reasons why GitHub is superior to other code hosting platforms.

Safe C++
SafeC++ is a proposed superset of C++ that aims to provide memory safety guarantees similar to Rust, while maintaining compatibility with existing C++ code. It introduces new features like borrow checking, safe containers, and an opt-in safety model to prevent common security vulnerabilities in C++ programs.

Governing data products using fitness functions
Decentralized data management requires automation to scale governance effectively. Fitness functions are a powerful automated governance technique we've applied to data products within the context of a Data Mesh. Since data products serve as the foundational building blocks (architectural quanta) of a data mesh, ensuring robust governance around them significantly increases the chances of a successful data mesh transformation. In this article, we’ll explore how to implement this technique. We'll start by designing simple tests to assess key architectural characteristics of a data product, and then we'll explore how to automate their execution by leveraging metadata about the data products.

Building LLM-powered applications in Go
The post discusses building LLM-powered applications in Go, highlighting Go's strengths in handling REST and RPC protocols, concurrency, and performance, which are crucial for LLM integration. It presents three variants of a RAG (Retrieval Augmented Generation) server implementation in Go, using direct API calls, LangChainGo, and Genkit, demonstrating Go's versatility in creating efficient LLM-powered applications.

Look out, kids: PHP is the new JavaScript 
The article humorously recounts the author's journey from PHP to JavaScript and back, highlighting Laravel's role in revitalizing PHP's appeal. It showcases Laravel's ease of use and comprehensive features through a hands-on example of building a video player app, suggesting that PHP, particularly with Laravel, is experiencing a resurgence in popularity among developers.

Unlock 1 Million RPS: Experience Triple the Speed with Valkey - part 2
Valkey improved its performance to over 1.19 million requests per second by implementing memory access amortization, which reduces the impact of external memory latency. The technique involves interleaving memory access operations and prefetching, allowing for more parallel memory accesses and better utilization of the processor's speculative execution capabilities.

Why is language documentation still so terrible?
The article criticizes the poor quality of many programming language documentations, highlighting issues like poor organization, lack of search functionality, and inadequate explanations. It praises Rust's documentation as exemplary and suggests other languages should emulate its comprehensive, user-friendly approach, while providing specific critiques of Python, C#, Java, C/C++, Go, and JavaScript documentation.

Should we decompose our monolith?
The article discusses the strategy for managing service architecture in a theoretical company, emphasizing a policy of maintaining business unit-specific monoliths over microservices. It explores the challenges of balancing business growth, efficiency, and technical constraints while providing guidelines for service integration, new service creation, and consolidation of existing services into monoliths.

Engineers Do Not Get To Make Startup Mistakes When They Build Ledgers
The article recounts the author's experience at a fintech startup that made critical accounting errors due to not implementing a proper double-entry ledger system, resulting in "dancing cents" and customer frustration. It then provides a comprehensive overview of how to design and implement a robust double-entry ledger system for fintech applications, emphasizing the importance of proper accounting practices in engineering financial software.

How We Made PostgreSQL Upserts 300x Faster on Compressed Data
Read how we made upsert performance 300x faster on compressed data by moving from PostgreSQL sequential scans to index scans.

Optimising for High Latency Environments
The article discusses strategies for optimizing web performance in high-latency environments, focusing on reducing round-trip times and leveraging modern protocols. It covers techniques such as using CDNs, upgrading to HTTP/2 and HTTP/3, implementing TLS 1.3, avoiding unnecessary connections and redirects, and utilizing caching strategies to mitigate the impact of high latency on web applications.


Watch and Listen

GPUs, from Simulation to Encryption
This podcast episode explores diverse applications of GPUs beyond graphics rendering, featuring Agnès Leroy's career experiences in GPU programming and optimization. It covers a range of GPU uses, from simulating fluid dynamics in hydroelectric power stations to accelerating novel encryption methods, showcasing the versatility of GPUs in complex computational tasks.

Is Tauri the Electron Killer?
Daniel Thompson discusses Tauri, a framework for building small, fast and secure desktop and mobile apps using Rust and webviews instead of Electron. Key topics include improvements in version 2 like mobile support, the plugin system, and custom web views, the release cycle and future roadmap, and designing in the age of AI.

Securing API Servers
Learn key concepts for keeping API servers secure – from CORS to error handling to rate limiting and more. 

Terraform Crash Course for Absolute Beginners | Learn Infrastructure as Code
This Terraform crash course for beginners covers essential concepts like state management, drift detection, and building IaC projects on AWS. By the end, participants gain hands-on experience in using Terraform to automate and manage infrastructure across cloud and on-premises environments.


Interesting Projects, Tools and Libraries

FAIR
A Go library for serving resources fairly.

grgry
A CLI tool designed to perform git operations en masse, allowing you to bulk execute git commands across multiple repositories.

RaspberryPi_WebRTC
Turn your Raspberry Pi into a low-latency home security camera using the v4l2 DMA hardware encoder and WebRTC.

FlowTracker
Track data flowing through Java programs, gain new understanding at a glimpse.

Linutil
Linutil is a distro-agnostic toolbox designed to simplify everyday Linux tasks.

fast-grid
World's most performant DOM-based web table.

Tansu
Tansu is an Apache Kafka API compatible broker with a Postgres storage engine. 

kty
The terminal for Kubernetes.
 
Our Other Newsletters
Python Weekly - A free weekly newsletter featuring the best hand curated news, articles, tools and libraries, new releases, jobs etc related to Python.

Founder Weekly - A free weekly newsletter for entrepreneurs featuring best curated content, must read articles, how to guides, tips and tricks, resources, events and more.
Copyright © 2024 Programmer Weekly, All rights reserved.
You are receiving our weekly newsletter because you signed up at http://www.ProgrammerWeekly.com

Our mailing address is:
Programmer Weekly
Brooklyn
Brooklyn, NY 11228

Add us to your address book


Want to change how you receive these emails?
You can update your preferences or unsubscribe from this list.

Older messages

Programmer Weekly - Issue 222

Thursday, September 12, 2024

View this email in your browser Programmer Weekly Welcome to issue 222 of Programmer Weekly. Let's get straight to the links this week. Quote of the Week "Referential transparency is a very

Programmer Weekly - Issue 221

Thursday, September 5, 2024

View this email in your browser Programmer Weekly Welcome to issue 221 of Programmer Weekly. Let's get straight to the links this week. Quote of the Week "Just as it is a good practice to make

Programmer Weekly - Issue 220

Thursday, August 29, 2024

View this email in your browser Programmer Weekly Welcome to issue 220 of Programmer Weekly. Let's get straight to the links this week. Quote of the Week “It is far easier to design a class to be

Programmer Weekly - Issue 219

Thursday, August 22, 2024

View this email in your browser Programmer Weekly Welcome to issue 219 of Programmer Weekly. Let's get straight to the links this week. Quote of the Week "Be careful to preserve the

Programmer Weekly - Issue 218

Tuesday, August 20, 2024

View this email in your browser Programmer Weekly Welcome to issue 218 of Programmer Weekly. Let's get straight to the links this week. Quote of the Week "Get out of the way of your developers

You Might Also Like

💻 Issue 435 - Microsoft Introduces Modern Web App Pattern for .NET: Accelerating App Modernization to the Cloud

Thursday, November 7, 2024

This week's Awesome .NET Weekly Read this email on the Web The Awesome .NET Weekly Issue » 435 Release Date Nov 07, 2024 Your weekly report of the most popular .NET news, articles and projects

💎 Issue 442 - Low-poly image generation using evolutionary algorithms in Ruby

Thursday, November 7, 2024

This week's Awesome Ruby Newsletter Read this email on the Web The Awesome Ruby Newsletter Issue » 442 Release Date Nov 07, 2024 Your weekly report of the most popular Ruby news, articles and

💻 Issue 437 - Feds: Critical Software Must Drop C/C++ by 2026 or Face Risk

Thursday, November 7, 2024

This week's Awesome Rust Weekly Read this email on the Web The Awesome Rust Weekly Issue » 437 Release Date Nov 07, 2024 Your weekly report of the most popular Rust news, articles and projects

💻 Issue 442 - JavaScript's ??= Operator

Thursday, November 7, 2024

This week's Awesome JavaScript Weekly Read this email on the Web The Awesome JavaScript Weekly Issue » 442 Release Date Nov 07, 2024 Your weekly report of the most popular JavaScript news, articles

📱 Issue 436 - iOS 18.1: Take a Hearing Test with AirPods Pro 2

Thursday, November 7, 2024

This week's Awesome iOS Weekly Read this email on the Web The Awesome iOS Weekly Issue » 436 Release Date Nov 07, 2024 Your weekly report of the most popular iOS news, articles and projects Popular

📱 Issue 439 - GitHub Copilot for Xcode is now available! ✈️ Am I late to talk about this ? 😅

Thursday, November 7, 2024

This week's Awesome Swift Weekly Read this email on the Web The Awesome Swift Weekly Issue » 439 Release Date Nov 07, 2024 Your weekly report of the most popular Swift news, articles and projects

💻 Issue 360 - Why Virtual DOM: Faster Rendering and Performance

Thursday, November 7, 2024

This week's Awesome React Weekly Read this email on the Web The Awesome React Weekly Issue » 360 Release Date Nov 07, 2024 Your weekly report of the most popular React news, articles and projects

💻 Issue 442 - Node.js Frameworks Roundup 2024 — Elysia / Hono / Nest / Encore — Which should you pick?

Thursday, November 7, 2024

This week's Awesome Node.js Weekly Read this email on the Web The Awesome Node.js Weekly Issue » 442 Release Date Nov 07, 2024 Your weekly report of the most popular Node.js news, articles and

💻 Why I Still Buy Hard Drives for My PC — Avoid Filling Your iPhone Up With Screenshots

Thursday, November 7, 2024

Also: Perfecting Your PlayStation 5 Remote Play Setup, and More! How-To Geek Logo November 7, 2024 Did You Know It's not the coloration or flavor that gives grapefruit its name, but the way that

JSK Daily for Nov 7, 2024

Thursday, November 7, 2024

JSK Daily for Nov 7, 2024 View this email in your browser A community curated daily e-mail of JavaScript news Unveiling the New Angular 3D Circular Charts Component The Angular 3D Circular Charts