- Python Advanced – Packaging & Publishing
From a folder of scripts to something people can install. pyproject.toml, editable installs, why a lockfile is not requirements.txt, building a wheel, and publishing to PyPI without breaking anyone's build.
- Python – Async & Await
async and await, and the one question that decides whether they help you at all: is the work waiting or computing. Coroutines, `asyncio.run`, running things at the same time with `gather`, and the blocking call that quietly ruins it.
- Frontend Dev – State Management
Where a value should live, which is the question most frontend bugs are really about. Local state, lifting up, context, and a store — and the honest criteria for moving between them. Includes a real app that uses context on one half and Redux on the other, and the documented reason the line runs where it does.
- Multithreading
Threads let a program do several things at once. They also introduce a class of bug that is intermittent, unreproducible and dependent on timing — which is why the most useful advice about concurrency is to use the highest-level tool that solves your problem. Starting a thread start() creates a…
- Angular – Change Detection, OnPush and Zoneless
Why an Angular app gets slow and what to do about it. How change detection actually works, what `OnPush` changes, and the zoneless mode signals made possible — the demo app runs with no zone.js at all and `OnPush` on every one of its components. Where `@defer` fits, route-level code splitting, and measuring with Angular DevTools rather than guessing.