41554 blogs · [ { "id": "01a0875a-3834-71dd-8014-0252e1416ede", "title": "Bridgetown 2.1 - Ruby Static-Site Orientation", "url": "https://btihen.dev/posts/ruby/bridgetown_2_1_x_static_site_generator/", "published_at": "2026-04-24T23:57:00+00:00" }, { "id": "01a0875a-3835-726d-b716-3f6933c95cdd", "title": "Rails: Table Selection Form (Article 2 of 2)", "url": "https://btihen.dev/posts/ruby/rails_8_0_rails_table_selection_form/", "published_at": "2025-03-02T23:20:00+00:00" }, { "id": "01a0875a-3835-726d-b716-3f6934b3f846", "title": "Rails: Table Filtering & Sorting (Article 1 of 2)", "url": "https://btihen.dev/posts/ruby/rails_8_0_rails_table_filtering_sorting/", "published_at": "2025-02-28T23:20:00+00:00" }, { "id": "01a0875a-3835-726d-b716-3f69351e2139", "title": "Rails with Postgres - Fuzzy Searches", "url": "https://btihen.dev/posts/ruby/rails_7_2_fuzzy_search/", "published_at": "2024-10-30T23:01:53+00:00" }, { "id": "01a0875a-3835-726d-b716-3f6935317351", "title": "Ruby 3.x - Lazy Evaluation, prioritized algorithms", "url": "https://btihen.dev/posts/ruby/ruby_3_x_lazy_eval_prioritized_algorithms/", "published_at": "2024-09-06T23:20:00+00:00" }, { "id": "01a0875a-3835-726d-b716-3f6935bfb572", "title": "Creating the Rails Age Plugin", "url": "https://btihen.dev/posts/ruby/rails_7_1_creating_rails_age_plugin/", "published_at": "2024-05-20T23:20:00+00:00" }, { "id": "01a0875a-3835-726d-b716-3f6936279e95", "title": "Rails 7.1.x - GraphDB App with AGE", "url": "https://btihen.dev/posts/ruby/rails_7_1_exploration_rails_graphdb_age_app/", "published_at": "2024-05-19T23:20:00+00:00" }, { "id": "01a0875a-3835-726d-b716-3f6936cd29af", "title": "Rails 7.1.x - Graph AGE Integration Exploration", "url": "https://btihen.dev/posts/ruby/rails_7_1_explore_rails_graphdb_age_integration/", "published_at": "2024-05-05T23:20:00+00:00" }, { "id": "01a0875a-3835-726d-b716-3f6937ba0900", "title": "Rails 7.1.x - Minimal Rails -- no Database", "url": "https://btihen.dev/posts/ruby/rails_7_1_minimal_rails_no_database/", "published_at": "2024-05-05T23:20:00+00:00" }, { "id": "01a0875a-3835-726d-b716-3f69385dd380", "title": "Rails 7.1.x - Dynamic Tables with Turbo Morph", "url": "https://btihen.dev/posts/ruby/rails_7_1_tubo_morph_tables/", "published_at": "2024-04-30T23:20:00+00:00" }, { "id": "01a0875a-3835-726d-b716-3f6938e7f44c", "title": "Rails 7.1.x Secured Namespaced Controllers", "url": "https://btihen.dev/posts/ruby/rails_7_1_secured_namespaced_contollers/", "published_at": "2024-04-26T23:20:00+00:00" }, { "id": "01a0875a-3835-726d-b716-3f693949d744", "title": "Rails 7.1.x Base App", "url": "https://btihen.dev/posts/ruby/rails_7_1_base_app/", "published_at": "2024-03-31T23:20:00+00:00" }, { "id": "01a0875a-3835-726d-b716-3f6939651c11", "title": "Rails 7.1.x Dynamic Tables using Turbo Morph", "url": "https://btihen.dev/posts/ruby/rails_7_1_dynamic_tables/", "published_at": "2024-03-31T23:20:00+00:00" }, { "id": "01a0875a-3835-726d-b716-3f6939c08d52", "title": "Rails 7.1.x JSON API Introduction with Nested data", "url": "https://btihen.dev/posts/ruby/rails_7_1_api_exploration/", "published_at": "2024-03-29T23:20:00+00:00" }, { "id": "01a0875a-3835-726d-b716-3f693a80cb43", "title": "Rails 7.1.x Exploring Bi-directional Relations", "url": "https://btihen.dev/posts/ruby/rails_7_1_bidirectional_exploration/", "published_at": "2024-03-15T23:20:00+00:00" }, { "id": "01a0875a-3835-726d-b716-3f693b2ecf01", "title": "Rails Design: Protected Modules with Injection", "url": "https://btihen.dev/posts/ruby/rails_design_modules_with_boundaries_and_injection/", "published_at": "2023-08-11T23:20:00+00:00" }, { "id": "01a0875a-3835-726d-b716-3f693b5535be", "title": "Rails with Mingines (Minimized Engines)", "url": "https://btihen.dev/posts/ruby/rails_minimal_engines/", "published_at": "2023-07-10T23:20:00+00:00" }, { "id": "01a0875a-3835-726d-b716-3f693bba4551", "title": "Rails with Protected Modules", "url": "https://btihen.dev/posts/ruby/rails_protected_modules/", "published_at": "2023-07-05T23:20:00+00:00" }, { "id": "01a0875a-3835-726d-b716-3f693c8d191d", "title": "Rails 7.1.0.alpha2 (main) Test-drive", "url": "https://btihen.dev/posts/ruby/rails_7_1_alpha_test_drive/", "published_at": "2023-03-03T23:20:00+00:00" }, { "id": "01a0875a-3835-726d-b716-3f693d701b82", "title": "Ruby Ractors", "url": "https://btihen.dev/posts/ruby/ruby_3_x_ractor/", "published_at": "2023-01-14T23:11:22+00:00" }, { "id": "01a0875a-3835-726d-b716-3f693d7ac5ad", "title": "Rails Packwerk Refactor", "url": "https://btihen.dev/posts/ruby/rails_7_0_reorganizing_with_packwerk/", "published_at": "2022-07-31T23:59:53+00:00" }, { "id": "01a0875a-3835-726d-b716-3f693e40b888", "title": "Modular Rails using Packwerk", "url": "https://btihen.dev/posts/ruby/rails_7_0_modular_using_packwerk/", "published_at": "2022-07-30T23:59:53+00:00" }, { "id": "01a0875a-3835-726d-b716-3f693eb0a03e", "title": "Rails 7.0 Using Packages (Packwerk gem)", "url": "https://btihen.dev/posts/ruby/rails_7_0_packwerk/", "published_at": "2022-05-21T23:20:00+00:00" }, { "id": "01a0875a-3835-726d-b716-3f693f66b012", "title": "Rails 7.0 - Decoupling with Events (or Commands / Service Objects)", "url": "https://btihen.dev/posts/ruby/rails_7_0_decoupling_commands_events/", "published_at": "2022-04-22T23:20:00+00:00" }, { "id": "01a0875a-3835-726d-b716-3f694019bdba", "title": "Rails 5.2 - Command Objects and PORO Attributes", "url": "https://btihen.dev/posts/ruby/rails_5_2_command_objects_attributes/", "published_at": "2022-03-25T23:57:00+00:00" }, { "id": "01a0875a-3835-726d-b716-3f69401d16dd", "title": "Rails 7.0 Base Setup", "url": "https://btihen.dev/posts/ruby/rails_7_0_base_setup/", "published_at": "2022-03-11T23:20:00+00:00" }, { "id": "01a0875a-3835-726d-b716-3f69403fdd67", "title": "Bridgetown 1.0 - Ruby Static-Site Orientation", "url": "https://btihen.dev/posts/ruby/bridgetown_1_x_ruby_static_stite_orientation/", "published_at": "2022-03-04T23:57:00+00:00" }, { "id": "01a0875a-3835-726d-b716-3f6940c74b97", "title": "Passwordless Authentication with Devise", "url": "https://btihen.dev/posts/ruby/rails_6_x_passwordless_devise_w_global_ids/", "published_at": "2021-12-17T23:36:55+00:00" }, { "id": "01a0875a-3835-726d-b716-3f6941776a12", "title": "Rails 6.x Auth with MagicLink using SecureRandom Token", "url": "https://btihen.dev/posts/ruby/rails_6_x_auth_w_magic_links_using_random_token/", "published_at": "2021-09-22T14:09:57+00:00" }, { "id": "01a0875a-3835-726d-b716-3f69419179fe", "title": "Rails 6.x+ Auth with MagicLinks using Rails Signed GlobalIDs", "url": "https://btihen.dev/posts/ruby/rails_6_x_auth_w_magic_links_using_signed_global_id/", "published_at": "2021-09-18T23:36:55+00:00" }, { "id": "01a0875a-3835-726d-b716-3f6941b3dbd8", "title": "Rails 7.0alpha2 Test-drive", "url": "https://btihen.dev/posts/ruby/rails_7_0_alpha_test_drive/", "published_at": "2021-09-18T19:20:00+00:00" }, { "id": "01a0875a-3835-726d-b716-3f6942ac11c6", "title": "Strategy Pattern and Lambdas", "url": "https://btihen.dev/posts/ruby/ruby_strategy_pattern_and_lambdas/", "published_at": "2021-08-13T23:11:22+00:00" }, { "id": "01a0875a-3835-726d-b716-3f69432a0607", "title": "Squished String Type (Rails 5/6)", "url": "https://btihen.dev/posts/ruby/rails_6_x_squished_strings_type/", "published_at": "2021-08-11T23:11:22+00:00" }, { "id": "01a0875a-3835-726d-b716-3f6944225778", "title": "Rails 6.x - Framework Agnostic Associations - part 2", "url": "https://btihen.dev/posts/ruby/rails_6_x_agnostic_associations_3/", "published_at": "2021-05-29T23:57:00+00:00" }, { "id": "01a0875a-3835-726d-b716-3f6944411039", "title": "Rails 6.x - Framework Agnostic Associations - part 2", "url": "https://btihen.dev/posts/ruby/rails_6_x_agnostic_associations_2/", "published_at": "2021-05-28T23:57:00+00:00" }, { "id": "01a0875a-3835-726d-b716-3f6944f8ce78", "title": "Rails 6.x - Framework Agnostic Associations - part 1", "url": "https://btihen.dev/posts/ruby/rails_6_x_agnostic_associations_1/", "published_at": "2021-05-18T23:57:00+00:00" }, { "id": "01a0875a-3835-726d-b716-3f69454d41ec", "title": "Rails 6.1 - Hotwire with Lazy Loading", "url": "https://btihen.dev/posts/ruby/rails_6_1_hotwire_lazy_load_data/", "published_at": "2021-03-27T23:57:00+00:00" }, { "id": "01a0875a-3835-726d-b716-3f69463f089f", "title": "Rails 6.1 - Hotwire with Modals", "url": "https://btihen.dev/posts/ruby/rails_6_1_hotwire_modal_form/", "published_at": "2021-03-20T16:57:00+00:00" }, { "id": "01a0875a-3835-726d-b716-3f694703e5b8", "title": "Rails 6.1 - Hotwire with StimulusJS", "url": "https://btihen.dev/posts/ruby/rails_6_1_hotwire_and_stimulusjs/", "published_at": "2021-03-14T16:57:00+00:00" }, { "id": "01a0875a-3835-726d-b716-3f6947aa9ff8", "title": "Rails 6.1 - Hotwire with Flash Messages", "url": "https://btihen.dev/posts/ruby/rails_6_1_hotwire_flash_messages/", "published_at": "2021-03-06T16:57:00+00:00" }, { "id": "01a0875a-3835-726d-b716-3f6947d412be", "title": "Rails 6.1 - Hotwire (Simple Realtime SPA)", "url": "https://btihen.dev/posts/ruby/rails_6_1_hotwire_simple_realtime/", "published_at": "2021-02-28T16:57:00+00:00" }, { "id": "01a0875a-3835-726d-b716-3f69485d53ed", "title": "Tweets - A Single Page Rails App (using reloads)", "url": "https://btihen.dev/posts/ruby/rails_6_1_single_page_app_simulate/", "published_at": "2021-02-20T16:57:00+00:00" }, { "id": "01a0875a-3835-726d-b716-3f6948de8c87", "title": "Rails 6.1 with TailwindCSS 2.0 and AlpineJS", "url": "https://btihen.dev/posts/ruby/rails_6_1_tailwind_2_0_alpinejs/", "published_at": "2020-09-10T00:46:07+00:00" }, { "id": "01a0875a-3835-726d-b716-3f6949b996e4", "title": "Install and Configure Rails", "url": "https://btihen.dev/posts/ruby/rails_6_install_n_configure/", "published_at": "2020-09-09T23:46:07+00:00" }, { "id": "01a0875a-3835-726d-b716-3f694a69d989", "title": "Rails Devise User Model with Roles", "url": "https://btihen.dev/posts/ruby/rails_devise_users_namespaced/", "published_at": "2020-07-10T18:45:51+00:00" } ] posts Claim your blog
Back to btihen.dev
Blog · corpus.blog/blogs/btihen.dev/posts

btihen.dev

btihen.dev

2026

2025

2024

2023

2022

2021

2020