Ruminations
Code better not harder


Summary of every posts written here

Posted on

This page provides a summary of the key topics and their chronological evolution as explored in my blog posts.

Starting in April 2020, my posts reflect a deep dive into the FPV drone hobby. I explored the nuances of "Freestyle or Racing?" (2020-04-26), detailing the structured goals of racing versus the freeform creativity of freestyle, and the surprising difficulty of competitive simulation even for a beginner. I then shifted focus to the hardware, discussing the pros and cons of different drone sizes in "Micro or Mini quad?" (2020-10-26), highlighting the practical advantages of smaller drones for accessibility in urban environments and the confusing mix of metric and imperial units in the hobby. By May 2021, in "It has been a long time" (2021-05-31), I reflected on building my own quads, sharing detailed lessons learned from troubleshooting electronics on high-powered setups, emphasizing the critical importance of clean wiring, proper configuration, and understanding electrical phenomena when dealing with hardware at a low level.

After a break, my posts transition significantly towards the world of AI and software. In "Why Language?" (2023-04-16), I explored the power of the Transformer architecture and the role of language in human and artificial intelligence, reflecting on how advancements like GPT enable new ways of processing information and generating knowledge. This marked a clear pivot towards generative AI. By October 2024, my focus broadened to the software industry itself in "What's happening with software?" (2024-10-13), where I analyzed the distinction between the slow-evolving infrastructure layer and the rapidly changing presentation layer, speculating on how AI-generated UIs and agents represent the new frontier in software interaction. Most recently, in "How to Add a Chat Interface to Zola Static Site Generator" (2025-06-05), I demonstrated a practical application of my AI interest by building a chat interface for my static site, detailing the technical implementation challenges and solutions, including secure API interaction via serverless functions – a clear example of bridging static content with dynamic AI capabilities and showcasing my ability to learn and implement new technologies.

Building on this AI foundation, June 2025 saw a rapid iteration on the chat feature for this site. In "Dual-Stream LLM Responses: Adding Live Search to a Static Site Chat" (2025-06-15), I documented the challenges of orchestrating two AI responses over a single HTTP connection – one grounded in resume context, the other performing live web search – revealing the nuanced client-side race conditions that arise when streaming multiple data sources. Shortly after, in "Streaming APIs: OpenAI's Responses vs. Chat Completions" (2025-06-29), I compared OpenAI's legacy Chat Completions API with their newer Responses API, analyzing the trade-offs between simplicity and the richer, event-driven protocol that enables native tool integration like web search. Continuing this thread, "Enhancing Chat with Vector File Search" (2025-07-05) detailed how I added RAG capabilities by uploading my blog posts to OpenAI's vector store, allowing the AI assistant to reference my actual writings when answering questions – a practical demonstration of combining multiple AI tools in a single conversational interface.

Most recently, in December 2025, I returned to a hardware-adjacent topic with a critical analysis of the camera industry. In "Camera Industry's Software Problem: A Lens from the Codebase" (2025-12-07), I drew from years of experience working with Insta360 and DJI SDKs to argue that while camera hardware has reached remarkable heights, the software – particularly the developer SDKs – remains neglected. The post examines how hardware-first companies structurally deprioritize software quality, why existing standards like Open Spherical Camera fall short for modern 360° cameras, and warns that these companies risk missing the AI/robotics era by failing to provide the reliable, deterministic APIs that machine vision applications demand.

This chronological view reveals a path from hands-on hardware and hobbyist electronics, which instilled a grounded understanding of software's physical interactions, through a deep engagement with cutting-edge AI concepts and their practical implementation in web applications, and now circling back to critique the hardware industry's software shortcomings from a position of experience in both domains.