Balkan Ruby 2026 is about the hot takes, the spicy memes, and (humbly) the best Ruby conference in the world.
Was this README AI-generated? Can the kids these days still write (or code)? Are SPAs still worth it, or should we let the servers serve? Is cloud computing still on, or should you own your servers? Typed Ruby, when?
Give us all your hot takes for a spicy Balkan Ruby 2026 in Sofia, Bulgaria.
This is the codebase for the Balkan Ruby conference website and its CMS, or conference-management-system. The codebase is pragmatic and modern. Most of the Balkan Ruby conference needs are covered by a custom-built admin management solution, but some features are still hard-coded. Welcome to the Balkans, where construction (and software development) is done for the sake of construction and is never finished.
- Ruby 3.4.4
- SQLite3
- Foreman (or hivemind)
Install Ruby 3.4.4 with rbenv, chruby, or asdf. Use
Homebrew, Portage, or pacman (if you are a noob), for
everything else:
brew install sqlite3 libvips
With the dependencies installed, proceed to the next step and...
Clone the repo:
git clone git@github.com:gsamokovarov/balkan.gitSet up the project development environment:
bin/setupOptionally, you can set up the project to accept payments via Stripe in
development. Without it, payments in development will not work but running the
application through bin/dev will still work. Sorry for the spoilers.
Warning Make sure you are using the test mode in Stripe for local development.
- Install stripe cli
- Set up a local listener for the webhooks
- Make sure you have the following ENVs set up - e.g,. .env.erb
- STRIPE_SECRET_KEY
- STRIPE_WEBHOOK_SECRET
The admin is accessed at /admin. The admin@example.com user is seeded with
the password admin that you can use for development.
Start the application.
bin/devRun the test suite:
bundle exec rspecThe project uses RSpec, but with a twist – I enjoy minitest because of its simplicity, however, I love RSpec's runner and tooling. I created rspec-xunit so I can use RSpec with an xUnit testing dialect.
This application is deployed to a custom server maintained by me and Neno Ganchev
using Hamal, a simple deployment tool we
created. The deployment configuration lives in config/deploy.yml.
To deploy (if you have access):
bin/hamal deployThis code is and always will be specific to Balkan Ruby and the events I run. If you find this code useful for your conference or project, you're free to fork it and adapt it to your needs.
This project is open source under the MIT License. Do whatever you want with it, just don't sue me (or request features).