Hi there, I'm Connor
I'm a software engineer, technologist, woodworking hobbyist, amateur musician, and dog dad living in Boulder, Colorado.
Posts
A mix of more posts, notes, and rants of varying currency and completeness. See all
Cloudflare Workers RPC
While prototyping some new features for this site, I stumbled upon some unusual code in a Durable Objects guide. Surprisingly, it covered functionalities I had not seen documented, at least not within the past couple of months. I had no idea you could directly call methods on Durable Object stubs! This discovery eliminates the need for cumbersome request routing boilerplate, trpc, and the often unnecessary low-level decisions. Simply obtain a handle to your object and call methods on it. Amazing. Source: C
Generating a Blog with Vite, MDX, and Remix
This site is built on top of Remix, which has many features that I absolutely love, but perhaps by favorite is its nested routing/route file name conventions/route module interface. It's the main selling point in my mind. Here's how it works: 1. Create a file conforming to the Route naming patterns (posts.my-post.tsx => /posts/my-posts) 2. Implement and export some or a subset of the Route Module "interface" 3. Done The Route Module is super powerful with 3 main exports: The power comes from how Remix uses
Coding my Resume
Somewhere around 2018, after getting the idea from a co-worker, I built my first Resume from Source. It was basically a reStructuredText file converted to HTML, styled with SCSS, and then converted to a PDF. To update my resume, I would: After pushing, an automated CircleCI (remember the times before Github actions?) workflow would build, spellcheck, and release the HTML and PDF artifacts to my Resume repositories releases page. While this resume and resume builder project has served me well, I wanted to ad