# Commit Messages > Reflections on code, craft, and the future of software Author: Andrey Samsonov. Personal tech blog at https://msg.samsonov.io. Each post below links to a clean Markdown version (the post's URL with `.md` appended). ## Posts - [Sequence Is Not Structure: Getting Lost in Long LLM Conversations](https://msg.samsonov.io/2026-07-28-sequence-is-not-structure.md): Long LLM conversations preserve sequence, not structure. I want a way to see where ideas branch, drift, and remain unfinished. - [Moving Active Storage Between Buckets Without 404s](https://msg.samsonov.io/2026-07-11-zero-downtime-active-storage-bucket-migration.md): A small fallback service and rclone made it possible to move Active Storage files to a new S3 bucket without downtime. - [Generative UI in Rails with RubyLLM](https://msg.samsonov.io/2026-05-21-generative-ui-ruby-llm.md): A walk through the design choices for showing rich UI in an LLM chat app instead of plain text bubbles. Tools, schemas, and a tiny gem for generative UI on top of RubyLLM. - [Share Extension Auth in iOS 18: Four Approaches Compared](https://msg.samsonov.io/2026-01-14-ios-18-share-extension-for-unauthenticated-user.md): Share Extensions can no longer open your app directly. A comparison of four approaches to handle authentication in iOS 18. - [Dictionary-Quality Word Pronunciation Without Dictionary APIs](https://msg.samsonov.io/2025-12-19-dictionary-quality-word-pronunciation.md): How to build reliable word pronunciation for language learning apps using LLM-based TTS instead of dictionary APIs. Covers handling heteronyms with IPA substitution and building a practical pronunciation pipeline. - [Diving into Fizzy's Routes: Rails' resolve and direct](https://msg.samsonov.io/2025-12-15-fizzy-direct-resolve.md): Exploring two underused Rails routing features — direct and resolve — through 37signals' newly open-sourced Fizzy codebase. Learn how to create custom URL helpers and teach Rails to generate polymorphic URLs for models without their own routes.