technically a blog
If you have comments, questions, or feedback, please email my public inbox or my personal email. To get new posts, please use my RSS feed.
- 2023-06-05: Units in Go and Rust show philosophical differences
- 2023-05-29: Email addresses are not primary user identities
- 2023-05-22: We deserve to know if something was generated by AI
- 2023-05-15: It's easier to code review Rust than Python
- 2023-05-10: Visualizing the FIDE World Chess Championship
- 2023-05-08: Your app doesn't need to know my gender
- 2023-05-01: You should be using hackdays to supercharge your roadmap
- 2023-04-24: Rust allows redeclaring local variables to great benefit
- 2023-04-17: Scheduling visits from the muse
- 2023-04-10: Feature flags and authorization abstract the same concept
- 2023-04-03: Coding with LLMs can lead to more and better software
- 2023-03-27: Different topologies for an org chart, wrong answers only
- 2023-03-20: Betraying vim for the IDEs of March
- 2023-03-14: Approximating pi using... a cake?
- 2023-03-06: Getting people to tell you you're wrong
- 2023-02-27: If software engineering roles were chess pieces, what would they be?
- 2023-02-20: What's in my software engineering tool belt?
- 2023-02-13: A systems design perspective on why chess.com's servers have been melting
- 2023-02-06: What's the difference between references and pointers in Rust?
- 2023-01-30: Does technology have a right to exist? (No.)
- 2023-01-23: Speeding up queries 1000x by sorting my bitmaps
- 2023-01-16: Why Rust's learning curve seems harsh, and ideas to reduce it
- 2023-01-09: Names should be cute, not descriptive
- 2023-01-02: A confusing lifetime error related to Rust's lifetime elision
- 2022-12-28: Reflecting on 2022, Looking Ahead to 2023
- 2022-12-19: return "reflections on a batch";
- 2022-12-16: Working with Rust in (neo)vim
- 2022-12-10: RC Week 12: What's Next, and Speedrunning Crafting Interpreters
- 2022-12-07: Building Molecule Reader in one day
- 2022-12-03: RC Week 11: Learning is best when multiplayer
- 2022-12-01: Tech systems amplify variety and that's a problem
- 2022-11-25: RC Week 10: Thankful for Family, Missing my Family
- 2022-11-22: Measuring the overhead of HashMaps in Rust
- 2022-11-19: RC Week 9: Parallels of Proofs and Programs
- 2022-11-16: I'm moving my projects off GitHub
- 2022-11-12: RC Week 8: Life happens, and databases are hard
- 2022-11-08: Open source licenses as a reflection of values
- 2022-11-04: RC Week 7: Four habits to improve as a programmer
- 2022-11-04: Paper review: C-store
- 2022-10-29: RC Week 6: Halfway done, wrote a parser!
- 2022-10-28: My first impressions from a few weeks with Lean and Coq
- 2022-10-27: Paper review: Concurrency Control Performance Modeling
- 2022-10-21: RC Week 5: Wrapping up projects and starting a new one
- 2022-10-18: Alpha-beta pruning illustrated by the smothered mate
- 2022-10-14: RC Week 4: Gratitude and emotions
- 2022-10-11: Paper review: The Gamma Database Project
- 2022-10-08: RC Week 3: Returning to Math
- 2022-10-06: Starting my (overkill) homelab
- 2022-10-01: Paper Review: Architecture of a Database System
- 2022-09-30: RC Week 2: Pairing is Awesome
- 2022-09-28: Rounding in Python
- 2022-09-24: RC Week 1: Getting Unexpected Extrovert Energy
- 2022-09-11: I'm taking a sabbatical and attending Recurse Center!
- 2022-07-09: Running an Effective Book Club at Work
- 2021-07-03: Where are we going from here? Software engineering needs formal methods
- 2021-02-01: Drawbacks of developing in containers
- 2021-01-11: Lessons from my first (very bad) on-call experience
- 2021-01-04: Load testing is hard, and the tools are... not great. But why?
- 2020-12-22: Tech salaries probably aren't dropping from remote work
- 2020-12-08: Solving my fun, frustrating docker-machine error
- 2020-10-14: What's "good" code and does it matter?
- 2020-07-26: Where is the source code for ping?
- 2020-05-15: Parallel assignment: a Python idiom cleverly optimized
- 2020-04-29: Terminology matters: let's stop calling it a "sprint"
- 2019-02-27: Gmail's "Smart Compose" feature should be considered harmful
- 2018-12-31: Books I Read in 2018
- 2018-11-02: Kill the crunch time heroics
- 2018-10-26: Avoid multitasking to write better code
- 2018-09-14: Distractions Cause Bad Code
- 2018-09-07: Don't Disrupt Things; Fix Them
- 2018-08-31: Even bad estimates are valuable if you use them right
- 2018-08-23: Topologies of Remote Teams
- 2018-06-02: How I Work Remotely
- 2017-09-02: The bittersweet end of a year of independence
- 2017-08-07: On Estimates, Time, and Evidence
- 2017-07-30: PyOhio
- 2017-01-21: Growing Teams and Baking Bread
- 2016-11-12: Functional Programming and Big Data
- 2016-10-12: Security of the Infinity Ergodox on Mac OS
- 2016-09-26: Consider Part-Time Work
- 2016-08-21: Starting a New Chapter
- 2016-04-05: [Talk] Scaling Graphs
- 2016-03-15: [Review] "The Circle" by Dave Eggers
- 2016-03-07: Surveillance, Schools, and Our Children
- 2016-02-19: Fight Burnout, Go For a Run
- 2015-07-13: [Review] "Data and Goliath" by Bruce Schneier
- 2015-03-08: In Defense of the Midwest
- 2015-02-22: How Cryptology Can Fix Identity Theft
- 2015-02-22: The Beginning of Something