Some notes on implementing attention blocks in pure Python +
Numpy. The focus here is on the exact implementation in code, explaining all the
shapes throughout the process. The motivation for why attention works is not
covered here too deeply - there are plenty of excellent onlin...
#547 — March 26, 2025
Unsub | Web Version
Go Weekly
Go on the PlayStation 2 — If you like tinkering with consoles and shoe-horning Go into new (or old?) environments, this post is for you. It involves TinyGo, C, and a lot of t...
Go 1.25 simplifies the language spec by removing the notion of core types
The night is dark and full of errors—and durable Rust software is not only
ready for them, but handles them sensibly. Let’s see how, by returning to
our line-counter project.
This is a brief explanation and a cookbook for using numpy.einsum,
which lets us use Einstein notation to evaluate operations on
multi-dimensional arrays. The focus here is mostly on einsum's explicit mode
(with -> and output dimensions explicitly specified in the subscript st...
There are primarily three ways of sorting slices in Go. Early on, we had the verbose but
flexible method of implementing sort.Interface to sort the elements in a slice. Later, Go
1.8 introduced sort.Slice to reduce boilerplate with inline comparison functions. Most
recently, Go 1...
There are primarily three ways of sorting slices in Go. Early on, we had the verbose but
flexible method of implementing sort.Interface to sort the elements in a slice. Later, Go
1.8 introduced sort.Slice to reduce boilerplate with inline comparison functions. Most
recently, Go 1...
There are primarily three ways of sorting slices in Go. Early on, we had the verbose but
flexible method of implementing sort.Interface to sort the elements in a slice. Later, Go
1.8 introduced sort.Slice to reduce boilerplate with inline comparison functions. Most
recently, Go 1...