- Programmer Weekly
- Posts
- Programmer Weekly (Issue 37 January 14 2021)
Programmer Weekly (Issue 37 January 14 2021)
Programmer Weekly - Issue 37
Programmer Weekly
Welcome to issue 37 of Programmer Weekly. Let's get straight to the links this week.
Quote of the Week
"One of the best programming skills you can have is knowing when to walk away for awhile." - Oscar Godson
News
After stealing AWS credentials last summer, the TeamTNT botnet is now also stealing Docker API logins, making the use of firewalls mandatory for all internet-exposed Docker interfaces.
With Linux 5.10 having shipped as the latest Long Term Support (LTS) release to be maintained for at least the next five years, a discussion has begun over dropping a number of old and obsolete CPU platform support currently found within the mainline kernel. For many of the architecture being considered for removal they haven't seen any new commits in years but as is the case once proposals are made for them to be removed there are often passionate users wanting the support to be kept.
With the runaway success of the new ARM-based M1 Macs, non-x86 architectures are getting their closeup. RISC-V is getting the most attention from system designers looking to horn-in on Apple's recipe for high performance. Here's why.
Reading List
A quick getting started guide for Go inspired by
and
.
There is a type of index you are probably not using, and may have never even heard of. It is wildly unpopular, and until a few PostgreSQL versions ago it was highly discouraged and borderline unusable, but under some circumstances it can out-perform even a B-Tree index.
This post walks you through building a text editor in 184 steps. Each step, you’ll add, change, or remove a few lines of code. Most steps, you’ll be able to observe the changes you made by compiling and running the program immediately afterwards.
A tale of the intersection between thermal physics, cosmology, and a tiny amount of computer science to answer a seemingly innocuous question: “How strong does a password need to be for it to be physically impossible to brute-force, ever?”
How to implement a solution to check whether two datastores are in sync for 100M records in a few seconds. The key idea is to checksum an indexed updated_at column and use a binary search to drill down to the mismatching records. All of this will be explained in great detail, read on!
An Augmented Reality Sudoku solver using the WebAssembly build of OpenCV, Tensorflow and solver written in Rust. It neatly demonstrates how WebAssembly allows you to write performance-critical web-based applications in a wide range of languages.
Relying on volunteers to maintain every open source project isn't long term sustainable. Funding open source projects could keep development moving, but would that funding be raised and who would pay for it?
Let's see how we can create QR codes that look however we want, while preserving links. We'll also show a working QR gif.
A Practical Introduction to `jq` (and more!)
This post will explain the process that could help you achieve your dream job at Facebook or any other FANG company.
Manas, Pinterest’s in-house search engine, is a generic information retrieval platform. We decided to build a new module within Manas to further reduce indexing latency to a fraction of a second. This post describes the architecture of the system and its key challenges, and we provide details about the tradeoffs we made.
Learning Elixir? We have collected all the tips, techniques, and patterns you need to do beginner-level Elixir programming in one article. Learn about higher-order functions, pattern matching, recursion, and more.
Watch and Listen
Learn something new about Python every day in less than 1 minute.
Whether you know it or not, your position carries privilege. If you're not aware of the privilege, you may be misusing that privilege. Let's dig in and see if you are maximizing the privilege you have.
WebSockets is the best way to interact in real-time between your front-end and back-end. AWS provides a new WebSocket API through API Gateway, which is powerful and easy to set up. In this tutorial, we'll create a new WebSocket API, a Lambda function, and connect to it with a simple front-end client. Watch this video for more details!
Books
This book provides a broad introduction to algorithms for decision making under uncertainty. We cover a wide variety of topics related to decision making, introducing the underlying mathematical problem formulations and the algorithms for solving them.
Interesting Projects, Tools and Libraries
Impossibly fast web search, made for static sites.
Shell scripting that will knock your socks off.
A web based heart rate monitor that measures pulse from the fingertip using the phone camera.
Find out what percentage of the PRs made by outsiders (not owners/members) get merged.
An experimental p2p community chat platform.
An image generator with 20+ metrics about your GitHub account such as activity, community, repositories, coding habits, website performances, music played, starred topics, etc. that you can put on your profile or elsewhere!
One place for all the default credentials to assist the Blue/Red teamers activities on finding devices with default password.
PeerJS simplifies WebRTC peer-to-peer data, video, and audio calls.
A Flutter starter-kit for production-level apps.
Headlamp is an easy-to-use and extensible Kubernetes web UI.
A temporary SMS utility right from your terminal written in POSIX sh.
Portable, Serverless & Lightweight SQLite-based Graph Database in Arturo.
Upcoming Events
Explore the language itself, developer tooling, solution architecture, programming methodologies, continuous delivery, and high-performance computing.
A one-day virtual conference for engineering leaders.
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.