Sympolymathesy, by Chris Krycho

Learning in public: on theology, technology, ethics, software, politics, art, and more.
https://v5.chriskrycho.com/ (RSS)
visit blog
[notes] minijinja Custom Functions Type Error Tip
29 Jan 2025 | original ↗

Make sure that every value you need to use in a minijinja template function implements `serde::Deserialize`, or you will have a bad time.

[notes] TypeScript 5.8 Checks Runtime Code for Conditional Types!
29 Jan 2025 | original ↗

Historically, conditional types only gave you type safety on the caller side. Now, for a key subset, they give you safety within a function, too.

[notes] Re-packaging Existing Content, Transformation, or Both?
29 Jan 2025 | original ↗

Some technical notes for thinking about the legal and ethical questions around “generative” AI systems.

[notes] One Reason Job Hunting is Exhausting
29 Jan 2025 | original ↗

Trying to find a job is an exercise in doing a great deal of work and getting nothing for it: which is exhausting.

[notes] Snuggle Your Kids
28 Jan 2025 | original ↗

Especially (but of course not only!) on hard days.

[notes] How I Use Freedom to Focus
28 Jan 2025 | original ↗

For all the times when I don’t have the discipline to dodge social media and chat myself, I use Freedom to make sure I still do what I most desire.

[notes] The Curse of Knowledge and True Myth’s Documentation
25 Jan 2025 | original ↗

We heard that there are some big gaps in True Myth’s docs for `Task` in particular. It’s true! Some thoughts on why… and how I hope to fix it.

[notes] Recovery Time as an Indicator of Fitness
25 Jan 2025 | original ↗

An experience report “from the field” as it were.

[elsewhere] Tasks You Can Retry: True Myth v8.5.0
25 Jan 2025 | original ↗

True Myth v8.5 adds a handy new function to allow you to retry any task—with good defaults, and also with great progressive disclosure of complexity.

[notes] A Reasonable Error Printing Utility in TypeScript
24 Jan 2025 | original ↗

A very simple tool for getting structured chains of errors in JavaScript using the ES2022 `Error.prototype.cause` property.

[library] Retractions and Revisions: My Review of Real Essentialism
23 Jan 2025 | original ↗

I still dislike the book, but I’m not well-studied-enough to review it meaningfully, and I can do better as a reader and reviewer!

[notes] mdBook tip: Redirects and the SUMMARY.md file
22 Jan 2025 | original ↗

If you are redirecting mdBook chapters, make sure you update links in `SUMMARY.md`, or else your redirects will not work.

[notes] jj tip: describe multiple revisions at once
22 Jan 2025 | original ↗

You can pass a revset, including one that specifies a fileset, to `jj desc` and describe multiple commits at the same time. Cool!

[journal] The Essence of Successful Abstractions
22 Jan 2025 | original ↗

Complexity has to live somewhere; but it does not have to live everywhere.

[notes] Two Quotes and a Question on Software Engineering and AI
20 Jan 2025 | original ↗

What should we make of generative AI systems in software engineering?

[notes] Improving jj-gcp with JSON Schema and schemars
18 Jan 2025 | original ↗

The little tool I use to generate descriptive branch names for jj is now more configurable and reliable. And I learned some things!

[notes] A Little Soulver Coffee Calculator
18 Jan 2025 | original ↗

One of the many ways I use a great app in day-to-day life!

[notes] PSA: Kaleidoscope 5.3 Does Not Like /var
17 Jan 2025 | original ↗

And how to fix it as a jj user.

[notes] What Distinguishes Newsletters from Blogs?
17 Jan 2025 | original ↗

Genre, medium, content… delivery mechanism?

[notes] JavaScript’s Promise.race and Promise.all Are Not “Fair”
16 Jan 2025 | original ↗

Just like life! And just like life, you just have to deal with it.

[notes] Resilience, Robustness, and Competence Envelopes
14 Jan 2025 | original ↗

Some great additions to my systems thinking vocabulary, courtesy of Lorin Hochstein.

[notes] Against Hard-Wrapping Text Documents
13 Jan 2025 | original ↗

Yes, it makes things look nicer in a very few, very specific places. But it makes it that much worse everywhere else.

[elsewhere] True Myth v8.4.0
11 Jan 2025 | original ↗

The `Task` type is now feature complete. So where does the library go from here?

[notes] Momentum
11 Jan 2025 | original ↗

On the potential positive power of inertia.

[library] An Octopus That Will Not Be Tamed?
11 Jan 2025 | original ↗

Recommended: In which Williams demonstrates lucidly and extensively just how much of the modern debates about corporations turns out to be merely an extension of long-running arguments going back over a century. This is an excellent popular history of the corporation in culture in the 20th century.

[elsewhere] True Myth v8.3.0
10 Jan 2025 | original ↗

Adding all the bits we didn’t have in the first Task release… and deprecating some mistakes, too.

[notes] jj tip: Squash Changes From Across a Revset
8 Jan 2025 | original ↗

You can use `jj squash --from` with a revset to move changes out of a set of commits into another commit. Handy for breaking up changes into small PRs!

[library] Review: Scout Mindset
8 Jan 2025 | original ↗

Recommended With Qualifications: Much better than average in the “how to be a better thinker” space, and worth a read. Her view on “identity” is almost right, but worth a closer look—especially if, like me, you think identity framed rightly is extremely important!

[notes] Big Picture Planning Makes Little Picture Planning Easier
7 Jan 2025 | original ↗

Year, month, week, day, hour—and probably not further.

[notes] Inspiration and the Subconscious
4 Jan 2025 | original ↗

Inspiration is not always conscious; sometimes we cannot even say what it is we want to try artistically until we are already trying it.

[journal] This Is Not Your Last Job
4 Jan 2025 | original ↗

Years ago, a colleague asked me why I cared about Rust when we would never use it. Part of the answer: that was not my last job.

[elsewhere] True Myth v8.2.0—Now With a Task Type!
3 Jan 2025 | original ↗

True Myth now has a tool for safe async in TypeScript: a `Task` type, the glorious combination of a `Promise` and a `Result`.

[notes] A Year of Shipping
3 Jan 2025 | original ↗

Reflecting on 2024 helped me see how I should approach 2025: by committing to do things which help me put work into the world—and not to dither.

[notes] “Working Effectively” Instead of “Productivity”
2 Jan 2025 | original ↗

These days, I speak and write and think in terms of “working effectively” rather than “being productive”—a subtle shift in framing that matters a lot.

[notes] A Structure for Personal Reviews
2 Jan 2025 | original ↗

I try (and have mostly succeeded for the past year) to do daily, weekly, monthly, and annual reviews with a particular structure: wins, misses, learnings, mulling.

[journal] 2024 in Review
1 Jan 2025 | original ↗

A very strange year: parts of it far exceeding my hopes, others falling rather flat.

[elsewhere] Announcement: LambdaConf 2025 Keynote
30 Dec 2024 | original ↗

My first-ever keynote! I am speaking at LambdaConf 2025, in May 2025, about open source software as a public good—indeed, as infrastructure.

[notes] TrainingPeaks Virtual and Garmin TacX NEO Bike
27 Dec 2024 | original ↗

TrainingPeaks Virtual (formerly IndieVelo) will only correctly send incline changes to the bike if it sees the bike primarily as a virtual trainer rather than as a power meter.

[journal] Deferred Conflict Resolution in Jujutsu
26 Dec 2024 | original ↗

Doesn’t that just make things worse somehow?

[notes] 2024.12.25.1706
26 Dec 2024 | original ↗

title: Why the Jujutsu posts are all about differences from Git subtitle: After all, it can do all the normal Git workflows, too… date: 2024-12-25T17:05:00-0700 qualifiers: audience: > Although…

[journal] Jujutsu Megamerges and jj absorb
24 Dec 2024 | original ↗

A really handy approach for splitting apart changes into multiple branches but working on their combination.

[notes] macOS tip: Spell Check with ⌘: and ⌘;
24 Dec 2024 | original ↗

The built-in functionality is great, actually.

[journal] Psychological Benefits of Cool-Downs
23 Dec 2024 | original ↗

Many workouts include a structured cool-down. The physiological benefits of this are well-known… but there are significant psychological benefits, too.

[library] The Master and His Emissary: The Divided Brain and the Making of the Western World
22 Dec 2024 | original ↗

Recommended With Qualifications: A book of two minds, as it were—the first half interesting and well worth your time, a fascinating look at what we know about the brain hemispheres; the second half an off-the-rails cultural history that goes far beyond the evidence.

[notes] Mental State and Perceived Exertion
22 Dec 2024 | original ↗

It’s one thing to know that perceived exertion is affected by mental state; it’s something else entirely to experience it.

[notes] rust-analyzer version via rust-toolchain.toml
20 Dec 2024 | original ↗

You can use the `components` field of `rust-toolchain.toml` to specify which version of `rust-analyzer` to use in a project.

[notes] Fast Forward “Merges” on GitHub
20 Dec 2024 | original ↗

This should be built in, but it isn’t, so this is of limited use. But not none!

[notes] fish shell v4 beta 1
20 Dec 2024 | original ↗

A bunch of small nice improvements… and a rewrite in Rust!

[notes] Noteblogging
19 Dec 2024 | original ↗

Noteblogging is what I am doing in my “Notes” section, and that Simon Willison does every day: blog as public notebook and notes to friends.

[notes] Publishing to GitHub Pages via GitHub Actions
19 Dec 2024 | original ↗

You can publish to GitHub pages via GitHub Actions, but you need to configure both the project’s GitHub Pages setup and its github-pages environment.

[notes] Byword
19 Dec 2024 | original ↗

Byword.app is still a great writing tool on Mac, despite its having gone without significant updates for the past few years.

[notes] Shellcheck
19 Dec 2024 | original ↗

If you want your shell scripting to be as bug-free and reliable as possible, use Shellcheck!

[notes] Configure Zed to Use the Project’s rust-analyzer
18 Dec 2024 | original ↗

Upsides and downsides of configuring your editor to always use the version of rust-analyzer which came with the version of Rust you are using.

[notes] Corrections: Using Drop Safely, Not For Safety
17 Dec 2024 | original ↗

My note about using Drop in Rust last week had a serious error!

[journal] Read the Code: Using Drop Safely in Rust
17 Dec 2024 | original ↗

A deep dive into Rust’s vec::Drain and its Drop implementation as an example of how ownership prevents subtle bugs—memory and otherwise!

[notes] To Throw or Not to Throw in TypeScript?
16 Dec 2024 | original ↗

Reserve exceptions for exceptional behavior. Use a union type or a `Result` type for excepted errors!

[notes] jj tip: ignore gh-pages by default
16 Dec 2024 | original ↗

I defined a revset and tweaked my defaults in Jujutsu so now I never have to think about `gh-pages` unless I actively want to.

[notes] Buttondown’s Alternatives Page
15 Dec 2024 | original ↗

A software product that is not indulging in winner-take-all, try-to-own-the-world machinations? Is this… possible?

[notes] Runtime or Types?
14 Dec 2024 | original ↗

Static types are *always* checking some (subset of) runtime behavior. The interesting question is: How much?

[notes] Mozi
13 Dec 2024 | original ↗

A great idea for a “social” app that is not social *media*—and which fills a gap I have felt for years.

[notes] Mac App of the Year is… Lightroom?
12 Dec 2024 | original ↗

Highlighting an app that is a powerful tool with a bunch of AI features but not a great Mac app says a lot about Apple’s priorities.

[notes] jj Tip: Rebase All Branches Matching a Revset
12 Dec 2024 | original ↗

You can rebase all branches matching a revset using the `all:` modifier. Incredibly powerful, and super easy to use.

[notes] cargo-semver-checks v0.38.0
11 Dec 2024 | original ↗

More lints for the sake of fewer SemVer issues in Rust libraries!

[elsewhere] Dorico Tip: Transposing and Key Signatures
10 Dec 2024 | original ↗

Just a quick little video inspired by a friend’s question!

[notes] Ghost (Instead of Substack)
9 Dec 2024 | original ↗

Own your turf! Including, if you have one, a newsletter!

[notes] Implications of Plateauing LLMs
9 Dec 2024 | original ↗

They may not be what you think.

[notes] Is Organic Social Media Dead?
9 Dec 2024 | original ↗

There are easy critiques to make of Bluesky etc., and they are mostly wrong. There are also *deep* critiques, and they may be right.

[notes] 2024 State of Rust Survey
6 Dec 2024 | original ↗

An opportunity to provide real and actionable information to the Rust project leadership. Take it!

[elsewhere] dprint for Nova
6 Dec 2024 | original ↗

I just published v0.1.0 of a dprint extension for the Nova text editor. It currently handles formatting files.

[notes] The Blue Oak Model License
6 Dec 2024 | original ↗

If you’re looking for a permissive license, this is a good one!

↑ These items are from RSS. Visit the blog itself at https://v5.chriskrycho.com/ to find everything else and to appreciate author's digital home.