Current Phase of the Moon as an Emoji

In case you want it for The Password Game. I put this together to make the favicon of my site be the current phase of the moon, and then saw it came up for the password game. You can verify this is the correct phase at In case you want some more moon things, here’s the script for setting the favicon: Moon emoji favicon And here’s post about getting the moon emoji on your terminal prompt: CLI for the moon

August 22, 2023


A black cat accountant In about the 17th iteration of me working on a personal finance app, I’m setting up a plaid integration. The tooling setup roughly looks like: Beancount as the resulting data format Fava as the view beancount-import to help automatically categorizing Plaid to download transaction data (they support OpenBanking now!) Beancount is mostly in python, but I’ve also got a wrapping API server in Rust (maybe not my best move, but learning Rust has been fun)....

November 12, 2022

Rust: What to pick for the Error type when writing your own Result type

The Result type in rust is great! Combined with the ? operator, it makes error handling much more concise than other languages. Consider ? vs: Go: if err != nil { return nil, err } Java: try { ... } catch { ... } & throws When defining my own Result<T, E> type, leaving the T generic is really great, so you can have functions that return a variety of things, and have them return the same kind of error without having to specify it each time....

April 28, 2021

Observable + bean-count

Two of my favorite tools lately are Observable ( (a long time favorite for quickly prototyping javascript and creating interactive visualizations) and bean-count (a more recent addition for doing “hobbyist double entry accounting” (a special form of “fun”)). fava is a great open source web UI for bean-count that gives great default reports, and lets you submit custom queries. However, part of the reason bean-count is so cool is that you have this super rich data that I want to experiment rendering in all kinds of ways, and also combine with other data like my predicted future spending etc....

April 20, 2021

Learning Mutability in Rust

I’m writing Rust for the first time in awhile, and I ran into an issue with mutability, that I figured I’d write up. The thing I was trying to do was have a Client that creates an XML response body, and then makes a request to a server. There are several parameter that make their way into the response that I want to be immutable, and I want the resulting XML to be available as bytes....

March 14, 2021

How to MITM yourself with socat with TLS

I was learning about OFX api’s (what Quicken uses to pull your transaction info) for a personal project, and I kept getting 400 Bad Request errors. I wanted to see what the requests I was making with curl looked like to the server. Then I wanted to compare what requests from an existing tool looked like. This led me to socat. This won’t really be a MITM in this post, since we won’t be forwarding the traffic on....

March 12, 2021

Skincare: An ignorant guy's attempt to learn more part 2 - Dermatologists and the microbiome

In the first post in this series, I laid out the following things to do: See a dermatologist (but read below about things to keep in mind) Try a product “diet” to see if less is more for your skin Get some sunscreen from outside the US Be skeptical, and support new personal product regulations In this post, I’ll tackle the first two bullet points. See a dermatologist This is probably the least controversial advice anyone can give on skincare....

March 5, 2021

Skin care: an ignorant guy's attempt to learn more

Bernie Sanders was interviewed by Cosmopolitan, and at the very end of the interview, they asked: Jessica Pels: What’s your skincare routine?Bernie Sanders: Not much.Jessica Pels: Do you moisturize?Bernie Sanders: I put something on. I got something, the doctor gave me something years ago, I put it on. I’m not quite sure…. Same Bernie, same. I find skin care intimidating. Skin care marketing tells me I’m neglecting my skin. I feel cajoled by marketing that feels unscientific and fake, but I also have issues with my skin and scalp that I’d like to go away....

March 1, 2021

Embedding Observable notebooks into a blog

This post is an Observable notebook! Follow that link to edit or fork it.

July 2, 2020

Do it Live! with ObservableHQ, a platform by the creator of D3.js

presentation by Paul Carleton from Stripe for EventLoop in Mexico City on September 4th 2019 Do it Live! with ObservableHQ, a platform by the creator of D3.js An Observable notebook by Paul Carleton. Paul Carleton Observable

September 1, 2019