Programmer Weekly (Issue 137 January 5 2023)

Programmer Weekly - Issue 137

Programmer Weekly

Welcome to issue 137 of Programmer Weekly. Happy New Year! I hope everyone had a nice holiday break. 

Quote of the Week

 

"Programming is not about typing, it's about thinking." — Rich Hickey

Reading List

Goal of this post is to take a brief look into LLVM infrastructure and LLVM IR, then use that knowledge to build a toy brainf**k compiler that emits IR which can then further be compiled into native executable by LLVM tools. 

The terminal is the result of its history, from the telegram to our terminal emulators. What is the difference with a console? The shell?

The author was recently rewarded a total of $107,500 by Google for responsibly disclosing security issues in the Google Home smart speaker that allowed an attacker within wireless proximity to install a “backdoor” account on the device, enabling them to send commands to it remotely over the Internet, access its microphone feed, and make arbitrary HTTP requests within the victim’s LAN (which could potentially expose the Wi-Fi password or provide the attacker direct access to the victim’s other devices). This post goes in to the details of these security issues.

Austral is a new systems programming language. You can think of it as Rust: The Good Parts or a modernized, stripped-down Ada. It features a strong static type system, linear types, capability-based security, and strong modularity. This article is an introduction to the language. 

If you deal with Web Performance, you’ve probably heard about HTTP resource prioritization. However, what exactly does prioritization mean? How does it work under the hood? Why is it important to have some control over it? and, crucially, do all browsers agree on which resources are most important (hint: no, they don’t)? This, and much more, in this post!

Watch and Listen

This year Dr. Knuth will present on Twintrees, Baxter Permutations, and Floorplans. Three fascinating concepts, which seem at first to be entirely unrelated to each other, are in fact in one-to-one correspondence, via three beautiful algorithms. One of them is a data structure involving a pair of binary trees, introduced by Serge Dulucq and Olivier Guibert in 1998; another is a class of permutations introduced by Glen Baxter in 1964; and the third is a geometric understanding of the decomposition of rectangles into rectangles, introduced by Hiroshi Murata, Kunihiro Fujiyoshi, Tomomi Watanabe, and Yoji Kajitani in 1997.

Traditional organizations quite often think in terms of projects. Agile organizations often want to move to product thinking. This episode will explore that and the why behind it.

Interesting Projects, Tools and Libraries

Ultimate framework for data exchange, asynchronous state management, complex persistence and queueing.

A lightweight cms self-hosted on Cloudflare.

Building a CDN from Scratch to Learn about CDN.

Cut, copy, and paste anything, anywhere, all from the terminal.

A GUI frontend to gdb.

Mediapipe-based library to redact faces from videos and images.

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.