I do technical writing for a number of reasons, but the biggest one is that I find the process of reducing something down to its fundamentals to be incredibly clarifying for my own thinking. Most of my code examples are in Swift for obvious reasons, but the principles are pretty generally applicable.
- Why people want things to be immutable, and why that implies the existence of
map()and friends - A guide to NSUserDefaults, from back when I used to be the maintainer for it: http://dscoder.com/defaults.html
- Why best practices are full of shit and how you can get something useful out of them anyway: http://dscoder.com/bestpractices.html
- A non-QA-engineer's guide to the many hats QA engineers wear: http://dscoder.com/qaskills.html
- A very brief overview of how libdispatch helps with asynchronous programming, and why it's still hard despite that: http://dscoder.com/dispatchbasics.html
- A brief history of, and guide to, CPU caches: https://gist.github.com/Catfish-Man/5edf66637be7e6234d4e1f4d1237356f?ts=4
- An overview of what threads are, how Swift Concurrency uses them, and why: https://gist.githubusercontent.com/Catfish-Man/183e3e34bb123da2e11946aae0650b1f/raw/5d5f40874c08190f6ed88f7debc7e5d7872196be/coroutines.txt
- An explainer on why hyperthreading exists and what it does (sorry about the reddit link, I haven't extracted this one and reformatted it for general consumption) https://www.reddit.com/r/applehelp/comments/3dt39n/activity_monitor_shows_up_to_800_cpu/ct8gysn/
- Why dispatch_get_current_queue() is deprecated and not what you wanted https://stackoverflow.com/questions/20860997/dispatch-queue-set-specific-vs-getting-the-current-queue/20862887#20862887
