kirshatrov.com 2. 2. 2022DBaaS ecosystem and economics – kirshatrov.com 31. 12. 20212021 in review – kirshatrov.com 25. 9. 2021Fragmented prototyping – kirshatrov.com 27. 7. 2021Vitess: Scaling VReplication – kirshatrov.com 21. 7. 2021Quick way to run a Ruby script in Kubernetes – kirshatrov.com 11. 5. 2021Global infrastructure expansion – kirshatrov.com 10. 5. 2021Materializing tables with Vitess – kirshatrov.com 2. 5. 2021Throttling database load with Vitess – kirshatrov.com 2. 5. 2021Talking to Vitess over GRPC from Ruby – kirshatrov.com 9. 2. 2021Vitess: scrappy notes – kirshatrov.com 20. 1. 2021Five years at Shopify – kirshatrov.com 6. 1. 2021Ruby 3, concurrency and the ecosystem – kirshatrov.com 27. 12. 2020Writing a Ractor-based web server: part II – kirshatrov.com 15. 11. 2020Organizations and layers of abstraction – kirshatrov.com 6. 10. 2020bpftrace, uprobe and containers – kirshatrov.com 8. 9. 2020Writing a Ractor-based web server – kirshatrov.com 27. 4. 2020Scaling MySQL stack, ep. 4: Proxies – kirshatrov.com 16. 4. 2020Scaling MySQL stack, ep. 3: Observability – kirshatrov.com 6. 4. 2020Scaling MySQL stack, ep. 2: Deadlines – kirshatrov.com 23. 3. 2020Scaling MySQL stack, ep. 1: Timeouts – kirshatrov.com 5. 2. 2020Databases and company growth – kirshatrov.com 25. 1. 2020Creating productive teams – kirshatrov.com 11. 1. 2020Contributing to Ruby MRI – kirshatrov.com 25. 12. 2019Playing with BPF – kirshatrov.com 4. 11. 2019Finding a memory leak in a Go app with cgo bindings – kirshatrov.com 20. 8. 2019Methods vs constants for static values in Ruby – kirshatrov.com 6. 7. 2019Boosting application boot time with container snapshots – kirshatrov.com 25. 2. 2019How I forgot my laptop and stayed calm – kirshatrov.com 3. 1. 2019The State of Background Jobs in 2019 – kirshatrov.com 29. 11. 2018Engineering Leadership Unconference – kirshatrov.com 21. 10. 2018Capacity planning for web applications – kirshatrov.com 20. 7. 2018Designing job queue in Redis – kirshatrov.com 1. 7. 2018The Lead Developer conference – kirshatrov.com 13. 4. 2018Debugging Ruby processes in Kubernetes – kirshatrov.com 1. 4. 2018Asynchronous Active Record migrations – kirshatrov.com 24. 3. 2018Rails 5.2 Credentials and Kubernetes – kirshatrov.com 23. 1. 2018Predicting database index hits – kirshatrov.com 21. 1. 2018Scaling database reads with Sticky Writer – kirshatrov.com 31. 12. 20172017 in review – kirshatrov.com 26. 12. 2017Changes in Ruby 2.5 that I'm excited about – kirshatrov.com 5. 11. 2017Environment variables considered evil – kirshatrov.com 28. 9. 2017SREcon Europe 2017: impressions – kirshatrov.com 1. 5. 2017Background jobs and deploys – kirshatrov.com 17. 4. 2017Signal handling in Ruby and its internals – kirshatrov.com 15. 2. 2017Class attributes and ActiveSupport – kirshatrov.com 3. 1. 2017Safe monkeypatching – kirshatrov.com 18. 12. 2016Rewriting code with Rubocop – kirshatrov.com 13. 12. 2016Rails feature that you've never heard about: schema cache – kirshatrov.com 29. 11. 2016Debugging Rubygems – kirshatrov.com 28. 11. 2016Developing Rails on JRuby – kirshatrov.com 20. 11. 2016Working on fork and upstream – kirshatrov.com 31. 10. 2016Inspecting ActiveRecord queries – kirshatrov.com 21. 10. 2016Five ways to write a flaky test – kirshatrov.com 23. 9. 2016Dynamic breaking points in Ruby – kirshatrov.com 12. 9. 2016Improving Rails test helpers – kirshatrov.com 5. 9. 2016When abstraction is a mistake: ActionController::TestCase – kirshatrov.com 14. 8. 2016Git and large repos – kirshatrov.com 9. 7. 2016Rails and Webpack: No Gem Required – kirshatrov.com 24. 5. 2016Starting with Clojure – kirshatrov.com 9. 5. 2016My notes from RailsConf 2016 – kirshatrov.com 18. 12. 2015Simple encryption of ActiveRecord fields – kirshatrov.com 8. 11. 2015Using Kaminari to paginate non-ActiveRecord query – kirshatrov.com 20. 10. 2015Making a custom logger for Rails query optimization – kirshatrov.com 13. 10. 2015Profiling RSpec examples with Stackprof – kirshatrov.com 9. 10. 2015Confident Ruby by Avdi Grim – kirshatrov.com 4. 10. 2015Proper way to use the Struct – kirshatrov.com 14. 9. 2015Localized cache store in Rails – kirshatrov.com 19. 8. 2015Direct uploads with AWS S3 and Rails – kirshatrov.com 25. 4. 2015RailsConf 2015 Recap and Thoughts – kirshatrov.com 16. 4. 2015Building RailsPerf (my RailsConf talk) – kirshatrov.com 7. 4. 2015Rails 5: what's new – kirshatrov.com 2. 3. 2015An annoying Capistrano, Unicorn and Bundler issue – kirshatrov.com
2. 2. 2022DBaaS ecosystem and economics – kirshatrov.com 31. 12. 20212021 in review – kirshatrov.com 25. 9. 2021Fragmented prototyping – kirshatrov.com 27. 7. 2021Vitess: Scaling VReplication – kirshatrov.com 21. 7. 2021Quick way to run a Ruby script in Kubernetes – kirshatrov.com 11. 5. 2021Global infrastructure expansion – kirshatrov.com 10. 5. 2021Materializing tables with Vitess – kirshatrov.com 2. 5. 2021Throttling database load with Vitess – kirshatrov.com 2. 5. 2021Talking to Vitess over GRPC from Ruby – kirshatrov.com 9. 2. 2021Vitess: scrappy notes – kirshatrov.com 20. 1. 2021Five years at Shopify – kirshatrov.com 6. 1. 2021Ruby 3, concurrency and the ecosystem – kirshatrov.com 27. 12. 2020Writing a Ractor-based web server: part II – kirshatrov.com 15. 11. 2020Organizations and layers of abstraction – kirshatrov.com 6. 10. 2020bpftrace, uprobe and containers – kirshatrov.com 8. 9. 2020Writing a Ractor-based web server – kirshatrov.com 27. 4. 2020Scaling MySQL stack, ep. 4: Proxies – kirshatrov.com 16. 4. 2020Scaling MySQL stack, ep. 3: Observability – kirshatrov.com 6. 4. 2020Scaling MySQL stack, ep. 2: Deadlines – kirshatrov.com 23. 3. 2020Scaling MySQL stack, ep. 1: Timeouts – kirshatrov.com 5. 2. 2020Databases and company growth – kirshatrov.com 25. 1. 2020Creating productive teams – kirshatrov.com 11. 1. 2020Contributing to Ruby MRI – kirshatrov.com 25. 12. 2019Playing with BPF – kirshatrov.com 4. 11. 2019Finding a memory leak in a Go app with cgo bindings – kirshatrov.com 20. 8. 2019Methods vs constants for static values in Ruby – kirshatrov.com 6. 7. 2019Boosting application boot time with container snapshots – kirshatrov.com 25. 2. 2019How I forgot my laptop and stayed calm – kirshatrov.com 3. 1. 2019The State of Background Jobs in 2019 – kirshatrov.com 29. 11. 2018Engineering Leadership Unconference – kirshatrov.com 21. 10. 2018Capacity planning for web applications – kirshatrov.com 20. 7. 2018Designing job queue in Redis – kirshatrov.com 1. 7. 2018The Lead Developer conference – kirshatrov.com 13. 4. 2018Debugging Ruby processes in Kubernetes – kirshatrov.com 1. 4. 2018Asynchronous Active Record migrations – kirshatrov.com 24. 3. 2018Rails 5.2 Credentials and Kubernetes – kirshatrov.com 23. 1. 2018Predicting database index hits – kirshatrov.com 21. 1. 2018Scaling database reads with Sticky Writer – kirshatrov.com 31. 12. 20172017 in review – kirshatrov.com 26. 12. 2017Changes in Ruby 2.5 that I'm excited about – kirshatrov.com 5. 11. 2017Environment variables considered evil – kirshatrov.com 28. 9. 2017SREcon Europe 2017: impressions – kirshatrov.com 1. 5. 2017Background jobs and deploys – kirshatrov.com 17. 4. 2017Signal handling in Ruby and its internals – kirshatrov.com 15. 2. 2017Class attributes and ActiveSupport – kirshatrov.com 3. 1. 2017Safe monkeypatching – kirshatrov.com 18. 12. 2016Rewriting code with Rubocop – kirshatrov.com 13. 12. 2016Rails feature that you've never heard about: schema cache – kirshatrov.com 29. 11. 2016Debugging Rubygems – kirshatrov.com 28. 11. 2016Developing Rails on JRuby – kirshatrov.com 20. 11. 2016Working on fork and upstream – kirshatrov.com 31. 10. 2016Inspecting ActiveRecord queries – kirshatrov.com 21. 10. 2016Five ways to write a flaky test – kirshatrov.com 23. 9. 2016Dynamic breaking points in Ruby – kirshatrov.com 12. 9. 2016Improving Rails test helpers – kirshatrov.com 5. 9. 2016When abstraction is a mistake: ActionController::TestCase – kirshatrov.com 14. 8. 2016Git and large repos – kirshatrov.com 9. 7. 2016Rails and Webpack: No Gem Required – kirshatrov.com 24. 5. 2016Starting with Clojure – kirshatrov.com 9. 5. 2016My notes from RailsConf 2016 – kirshatrov.com 18. 12. 2015Simple encryption of ActiveRecord fields – kirshatrov.com 8. 11. 2015Using Kaminari to paginate non-ActiveRecord query – kirshatrov.com 20. 10. 2015Making a custom logger for Rails query optimization – kirshatrov.com 13. 10. 2015Profiling RSpec examples with Stackprof – kirshatrov.com 9. 10. 2015Confident Ruby by Avdi Grim – kirshatrov.com 4. 10. 2015Proper way to use the Struct – kirshatrov.com 14. 9. 2015Localized cache store in Rails – kirshatrov.com 19. 8. 2015Direct uploads with AWS S3 and Rails – kirshatrov.com 25. 4. 2015RailsConf 2015 Recap and Thoughts – kirshatrov.com 16. 4. 2015Building RailsPerf (my RailsConf talk) – kirshatrov.com 7. 4. 2015Rails 5: what's new – kirshatrov.com 2. 3. 2015An annoying Capistrano, Unicorn and Bundler issue – kirshatrov.com