Join 📚 Kevin's Highlights

A batch of the best highlights from what Kevin's read, .

![](https://userimg-assets.customeriomail.com/images/client-env-99697/1705900593761_Productivity%20techniques_01HMQSJMPTZP27NHMMY6C01E84.png)

The Meditations Newsletter #062

Alex from Sunsama

If you’re mathematically inclined, then you could use the [pigeonhole principle](https://en.wikipedia.org/wiki/Pigeonhole_principle) to describe hash collisions more formally: > Given *m* items and *n* containers, > if *m* > *n*, > then there’s at least one container > with more than one item. In this context, items are a potentially infinite number of values that you feed into the hash function, while containers are their hash values assigned from a finite pool.

Build a Hash Table in Python With TDD

Bartosz Zaczyński

Python [decorators](https://realpython.com/primer-on-python-decorators/) are another popular and convenient use case for inner functions, especially for closures. **Decorators** are higher-order functions that take a callable (function, method, class) as an argument and return another callable.

Python Inner Functions: What Are They Good For?

Real Python

...catch up on these, and many more highlights