The Curious Engineer

All blogs / Software / engineering practice

Kyrylo Silin

kyrylo.org

I build serious software and unserious websites

Software / engineering practiceRuby / RailsAI / MLWeb development

Posts
61 from 29 May 2013 to 25 Sep 2026
Posting
monthly (16 in the last year)
Kind
personal blog
Feed
https://kyrylo.org/feed.xml

2026 11

  1. Rethinking simplicity in the age of AI
  2. The favicon survived the web
  3. AI will not stop at simple work
  4. The hard way has changed
  5. Programming experience is no longer a moat
  6. I built Flag Click
  7. The artificial programmer
  8. Stick with defaults
  9. The magic of typing terminal commands
  10. AI will help you climb the wrong ladder faster
  11. Less decoration, more communication

2025 17

  1. What 2026 yields (announcing Telesink)
  2. How to self-host Bearlytics with Kamal
  3. I'm back to Open Source
  4. English is a poor language for programming with AI
  5. AI amplifies programmers, not replaces them
  6. A mere add_foreign_key can wipe out your whole Rails+SQLite production table
  7. Why do software developers love complexity?
  8. I'm a proud CRUD monkey
  9. Not everything needs an update
  10. AI will take your job (and your boss’s job too)
  11. I vibe-coded Tech Debt: a game written in pure HTML/CSS/JS
  12. Your idea probably sucks
  13. How the pay-once business model saved my *aaS
  14. Learn to code, ignore AI, then use AI to code even better
  15. You know how it ends
  16. OKLCH CSS variables for Tailwind v4 colors
  17. The vertical bar (|) is the best HTML page title separator

2024 20

  1. How to build a dropdown menu with just HTML
  2. How Counter-Strike introduced me to the world of programming
  3. Hyperlinks existed before the web
  4. How to self-host Plausible Analytics with Kamal
  5. There's no place for Test-Driven Development (TDD)
  6. Why does target="_blank" have an underscore in front?
  7. Writing software is like spreading butter on bread
  8. Notes from the Opening Keynote by David Heinemeier Hansson at Rails World 2024
  9. How to add Mission Control to your Rails app and protect it with Basic Auth
  10. I built a flag-matching game in 6 days
  11. How to build and deploy a Telegram bot with Kamal
  12. Cloudflare Tunnel: a free ngrok alternative for exposing local Rails apps to the internet
  13. blog post
  14. blog post
  15. Using Overmind with Foreman as a fallback for Rails 7.1+ apps
  16. How to generate sitemap.xml for your Rails 7.1+ app with Kamal
  17. How to enable the Traefik dashboard in a Rails 7.1 app deployed with Kamal
  18. How to opt out of the cache with Hotwire's Turbo Drive in Rails
  19. Making PostgreSQL work with Kamal and a new Rails 7.1 app
  20. How to run your Turbo Native Android app on a physical device locally

2023 1

  1. Embarking on an indie dev journey

2018 1

  1. Untangling the “love” Ruby tongue twister

2015 1

  1. A bit of bacon, lettuce and tomato

2014 1

  1. Ruby's exception to message mapper

2013 9

  1. JavaScript eval tricks
  2. Ruby eval tricks
  3. Various ways to count digits in a Ruby integer
  4. Blocks in Ruby are always there
  5. How to safely enter passwords in a terminal
  6. How to say “I love you” in Ruby
  7. Pulling through a Ruby exception
  8. Difference between frozen Ruby objects across versions
  9. So what is “binding.pry” exactly?