The Curious Engineer

All blogs / Ruby / Rails

Notes to self

nts.strzibny.name

Josef Strzibny’s publication on software engineering, technical leadership, business, and bootstrapping

Ruby / RailsElixir / ErlangDevOps / SRE / infrastructure

Posts
324 from 1 Oct 2014 to 21 Oct 2025
Posting
now and then
Kind
personal blog
Feed
https://nts.strzibny.name/feed.xml

2025 13

  1. devise-otp 2.0 released
  2. InvoicePrinter 2.5 with QR images and Ruby 3.4 support
  3. https://nts.strzibny.name/2025/10/
  4. Running JavaScript after a Turbo Stream renders
  5. Running interactive sessions with Kamal
  6. Predownloading embedding models in Rails with Kamal
  7. https://nts.strzibny.name/2025/03/
  8. Combining multiple sitemaps with a sitemap index
  9. https://nts.strzibny.name/2025/02/
  10. Setting up Cloudflare R2 buckets for Active Storage
  11. Adding button loader to Turbo-powered forms
  12. Auto-saving Rails forms with Turbo Streams
  13. https://nts.strzibny.name/2025/01/

2024 11

  1. Business Class 2.0 with Rails 8, Pay 8, Solid, Kamal 2, and fancy generator
  2. https://nts.strzibny.name/2024/12/
  3. https://nts.strzibny.name/2024/11/
  4. https://nts.strzibny.name/2024/10/
  5. https://nts.strzibny.name/2024/09/
  6. https://nts.strzibny.name/2024/08/
  7. https://nts.strzibny.name/2024/06/
  8. https://nts.strzibny.name/2024/05/
  9. https://nts.strzibny.name/2024/04/
  10. https://nts.strzibny.name/2024/02/
  11. https://nts.strzibny.name/2024/01/

2023 10

  1. https://nts.strzibny.name/2023/12/
  2. https://nts.strzibny.name/2023/11/
  3. https://nts.strzibny.name/2023/10/
  4. https://nts.strzibny.name/2023/09/
  5. https://nts.strzibny.name/2023/08/
  6. https://nts.strzibny.name/2023/07/
  7. https://nts.strzibny.name/2023/05/
  8. https://nts.strzibny.name/2023/04/
  9. https://nts.strzibny.name/2023/02/
  10. https://nts.strzibny.name/2023/01/

2022 9

  1. https://nts.strzibny.name/2022/12/
  2. https://nts.strzibny.name/2022/09/
  3. https://nts.strzibny.name/2022/07/
  4. https://nts.strzibny.name/2022/06/
  5. https://nts.strzibny.name/2022/05/
  6. https://nts.strzibny.name/2022/04/
  7. https://nts.strzibny.name/2022/03/
  8. https://nts.strzibny.name/2022/02/
  9. https://nts.strzibny.name/2022/01/

2021 49

  1. https://nts.strzibny.name/2021/11/
  2. Preloading Rails applications in production
  3. You can in fact use schemas in migrations
  4. Organizing business logic in Rails with contexts
  5. Cross-compiling Elixir releases with ASDF and Docker
  6. https://nts.strzibny.name/2021/10/
  7. Gunicorn graceful restarts
  8. Ruby for ebook publishing
  9. Deployment from Scratch, 1st edition is released!
  10. https://nts.strzibny.name/2021/09/
  11. Writing Absinthe authorization middleware
  12. https://nts.strzibny.name/2021/08/
  13. Elixir authorization plugs
  14. How I earn over $750 a month from my unfinished book
  15. https://nts.strzibny.name/2021/07/
  16. InvoicePrinter 2.2 with breakdowns of items
  17. CentOS 8 free alternatives
  18. Moving ActionCable over to Webpacker
  19. Removing assets dependencies from Rails applications for runtime
  20. Benchmarking programs with /usr/bin/time
  21. I am selling the pre-release of my book
  22. https://nts.strzibny.name/2021/06/
  23. Puma graceful restarts
  24. Tailwind is an interesting concept, but I am not convinced yet
  25. The difference between passwd -l and passwd -d
  26. A sudden Hackney SSL’s unknown certificate authority error
  27. Passing SSL configuration to Hackney
  28. https://nts.strzibny.name/2021/05/
  29. Stop logging as root in 5 simple steps
  30. Improving IRB experience with a custom .irbrc
  31. Benchmarking Ruby 3 in PDF generation
  32. Create a git branch archive
  33. InvoicePrinter 2.1 with Ruby 3 support
  34. Elixir and Phoenix after two years
  35. https://nts.strzibny.name/2021/04/
  36. Live previews with Rails and Stimulus 2
  37. Creating a ZIP file in Elixir
  38. Making 12factor Elixir/Phoenix releases
  39. Download RPM packages locally with DNF
  40. DRY enums for Absinth macros
  41. https://nts.strzibny.name/2021/03/
  42. Tailwind does not support pseudo-elements
  43. systemd user services and systemctl –user
  44. https://nts.strzibny.name/2021/02/
  45. Solving vagrant up’s name of domain about to create is already taken
  46. Running PhantomJS in Vagrant
  47. Working with decimals in Elixir
  48. Prune everything with a complete Docker cleanup
  49. https://nts.strzibny.name/2021/01/

2020 44

  1. Serve Django static assets with Gunicorn
  2. How long will be CentOS Stream supported?
  3. Migrating CentOS 6, 7, and 8 to Oracle Linux
  4. 5 Phoenix open source projects to study
  5. Migrating CentOS 8 to CentOS Stream 8
  6. Choosing Elixir version manager
  7. https://nts.strzibny.name/2020/12/
  8. What are default and bundled gems in Ruby anyway?
  9. Understanding Elixir mocking with Mox
  10. Transactional email providers for indie businesses
  11. Inserting content in the middle of a Jekyll post
  12. https://nts.strzibny.name/2020/11/
  13. Secure Azure blobs pre-signing in Elixir
  14. Migrating WordPress blog to Jekyll
  15. Installing Ruby with ruby-build and ruby-install
  16. https://nts.strzibny.name/2020/10/
  17. Solving QEMU bridge helper “no such device” for virbr0
  18. Elixir macros return AST
  19. https://nts.strzibny.name/2020/09/
  20. Soft dependencies in Elixir projects
  21. Learning negotiation: Never Split the Difference
  22. https://nts.strzibny.name/2020/08/
  23. Testing Netlify server-side analytics
  24. Keeping secrets on Linux with Password Safe
  25. https://nts.strzibny.name/2020/07/
  26. Privacy-oriented alternatives to Google Analytics for 2023
  27. Implementing a custom ExUnit assert to test PDF output
  28. Ecto embeds have IDs by default
  29. https://nts.strzibny.name/2020/06/
  30. Converting snake_case keys to camelCase in Elixir
  31. https://nts.strzibny.name/2020/05/
  32. How to solve DNS resolution in Fedora 32 Docker containers
  33. Phoenix 1.5 LiveDashboard’s Request Logger
  34. https://nts.strzibny.name/2020/04/
  35. 8 + 1 things to get you started with the Elixir’s interactive shell (IEx)
  36. https://nts.strzibny.name/2020/03/
  37. How to test static sites with RSpec, Capybara, and Webkit
  38. Running Docker in Fedora 31
  39. How I reached 200 subscribers for my upcoming book
  40. How I use Sublime Text 3 for publishing my Jekyll-based blog
  41. https://nts.strzibny.name/2020/02/
  42. Using Elixir Language Server in Sublime Text 3
  43. Ruby 2.7 pattern matching after 10 months of professional Elixir
  44. https://nts.strzibny.name/2020/01/

2019 16

  1. GraphQL subscriptions with Elixir and Absinthe
  2. https://nts.strzibny.name/2019/12/
  3. Making a Ruby executable with ruby-packer
  4. https://nts.strzibny.name/2019/09/
  5. InvoicePrinter 2.0
  6. https://nts.strzibny.name/2019/08/
  7. Testing Phoenix custom error pages
  8. https://nts.strzibny.name/2019/07/
  9. Automating tasks and improving developer workflow with pre-commit git hooks
  10. https://nts.strzibny.name/2019/06/
  11. Phoenix CSRF protection in HTML forms, React forms, and APIs
  12. https://nts.strzibny.name/2019/04/
  13. Basic HTTP authentication in Elixir/Phoenix
  14. https://nts.strzibny.name/2019/03/
  15. Rails handles large number of nested routes better than Sinatra
  16. https://nts.strzibny.name/2019/01/

2018 29

  1. Displaying, downloading and streaming files with Active Storage
  2. https://nts.strzibny.name/2018/12/
  3. How fast is Ruby 2.5, 2.6 and 2.6 –jit in generating Prawn PDFs
  4. Taking Stimulus.js for a ride
  5. https://nts.strzibny.name/2018/11/
  6. Building auto login for fast Rails development with Sorcery
  7. Creating accessible visual select in pure JavaScript without dependencies
  8. Debugging silently failing compilation aka Webpacker can’t find application.js in public/packs/manifest.json
  9. Cleaning up systemd journal logs on Fedora
  10. I am writing an introductory book to web application deployment
  11. https://nts.strzibny.name/2018/10/
  12. Using private GitHub repositories with yarn and npm in package.json
  13. https://nts.strzibny.name/2018/08/
  14. Firefox needs some more RAM to run your Rails system tests
  15. https://nts.strzibny.name/2018/07/
  16. InvoicePrinter 1.2
  17. Making PDF invoices from JavaScript and Node.js
  18. Fixing ‘failed to find type parsed [keyword] for [name]’ error for Elasticsearch and Searchkick
  19. https://nts.strzibny.name/2018/05/
  20. PDF invoicing for any project with InvoicePrinter Server
  21. Implementing a basic debug mode for your Ruby CLI
  22. https://nts.strzibny.name/2018/03/
  23. Conditional unique indexes in Rails and PostgreSQL
  24. https://nts.strzibny.name/2018/02/
  25. InvoicePrinter 1.1 “Cape Town” released
  26. Do not run Rails with pending migrations
  27. Editing XFA PDF forms on Linux/Fedora
  28. Invoicing from the command line
  29. https://nts.strzibny.name/2018/01/

2017 17

  1. Ruby refinements example
  2. How to keep hash keys untouched by ActiveModel::Serializer
  3. InvoicePrinter 1.1.0 will bring A4 page size support, command line client and more
  4. https://nts.strzibny.name/2017/12/
  5. InvoicePrinter 1.0
  6. Sending JSON API like 401 Unauthorized error with Devise
  7. https://nts.strzibny.name/2017/10/
  8. Pre/post deploy hooks with Dokku 0.5.0
  9. Following Rails redirects with Capybara
  10. Trusted SSL certificates with Let’s Encrypt and NGINX
  11. https://nts.strzibny.name/2017/04/
  12. Building international invoices with InvoicePrinter 0.0.9
  13. https://nts.strzibny.name/2017/03/
  14. Running wkhtmltopdf in Vagrant (without X server)
  15. https://nts.strzibny.name/2017/02/
  16. Specifying parameters encoding by action in Rails
  17. https://nts.strzibny.name/2017/01/

2016 20

  1. Using Ruby gems in Java/Gradle projects with JRuby
  2. https://nts.strzibny.name/2016/10/
  3. Comparing wkhtmltopdf to Prawn for generating PDF in terms of speed, memory and usability
  4. https://nts.strzibny.name/2016/09/
  5. Creating staging and other environments in Rails
  6. https://nts.strzibny.name/2016/08/
  7. On managing Ruby versions
  8. https://nts.strzibny.name/2016/07/
  9. InvoicePrinter: generate PDF invoices and receipts in seconds with pure Ruby
  10. https://nts.strzibny.name/2016/06/
  11. Simple invoice.pdf
  12. Building and consuming JSON API with Crystal
  13. Testing PDF generation in Ruby
  14. Allowing NGINX to use a Puma/Unicorn UNIX socket with SELinux
  15. https://nts.strzibny.name/2016/04/
  16. Setting up git push code deploy to remote server
  17. Fix can’t cast RGeo::Geographic::SphericalPointImpl to point
  18. https://nts.strzibny.name/2016/03/
  19. What to do if Vagrant machine becomes unresponsive (KVM)
  20. https://nts.strzibny.name/2016/02/

2015 36

  1. Resolving VirtualBox-based Vagrant boxes IP collisions
  2. https://nts.strzibny.name/2015/12/
  3. DNS for your Vagrant needs: with Landrush, libvirt and dnsmasq
  4. First update for Fedora Developer Portal
  5. https://nts.strzibny.name/2015/11/
  6. Fedora/CentOS RPMs for Otto project, Packer and Vault
  7. Using OpenShift s2i Docker images to build Ruby application containers
  8. https://nts.strzibny.name/2015/10/
  9. Debugging Vagrant with pry-byebug
  10. Why Fedora needs a place for developers
  11. Writing a general multi-provider Vagrantfile
  12. Deleting a problematic package on Fedora
  13. Use your RHEL Vagrant boxes as any other with vagrant-registration
  14. https://nts.strzibny.name/2015/09/
  15. Changing URLs in Jekyll
  16. Fast and painless NFS for your Vagrant environment
  17. Running Vagrant with Docker provider without password prompts on Fedora
  18. https://nts.strzibny.name/2015/08/
  19. Working with Bundler from your Ruby code
  20. https://nts.strzibny.name/2015/07/
  21. Patching gems for security vulnerabilities with gem-patch
  22. Running Kubernetes on Fedora with Vagrant
  23. Vagrant assistant for your DevAssistant
  24. gem-compare: Releasing a new gem version with confidence
  25. Inception: running Vagrant inside Vagrant with KVM
  26. https://nts.strzibny.name/2015/06/
  27. Safe code evaluation in Ruby with $SAFE
  28. Running test/unit suites with Minitest
  29. Creating default configuration for every Vagrant project
  30. https://nts.strzibny.name/2015/05/
  31. Vagrant NFS exports on Fedora 21
  32. https://nts.strzibny.name/2015/03/
  33. Getting Vagrant with libvirt support on Fedora 21
  34. Quick setup of nested virtualization in KVM and virt-manager
  35. Fixing Fedora distro-sync upgrade
  36. https://nts.strzibny.name/2015/01/

2014 6

  1. What attributes RubyGems’ Marshal file really contain?
  2. How to set up shared folders in virt-manager
  3. https://nts.strzibny.name/2014/11/
  4. libvirt Vagrant boxes with vagrant-mutate
  5. Getting Vagrant with libvirt support on your Fedora 20
  6. https://nts.strzibny.name/2014/10/

Undated 64

  1. Datetime summer time
  2. Freezing dependencies yarn lock frozen lockfile
  3. Single attribute in place editing turbo
  4. Rails system tests page objects
  5. Rails system tests headless
  6. Rails fixtures db seed
  7. Alternative ids rails
  8. Vs code status bar color
  9. Ruby modular packages
  10. Restricted paths validator url slugs
  11. Gem compare 1.0
  12. One year of sales
  13. Avoid sleep rails system tests
  14. Hybrid docker compose rails
  15. Understanding viewcomponent concepts
  16. Migrating rails cookies to json
  17. Gem compare new contributors
  18. Why not rspec
  19. Gumroad alternatives eu uk vat
  20. Fixing unresponsive gnome software on fedora
  21. Rails activerecord becomes
  22. Invoiceprinter 2.3
  23. 24h startup challenge
  24. Building ruby on rails saas template
  25. Business class brand new rails saas template
  26. Running sass and tailwind side by side rails
  27. Verify paddle billing webhooks rails
  28. Overriding rails engine models controllers
  29. Businessclass 1.1
  30. Marketing book 1000 sales
  31. Activerecord model slugs
  32. Deploying rails single server kamal
  33. Businessclass 1.2
  34. Alternative bigint id identifiers rails
  35. Businessclass 1.3
  36. Businessclass 1.4
  37. Kamal configuration
  38. Businessclass 1.5
  39. How to use ssh private keys with password
  40. Businessclass 1.6
  41. How i wrote kamal handbook
  42. Running thruster rails kamal
  43. Businessclass 1.7
  44. Automating postgresql backups do spaces kamal
  45. Dark mode tailwind stimulus
  46. Kamal healthcheck settings
  47. Kamal handbook first update
  48. Minitest mocks
  49. Env conflict kamal dotenv
  50. Kamal proxy
  51. Upgrading to kamal 2
  52. Multiple apps single server kamal 2
  53. Deploying next kamal 2
  54. Rails force ssl
  55. Kamal proxy roles
  56. Subclass sti rails model
  57. Kamal show running apps
  58. Using non root users kamal
  59. Test driving rails released
  60. How kamal deploy multiple servers
  61. How to use remote build server kamal
  62. Kamal cannot connect to docker daemon
  63. Rails authentication registrations
  64. Page