Kyrylo Silin
About me
- Software engineer, web developer, and budding entrepreneur.
- From Kharkiv, Ukraine πΊπ¦
- I am an alumnus of Kharkiv National University of Radio Electronics, in the Department of Information Control Systems (ICS). (MSc. 2015)
- Get in touch: silin@kyryl(o.o)rg
Where to find me online
- GitHub — kyrylo
- X — @kyrylosilin
- Bluesky — @kyrylo.org
- LinkedIn — Kyrylo Silin
- ProductHunt — @kyrylosilin
What I'm working on
- Telebugs: Refreshingly simple error tracking. Catch production errors automatically and instantly report them to Telegram.
- Flag Match: A fun and educational game to learn flags of countries and their capitals.
- Coffee World Rush: Track your coffee consumption and help bring your country to the top of the leaderboard.
Past work
- Matcharoo: A word association game where you match similar words, learn new words easily, and have a blast with friends as you discover who knows the most (blog post).
- Pry REPL: The featureful development console for Ruby.
- Airbrake Ruby and Airbrake: The notifier libraries for the Airbrake error monitoring service, which I rewrote from scratch and maintained for many years.
- netstring: A Go package for formatting byte strings using declarative notation to indicate the string's size.
- linenoise-rb: A Ruby wrapper for Linenoise, a small self-contained alternative to Readline and libedit.
- System Browser: A desktop app for browsing Ruby code, inspired by Smalltalk. Click to view details about a module or class, explore its namespace, or see the source of a method.
- Fast Method Source: An extremely fast Ruby C extension for querying methods, procs, and lambdas for their source code and comments.
- System Navigation: A Ruby library that provides navigation and introspection capabilities for Ruby programs, similar to those in Smalltalk.
- RMarshal: An Erlang library for deserializing Ruby objects dumped by Marshal.dump into Erlang terms.
-
multitrap: A Ruby library that allows
Signal.trap
to execute multiple callbacks - Pry Theme: A plugin for the Pry REPL in Ruby that allows customizing Pry colors using prytheme.rb files.
- Patience: Solitaire card game built in Ruby with the Gosu framework.
- Pixelate and Pixelnine: Skins for the KDE terminal emulator, Yakuake.
- OpenRA maps: A collection of maps for the OpenRA real-time strategy game. Some of the maps were included in the official release.
- openra-microcontrol: A minigame for the OpenRA real-time strategy game written in Lua.
- Entooru: Translations of random English articles about Ruby into Russian.
- Your tea, buddy: A KDE splash screen with a white background, red text, and a small loading progress bar beneath the text. Pairs well with the Already awake? KDM4 theme.
- Already awake?: A KDM4 theme with a white background and red text. Pairs well with the Already awake? splash screen.
- bash-completion-subtle: Bash completion scripts for Subtle WM and its tools.
- zsh-completion-subtle: Z Shell completion scripts for Subtle WM and its tools.
My blog posts
- Nov 17, 2024 – How Counter-Strike introduced me to the world of programming
- Nov 17, 2024 – Hyperlinks existed before the web
- Nov 15, 2024 – How to self-host Plausible Analytics with Kamal
- Nov 7, 2024 – There's no place for test-driven development (TDD)
- Oct 25, 2024 – Why does "target=_blank" have an underscore in front?
- Oct 23, 2024 – Writing software is like spreading butter on bread
- Sep 27, 2024 – Notes from the opening keynote by David Heinemeier Hansson at Rails World 2024
- Aug 7, 2024 – How to add Mission Control to your Rails app and protect it with basic auth
- Jul 18, 2024 – I built a flag-matching game in 6 days, and it was played more than 45 times in 2 weeks
- Jun 2, 2024 – How to deploy a Telegram bot with Kamal
- Mar 31, 2024 – Cloudflare Tunnel: a free Ngrok alternative for developing Rails apps locally
- Mar 20, 2024 – Coffee World Rush: a leaderboard for all coffee drinkers around the world
- Feb 21, 2024 – I built a word-matching game called Matcharoo
- Feb 20, 2024 – Using Overmind with Foreman as a fallback for Rails 7.1 apps
- Feb 16, 2024 – How to generate sitemap.xml for your Rails 7.1 app with Kamal
- Jan 21, 2024 – How to opt-out of the cache with Hotwire Turbo Drive in Rails
- Jan 21, 2024 – How to enable the Traefik dashboard for a Rails 7.1 app
- Jan 18, 2024 – Making PostgreSQL work with Kamal and a new Rails 7.1 application
- Jan 8, 2024 – How to run your Turbo Native Android app on a physical device locally
- Nov 9, 2023 – Embarking on an indie dev journey
- Jun 21, 2018 – Untangling the love Ruby tongue-twister
- May 23, 2015 – A bit of bacon, lettuce, and tomato
- Dec 31, 2014 – Ruby's exception to message mapper
- Dec 15, 2013 – JavaScript eval tricks
- Aug 24, 2013 – Ruby eval tricks
- Aug 13, 2013 – Various ways to count digits in a Ruby integer
- Aug 9, 2013 – Blocks in Ruby are always there
- Aug 2, 2013 – How to safely enter passwords in a terminal
- Jul 15, 2013 – How to say "I love you" in Ruby
- Jul 3, 2013 – Pulling through a Ruby exception
- Jun 3, 2013 – Difference between frozen Ruby objects across versions
- May 30, 2013 – So, what is
binding.pry
exactly?
Where I've been
- 2021 – Dubai, United Arab Emirates π¦πͺ
- 2019 – Cebu, Philippines π΅π
- 2019 – Lviv, Ukraine πΊπ¦
- 2019 – Amsterdam, Netherlands π³π±
- 2019 – Rotterdam, Netherlands π³π±
- 2019 – Manila, Philippines π΅π
- 2019 – Legazpi, Philippines π΅π
- 2019 – Bohol, Philippines π΅π
- 2018 – Cavite, Philippines π΅π
- 2018 – Baguio, Philippines π΅π
- 2018 – Tagaytay, Philippines π΅π
- 2018 – Manila, Philippines π΅π
- 2017 – Bangkok, Thailand πΉπ
- 2017 – Manila, Philippines π΅π
- 2017 – Kyiv, Ukraine πΊπ¦
- 2016 – Lisbon, Portugal π΅πΉ
- 2014 – San Francisco, United States πΊπΈ
- 2013 – Kharkiv, Ukraine πΊπ¦
- 2012 – Donetsk, Ukraine πΊπ¦
- 2011 – Odesa, Ukraine πΊπ¦