Skip to main content

Posts

2024

2022

Mutate by Immutable Way

·5 mins
Modify object properties in Scala without losing immutability. Explore the copy pattern to create new instances with specific changes while maintaining safety and correctness. A practical and elegant solution, perfect for concurrent and reactive systems.

Dates and Regular Expressions

·4 mins
Working with dates in the data domain is common yet challenging, particularly when normalizing inconsistent formats. This article explores how to use regular expressions (Regex) in Scala to process and standardize input dates effectively.

0001

·11 mins
Swapping a CLI for a TUI Without Touching Business Logic: A Hexagonal Architecture Story in Rust # I built a task manager CLI in Rust using hexagonal architecture. Then I ripped out the entire user interface and replaced it with an interactive TUI — without changing a single line of domain or application code. Here’s how it went, what I learned about Rust’s type system along the way, and why the architecture paid for itself.

·25 mins
LOGBOOK - todo-cli # Development diary for todo-cli, a Rust command-line task manager built with hexagonal (ports & adapters) and screaming architecture. [2026-03-19] - Logbook initialized # What: Logbook mode activated. Ready to record development progress for todo-cli (Rust, hexagonal architecture). Why: Having a running dev diary makes it easy to turn the build journey into a blog post later. It also serves as a breadcrumb trail for future-me (or anyone reading the repo) to understand why things were done, not just what changed. How: Created LOGBOOK.md at the repo root. Each session that makes meaningful progress gets a dated entry covering what, why, and how.