Programmer Weekly - Programmer Weekly - Issue 230

View this email in your browser

Programmer Weekly

Welcome to issue 230 of Programmer Weekly. Let's get straight to the links this week.
From Our Sponsor
 
  How Google handles authorization at scale
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

Octoverse: AI leads Python to top language as the number of global developers surges
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.

Hundreds of code libraries posted to NPM try to install malware on dev machines
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

I Waited 10 Billion Cycles and All I Got Was This Loading Screen
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.

How to Build Smaller Container Images: Docker Multi-Stage Builds
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.

Weird Lexical Syntax
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.

Making Code Examples Interactive with Codapi
A guide to using Codapi, an open source, lightweight solution to add interactivity to your technical writing.

Creating a LLM-as-a-Judge That Drives Business Results
A step-by-step guide with my learnings from 30+ AI implementations.

Exploring Postgres's arena allocator by writing an HTTP server from scratch
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.

Linux Built-In Tools Are So Powerful, You Can Build a Database With Them. Here's How
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

There's Python in my JavaScript! 
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: High-Performance, Memory-Safe Actors
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.

Contributing To Open Source – Beginner's Guide
This course covers everything you need to contribute meaningfully to existing open-source software projects.


Interesting Projects, Tools and Libraries

browser-use
Open-Source Web Automation library with any LLM.

data-formulator
Create rich visualizations with AI.

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

LLQL
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.

pg_mooncake
Iceberg/Delta Columnstore Table in Postgres.

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

GenAIScript
Automatable GenAI Scripting.

gptel
A simple LLM client for Emacs.

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

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

rallyup
rallyup is a lightweight Wake-On-LAN (WOL) scheduler and dependency manager designed for small businesses and homelabs. 
 
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 229

Thursday, October 31, 2024

View this email in your browser Programmer Weekly Welcome to issue 229 of Programmer Weekly. Let's get straight to the links this week. Quote of the Week "Writing in C or C++ is like running a

Programmer Weekly - Issue 228

Thursday, October 24, 2024

View this email in your browser Programmer Weekly Welcome to issue 228 of Programmer Weekly. Let's get straight to the links this week. Quote of the Week "Deprecate yourself. Don't be the

Programmer Weekly - Issue 227

Sunday, October 20, 2024

View this email in your browser Programmer Weekly Welcome to issue 227 of Programmer Weekly. Let's get straight to the links this week. Quote of the Week "The mark of a mature programmer is

Programmer Weekly - Issue 225

Thursday, October 3, 2024

View this email in your browser Programmer Weekly Welcome to issue 225 of Programmer Weekly. Let's get straight to the links this week. Quote of the Week "What matters for simplicity is that

Programmer Weekly - Issue 224

Thursday, September 26, 2024

View this email in your browser Programmer Weekly Welcome to issue 224 of Programmer Weekly. Let's get straight to the links this week. Quote of the Week "Programmers regard themselves as

You Might Also Like

Data Science Weekly - Issue 579

Thursday, December 26, 2024

Curated news, articles and jobs related to Data Science, AI, & Machine Learning ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏

💎 Issue 449 - JRuby with JBang

Thursday, December 26, 2024

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

💻 Issue 449 - JavaScript Benchmarking Is a Mess

Thursday, December 26, 2024

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

📱 Issue 443 - EU asks for views on plan to force Apple to open up iOS

Thursday, December 26, 2024

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

💻 Issue 442 - SOLID: The Liskov Substitution Principle (LSP) in C#

Thursday, December 26, 2024

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

Daily Coding Problem: Problem #1649 [Easy]

Thursday, December 26, 2024

Daily Coding Problem Good morning! Here's your coding interview problem for today. This problem was asked by Dropbox. Spreadsheets often use this alphabetical encoding for its columns: "A

JSK Daily for Dec 26, 2024

Thursday, December 26, 2024

JSK Daily for Dec 26, 2024 View this email in your browser A community curated daily e-mail of JavaScript news Performance Optimization in React Pivot Table with Data Compression The Syncfusion React

📱 Issue 446 - Fatbobman's Swift Weekly #063

Thursday, December 26, 2024

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

💻 Issue 444 - Four limitations of Rust’s borrow checker

Thursday, December 26, 2024

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

💻 Issue 367 - React 19: A New Era of Web Development

Thursday, December 26, 2024

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