RSSAmplifier

Blog

Ray Chen

Essays, notes, & musings on software engineering and everything else in between.

ray.catRSS feed ↗15 posts

Latest posts

Prompting Is Requirements Engineering

Practical patterns for getting better output from LLMs.

Code No Longer Matters

Code used to be the bottleneck, and it isn't anymore. LLMs can now produce syntactically correct and functionally adequate code faster than any human. Code was always just the notation for something far more complex, and LLMs just made that impossible to ignore.

AI will NOT replace Software Engineers

The claim that "AI will replace software engineers" misunderstands what software engineering actually involves. AI handles the mundane so engineers can focus on the meaningful. Rather than eliminating engineers, AI empowers them.

Create bootable ISOs on macOS without external tools

How to make bootable disk images on macOS using `dd` without external tools.

Removing ISP DNS servers from Microtik routers

Certain Microtik routers will use your ISP's DNS servers by default even if you override it. In the Microtik console, performing a /ip dns print will show this in dynamic-servers field: [admin@ATik-Pro-1G] /ip/dns> print servers: 1.1.1.1 dynamic-servers: xxx.x.xxx.xx,xxx.

Support Engineering Is Engineering

Why Support Engineering is a critical systems design problem, and how we solve it at Railway.

Controlling Elgato Keylight Air via Apple Home

Elgato has no native support for HomeKit, but here's how you can control it over Apple Home.

Home Lab setup

I recently picked up a used Dell OptiPlex 3070 to replace my aging Pi, and went down a (fun!) rabbit hole of automating provision/management using a combination of Ansible and Docker Compose.

Viewing StatsD metrics locally

How to know what StatsD metric you're sending before it hits your production sink.

neovim + TypeScript = ⚡️

Personal rave about neovim :)

Building effective remote work environments

I've been fully remote for more than half a decade in a globally distributed environment. This is everything I've learned on how to make it work effectively from an organizational perspective.

Displaying current Kubernetes context in shell

When working with multiple Kubernetes clusters, you need to know which cluster you're operating on. Accidentally issuing a command to the wrong cluster can be disastrous! Here's how you can inject the current cluster into your shell's prompt.

Managing Postgres schema changes with Migra

migra is a great tool for tracking changes in a Postgres schema for ORM-less setups. This is a dive into how it works, and how to wield it.

PHP: A prettier way to var_dump

var_dump in PHP is ugly. Here's how to make it pretty.

Remote-controlling macOS with a Python Telegram bot

I needed a quick way to remotely perform system operations: adjusting & muting the system volume, screen brightness, and putting the display to sleep. After exploring several options, I found none of them to be viable for me, and thus, I set out to develop my own solution using a Telegram bot.