Rust Handshake Challenge #2: Threading the Needle of Concurrency

Where our simple single-threaded server meets the harsh reality of concurrent clients – and how I learned to think in threads. Source: https://commons.wikimedia.org/ One Server, But More Than One Clients Last week’s victory almost felt complete as my handshake server seemed to work flawlessly – until concurrency kicks in. Unless there are only single server and single client (too strong assumption!), we always have to take multiple clients into consideration. ...

July 25, 2025 · 15 min · Sae-Hwan Park

Rust Handshake Challenge #1 Simple Single Threading

The tale of how I went from basic Rust knowledge to implementing a custom 3-way handshake protocol – and what I learned about both networking and Rust along the way. Source: https://commons.wikimedia.org/ The Beginning: A Simple Goal Everything began suddenly and whimsically yesterday – just like many of my curiosity-seeking journeys. Disclaimer: While the story I introduce in this post reflects the real development experience, I’ve intentionally dramatized certain moments to deliver the developer journey in more engaging ways. The actual process was indeed smoother than portrayed – this small project falls well within what the community calls “easy Rust” territory. ...

July 19, 2025 · 20 min · Sae-Hwan Park

Quest for Better Blogging: #3 Building the Actual Blog

From architectural insights to working implementation – the complete journey from frustration to functional publishing platform (source: https://blog.viktoradam.net/2019/03/28/netlify-hugo/) The Final Implementation After understanding the architectural foundations that make static site generators so powerful, it was time to build the actual system. This final episode documents the complete process – from installing Hugo to deploying on Netlify – with practical insights from actually building and launching my new technical blog. ...

July 11, 2025 · 12 min · Sae-Hwan Park

Quest for Better Blogging: #2 The Architecture of Better Publishing

Understanding why some tools fight you while others amplify your thinking (source: https://www.cosmicjs.com/blog/static-site-generators-explained-in-5-minutes) The Rabbit Hole Begins After documenting the frustrations and systematic failures of my copy-paste workflow, I found myself staring at a deeper puzzle. I understood what was breaking – LaTeX equations becoming image files, code blocks losing syntax highlighting, semantic structure collapsing into visual formatting. But I had no idea why these specific things kept breaking in such predictable ways. ...

July 6, 2025 · 11 min · Sae-Hwan Park

Quest for Better Blogging: #1 Why I'm Evolving Beyond Medium

A personal journey from platform acceptance to technical rebellion (source: https://www.netlify.com/blog/2020/04/14/what-is-a-static-site-generator-and-3-ways-to-find-the-best-one/) The Unquestioned Years A decade ago, I lived in blissful ignorance of better alternatives. Windows was my operating system, Microsoft Office was my document suite, and whatever blog platform provided was my publishing tool. I wrote movie reviews, game critiques, and random thoughts about life – mostly text with occasional images. The web editors worked fine because my needs were simple. ...

July 4, 2025 · 10 min · Sae-Hwan Park

The Other Path: Population-Average Models and GEE

When we need population-level insights without the distributional baggage of random effects Picture this: We’ve just finished implementing that elegant mixed effects model from last week’s deep dive, and the hospital executives are thrilled with our patient length-of-stay predictions. But then the epidemiologist on our team asks a different question: “What’s the average effect of this new treatment protocol across all our hospitals?” Our mixed effects model gives us subject-specific predictions – how much longer will this particular patient stay at this specific hospital? The policy question requires population-average inference – if we implement this protocol system-wide, what’s the expected change in average length of stay across the entire health system? ...

June 27, 2025 · 18 min · Sae-Hwan Park

Inside Mixed Effect Model

When your neural network treats every hospital the same, but your statistician intuition screams that they shouldn’t be Picture this: You’re building a model to predict patient length of stay across 200 hospitals. Your gradient boosting model achieves impressive metrics on your test set, but something feels off. Hospital A consistently shows longer stays than predicted, while Hospital B always runs shorter. Your model treats every hospital identically, missing systematic patterns that could unlock better predictions and deeper insights. ...

June 20, 2025 · 12 min · Sae-Hwan Park

How Factor Analysis and PCA Actually Differ

A deeper look beyond the textbook distinction that’s been confusing practitioners for decades The Problem We All Face Picture this: You’re sitting in a committee meeting, and someone suggests using “factor analysis to reduce dimensions” while another colleague insists “PCA will identify the underlying factors.” Both sound reasonable. Both seem to accomplish similar goals. Yet something feels… off. If you’ve found yourself nodding along while internally questioning whether these methods are really as different as your statistics textbook claimed, you’re not alone. The standard explanation—“FA finds latent factors, PCA reduces dimensions”—is technically correct but practically incomplete. It’s like saying “cars move people, planes fly people”—true, but missing the nuanced reality of when and why you’d choose one over the other. Choosing the wrong method can lead to misleading conclusions about underlying mechanisms or inefficient models that fail in production. ...

June 13, 2025 · 10 min · Sae-Hwan Park

A Second Look at Linux: Reflections from 2025

On operating systems, evolution, and the gradual convergence of computing environments The Return Ten years ago, I attempted to make Linux my daily driver and failed. Not catastrophically – more like learning to ride a bicycle and discovering that while technically possible, the experience required more effort than I was prepared to invest. My motivation wasn’t purely practical; I secretly aspired to be a Unix user because they looked like the hackers and gurus I wanted to become someday. There was an undeniable appeal to the idea of mastering a system that seemed to separate the technically sophisticated from ordinary computer users. ...

May 30, 2025 · 13 min · Sae-Hwan Park

Writing Maintainable Array Code: When NumPy Isn't Enough

Picture this: You’re implementing a complex neural network attention mechanism, and what should be elegant mathematical operations have devolved into a maze of None indexing, cryptic axis parameters, and debugging sessions that last longer than your coffee stays warm. If you’ve been there, you’re not alone. I recently read an article titled “I don’t like NumPy” that articulated some frustrations many of us have experienced when working with multi-dimensional matrices in Python. The author makes compelling points about the cognitive overhead of NumPy’s design choices, particularly when dealing with operations across multiple dimensions. ...

May 23, 2025 · 15 min · Sae-Hwan Park