2025-10-24
How to Run 1:1s as an Engineering Manager
justoffbyone.com2025-08-21
A Brief Guide to A Few Algebraic Structures
argumatronic.com/posts/2019-06-21-algebra-cheatsheet.htmlI started writing this post because, for whatever reason, I keep forgetting what the difference is between a ring and a group, which is funny to me because I never forget the difference between a semiring and a semigroup – although other people do, because it’s quite easy to forget! So, I wanted a fast reference to the kinds of algebraic structures that I am most often dealing with in one way or another, usually because I’m writing Haskell (which has some reliance on terminology and structure from abstract algebra and category theory) or I’m trying to read a book about category theory and they keep talking about “groups.” Wikipedia, of course, defines all these structures, and that’s fine, but what I need in those times is more of a refresher than an in-depth explanation.
2025-07-31
A dive into open chat protocols
wiki.alopex.li/ADiveIntoOpenChat2025-06-26
The plan-execute pattern
mmapped.blog/posts/29-plan-execute.htmlI feel uneasy about design patterns.
On the one hand, my university class on design patterns revived my interest in programming.
On the other hand, I find most patterns in the Gang of Four book to be irrelevant to my daily work;
they solve problems that a choice of programming language or paradigm creates.My litmus test of a good design pattern is its cross-disciplinary applicability.
I’m more likely to accept an idea that pops up in fields beyond software engineering.
And the most convincing patterns are the ones that help me in everyday life.This article describes a universal pattern that billions of people rely on daily, but software engineers rarely discuss—the plan-execute pattern.
2025-06-18
zb beta released
www.zombiezen.com/blog/2025/06/zb-beta-releasezb is a tool for reproducibly building software, similar to Bazel.
(See the comparison page if you’re curious to know the differences.)
When a software build process is reproducible,
it will produce the exact same output
when given the same inputs.
Reproducibility is a desirable property for a software build process to have:
it simplifies debugging,
it enables build speed-ups,
and it is essential for digital supply chain security.
However, reproducibility is a difficult goal to achieve.
2025-06-17
Debugging tricks for IntelliJ
andreabergia.com/blog/2025/06/debugging-tricks-for-intellijI have been using IntelliJ Idea at work for a decade or so by now, and it’s been a reliable companion. JetBrains IDEs have a bit of a reputation for being slow, but their feature set is incredible: powerful refactoring tools, a great VCS UI (though I like magit even more!), a huge number of supported frameworks, integration with just about any testing library for any language, code coverage tools, powerful debuggers, etc.
2025-05-28
SAT Live!
localhost:4000The Ingredients of a Productive Monorepo
blog.swgillespie.me/posts/monorepo-ingredients2025-04-04
Pitfalls of Safe Rus
corrode.dev/blog/pitfalls-of-safe-rustWhen people say Rust is a “safe language”, they often mean memory safety.
And while memory safety is a great start, it’s far from all it takes to build robust applications.
Memory safety is important but not sufficient for overall r…
2025-03-21
Life Altering Postgresql Patterns
mccue.dev/pages/3-11-25-life-altering-postgresql-patterns2024-12-20
Visitor Pattern Considered Pointless - Use Pattern Switches Instead
nipafx.dev/java-visitor-pattern-pointlessIn modern Java, the visitor pattern is no longer needed. Using sealed types and switches with pattern matching achieves the same goals with less code and less complexity.
2024-12-17
Using Nix to Try Tools
entropicthoughts.com/using-nix-to-try-tools2024-11-22
New stuff in Emacs 30
www.mgmarlow.com/words/2024-07-28-emacs-30-newsReading through the Emacs 30 NEWS file and picking
out the stuff I think is the most interesting.
2024-11-04
Writing secure Go code
jarosz.dev/article/writing-secure-go-codeSecurity testing starts with understanding vulnerabilities. The CVE website lists known software flaws. The OWASP Top Ten highlights common weaknesses. With this knowledge, we can improve our Go development. This article shows how to put in place robust practices. They are to: fuzz inputs, verify dependencies, and use static analysis tools (SAST).
2024-09-25
in which interactive development saves the day
technomancy.us/1892024-09-19
Blogging in Djot instead of Markdown
www.jonashietala.se/blog/2024/02/02/blogging_in_djot_instead_of_markdown2024-08-08
More than 200 orphaned Debian packages moved to git, 216 to go
www.hungry.com/~pere/blog/More_than_200_orphaned_Debian_packages_moved_to_git__216_to_go.html2024-06-13
Solving SAT via Positive Supercompilation
hirrolot.github.io/posts/sat-supercompilation.htmlMacaroons Escalated Quickly
fly.io/blog/macaroons-escalated-quickly2024-06-11
Go evolves in the wrong direction
valyala.medium.com/go-evolves-in-the-wrong-direction-7dfda8a1a620Go programming language is known to be easy to use. Thanks to its well-thought syntax, features and tooling, Go allows writing easy-to-read…
Hard disagree on this one, but still interesting.