Welcome to the New Goodbran Blog
Introducing the new Jekyll-powered blog with Mozilla Protocol design system.
Thoughts on coding, music, and creative projects.
Introducing the new Jekyll-powered blog with Mozilla Protocol design system.
I built a small UI kit for kid-friendly web projects because I keep needing cheerful, simple components for my daughter, her kindergarten, and a few educational apps I want to make later.
At home I use a side router and manual Wi-Fi settings. Outside I need DHCP. HomeAway turns that repetitive macOS network shuffle into one command.
I wanted to auto-syndicate blog posts to X. Then I found out every API request costs money. Here's why that might actually be fine.
A simple guide to the math symbols kids see most often, grouped by grade level and category. Each symbol links to Wikipedia for deeper learning.
Stop committing MP3s and PDFs to Git. Serve them from R2 instead—zero egress fees, local development still works, and your repo shrinks by 30MB.
A free library of public domain sheet music that fits perfectly into a code-first workflow.
We now compile LilyPond into sheet music, MIDI, MP3, and OGG, then play it right on the score page.
A double opt-in newsletter for a Rails blog. Two models, two mailers, one rake task, and no third-party service.
LilyPond turns plain text into engraved sheet music, and that makes it feel like code.
The code block had `overflow-x: auto` and still refused to scroll. The culprit was the grid item around it.
Push to main, deploy to production. The whole setup in three files and a few secrets.
How two brackets, two AI tools, and a bit of stubbornness led to this site's favicon.
A demo post showing the Markdown and KaTeX syntax supported by Perron and kramdown.
I have been programming javascript for years and for sure I used the inheritance features from js. But what a shame that I still don't understand it. And I would like to understand it more by the end of this post.
This post is a personal follow up to the book The nature of code. Instead of using p5.js from the book, I decide to use d3.js.
Recently I am trying to learn a bit macos development by building a shadowsocks client based on the existing rust library.
With the growing of your rails application, it is inevitable that more and more functions will be put into a single repo.
Shadowsocks could help to proxy the network traffic to your remote server. However, with the development of shadowsocks-rust, now it has a new mode which utilizes the unix tun interface feature.
Query GraphQL in ruby is easy. All you need is a library for HTTP post request.
This post shows you how to install luci-app-ssr-plus in you GL-iNET mobile router.
This tutorial shows you a way to deploy rails on google cloud run and at the same time make the server warm all the time.