An open API service indexing awesome lists of open source software.

https://github.com/pante/reading-list

A curated list of programming & software engineering articles, blogs & papers.
https://github.com/pante/reading-list

articles reading-list

Last synced: 8 months ago
JSON representation

A curated list of programming & software engineering articles, blogs & papers.

Awesome Lists containing this project

README

          

# Pante's Reading List

This is a curated list of programming & software engineering articles that I've personally found to be interesting over the years. I hope it proves useful to others too.

I periodically update this list. Please open an issue if any of the links are dead.

## Sections
* [Blogs](#blogs)
* [Companies](#companies)
* [Personal](#personal)
* [Career](#career)
* [Data Structures & Algorithms](#data-structures--algorithms)
* [Data Design/Databases](#data-designdatabases)
* [Deep dives/Performance/Retrospectives](#deep-divesperformanceretrospectives)
* [Developer Experience/Tooling](#developer-experiencetooling)
* [Distributed Systems/System Design](#distributed-systemssystem-design)
* [Hardware/Low Level](#hardwarelow-level)
* [History/News](#historynews)
* [Humour/Rants/Satire](#humourrantssatire)
* [Networking/Web](#networkingweb)
* [Mobile Development](#mobile-development)
* [Privacy & Security](#privacy--security)
* [Programming Languages/Theory](#programming-languagestheory)
* [Functional Programming](#functional-programming)
* [Java/JVM](#javajvm)
* [Rust](#rust)
* [Theory](#theory)
* [Software Engineering](#software-engineering)
* [Architecture/Design Patterns](#architecturedesign-patterns)
* [Code Studies](#code-studies)
* [Practices & Processes](#practices--processes)
* [Uncategorized](#uncategorized)

## Blogs

### Companies
* [Cloudflare's blog](https://blog.cloudflare.com)
* [Discord's Blog](https://discord.com/blog/)
* [Facebook's blog](https://engineering.fb.com)
* [Github's Blog](https://github.blog/category/engineering/)
* [Netflix Technology Blog](https://netflixtechblog.medium.com)
* [Riot Game's Blog](https://technology.riotgames.com/)
* [Shopify's Blog](https://shopify.engineering/)

### Personal
* [CodingHorror](https://blog.codinghorror.com)
* [Joe Duffy's Blog](https://joeduffyblog.com)
* [Joelonsoftware](https://www.joelonsoftware.com)
* [Martin Fowler's blog](https://martinfowler.com)
* [The Pragmatic Engineer's blog](https://blog.pragmaticengineer.com) (free) and [newsletter](https://blog.pragmaticengineer.com) (paid)
* [Stephen Colebourne (creator of Joda Time)'s blog](https://blog.joda.org)
* Steve Yegge's [blog](http://steve-yegge.blogspot.com) and [medium](https://steve-yegge.medium.com)
* [stuffwithstuff](https://journal.stuffwithstuff.com/2015/02/01/what-color-is-your-function/)

## Career
* [10 hard-to-swallow truths they won't tell you about software engineer job](https://www.mensurdurakovic.com/hard-to-swallow-truths-they-wont-tell-you-about-software-engineer-job/)
* [16x Engineer](https://16x.engineer)
* [20 Questions a Software Engineer Should Ask When Joining a New Team](https://trstringer.com/20-questions-for-new-software-team/)
* [8 Hard Truths I learned when I got laid off from my SWE job](https://www.stevenbuccini.com/8-hard-truths-on-getting-laid-off)
* [A forty-year career](https://lethain.com/forty-year-career/)
* [An Engineering Team where Everyone is a Leader](https://blog.pragmaticengineer.com/a-team-where-everyone-is-a-leader/)
* [Becoming a go-to person gets you promoted. Here's how to do it as a software engineer.](https://read.highgrowthengineer.com/p/becoming-a-go-to-person-gets-you)
* [Being Glue](https://noidea.dog/glue)
* [Building trust as a software engineer](https://graphite.dev/blog/trust)
* [Cruise Ships](https://blog.chriszacharias.com/cruise-ships)
* [Engineering Ladders](http://www.engineeringladders.com)
* [Falsehoods Junior Developers believe about becoming Senior](https://vadimkravcenko.com/shorts/falsehoods-junior-developers-believe-about-becoming-senior/)
* [Hiring in Tech](https://kiranrao.in/blog/2021/08/14/hiring-in-tech/)
* [How to land the manager-to-IC pivot](https://stackoverflow.blog/2023/09/13/how-to-land-the-manager-to-ic-pivot/?utm_campaign=the-overflow-newsletter&utm_medium=email&utm_source=iterable/)
* [How to Lead a Project - as a Software Engineer](https://blog.pragmaticengineer.com/how-to-lead-a-project-in-software-development/)
* [How to mentor software engineers](https://xdg.me/mentor-engineers/)
* [Level Up](https://imwrightshardcode.com/2010/06/level-up/)
* [Principal / Staff Engineer Resources](https://www.mayerdan.com/career/2022/01/04/principal-engineer-resources)
* [Reddit Interview Problems: The Game of Life](https://alexgolec.dev/reddit-interview-problems-the-game-of-life/)
* [Staff archetypes](https://staffeng.com/guides/staff-archetypes/)
* [Software Engineer roadmap via books](https://medium.com/@iamjwr/software-engineer-roadmap-via-books-a6aabdc2589c)
* [Tech Resume Advice](https://blog.huikang.dev/career/2022/10/17/resume-advice.html)
* [The Two Healthbar Theory of Burnout](https://jdwyah.substack.com/p/the-two-healthbar-theory-of-burnout)
* [The Two Tiers of Singapore's Tech Companies](http://elijames.org/the-two-tiers-of-singapores-tech-companies/)
* [Things I've learned transitioning from engineer to engineering manager](https://blog.pragmaticengineer.com/things-ive-learned-transitioning-from-engineer-to-engineering-manager/)
* [What a truly engaged engineer looks like](https://www.engineeringcalm.com/p/what-a-truly-engaged-engineer-looks)
* [What does a CTO actually do?](https://vadimkravcenko.com/shorts/what-cto-does/)
* [What I learned from Software Engineering at Google](https://swizec.com/blog/what-i-learned-from-software-engineering-at-google/)
* [What is a Staff Engineer?](https://nishtahir.com/what-is-a-staff-engineer/)
* [What we look for in a resume](https://huyenchip.com/2023/01/24/what-we-look-for-in-a-candidate.html)
* [What’s going on with Google and Facebook?](https://interviewing.io/blog/google-facebook-hiring-freeze)
* [What's it like as a Senior Engineer at Google?](https://www.zainrizvi.io/blog/whats-it-like-as-a-senior-engineer/)
* [Why GitHub Won't Help You With Hiring](https://www.benfrederickson.com/github-wont-help-with-hiring/)
* [Writing for Engineers](https://www.heinrichhartmann.com/posts/writing/)
* [Your 2020 Guide for Surviving Interviewing as a Software Engineer](https://tracidini.medium.com/your-2020-guide-for-surviving-interviewing-as-a-software-engineer-8cc66cccdcbc)

## Data Structures & Algorithms
* [Analyzing New Unique Identifier Formats (UUIDv6, UUIDv7, and UUIDv8)](https://blog.devgenius.io/analyzing-new-unique-identifier-formats-uuidv6-uuidv7-and-uuidv8-d6cc5cd7391a)
* [A primer on Roaring bitmaps: what they are and how they work](https://vikramoberoi.com/a-primer-on-roaring-bitmaps-what-they-are-and-how-they-work/)
* [Beautiful Branchless Binary Search](https://probablydance.com/2023/04/27/beautiful-branchless-binary-search/)
* [Concurrent Data Structure Design Walkthrough](https://questdb.io/blog/concurrent-lockfree-datastructure-design-walkthrough/)
* Hierarchical Clearance-based Pathfinding
* [Part 1](https://harablog.wordpress.com/2009/01/29/clearance-based-pathfinding/)
* [Part 2](https://harablog.wordpress.com/2009/02/05/hierarchical-clearance-based-pathfinding/)
* [Part 3](https://harablog.wordpress.com/2009/02/12/clearance-based-pathfinding-with-probabilistic-roadmaps/)
* [Parsing: The Solved Problem That Isn't](https://tratt.net/laurie/blog/2011/parsing_the_solved_problem_that_isnt.html)
* [The Piece Table](https://darrenburns.net/posts/piece-table/)
* [Unicode is harder than you think](https://mcilloni.ovh/2023/07/23/unicode-is-hard/)

## Data Design/Databases
* [A lesson in address storage](https://web.archive.org/web/20100124090037/http://www.endswithsaurus.com/2009/07/lesson-in-address-storage.html)
* [Choose Postgres queue technology](https://adriano.fyi/posts/2023-09-24-choose-postgres-queue-technology/)
* [Database Design For Audit Logging](https://vertabelo.com/blog/database-design-for-audit-logging/)
* [Don't Do This](https://wiki.postgresql.org/wiki/Don%27t_Do_This)
* [Hierarchies on Steroids #1: Convert an Adjacency List to Nested Sets](https://www.sqlservercentral.com/articles/hierarchies-on-steroids-1-convert-an-adjacency-list-to-nested-sets)
* [How To Corrupt An SQLite Database File](https://www.sqlite.org/howtocorrupt.html)
* [How we optimized PostgreSQL queries 100x](https://towardsdatascience.com/how-we-optimized-postgresql-queries-100x-ff52555eabe)
* [In praise of PostgreSQL](https://drewdevault.com/2021/08/05/In-praise-of-Postgres.html)
* [I'm All-In on Server-Side SQLite](https://fly.io/blog/all-in-on-sqlite-litestream/)
* [Migrating a production database without any downtime](https://teamplify.com/blog/zero-downtime-DB-migrations/)
* [Nine ways to shoot yourself in the foot with PostgreSQL](https://philbooth.me/blog/nine-ways-to-shoot-yourself-in-the-foot-with-postgresql)
* [Relational Databases Aren’t Dinosaurs, They’re Sharks](https://www.simplethread.com/relational-databases-arent-dinosaurs-theyre-sharks/)
* [Soft Deletion Probably Isn't Worth It](https://brandur.org/soft-deletion)
* [The Inner Workings of Distributed Databases](https://questdb.io/blog/inner-workings-distributed-databases/)
* [Towards Inserting One Billion Rows in SQLite Under A Minute](https://avi.im/blag/2021/fast-sqlite-inserts/)
* [Transactional DDL in PostgreSQL: A Competitive Analysis](https://wiki.postgresql.org/wiki/Transactional_DDL_in_PostgreSQL:_A_Competitive_Analysis)
* [Why You Should Never Use MongoDB](http://www.sarahmei.com/blog/2013/11/11/why-you-should-never-use-mongodb/)

## Deep dives/Performance/Retrospectives
* [4 Billion If Statements](https://andreasjhkarlsson.github.io/jekyll/update/2023/12/27/4-billion-if-statements.html)
* [After 14 years in the industry, I still find programming difficult](https://www.piglei.com/articles/en-programming-is-still-hard-after-14-years/)
* [Building a Date-Time Library: Timezones](https://medium.com/@matthiasngeo/the-problems-with-timezones-63c082c262f8) (Disclaimer: written by me)
* [Burning money on paid ads for a dev tool – what we've learned](https://posthog.com/founders/dev-marketing-paid-ads)
* [Discovering the Local Time Zone: Why It's a Hard Problem](https://web.archive.org/web/20130209072352/http://www.chronos-st.org/Discovering%20the%20Local%20Time%20Zone--Why%20It%27s%20a%20Hard%20Problem.html)
* [Donald Knuth's thoughts on ChatGPT](https://cs.stanford.edu/~knuth/chatGPT20.txt)
* [Down the ergonomic keyboard rabbit hole](https://blog.scottlogic.com/2020/10/09/ergo-rabbit-hole.html)
* [Faster Chrome - Let The Compiler do the work](https://blog.chromium.org/2021/12/faster-chrome-let-the-compiler-do-the-work.html)
* [From Laptop to Lambda: Outsourcing Everyday Jobs to Thousands of Transient Functional Containers](https://www.micahlerner.com/2021/07/24/from-laptop-to-lambda-outsourcing-everyday-jobs-to-thousands-of-transient-functional-containers.html)
* [Goodbye, Twilio](https://blog.miguelgrinberg.com/post/goodbye-twilio)
* [Here's a problem that *sounded* impossible...](https://web.mit.edu/jemorris/humor/500-miles)
* [How I cut GTA Online loading times by 70%](https://nee.lv/2021/02/28/How-I-cut-GTA-Online-loading-times-by-70/)
* [How They Bypass YouTube Video Download Throttling](https://blog.0x7d0.dev/history/how-they-bypass-youtube-video-download-throttling/)
* [I built a garbage collector for a language that doesn't need one](https://claytonwramsey.github.io/2023/08/14/dumpster.html)
* [I made JSON.parse() 2x faster](https://radex.io/react-native/json-parse/)
* [Lessons learnt while trying to modernize some C code](https://dorinlazar.ro/220710-trying-to-modernize-goaccess.en/)
* [Reflections on 10,000 Hours of Programming](https://matt-rickard.com/reflections-on-10-000-hours-of-programming)
* [Saying Goodbye to the Best Gig I Ever Had](https://steve-yegge.medium.com/saying-goodbye-to-the-best-gig-i-ever-had-a33736833c1e)
* [SIMD accelerated sorting in Java - how it works and why it was 3x faster](https://jbaker.io/2022/06/09/vectors-in-java/)
* [The 100% Markdown Expedition](https://hacks.mozilla.org/2022/09/the-100-percent-markdown-expedition/)
* [The Billion Row Challenge (1BRC) - Step-by-step from 71s to 1.7s](https://questdb.io/blog/billion-row-challenge-step-by-step/)
* [The Hardest Program I've Ever Written](https://journal.stuffwithstuff.com/2015/09/08/the-hardest-program-ive-ever-written/#2)
* [Two years for developing an MMO](https://raiding.zone/docs/posts/retrospective/#two-years-for-developing-an-mmo)
* [Whose bug is this anyway?!?](https://www.codeofhonor.com/blog/whose-bug-is-this-anyway)
* [Why Cities: Skylines 2 performs poorly](https://blog.paavo.me/cities-skylines-2-performance/)
* [Why is processing a sorted array faster than processing an unsorted array](https://stackoverflow.com/questions/11227809/why-is-processing-a-sorted-array-faster-than-processing-an-unsorted-array)

## Developer Experience/Tooling
* [Automating a software company with GitHub Actions](https://posthog.com/blog/automating-a-software-company-with-github-actions)
* [CI/CD/CF? — The DevOps toolchain’s “missing-link”](https://levelup.gitconnected.com/ci-cd-cf-the-devops-toolchains-missing-link-b5c88caf6282)
* [Developer tools can be magic. Instead, they collect dust](https://www.pathsensitive.com/2021/03/developer-tools-can-be-magic-instead.html)
* [DevEx: What Actually Drives Productivity](https://queue.acm.org/detail.cfm?id=3595878)
* [From Blaze to Buck2 - A Brief History of Monorepo Build Systems](https://betterprogramming.pub/from-blaze-to-buck2-a-brief-history-of-modern-monorepo-build-systems-563becbcb987)
* [History and future of Infrastructure as Code](https://www.endoflineblog.com/history-and-future-of-infrastructure-as-code)
* [Semantic Versioning Will Not Save You](https://hynek.me/articles/semver-will-not-save-you/)
* [Solving Hierarchical Tags using Nested Sets](https://blog.sapico.me/posts/hierarchical-tags-using-nested-sets/)
* [Tools for better thinking](https://untools.co)
* [What a good debugger can do](https://werat.dev/blog/what-a-good-debugger-can-do/)
* [When to use Bazel](https://earthly.dev/blog/bazel-build/)

## Distributed Systems/System Design
* [10 Tips for Building Resilient Payment Systems](https://shopify.engineering/building-resilient-payment-systems)
* [A Bluffers Guide to CRDTs in Riak](https://gist.github.com/russelldb/f92f44bdfb619e089a4d)
* [A Tale of Two Dimensions](https://dominik-tornow.medium.com/a-tale-of-two-spectrums-df6035f4f0e1)
* [An Interactive Intro to CRDTs](https://jakelazaroff.com/words/an-interactive-intro-to-crdts/)
* [Applied Monotonicity: A Brief History of CRDTs in Riak](https://christophermeiklejohn.com/erlang/lasp/2019/03/08/monotonicity.html)
* [Cache made consistent](https://engineering.fb.com/2022/06/08/core-data/cache-made-consistent/)
* [Chain replication : how to build an effective KV-storage (part 1/2)](https://medium.com/coinmonks/chain-replication-how-to-build-an-effective-kv-storage-part-1-2-b0ce10d5afc3)
* [Cola: a text CRDT for real-time collaborative editing](https://nomad.foo/blog/cola)
* [Conflict-free Replicated Data Types](https://arxiv.org/pdf/1805.06358.pdf)
* [CRDTs go brrr](https://josephg.com/blog/crdts-go-brrr/)
* [Distributed Counter System Design](https://systemdesign.one/distributed-counter-system-design/)
* [Garbage Collected CRDTs on the Web](http://uu.diva-portal.org/smash/get/diva2:1441174/FULLTEXT01.pdf)
* [I'm All-In on Server-Side SQLite](https://fly.io/blog/all-in-on-sqlite-litestream/)
* [Making CRDTs 98% More Efficient](https://jakelazaroff.com/words/making-crdts-98-percent-more-efficient/)
* [Microservice Architecture Pattern: Saga](https://microservices.io/patterns/data/saga.html)
* [Modern-Day Architecture Design Patterns for Software Professionals](https://betterprogramming.pub/modern-day-architecture-design-patterns-for-software-professionals-9056ee1ed977)
* [Redis, Kafka or RabbitMQ: Which MicroServices Message Broker To Choose?](https://www.hillelwayne.com/post/influential-dead-languages/)
* [Selected Sequence CRDTs](https://blog.r6l7.com/selected-sequence-crdts/)
* [The Inner Workings of Distributed Databases](https://questdb.io/blog/inner-workings-distributed-databases/)
* [The Seven Most Classic Patterns for Distributed Transactions](https://medium.com/@dongfuye/the-seven-most-classic-solutions-for-distributed-transaction-management-3f915f331e15)
* [You Want Modules, Not Microservices](http://blogs.newardassociates.com/blog/2023/you-want-modules-not-microservices.html)

## Hardware/Low Level
* [Converting Integers to Floats Using Hyperfocus](https://blog.m-ou.se/floats/)
* [Gallery of Processor Cache Effects](http://igoro.com/archive/gallery-of-processor-cache-effects/)
* [GCC undefined behaviors are getting wild](http://blog.pkh.me/p/37-gcc-undefined-behaviors-are-getting-wild.html)
* [GPU programming](https://enccs.github.io/gpu-programming/)
* [GPS](https://ciechanow.ski/gps/)
* [Handles are the better pointers](https://floooh.github.io/2018/06/17/handles-vs-pointers.html)
* [How Doom Fire was Done](https://fabiensanglard.net/doom_fire_psx/)
* [The Free Lunch Is Over: A Fundamental Turn Toward Concurrency in Software](http://www.gotw.ca/publications/concurrency-ddj.htm)
* [The legend of "x86 CPUs decode instructions into RISC form internally"](https://fanael.github.io/is-x86-risc-internally.html)
* [Ubershaders: A Ridiculous Solution to an Impossible Problem](https://dolphin-emu.org/blog/2017/07/30/ubershaders/)
* [WebAssembly's post-MVP future: A cartoon skill tree](https://hacks.mozilla.org/2018/10/webassemblys-post-mvp-future/)
* [Why x86 Doesn’t Need to Die](https://chipsandcheese.com/2024/03/27/why-x86-doesnt-need-to-die/)

## History/News
* [A Conspiracy To Kill IE6](https://blog.chriszacharias.com/a-conspiracy-to-kill-ie6)
* [Biggest Y Combinator Failed Startups](https://www.failory.com/blog/y-combinator-failures)
* [Big Tech’s Biggest Bets (Or What It Takes to Build a Billion-User Platform)](https://www.matthewball.co/all/bigtechbiggestbets)
* [Inside Elon Musk’s first meeting with Twitter employees](https://www.theverge.com/2022/11/10/23452196/elon-musk-twitter-employee-meeting-q-and-a)
* [List of 2024 Leap Day Bugs](https://codeofmatt.com/list-of-2024-leap-day-bugs/)
* Making Crash Bandicoot
* [Part 1](https://all-things-andy-gavin.com/2011/02/02/making-crash-bandicoot-part-1/)
* [Part 2](https://all-things-andy-gavin.com/2011/02/03/making-crash-bandicoot-part-2/)
* [Part 3](https://all-things-andy-gavin.com/2011/02/04/making-crash-bandicoot-part-3/)
* [Part 4](https://all-things-andy-gavin.com/2011/02/05/making-crash-bandicoot-part-4/)
* [Part 5](https://all-things-andy-gavin.com/2011/02/06/making-crash-bandicoot-part-5/)
* [Part 6](https://all-things-andy-gavin.com/2011/02/07/making-crash-bandicoot-part-6/)
* [New Breakthrough Brings Matrix Multiplication Closer to Ideal](https://www.quantamagazine.org/new-breakthrough-brings-matrix-multiplication-closer-to-ideal-20240307/?utm_source=tldrnewsletter)
* [Programming in 1987 Versus Today](https://ovid.github.io/blog/programming-in-1987-versus-today.html)
* [Story: Redis and its creator antirez](https://blog.brachiosoft.com/en/posts/redis/)
* [Stiff Asks, Great Programmers Answer](https://web.archive.org/web/20061124122032/http://www.stifflog.com/2006/10/16/stiff-asks-great-programmers-answer/)
* [The Fall of Stack Overflow, Explained](https://newsletter.devmoh.co/p/the-fall-of-stack-overflow-explained?utm_medium=ios)
* [The rise and fall of InVision](https://uxdesign.cc/the-rise-and-fall-of-invision-dc2d58c65534)
* [The Saga of the Closure Compiler, and Why TypeScript Won](https://effectivetypescript.com/2023/09/27/closure-compiler/)
* [The text file that runs the internet](https://www.theverge.com/24067997/robots-txt-ai-text-file-web-crawlers-spiders)
* [The untold Story of SQLite With Richard Hipp](https://corecursive.com/066-sqlite-with-richard-hipp/)
* [This is not your grandfather’s Perl](https://stackoverflow.blog/2022/09/08/this-is-not-your-grandfathers-perl/)
* [Unladen Swallow Retrospective](https://qinsb.blogspot.com/2011/03/unladen-swallow-retrospective.html)
* [What we can learn from “_why”, the long lost open source developer](https://github.com/readme/featured/why-the-lucky-stiff)
* [What's worked in Computer Science: 1999 v. 2015](https://danluu.com/butler-lampson-1999/)
* [Why Facebook doesn’t use Git](https://graphite.dev/blog/why-facebook-doesnt-use-git)

## Humour/Rants/Satire
* [A Collection of O'rly book Covers](https://boyter.org/2016/04/collection-orly-book-covers/)
* [Dear Google Cloud: Your Deprecation Policy is Killing You](https://steve-yegge.medium.com/dear-google-cloud-your-deprecation-policy-is-killing-you-ee7525dc05dc)
* [Expert Excuses for Not Writing Unit Tests](https://boyter.org/posts/expert-excuses-for-not-writing-unit-tests/)
* [Golang is 𝘼𝙡𝙢𝙤𝙨𝙩 Perfect](https://www.lremes.com/posts/golang/)
* [Golang is not a good language](https://xetera.dev/article/thoughts-on-go)
* [Haskell Researchers Announce Discovery of Industry Programmer Who Gives a Shit](http://steve-yegge.blogspot.com/2010/12/haskell-researchers-announce-discovery.html?m=1)
* [I Quit my Programmer Job to Become a Chicken](https://sebastiancarlos.com/how-i-quit-my-programmer-job-to-become-a-chicken-b733c20680b1)
* [I ****ing hate Science](https://buttondown.email/hillelwayne/archive/i-ing-hate-science/)
* [Introduction to Abject-Oriented Programming](https://web.archive.org/web/20131021215740/http://typicalprogrammer.com/abject-oriented/)
* [Nothing has ever angered me more than The Google Play Team](https://danfitdegree.hashnode.dev/nothing-has-ever-angered-me-more-than-the-google-play-team)
* [Open Source is Not About You](https://gist.github.com/richhickey/1563cddea1002958f96e7ba9519972d9)
* [Manifesto for Half-Arsed Agile Software Development](https://www.halfarsedagilemanifesto.org)
* [Re: clean up kernel_{read,write} & friends v2](https://lkml.org/lkml/2020/5/29/1038)
* [React I Love You, But You're Bringing Me Down](https://marmelab.com/blog/2022/09/20/react-i-love-you.html)
* [Reflecting on 18 years at Google](https://ln.hixie.ch/?start=1700627373&count=1)
* [The Future of discord.py](https://gist.github.com/Rapptz/4a2f62751b9600a31a0d3c78100287f1)
* [The Javascript "ecosystem" is a hot mess and so is software development in general](https://nadh.in/blog/javascript-ecosystem-software-development-are-a-hot-mess/)
* [The Tao of Programming](https://www.mit.edu/~xela/tao.html)
* [This is my thinly veiled attempt to get you to use a library I wrote.](https://evinsellin.medium.com/this-is-my-thinly-veiled-attempt-to-get-you-to-use-a-library-i-wrote-9755dd0fa917)
* [Weird architectures weren't supported to begin with](https://blog.yossarian.net/2021/02/28/Weird-architectures-werent-supported-to-begin-with)
* [Why we at $FAMOUS_COMPANY Switched to $HYPED_TECHNOLOGY](https://saagarjha.com/blog/2020/05/10/why-we-at-famous-company-switched-to-hyped-technology/)

## Networking/Web
* [Best Practices for REST API Design](https://stackoverflow.blog/2020/03/02/best-practices-for-rest-api-design/)
* [How Did We Get Here? - Dive into HTML5](http://diveinto.html5doctor.com/past.html)
* [How Did REST Come To Mean The Opposite of REST?](https://htmx.org/essays/how-did-rest-come-to-mean-the-opposite-of-rest/)
* [HTTP/2 and HTTP/3 explained](https://alexandrehtrb.github.io/posts/2024/03/http2-and-http3-explained/)
* [Is WebAssembly the return of Java Applets & Flash?](https://steveklabnik.com/writing/is-webassembly-the-return-of-java-applets-flash)
* [Temporal API is Awesome](https://taro.codes/posts/2023-08-23-temporal-api/)
* [The HTTP QUERY Method](https://httpwg.org/http-extensions/draft-ietf-httpbis-safe-method-w-body.html)
* [Understanding and implementing rate limiting in Node.js](https://blog.logrocket.com/rate-limiting-node-js/)
* [Weird things engineers believe about Web development](https://birtles.blog/2024/01/06/weird-things-engineers-believe-about-development/)
* [Where are IPv3 and IPv5?](https://wander.science/articles/ip-version/)
* [Why is DNS still hard to learn?](https://jvns.ca/blog/2023/07/28/why-is-dns-still-hard-to-learn/)

## Mobile Development
* [Mobile is actually pretty hard.](https://jacobbartlett.substack.com/p/mobile-is-actually-pretty-hard)
* [Playing haptics](https://developer.apple.com/design/human-interface-guidelines/playing-haptics)

## Privacy & Security
* [GPG And Me](https://moxie.org/2015/02/24/gpg-and-me.html)
* [Memory Safe Languages in Android 13](https://security.googleblog.com/2022/12/memory-safe-languages-in-android-13.html?m=1)
* [Secure by Design: Google’s Perspective on Memory Safety](https://security.googleblog.com/2024/03/secure-by-design-googles-perspective-on.html)
* [The PGP Problem](https://latacora.micro.blog/2019/07/16/the-pgp-problem.html)
* [Top Mental Health and Prayer Apps Fail Spectacularly at Privacy, Security](https://foundation.mozilla.org/en/blog/top-mental-health-and-prayer-apps-fail-spectacularly-at-privacy-security/)
* [What’s the matter with PGP?](https://blog.cryptographyengineering.com/2014/08/13/whats-matter-with-pgp/)
* [Zanzibar: Google’s Consistent, Global Authorization System](https://www.usenix.org/system/files/atc19-pang.pdf)

## Programming Languages/Theory
* [A response to "Erlang - overhyped or underestimated"](http://jlouisramblings.blogspot.com/2010/12/response-to-erlang-overhyped-or.html)
* [A taste of Coq and correct code by construction](https://betterprogramming.pub/a-taste-of-coq-and-correct-code-by-construction-111bf74d3b98)
* [Being Popular](http://paulgraham.com/popular.html)
* [Blogging about Midori](https://joeduffyblog.com/2015/11/03/blogging-about-midori/)
* [Crafting Interpreters](https://craftinginterpreters.com)
* [C++ is the next C++](https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2022/p2657r0.html)
* [Does Go Have Subtyping?](https://journal.stuffwithstuff.com/2023/10/19/does-go-have-subtyping/)
* [EXCEPTION HANDLING: A FALSE SENSE OF SECURITY](http://ptgmedia.pearsoncmg.com/images/020163371x/supplements/Exception_Handling_Article.html)
* [Flattening ASTs (and Other Compiler Data Structures)](https://www.cs.cornell.edu/~asampson/blog/flattening.html)
* [Generics can make your Go code slower](https://planetscale.com/blog/generics-can-make-your-go-code-slower)
* [Go: the Good, the Bad and the Ugly](https://bluxte.net/musings/2018/04/10/go-good-bad-ugly/#the-good)
* I want off Mr. Golang's Wild Ride
* [Original article](https://fasterthanli.me/articles/i-want-off-mr-golangs-wild-ride)
* [Lies we tell ourselves to keep using Golang](https://fasterthanli.me/articles/lies-we-tell-ourselves-to-keep-using-golang)
* [I won free load testing](https://fasterthanli.me/articles/i-won-free-load-testing)
* [Make Invalid States Unrepresentable](https://www.awwsmm.com/blog/make-invalid-states-unrepresentable)
* [My Reaction to Dr. Stroustrup’s Recent Memory Safety Comments](https://www.thecodedmessage.com/posts/stroustrup-response/)
* [Old Neglected Theorems Are Still Theorems](https://existentialtype.wordpress.com/2014/03/20/old-neglected-theorems-are-still-theorems/)
* [Revisiting Prechelt’s paper and follow-ups comparing Java, Lisp, C/C++ and scripting languages](https://renato.athaydes.com/posts/revisiting-prechelt-paper-comparing-languages.html)
* [Should You Use Upper Bound Version Constraints?](https://iscinumpy.dev/post/bound-version-constraints/)
* [So, You Want To Write Your Own Language?](https://digitalmars.com/articles/b89.html)
* [Structured Concurrency Anniversary](https://elizarov.medium.com/structured-concurrency-anniversary-f2cc748b2401)
* [The Heart of a Language Server](https://rust-analyzer.github.io//blog/2023/12/26/the-heart-of-a-language-server.html)
* [The Non-Productive Programmer (NPP)](https://gerlacdt.github.io/posts/nonproductive-programmer/)
* [V Language Review (2023)](https://n-skvortsov-1997.github.io/reviews/)
* [Which Interpreters are Faster, AST or Bytecode?](https://stefan-marr.de/2023/10/ast-vs-bytecode-interpreters/)
* [Why nullable types](https://medium.com/dartlang/why-nullable-types-7dd93c28c87a)

### Functional Programming
* [Advantages of Function Programming](https://typeable.io/blog/2021-02-26-fp-pros.html)
* [Monads For The Rest Of Us](https://arialdomartini.github.io/monads-for-the-rest-of-us)
* [Reducing bugs with tight types](https://gileschamberlin.com/2023/11/02/reducing-bugs-with-tight-types/)
* [Why Functional Programming Matters](https://www.cs.kent.ac.uk/people/staff/dat/miranda/whyfp90.pdf)

### Java/JVM
* [Circumventing the JVM's bytecode verifier](https://anthony.som.codes/blog/2019-12-30-jvm-hackery-noverify/)
* [Don’t call it a comeback: Why Java is still champ](https://github.com/readme/featured/java-programming-language)
* [Finalizing the Foreign APIs](https://inside.java/2021/09/16/finalizing-the-foreign-apis/)
* [GraalVM at Facebook](https://medium.com/graalvm/graalvm-at-facebook-af09338ac519)
* [How To Do Logging In Java](https://www.marcobehler.com/guides/java-logging)
* [Isolates and Compressed References: More Flexible and Efficient Memory Management via GraalVM](https://medium.com/graalvm/isolates-and-compressed-references-more-flexible-and-efficient-memory-management-for-graalvm-a044cc50b67e)
* [I've promised myself never to use Gradle](https://www.andreinc.net/2022/04/01/ive-promised-myself-never-to-use-gradle)
* [Overhead of Returning Optional Values in Java and Rust](https://pkolaczk.github.io/overhead-of-optional/)
* [Java is Still Free](https://docs.google.com/document/d/1nFGazvrCvHMZJgFstlbzoHjpAVwv5DEdnaBr_5pKuHo/mobilebasic)
* [Java Objects Inside Out](https://shipilev.net/jvm/objects-inside-out/#_jdks)
* [JDK 17 G1/Parallel GC changes](https://tschatzl.github.io/2021/09/16/jdk17-g1-parallel-gc-changes.html)
* [JVM Advent Calendar: A Beginner's Guide to Java Agents](https://dzone.com/articles/jvm-advent-calendar-a-beginners-guide-to-java-agen)
* [JVM Anatomy Quarks](https://shipilev.net/jvm/anatomy-quarks/)
* [JVM Internals](https://blog.jamesdbloom.com/JVMInternals.html)
* [My final take on Gradle (vs. Maven)](https://blog.frankel.ch/final-take-gradle/)
* [On the Performance of User-Mode Threads and Coroutine](https://inside.java/2020/08/07/loom-performance/)
* [Phantom types in Java](http://gabrielsw.blogspot.com/2012/09/phantom-types-in-java.html)
* [Pros and Cons for Using GraalVM Native-Images](https://dzone.com/articles/profiling-native-images-in-java)
* State of Valhalla
* [2020 Part 1](https://cr.openjdk.org/~briangoetz/valhalla/sov/01-background.html)
* [2020 Part 2](https://cr.openjdk.org/~briangoetz/valhalla/sov/02-object-model.html)
* [2021 Part 1](https://openjdk.org/projects/valhalla/design-notes/state-of-valhalla/01-background)
* [2021 Part 2](https://openjdk.org/projects/valhalla/design-notes/state-of-valhalla/02-object-model)
* [2021 Part 3](https://openjdk.org/projects/valhalla/design-notes/state-of-valhalla/03-vm-model)
* [String Tapas Redux](https://github.com/openjdk/amber-docs/blob/master/site/design-notes/templated-strings.md)
* [Using Java's Project Loom to build more reliable distributed systems](https://jbaker.io/2022/05/09/project-loom-for-distributed-systems/)
* [Virtual Threads: New Foundations for High-Scale Java Applications](https://www.infoq.com/articles/java-virtual-threads/)
* [What About the Performance of Java 8 Lambdas](https://www.beyondjava.net/performance-java-8-lambdas)
* [What is JEP-303 or reinventing `invokedynamic`](https://medium.com/@tagir_valeev/what-is-jep-303-or-reinventing-invokedynamic-4c43d84626eb)

### Rust
* [Asynchronous clean-up](https://without.boats/blog/asynchronous-clean-up/)
* [C++ is faster and safer than Rust: benchmarked by Yandex](https://pvs-studio.com/en/blog/posts/0733/)
* [Fearless Concurrency with Rust](https://blog.rust-lang.org/2015/04/10/Fearless-Concurrency.html)
* [How Rust went from a side project to the world’s most-loved programming language](https://www.technologyreview.com/2023/02/14/1067869/rust-worlds-fastest-growing-programming-language/)
* How to write really slow Rust code
* [Part 1](https://renato.athaydes.com/posts/how-to-write-slow-rust-code.html)
* [Part 2](https://renato.athaydes.com/posts/how-to-write-slow-rust-code-part-2.html)
* [Rust has a small standard library (and that's ok)](https://blog.nindalf.com/posts/rust-stdlib/)
* [The Future is Rusty](https://earthly.dev/blog/future-is-rusty/)
* [The Rust I Wanted Had No Future](https://graydon2.dreamwidth.org/307291.html)
* [This isn't the way to speed up Rust compile times](https://xeiaso.net/blog/serde-precompiled-stupid)
* [Using Rust at a startup: A cautionary tale](https://mdwdotla.medium.com/using-rust-at-a-startup-a-cautionary-tale-42ab823d9454)
* [What is Rust and why is it so popular?](https://stackoverflow.blog/2020/01/20/what-is-rust-and-why-is-it-so-popular/)

### Theory
* [15 Years of Concurrency](https://joeduffyblog.com/2016/11/30/15-years-of-concurrency/)
* [Beautiful Concurrency](https://www.microsoft.com/en-us/research/wp-content/uploads/2016/02/beautiful.pdf)
* [Beyond Exception Handling: Conditions and Restarts](https://gigamonkeys.com/book/beyond-exception-handling-conditions-and-restarts.html)
* [Challenging LR Parsing](https://rust-analyzer.github.io//blog/2020/09/16/challeging-LR-parsing.html)
* [Compile-time and short-circuit evaluation](https://c3.handmade.network/blog/p/8773-compile-time_and_short-circuit_evaluation)
* [Compiler Optimizations Are Hard Because They Forget](https://faultlore.com/blah/oops-that-was-important/)
* [Considerations for programming language design: a rebuttal](https://medium.com/hackernoon/considerations-for-programming-language-design-a-rebuttal-5fb7ef2fd4ba)
* [Invariants: A Better Debugger?](https://brooker.co.za/blog/2023/07/28/ds-testing.html)
* [Literate programming: Knuth is doing it wrong](https://akkartik.name/post/literate-programming)
* [Notes on structured concurrency, or: Go statement considered harmful](https://vorpus.org/blog/notes-on-structured-concurrency-or-go-statement-considered-harmful/#what-is-a-goto-statement-anyway)
* [Meta-compilation](https://web.stanford.edu/class/archive/cs/cs295/cs295.1086/lectures/donohue-slides.pdf)
* [Reducing boilerplate in finally tagless style](https://ro-che.info/articles/2016-02-03-finally-tagless-boilerplate)
* [Programming Paradigms for Dummies: What Every Programmer Should Know](https://www.info.ucl.ac.be/~pvr/VanRoyChapter.pdf)
* [Representing Heterogeneous Data](https://journal.stuffwithstuff.com/2023/08/04/representing-heterogeneous-data/)
* [The Impoliteness of Overriding Methods](https://journal.stuffwithstuff.com/2012/12/19/the-impoliteness-of-overriding-methods/)
* [The Problem with Threads](https://digitalassets.lib.berkeley.edu/techreports/ucb/text/EECS-2006-1.pdf)
* [The Trouble with Checked Exceptions A Conversation with Anders Hejlsberg, Part II](https://www.artima.com/articles/the-trouble-with-checked-exceptions)
* [What Color is Your Function?](https://journal.stuffwithstuff.com/2015/02/01/what-color-is-your-function/)
* [Types vs Sets](https://lawrencecpaulson.github.io/2022/03/16/Types_vs_Sets.html)

## Software Engineering
* [Agile and the Long Crisis of Software](https://logicmag.io/clouds/agile-and-the-long-crisis-of-software/)
* [Best Books For The Inquisitive Software Engineer](https://gerlacdt.github.io/posts/programming-books/)
* [Bullshit Software Projects](https://earthly.dev/blog/bullshit-software-projects/)
* [How I learned to turn Impostor Syndrome into an Advantage - The Impostor's Advantage](https://www.zainrizvi.io/blog/the-impostors-advantage/)
* [Imaginary Problems Are the Root of Bad Software](https://cerebralab.com/Imaginary_Problems_Are_the_Root_of_Bad_Software)
* [Magnitudes of exploration](https://lethain.com/magnitudes-of-exploration/)
* [McKinsey Developer Productivity Review](https://dannorth.net/mckinsey-review/?utm_source=substack&utm_medium=email)
* [Measuring developer productivity? A response to McKinsey](https://newsletter.pragmaticengineer.com/p/measuring-developer-productivity)
* [New grad vs Senior Developer](https://ericlippert.com/2020/03/27/new-grad-vs-senior-dev/)
* [The care and feeding of software engineers (or, why engineers are grumpy)](https://humanwhocodes.com/blog/2012/06/12/the-care-and-feeding-of-software-engineers-or-why-engineers-are-grumpy/)
* [The Differences Between a Junior, Mid-Level, and Senior Developer](https://betterprogramming.pub/the-differences-between-a-junior-mid-level-and-senior-developer-bb2cb2eb000d)
* [The forgotten mistake that killed Japan’s software industry](https://www.disruptingjapan.com/the-forgotten-mistake-that-killed-japans-software-industry/)
* [The Worst Programmer I know](https://dannorth.net/2023/09/02/the-worst-programmer/)
* [What’s the difference between software engineering and computer science degrees?](https://stackoverflow.blog/2023/04/10/whats-the-difference-between-software-engineering-and-computer-science-degrees/)
* [What Breaks Google?](https://research.google/pubs/what-breaks-google/)
* [Why Twitter Didn’t Go Down: From a Real Twitter SRE](https://matthewtejo.substack.com/p/why-twitter-didnt-go-down-from-a)

### Architecture/Design Patterns
* [Big Ball of Mud](http://www.laputan.org/mud/mud.html)
* [Collection Pipelines](https://martinfowler.com/articles/collection-pipeline/)
* [Feature Toggles (aka Feature Flags)](https://martinfowler.com/articles/feature-toggles.html)
* [Kernighan and Pike were right: Do one thing, and do it well](https://medium.com/source-and-buggy/do-one-thing-and-do-it-well-886b11a5d21)
* [Scaling microservices with gRPC: part one](https://www.thoughtworks.com/en-sg/insights/blog/microservices/scaling-microservices-gRPC-part-one)
* [When to *not* use SOLID principles](https://softwareengineering.stackexchange.com/questions/447532/when-to-not-use-solid-principles)
* [Why I don’t buy “duplication is cheaper than the wrong abstraction”](https://www.codewithjason.com/duplication-cheaper-wrong-abstraction/)
* [Write code that is easy to delete, not easy to extend.](https://programmingisterrible.com/post/139222674273/write-code-that-is-easy-to-delete-not-easy-to)

### Case Studies
* [Behind the scenes of Singapore’s nationwide ticket operating system for the National Day Parade](https://medium.com/open-government-products/behind-the-scenes-of-singapores-nationwide-ticket-operating-system-for-the-national-day-parade-3af0ae6e72ff)
* [Cache made consistent](https://engineering.fb.com/2022/06/08/core-data/cache-made-consistent/)
* [How Discord Supercharges Network Disks for Extreme Low Latency](https://discord.com/blog/how-discord-supercharges-network-disks-for-extreme-low-latency)
* [How to shuffle songs](https://engineering.atspotify.com/2014/02/how-to-shuffle-songs/)
* [How we store and process millions of orders daily](https://engineering.grab.com/how-we-store-millions-orders)
* [Integrating Rust and C++ in Firefox](https://manishearth.github.io/blog/2021/02/22/integrating-rust-and-c-plus-plus-in-firefox/)
* [Meta's serverless platform processes trillions of function calls a day](https://read.engineerscodex.com/p/meta-xfaas-serverless-functions-explained)
* [Post-Incident Review on the Atlassian April 2022 outage](https://www.atlassian.com/engineering/post-incident-review-april-2022-outage)
* [Ready for changes with Hexagonal Architecture](https://netflixtechblog.com/ready-for-changes-with-hexagonal-architecture-b315ec967749)
* [Scaling GraphQL at PayPal](https://medium.com/paypal-tech/scaling-graphql-at-paypal-b5b5ac098810)
* [Seeing through hardware counters: a journey to threefold performance increase](https://netflixtechblog.com/seeing-through-hardware-counters-a-journey-to-threefold-performance-increase-2721924a2822)
* [Taming Go’s Memory Usage, or How We Avoided Rewriting Our Client in Rust](https://www.akitasoftware.com/blog-posts/taming-gos-memory-usage-or-how-we-avoided-rewriting-our-client-in-rust)
* [TAO: The power of the graph](https://engineering.fb.com/2013/06/25/core-infra/tao-the-power-of-the-graph/)
* [The Story of the PS2’s Backwards Compatibility From the Engineer Who Built It](https://freelansations.medium.com/the-story-of-the-ps2s-backwards-compatibility-from-the-engineer-who-built-it-ec39cf5a0353)
* Uber's rewrite story (from different perspectives)
* [Uber's Crazy YOLO App Rewrite, From the Front Seat](https://blog.pragmaticengineer.com/uber-app-rewrite-yolo/)
* [McLaren Stanley's account](https://threadreaderapp.com/thread/1336890442768547845.html)
* [UK air traffic control meltdown](https://jameshaydon.github.io/nats-fail/)
* [Upgrading GitHub to Ruby](https://github.blog/2020-08-25-upgrading-github-to-ruby-2-7/)
* [Why We Started Putting Unpopular Assets in Memory](https://blog.cloudflare.com/why-we-started-putting-unpopular-assets-in-memory/)

### Practices & Processes
* [10 Proven Techniques for More Effective Code Reviews](https://www.dainemawer.com/articles/ten-proven-techniques-for-more-effective-code-reviews)
* [17 Mental Models, biases and fallacies that Software Developers should know](https://medium.com/@santiagobasulto/17-mental-models-biases-and-fallacies-for-software-developers-42f107bfcb84)
* [3 tribes of programming](https://josephg.com/blog/3-tribes/)
* [20 Things I’ve Learned in my 20 Years as a Software Engineer](https://www.simplethread.com/20-things-ive-learned-in-my-20-years-as-a-software-engineer/)
* [A Generation Lost in the Bazaar](https://queue.acm.org/detail.cfm?id=2349257)
* [A layman's guide to thinking like the self-aware smol brained](https://grugbrain.dev)
* [Cargo Cult Software Engineering](https://stevemcconnell.com/articles/cargo-cult-software-engineering/)
* [Choose Boring Technology](https://mcfunley.com/choose-boring-technology)
* [Common Bugs in Writing](https://www.cs.columbia.edu/~hgs/etc/writing-bugs.html)
* [Documentation unit tests](https://simonwillison.net/2018/Jul/28/documentation-unit-tests/)
* [Empirically supported code review best practices](https://graphite.dev/blog/code-review-best-practices)
* [Evidence Based Scheduling](https://www.joelonsoftware.com/2007/10/26/evidence-based-scheduling/)
* [Famous Laws of Software Development](https://www.timsommer.be/famous-laws-of-software-development/)
* [Five Worlds](https://www.joelonsoftware.com/2002/05/06/five-worlds/)
* [Google's technical writing blog](https://developers.google.com/tech-writing/one/words)
* [How does one get as close as possible to mastering software engineering?](https://archive.is/2021.08.23-182552/https://www.quora.com/How-does-one-get-as-close-as-possible-to-mastering-software-engineering/answer/Alan-Kay-11)
* [How Google takes the pain out of code reviews, with 97% dev satisfaction](https://read.engineerscodex.com/p/how-google-takes-the-pain-out-of)
* [How to Make Your Code Reviewer Fall in Love with You](https://mtlynch.io/code-review-love/)
* [How to Thrive as an Average Programmer](https://betterprogramming.pub/how-to-thrive-as-an-average-programmer-1dd202540ac)
* [Keeping code simple: moving fast by avoiding over-engineering](https://graphite.dev/blog/keeping-code-simple)
* [Investing in Internal Documentation: A Brick-by-Brick Guide for Startups](https://review.firstround.com/investing-in-internal-documentation-a-brick-by-brick-guide-for-startups)
* [Lessons from 6 software rewrite stories](https://medium.com/@herbcaudill/lessons-from-6-software-rewrite-stories-635e4c8f7c22)
* [Pair Programming](https://collaboration.csc.ncsu.edu/laurie/Papers/ESE%20WilliamsPairProgramming_V2.pdf)
* [Random Thoughts 15 Years into Software Engineering](https://roughlywritten.substack.com/p/random-thoughts-15-years-into-software)
* [Software engineering practices](https://simonwillison.net/2022/Oct/1/software-engineering-practices/)
* [The 10x Programmer Myth](https://www.simplethread.com/the-10x-programmer-myth/)
* [The Power of Ten – Rules for Developing Safety Critical Code](http://spinroot.com/gerard/pdf/P10.pdf)
* [The Pragmatic Engineer Test: 12 Questions on Engineering Culture](https://blog.pragmaticengineer.com/pragmatic-engineer-test/)
* [The Joel Test: 12 Steps to Better Code](https://www.joelonsoftware.com/2000/08/09/the-joel-test-12-steps-to-better-code/)
* [The Twelve-Factor App](https://12factor.net)
* [Things they didn’t teach you about Software Engineering](https://vadimkravcenko.com/shorts/things-they-didnt-teach-you/)
* [Top Five (Wrong) Reasons You Don’t Have Testers](https://www.joelonsoftware.com/2000/04/30/top-five-wrong-reasons-you-dont-have-testers/)
* [What distinguishes great software engineers?](https://faculty.washington.edu/ajko/papers/Li2019WhatDistinguishesEngineers.pdf)
* [What we talk about when we talk about impostor syndrome](https://stackoverflow.blog/2023/09/11/what-we-talk-about-when-we-talk-about-imposter-syndrome/?utm_campaign=the-overflow-newsletter&utm_medium=email&utm_source=iterable/)

## Uncategorized
* [10 Papers Every Developer Should Read (At Least Twice)](https://michaelfeathers.silvrback.com/10-papers-every-developer-should-read-at-least-twice)
* [Falsehoods Programmer Believe About Addresses](https://www.mjt.me.uk/posts/falsehoods-programmers-believe-about-addresses/)
* [Falsehoods Programmers Believe About Email](https://beesbuzz.biz/code/439-Falsehoods-programmers-believe-about-email)
* [Falsehoods Programmers Believe About Names – With Examples](https://shinesolutions.com/2018/01/08/falsehoods-programmers-believe-about-names-with-examples/)
* [Falsehoods programmers believe about time zones](https://www.zainrizvi.io/blog/falsehoods-programmers-believe-about-time-zones/)
* [Godot binding system explained](https://gist.github.com/reduz/cb05fe96079e46785f08a79ec3b0ef21)
* [Godot is not the new Unity - The anatomy of a Godot API call](https://sampruden.github.io/posts/godot-is-not-the-new-unity/)
* [How To Ask Questions The Smart Way](http://www.catb.org/~esr/faqs/smart-questions.html)
* [It takes a PhD to develop that](https://blog.royalsloth.eu/posts/it-takes-a-phd-to-develop-that/)
* [It's probably time to stop recommending Clean Code](https://qntm.org/clean)
* [Linguistic Antipatterns](https://www.linguistic-antipatterns.com/?tab=%22Confusable-methods%22)
* [Marketing for maintainers: Promote your project to users and contributors](https://github.blog/2022-07-28-marketing-for-maintainers-how-to-promote-your-project-to-both-users-and-contributors/)
* [Patterns in confusing explanations](https://jvns.ca/blog/confusing-explanations/)
* [Please Don't Learn to Code](https://blog.codinghorror.com/please-dont-learn-to-code/)
* [Programming Sucks](https://www.stilldrinking.org/programming-sucks)
* [Prompt injection explained, with video, slides, and a transcript](https://simonwillison.net/2023/May/2/prompt-injection-explained/)
* [Recommended Reading for Developers](https://medium.com/dartlang/why-nullable-types-7dd93c28c87a)
* [Second Part: The SLOs Playbook](https://medium.com/tblx-insider/second-part-the-slos-playbook-edf995a89f90)
* [Small Pleasures of Programming](https://terrycrowley.medium.com/small-pleasures-of-programming-ae4f50dde67a)
* [Stop Optimizing for Tutorials](https://matduggan.com/why-are-containers-insecure-by-default/)
* [Teach Yourself Programming in Ten Years](http://www.norvig.com/21-days.html)
* [The Decline of Usability](https://datagubbe.se/decusab/)
* [The silent majority](https://vadimkravcenko.com/shorts/the-silent-majority/)
* [The Two Generals Problem](https://haydenjames.io/the-two-generals-problem/)
* [Timezones](https://stackoverflow.com/tags/timezone/info)
* [Whatever happened to programming?](https://reprog.wordpress.com/2010/03/03/whatever-happened-to-programming/)
* [Why the C Language Will Never Stop You from Making Mistakes](https://thephd.dev/your-c-compiler-and-standard-library-will-not-help-you)