Programmer Weekly (Issue 230 November 7 2024)

Programmer Weekly - Issue 230

Programmer Weekly

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

From Our Sponsor

Join Oso for a deep dive on How Google handles Authorization at scale. You'll learn how Google built its own Relationship-based authorization system called Zanzibar. Plus, the key tradeoffs of building a system like this for your own application vs. using an Authorization as a Service like Oso.

Quote of the Week

 

"With good program architecture debugging is a breeze, because bugs will be where they should be." - David May

News

The Octoverse 2024 report highlights significant growth in global developer activity on GitHub, with Python overtaking JavaScript as the most popular language and a surge in AI-related projects. The report also notes rapid expansion of developer communities worldwide, particularly in regions like India, Brazil, and Nigeria, with India projected to have the largest developer population on GitHub by 2028.

An ongoing attack is uploading hundreds of malicious packages to the open source node package manager (NPM) repository in an attempt to infect the devices of developers who rely on code libraries there, researchers said.

Reading List

The article discusses how modern software development often involves using complex tools and frameworks that can lead to overengineering and unnecessary complexity. The author advocates for a simpler approach, emphasizing the importance of understanding fundamental programming concepts and using minimal, efficient solutions to solve problems effectively.

In this article, we'll explore the most common sources of unnecessary packages in production container images. Once the problem is clear, we'll see how using Multi-Stage Builds can help produce slimmer and more secure images. Finally, we'll practice restructuring Dockerfiles for some popular software stacks - both to better internalize the new knowledge and to show that often, just a little extra effort can yield a significantly better image.

The article discusses the author's experience learning 42 programming languages to build a new syntax highlighter for llamafile, highlighting unusual and surprising syntax features across various languages. It provides insights into the challenges of implementing a syntax highlighter and explores unique lexical elements in languages like C, JavaScript, Kotlin, Swift, and COBOL, demonstrating the complexity and diversity in programming language design.

A guide to using Codapi, an open source, lightweight solution to add interactivity to your technical writing.

A step-by-step guide with my learnings from 30+ AI implementations.

This article explores Postgres' memory management system using MemoryContexts by building a simple HTTP server as a Postgres extension. It demonstrates how to use nested memory arenas for efficient memory allocation and deallocation, focusing on the implementation of route registration, request handling, and connection management.

The article demonstrates how to build a simple database system using Linux command-line tools and text files, offering an alternative to traditional SQL databases. It explains how to create, query, and manipulate data using commands like grep, awk, sort, and join, showing how these tools can replicate basic database operations for tasks such as creating tables, selecting data, and joining related information.

Watch and Listen

Andrea Giammarchi discusses PyScript, a project to run Python code in the browser using WebAssembly. He talks about creating the LinkedDOM library to have a DOM API in Node.js, how WebAssembly enables running languages besides JS in browsers, and potential improvements like a central garbage collector.

Pony is a programming language designed to achieve C-level performance in actor-based systems by addressing the challenge of balancing performance and memory management. It introduces a novel approach called reference capabilities, which enables high-performance actor programming with efficient memory management and a garbage collector without stop-the-world pauses.

This course covers everything you need to contribute meaningfully to existing open-source software projects.

Interesting Projects, Tools and Libraries

Open-Source Web Automation library with any LLM.

Create rich visualizations with AI.

Stream, transform, and route PostgreSQL data in real-time. 

LLQL is a tool that allow you to run SQL-like query with Pattern matching functions inspired by LLVM InstCombine Pattern Matchers on LLVM IR/Bitcode files.

Iceberg/Delta Columnstore Table in Postgres.

An open source, serverless framework for building intelligent functions and APIs, powered by WebAssembly.

Automatable GenAI Scripting.

A simple LLM client for Emacs.

Free to host and open-source cal.com / calendly alternative built on Google-Apps-Script for Gmail users.

A comprehensive Docker-based media server stack with automated management, monitoring, and organization.

rallyup is a lightweight Wake-On-LAN (WOL) scheduler and dependency manager designed for small businesses and homelabs. 

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.