Cultural Critique: American Penny Pinching

I’ve lived outside the United States for well over a decade now. It’s not my first time living abroad, but this stint is different in that it has included working and raising a family. Being away from one’s country of birth changes a person in both expected and unexpected ways, a … | Continue reading


@matttproud.com | 8 days ago

Political Donation Strategy 2024

It’s pretty late in the 2024 United States election cycle. I think we all know the stakes: the rule of law and preservation of liberal democracy are on the ballot, notwithstanding women’s rights, global warming, and the environment, etc. being there, too. I’ve taken a multi-prong … | Continue reading


@matttproud.com | 9 days ago

Go Error Propagation and API Contracts

I’ve been thinking about errors in Go quite a bit lately and what has been bothering me about the practice of error design and usage in the community. The critique starts with this code: 1 2 3 if err != nil { return err } It’s such a common piece of code that it has become a trop … | Continue reading


@matttproud.com | 1 month ago

Rust Borrowed IntoIterator Trait

Example of Borrowed IntoIterator Trait For purposes of continued learning, I have been futzing around with Rust a little bit in my spare time. I had postponed doing this because I felt that the ecosystem was a bit too immature in terms of churn.1 I read the The Rust Programming L … | Continue reading


@matttproud.com | 2 months ago

A Rant on R and the Melt Function in R

I need to be honest: I find the documentation for R frustrating, particularly the API documentation. From the perspective of a professional software engineer, much of the API documentation is unhelpful. There are several common problems: What kind of input does the function accep … | Continue reading


@matttproud.com | 3 months ago

Great Series I Savings Bond Backtest

Premise Before we start out, I want to contextualize what you are about to read. I’ve been a practicing Boglehead for a little over decade. Recently, as I have become older, I became interested in Series I Savings Bonds (I Bonds) as a vehicle to preserve the value of my emergency … | Continue reading


@matttproud.com | 3 months ago

Go Fonts as Web Fonts

It’s no secret: if you’re viewing this page, you can see that I am a fan of the Go Fonts. The problem is that the Go Fonts are not available as web fonts. In years past, I had tried converting them to web fonts, but the process never succeeded. I am not quite sure why, to be hone … | Continue reading


@matttproud.com | 4 months ago

Book Endorsement: ggplot2: Elegant Graphics for Data Analysis

I want to make a short plug for ggplot2: Elegant Graphics for Data Analysis by Wickham, Hadley, et. al. This book did a great job illustrating the philosophy of ggplot2 as well as demonstrating several interesting recipes and pitfalls. It did more than several evenings of diving … | Continue reading


@matttproud.com | 4 months ago

Preventing LLM Web Site Crawlers

I was recently doing several searches on the public World Wide Web around some niche technical topics. The search results were straight disappointing. The search topics and terms would lead to very specific, canonical documents, ones that have so many inbound links that preferrin … | Continue reading


@matttproud.com | 4 months ago

Neologism: Context Awareness

I would like to propose a set of neologisms for the Go Programming Language based on emergent language use: context awareness: noun, the state of an API being cognizant of and respecting the semantics of the context API. Example: Function f has context awareness. context-aware or … | Continue reading


@matttproud.com | 4 months ago

Contextualizing the Go Context API: Program Scopes

The context API is a critical foundation for modern Go development. This is especially the case with APIs that use concurrency under the hood or perform distributed operations. Given this, I would like to do a deep dive on several topics around the context API. I expect this post … | Continue reading


@matttproud.com | 4 months ago

Teaser: Thought Experiment on Representing Temperature in Climate Comparisons

Growing up in Tornado Alley proper, I have had a life-long fascination with weather. And for the longest time, I wanted to become a meteorologist but didn’t for indeterminate reasons. Note: This post is a bit of a teaser: I am working on a year-long data collection and analysis p … | Continue reading


@matttproud.com | 5 months ago

Tip: Shell Brace Expansion

Those who know me — I think — would say not say I am lazy. In particular, I have nary an interest in code golf and usually consider it actively harmful. That said, shells provide a number of capabilities that are both clear and compact for expressing complex operations.1 One of m … | Continue reading


@matttproud.com | 5 months ago

Plain Old Data in Go: POGS

I’ve found myself reaching for a set of terms with increasing frequency in recent years when writing technical documentation and providing design feedback. The problem revolves around this: what is Plain Old Data (POD) in Go, and what do you call it in the Go context? A Quick Div … | Continue reading


@matttproud.com | 5 months ago

RCS Style Keywords in Hugo

If you’re of a certain generation, you may remember a period of time when web sites on the World Wide Web may have featured a snippet of text like this at the bottom of their web sites: $Id: index.html,v 1.1 1999/10/07 13:45:15 john Exp $ And if you’re of a certain generation a l … | Continue reading


@matttproud.com | 5 months ago

About the Blog

A web log is a web log. Nothing new or revolutionary here. I don’t have a lot of free time these days. I do get sporadic windows to write, which I enjoy doing. I take a philosophy to when I write something: Write about a topic I would have enjoyed reading about. Write about a top … | Continue reading


@matttproud.com | 5 months ago

Acknowledgments

One stands on the shoulders of giants. Font This web site makes use of the Go Fonts. The fonts are modified from their original form (.TTF files) and converted to .WOFF file format. Font File Font Name Derived File Go-Regular.ttf Go Go-Regular.woff Go-Bold-Italic.ttf Go Go-Bold-I … | Continue reading


@matttproud.com | 5 months ago

Blogroll

Friends (alphabetic): Benny’s blog (“benzblog”) Cyrill’s blog Kyle’s blog Mero’s blog Michael’s blog Rob’s blog (“command center”) Ross’ blog | Continue reading


@matttproud.com | 5 months ago

Hugo Root Menu and Ugly URLs: / and /index.html

I am using Hugo’s uglyURLs feature to generate path names with file type suffixes. It may sound weird to do that in 2024; but if this is to be a static site, I want it to be an homage to 1990–2000s-era World Wide Web. The only problem is that Hugo’s menu construct for pageRef = ' … | Continue reading


@matttproud.com | 5 months ago

Retiring pbutil (github.com/matttproud/golang_protobuf_extensions)

Today, I am announcing that the Go package pbutil (import paths rooted under github.com/matttproud/golang_protobuf_extensions) is on the road to retirement. History of the Project It was born of necessity. The year was 2012–13. I smelled of döner kebab and Pilsner.1 Julius and I … | Continue reading


@matttproud.com | 5 months ago

Joining Ranges Unions in Google Sheets

As a continuation of the Google Sheets topic, I want to share a technique that can be used to join multiple ranges of data together. I had originally thought of this as relevant in the cases of merging data or creating near unions of disparate data. Note: Calling it a “union” may … | Continue reading


@matttproud.com | 5 months ago

Naming Is Hard: /etc/default

I have been using Linux since 1997. The progression of distributions on my personal1 machines was roughly this: 1997–1998: Red Hat Linux 1998–2002: Slackware 2002–2004: Debian 2004–2007: Gentoo 2007–2010: Fedora 2010–today: Debian One thing that I can’t easily trace back the hist … | Continue reading


@matttproud.com | 5 months ago

Keyboard Configuration in Debian Linux

Debian Linux has a relatively smart way of configuring keyboard input through the /etc/default/keyboard file (manual page). This file powers both the kernel configuration, the virtual console, and the X Window System. I set the XKBOPTIONS directive in /etc/default/keyboard follow … | Continue reading


@matttproud.com | 5 months ago

Notes on Closed Loop Dryers

I want to discuss some notes on modern clothes dryers for the uninitiated. The primary audience is people in North America who have likely never used one of these dryers before and are liable to come away disappointed without some up-front guidance. Why Discuss Something So Munda … | Continue reading


@matttproud.com | 5 months ago

Last Row in Google Sheets

I use Google Sheets pretty regularly. As a practicing Boglehead, I use it to comprehensively track financial goals. One of the things I routinely need to do is calculate the last value of a spreadsheet row (e.g., to compute percentage difference). There is a naive way of doing th … | Continue reading


@matttproud.com | 5 months ago

Hugo URLs With File Extension

I serve this blog using a static content host without any URL rewrite logic, much like an antique web site of the pre-2000s era would have been served with Apache. Given that, I was curious how to make Hugo render URLs with a file extension. This is done through setting the uglyU … | Continue reading


@matttproud.com | 7 months ago

Hello World

Howdy I’ll try to maintain a blog again. | Continue reading


@matttproud.com | 8 months ago