<?xml version="1.0" encoding="utf-8"?><feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en"><generator uri="https://jekyllrb.com/" version="3.10.0">Jekyll</generator><link href="https://hanebox.github.io/feed.xml" rel="self" type="application/atom+xml" /><link href="https://hanebox.github.io/" rel="alternate" type="text/html" hreflang="en" /><updated>2026-09-20T21:22:57+07:00</updated><id>https://hanebox.github.io/feed.xml</id><title type="html">Han</title><subtitle>Han is a software engineer who builds thoughtful tools and writes about software.</subtitle><entry><title type="html">Why Most Linux UIs Still Suck</title><link href="https://hanebox.github.io/blog/why-most-linux-uis-still-suck/" rel="alternate" type="text/html" title="Why Most Linux UIs Still Suck" /><published>2026-08-03T10:00:00+07:00</published><updated>2026-08-03T10:00:00+07:00</updated><id>https://hanebox.github.io/blog/why-most-linux-uis-still-suck</id><content type="html" xml:base="https://hanebox.github.io/blog/why-most-linux-uis-still-suck/"><![CDATA[<p>I keep wanting to love desktop Linux. I like what it stands for. I like having control over my own machine and more than one way to do things. Then I open an app and run into a strange dialog, inconsistent spacing, or a button that behaves differently from the one beside it. The spell breaks a little.</p>

<p>A huge amount of thoughtful, often unpaid work goes into the Linux desktop. I think the people doing that work face a frustrating problem: making an interface feel good takes more effort than it should.</p>

<p>People who work across design and engineering tend to notice when software asks you to learn too many concepts or remember too many exceptions. Making it simpler means deciding which conventions to follow, which behaviors to change, and what to leave out. Every extra layer adds decisions to revisit later.</p>

<p>On Linux, you inherit those layers on day one. There’s GTK and Qt, different desktop environments and window managers, distro-specific choices, and old behavior people still depend on. Conventions change depending on where an app runs. Each choice has a reason behind it, but together they make even small design decisions hard to settle.</p>

<p>I can see why someone who cares about these details would choose to build for the web or mobile. Those platforms have their own problems, but a small team can usually control more of the experience, ship it, and see whether the changes help. On Linux, polishing one corner can expose several more that also need work.</p>

<p>My suspicion is that this makes it harder to keep people working on polish. If every improvement means another round of compatibility work, it’s tempting to build somewhere your effort goes further. Meanwhile, keeping Linux apps working across all those environments takes time that could have gone into making them easier to use.</p>

<p>I want to trust that what I learn in one Linux app will carry over to the next. That a familiar button will behave the way I expect. Getting there means making consistent interfaces easier to build and maintain, within the time contributors actually have.</p>]]></content><author><name></name></author><summary type="html"><![CDATA[I keep wanting to love desktop Linux. But even small interface improvements mean working around layers of competing conventions and old decisions.]]></summary></entry><entry><title type="html">Welcome to My Blog</title><link href="https://hanebox.github.io/blog/welcome/" rel="alternate" type="text/html" title="Welcome to My Blog" /><published>2026-08-03T09:00:00+07:00</published><updated>2026-08-03T09:00:00+07:00</updated><id>https://hanebox.github.io/blog/welcome</id><content type="html" xml:base="https://hanebox.github.io/blog/welcome/"><![CDATA[<p>Hello, and welcome.</p>

<p>I’m Han, a software engineer who mostly works with TypeScript and occasionally Rust. I enjoy building useful, focused software and learning from the small decisions that make products feel reliable.</p>

<p>This blog is where I’ll share notes from that work ideas I’m exploring, lessons from projects, technical walkthroughs, and thoughts on building software with care.</p>

<p>More soon.</p>]]></content><author><name></name></author><summary type="html"><![CDATA[A small corner for notes on software, tools, and the things I learn while building.]]></summary></entry></feed>