Posts

  • Zero Inbox Email Strategy

    My Near-Zero Inbox System

    I’ve tried several “zero inbox” strategies over the years but none of them have stuck. Most systems I tried had similar failures: they moved the mess somewhere else instead of helping to manage it, grew a backlog over time, and required high effort to stay functional.

    I’ve come up with a new strategy after brainstorming with ChatGPT - built around workflow, visibility, and automation - that finally stuck. The approach improves the signal-to-noise ratio by chunking emails by importance while Gmail filters handle the sorting automatically. (I use “label” and “folder” interchangeably to refer to Gmail’s label-based organizational system.) This system is built for Gmail, though the principles can apply to other compatible email services.

    Read more
  • Markdown Viewer

    Problem

    When working with Markdown files, I encounter the following challenges:

    1. rendering it in a similar or better style than Github’s Markdown style
    2. printing it with a normal font size and spacings (can be PDF or paper)

    Solution

    I vibe coded with Claude AI a self-contained, local HTML file that will render a Markdown file with Github styling and better print formatting. I extended the viewer to render code files with syntax highlighting and print in color.

    Read more
  • Why Smart Thermostats Still Struggle — and How Room-Level Sensing Finally Fixed My Home

    Most residential forced-air HVAC systems struggle with uneven heating and cooling — not because of bad equipment, but because they lack the sensing and control needed to adapt to real-world conditions inside a home.

    After years of dealing with hot and cold rooms in a home with two-zone forced-air HVAC system, I built a custom room-sensing thermostat controller to address the root causes with a budget-friendly cost structure. After ten months of daily use, the home has been noticeably more comfortable, with only a modest increase in energy usage.

    This post explains why most thermostat designs fall short and what worked better in practice.

    Read more
  • Home Assistant: Lessons Learned

    My first 3 months of using Home Assistant (HA) on a Raspberry Pi 5 were unreliable: frequent database corruption, failed boots and data loss. After researching and addressing the root causes, Home Assistant has now been stable and running smoothly for 6+ months.

    Below are my experience-based tips that may help you build a stable Home Assistant platform.

    Read more
  • Using CDN to improve file uploads

    For one of my client projects, I explored different ways to increase upload speeds for large files uploaded from a desktop computer to AWS S3. The desktop computer was located in a different country, halfway around the world, with a throttled/restrictive outbound internet connection to the S3 storage located in the US region. One approach is doing parallel uploads but the focus was on how to get a faster connection.

    I discovered 3 ways to architect file uploads to AWS S3:

    Read more
  • Writing a Git Commit Message

    This is a summary of Chris Beams’ post on “How to Write a Git Commit Message” for the purpose of being my quick reference. (As Chris mentions: “This has all been said before” - see his references.)


    Guidelines

    1. Separate subject from body with a blank line
    2. Limit the subject line to 50 characters, with hard limit at 72
    3. Capitalize the subject line
    4. Do not end the subject line with a period
    5. Use the imperative mood in the subject line
    6. Wrap the body at 72 characters
    7. Use the body to explain what and why vs. how
    Read more
  • ActiveRecord vs Sequel Performance

    I ran some benchmarking tests to evaluate the performance difference, if any, between ActiveRecord and Sequel ORM’s - two common ORM’s in the Ruby world. I measured two sets of benchmarks: speed, and memory consumed. In addition, each set was measured against two different databases: SQLite3, and PostgreSQL. The results are summarized below.

    Read more
  • Cleaning Xcode files

    This is a summary from the following articles on recovering disk space from Xcode:

    1. Xcode users can free up space on your Mac by Ajith Nayak
    2. How To Recover Disk Space From Xcode by Sascha Holesch


    1. Derived Data

    Location: ~/Library/Developer/Xcode/DerivedData/
    Purpose: Contains data about the projects which includes index, build output, debug/release built targets, and logs. Data can be recreated.

    Read more
  • Hello Universe!

      puts "Hello Universe!"

    Stay tuned… 😃

    Message posted 8 years and 8 months ago