Engineering, ops, AI collaboration — and the occasional slice of life.
2026
Hello — the New Site Is Live
The first post after migrating my personal site from VitePress to Astro 5: the architecture, the routing, and how posts get published.
A Day with My Wife (Claude Code)
Live Demo
[Netflix] The Great Flood — My Thoughts After Watching
It's been a long time since I picked up a pen to write anything — and I never expected the thing to get me writing again would be my thoughts after watching The Great Flood.
2017
HHKB Type-S: Long-Term Impressions and a Buying Guide
A quick note: buying an HHKB had always been a life goal of mine, but I never thought I'd pull the trigger this soon. The layout really does take relearning, and then there's the price — 24,840 yen for a single keyboard.
2016
[LeetCode] Happy Number (No.202)
Write an algorithm to determine if a number is "happy".
[LeetCode] Longest Substring Without Repeating Characters (No.3)
Given a string, find the length of the longest substring without repeating characters.
[Java] Sending Mail from GMail with JavaMail and from Exchange with the EWS API
Today I looked into how to send mail out from GMail using the Java Mail API, and from Exchange using the EWS API. I wrote some test code to share with you all.
[LeetCode] Add Two Numbers - Summing Two LinkedLists (No.2)
You are given two linked lists representing two non-negative numbers.
[LeetCode] Two Sum (No.1)
Given an array of integers, return indices of the two numbers such that they add up to a specific target.
[LeetCode] Excel Sheet Column Number (No.171)
Related to question Excel Sheet Column Title Given a column title as appear in a
[LeetCode] Execel Sheet Column Title (No.168)
Given a positive integer, return its corresponding column title as appear in an Excel sheet.
[LeetCode] Dungeon Game (No.174)
The demons had captured the princess (P) and imprisoned her in the bottom-right corner of a dungeon.
[LeetCode] Introduction
I recently discovered a great website called LeetCode. It has a huge collection of problems, most of them the kind that come up often in programming interviews—perfect for anyone job hunting who wants to practice, or for anyone who feels their technical foundation isn't strong enough and wants to shore it up.
Takeaways from Hsin-Chuang's First App Contest
This was my first time entering an app-building contest as part of a team, and I learned a lot. Here are some takeaways to share. First: if a team has no discussion or even arguments, it may mean nobody is really thinking hard.
[Notes] Takeaways from Reading 'Getting Up to Speed with TDD in 30 Days'
After finishing 'Getting Up to Speed with TDD in 30 Days', here are some of the takeaways I found most important, shared with you all.
A Roundup of Common Programming Principles
- The SOLID principles (SRP, OCP, LSP, ISP, DIP) - SRP (Single Responsibility) - Definition: a class should have only one reason to change.
2015
[Notes] Is TDD Dead? Wrapping Up My Recent Thoughts on Software Testing
I've been digging into the testing side of software development lately, so here's a summary of where I currently stand on testing. If you think testing is nonsense, feel free to skip this post; and if you want to learn more about testing, here are some references.
Linux vs Windows
1. What is Linux?
Linux Basic Concepts
1. The Linux Kernel: Shell/KDE/Application <- Kernel <- Hardware. Technically, Linux is just a kernel.
Notes on Network Configuration in VirtualBox After a CentOS 7 Minimal Install
As the title says. You can also refer to these blog posts for the configuration. First, a quick note: if all you want is for the VM to reach the external network without connecting to the physical host, VirtualBox's default NAT already does the job.
Setting Up a Cloud9 Java Runner
Today I'll walk you through how to set up a Java Runner on Cloud9. You can also refer directly to the Cloud9 and Stack Overflow tutorials. First, let's create a new workspace.
Exporting and Importing OVA in VirtualBox
It's actually quite simple—here I'm just walking you through it once.
Installing Java on a Codeanywhere CentOS DevBox
1. First sign up for a Codeanywhere account (obviously). 2. Spin up a CentOS DevBox (VM). 2.1 Right-click on DevBox and choose Add DevBox, as shown.
A Rundown of Some Common Cloud IDEs
Today I'll introduce a few of the more common cloud IDEs. Since there are more and more of them these days, I've picked the top few based on how convenient I found them for Java development and on the ratings from Slant (What is the best cloud IDE?).
Koding Environment Setup Notes
A quick note first: the Koding environment has a package manager called Koding Package Manager (kpm). In the guides below, whenever kpm is available it will be listed at the top.
2014
[Notes] On the Act of Eating…
Elders often warn: don't wolf down your food.
[Tutorial] How to Fix OpenSSL Heartbleed on the RT-N16 (Tomato by shibby)
First, let me explain what OpenSSL Heartbleed is. In OpenVPN's own words: "A vulnerability in OpenSSL, nicknamed Heartbleed, was published in April 2014." OpenVPN uses OpenSSL as its default crypto library, so it's affected too.
[Notes] Trying Out the "Golden Sound Concert Hall" Tuning Pack
A friendly heads-up: the tuning pack was a loaner for testing from the vendor. That said, I've tried to stay as neutral as possible in writing up my impressions, so take them for what they're worth.
[Notes] Impressions of the SG Acoustic Super Tweeter and Carbon-Fiber Speaker Pads
This write-up is nearly three months overdue, XDD. Let's just call that stretch the burn-in time my new super tweeter needed, XDD. First, let me introduce the company SG Acoustic. Although the brand itself is only about three years old…
[I Think, Therefore I Am] The Strange Magic of Fate and Pricing
I used to not really believe in fate. Lately, though, I've started to feel that fate really is a magical thing. Maybe a lot of things really do come down to fate. Buying and selling a bunch of stuff recently has made me feel this even more strongly.
[Notes] Auditioning the Cute HD Set at Firestone's Head Office
This isn't an ad—just a piece written by someone who loves Firestone, so it may be a little biased. Feel free to skip if it's not your thing, and of course you're all welcome to join the discussion… @@ The older Supplier USB had a problem where it couldn't support the Raspberry Pi.
[Notes] A Look at USB Audio Player PRO / USB Audio Recorder PRO
Today let me write up my impressions of using USB Audio Player PRO / USB Audio Recorder PRO.
[Notes] Auditioning the Philips A5 Pro at JiaWei
As someone who owns both the Philips S2 and the Philips X1, it would be a lie to say I had no expectations for the A5 Pro that Philips has released in collaboration with Armin Van Buuren, XD
The First Post on Jimmy City~
Haha, XDD blogs don't feel as popular as they used to. Social networks like FB have taken over, but I still think that if you have something long to say, a blog is still the more proper place for it.
[I Think, Therefore I Am] On the Taipei Metro Killing
The remarks below: moral crusaders, please skip.
[Notes] Custom Cute Hands-On (Successor to the "Love Taiwan" DAC)
The listening-impression parts come down to personal taste, so please bear with me—and discussion is very welcome. \=================================================
[Notes] Supplier USB vs. Metal-Cased USB 3.0 Hub Showdown
By popular request, I ran this showdown, XDD. It was done with a Custom Cute + Supplier HD + Xiaomin 3 + Supplier AC + Philips X1 as the fixed setup, comparing the different combinations below.