Programming languages

Rust

etc!

Blogs

[email protected]

Mara’s blog

Aria Beingessner’s blog

Inanna Malick - recursion.wtf/

nkmk.me (Japanese)

Learning resources

Yet Another Rust Resource

Learn Rust by implementing linked lists

Memory management

Rust: Memory Management

Traits

Peeking inside Trait Objects | Huon on the internet

Derive

Understanding #[derive(Clone)] in Rust - Stegosaurus Dormant

Playgrounds

Rust Playground

Linear algebra - for CV, ML, etc

Rust for computer vision, linear algebra, and tensors : r/rust

Async

Async from scratch 1: What's in a Future, anyway? | natkr's ramblings

🥰 How using async Rust ought to feel - wg-async

compare: Async: What is blocking? – Alice Ryhl vs runtime: tight loops should be preemptible · Issue #10958 · golang/go to get a sense of how Rust async and Go async differ

Making Async Rust Reliable - Tyler Mandry

Why async Rust?

For web

Are we web yet? Yes, and it's freaking fast!

Rust needs a web framework for lazy developers | nicole@web

Rust + WASM

Introduction - Rust and WebAssembly


Go

Modules

Go Modules by example: submodules

Concurrency

Go Concurrency Patterns

Google I/O 2012 - Go Concurrency Patterns - YouTube

Playgrounds

The Go Play Space

Better Go Playground

Machine learning

Building LLM-powered applications in Go - The Go Programming Language

Build tool

How to use conditional compilation with the go build tool | Dave Cheney


Python

Efficient (faster) Python

Using Alpine can make Python Docker builds 50× slower

  • nb: “An update: PEP 656 and related infrastructure mean pip and PyPI now support wheels for the musl C library, and therefore for Alpine. Build tools like cibuildwheel have added support for these, and Alpine-compatible wheels have become much more widely available, including for many scientific Python libraries, including matplotlib, Pandas, and NumPy. Not all packages build them, however, and I’m still personally wary of using musl given past bad experiences with bugs.”

How vectorization speeds up your Python code

Massive memory overhead: Numbers in Python and how NumPy helps

Articles: Speed up your data science and scientific computing code

Clinging to memory: how Python function calls can increase memory use

Estimating and modeling memory requirements for data processing

When your data doesn’t fit in memory: the basic techniques

Processing large JSON files in Python without running out of memory

NumPy views: saving memory, leaking memory, and subtle bugs

The mmap() copy-on-write trick: reducing memory usage of array copies

The best way to find performance bottlenecks: observing production

Installing and managing versions, libraries, packages

python3 -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt # installs all packages in requirements.txt
pip install matplotlib
pip freeze > requirements.txt
deactivate

Testing

Packaging your code

Overriding

Python viz

A Grammar of Graphics for Python – plotnine 0.13.6

Python tooling

Apps

Textual

Docker & Python

Speeding up Docker builds in CI with BuildKit

Don’t leak your Docker image’s build secrets

Shrinking your Python application’s Docker image: an overview


Zig

… aspirational, haven’t tried zig yet but want to

Comptime: Scott Redig

Why Zig When There is Already C++, D, and Rust? ⚡ Zig Programming Language

Others’ thoughts on programming languages

Programming Languages That Blew My Mind

Typescript

Becoming a TypeScript expert: The essential guide | Stackademic