Curated river of news

Reader

Latest posts from blogs I follow

2985 entries
60 pages

On implementing Bloom Filters in C(opens in new tab)

This article assumes the reader is already familiar with the C programming language and some basic concepts concerning hash functions. The target audience (as is often the case on my blog) is undergrad CS students or seasoned developers who, just ...

Building GitHub Apps with Golang(opens in new tab)

If you're using GitHub as your version control system of choice then GitHub Apps can be incredibly useful for many tasks including building CI/CD, managing repositories, querying statistical data and much more. In this article we will walk through the ...

import attrs(opens in new tab)

An attempt at catharsis. This is a deeply personal blog post about the most influential project I’ve ever created: attrs, the progenitor of modern Python class utilities. I’m retelling its history from my perspective, how it begot dataclasses, and how ...

On Tzimtzum(opens in new tab)

The book Life of Pi, written in 2001 by Canadian author Yann Martel, tells the story of a young Indian boy fascinated by philosophy, spirituality, and religious syncretism from an early age. After a devastating shipwreck on his way to ...

A tale of Java Hash Tables(opens in new tab)

The intended audience for this article is undergrad students who already have a good grasp of Java, or seasoned Java developers who would like to explore an in-depth analysis of various hash table implementations that use Open Addressing. The reader ...

Implementing Hash Tables in C(opens in new tab)

Table of contents Contents Table of contents Code Introduction C++ (unordered_map) Java (HashMap) Python (dict) Performance: Why Size Doesn’t Matter Hash Functions Hash Collisions What makes a “Good” Hash Function? Families of Hashing Functions Division hashing Multiplicative hashing Hashing strings ...

Subclassing in Python Redux(opens in new tab)

The conflict between subclassing and composition is as old as object-oriented programming. The latest crop of languages like Go or Rust prove that you don’t need subclassing to successfully write code. But what’s a pragmatic approach to subclassing in Python, ...

Canonical SEO Failure(opens in new tab)

This post is less about teaching and more about schadenfreude amusement for you, and catharsis for me. It’s the story of how one unfortunate HTML tag kicked me off almost all search engines and my months-long way back. And why ...

Lie vs Lay(opens in new tab)

Lie and lay are infamously confusing to non-native speakers. It’s so bad that it sparked a cottage industry of click-baity articles full of sketchy ads. Since English is my third language, I stumbled a lot myself until I wrote this ...

XML to JSON using MapNeat(opens in new tab)

mapneat is a library I’ve written a long time ago. I am biased. Introduction Following my previous article, I wanted to expand on the capabilities of the mapneat library. In this tutorial, I will show you how to transform an ...

Hello world, mapneat!(opens in new tab)

mapneat is a library I’ve written a long time ago. I am biased. Introduction One of the most common challenges I’ve encountered in Software Engineering is data manipulation: taking a raw data structure, applying business logic, restructuring it, and finally ...