programming newsletter
A Byte of Coding is a newsletter that I, Alex, put out four times a week, Monday through Thursday. Each issue consists of three articles that I personally curate from across the interwebs, relating to all things programming. Each article comes with a little summary that I write.

There are three criteria for the curated articles:

  • In depth (focusing on the how and why something works, rather than "How to ...")
  • Within the last month (although depending on the quality and timelessness of the article, there are exceptions)
  • Diversity (topics we haven't seen before are rated higher)

If that appeals to you, I suggest subscribing below! If you're on the fence, check out the latest issue and more below.
Monday, November 30, 2020

So a reader had brought to my attention that I accidentally forgot to remove the filler text in the intro for issue #37. Although it isn't inherently bad that it was there (I did write a more personal message, but oh well), it was bad that I didn't include some form of credits. The poem in questions was written by Johann Wolfgang von Goethe.And here's the issue.

2Q Cache Management Algorithm
Published: 29 November 2020

Databases access patterns are common throughout many applications, because most applications have similar requirements; some data should be accessed a lot, and some data should barely be accessed. How do you go about optimizing a system for this when you usually don't explicitly state where the boundary is? In this informative article, Arpit Bhayani presents the caching system used by Postgres to solve common database access patterns using multiple queues.

Tags: postgres, sql
Seeing is believing: a client-centric specification of database isolation
Published: 30 November 2020

Understanding the limitations and possible issues with a database isn't always easy. It not only requires a solid grasp of how queries work, but also knowledge about the inner workings of the black boxes that databases can be. Adrian Colyer has written an article summarizing a paper on database snapshot isolation states. There's an explanation for the motivation, an example, and plenty of definitions to get you up to speed with the important, but jargon heavy topic.

Tags: database
ARM and Lock-Free Programming
Published: 29 November 2020

A common issue in programming is the formation of data races in asynchronous code. This often comes up when you're sharing data between threads. One approach in solving these issues is akin to Japanese carpentry without nails; lock-free concurrency programming. In this instructive article, Bruce Dawson introduces an example problem with cross thread data access, underlines some of the issues it could lead to, explains why a potential solution isn't in fact a solution, and finally offers a more reliable alternative, all in C++.

Tags: cpp
Thursday, November 26, 2020

Eat turkey if that's your thing. Think about the things you're thankful for if being grateful isn't normally your thing. I think that's a much undervalued thing to do. One of the best pieces of advice I got was to think about everything I'm grateful for whenever I feel down. Works like a charm. Right now I'm very thankful for getting back running water, electricity, and wifi in my home :) what about you? The fact that here's the issue?

My list of magic numbers for your turkey day enjoyment
Published: 26 November 2020

If you play with technology long enough, you start seeing patterns in numbers. 256, 1024, 0x15, or 420. Well in this article, Rachel lists out a plethora of magical numbers you might run into when dabbling with computers and the web. Along the way she points out some useful information from all across the number spectrum.

Tags: numbers
Modern storage is plenty fast. It is the APIs that are bad.
Published: 25 November 2020

Hardware has been developing at such an accelerated rate performance wise, that many of modern optimization problems are mostly a result of software not catching up. One such example is I/O processes. In this informative article, Glauber Costa uses his expertise to dispel some common misconceptions about the time cost of interacting with I/O, and highlighting the real culprit; poorly written APIs.

Tags: optimization, memory
Karen on Python mocks: threading.Timer
Published: 26 November 2020

Refactoring is a big part of any kind of programming, because any project you'll work on will have some sort of technical debt. We all sometimes take shortcuts. Well Pablo Aguiar has taken a great meme, good ol' Karen, and put her to work rewriting unit tests for lazy Python devs that used time.sleep on asynchronous functions.

Tags: javsacript
Wednesday, November 25, 2020

A wonderful serenity has taken possession of my entire soul, like these sweet mornings of spring which I enjoy with my whole heart. I am alone, and feel the charm of existence in this spot, which was created for the bliss of souls like mine.I am so happy, my dear friend, so absorbed in the exquisite sense of mere tranquil existence, that I neglect my talents. I should be incapable of drawing a single stroke at the present moment; and yet I feel that I never was a greater artist than now.When, while the lovely valley teems with vapour around me, and the meridian sun strikes the upper surface of the impenetrable foliage of my trees, and but a few stray gleams steal into the inner sanctuary, I throw myself down among the tall grass by the trickling stream.

What is a Programming Paradigm?
Published: 22 November 2020

This is more of a philosophical article, where Jonathan Goodwin explores the nuances of what a programming paradigm is, very much in a Theory of Knowledge-esque essay for anyone who did the IB. Jonathan first looks at the "unhelpful" Wikipedia definition, then Thomas Kuhn's, ultimately ending with an analysis of George Floyd thought and the relevance of both opinions in the 21st century.

Tags: philosophy
Why I Built My Own Shitty Static Site Generator
Published: 9 November 2020

There isn't always a good reason for doing something. Sometimes, you do it just because you feel like it. That can lead to great, or terrible results, but either way you use usually learn something useful. In this article, Erik Winter discusses why he chose to very much reinvent the wheel from a web development perspective. Erik covers the limitations of available static site generators and the impact choosing an existing tool has on your creativity and design choices. It's a casual article, but I connected with it because I like to build things from scratch, sometimes even when it's not justifiable with anything other than I wanna know how it works :)

Tags: web
Hiding data from humans and computers in GIF files
Published: 25 November 2020

Conspiracy theories are a dime a dozen, but did you know that over 80% of GIFs online have some sort of secret message encoded in them? Naah just joking, but that would be cool. Or am I? In this concise article, Calder White presents an algorithm for how messages can be encoded into GIFs using the global palette and rearranging elements in patterns. The end result is that your memes could all be secret messages from aliens.PS. I was definitely kidding. Or was I?

Tags: encoding
Monday, November 23, 2020

Unfortunately it's another update today, and might be for the next few days. The city I live in has been hit by big snow storm that knocked out the electricity, water, and heating for about 50% of the buildings since last Tuesday, including the entire area I live in. Mobile interner is pretty shoddy too, and although I like you guys, I'm not going to spend an hour or two outside every day to get enough reception while flipping through articles and freezing my fingers off xD. Hopefully it'll be fixed on Wednesday like it's being promised.Toodles till then.

Monday, November 16, 2020

Just writing a quick update telling you guys that I'll be taking this week off. Stay healthy, safe, and see ya on the 23rd!

Like what you see? continue reading