Aphyr: Posts

https://aphyr.com/ (RSS)
visit blog
Ecobee Settings for Heat Pumps with Resistive Aux Heat
29 Feb 2024 | original ↗

I’m in the process of replacing a old radiator system with a centrally-ducted, air-source heat pump system with electric resistive backup heat. I’ve found that the default ecobee algorithm seems to behave surprisingly poorly for this system, and wanted to write up some of the settings that I’ve found yield better behavior. A disclaimer. I’m not...

ClassNotFoundException: java.util.SequencedCollection
20 Feb 2024 | original ↗

Recently I’ve had users of my libraries start reporting mysterious errors due to a missing reference to SequencedCollection, a Java interface added in JDK 21: Execution error (ClassNotFoundException) at jdk.internal.loader.BuiltinClassLoader/loadClass (BuiltinClassLoader.java:641). java.util.SequencedCollection Specifically, projects using Jepsen...

How to Replace Your CPAP In Only 666 Days
4 Feb 2024 | original ↗

This story is not practical advice. For me, it’s closing the book on an almost two-year saga. For you, I hope it’s an enjoyable bit of bureaucratic schadenfreude. For Anthem, I hope it’s the subject of a series of painful but transformative meetings. This is not an isolated event. I’ve had dozens of struggles with Anthem customer support, and...

Why is Jepsen Written in Clojure?
5 Dec 2023 | original ↗

People keep asking why Jepsen is written in Clojure, so I figure it’s worth having a referencable answer. I’ve programmed in something like twenty languages. Why choose a Weird Lisp? Jepsen is built for testing concurrent systems–mostly databases. Because it tests concurrent systems, the language itself needs good support for concurrency....

Finding Domains That Send Unactionable Reports in Mastodon
3 Sept 2023 | original ↗

One of the things we struggle with on woof.group is un-actionable reports. For various reasons, most of the reports we handle are for posts that are either appropriately content-warned or don’t require a content warning under our content policy–things like faces, butts, and shirtlessness. We can choose to ignore reports from a domain, but we’d...

10⁹ Operations: Large Histories with Jepsen
18 Aug 2023 | original ↗

Jepsen is a library for writing tests of concurrent systems: everything from single-node data structures to distributed databases and queues. A key part of this process is recording a history of operations performed during the test. Jepsen checkers analyze a history to find consistency anomalies and to compute performance metrics. Traditionally...

Fast Multi-Accumulator Reducers
27 Apr 2023 | original ↗

Again with the reductions! I keep writing code which reduces over a collection, keeping track of more than one variable. For instance, here’s one way to find the mean of a collection of integers: (defn mean "A reducer to find the mean of a collection. Accumulators are [sum count] pairs." ([] [0 0]) ([[sum count]] (/ sum count)) ([[sum...

Monkeypox in Ohio
22 Jul 2022 | original ↗

Update 2022-08-12: The Hamilton County Health Department now has a page about monkeypox with symptoms and isolation guidance, as well as options for vaccination, testing, and treatment–look for “complete our monkeypox vaccine registration”. The Cincinnati Health Department is also offering vaccines for high-risk groups. People in Hamilton County...

Loopr: A Loop/Reduction Macro for Clojure
24 Jun 2022 | original ↗

I write a lot of reductions: loops that combine every element from a collection in some way. For example, summing a vector of integers: (reduce (fn [sum x] (+ sum x)) 0 [1 2 3]) ; => 6 If you’re not familiar with Clojure’s reduce, it takes a reducing function f, an initial accumulator init, and a collection xs. It then invokes (f init x0) where...

A History of Leather at Pride: 1965-1995
18 Sept 2021 | original ↗

This history is also available as a PDF or EPUB, which may be more pleasant for reading. You can also download the full BibTeX database for this work. If you have a story you’d like to share, you can email aphyr+leather-history@aphyr.com. The 1979 Gay Freedom Day Committee will apparently take the advice of its March Subcommittee and not...

Site Redesign
28 Mar 2021 | original ↗

Hey y’all! It’s been, gosh, what, ten years? I finally finished a total site redesign: all-new backend, HTML, CSS, modern image formats, etc. It’s finally readable on mobile now! There’s a lot of accumulated cruft in the database and filesystem–aphyr.com is old enough that it still has redirects for CGI scripts written circa 2005. While I’ve...

Maintenance Downtime
25 Mar 2021 | original ↗

Hey y’all. Doing some long-overdue upgrades on aphyr.com; service will be up and down for a few hours; emails might bounce, etc. as I get things sorted. Update: All finished, thanks for bearing with me!

↑ these items are from RSS. Visit the blog itself at https://aphyr.com/ to find other articles and to appreciate the author's digital home.