Tech stuff
Incubating Stuff to Read
- Read NASA's Hundred Rules
- 2018 State of Devops Report
- Add ALL the Things: Abstract Algebra Meets Analytics
- An intensive introduction to Cryptography
- Distributed systems theory for the distributed systems engineer
- From the Ground Up: Reasoning About Distributed Systems in the Real World – Brave New Geek
- donnemartin/system-design-primer: Learn how to design large-scale systems. Prep for the system design interview. Includes Anki flashcards.
- Programming book list
- Game Programming Resources thread
- Linux Kernel Tracing
- Debugging Stories
- Networks All The Way Down
- Networks All The Way Down, Pt 2
- An introduction to distributed systems
- Performance Checklists for SREs
- The network's the thing — Remains of the Day
- The Programming Languages Zoo
- danluu/post-mortems: A collection of postmortems
- firecracker/getting-started.md
- A New Golden Age for Computer Architecture | February 2019 | Communications of the ACM
- OOP Before OOP with Simula
- The History of Teaching Machines
- THE UNIX ORAL HISTORY PROJECT
- Bubble Sort: An Archaeological Algorithmic Analysis
- James on Twitter: "This thread about the dangers of normalizing operating outside designed tolerances.… "
- The Observation Deck » Reflecting on The Soul of a New Machine
- Quotes from 1992
- Factors in authentication
- The relative performance of C and Rust
- Falling in love with Rust
- Talks I have given (including bonus tracks!)
- The sudden death and eternal life of Solaris
- Forget privacy: you're terrible at targeting anyway - apenwarr
- Peter Bourgon · Observability: the hard parts
- The log/event processing pipeline you can't have
- OMG: Our Machinery Guidebook
- The Complicated Economy of Open Source Software
- unicode - Why does modern Perl avoid UTF-8 by default? - Stack Overflow
- Series: Unix as IDE « Arabesque
- Statistical Formulas For Programmers – Evan Miller
- DVCS and Bug Tracking
- Linux Performance Analysis: New Tools and Old Secrets
- True Zero Downtime HAProxy Reloads
- Web Design - The First 100 Years
- pyNES | Write NES games in Python
- Five years, building a culture, and handing it off. - Laughing Meme
- The Observation Deck » Software: Immaculate, fetid and grimy
- Debugging – Modifying Code At Runtime – mohit.io
- Linux Performance Analysis in 60,000 Milliseconds – Netflix TechBlog – Medium
- The TTY demystified
- gdb Debugging Full Example (Tutorial): ncurses
- My aimful life: Exploring and exploiting Lenovo firmware secrets
- html - What to do Regular expression pattern doesn't match anywhere in string? - Stack Overflow
- has_many :through - Yak Shaving
- IC reverse engineering and other adventures: Lab explosions and accidents
- danluu/post-mortems: A collection of postmortems. Sorry for the delay in merging PRs!
- datasette
- Programmer migration patterns
- An Enigma, unikernels booting on RISC-V, a rack encased in liquid. OH MY.
- Trust and Integrity
- Government. Medicine. Capitalism?
- From the File Vault: Pharmy Tales
- Reflections on SGX
- LD_PRELOAD: The Hero We Need and Deserve
- The New Golden Age of Building with Soul
- The Firmware and Hardware Rabbit Hole
- Secret Design Docs: Multi-Tenant Orchestrator
- For the Love of Pipes
- You might not need Kubernetes
- Installing and Using Wireguard, obviously with containers
- Talks
- Maelstrom: Mitigating Datacenter-level Disasters by Draining Interdependent Traffic Safely and Efficiently | USENIX
- aurora2.pdf
- Seeing is Believing: A Client-Centric Specification of Database Isolation - 2017-podc-seeing.pdf
- eurosys19uber.pdf
- Airs – Ian Lance Taylor » Linkers part 1
- Linkers and Loaders
- Thoughts on Conway's Law and the software stack
- Digging into RISC-V and how I learn new things
- Defining a Distinguished Engineer
- Storing UTC is not a silver bullet | Jon Skeet's coding blog
- What has your microcode done for you lately? | Performance Matters
- Conference Report: SRECon Americas 2019 — No Idea Blog
- What has your microcode done for you lately? | Performance Matters
- dvassallo/s3-benchmark: Measure Amazon S3's performance from any location.
- Codecademy vs. The BBC Micro
- Introduction to Computer Graphics -- Title Page
- A Git tool that I'd like and how I probably use Git differently from most people
- Using 6 Page and 2 Page Documents To Make Organizational Decisions
- However improbable: The story of a processor bug
- One Mo' Gin
- "The Mess We're In" by Joe Armstrong - YouTube
- Completely Fair Scheduler - Wikipedia
- An eBPF overview, part 1: Introduction
- An eBPF overview, part 2: Machine & bytecode
- qgrep internals
- Nathaniel J. Smith on Twitter: "TIL: early Unix had a goto command for use in shell scripts. Not a shell builtin. An actual /bin/goto executable. Think about how that could work. (Answer here: https://t.co/ZBGKg4zCpM)"
- Joe's Blog — a non-linear personal web notebook
- Transposit
- Electrical Engineering and Computer Science | MIT OpenCourseWare | Free Online Course Materials
- How I Almost Destroyed a £50 million War Plane and The Normalisation of Deviance. - Fast Jet Performance
- Reproducibility @ ICLR 2019 - Google Slides
- VCF East 2019 -- Brian Kernighan interviews Ken Thompson - YouTube
- A Conspiracy To Kill IE6
- Going Critical — Melting Asphalt
- Generating Software Tests
- Senate Testimony
- The Platform Challenge: Balancing Safety, Privacy and Freedom — Alex Stamos (DataEDGE 2019) - YouTube
- Why I (Still) Love Tech: In Defense of a Difficult Industry | WIRED
- nsdi19-park.pdf
- The 101 of ELF files on Linux: Understanding and Analysis - Linux Audit
- ELF_Format.pdf
- Performance Benchmark Analysis of Istio and Linkerd | Kinvolk
- Presentation Title - LSFMM2019_BPF_Observability.pdf
- Advanced Data Structures (6.851)
- Quick note: Friday wins and a case study in ritual design | Kellan Elliott-McCrea
- Serverless Microservice Patterns for AWS - Jeremy Daly
- LSFMM2019_BPF_Observability.pdf
- Notes to Myself on Software Engineering
- Implementing Distributed Transactions the Google Way: Percolator vs. Spanner
- hjacobs/kubernetes-failure-stories: Compilation of public failure/horror stories related to Kubernetes
- Rethinking Visual Programming with Go
- Is High Quality Software Worth the Cost?
- amershi-icse-2019_Software_Engineering_for_Machine_Learning.pdf
- TippingV2_0-sub_doc.pdf
- The Coming Software Apocalypse - The Atlantic - Pocket
- Real-world dynamic programming: seam carving
- A sane anacron setup
- hoelzro/lua-tracer: Reload-free print debugging for Lua
- aleatoric - testing statistical software
- Learning to build distributed systems - Marc's Blog
- A Case Study in Community-Driven Software Adoption - CommunityDrivenSoftwareAdoption.pdf
- Distributed Tracing — we’ve been doing it wrong - Cindy Sridharan - Medium
- Efficiently Searching In-Memory Sorted Arrays: Revenge of the Interpolation Search? - Revenge_of_the_Interpolation_Search.pdf
- Preventing Security Bugs through Software Design | USENIX
- [1907.02530] Security Implications Of Compiler Optimizations On Cryptography -- A Review
- Memelearning
- Linux Observability with BPF
- A Modern Space Cadet / Steve Losh
- Binni Shah on Twitter: "Let's Build a Compiler 01: Starting Out : https://t.co/jI07D3akPK 2) Primitives : https://t.co/zS7GnpBB5V 3) Locals, Conditionals, and the Heap : https://t.co/EcI1FrtrdV 4) Function Calls : https://t.co/CxR2hLok8c"
- Programming and Programming Languages
- MULUK17_Book.indb - download
- Destroy All Software
- Stuff Goes Bad: Erlang in Anger
- CAST_handbook.pdf
- The Best Refactoring You've Never Heard Of | Path-Sensitive
- Innovation Isn’t All Fun and Games — Creativity Needs Discipline
- Torching the Modern-Day Library of Alexandria - The Atlantic
- unix-review-bill-joy.pdf
- CDQ18002_Meng_Steinhardt_Schubert.pdf
- If you can, you should use
flock(1)
for shell script locking
- Getting NetworkManager to probably verify TLS certificates for 802.1x networks
- How not to set up your DNS (part 24)
- How
mountd
and exportfs
handle NFS export permissions on Linux
- Link: A program to read AMD Ryzen RAPL information on Linux
- technology-budgeting/handbook.md at master · 18F/technology-budgeting
- All the best engineering advice I stole from non-technical people
- ASCII table and history (or, why does Ctrl+i insert a Tab in my terminal?)
- David Jeske's answer to Why do some developers at strong companies like Google consider Agile development to be nonsense? - Quora
- Why Do Devs Hate Agile? - DZone Agile
- Pruning deleted remote Git branches (manually or automatically)
- Making sense of OpenBSD '
pfctl -ss
' output for firewall state tables
- Saying goodbye to Flash (in Firefox, and in my web experience)
- Go 2 Generics: contracts are now boring (and that's good)
- Early notes on using LSP-based editing in GNU Emacs for Python
- A situation where Python has undefined values
- A gotcha with Fedora 30's switch of Grub to BootLoaderSpec based configuration
- Systemd and waiting until network interfaces or addresses are configured
- Chris's Wiki :: blog/programming/GoAppearanceOfChanges
- Getting LSP-based editing working for Go in GNU Emacs
- Changes to Go and the appearance of finality
- Linux can run out of memory without triggering the Out-Of-Memory killer
- Roughly when the Linux Out-Of-Memory killer triggers (as of mid-2019)
- One core problem with DNSSEC
- Turning off DNSSEC in my Unbound instances
- Non-uniform caches are harder to make work well
- Optional dependencies don’t work
- Debugging experience in Debian
- TurboPFor: an analysis
- Docker and IPv6
- Network setup for our retro computing event RGB2Rv18
- Looking for a new Raspberry Pi image maintainer
- kinX: USB Hub
- kinX: keyboard controller with <0.225ms input latency
- kinX: latency measurement
- kinX: overview
- Converting a Go pointer to an integer doesn't quite do what it looks like
- Finding metrics that are missing labels in Prometheus (for alert metrics)
- The problem of 'triangular' Network Address Translation
- Some notes on the structure of Go binaries (primarily for ELF)
- Bidirectional NAT and split horizon DNS in our networking setup
- A safety note about using (or having)
go.mod
inside $GOPATH
in Go 1.13
- Jumping backward and forward in GNU Emacs
- Another way to do easy configuration for lots of Prometheus Blackbox checks
- Making Uncommon Knowledge Common – kwokchain
- Code as Craft, Etsy's Engineering Blog
- Executing a Sunset - Code as Craft
- Continuous Deployment at Etsy: A Tale of Two Approaches
- Chapter 1. General Unix and Advanced C
- Preface - Feedback Control for Computer Systems
- Shtetl-Optimized » Blog Archive » Paul Bernays Lectures
- Bits or pieces?: From values to rituals
- Philosophy of Computer Science
- How Figma’s multiplayer technology works
- Introduction - Roguelike Tutorial - In Rust
- Meaningful Availability
- () - LittleBookOfSemaphores.pdf
- The Little Book of Semaphores – Green Tea Press
Algorithms to Grok
Incubating Stuff to Watch
- Inside AWS: Technology Choices for Modern Applications
- DDB NoSQL
- A Crash Course in Modern Hardware by Cliff Click - YouTube
- !!Con 2019- Tail Call Optimization: The Musical!! by Anjana Vakil & Natalia Margolis - YouTube
- AWS re:Inforce 2019: Scale Permissions Management in AWS w/ Attribute-Based Access Control (SDD350) - YouTube
- Here's What Happens When an 18 Year Old Buys a Mainframe - YouTube
- Szymon Kaliski - Walking In The Garden Of Forking Paths - YouTube
- AWS re:Invent 2018: [REPEAT 1] Deep Dive on Amazon Aurora with MySQL Compatibility (DAT304-R1) - YouTube
- 7th Edition Unix at 40 by Warner Losh - YouTube
- LCM+L PDP-7 booting and running UNIX Version 0 - YouTube
- (1) Jerry Hargrove on Twitter: "I was able to attend just one session at #reInvent this year before going home sick & this was it, CON333, CI/CD for AWS Fargate & Amazon ECS by @clare_liguori & @SoManyHs. If it had to be just one, I'm glad this was the one. Check it out! https://t.co/BJ4crtcthN" / Twitter
- AWS re:Invent 2019: Using containers & serverless to accelerate application development (CON213-L) - YouTube
- AWS re:Invent 2019: Leadership session: Networking (NET203-L) - YouTube
- AWS re:Invent 2019: [REPEAT 1] Amazon's approach to building resilient services (DOP342-R1) - YouTube
- AWS re:Invent 2019: It’s always day zero: Working on open source and security (OPN219) - YouTube
- AWS re:Invent 2019: [REPEAT 1] Deep dive into AWS Cloud Development Kit (DOP402-R1) - YouTube
- AWS re:Invent 2019: [REPEAT 1] Security benefits of the Nitro architecture (SEC408-R1) - YouTube
- AWS re:Invent 2019: [REPEAT 1] Deep dive on Amazon EBS (STG303-R1) - YouTube
- AWS re:Invent 2019: Speculation & leakage: Timing side channels & multi-tenant computing (SEC355) - YouTube
- AWS re:Invent 2019: [REPEAT 1] BPF performance analysis at Netflix (OPN303-R1) - YouTube
- John Allspaw: People are the adaptable element of complex systems on Vimeo
- OSFC 2019 - Open Source Firmware Conference
- Let's Talk Locks!
- EBtree - Design for a Scheduler and Use (Almost) Everywhere
- Leaving the Ivory Tower: Research in the Real World
- Using Randomized Communication for Robust, Scalable Systems
- The State of Serverless Computing
- Stateful Programming Models in Serverless Functions
- Sundaram Ananthanarayanan.mov
- D2-S4-P3.mp4
- D2-S4-P1.mp4
Incubating Books to Read
- Elements of Programming
- Refactoring
Reference