Remembering Corner
A short goodbye to Corner, my cat, who was with us from February 2017 to May 2026.
Thoughts on coding, music, and creative projects.
A short goodbye to Corner, my cat, who was with us from February 2017 to May 2026.
A quick AWS Bedrock experiment comparing low-cost models on a simple email subject classification task.
A small HTML, CSS, and JavaScript demo that shows how to place objects inside a frame without letting them spill outside the edges.
A small HTML, CSS, and JavaScript pattern for creating a shimmer button that does not stack duplicate effects or leave extra elements behind.
How this blog got a tiny static code playground with preview, HTML, CSS, and JS tabs.
My first experience with the Chrome DevTools MCP server - giving Claude the ability to 'see' my browser screen and debug web pages in real-time.
A beginner-friendly introduction to the Italian Game: 1.e4 e5 2.Nf3 Nc6 3.Bc4, shown with simple static board examples.
A beginner-friendly guide to building a static pivot-table layout with only HTML and CSS, focusing on scroll, borders, sticky totals, and merged cells.
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.