20 random bookmarks

2025-10-24

137.

How to Run 1:1s as an Engineering Manager

justoffbyone.com

2025-08-21

129.

A Brief Guide to A Few Algebraic Structures

argumatronic.com/posts/2019-06-21-algebra-cheatsheet.html

I 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

127.

A dive into open chat protocols

wiki.alopex.li/ADiveIntoOpenChat

2025-06-26

124.

The plan-execute pattern

mmapped.blog/posts/29-plan-execute.html

I 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

120.

zb beta released

www.zombiezen.com/blog/2025/06/zb-beta-release

zb 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

119.

Debugging tricks for IntelliJ

andreabergia.com/blog/2025/06/debugging-tricks-for-intellij

I 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

114.

SAT Live!

localhost:4000
113.

The Ingredients of a Productive Monorepo

blog.swgillespie.me/posts/monorepo-ingredients

2025-04-04

104.

Pitfalls of Safe Rus

corrode.dev/blog/pitfalls-of-safe-rust

When 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

103.

Life Altering Postgresql Patterns

mccue.dev/pages/3-11-25-life-altering-postgresql-patterns

2024-12-20

94.

Visitor Pattern Considered Pointless - Use Pattern Switches Instead

nipafx.dev/java-visitor-pattern-pointless

In 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

90.

Using Nix to Try Tools

entropicthoughts.com/using-nix-to-try-tools

2024-11-22

89.

New stuff in Emacs 30

www.mgmarlow.com/words/2024-07-28-emacs-30-news

Reading through the Emacs 30 NEWS file and picking
out the stuff I think is the most interesting.

2024-11-04

86.

Writing secure Go code

jarosz.dev/article/writing-secure-go-code

Security 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

78.

in which interactive development saves the day

technomancy.us/189

2024-09-19

77.

Blogging in Djot instead of Markdown

www.jonashietala.se/blog/2024/02/02/blogging_in_djot_instead_of_markdown

2024-08-08

63.

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.html

2024-06-13

25.

Solving SAT via Positive Supercompilation

hirrolot.github.io/posts/sat-supercompilation.html
23.

Macaroons Escalated Quickly

fly.io/blog/macaroons-escalated-quickly

2024-06-11

6.

Go evolves in the wrong direction

valyala.medium.com/go-evolves-in-the-wrong-direction-7dfda8a1a620

Go 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.