diff --git a/.stitch/designs/rubyllm-retries-cover.html b/.stitch/designs/rubyllm-retries-cover.html new file mode 100644 index 000000000..2bfdd5789 --- /dev/null +++ b/.stitch/designs/rubyllm-retries-cover.html @@ -0,0 +1,303 @@ + + + + + +RubyLLM Retries — Cover + + + + + + + +
+
+
+ + +
+ JetThoughts + | + ENGINEERING +
+ + +
Ruby on Rails 2026
+ + +
+
What RubyLLM
+
Retries
+
and for how long
+
+ + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + +
+
+ METHODS + POST added back +
+
+ ATTEMPTS + 3, with jitter +
+
+ RETRY-AFTER + no ceiling +
+
+ + +
+
+ RUBY_LLM 1.16 +
+ + + diff --git a/.stitch/designs/rubyllm-vs-langchainrb-cover.html b/.stitch/designs/rubyllm-vs-langchainrb-cover.html new file mode 100644 index 000000000..a39d31a1d --- /dev/null +++ b/.stitch/designs/rubyllm-vs-langchainrb-cover.html @@ -0,0 +1,303 @@ + + + + + +RubyLLM vs Langchainrb — Cover + + + + + + + +
+
+
+ + +
+ JetThoughts + | + ENGINEERING +
+ + +
Ruby on Rails 2026
+ + +
+
RubyLLM vs
+
Langchainrb
+
Which Rails stack?
+
+ + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + +
+
+ CLIENT + chat, agents, cost +
+
+ RETRIEVAL + 9 vector stores +
+
+ PROVIDERS + 13 each, a tie +
+
+ + +
+
+ RUBY_LLM 1.16 +
+ + + diff --git a/content/blog/4-lines-speed-up-your-rails-test-suite-on-circleci/index.md b/content/blog/4-lines-speed-up-your-rails-test-suite-on-circleci/index.md index 6a208bc4a..aec50adcb 100644 --- a/content/blog/4-lines-speed-up-your-rails-test-suite-on-circleci/index.md +++ b/content/blog/4-lines-speed-up-your-rails-test-suite-on-circleci/index.md @@ -5,7 +5,8 @@ remote_id: 1880171 dev_to_id: 1880171 dev_to_url: https://dev.to/jetthoughts/4-lines-to-speed-up-your-rails-test-suite-on-circleci-32lp title: 4 lines to Speed Up your Rails Test Suite on CircleCI -description: Most of our projects have a big code base of assets which dramatically reduce not only browser page... +description: "Most of our projects have a big code base of assets which dramatically reduce not only browser page rendering but also increase passing test suites." +seo_override: true created_at: '2024-06-07T09:15:36Z' edited_at: '2024-11-26T16:02:31Z' draft: false diff --git a/content/blog/5-free-tools-make-sales-process-easier-leadgeneration/index.md b/content/blog/5-free-tools-make-sales-process-easier-leadgeneration/index.md index 3975d06af..ff8388f01 100644 --- a/content/blog/5-free-tools-make-sales-process-easier-leadgeneration/index.md +++ b/content/blog/5-free-tools-make-sales-process-easier-leadgeneration/index.md @@ -5,7 +5,8 @@ remote_id: 1852719 dev_to_id: 1852719 dev_to_url: https://dev.to/jetthoughts/5-free-tools-to-make-the-sales-process-easier-3ad4 title: 5 Free tools to make the sales process easier -description: What if I told you that there is no need to spend all your budget on super modern CRMs and... +description: "What if I told you that there is no need to spend all your budget on super modern CRMs and expensive sales tools in order to start getting your first leads?" +seo_override: true date: 2024-05-14 created_at: '2024-05-14T13:47:15Z' edited_at: '2024-11-26T16:05:19Z' diff --git a/content/blog/5-steps-add-remote-modals-your-rails-app-javascript-ruby/index.md b/content/blog/5-steps-add-remote-modals-your-rails-app-javascript-ruby/index.md index 132ac0273..f50d94cae 100644 --- a/content/blog/5-steps-add-remote-modals-your-rails-app-javascript-ruby/index.md +++ b/content/blog/5-steps-add-remote-modals-your-rails-app-javascript-ruby/index.md @@ -5,7 +5,8 @@ remote_id: 1877543 dev_to_id: 1877543 dev_to_url: https://dev.to/jetthoughts/5-steps-to-add-remote-modals-to-your-rails-app-2n05 title: 5 Steps to Add Remote Modals to Your Rails App -description: Sometimes you don't want to write big JavaScript application just to have working remote modals in... +description: "Sometimes you don’t want to write big JavaScript application just to have working remote modals in your rails application." +seo_override: true created_at: '2024-06-05T05:41:45Z' edited_at: '2024-11-26T16:03:46Z' draft: false diff --git a/content/blog/anonymous-block-argument-in-ruby-tutorial/index.md b/content/blog/anonymous-block-argument-in-ruby-tutorial/index.md index 6d9040252..1e83a893f 100644 --- a/content/blog/anonymous-block-argument-in-ruby-tutorial/index.md +++ b/content/blog/anonymous-block-argument-in-ruby-tutorial/index.md @@ -5,7 +5,8 @@ remote_id: 1739418 dev_to_id: 1739418 dev_to_url: https://dev.to/jetthoughts/anonymous-block-argument-in-ruby-bp1 title: Anonymous block argument in Ruby -description: In the Ruby programming language, it is possible to use default block parameters instead of... +description: "In the Ruby programming language, it is possible to use default block parameters instead of variables." +seo_override: true created_at: '2024-01-23T20:09:24Z' edited_at: '2024-11-25T15:39:39Z' date: 2024-01-23 diff --git a/content/blog/automated-delivery-react-vue-app-for-each-pull-request-ci/index.md b/content/blog/automated-delivery-react-vue-app-for-each-pull-request-ci/index.md index e4b65c3c9..b0f3f40d3 100644 --- a/content/blog/automated-delivery-react-vue-app-for-each-pull-request-ci/index.md +++ b/content/blog/automated-delivery-react-vue-app-for-each-pull-request-ci/index.md @@ -5,7 +5,8 @@ remote_id: 1852564 dev_to_id: 1852564 dev_to_url: https://dev.to/jetthoughts/automated-delivery-react-vue-app-for-each-pull-request-3e81 title: Automated delivery React / Vue app for each Pull Request. -description: Would you like to speed up the development process of your React / Vue application? Make it more... +description: "Would you like to speed up the development process of your React / Vue application? Make it more predictable and transparent for clients and teammates?" +seo_override: true created_at: '2024-05-14T11:29:22Z' edited_at: '2024-11-26T16:05:56Z' draft: false diff --git a/content/blog/automating-ssl-certificate-generation-with-traefik-kamal-step-by-guide/index.md b/content/blog/automating-ssl-certificate-generation-with-traefik-kamal-step-by-guide/index.md index a3659e07f..ef3e93d8a 100644 --- a/content/blog/automating-ssl-certificate-generation-with-traefik-kamal-step-by-guide/index.md +++ b/content/blog/automating-ssl-certificate-generation-with-traefik-kamal-step-by-guide/index.md @@ -5,7 +5,8 @@ remote_id: 1966362 dev_to_id: 1966362 dev_to_url: https://dev.to/jetthoughts/automating-ssl-certificate-generation-with-traefik-and-kamal-a-step-by-step-guide-27a3 title: 'Automating SSL Certificate Generation with Traefik and Kamal: A Step-by-Step Guide' -description: In this guide, we'll explore how to configure Traefik with Kamal to automatically obtain and manage... +description: "In this guide, we'll explore how to configure Traefik with Kamal to automatically obtain and manage SSL certificates for your Ruby on Rails application." +seo_override: true created_at: '2024-08-20T09:22:37Z' edited_at: '2024-11-25T15:32:37Z' draft: false diff --git a/content/blog/avoid-data-migrations-in-schema-for-rails-ruby/index.md b/content/blog/avoid-data-migrations-in-schema-for-rails-ruby/index.md index 0f1fbf1b6..88f490587 100644 --- a/content/blog/avoid-data-migrations-in-schema-for-rails-ruby/index.md +++ b/content/blog/avoid-data-migrations-in-schema-for-rails-ruby/index.md @@ -5,7 +5,8 @@ remote_id: 1877645 dev_to_id: 1877645 dev_to_url: https://dev.to/jetthoughts/avoid-data-migrations-in-the-schema-migrations-for-rails-5hdi title: Avoid data migrations in the schema migrations for Rails -description: Avoid data migrations in the schema migrations for Rails Could you re-run all migrations... +description: "Could you re-run all migrations in the project? How often were you required to fix them while production was under fire?" +seo_override: true date: 2024-06-05 created_at: '2024-06-05T06:44:55Z' edited_at: '2024-11-26T16:02:51Z' diff --git a/content/blog/behavior-of-stringifykeys-in-upcoming-version-rails-has-changed-ruby/index.md b/content/blog/behavior-of-stringifykeys-in-upcoming-version-rails-has-changed-ruby/index.md index 62c3e9adc..34d1249d5 100644 --- a/content/blog/behavior-of-stringifykeys-in-upcoming-version-rails-has-changed-ruby/index.md +++ b/content/blog/behavior-of-stringifykeys-in-upcoming-version-rails-has-changed-ruby/index.md @@ -5,7 +5,8 @@ remote_id: 2157632 dev_to_id: 2157632 dev_to_url: https://dev.to/jetthoughts/the-behavior-of-stringifykeys-in-the-upcoming-version-of-rails-has-changed-67h title: The behavior of stringify_keys in the upcoming version of Rails has changed. -description: A new Rails update fixes how the stringify_keys handles different types of hash keys. This change... +description: "A new Rails update fixes how the stringify_keys handles different types of hash keys. This change makes the code more reliable and consistent." +seo_override: true date: 2024-12-15 created_at: '2024-12-15T12:48:42Z' edited_at: '2024-12-16T11:37:04Z' diff --git a/content/blog/cleaning-routines-keep-your-project-without-bugs-agile/index.md b/content/blog/cleaning-routines-keep-your-project-without-bugs-agile/index.md index b219fb83f..a08bfabfe 100644 --- a/content/blog/cleaning-routines-keep-your-project-without-bugs-agile/index.md +++ b/content/blog/cleaning-routines-keep-your-project-without-bugs-agile/index.md @@ -5,7 +5,8 @@ remote_id: 1852630 dev_to_id: 1852630 dev_to_url: https://dev.to/jetthoughts/cleaning-routines-to-keep-your-project-without-bugs-167f title: Cleaning routines to keep your project without bugs -description: How to manage problems with your project? How to understand how buggy it is and address the issues... +description: "How to manage problems with your project? How to understand how buggy it is and address the issues properly?" +seo_override: true created_at: '2024-05-14T12:46:10Z' edited_at: '2024-11-26T16:05:27Z' draft: false diff --git a/content/blog/collecting-javascript-code-coverage-with-capybara-in-ruby-on-rails-application-testing/index.md b/content/blog/collecting-javascript-code-coverage-with-capybara-in-ruby-on-rails-application-testing/index.md index cdf0d2c46..986a36d2d 100644 --- a/content/blog/collecting-javascript-code-coverage-with-capybara-in-ruby-on-rails-application-testing/index.md +++ b/content/blog/collecting-javascript-code-coverage-with-capybara-in-ruby-on-rails-application-testing/index.md @@ -5,7 +5,8 @@ remote_id: 1852568 dev_to_id: 1852568 dev_to_url: https://dev.to/jetthoughts/collecting-javascript-code-coverage-with-capybara-in-ruby-on-rails-application-2b97 title: Collecting JavaScript code coverage with Capybara in Ruby on Rails application -description: Having JavaScript code covered by Capybara system tests, can we utilize them for the code... +description: "We want to be sure that all code responsible for key user journey scenarios of our app is covered with tests." +seo_override: true created_at: '2024-05-14T11:32:21Z' edited_at: '2024-11-26T16:05:54Z' date: 2024-05-14 diff --git a/content/blog/cross-platform-development-using-reactxp-react-javascript/index.md b/content/blog/cross-platform-development-using-reactxp-react-javascript/index.md index fdd8742a6..d1707736a 100644 --- a/content/blog/cross-platform-development-using-reactxp-react-javascript/index.md +++ b/content/blog/cross-platform-development-using-reactxp-react-javascript/index.md @@ -5,7 +5,8 @@ remote_id: 1853624 dev_to_id: 1853624 dev_to_url: https://dev.to/jetthoughts/cross-platform-development-using-reactxp-3poc title: Cross-platform development using ReactXP -description: Cross-platform development using ReactXP Startups with limited resources trying to reduce... +description: "Startups with limited resources trying to reduce cost on delivering their apps to both web and mobile platforms." +seo_override: true created_at: '2024-05-15T07:48:27Z' edited_at: '2024-11-26T16:04:05Z' draft: false diff --git a/content/blog/custom-templates-for-rails-scaffolding-ruby/index.md b/content/blog/custom-templates-for-rails-scaffolding-ruby/index.md index b770923fa..18d921bea 100644 --- a/content/blog/custom-templates-for-rails-scaffolding-ruby/index.md +++ b/content/blog/custom-templates-for-rails-scaffolding-ruby/index.md @@ -5,7 +5,8 @@ remote_id: 1212480 dev_to_id: 1212480 dev_to_url: https://dev.to/jetthoughts/custom-templates-for-rails-scaffolding-4ge0 title: Custom templates for Rails scaffolding -description: Rails has a very handy tool for rapid development called scaffolding. Often programmers ignore it,... +description: "Rails has a very handy tool for rapid development called scaffolding. Often programmers ignore it, because some things have to be written by hand anyway." +seo_override: true date: 2022-10-06 created_at: '2022-10-06T09:10:00Z' edited_at: '2024-11-25T15:40:26Z' diff --git a/content/blog/data-migrations-with-rails-ruby/index.md b/content/blog/data-migrations-with-rails-ruby/index.md index b26e0a3a1..3098553b0 100644 --- a/content/blog/data-migrations-with-rails-ruby/index.md +++ b/content/blog/data-migrations-with-rails-ruby/index.md @@ -5,7 +5,8 @@ remote_id: 1182433 dev_to_id: 1182433 dev_to_url: https://dev.to/jetthoughts/data-migrations-with-rails-291b title: Data migrations with Rails -description: Data migration is a common part of working with databases, and Ruby on Rails developers have many... +description: "Data migration is a common part of working with databases, and Ruby on Rails developers have many tools at their disposal." +seo_override: true created_at: '2022-09-02T17:01:27Z' edited_at: '2024-11-25T15:40:44Z' draft: false diff --git a/content/blog/delayedjob-pg-error-no-connection-server-rails-ruby/index.md b/content/blog/delayedjob-pg-error-no-connection-server-rails-ruby/index.md index df3138ffc..6ba0a700e 100644 --- a/content/blog/delayedjob-pg-error-no-connection-server-rails-ruby/index.md +++ b/content/blog/delayedjob-pg-error-no-connection-server-rails-ruby/index.md @@ -5,7 +5,8 @@ remote_id: 1880232 dev_to_id: 1880232 dev_to_url: https://dev.to/jetthoughts/delayedjob-and-pg-error-no-connection-to-server-21e4 title: DelayedJob and PG Error No Connection to Server -description: DelayedJob and PG Error No Connection to Server Recently I've got strange errors on the... +description: "Recently I’ve got strange errors on the staging server. Delayed::Job workers started successfully." +seo_override: true created_at: '2024-06-07T10:21:11Z' edited_at: '2024-11-26T16:02:19Z' date: 2024-06-07 diff --git a/content/blog/deploying-ruby-on-rails-applications-with-kamal-devops-docker/index.md b/content/blog/deploying-ruby-on-rails-applications-with-kamal-devops-docker/index.md index c2db040dc..f25ebed19 100644 --- a/content/blog/deploying-ruby-on-rails-applications-with-kamal-devops-docker/index.md +++ b/content/blog/deploying-ruby-on-rails-applications-with-kamal-devops-docker/index.md @@ -5,7 +5,8 @@ remote_id: 1952002 dev_to_id: 1952002 dev_to_url: https://dev.to/jetthoughts/deploying-ruby-on-rails-applications-with-kamal-1m9n title: Deploying Ruby on Rails applications with Kamal -description: With the release of Rails 8, Kamal will be the default tool for deploying Rails applications,... +description: "With the release of Rails 8, Kamal will be the default tool for deploying Rails applications, simplifying the process for developers." +seo_override: true date: 2024-08-08 created_at: '2024-08-08T07:55:18Z' edited_at: '2024-11-25T15:32:40Z' diff --git a/content/blog/design-rails-json-api-with-performance-in-mind-cache/index.md b/content/blog/design-rails-json-api-with-performance-in-mind-cache/index.md index 11f4cbce0..3f2937f4d 100644 --- a/content/blog/design-rails-json-api-with-performance-in-mind-cache/index.md +++ b/content/blog/design-rails-json-api-with-performance-in-mind-cache/index.md @@ -5,7 +5,8 @@ remote_id: 1852749 dev_to_id: 1852749 dev_to_url: https://dev.to/jetthoughts/design-rails-json-api-with-performance-in-mind-6g8 title: Design Rails JSON API with performance in mind -description: Caching can reduce load time and increase the throughput of your API endpoints without... +description: "Caching can reduce load time and increase the throughput of your API endpoints without in-depth optimization." +seo_override: true created_at: '2024-05-14T14:16:46Z' edited_at: '2024-11-26T16:05:07Z' draft: false diff --git a/content/blog/direct-upload-with-rails-dropzonejs-webdev/index.md b/content/blog/direct-upload-with-rails-dropzonejs-webdev/index.md index af672dc52..5d7667fba 100644 --- a/content/blog/direct-upload-with-rails-dropzonejs-webdev/index.md +++ b/content/blog/direct-upload-with-rails-dropzonejs-webdev/index.md @@ -5,7 +5,8 @@ remote_id: 2014071 dev_to_id: 2014071 dev_to_url: https://dev.to/jetthoughts/direct-upload-with-rails-dropzonejs-52bh title: Direct Upload with Rails & Dropzone.js -description: Configuring direct file uploads in Rails is now easier than ever. In this article, I'll show you how... +description: "Configuring direct file uploads in Rails is now easier than ever. In this article, I'll show you how to create a file upload component in Rails 7." +seo_override: true created_at: '2024-09-25T08:37:13Z' edited_at: '2024-11-25T15:32:17Z' date: 2024-09-25 diff --git a/content/blog/discover-top-software-companies-in-california-comprehensive-guide-for-2024/index.md b/content/blog/discover-top-software-companies-in-california-comprehensive-guide-for-2024/index.md index 3a097ed39..a4ffd65f6 100644 --- a/content/blog/discover-top-software-companies-in-california-comprehensive-guide-for-2024/index.md +++ b/content/blog/discover-top-software-companies-in-california-comprehensive-guide-for-2024/index.md @@ -5,7 +5,8 @@ remote_id: 2174323 dev_to_id: 2174323 dev_to_url: https://dev.to/jetthoughts/discover-the-top-software-companies-in-california-a-comprehensive-guide-for-2024-4h3l title: 'Discover the Top Software Companies in California: A Comprehensive Guide for 2024' -description: California's tech scene is insane. Everyone knows about Silicon Valley, right? It's home to some of... +description: "California's tech scene is insane. Everyone knows about Silicon Valley, right? It's home to some of the biggest names in software and tech." +seo_override: true date: 2024-12-25 created_at: '2024-12-25T13:33:15Z' edited_at: '2025-01-30T03:20:59Z' diff --git a/content/blog/efficient-percentile-ranking-in-postgresql-webdev/index.md b/content/blog/efficient-percentile-ranking-in-postgresql-webdev/index.md index d743a70f1..d2fe3a7bf 100644 --- a/content/blog/efficient-percentile-ranking-in-postgresql-webdev/index.md +++ b/content/blog/efficient-percentile-ranking-in-postgresql-webdev/index.md @@ -5,7 +5,8 @@ remote_id: 2324603 dev_to_id: 2324603 dev_to_url: https://dev.to/jetthoughts/efficient-percentile-ranking-in-postgresql-dbc title: Efficient Percentile Ranking in PostgreSQL -description: When analyzing data, percentiles help us understand the relative ranking of records within a dataset.... +description: "When analyzing data, percentiles help us understand the relative ranking of records within a dataset." +seo_override: true date: 2025-03-11 created_at: '2025-03-11T10:41:15Z' edited_at: '2025-03-24T12:43:58Z' diff --git a/content/blog/effortless-code-conventions-review-for-pull-request-changes-ruby-ci/index.md b/content/blog/effortless-code-conventions-review-for-pull-request-changes-ruby-ci/index.md index c41408352..69b7e9f98 100644 --- a/content/blog/effortless-code-conventions-review-for-pull-request-changes-ruby-ci/index.md +++ b/content/blog/effortless-code-conventions-review-for-pull-request-changes-ruby-ci/index.md @@ -5,7 +5,8 @@ remote_id: 1880211 dev_to_id: 1880211 dev_to_url: https://dev.to/jetthoughts/effortless-code-conventions-review-for-pull-request-changes-4p4k title: Effortless Code Conventions Review for Pull Request Changes -description: Reliably arranged source code helps hackability. You can filter code speedier if its organizing is... +description: "Reliably arranged source code helps hackability. You can filter code speedier if its organizing is predictable." +seo_override: true created_at: '2024-06-07T10:03:27Z' edited_at: '2024-12-06T11:37:28Z' draft: false diff --git a/content/blog/elevating-your-code-embracing-good-software-engineering-practices-for-success/index.md b/content/blog/elevating-your-code-embracing-good-software-engineering-practices-for-success/index.md index 48e7d6911..2d7de425f 100644 --- a/content/blog/elevating-your-code-embracing-good-software-engineering-practices-for-success/index.md +++ b/content/blog/elevating-your-code-embracing-good-software-engineering-practices-for-success/index.md @@ -5,7 +5,8 @@ remote_id: 2164998 dev_to_id: 2164998 dev_to_url: https://dev.to/jetthoughts/elevating-your-code-embracing-good-software-engineering-practices-for-success-5h6a title: 'Elevating Your Code: Embracing Good Software Engineering Practices for Success' -description: Ever thought about what makes a software engineer successful? It's not just about knowing how to... +description: "Ever thought about what makes a software engineer successful? It's not just about knowing how to code." +seo_override: true created_at: '2024-12-19T10:51:54Z' edited_at: '2024-12-19T11:07:44Z' draft: false diff --git a/content/blog/enhancing-productivity-ultimate-developer-experience-tool-for-2024/index.md b/content/blog/enhancing-productivity-ultimate-developer-experience-tool-for-2024/index.md index cc0dbaed4..feef04153 100644 --- a/content/blog/enhancing-productivity-ultimate-developer-experience-tool-for-2024/index.md +++ b/content/blog/enhancing-productivity-ultimate-developer-experience-tool-for-2024/index.md @@ -5,7 +5,8 @@ remote_id: 2178141 dev_to_id: 2178141 dev_to_url: https://dev.to/jetthoughts/enhancing-productivity-the-ultimate-developer-experience-tool-for-2024-4bh4 title: 'Enhancing Productivity: The Ultimate Developer Experience Tool for 2024' -description: In the fast-paced world of software development, having the right tools can make all the difference.... +description: "In the fast-paced world of software development, having the right tools can make all the difference." +seo_override: true created_at: '2024-12-27T15:38:23Z' edited_at: '2025-01-30T03:18:59Z' date: 2024-12-27 diff --git a/content/blog/enum-validation-in-ruby-on-rails-71/index.md b/content/blog/enum-validation-in-ruby-on-rails-71/index.md index 32e8a9fae..1be5c1b1f 100644 --- a/content/blog/enum-validation-in-ruby-on-rails-71/index.md +++ b/content/blog/enum-validation-in-ruby-on-rails-71/index.md @@ -5,7 +5,8 @@ remote_id: 1852950 dev_to_id: 1852950 dev_to_url: https://dev.to/jetthoughts/enum-validation-in-ruby-on-rails-71-42h9 title: Enum validation in Ruby on Rails 7.1 -description: The latest version of Rails 7.1 introduces the ability to validate enums, enhancing data integrity... +description: "The latest version of Rails 7.1 introduces the ability to validate enums, enhancing data integrity and error handling in Rails models." +seo_override: true date: 2024-05-14 created_at: '2024-05-14T17:00:00Z' edited_at: '2024-11-25T15:37:54Z' diff --git a/content/blog/essential-recruitment-tips-for-recruiters-attract-top-talent-in-2024/index.md b/content/blog/essential-recruitment-tips-for-recruiters-attract-top-talent-in-2024/index.md index bcbb6e65b..e68a6dbd5 100644 --- a/content/blog/essential-recruitment-tips-for-recruiters-attract-top-talent-in-2024/index.md +++ b/content/blog/essential-recruitment-tips-for-recruiters-attract-top-talent-in-2024/index.md @@ -5,7 +5,8 @@ remote_id: 2164820 dev_to_id: 2164820 dev_to_url: https://dev.to/jetthoughts/essential-recruitment-tips-for-recruiters-to-attract-top-talent-in-2024-2phf title: Essential Recruitment Tips for Recruiters to Attract Top Talent in 2024 -description: Recruiting top talent in 2024 is no walk in the park. The job market's competitive, and recruiters... +description: "Recruiting top talent in 2024 is no walk in the park. The job market's competitive, and recruiters need to be on their toes." +seo_override: true created_at: '2024-12-19T10:10:21Z' edited_at: '2024-12-19T11:07:55Z' draft: false diff --git a/content/blog/essential-strategies-for-building-high-performance-software-development-team-in-2024/index.md b/content/blog/essential-strategies-for-building-high-performance-software-development-team-in-2024/index.md index 04ff0b730..79a4c4edf 100644 --- a/content/blog/essential-strategies-for-building-high-performance-software-development-team-in-2024/index.md +++ b/content/blog/essential-strategies-for-building-high-performance-software-development-team-in-2024/index.md @@ -5,7 +5,8 @@ remote_id: 2166555 dev_to_id: 2166555 dev_to_url: https://dev.to/jetthoughts/essential-strategies-for-building-a-high-performance-software-development-team-in-2024-5dg title: Essential Strategies for Building a High-Performance Software Development Team in 2024 -description: Building a top-notch software development team in 2024 isn't just about having the right tech skills.... +description: "Building a top-notch software development team in 2024 isn't just about having the right tech skills." +seo_override: true created_at: '2024-12-20T08:32:43Z' edited_at: '2025-01-30T03:29:00Z' draft: false diff --git a/content/blog/evolution-of-engineering-leadership-in-berlin-insights-from-vp-engineerings-journey-product-management/index.md b/content/blog/evolution-of-engineering-leadership-in-berlin-insights-from-vp-engineerings-journey-product-management/index.md index 2263c9066..560e08abd 100644 --- a/content/blog/evolution-of-engineering-leadership-in-berlin-insights-from-vp-engineerings-journey-product-management/index.md +++ b/content/blog/evolution-of-engineering-leadership-in-berlin-insights-from-vp-engineerings-journey-product-management/index.md @@ -5,7 +5,8 @@ remote_id: 2261958 dev_to_id: 2261958 dev_to_url: https://dev.to/jetthoughts/the-evolution-of-engineering-leadership-in-berlin-insights-from-a-vp-engineerings-journey-1kgo title: 'The Evolution of Engineering Leadership in Berlin: Insights from a VP Engineering''s Journey' -description: With Berlin's startup ecosystem growing 28% in the first half of 2024, the path to engineering... +description: "With Berlin's startup ecosystem growing 28% in the first half of 2024, the path to engineering leadership is transforming alongside this expansion." +seo_override: true date: 2025-02-06 created_at: '2025-02-06T08:24:40Z' edited_at: '2025-03-07T14:43:37Z' diff --git a/content/blog/feature-branches-where-find-them-development-coding/index.md b/content/blog/feature-branches-where-find-them-development-coding/index.md index 944c8d91c..dcf5e150d 100644 --- a/content/blog/feature-branches-where-find-them-development-coding/index.md +++ b/content/blog/feature-branches-where-find-them-development-coding/index.md @@ -5,7 +5,8 @@ remote_id: 1853571 dev_to_id: 1853571 dev_to_url: https://dev.to/jetthoughts/feature-branches-and-where-to-find-them-46a7 title: Feature Branches and Where to Find Them -description: Here we want to go through the feature branch process, show what downsides this approach may have... +description: "Here we want to go through the feature branch process, show what downsides this approach may have and share why it causes us pain." +seo_override: true created_at: '2024-05-15T07:17:21Z' edited_at: '2024-12-06T11:38:00Z' date: 2024-05-15 diff --git a/content/blog/finding-right-co-founder-guide-for-startups/index.md b/content/blog/finding-right-co-founder-guide-for-startups/index.md index 6253bbbc3..83bd40ec3 100644 --- a/content/blog/finding-right-co-founder-guide-for-startups/index.md +++ b/content/blog/finding-right-co-founder-guide-for-startups/index.md @@ -5,7 +5,8 @@ remote_id: 2247477 dev_to_id: 2247477 dev_to_url: https://dev.to/jetthoughts/finding-the-right-co-founder-a-guide-for-startups-fei title: 'Finding The Right Co-Founder: A Guide For Startups' -description: Building a startup is no small feat, especially when you're trying to break into a competitive... +description: "Building a startup is no small feat, especially when you’re trying to break into a competitive market." +seo_override: true date: 2025-01-29 created_at: '2025-01-29T03:47:34Z' edited_at: '2025-01-30T02:35:12Z' diff --git a/content/blog/fractional-cto-comprehensive-review-of-first-two-weeks-in-startup-consulting-management/index.md b/content/blog/fractional-cto-comprehensive-review-of-first-two-weeks-in-startup-consulting-management/index.md index 58f173c3f..73971110c 100644 --- a/content/blog/fractional-cto-comprehensive-review-of-first-two-weeks-in-startup-consulting-management/index.md +++ b/content/blog/fractional-cto-comprehensive-review-of-first-two-weeks-in-startup-consulting-management/index.md @@ -5,7 +5,8 @@ remote_id: 1877729 dev_to_id: 1877729 dev_to_url: https://dev.to/jetthoughts/fractional-cto-a-comprehensive-review-of-the-first-two-weeks-in-a-startup-did title: 'Fractional CTO: A Comprehensive Review of the First Two Weeks in a Startup' -description: In a world where startups need to move fast and make informed decisions, the role of a Fractional... +description: "In a world where startups need to move fast and make informed decisions, the role of a Fractional CTO has become increasingly critical." +seo_override: true created_at: '2024-06-05T08:19:05Z' date: 2024-06-05 edited_at: '2024-11-26T16:02:38Z' diff --git a/content/blog/generating-random-strings-with-ruby-webdev/index.md b/content/blog/generating-random-strings-with-ruby-webdev/index.md index 381bcf6b8..f94aefd76 100644 --- a/content/blog/generating-random-strings-with-ruby-webdev/index.md +++ b/content/blog/generating-random-strings-with-ruby-webdev/index.md @@ -5,7 +5,8 @@ remote_id: 1103639 dev_to_id: 1103639 dev_to_url: https://dev.to/jetthoughts/generating-random-strings-with-ruby-2gp6 title: Generating random strings with Ruby -description: When you need to generate a random alphanumeric string of a specified length in ruby you have a... +description: "When you need to generate a random alphanumeric string of a specified length in ruby you have a couple of options." +seo_override: true date: 2022-06-03 created_at: '2022-06-03T06:57:33Z' edited_at: '2024-11-25T15:41:25Z' diff --git a/content/blog/git-minimum-for-effective-project-development/index.md b/content/blog/git-minimum-for-effective-project-development/index.md index ba50ed02b..fab83b159 100644 --- a/content/blog/git-minimum-for-effective-project-development/index.md +++ b/content/blog/git-minimum-for-effective-project-development/index.md @@ -5,7 +5,8 @@ remote_id: 1853605 dev_to_id: 1853605 dev_to_url: https://dev.to/jetthoughts/git-minimum-for-effective-project-development-2ce1 title: Git minimum for effective project development -description: For beginners who are not familiar with Git or GitFlow, we grabbed the most common commands to be... +description: "For beginners who are not familiar with Git or GitFlow, we grabbed the most common commands to be effective from the first day." +seo_override: true date: 2024-05-15 created_at: '2024-05-15T07:29:21Z' edited_at: '2024-12-06T11:38:39Z' diff --git a/content/blog/help-shepherd-count-sheep-in-elixir-programming/index.md b/content/blog/help-shepherd-count-sheep-in-elixir-programming/index.md index 7fe4fb4f0..e3af1e967 100644 --- a/content/blog/help-shepherd-count-sheep-in-elixir-programming/index.md +++ b/content/blog/help-shepherd-count-sheep-in-elixir-programming/index.md @@ -5,7 +5,8 @@ remote_id: 1880218 dev_to_id: 1880218 dev_to_url: https://dev.to/jetthoughts/help-shepherd-to-count-sheep-in-elixir-gg7 title: Help shepherd to count sheep in Elixir -description: I have been thinking about learning a functional language for a long time. So recently I've started... +description: "I have been thinking about learning a functional language for a long time. So recently I’ve started to play around with Elixir." +seo_override: true created_at: '2024-06-07T10:14:43Z' edited_at: '2024-11-26T16:02:23Z' draft: false diff --git a/content/blog/heroku-reviews-apps-prevent-delivering-bugs-on-production-ci-startup/index.md b/content/blog/heroku-reviews-apps-prevent-delivering-bugs-on-production-ci-startup/index.md index aceb5089a..32b7e3b69 100644 --- a/content/blog/heroku-reviews-apps-prevent-delivering-bugs-on-production-ci-startup/index.md +++ b/content/blog/heroku-reviews-apps-prevent-delivering-bugs-on-production-ci-startup/index.md @@ -5,7 +5,8 @@ remote_id: 1877581 dev_to_id: 1877581 dev_to_url: https://dev.to/jetthoughts/heroku-reviews-apps-prevent-delivering-bugs-on-production-jfb title: Heroku Reviews Apps prevent delivering bugs on production -description: Are you afraid to deploy a master branch to the production? Do you still mess with staging... +description: "Are you afraid to deploy a master branch to the production? Do you still mess with staging servers?" +seo_override: true date: 2024-06-05 created_at: '2024-06-05T06:16:42Z' edited_at: '2024-11-26T16:03:16Z' diff --git a/content/blog/how-automated-qa-testing-can-accelerate-your-startups-growth-startup-webdev/index.md b/content/blog/how-automated-qa-testing-can-accelerate-your-startups-growth-startup-webdev/index.md index 112a28df5..2a3ccbc75 100644 --- a/content/blog/how-automated-qa-testing-can-accelerate-your-startups-growth-startup-webdev/index.md +++ b/content/blog/how-automated-qa-testing-can-accelerate-your-startups-growth-startup-webdev/index.md @@ -5,7 +5,8 @@ remote_id: 1943564 dev_to_id: 1943564 dev_to_url: https://dev.to/jetthoughts/how-automated-qa-testing-can-accelerate-your-startups-growth-1d47 title: How Automated QA Testing Can Accelerate Your Startup's Growth -description: In the fast-paced world of startups, maintaining top software quality is key to growth and success.... +description: "In the fast-paced world of startups, maintaining top software quality is key to growth and success." +seo_override: true created_at: '2024-08-01T12:00:51Z' edited_at: '2024-11-25T15:33:00Z' date: "2024-08-01" diff --git a/content/blog/how-avoid-callbacks-using-services-rails-refactoring/index.md b/content/blog/how-avoid-callbacks-using-services-rails-refactoring/index.md index 0306d6bbe..cd2a63e43 100644 --- a/content/blog/how-avoid-callbacks-using-services-rails-refactoring/index.md +++ b/content/blog/how-avoid-callbacks-using-services-rails-refactoring/index.md @@ -5,7 +5,8 @@ remote_id: 1198201 dev_to_id: 1198201 dev_to_url: https://dev.to/jetthoughts/how-to-avoid-callbacks-using-services-p7l title: How to avoid callbacks using services. -description: Often, programmers abuse callbacks, not fully understanding that their code will ultimately be... +description: "Often, programmers abuse callbacks, not fully understanding that their code will ultimately be confusing and non-obvious." +seo_override: true created_at: '2022-09-20T13:23:18Z' edited_at: '2024-11-25T15:40:39Z' draft: false diff --git a/content/blog/how-avoid-n-1-keep-your-ruby-on-rails-controller-clean/index.md b/content/blog/how-avoid-n-1-keep-your-ruby-on-rails-controller-clean/index.md index a1be6afe7..04d3dd613 100644 --- a/content/blog/how-avoid-n-1-keep-your-ruby-on-rails-controller-clean/index.md +++ b/content/blog/how-avoid-n-1-keep-your-ruby-on-rails-controller-clean/index.md @@ -5,7 +5,8 @@ remote_id: 1907419 dev_to_id: 1907419 dev_to_url: https://dev.to/jetthoughts/how-to-avoid-n-1-and-keep-your-ruby-on-rails-controller-clean-bb title: How to avoid N + 1 and keep your Ruby on Rails controller clean -description: Where to put the logic related to database queries optimization in a Ruby on Rails... +description: "Where to put the logic related to database queries optimization in a Ruby on Rails application." +seo_override: true created_at: '2024-07-01T09:32:21Z' edited_at: '2024-11-25T15:33:36Z' date: 2024-07-01 diff --git a/content/blog/how-create-technical-post-in-short-time-writing-blogging/index.md b/content/blog/how-create-technical-post-in-short-time-writing-blogging/index.md index 37e69f4d8..7d944bb6d 100644 --- a/content/blog/how-create-technical-post-in-short-time-writing-blogging/index.md +++ b/content/blog/how-create-technical-post-in-short-time-writing-blogging/index.md @@ -5,7 +5,8 @@ remote_id: 1852622 dev_to_id: 1852622 dev_to_url: https://dev.to/jetthoughts/how-to-create-a-technical-post-in-a-short-time-4i53 title: How to create a technical post in a short time -description: After reading thousands of posts, it's time to share a workflow that will help those who are creating... +description: "After reading thousands of posts, it’s time to share a workflow that will help those who are creating amazing things to blog more easily and often." +seo_override: true created_at: '2024-05-14T12:36:24Z' edited_at: '2024-11-26T16:05:32Z' draft: false diff --git a/content/blog/how-does-onboarding-look-like-in-jetthoughts-productivity-startup/index.md b/content/blog/how-does-onboarding-look-like-in-jetthoughts-productivity-startup/index.md index 2141903e3..1792a656c 100644 --- a/content/blog/how-does-onboarding-look-like-in-jetthoughts-productivity-startup/index.md +++ b/content/blog/how-does-onboarding-look-like-in-jetthoughts-productivity-startup/index.md @@ -5,7 +5,8 @@ remote_id: 1853524 dev_to_id: 1853524 dev_to_url: https://dev.to/jetthoughts/how-does-the-onboarding-look-like-in-jetthoughts-21ld title: How does the onboarding look like in JetThoughts? -description: How does the onboarding look like in JetThoughts? This is an onboarding checklist... +description: "This is an onboarding checklist replication built relying on my own experience in JetThoughts." +seo_override: true created_at: '2024-05-15T06:29:43Z' date: 2024-05-15 edited_at: '2024-11-26T16:04:45Z' diff --git a/content/blog/how-does-your-company-work-with-clients-understand-their-needs-lean-process/index.md b/content/blog/how-does-your-company-work-with-clients-understand-their-needs-lean-process/index.md index 787fa1376..d6473fde3 100644 --- a/content/blog/how-does-your-company-work-with-clients-understand-their-needs-lean-process/index.md +++ b/content/blog/how-does-your-company-work-with-clients-understand-their-needs-lean-process/index.md @@ -5,7 +5,8 @@ remote_id: 1880380 dev_to_id: 1880380 dev_to_url: https://dev.to/jetthoughts/how-does-your-company-work-with-clients-to-understand-their-needs-3nic title: How does your company work with clients to understand their needs? -description: In today's competitive business landscape, understanding and meeting client needs is crucial for the... +description: "In today's competitive business landscape, understanding and meeting client needs is crucial for the success and growth of any company." +seo_override: true date: 2024-06-07 created_at: '2024-06-07T12:41:25Z' edited_at: '2024-11-26T16:02:07Z' diff --git a/content/blog/how-find-technical-vendor-with-confidence-startup-tutorial/index.md b/content/blog/how-find-technical-vendor-with-confidence-startup-tutorial/index.md index bba62f9dc..9c0345019 100644 --- a/content/blog/how-find-technical-vendor-with-confidence-startup-tutorial/index.md +++ b/content/blog/how-find-technical-vendor-with-confidence-startup-tutorial/index.md @@ -5,7 +5,8 @@ remote_id: 2163209 dev_to_id: 2163209 dev_to_url: https://dev.to/jetthoughts/how-to-find-technical-vendor-with-confidence-435n title: How to find technical vendor with confidence -description: Finding the right tech vendor can feel like a wild ride. One minute you're confident, the next you're... +description: "Finding the right tech vendor can feel like a wild ride. One minute you're confident, the next you're second-guessing every decision." +seo_override: true created_at: '2024-12-18T13:26:24Z' edited_at: '2024-12-18T14:08:11Z' draft: false diff --git a/content/blog/how-fractional-cto-turned-mess-into-stable-product-startup-usecase/index.md b/content/blog/how-fractional-cto-turned-mess-into-stable-product-startup-usecase/index.md index 81fef95a1..8f0805942 100644 --- a/content/blog/how-fractional-cto-turned-mess-into-stable-product-startup-usecase/index.md +++ b/content/blog/how-fractional-cto-turned-mess-into-stable-product-startup-usecase/index.md @@ -5,7 +5,8 @@ remote_id: 2012759 dev_to_id: 2012759 dev_to_url: https://dev.to/jetthoughts/how-a-fractional-cto-turned-a-mess-into-a-stable-product-488e title: How a Fractional CTO Turned a Mess into a Stable Product -description: Are bugs pushing your customers away? Maybe your app breaks at the worst times. Maybe its design... +description: "Maybe your app breaks at the worst times. Maybe its design confuses users. These problems aren't rare." +seo_override: true created_at: '2024-09-24T12:34:01Z' edited_at: '2024-11-25T15:32:22Z' date: 2024-09-24 diff --git a/content/blog/how-get-remote-teams-high-perform-agile-development/index.md b/content/blog/how-get-remote-teams-high-perform-agile-development/index.md index 81e3beb09..c27cb3949 100644 --- a/content/blog/how-get-remote-teams-high-perform-agile-development/index.md +++ b/content/blog/how-get-remote-teams-high-perform-agile-development/index.md @@ -5,7 +5,8 @@ remote_id: 1877574 dev_to_id: 1877574 dev_to_url: https://dev.to/jetthoughts/how-to-get-remote-teams-to-high-perform-555g title: How to Get Remote Teams to High Perform -description: How to Get Remote Teams to High Perform Raise your hand in case you feel confused about... +description: "Raise your hand in case you feel confused about project progress. How often do you ask about the current status in Slack?" +seo_override: true created_at: '2024-06-05T06:10:52Z' edited_at: '2024-11-26T16:03:21Z' date: 2024-06-05 diff --git a/content/blog/how-handle-remote-services-in-tests-rails-tutorial/index.md b/content/blog/how-handle-remote-services-in-tests-rails-tutorial/index.md index 521043c95..2d1fab218 100644 --- a/content/blog/how-handle-remote-services-in-tests-rails-tutorial/index.md +++ b/content/blog/how-handle-remote-services-in-tests-rails-tutorial/index.md @@ -5,7 +5,8 @@ remote_id: 1853545 dev_to_id: 1853545 dev_to_url: https://dev.to/jetthoughts/how-to-handle-remote-services-in-tests-33af title: How to handle remote services in tests -description: Do you have difficulties in adding the new tests and their readability decreased due to... +description: "Do you have difficulties in adding the new tests and their readability decreased due to mocks and stubs?" +seo_override: true created_at: '2024-05-15T06:53:38Z' edited_at: '2024-11-26T16:04:38Z' draft: false diff --git a/content/blog/how-handle-software-vendors-missing-deadlines-effectively-development-softwaredevelopment/index.md b/content/blog/how-handle-software-vendors-missing-deadlines-effectively-development-softwaredevelopment/index.md index 3105a0fc6..8896bc907 100644 --- a/content/blog/how-handle-software-vendors-missing-deadlines-effectively-development-softwaredevelopment/index.md +++ b/content/blog/how-handle-software-vendors-missing-deadlines-effectively-development-softwaredevelopment/index.md @@ -5,7 +5,8 @@ remote_id: 2019422 dev_to_id: 2019422 dev_to_url: https://dev.to/jetthoughts/how-to-handle-software-vendors-missing-deadlines-effectively-20c2 title: How to Handle Software Vendors Missing Deadlines Effectively -description: Dealing with missed work deadlines can be tough, especially when software vendors are late. Learn how... +description: "Dealing with missed work deadlines can be tough, especially when software vendors are late." +seo_override: true created_at: '2024-09-29T13:07:06Z' date: 2024-09-29 edited_at: '2024-11-25T15:32:04Z' diff --git a/content/blog/how-have-clean-css-structure-with-rscssitcss-rscss/index.md b/content/blog/how-have-clean-css-structure-with-rscssitcss-rscss/index.md index 69ebabe0c..97fad0443 100644 --- a/content/blog/how-have-clean-css-structure-with-rscssitcss-rscss/index.md +++ b/content/blog/how-have-clean-css-structure-with-rscssitcss-rscss/index.md @@ -5,7 +5,8 @@ remote_id: 1853621 dev_to_id: 1853621 dev_to_url: https://dev.to/jetthoughts/how-to-have-a-clean-css-structure-with-rscssitcss-57la title: How to have a clean CSS structure with RSCSS/ITCSS -description: Writing the CSS code is relatively simple. Learning a language is not a big problem and doesn't take... +description: "Writing the CSS code is relatively simple. Learning a language is not a big problem and doesn’t take a lot of effort." +seo_override: true date: 2024-05-15 created_at: '2024-05-15T07:45:28Z' edited_at: '2024-11-26T16:04:08Z' diff --git a/content/blog/how-influence-decision-makers-startup-tutorial/index.md b/content/blog/how-influence-decision-makers-startup-tutorial/index.md index 873a8bb82..139b8f474 100644 --- a/content/blog/how-influence-decision-makers-startup-tutorial/index.md +++ b/content/blog/how-influence-decision-makers-startup-tutorial/index.md @@ -5,7 +5,8 @@ remote_id: 2167568 dev_to_id: 2167568 dev_to_url: https://dev.to/jetthoughts/how-to-influence-decision-makers-1fmo title: How To Influence Decision Makers -description: In today's fast-paced world, the ability to influence decision-makers is crucial for success. Whether... +description: "In today's fast-paced world, the ability to influence decision-makers is crucial for success." +seo_override: true created_at: '2024-12-20T22:50:56Z' edited_at: '2024-12-20T23:47:59Z' date: "2024-12-20" diff --git a/content/blog/how-keep-clean-ruby-on-rails-views-with-null-object-pattern/index.md b/content/blog/how-keep-clean-ruby-on-rails-views-with-null-object-pattern/index.md index d48cdf23c..cfefb1226 100644 --- a/content/blog/how-keep-clean-ruby-on-rails-views-with-null-object-pattern/index.md +++ b/content/blog/how-keep-clean-ruby-on-rails-views-with-null-object-pattern/index.md @@ -5,7 +5,8 @@ remote_id: 1375276 dev_to_id: 1375276 dev_to_url: https://dev.to/jetthoughts/how-to-keep-clean-ruby-on-rails-views-with-the-null-object-pattern-9be title: How to keep clean Ruby on Rails views with the Null Object pattern -description: One of the most common errors developers encounter is NoMethodError. It occurs when code is... +description: "One of the most common errors developers encounter is NoMethodError. It occurs when code is executed according to a script not provided by the programmer." +seo_override: true date: 2023-02-22 created_at: '2023-02-22T12:43:10Z' edited_at: '2024-11-25T15:40:10Z' diff --git a/content/blog/how-large-transaction-can-be-source-of-db-deadlocks-this-fixed-ruby-database/index.md b/content/blog/how-large-transaction-can-be-source-of-db-deadlocks-this-fixed-ruby-database/index.md index 2baf5784a..e7afb6d29 100644 --- a/content/blog/how-large-transaction-can-be-source-of-db-deadlocks-this-fixed-ruby-database/index.md +++ b/content/blog/how-large-transaction-can-be-source-of-db-deadlocks-this-fixed-ruby-database/index.md @@ -5,7 +5,8 @@ remote_id: 1454204 dev_to_id: 1454204 dev_to_url: https://dev.to/jetthoughts/how-a-large-transaction-can-be-a-source-of-db-deadlocks-and-how-this-can-be-fixed-39lg title: How a large transaction can be a source of DB deadlocks and how this can be fixed. -description: Recently in a project, we encountered the fact that sometimes we had a DB Deadlocks error. After... +description: "Recently in a project, we encountered the fact that sometimes we had a DB Deadlocks error." +seo_override: true created_at: '2023-05-01T17:46:03Z' edited_at: '2024-11-25T15:40:08Z' date: 2023-05-01 diff --git a/content/blog/how-learn-ruby-tutorial/index.md b/content/blog/how-learn-ruby-tutorial/index.md index 02deb5db7..bd1b06455 100644 --- a/content/blog/how-learn-ruby-tutorial/index.md +++ b/content/blog/how-learn-ruby-tutorial/index.md @@ -5,7 +5,8 @@ remote_id: 1877579 dev_to_id: 1877579 dev_to_url: https://dev.to/jetthoughts/how-to-learn-ruby-4pib title: How to Learn Ruby -description: Starting to learn a new programming language or a new framework every person faces a problem — what... +description: "Starting to learn a new programming language or a new framework every person faces a problem — what should I start studying with?" +seo_override: true created_at: '2024-06-05T06:15:06Z' edited_at: '2024-11-25T15:35:29Z' date: 2024-06-05 diff --git a/content/blog/how-live-in-social-media-matrix/index.md b/content/blog/how-live-in-social-media-matrix/index.md index a60cb9cc6..e4ca27721 100644 --- a/content/blog/how-live-in-social-media-matrix/index.md +++ b/content/blog/how-live-in-social-media-matrix/index.md @@ -5,7 +5,8 @@ remote_id: 2181492 dev_to_id: 2181492 dev_to_url: https://dev.to/jetthoughts/how-to-live-in-the-social-media-matrix-35d0 title: How To Live In The Social Media Matrix -description: In today’s digital age, we find ourselves entangled in a web of social media that often feels like a... +description: "In today’s digital age, we find ourselves entangled in a web of social media that often feels like a modern-day Matrix." +seo_override: true created_at: '2024-12-30T08:32:44Z' edited_at: '2025-01-30T03:16:16Z' draft: false diff --git a/content/blog/how-make-vertically-scrollable-in-css-html/index.md b/content/blog/how-make-vertically-scrollable-in-css-html/index.md index c8e209736..4bddd5beb 100644 --- a/content/blog/how-make-vertically-scrollable-in-css-html/index.md +++ b/content/blog/how-make-vertically-scrollable-in-css-html/index.md @@ -5,7 +5,8 @@ remote_id: 1188292 dev_to_id: 1188292 dev_to_url: https://dev.to/jetthoughts/how-to-make-vertically-scrollable-in-css-57od title: How to make vertically scrollable in CSS -description: In order for the scroll to appear, you need to limit its height by adding height or max-height... +description: "In order for the scroll to appear, you need to limit its height by adding height or max-height properties." +seo_override: true created_at: '2022-09-08T21:16:07Z' edited_at: '2024-11-25T15:40:34Z' draft: false diff --git a/content/blog/how-send-custom-email-content-types/index.md b/content/blog/how-send-custom-email-content-types/index.md index dbe22be22..49e24227e 100644 --- a/content/blog/how-send-custom-email-content-types/index.md +++ b/content/blog/how-send-custom-email-content-types/index.md @@ -5,7 +5,8 @@ remote_id: 2419467 dev_to_id: 2419467 dev_to_url: https://dev.to/jetthoughts/how-to-send-custom-email-content-types-in-ruby-on-rails-expert-developers-guide-2g8l title: 'How to Send Custom Email Content Types in Ruby on Rails: Expert Developer''s Guide' -description: Introduction This comprehensive guide is designed for Ruby on Rails developers who need to... +description: "This comprehensive guide is designed for Ruby on Rails developers who need to implement custom email content types in their applications." +seo_override: true created_at: '2025-04-20T08:12:52Z' edited_at: '2025-05-04T10:56:48Z' draft: false diff --git a/content/blog/how-small-pr-improves-team-productivity-development/index.md b/content/blog/how-small-pr-improves-team-productivity-development/index.md index caf8f0ec9..1ad5555ac 100644 --- a/content/blog/how-small-pr-improves-team-productivity-development/index.md +++ b/content/blog/how-small-pr-improves-team-productivity-development/index.md @@ -5,7 +5,8 @@ remote_id: 1997035 dev_to_id: 1997035 dev_to_url: https://dev.to/jetthoughts/how-small-pr-improves-team-productivity-25g title: How Small PR Improves Team Productivity -description: In many companies, teams work together to achieve big goals. One way to keep the team productive is... +description: "In many companies, teams work together to achieve big goals. One way to keep the team productive is by focusing on small pull requests (PRs)." +seo_override: true date: 2024-09-11 created_at: '2024-09-11T15:59:07Z' edited_at: '2024-11-25T15:32:32Z' diff --git a/content/blog/how-start-an-open-source-project-building-reso-api-js-client-javascript-opensource/index.md b/content/blog/how-start-an-open-source-project-building-reso-api-js-client-javascript-opensource/index.md index 9ba8fb58a..ff71930a0 100644 --- a/content/blog/how-start-an-open-source-project-building-reso-api-js-client-javascript-opensource/index.md +++ b/content/blog/how-start-an-open-source-project-building-reso-api-js-client-javascript-opensource/index.md @@ -5,7 +5,8 @@ remote_id: 1852618 dev_to_id: 1852618 dev_to_url: https://dev.to/jetthoughts/how-to-start-an-open-source-project-building-reso-api-js-client-3p25 title: How to start an Open Source project. Building RESO API JS client -description: Would you like to understand how to start your new Open Source project in a week? How to build a... +description: "Would you like to understand how to start your new Open Source project in a week? How to build a rapid development process and bootstrap your ideas faster?" +seo_override: true created_at: '2024-05-14T12:29:45Z' edited_at: '2024-11-26T16:05:36Z' draft: false diff --git a/content/blog/how-use-linear-gradient-in-css-html/index.md b/content/blog/how-use-linear-gradient-in-css-html/index.md index 93732f9d1..f1e3d6e25 100644 --- a/content/blog/how-use-linear-gradient-in-css-html/index.md +++ b/content/blog/how-use-linear-gradient-in-css-html/index.md @@ -5,7 +5,8 @@ remote_id: 1125937 dev_to_id: 1125937 dev_to_url: https://dev.to/jetthoughts/how-to-use-linear-gradient-in-css-bi1 title: How to use Linear-Gradient in CSS -description: The CSS linear-gradient function creates an image that consists of a progressive transition between... +description: "The CSS linear-gradient function creates an image that consists of a progressive transition between two or more colors along a straight line." +seo_override: true created_at: '2022-06-27T21:31:18Z' edited_at: '2024-11-25T15:41:05Z' draft: false diff --git a/content/blog/how-use-nth-child-in-css-html/index.md b/content/blog/how-use-nth-child-in-css-html/index.md index 6058e1e91..38daffad7 100644 --- a/content/blog/how-use-nth-child-in-css-html/index.md +++ b/content/blog/how-use-nth-child-in-css-html/index.md @@ -5,7 +5,8 @@ remote_id: 1113061 dev_to_id: 1113061 dev_to_url: https://dev.to/jetthoughts/how-to-use-nth-child-in-css-535 title: How to use :nth-child in CSS -description: The :nth-child pseudo-class allows to select one and more elements based on their source... +description: "The :nth-child pseudo-class allows to select one and more elements based on their source order." +seo_override: true date: 2022-06-13 created_at: '2022-06-13T14:53:23Z' edited_at: '2024-11-25T15:41:17Z' diff --git a/content/blog/how-vet-hire-engineers-as-non-technical-founder-startup-developers/index.md b/content/blog/how-vet-hire-engineers-as-non-technical-founder-startup-developers/index.md index ce283095f..bd6d0e5c3 100644 --- a/content/blog/how-vet-hire-engineers-as-non-technical-founder-startup-developers/index.md +++ b/content/blog/how-vet-hire-engineers-as-non-technical-founder-startup-developers/index.md @@ -5,7 +5,8 @@ remote_id: 2085026 dev_to_id: 2085026 dev_to_url: https://dev.to/jetthoughts/how-to-vet-and-hire-engineers-as-a-non-technical-founder-4mfd title: How to Vet and Hire Engineers as a non-Technical Founder -description: You don't need an in-house tech expert to find the right developer. Follow these steps to get the... +description: "You don't need an in-house tech expert to find the right developer. Follow these steps to get the best help." +seo_override: true created_at: '2024-11-07T21:50:51Z' edited_at: '2024-11-25T15:42:14Z' draft: false diff --git a/content/blog/how-we-configure-simplecov-for-our-ruby-on-rails-projects/index.md b/content/blog/how-we-configure-simplecov-for-our-ruby-on-rails-projects/index.md index 7276790f7..aa9879ff4 100644 --- a/content/blog/how-we-configure-simplecov-for-our-ruby-on-rails-projects/index.md +++ b/content/blog/how-we-configure-simplecov-for-our-ruby-on-rails-projects/index.md @@ -4,8 +4,9 @@ source: dev_to remote_id: 1673284 dev_to_id: 1673284 dev_to_url: https://dev.to/jetthoughts/how-we-configure-simplecov-for-our-ruby-on-rails-projects-3hlp -title: How we configure Simplecov for our Ruby on Rails projects. -description: Here's a step-by-step guide to setting up simplecov with explanations of what each part of the code... +title: "How to Configure SimpleCov in Rails" +description: "A working SimpleCov config for Rails, line by line: what each setting does, which filters actually matter, and why your coverage number moves when you add one." +seo_override: true date: 2023-11-21 created_at: '2023-11-21T07:40:02Z' edited_at: '2024-11-25T15:39:48Z' diff --git a/content/blog/how-we-helped-an-existing-product-debug-grow-gain-more-satisfied-customers-development-startup/index.md b/content/blog/how-we-helped-an-existing-product-debug-grow-gain-more-satisfied-customers-development-startup/index.md index aec201cef..cd5ba113b 100644 --- a/content/blog/how-we-helped-an-existing-product-debug-grow-gain-more-satisfied-customers-development-startup/index.md +++ b/content/blog/how-we-helped-an-existing-product-debug-grow-gain-more-satisfied-customers-development-startup/index.md @@ -5,7 +5,8 @@ remote_id: 1877638 dev_to_id: 1877638 dev_to_url: https://dev.to/jetthoughts/how-we-helped-an-existing-product-debug-grow-and-gain-more-satisfied-customers-554b title: How We Helped an Existing Product Debug, Grow, and Gain More (Satisfied) Customers -description: As its client base grew, Faria Education Group (FEG) needed to ensure its OpenApply product could... +description: "As its client base grew, Faria Education Group (FEG) needed to ensure its OpenApply product could accommodate increasing demand. The problem?" +seo_override: true date: 2024-06-05 created_at: '2024-06-05T06:34:42Z' edited_at: '2024-11-26T16:03:03Z' diff --git a/content/blog/how-we-temporarily-transformed-our-usual-workflow-for-tight-deadline-agile/index.md b/content/blog/how-we-temporarily-transformed-our-usual-workflow-for-tight-deadline-agile/index.md index 600550048..7ce5b7e52 100644 --- a/content/blog/how-we-temporarily-transformed-our-usual-workflow-for-tight-deadline-agile/index.md +++ b/content/blog/how-we-temporarily-transformed-our-usual-workflow-for-tight-deadline-agile/index.md @@ -5,7 +5,8 @@ remote_id: 1877544 dev_to_id: 1877544 dev_to_url: https://dev.to/jetthoughts/how-we-temporarily-transformed-our-usual-workflow-for-a-tight-deadline-4fm9 title: How We Temporarily Transformed Our Usual Workflow for a Tight Deadline -description: Time makes rules Every time when we start working on a new project, short iteration or... +description: "Every time when we start working on a new project, short iteration or just a new feature, we almost always worry about a delivery deadline." +seo_override: true created_at: '2024-06-05T05:45:06Z' edited_at: '2024-11-26T16:03:44Z' draft: false diff --git a/content/blog/how-wip-limits-improves-effectiveness-productivity-management/index.md b/content/blog/how-wip-limits-improves-effectiveness-productivity-management/index.md index 5d9a46722..c6bc3d439 100644 --- a/content/blog/how-wip-limits-improves-effectiveness-productivity-management/index.md +++ b/content/blog/how-wip-limits-improves-effectiveness-productivity-management/index.md @@ -5,7 +5,8 @@ remote_id: 1297134 dev_to_id: 1297134 dev_to_url: https://dev.to/jetthoughts/how-wip-limits-improves-effectiveness-30i3 title: How WIP Limits improves effectiveness? -description: A work-in-progress (WIP) limit is used in agile project management to improve team effectiveness. The... +description: "A work-in-progress (WIP) limit is used in agile project management to improve team effectiveness." +seo_override: true created_at: '2022-12-15T06:56:46Z' edited_at: '2024-11-25T15:40:13Z' draft: false diff --git a/content/blog/how-write-right-content-for-your-article-blogging-posting/index.md b/content/blog/how-write-right-content-for-your-article-blogging-posting/index.md index 9575ca9b8..811355af2 100644 --- a/content/blog/how-write-right-content-for-your-article-blogging-posting/index.md +++ b/content/blog/how-write-right-content-for-your-article-blogging-posting/index.md @@ -5,7 +5,8 @@ remote_id: 1853550 dev_to_id: 1853550 dev_to_url: https://dev.to/jetthoughts/how-to-write-the-right-content-for-your-article-46c1 title: How To Write The Right Content For Your Article -description: There are moments when you're full of motivation, ideas come up with your mind and straight onto the... +description: "There are moments when you’re full of motivation, ideas come up with your mind and straight onto the page." +seo_override: true created_at: '2024-05-15T07:00:58Z' edited_at: '2024-11-26T16:04:34Z' draft: false diff --git a/content/blog/implementing-instant-search-dynamic-forms-infinite/index.md b/content/blog/implementing-instant-search-dynamic-forms-infinite/index.md index f1c8981d2..848333652 100644 --- a/content/blog/implementing-instant-search-dynamic-forms-infinite/index.md +++ b/content/blog/implementing-instant-search-dynamic-forms-infinite/index.md @@ -5,7 +5,8 @@ remote_id: 2358784 dev_to_id: 2358784 dev_to_url: https://dev.to/jetthoughts/implementing-instant-search-dynamic-forms-and-infinite-scroll-with-hotwire-and-turbo-in-rails-18p title: Implementing Instant Search, Dynamic Forms, and Infinite Scroll with Hotwire and Turbo in Rails -description: Despite Hotwire's growing popularity, many developers struggle with implementing it correctly. Common... +description: "Despite Hotwire's growing popularity, many developers struggle with implementing it correctly." +seo_override: true created_at: '2025-03-26T20:00:54Z' edited_at: '2025-03-29T11:44:47Z' date: 2025-03-26 diff --git a/content/blog/inexpensive-not-cheap-choosing-software-development-company-for-your-project-outsource-mvp/index.md b/content/blog/inexpensive-not-cheap-choosing-software-development-company-for-your-project-outsource-mvp/index.md index f4dfc5619..c1fd0d799 100644 --- a/content/blog/inexpensive-not-cheap-choosing-software-development-company-for-your-project-outsource-mvp/index.md +++ b/content/blog/inexpensive-not-cheap-choosing-software-development-company-for-your-project-outsource-mvp/index.md @@ -5,7 +5,8 @@ remote_id: 1877566 dev_to_id: 1877566 dev_to_url: https://dev.to/jetthoughts/inexpensive-is-not-cheap-choosing-software-development-company-for-your-project-ak0 title: Inexpensive is Not Cheap. Choosing Software Development Company for Your Project -description: You have a great idea for a new product or a growing business and need a team of software... +description: "You have a great idea for a new product or a growing business and need a team of software developers." +seo_override: true created_at: '2024-06-05T06:01:42Z' edited_at: '2024-11-26T16:03:26Z' date: 2024-06-05 diff --git a/content/blog/innovative-rails-companies-leading-tech-revolution-in-2025/index.md b/content/blog/innovative-rails-companies-leading-tech-revolution-in-2025/index.md index 09df83d64..ad41d0065 100644 --- a/content/blog/innovative-rails-companies-leading-tech-revolution-in-2025/index.md +++ b/content/blog/innovative-rails-companies-leading-tech-revolution-in-2025/index.md @@ -5,7 +5,8 @@ remote_id: 2244342 dev_to_id: 2244342 dev_to_url: https://dev.to/jetthoughts/innovative-rails-companies-leading-the-tech-revolution-in-2025-44gi title: Innovative Rails Companies Leading the Tech Revolution in 2025 -description: In 2025, the rail industry is buzzing with innovation, and it's the rails companies at the forefront... +description: "In 2025, the rail industry is buzzing with innovation, and it's the rails companies at the forefront who are making waves." +seo_override: true created_at: '2025-01-27T11:24:35Z' edited_at: '2025-01-30T02:36:38Z' date: 2025-01-27 diff --git a/content/blog/innovative-ruby-on-rails-projects-boost-your-development-skills-in-2024/index.md b/content/blog/innovative-ruby-on-rails-projects-boost-your-development-skills-in-2024/index.md index 08a40771f..a205f5c30 100644 --- a/content/blog/innovative-ruby-on-rails-projects-boost-your-development-skills-in-2024/index.md +++ b/content/blog/innovative-ruby-on-rails-projects-boost-your-development-skills-in-2024/index.md @@ -5,7 +5,8 @@ remote_id: 2180768 dev_to_id: 2180768 dev_to_url: https://dev.to/jetthoughts/innovative-ruby-on-rails-projects-to-boost-your-development-skills-in-2024-1je9 title: Innovative Ruby on Rails Projects to Boost Your Development Skills in 2024 -description: Ruby on Rails, often just called Rails, is a popular framework for building web applications. If... +description: "Ruby on Rails, often just called Rails, is a popular framework for building web applications." +seo_override: true created_at: '2024-12-29T17:47:43Z' edited_at: '2025-01-30T03:16:52Z' draft: false diff --git a/content/blog/innovative-software-development-tools-techniques-for-2025/index.md b/content/blog/innovative-software-development-tools-techniques-for-2025/index.md index a880138f6..fb09a4bba 100644 --- a/content/blog/innovative-software-development-tools-techniques-for-2025/index.md +++ b/content/blog/innovative-software-development-tools-techniques-for-2025/index.md @@ -5,7 +5,8 @@ remote_id: 2192225 dev_to_id: 2192225 dev_to_url: https://dev.to/jetthoughts/innovative-software-development-tools-and-techniques-for-2025-3o9f title: Innovative Software Development Tools and Techniques for 2025 -description: Looking ahead to 2025, software development is buzzing with fresh tools and techniques. It's not just... +description: "Looking ahead to 2025, software development is buzzing with fresh tools and techniques. It's not just about writing code anymore." +seo_override: true created_at: '2025-01-07T00:03:13Z' edited_at: '2025-01-30T02:50:33Z' draft: false diff --git a/content/blog/innovative-strategies-for-website-development-startups-in-2025/index.md b/content/blog/innovative-strategies-for-website-development-startups-in-2025/index.md index 8a33bc04f..c7b2da414 100644 --- a/content/blog/innovative-strategies-for-website-development-startups-in-2025/index.md +++ b/content/blog/innovative-strategies-for-website-development-startups-in-2025/index.md @@ -5,7 +5,8 @@ remote_id: 2199947 dev_to_id: 2199947 dev_to_url: https://dev.to/jetthoughts/innovative-strategies-for-website-development-for-startups-in-2025-2hm6 title: Innovative Strategies for Website Development for Startups in 2025 -description: In 2025, the world of website development for startups is buzzing with new ideas and techniques.... +description: "In 2025, the world of website development for startups is buzzing with new ideas and techniques." +seo_override: true date: 2025-01-11 created_at: '2025-01-11T02:10:14Z' edited_at: '2025-01-30T02:48:22Z' diff --git a/content/blog/its-time-for-active-job-ruby-rails/index.md b/content/blog/its-time-for-active-job-ruby-rails/index.md index 810388095..ea9cdaa0b 100644 --- a/content/blog/its-time-for-active-job-ruby-rails/index.md +++ b/content/blog/its-time-for-active-job-ruby-rails/index.md @@ -5,7 +5,8 @@ remote_id: 1880305 dev_to_id: 1880305 dev_to_url: https://dev.to/jetthoughts/its-time-for-active-job-eph title: It's Time For Active Job -description: It's Time For Active Job Recently we have upgraded one of our own projects to Rails 4.2.... +description: "Recently we have upgraded one of our own projects to Rails 4.2. New minor version contains many improvements of old features and adds some new ones." +seo_override: true created_at: '2024-06-07T11:47:31Z' edited_at: '2024-11-25T15:34:09Z' draft: false diff --git a/content/blog/jason-meller-welcomes-1password-rails-foundation/index.md b/content/blog/jason-meller-welcomes-1password-rails-foundation/index.md index e61313886..9b0bff348 100644 --- a/content/blog/jason-meller-welcomes-1password-rails-foundation/index.md +++ b/content/blog/jason-meller-welcomes-1password-rails-foundation/index.md @@ -5,7 +5,8 @@ remote_id: 2182000 dev_to_id: 2182000 dev_to_url: https://dev.to/jetthoughts/jason-meller-welcomes-1password-to-the-rails-foundation-29p8 title: Jason Meller Welcomes 1Password to the Rails Foundation -description: In a significant move for both the Rails community and 1Password, Jason Meller announced that... +description: "In a significant move for both the Rails community and 1Password, Jason Meller announced that 1Password has officially joined the Rails Foundation." +seo_override: true created_at: '2024-12-30T15:06:54Z' edited_at: '2025-01-30T03:15:16Z' date: 2024-12-30 diff --git a/content/blog/jetthoughts-on-goodfirms-radar-for-delivering-effortless-ruby-rails-development-services-business-of-various-niches/index.md b/content/blog/jetthoughts-on-goodfirms-radar-for-delivering-effortless-ruby-rails-development-services-business-of-various-niches/index.md index bc85566ac..67a970f8a 100644 --- a/content/blog/jetthoughts-on-goodfirms-radar-for-delivering-effortless-ruby-rails-development-services-business-of-various-niches/index.md +++ b/content/blog/jetthoughts-on-goodfirms-radar-for-delivering-effortless-ruby-rails-development-services-business-of-various-niches/index.md @@ -5,7 +5,8 @@ remote_id: 1880548 dev_to_id: 1880548 dev_to_url: https://dev.to/jetthoughts/jetthoughts-is-on-goodfirms-radar-for-delivering-effortless-ruby-on-rails-development-services-to-business-of-various-niches-1g8b title: JetThoughts Is On GoodFirms Radar for Delivering Effortless Ruby on Rails Development Services to Business of Various Niches -description: JetThoughts LLC is an excellent firm offering various services that can give the business an edge... +description: "JetThoughts LLC is an excellent firm offering various services that can give the business an edge in the competitive market." +seo_override: true date: 2024-06-07 created_at: '2024-06-07T15:27:35Z' edited_at: '2025-01-22T22:02:54Z' diff --git a/content/blog/kamal-integration-in-rails-8-by-default-ruby/index.md b/content/blog/kamal-integration-in-rails-8-by-default-ruby/index.md index 12ca05ed0..84817c429 100644 --- a/content/blog/kamal-integration-in-rails-8-by-default-ruby/index.md +++ b/content/blog/kamal-integration-in-rails-8-by-default-ruby/index.md @@ -5,7 +5,8 @@ remote_id: 1939835 dev_to_id: 1939835 dev_to_url: https://dev.to/jetthoughts/kamal-integration-in-rails-8-by-default-538m title: Kamal Integration in Rails 8 by Default -description: In Rails 8, Kamal will be included by default. This change aims to simplify deployment and... +description: "In Rails 8, Kamal will be included by default. This change aims to simplify deployment and infrastructure management processes for developers." +seo_override: true date: 2024-07-29 created_at: '2024-07-29T09:50:35Z' edited_at: '2024-11-25T15:33:03Z' diff --git a/content/blog/linking-postgresql-data-through-time-when-tables-share-no-keys-database-sql/index.md b/content/blog/linking-postgresql-data-through-time-when-tables-share-no-keys-database-sql/index.md index 1b38a6e8d..75e885673 100644 --- a/content/blog/linking-postgresql-data-through-time-when-tables-share-no-keys-database-sql/index.md +++ b/content/blog/linking-postgresql-data-through-time-when-tables-share-no-keys-database-sql/index.md @@ -5,7 +5,8 @@ remote_id: 2131289 dev_to_id: 2131289 dev_to_url: https://dev.to/jetthoughts/linking-postgresql-data-through-time-when-tables-share-no-keys-8pf title: 'Linking Data in PostgreSQL Without Explicit Keys: A Practical Guide' -description: Databases often evolve in unpredictable ways. Tables that were initially designed to operate... +description: "Databases often evolve in unpredictable ways. Tables that were initially designed to operate independently might later need to be connected." +seo_override: true date: 2024-12-02 created_at: '2024-12-02T13:25:12Z' edited_at: '2024-12-12T13:32:30Z' diff --git a/content/blog/load-web-page-in-less-than-one-second-optimization-html/index.md b/content/blog/load-web-page-in-less-than-one-second-optimization-html/index.md index 526eb146c..6b7a31acb 100644 --- a/content/blog/load-web-page-in-less-than-one-second-optimization-html/index.md +++ b/content/blog/load-web-page-in-less-than-one-second-optimization-html/index.md @@ -5,7 +5,8 @@ remote_id: 1853553 dev_to_id: 1853553 dev_to_url: https://dev.to/jetthoughts/load-web-page-in-less-than-one-second-2146 title: Load web page in less than one second -description: How to improve the website load time without much effort? What optimizations and improvements can... +description: "How to improve the website load time without much effort? What optimizations and improvements can help to speed up page loading?" +seo_override: true created_at: '2024-05-15T07:04:49Z' edited_at: '2024-11-26T16:04:31Z' draft: false diff --git a/content/blog/mastering-multiple-returns-in-ruby-power-of-datadefine/index.md b/content/blog/mastering-multiple-returns-in-ruby-power-of-datadefine/index.md index 46e89cb0e..b5a8cadda 100644 --- a/content/blog/mastering-multiple-returns-in-ruby-power-of-datadefine/index.md +++ b/content/blog/mastering-multiple-returns-in-ruby-power-of-datadefine/index.md @@ -5,7 +5,8 @@ remote_id: 2169440 dev_to_id: 2169440 dev_to_url: https://dev.to/jetthoughts/mastering-multiple-returns-in-ruby-the-power-of-datadefine-3ng8 title: 'Mastering Multiple Returns in Ruby: The Power of Data.define' -description: In the world of Ruby programming, returning multiple values from a method can often lead to confusion... +description: "In the world of Ruby programming, returning multiple values from a method can often lead to confusion and bugs." +seo_override: true created_at: '2024-12-22T11:17:24Z' edited_at: '2025-01-30T03:25:02Z' date: 2024-12-22 diff --git a/content/blog/mastering-rails-with-react-comprehensive-guide-for-2024/index.md b/content/blog/mastering-rails-with-react-comprehensive-guide-for-2024/index.md index b0f5ddd90..ccf7a7f02 100644 --- a/content/blog/mastering-rails-with-react-comprehensive-guide-for-2024/index.md +++ b/content/blog/mastering-rails-with-react-comprehensive-guide-for-2024/index.md @@ -5,7 +5,8 @@ remote_id: 2170904 dev_to_id: 2170904 dev_to_url: https://dev.to/jetthoughts/mastering-rails-with-react-a-comprehensive-guide-for-2024-363j title: 'Mastering Rails with React: A Comprehensive Guide for 2024' -description: If you're looking to mix the power of Rails with the flexibility of React, this guide is for you.... +description: "If you're looking to mix the power of Rails with the flexibility of React, this guide is for you." +seo_override: true created_at: '2024-12-23T11:17:03Z' edited_at: '2025-01-30T03:23:52Z' date: 2024-12-23 diff --git a/content/blog/minitest-advantages-simple-testing-for-rails-projects-rspec/index.md b/content/blog/minitest-advantages-simple-testing-for-rails-projects-rspec/index.md index 13178e05d..b372dc4c1 100644 --- a/content/blog/minitest-advantages-simple-testing-for-rails-projects-rspec/index.md +++ b/content/blog/minitest-advantages-simple-testing-for-rails-projects-rspec/index.md @@ -5,7 +5,8 @@ remote_id: 2102152 dev_to_id: 2102152 dev_to_url: https://dev.to/jetthoughts/minitest-advantages-simple-testing-for-rails-projects-4467 title: 'Minitest Advantages: Simple Testing for Rails Projects' -description: Minitest and RSpec are great testing tools for Ruby on Rails, each with its style, strengths, and... +description: "Minitest and RSpec are great testing tools for Ruby on Rails, each with its style, strengths, and weaknesses." +seo_override: true created_at: '2024-11-13T08:47:37Z' edited_at: '2024-11-25T15:42:16Z' draft: false diff --git a/content/blog/mock-everything-good-way-sink-tdd-testing/index.md b/content/blog/mock-everything-good-way-sink-tdd-testing/index.md index f26405305..7fff13a22 100644 --- a/content/blog/mock-everything-good-way-sink-tdd-testing/index.md +++ b/content/blog/mock-everything-good-way-sink-tdd-testing/index.md @@ -5,7 +5,8 @@ remote_id: 1877556 dev_to_id: 1877556 dev_to_url: https://dev.to/jetthoughts/mock-everything-is-a-good-way-to-sink-2ha title: Mock Everything Is a Good Way to Sink -description: Have you found a lot of code with mocks and stubs? But how do you feel about it? When I see... +description: "Have you found a lot of code with mocks and stubs? But how do you feel about it? When I see mocks/stubs, I am always looking for the way to remove them." +seo_override: true created_at: '2024-06-05T05:52:47Z' date: 2024-06-05 edited_at: '2024-11-26T16:03:35Z' diff --git a/content/blog/more-control-over-enum-in-rails-71-webdev/index.md b/content/blog/more-control-over-enum-in-rails-71-webdev/index.md index c175229b5..5119f892a 100644 --- a/content/blog/more-control-over-enum-in-rails-71-webdev/index.md +++ b/content/blog/more-control-over-enum-in-rails-71-webdev/index.md @@ -5,7 +5,8 @@ remote_id: 1774708 dev_to_id: 1774708 dev_to_url: https://dev.to/jetthoughts/more-control-over-enum-in-rails-71-28b6 title: More control over enum in Rails 7.1 -description: ActiveRecord::Enum in Rails have long been a convenient tool for representing a set of symbolic... +description: "ActiveRecord::Enum in Rails have long been a convenient tool for representing a set of symbolic values within a model." +seo_override: true created_at: '2024-02-28T09:32:44Z' edited_at: '2024-11-25T15:39:31Z' draft: false diff --git a/content/blog/new-asserts-for-testing-stopped-streams-after-ruby-on-rails-71-changelog/index.md b/content/blog/new-asserts-for-testing-stopped-streams-after-ruby-on-rails-71-changelog/index.md index 1f657ea49..ac2db3a18 100644 --- a/content/blog/new-asserts-for-testing-stopped-streams-after-ruby-on-rails-71-changelog/index.md +++ b/content/blog/new-asserts-for-testing-stopped-streams-after-ruby-on-rails-71-changelog/index.md @@ -5,7 +5,8 @@ remote_id: 1851499 dev_to_id: 1851499 dev_to_url: https://dev.to/jetthoughts/new-asserts-for-testing-stopped-streams-after-ruby-on-rails-71-542b title: New asserts for testing stopped streams after Ruby on Rails 7.1. -description: Previously, developers encountered a significant challenge verifying if streams ceased operation... +description: "Previously, developers encountered a significant challenge verifying if streams ceased operation correctly." +seo_override: true created_at: '2024-05-13T15:10:06Z' edited_at: '2024-11-25T15:39:17Z' draft: false diff --git a/content/blog/new-in-rails-72-generated-with-devcontainer-changelog/index.md b/content/blog/new-in-rails-72-generated-with-devcontainer-changelog/index.md index 934470546..2ef32d9fd 100644 --- a/content/blog/new-in-rails-72-generated-with-devcontainer-changelog/index.md +++ b/content/blog/new-in-rails-72-generated-with-devcontainer-changelog/index.md @@ -5,7 +5,8 @@ remote_id: 1910822 dev_to_id: 1910822 dev_to_url: https://dev.to/jetthoughts/new-in-rails-72-generated-with-devcontainer-5ob title: 'New in Rails 7.2: Generated With .devcontainer' -description: Exciting news from Rails! The latest Rails 7.2 has a new feature. When you create a new app, it now... +description: "Exciting news from Rails! The latest Rails 7.2 has a new feature. When you create a new app, it now generates a .devcontainer folder." +seo_override: true created_at: '2024-07-03T20:23:36Z' edited_at: '2024-11-25T15:33:28Z' draft: false diff --git a/content/blog/onboarding-tests-into-legacy-project-testing-startup/index.md b/content/blog/onboarding-tests-into-legacy-project-testing-startup/index.md index 62d54425e..23cf0d539 100644 --- a/content/blog/onboarding-tests-into-legacy-project-testing-startup/index.md +++ b/content/blog/onboarding-tests-into-legacy-project-testing-startup/index.md @@ -5,7 +5,8 @@ remote_id: 1877640 dev_to_id: 1877640 dev_to_url: https://dev.to/jetthoughts/onboarding-tests-into-legacy-project-54f3 title: Onboarding Tests into Legacy Project -description: What solution should you apply to get the first results in a short time in the legacy project? What... +description: "What solution should you apply to get the first results in a short time in the legacy project?" +seo_override: true created_at: '2024-06-05T06:37:41Z' edited_at: '2024-11-26T16:02:56Z' draft: false diff --git a/content/blog/over-complicated-pricing-could-kill-sales-process/index.md b/content/blog/over-complicated-pricing-could-kill-sales-process/index.md index 9a74d1051..52e1135e7 100644 --- a/content/blog/over-complicated-pricing-could-kill-sales-process/index.md +++ b/content/blog/over-complicated-pricing-could-kill-sales-process/index.md @@ -5,7 +5,8 @@ remote_id: 2190249 dev_to_id: 2190249 dev_to_url: https://dev.to/jetthoughts/over-complicated-pricing-could-kill-a-sales-process-3afg title: Over-Complicated Pricing Could Kill A Sales Process -description: In the world of sales, pricing strategies can make or break a deal. Recently, a discussion... +description: "In the world of sales, pricing strategies can make or break a deal. Recently, a discussion highlighted the importance of keeping pricing simple." +seo_override: true date: 2025-01-05 created_at: '2025-01-05T17:56:02Z' edited_at: '2025-01-30T02:52:04Z' diff --git a/content/blog/overnight-success-of-kalshi/index.md b/content/blog/overnight-success-of-kalshi/index.md index 0f6a3e1cc..ed8bd868e 100644 --- a/content/blog/overnight-success-of-kalshi/index.md +++ b/content/blog/overnight-success-of-kalshi/index.md @@ -5,7 +5,8 @@ remote_id: 2266552 dev_to_id: 2266552 dev_to_url: https://dev.to/jetthoughts/the-overnight-success-of-kalshi-3ngd title: The 'Overnight Success' Of Kalshi -description: In the world of startups, the term "overnight success" often masks the years of hard work and... +description: "In the world of startups, the term \"overnight success\" often masks the years of hard work and struggle behind it." +seo_override: true date: 2025-02-08 created_at: '2025-02-08T19:22:33Z' edited_at: '2025-02-09T12:05:12Z' diff --git a/content/blog/own-heroku-review-apps-with-github-actions-kamal-2-devops-development/index.md b/content/blog/own-heroku-review-apps-with-github-actions-kamal-2-devops-development/index.md index 536bd3afb..c324f7c47 100644 --- a/content/blog/own-heroku-review-apps-with-github-actions-kamal-2-devops-development/index.md +++ b/content/blog/own-heroku-review-apps-with-github-actions-kamal-2-devops-development/index.md @@ -5,7 +5,8 @@ remote_id: 2053767 dev_to_id: 2053767 dev_to_url: https://dev.to/jetthoughts/own-heroku-review-apps-with-github-actions-and-kamal-2-407n title: Own Heroku Review Apps with GitHub Actions and Kamal 2 -description: Continuous delivery is vital in modern software development. It ensures that code changes are... +description: "Continuous delivery is vital in modern software development. It ensures that code changes are released quickly and reliably." +seo_override: true created_at: '2024-10-23T14:23:22Z' edited_at: '2024-11-25T15:31:50Z' date: 2024-10-23 diff --git a/content/blog/practical-guide-writing-introductions-introduction/index.md b/content/blog/practical-guide-writing-introductions-introduction/index.md index c83e4b351..ea5d23388 100644 --- a/content/blog/practical-guide-writing-introductions-introduction/index.md +++ b/content/blog/practical-guide-writing-introductions-introduction/index.md @@ -5,7 +5,8 @@ remote_id: 1852747 dev_to_id: 1852747 dev_to_url: https://dev.to/jetthoughts/a-practical-guide-to-writing-introductions-4d5k title: A Practical Guide To Writing Introductions -description: Are you struggling with the introduction as it’s absolutely annoying thing that has to be written? It... +description: "Are you struggling with the introduction as it’s absolutely annoying thing that has to be written? It simply summarises the main points of your article." +seo_override: true created_at: '2024-05-14T14:14:26Z' edited_at: '2024-11-26T16:05:10Z' draft: false diff --git a/content/blog/prepare-pull-request-before-asking-review-git-pullrequest/index.md b/content/blog/prepare-pull-request-before-asking-review-git-pullrequest/index.md index f6ed08256..f77745a23 100644 --- a/content/blog/prepare-pull-request-before-asking-review-git-pullrequest/index.md +++ b/content/blog/prepare-pull-request-before-asking-review-git-pullrequest/index.md @@ -5,7 +5,8 @@ remote_id: 1852617 dev_to_id: 1852617 dev_to_url: https://dev.to/jetthoughts/prepare-the-pull-request-before-asking-to-review-2o87 title: Prepare the Pull Request before asking to Review -description: How to avoid being the victim of an open loop trying to get your Pull Request verified while working... +description: "How to avoid being the victim of an open loop trying to get your Pull Request verified while working asynchronously? In JetThoughts, we set some rules." +seo_override: true created_at: '2024-05-14T12:27:37Z' edited_at: '2024-11-26T16:05:38Z' draft: false diff --git a/content/blog/rails-8-introducing-new-default-asset-pipeline-propshaft-ruby/index.md b/content/blog/rails-8-introducing-new-default-asset-pipeline-propshaft-ruby/index.md index 6c28ddb8a..37c381ed1 100644 --- a/content/blog/rails-8-introducing-new-default-asset-pipeline-propshaft-ruby/index.md +++ b/content/blog/rails-8-introducing-new-default-asset-pipeline-propshaft-ruby/index.md @@ -5,7 +5,8 @@ remote_id: 2057856 dev_to_id: 2057856 dev_to_url: https://dev.to/jetthoughts/rails-8-introducing-the-new-default-asset-pipeline-propshaft-5cpp title: 'Rails 8: Introducing the New Default Asset Pipeline – Propshaft' -description: The Rails asset pipeline helps manage static assets like CSS, JavaScript, and images. It improves... +description: "The Rails asset pipeline helps manage static assets like CSS, JavaScript, and images. It improves delivery speed by compressing and combining these files." +seo_override: true date: 2024-10-25 created_at: '2024-10-25T14:36:50Z' edited_at: '2024-11-25T15:31:45Z' diff --git a/content/blog/react-ruby-on-rails-without-any-gems-typescript/index.md b/content/blog/react-ruby-on-rails-without-any-gems-typescript/index.md index cdfb7f89d..4c7b4f402 100644 --- a/content/blog/react-ruby-on-rails-without-any-gems-typescript/index.md +++ b/content/blog/react-ruby-on-rails-without-any-gems-typescript/index.md @@ -5,7 +5,8 @@ remote_id: 1877637 dev_to_id: 1877637 dev_to_url: https://dev.to/jetthoughts/react-ruby-on-rails-without-any-gems-3clf title: React + Ruby on Rails without any gems -description: React + Ruby on Rails without any gems How to start using React components written in... +description: "How to start using React components written in TypeScript using Ruby on Rails as a server with only built-in Rails features?" +seo_override: true created_at: '2024-06-05T06:32:51Z' edited_at: '2024-11-26T16:03:07Z' draft: false diff --git a/content/blog/recent-searches-sorting-hashes-how-they-are-connected-ruby-rails/index.md b/content/blog/recent-searches-sorting-hashes-how-they-are-connected-ruby-rails/index.md index 748f7de35..f14cc360c 100644 --- a/content/blog/recent-searches-sorting-hashes-how-they-are-connected-ruby-rails/index.md +++ b/content/blog/recent-searches-sorting-hashes-how-they-are-connected-ruby-rails/index.md @@ -5,7 +5,8 @@ remote_id: 1879395 dev_to_id: 1879395 dev_to_url: https://dev.to/jetthoughts/recent-searches-sorting-hashes-how-they-are-connected-4965 title: 'Recent Searches & Sorting Hashes: How They are Connected' -description: In one of the applications, that we are developing, we needed to implement the storing of 10 last... +description: "In one of the applications, that we are developing, we needed to implement the storing of 10 last user search requests." +seo_override: true date: 2024-06-06 created_at: '2024-06-06T15:55:49Z' edited_at: '2024-11-26T16:02:35Z' diff --git a/content/blog/regular-automatic-dependencies-update-with-circleci-github-circle/index.md b/content/blog/regular-automatic-dependencies-update-with-circleci-github-circle/index.md index 57ee74e97..5af2d5903 100644 --- a/content/blog/regular-automatic-dependencies-update-with-circleci-github-circle/index.md +++ b/content/blog/regular-automatic-dependencies-update-with-circleci-github-circle/index.md @@ -5,7 +5,8 @@ remote_id: 1852752 dev_to_id: 1852752 dev_to_url: https://dev.to/jetthoughts/regular-automatic-dependencies-update-with-circleci-1ihf title: Regular automatic dependencies update with CircleCI -description: Resolving the auto-upgrade issue will allow having edge gems versions with little to no... +description: "Resolving the auto-upgrade issue will allow having edge gems versions with little to no effort. How could you achieve this with CI (specifically CircleCI)?" +seo_override: true created_at: '2024-05-14T14:18:44Z' edited_at: '2024-11-26T16:05:04Z' draft: false diff --git a/content/blog/responsive-or-adaptive-design-find-out-which-one-better-for-you-webdesign/index.md b/content/blog/responsive-or-adaptive-design-find-out-which-one-better-for-you-webdesign/index.md index 02ebd16ac..0fc4fe095 100644 --- a/content/blog/responsive-or-adaptive-design-find-out-which-one-better-for-you-webdesign/index.md +++ b/content/blog/responsive-or-adaptive-design-find-out-which-one-better-for-you-webdesign/index.md @@ -5,7 +5,8 @@ remote_id: 1877550 dev_to_id: 1877550 dev_to_url: https://dev.to/jetthoughts/responsive-or-adaptive-design-find-out-which-one-is-better-for-you-1cc7 title: Responsive or Adaptive Design? Find out which one is better for you -description: JetThoughts has launched a new project recently. Whole front-end team was set and started... +description: "JetThoughts has launched a new project recently. Whole front-end team was set and started developing the UI part." +seo_override: true created_at: '2024-06-05T05:49:07Z' edited_at: '2024-11-26T16:03:39Z' draft: false diff --git a/content/blog/revise-your-stylesheets-part-1-color-scheme-webdev-css/index.md b/content/blog/revise-your-stylesheets-part-1-color-scheme-webdev-css/index.md index 75089aa8c..28f483aeb 100644 --- a/content/blog/revise-your-stylesheets-part-1-color-scheme-webdev-css/index.md +++ b/content/blog/revise-your-stylesheets-part-1-color-scheme-webdev-css/index.md @@ -5,7 +5,8 @@ remote_id: 1880239 dev_to_id: 1880239 dev_to_url: https://dev.to/jetthoughts/revise-your-stylesheets-part-1-color-scheme-1a9k title: Revise Your Stylesheets. Part 1. Color Scheme -description: Revise Your Stylesheets. Part 1. Color Scheme Ever wonder how many colors exist in your... +description: "Ever wonder how many colors exist in your project? Do you have strict style guides kindly prepared by the design lead?" +seo_override: true created_at: '2024-06-07T10:32:47Z' edited_at: '2024-11-26T16:02:15Z' draft: false diff --git a/content/blog/reviving-defense-technology-silicon-valleys-next-chapter/index.md b/content/blog/reviving-defense-technology-silicon-valleys-next-chapter/index.md index 5e6466330..b7912c81b 100644 --- a/content/blog/reviving-defense-technology-silicon-valleys-next-chapter/index.md +++ b/content/blog/reviving-defense-technology-silicon-valleys-next-chapter/index.md @@ -5,7 +5,8 @@ remote_id: 2222412 dev_to_id: 2222412 dev_to_url: https://dev.to/jetthoughts/reviving-defense-technology-silicon-valleys-next-chapter-gej title: 'Reviving Defense Technology: Silicon Valley''s Next Chapter' -description: The U.S. has long been a leader in defense technology, but recent trends show that the defense... +description: "The U.S. has long been a leader in defense technology, but recent trends show that the defense contractors we rely on have become sluggish and inefficient." +seo_override: true date: 2025-01-18 created_at: '2025-01-18T12:22:15Z' edited_at: '2025-01-30T02:43:07Z' diff --git a/content/blog/revolutionizing-productivity-future-of-developer-tooling-in-2025/index.md b/content/blog/revolutionizing-productivity-future-of-developer-tooling-in-2025/index.md index 2959aa4fd..9c3cd71e4 100644 --- a/content/blog/revolutionizing-productivity-future-of-developer-tooling-in-2025/index.md +++ b/content/blog/revolutionizing-productivity-future-of-developer-tooling-in-2025/index.md @@ -5,7 +5,8 @@ remote_id: 2189412 dev_to_id: 2189412 dev_to_url: https://dev.to/jetthoughts/revolutionizing-productivity-the-future-of-developer-tooling-in-2025-41jj title: 'Revolutionizing Productivity: The Future of Developer Tooling in 2025' -description: Developer tooling is on the brink of a major transformation as we head into 2025. With AI taking... +description: "Developer tooling is on the brink of a major transformation as we head into 2025. With AI taking center stage, the way developers work is changing fast." +seo_override: true created_at: '2025-01-04T22:48:24Z' edited_at: '2025-01-30T02:53:10Z' date: 2025-01-04 diff --git a/content/blog/rscss-styling-css-without-losing-your-sanity/index.md b/content/blog/rscss-styling-css-without-losing-your-sanity/index.md index 54216046a..39a933421 100644 --- a/content/blog/rscss-styling-css-without-losing-your-sanity/index.md +++ b/content/blog/rscss-styling-css-without-losing-your-sanity/index.md @@ -5,7 +5,8 @@ remote_id: 1852739 dev_to_id: 1852739 dev_to_url: https://dev.to/jetthoughts/rscss-styling-css-without-losing-your-sanity-2c1a title: RSCSS. Styling CSS without losing your sanity -description: Thinking of a beautiful and grammatically correct CSS code over and over again but still wiped out... +description: "Thinking of a beautiful and grammatically correct CSS code over and over again but still wiped out with the methodology?" +seo_override: true date: 2024-05-14 created_at: '2024-05-14T14:03:11Z' edited_at: '2024-11-25T15:38:09Z' diff --git a/content/blog/ruby-on-rails-8-custom-compression-for-encrypted-data/index.md b/content/blog/ruby-on-rails-8-custom-compression-for-encrypted-data/index.md index 62f4b31f8..3c636fa6b 100644 --- a/content/blog/ruby-on-rails-8-custom-compression-for-encrypted-data/index.md +++ b/content/blog/ruby-on-rails-8-custom-compression-for-encrypted-data/index.md @@ -5,7 +5,8 @@ remote_id: 2086252 dev_to_id: 2086252 dev_to_url: https://dev.to/jetthoughts/ruby-on-rails-8-custom-compression-for-encrypted-data-48n5 title: 'Ruby on Rails 8: Custom Compression for Encrypted Data' -description: In Ruby on Rails 8, ActiveRecord's encryption features are more flexible than ever. You can now set a... +description: "In Ruby on Rails 8, ActiveRecord’s encryption features are more flexible than ever. You can now set a custom compression algorithm for encrypted attributes." +seo_override: true date: 2024-11-08 created_at: '2024-11-08T08:48:36Z' edited_at: '2024-11-25T15:42:09Z' diff --git a/content/blog/ruby-on-rails-case-study-how-jetthoughts-improved-openapplys-code-ux/index.md b/content/blog/ruby-on-rails-case-study-how-jetthoughts-improved-openapplys-code-ux/index.md index 201b83b39..ef15ce82f 100644 --- a/content/blog/ruby-on-rails-case-study-how-jetthoughts-improved-openapplys-code-ux/index.md +++ b/content/blog/ruby-on-rails-case-study-how-jetthoughts-improved-openapplys-code-ux/index.md @@ -5,7 +5,8 @@ remote_id: 2103920 dev_to_id: 2103920 dev_to_url: https://dev.to/jetthoughts/ruby-on-rails-case-study-how-jetthoughts-improved-openapplys-code-and-ux-5acc title: 'Ruby on Rails Case Study: How JetThoughts Improved OpenApply''s Code and UX' -description: OpenApply is a smart software tool that makes admissions and enrollment easier for students... +description: "OpenApply is a smart software platform that makes admissions and enrollment easier for students worldwide." +seo_override: true created_at: '2024-11-14T09:38:27Z' edited_at: '2024-11-25T15:42:19Z' draft: false diff --git a/content/blog/rubyllm-retries-timeouts-rails/cover.png b/content/blog/rubyllm-retries-timeouts-rails/cover.png new file mode 100644 index 000000000..fd24c5ec5 Binary files /dev/null and b/content/blog/rubyllm-retries-timeouts-rails/cover.png differ diff --git a/content/blog/rubyllm-retries-timeouts-rails/index.md b/content/blog/rubyllm-retries-timeouts-rails/index.md new file mode 100644 index 000000000..73ae62ebd --- /dev/null +++ b/content/blog/rubyllm-retries-timeouts-rails/index.md @@ -0,0 +1,123 @@ +--- +title: "What RubyLLM Retries, and For How Long" +description: "RubyLLM retries POSTs that Faraday would not, and honors Retry-After with no upper bound. A 429 can park a Rails request for as long as the provider says." +date: 2026-08-21 +lastmod: 2026-08-21 +draft: false +author: "JetThoughts Team" +slug: "rubyllm-retries-timeouts-rails" +keywords: "rubyllm retries, faraday retry post, llm rate limit rails, retry-after 429 ruby, rubyllm timeout" +tags: ["ruby", "rails", "ai", "rubyllm", "production"] +canonical_url: "https://jetthoughts.com/blog/rubyllm-retries-timeouts-rails/" +cover_image: cover.png +cover_image_alt: "Dark technical cover reading What RubyLLM Retries, with a low-poly ruby gem and chips for POST added to idempotent methods, three retries with jitter, and Retry-After with no ceiling." +metatags: + image: cover.png + og_title: "What RubyLLM Retries, and For How Long" + og_description: "RubyLLM retries POSTs that Faraday would not, and honors Retry-After with no upper bound. A 429 can park a Rails request for as long as the provider says." + twitter_title: "What RubyLLM Retries, and For How Long" + twitter_description: "Faraday will not retry a POST. RubyLLM adds it back, then honors Retry-After with no ceiling. Both are defensible; neither is obvious from your app code." +--- + +When a provider starts failing, two things decide what your app does. One is a line in `ruby_llm`. The other is a setting `ruby_llm` never touches. You will not find either by reading your own code. + +Here is the line, in `connection.rb`: + +```ruby +methods: Faraday::Retry::Middleware::IDEMPOTENT_METHODS + [:post], +``` + +Faraday's list is `delete get head options put`. POST is missing on purpose, because sending a POST twice can do the thing twice. `ruby_llm` puts it back, and it has no choice - every chat completion is a POST, so sticking to Faraday's list would mean never retrying a completion at all. + +## What actually triggers a retry + +Nine conditions, from `connection.rb`: + +| Kind | Conditions | +|---|---| +| Network | `Errno::ETIMEDOUT`, `Timeout::Error`, `Faraday::TimeoutError`, `Faraday::ConnectionFailed` | +| Provider | `RateLimitError`, `ServerError`, `ServiceUnavailableError`, `OverloadedError` | +| Protocol | `Faraday::RetriableResponse` - dormant, see below | + +A 400 for a bad request is not on that list, and should not be. Nor is a failed API key. Those are yours to fix, and retrying them just burns three round trips telling you so. + +The ninth one never actually fires. `Faraday::RetriableResponse` only gets raised for statuses you put in `retry_statuses`, and `ruby_llm` never sets that option, so the list is empty. It is in the code, but nothing reaches it. + +The defaults around them: + +```ruby +max_retries 3 +retry_interval 0.1 +retry_backoff_factor 2 +retry_interval_randomness 0.5 +``` + +Three retries, at roughly 0.1s, 0.2s and 0.4s, with a little jitter. Those gaps are sized for a dropped connection, and for a dropped connection they are about right. + +## The 429 case + +A 429 is on the retry list too, and a rate limit does not clear in 0.4 seconds. + +It does not have to. `faraday-retry` looks for `Retry-After` and the rate-limit reset header, takes the bigger of the two, and waits that long instead of using its own timings. A provider that says "come back in 30 seconds" gets 30 seconds. + +That is the right thing to do, and you would want a client to do it. What it does not have is an upper limit: + +```ruby +def max_interval + (self[:max_interval] ||= Float::MAX).to_f +end +``` + +`Float::MAX`. `ruby_llm` never sets `max_interval`, so the check that would give up on a very long wait can never trigger. If a provider sends back `Retry-After: 300`, that call sits there for five minutes. Then it can do it twice more. + +In a Sidekiq job, fine. In a web request, one rate-limited call can hold a worker longer than your load balancer is willing to wait. Your users get a timeout, and there is no LLM error anywhere in it to explain why. + +```mermaid +flowchart TD + A["POST to provider"] --> B["429 with
Retry-After: 300"] + B --> C["faraday-retry waits
the full 300s"] + C --> D["worker held,
LB times out first"] +``` + +## Reducing the worst case + +Start with the knob you have: + +```ruby +RubyLLM.configure do |config| + config.max_retries = 2 + # everything else stays at the gem's defaults +end +``` + +Two retries instead of three drops one attempt and one wait from the worst case. The other knob worth knowing is `request_timeout`, which `RubyLLM.configure` does expose and which defaults to **300 seconds**. It bounds how long a single attempt can hang, not how long the gem sleeps between them. + +Those two limits cover different things, and they add up. With the defaults you can get four attempts of up to 300 seconds each, plus up to three `Retry-After` waits in between. That is over half an hour in the worst case, not the five minutes one `Retry-After: 300` might suggest. + +The setting that would cap the waiting is `max_interval`, and `RubyLLM.configure` does not give you access to it. Which is really an argument for getting the call out of the web request instead of trying to tune it. + +Moving it to a job is not a free pass either. In [our own fan-out](/blog/multi-agent-llm-rails-rubyllm/), a scoring call wrapped in `with_connection` held a database connection for as long as the model took to reply, and fifteen fibers drained a pool of ten. Getting a slow call out of the request only helps if it also stops holding things it is not using. + +## The retried POST is a real trade + +Sometimes a request works on the provider's side and the response gets lost on the way back. Retrying sends it again. You pay for both, and if the call is not deterministic you can get two different answers. + +`ruby_llm` makes that trade on purpose, and for a chat completion it is the right call - a request that failed usually produced nothing to pay for. + +Worth being precise about what this retry can and cannot duplicate, because it is easy to over-read. It wraps the HTTP request only. Your tools run afterwards, in `handle_tool_calls`, once a response has actually come back. So a lost response can charge you twice for the same completion, but it cannot write your row twice or send your email twice - the first attempt never got far enough to run them. + +Duplicate side effects are a real problem, but they come from retrying the job or the agent step around this call, not from the middleware inside it. That is where idempotency keys belong. + +## What none of this covers + +Retries deal with a provider that is down. They do nothing about a provider that is up and answering differently than it did last week. That happened to us: [the model stopped answering the way it used to](/blog/debugging-rubyllm-agents-rails/), and every VCR cassette still replayed green. + +They do nothing about the bill, either. If a big prompt times out after the provider has already generated the answer, you pay for each attempt - up to four with the defaults. The `Cost` object is what shows you which kind of token grew, and that is one of the [differences between RubyLLM and langchainrb](/blog/rubyllm-vs-langchainrb-rails-llm-stack/): langchainrb counts tokens and leaves the pricing to you. + +This post is about what happens when a call fails. Limiting how many you make at once is the other half of the problem, and that lives in [fibers and Falcon](/blog/fibers-async-ruby-llm-streaming-rails/). + +All of this is from [`connection.rb`](https://github.com/crmne/ruby_llm/blob/main/lib/ruby_llm/connection.rb) in ruby_llm 1.16.0 and [faraday-retry](https://github.com/lostisland/faraday-retry) 2.4.0. Check the versions you have installed before trusting the numbers. + +One thing to confirm on your side: whether your provider actually sends `Retry-After` or a rate-limit reset header on a 429. Everything above describes what the client does with that header. Sending it is up to them. + + diff --git a/content/blog/rubyllm-retries-timeouts-rails/mermaid-5a686c11.svg b/content/blog/rubyllm-retries-timeouts-rails/mermaid-5a686c11.svg new file mode 100644 index 000000000..e85182d59 --- /dev/null +++ b/content/blog/rubyllm-retries-timeouts-rails/mermaid-5a686c11.svg @@ -0,0 +1 @@ +

POST to provider

429 with
Retry-After: 300

faraday-retry waits
the full 300s

worker held,
LB times out first

\ No newline at end of file diff --git a/content/blog/rubyllm-vs-langchainrb-rails-llm-stack/cover.png b/content/blog/rubyllm-vs-langchainrb-rails-llm-stack/cover.png new file mode 100644 index 000000000..b7ada0e59 Binary files /dev/null and b/content/blog/rubyllm-vs-langchainrb-rails-llm-stack/cover.png differ diff --git a/content/blog/rubyllm-vs-langchainrb-rails-llm-stack/index.md b/content/blog/rubyllm-vs-langchainrb-rails-llm-stack/index.md new file mode 100644 index 000000000..9aec0a237 --- /dev/null +++ b/content/blog/rubyllm-vs-langchainrb-rails-llm-stack/index.md @@ -0,0 +1,101 @@ +--- +title: "RubyLLM vs Langchainrb for Rails" +description: "RubyLLM is a model client with Rails generators. Langchainrb is retrieval plumbing. Pick by whether you query your own documents, not by provider count." +date: 2026-08-21 +lastmod: 2026-08-21 +draft: false +author: "JetThoughts Team" +slug: "rubyllm-vs-langchainrb-rails-llm-stack" +keywords: "rubyllm vs langchainrb, rails llm stack, ruby llm gem, langchainrb rails, ruby ai gem comparison" +tags: ["ruby", "rails", "ai", "rubyllm", "langchain"] +canonical_url: "https://jetthoughts.com/blog/rubyllm-vs-langchainrb-rails-llm-stack/" +cover_image: cover.png +cover_image_alt: "Dark technical cover reading RubyLLM vs Langchainrb, with a low-poly ruby gem and chips for a model client versus retrieval plumbing, nine vector stores, and cost tracking down to thinking tokens." +metatags: + image: cover.png + og_title: "RubyLLM vs Langchainrb for Rails" + og_description: "RubyLLM is a model client with Rails generators. Langchainrb is retrieval plumbing. Pick by whether you query your own documents, not by provider count." + twitter_title: "RubyLLM vs Langchainrb for Rails" + twitter_description: "RubyLLM gives you Rails generators and per-token cost. Langchainrb gives you nine vector stores. Different jobs." +--- + +`ruby_llm` 1.16.0 ships `chat.rb`, `agent.rb`, `embedding.rb`, `cost.rb`, a model registry and an ActiveRecord integration. `langchainrb` 0.19.5 ships `vectorsearch/`, `chunker/`, `loader.rb`, `output_parsers/` and `evals/`. + +`ruby_llm` talks to models. `langchainrb` finds your documents first, then hands them to a model. Work out which of those you need and the rest of the choice gets easy. + +```mermaid +flowchart TD + A["Retrieving from
your own docs?"] -->|yes| B["langchainrb"] + A -->|no| C["Persisted chats,
or a 2nd provider?"] + C -->|no| D["raw HTTP"] + C -->|yes| E["ruby_llm"] +``` + +## What each one ships + +| | ruby_llm 1.16.0 | langchainrb 0.19.5 | +|---|---|---| +| Providers shipped | 13 | 13 | +| Rails integration | generators, `acts_as`, Railtie | `langchainrb_rails`, a second gem | +| Cost in money | yes, per token class | token counts only | +| Vector search | no | 9 backends | +| Document loading + chunking | no | yes | + +There is a third option, plain HTTP, and it is not in the table because every cell would say "you write it". It gets its own section further down. + +Both ship thirteen providers, so that row will not help you choose. + +Neither one gives you upgrades for free. `langchainrb` is on 0.19.5, so it makes no promise about breaking your code. `ruby_llm` is past 1.0, but four of its minor releases changed the database schema - it ships `upgrade_to_v1_7`, `v1_9`, `v1_10` and `v1_14` generators to migrate you, and an `acts_as_legacy` shim so the old API keeps working. Expect migrations either way. + +## The Rails gap + +`ruby_llm` ships `lib/generators/ruby_llm/` with `install`, `agent`, `chat_ui`, `schema` and `tool`, plus an `acts_as` concern and a Railtie. The install generator writes five migrations and four model classes, because a persisted chat needs `Model`, `Message` and `ToolCall` records behind it. Once they exist, marking the model is two lines: + +```ruby +class Chat < ApplicationRecord + acts_as_chat +end + +chat = Chat.create!(model: "claude-sonnet-4-5") +chat.ask("Summarise this ticket") # persisted, with messages +``` + +For langchainrb you need a second gem, `langchainrb_rails`, currently on 0.1.12. It also ships four generators - `pgvector`, `pinecone`, `chroma` and `prompt` - plus an ActiveRecord hook and a Railtie. + +Now compare what those generators build. `ruby_llm` sets up a conversation. `langchainrb_rails` sets up a vector store. Each gem brought the thing it is good at into Rails, and neither one tried to do the other's job. + +## Cost tracking, by token class + +`ruby_llm`'s `Cost` object breaks spend down by token class - input, output, `cache_read`, `cache_write`, and `thinking`. Cached prompts and reasoning tokens bill at different rates from ordinary completion tokens. + +This matters when your bill goes up and you need to know why. One total only tells you that you spent more. The breakdown can tell you that a prompt you edited stopped hitting the cache. + +langchainrb counts tokens but does not price them. On the mainstream adapters you get `prompt_tokens`, `completion_tokens` and `total_tokens`, plus running totals on `Assistant`. Not on all of them, though - the Hugging Face, llama.cpp and Replicate responses never override those methods, so they inherit the base class and raise `NotImplementedError`. + +Where the counts do arrive, there is still no price list in the gem, and no separate figure for cached or thinking tokens. You add those yourself. + +## When langchainrb wins + +If you are answering questions from your own documents, langchainrb already has the parts. Loaders to read the files, chunkers to split them, output parsers, an evals module, and vector search that works with pgvector out of the box - plus eight other backends if you ever move off it. + +Pick `ruby_llm` instead and you will write the chunking and the pgvector wrapper yourself. That is a lot of work to end up with a worse version of a gem you could have installed. Our [LangChain in Ruby guide](/blog/getting-started-langchain-ruby-complete-guide/) walks through that setup. + +## When raw HTTP wins + +You are making one call, to one provider, and you do not plan to add another. A `Net::HTTP` POST to the endpoint is about fifteen lines, and there is no gem upgrade to worry about later. + +What you write yourself is the dull but necessary part: retries, parsing streamed chunks, counting tokens, and changing provider later by editing every place you call one. That is fine for a single feature. It is a bad foundation for a product. + +## Using both + +You can run both, and plenty of apps do. langchainrb finds the documents, `ruby_llm` runs the conversation and tracks what it costs. + +One rule keeps that tidy: only one gem should make the actual model call. If both are building their own requests to the same provider, you have two sets of retry rules and two streaming parsers, and when the request format changes you get to debug both. + +That kind of change is easy to miss. We moved all nine schemas in one pipeline onto a different schema library, so every request body we sent changed shape - and [all 1549 tests stayed green](/blog/debugging-rubyllm-agents-rails/), because VCR matches on method and URI, and neither of those changed. Add a second gem building its own requests and there are twice as many places for that to hide. + +Add something that scores the answers early. [Checking agent output](/blog/evaluating-rubyllm-agents-rails/) is how you find out whether a change to your retrieval helped. Without it you tweak a chunk size, read four answers, decide they look better, and ship. + +Everything above comes from reading [ruby_llm](https://github.com/crmne/ruby_llm) 1.16.0 and [langchainrb](https://github.com/patterns-ai-core/langchainrb) 0.19.5. Both move quickly, so check the version you are actually installing before you take any of these counts as current. + + diff --git a/content/blog/rubyllm-vs-langchainrb-rails-llm-stack/mermaid-3e9b9b9f.svg b/content/blog/rubyllm-vs-langchainrb-rails-llm-stack/mermaid-3e9b9b9f.svg new file mode 100644 index 000000000..c5e719bad --- /dev/null +++ b/content/blog/rubyllm-vs-langchainrb-rails-llm-stack/mermaid-3e9b9b9f.svg @@ -0,0 +1 @@ +

yes

no

no

yes

Retrieving from
your own docs?

langchainrb

Persisted chats,
or a 2nd provider?

raw HTTP

ruby_llm

\ No newline at end of file diff --git a/content/blog/sales-pre-pmf-should-be-done-by-founders/index.md b/content/blog/sales-pre-pmf-should-be-done-by-founders/index.md index 18ac91026..1b3c306a5 100644 --- a/content/blog/sales-pre-pmf-should-be-done-by-founders/index.md +++ b/content/blog/sales-pre-pmf-should-be-done-by-founders/index.md @@ -5,7 +5,8 @@ remote_id: 2178713 dev_to_id: 2178713 dev_to_url: https://dev.to/jetthoughts/sales-pre-pmf-should-be-done-by-the-founders-99l title: Sales Pre-PMF Should Be Done By The Founders -description: In the early stages of a startup, founders often find themselves at a crossroads when it comes to... +description: "In the early stages of a startup, founders often find themselves at a crossroads when it comes to sales." +seo_override: true created_at: '2024-12-28T05:16:44Z' date: 2024-12-28 edited_at: '2025-01-30T03:18:28Z' diff --git a/content/blog/self-promote-on-reddit-without-getting-banned-promotion/index.md b/content/blog/self-promote-on-reddit-without-getting-banned-promotion/index.md index a438525ee..914840c45 100644 --- a/content/blog/self-promote-on-reddit-without-getting-banned-promotion/index.md +++ b/content/blog/self-promote-on-reddit-without-getting-banned-promotion/index.md @@ -5,7 +5,8 @@ remote_id: 1880466 dev_to_id: 1880466 dev_to_url: https://dev.to/jetthoughts/self-promote-on-reddit-without-getting-banned-3pm2 title: Self-promote on Reddit without getting banned -description: We are happy to share our experience on important aspects of starting self-promoting posts on Reddit.... +description: "We are happy to share our experience on important aspects of starting self-promoting posts on Reddit. What do you need for it? What are the steps?" +seo_override: true created_at: '2024-06-07T13:31:24Z' date: 2024-06-07 edited_at: '2024-11-26T16:02:00Z' diff --git a/content/blog/services-tools-automatize-development-for-remote-teams-workflow-automation/index.md b/content/blog/services-tools-automatize-development-for-remote-teams-workflow-automation/index.md index 1596a95e9..b693ccf7f 100644 --- a/content/blog/services-tools-automatize-development-for-remote-teams-workflow-automation/index.md +++ b/content/blog/services-tools-automatize-development-for-remote-teams-workflow-automation/index.md @@ -5,7 +5,8 @@ remote_id: 1853472 dev_to_id: 1853472 dev_to_url: https://dev.to/jetthoughts/services-and-tools-to-automatize-development-for-the-remote-teams-4dg7 title: Services and tools to automatize development for the remote teams -description: We save a lot of time on development and create better products due to well-formed... +description: "We save a lot of time on development and create better products due to well-formed workflow." +seo_override: true date: 2024-05-15 created_at: '2024-05-15T06:02:44Z' edited_at: '2024-11-26T16:04:53Z' diff --git a/content/blog/simpler-way-set-content-types-in-rails-ruby/index.md b/content/blog/simpler-way-set-content-types-in-rails-ruby/index.md index bfa5e73cb..36061d326 100644 --- a/content/blog/simpler-way-set-content-types-in-rails-ruby/index.md +++ b/content/blog/simpler-way-set-content-types-in-rails-ruby/index.md @@ -5,7 +5,8 @@ remote_id: 2157631 dev_to_id: 2157631 dev_to_url: https://dev.to/jetthoughts/a-simpler-way-to-set-content-types-in-rails-n4o title: A Simpler Way to Set Content Types in Rails -description: Rails now lets you set content types with less code. This new feature makes your work easier. ... +description: "Rails now lets you set content types with less code. This new feature makes your work easier." +seo_override: true date: 2024-12-15 created_at: '2024-12-15T12:43:01Z' edited_at: '2024-12-15T13:11:19Z' diff --git a/content/blog/simplest-way-automate-delivery-of-your-react-native-application-android-reactnative/index.md b/content/blog/simplest-way-automate-delivery-of-your-react-native-application-android-reactnative/index.md index f4f901d98..b8e06d2d8 100644 --- a/content/blog/simplest-way-automate-delivery-of-your-react-native-application-android-reactnative/index.md +++ b/content/blog/simplest-way-automate-delivery-of-your-react-native-application-android-reactnative/index.md @@ -5,7 +5,8 @@ remote_id: 1877570 dev_to_id: 1877570 dev_to_url: https://dev.to/jetthoughts/the-simplest-way-to-automate-delivery-of-your-react-native-application-1e6o title: The simplest way to automate delivery of your React Native Application -description: Introduction Delivering mobile application’s updates is not as simple as in the case of a... +description: "Delivering mobile application’s updates is not as simple as in the case of a web application." +seo_override: true created_at: '2024-06-05T06:08:07Z' edited_at: '2025-02-21T11:12:25Z' date: 2024-06-05 diff --git a/content/blog/simultaneous-work-on-feature-for-frontend-backend-developers-development-startup/index.md b/content/blog/simultaneous-work-on-feature-for-frontend-backend-developers-development-startup/index.md index e2f19dcbd..9f23f9641 100644 --- a/content/blog/simultaneous-work-on-feature-for-frontend-backend-developers-development-startup/index.md +++ b/content/blog/simultaneous-work-on-feature-for-frontend-backend-developers-development-startup/index.md @@ -5,7 +5,8 @@ remote_id: 1877642 dev_to_id: 1877642 dev_to_url: https://dev.to/jetthoughts/simultaneous-work-on-the-feature-for-frontend-and-backend-developers-1463 title: Simultaneous work on the feature for frontend and backend developers -description: Simultaneous work on the feature for frontend and backend developers How do split features... +description: "How do split features on static and backend for 2 developers to prevent blockers? What no-time solution we could use for small projects?" +seo_override: true date: 2024-06-05 created_at: '2024-06-05T06:43:35Z' edited_at: '2024-11-26T16:02:54Z' diff --git a/content/blog/solid-queue-vs-sidekiq-complete-comparison/index.md b/content/blog/solid-queue-vs-sidekiq-complete-comparison/index.md index 84f0c88e0..8a08105e0 100644 --- a/content/blog/solid-queue-vs-sidekiq-complete-comparison/index.md +++ b/content/blog/solid-queue-vs-sidekiq-complete-comparison/index.md @@ -1,9 +1,9 @@ --- cover_image: "cover.png" -title: "Solid Queue vs Sidekiq: Complete Comparison Guide for Rails Background Jobs" +title: "Solid Queue vs Sidekiq: When Each Wins" slug: solid-queue-vs-sidekiq-complete-comparison date: 2025-09-26T00:00:00Z -description: "Comprehensive comparison of Solid Queue and Sidekiq for Rails background job processing. Performance benchmarks, migration guide, and decision framework included." +description: "Solid Queue runs jobs in your database and drops Redis. Sidekiq keeps Redis and its throughput. Which one fits comes down to job volume and ops appetite." summary: "Compare Solid Queue vs Sidekiq for Rails background jobs. Database-backed vs Redis-based architectures, performance trade-offs, migration strategies, and when to choose each solution." author: "JetThoughts Team" draft: false diff --git a/content/blog/speed-up-github-prs-review-of-your-react-applications-development-tutorial/index.md b/content/blog/speed-up-github-prs-review-of-your-react-applications-development-tutorial/index.md index dfa255c30..ce15194dc 100644 --- a/content/blog/speed-up-github-prs-review-of-your-react-applications-development-tutorial/index.md +++ b/content/blog/speed-up-github-prs-review-of-your-react-applications-development-tutorial/index.md @@ -5,7 +5,8 @@ remote_id: 1853466 dev_to_id: 1853466 dev_to_url: https://dev.to/jetthoughts/speed-up-github-prs-review-of-your-react-applications-4n8o title: Speed up GitHub PR’s review of your React applications -description: Would you like to speed up PR’s review of React application, when you use Jest snapshot... +description: "Would you like to speed up PR’s review of React application, when you use Jest snapshot testing?" +seo_override: true created_at: '2024-05-15T05:55:46Z' edited_at: '2024-11-26T16:04:57Z' draft: false diff --git a/content/blog/stimulus-keyboard-event-filter/index.md b/content/blog/stimulus-keyboard-event-filter/index.md index 7e5255cfc..479175585 100644 --- a/content/blog/stimulus-keyboard-event-filter/index.md +++ b/content/blog/stimulus-keyboard-event-filter/index.md @@ -5,7 +5,8 @@ remote_id: 1698810 dev_to_id: 1698810 dev_to_url: https://dev.to/jetthoughts/stimulus-keyboard-event-filter-4370 title: Stimulus Keyboard Event Filter -description: What it was In the last update of Stimulus v3.2.2, the ability to filter the event by PageDown and... +description: "In the last update of Stimulus v3.2.2, the ability to filter the event by PageDown and PageUp keys was added." +seo_override: true created_at: '2023-12-15T11:11:52Z' edited_at: '2024-11-25T15:39:41Z' draft: false diff --git a/content/blog/stop-ai-obsession-smart-way-validate-your-startup-idea-product-bootstrap/index.md b/content/blog/stop-ai-obsession-smart-way-validate-your-startup-idea-product-bootstrap/index.md index c7600b600..a2197af4e 100644 --- a/content/blog/stop-ai-obsession-smart-way-validate-your-startup-idea-product-bootstrap/index.md +++ b/content/blog/stop-ai-obsession-smart-way-validate-your-startup-idea-product-bootstrap/index.md @@ -5,7 +5,8 @@ remote_id: 2057569 dev_to_id: 2057569 dev_to_url: https://dev.to/jetthoughts/stop-the-ai-obsession-the-smart-way-to-validate-your-startup-idea-1a33 title: 'Stop the AI Obsession: The Smart Way to Validate Your Startup Idea' -description: Many founders today fixate on AI. They think adding AI to their product will draw users in droves,... +description: "Many founders today fixate on AI. They think adding AI to their product will draw users in droves, and they believe AI is the magic ingredient for success." +seo_override: true created_at: '2024-10-25T12:04:15Z' edited_at: '2024-11-25T15:31:48Z' date: 2024-10-25 diff --git a/content/blog/streamlined-startup-development-team/index.md b/content/blog/streamlined-startup-development-team/index.md index f2afca74b..af0d60cfa 100644 --- a/content/blog/streamlined-startup-development-team/index.md +++ b/content/blog/streamlined-startup-development-team/index.md @@ -5,7 +5,8 @@ remote_id: 1943717 dev_to_id: 1943717 dev_to_url: https://dev.to/jetthoughts/streamlined-startup-development-team-2of7 title: Streamlined Startup Development Team -description: Starting a new venture is hard, especially for non-tech founders. Finding the right remote developers... +description: "Starting a new venture is hard, especially for non-tech founders. Finding the right remote developers can be a big challenge." +seo_override: true created_at: '2024-08-01T13:10:25Z' edited_at: '2024-11-25T15:32:51Z' draft: false diff --git a/content/blog/tldr-move-cicd-scripts-into-automation-devops-productivity/index.md b/content/blog/tldr-move-cicd-scripts-into-automation-devops-productivity/index.md index ae1709d1d..a887328a5 100644 --- a/content/blog/tldr-move-cicd-scripts-into-automation-devops-productivity/index.md +++ b/content/blog/tldr-move-cicd-scripts-into-automation-devops-productivity/index.md @@ -5,7 +5,8 @@ remote_id: 1205643 dev_to_id: 1205643 dev_to_url: https://dev.to/jetthoughts/tldr-move-cicd-scripts-into-automation-373c title: 'TL;DR: Move CI/CD scripts into .automation' -description: Today our /bin folder has become overwhelmed with different development tools and scripts. We put... +description: "Today our /bin folder has become overwhelmed with different development tools and scripts." +seo_override: true created_at: '2022-09-28T16:13:54Z' edited_at: '2024-11-25T15:40:31Z' date: 2022-09-28 diff --git a/content/blog/tools-provide-effective-feedback-for-distributed-development-teams-productivity-startup/index.md b/content/blog/tools-provide-effective-feedback-for-distributed-development-teams-productivity-startup/index.md index a9c35f90e..8fb81552c 100644 --- a/content/blog/tools-provide-effective-feedback-for-distributed-development-teams-productivity-startup/index.md +++ b/content/blog/tools-provide-effective-feedback-for-distributed-development-teams-productivity-startup/index.md @@ -5,7 +5,8 @@ remote_id: 1853640 dev_to_id: 1853640 dev_to_url: https://dev.to/jetthoughts/tools-to-provide-effective-feedback-for-distributed-development-teams-55gm title: Tools to provide effective feedback for distributed development teams -description: How to share info in a remote async environment? What is the best way to keep everyone in the... +description: "How to share info in a remote async environment? What is the best way to keep everyone in the loop?" +seo_override: true created_at: '2024-05-15T07:58:27Z' edited_at: '2024-11-26T16:04:01Z' date: 2024-05-15 diff --git a/content/blog/top-venture-builders-in-germany-leading-innovation-across-industries-startup/index.md b/content/blog/top-venture-builders-in-germany-leading-innovation-across-industries-startup/index.md index bf9060065..b872469d9 100644 --- a/content/blog/top-venture-builders-in-germany-leading-innovation-across-industries-startup/index.md +++ b/content/blog/top-venture-builders-in-germany-leading-innovation-across-industries-startup/index.md @@ -5,7 +5,8 @@ remote_id: 1908791 dev_to_id: 1908791 dev_to_url: https://dev.to/jetthoughts/top-venture-builders-in-germany-leading-innovation-across-industries-2lbm title: 'Top Venture Builders in Germany: Leading Innovation Across Industries' -description: Fed up! Are you aiming to create a new company but you are weak from a tech position? Are you excited... +description: "Fed up! Are you aiming to create a new company but you are weak from a tech position? Are you excited to build your own software without any coding skills?" +seo_override: true created_at: '2024-07-02T11:17:59Z' date: 2024-07-02 edited_at: '2024-11-25T15:33:33Z' diff --git a/content/blog/transform-your-business-with-expert-front-end-web-development-services/index.md b/content/blog/transform-your-business-with-expert-front-end-web-development-services/index.md index 5648743fa..61c2025d6 100644 --- a/content/blog/transform-your-business-with-expert-front-end-web-development-services/index.md +++ b/content/blog/transform-your-business-with-expert-front-end-web-development-services/index.md @@ -5,7 +5,8 @@ remote_id: 2172818 dev_to_id: 2172818 dev_to_url: https://dev.to/jetthoughts/transform-your-business-with-expert-front-end-web-development-services-3j11 title: Transform Your Business with Expert Front End Web Development Services -description: In today's fast-paced digital world, having a strong online presence is key for any business. Front... +description: "In today's fast-paced digital world, having a strong online presence is key for any business." +seo_override: true created_at: '2024-12-24T12:27:02Z' edited_at: '2025-01-30T03:22:24Z' draft: false diff --git a/content/blog/trial-period-for-staff-augmentation-in-jetthoughts-startup-engagement/index.md b/content/blog/trial-period-for-staff-augmentation-in-jetthoughts-startup-engagement/index.md index 780252666..7dbb21120 100644 --- a/content/blog/trial-period-for-staff-augmentation-in-jetthoughts-startup-engagement/index.md +++ b/content/blog/trial-period-for-staff-augmentation-in-jetthoughts-startup-engagement/index.md @@ -5,7 +5,8 @@ remote_id: 1852745 dev_to_id: 1852745 dev_to_url: https://dev.to/jetthoughts/the-trial-period-for-staff-augmentation-in-jetthoughts-eff title: The Trial Period for Staff Augmentation in JetThoughts -description: We offer a 2-week trial with no obligation. So you can test everything and see how it goes with no... +description: "We offer a 2-week trial with no obligation. So you can test everything and see how it goes with no financial risks at all." +seo_override: true created_at: '2024-05-14T14:11:01Z' edited_at: '2024-11-25T15:38:04Z' date: 2024-05-14 diff --git a/content/blog/troubleshooting-ruby-build-tutorial/index.md b/content/blog/troubleshooting-ruby-build-tutorial/index.md index 42e655c93..a6f207851 100644 --- a/content/blog/troubleshooting-ruby-build-tutorial/index.md +++ b/content/blog/troubleshooting-ruby-build-tutorial/index.md @@ -5,7 +5,8 @@ remote_id: 1215921 dev_to_id: 1215921 dev_to_url: https://dev.to/jetthoughts/troubleshooting-ruby-build-fm2 title: Troubleshooting ruby build -description: Have you found problems building ruby on a local machine? How to configure your local environment... +description: "Have you found problems building ruby on a local machine? How to configure your local environment once and for all?" +seo_override: true created_at: '2022-10-10T16:14:36Z' edited_at: '2024-11-25T15:40:24Z' draft: false diff --git a/content/blog/turbocharge-your-rails-apps-with-smart/index.md b/content/blog/turbocharge-your-rails-apps-with-smart/index.md index e53ed1b19..af87bb4dc 100644 --- a/content/blog/turbocharge-your-rails-apps-with-smart/index.md +++ b/content/blog/turbocharge-your-rails-apps-with-smart/index.md @@ -5,7 +5,8 @@ remote_id: 2422049 dev_to_id: 2422049 dev_to_url: https://dev.to/jetthoughts/turbocharge-your-rails-apps-with-smart-database-indexing-2a26 title: Turbocharge Your Rails Apps with Smart Database Indexing -description: Is your Rails application running slow? Are search queries taking forever to complete? The solution... +description: "Is your Rails application running slow? Are search queries taking forever to complete? The solution might be simpler than you think." +seo_override: true date: 2025-04-21 created_at: '2025-04-21T13:19:24Z' edited_at: '2025-05-04T10:56:39Z' diff --git a/content/blog/ultimate-guide-hiring-ruby-on-rails-developers/index.md b/content/blog/ultimate-guide-hiring-ruby-on-rails-developers/index.md index 623ce84e7..450b0b05b 100644 --- a/content/blog/ultimate-guide-hiring-ruby-on-rails-developers/index.md +++ b/content/blog/ultimate-guide-hiring-ruby-on-rails-developers/index.md @@ -5,7 +5,8 @@ remote_id: 1918313 dev_to_id: 1918313 dev_to_url: https://dev.to/jetthoughts/the-ultimate-guide-to-hiring-ruby-on-rails-developers-2lbo title: The Ultimate Guide to Hiring Ruby on Rails Developers -description: Ruby on Rails (RoR) is a top choice and a pivotal tool in web development, especially for startups.... +description: "Ruby on Rails (RoR) is a top choice and a pivotal tool in web development, especially for startups." +seo_override: true created_at: '2024-07-10T09:32:48Z' edited_at: '2024-11-25T15:33:10Z' date: 2024-07-10 diff --git a/content/blog/understanding-distinctions-web-development-software-explained/index.md b/content/blog/understanding-distinctions-web-development-software-explained/index.md index f2f6d280f..d652bf01b 100644 --- a/content/blog/understanding-distinctions-web-development-software-explained/index.md +++ b/content/blog/understanding-distinctions-web-development-software-explained/index.md @@ -5,7 +5,8 @@ remote_id: 2223826 dev_to_id: 2223826 dev_to_url: https://dev.to/jetthoughts/understanding-the-distinctions-web-development-and-software-development-explained-4eh3 title: 'Understanding the Distinctions: Web Development and Software Development Explained' -description: When it comes to tech careers, web development and software development often get tossed around like... +description: "When it comes to tech careers, web development and software development often get tossed around like they're the same thing. But they're not." +seo_override: true created_at: '2025-01-19T06:45:24Z' edited_at: '2025-01-30T02:42:37Z' date: 2025-01-19 diff --git a/content/blog/understanding-fractional-positions-future-of-flexible-employment-in-2025/index.md b/content/blog/understanding-fractional-positions-future-of-flexible-employment-in-2025/index.md index 00a2cf4ae..05ad0e786 100644 --- a/content/blog/understanding-fractional-positions-future-of-flexible-employment-in-2025/index.md +++ b/content/blog/understanding-fractional-positions-future-of-flexible-employment-in-2025/index.md @@ -5,7 +5,8 @@ remote_id: 2244362 dev_to_id: 2244362 dev_to_url: https://dev.to/jetthoughts/understanding-fractional-positions-the-future-of-flexible-employment-in-2025-4c80 title: 'Understanding Fractional Positions: The Future of Flexible Employment in 2025' -description: Fractional positions are changing how we work, giving both companies and workers more flexibility. In... +description: "Fractional positions are changing how we work, giving both companies and workers more flexibility. In 2025, this trend is expected to grow even more." +seo_override: true created_at: '2025-01-27T11:32:03Z' edited_at: '2025-01-30T02:35:59Z' draft: false diff --git a/content/blog/understanding-intersection-of-software-development-web-key-insights-for/index.md b/content/blog/understanding-intersection-of-software-development-web-key-insights-for/index.md index 7aa12ffa0..3f6afe33e 100644 --- a/content/blog/understanding-intersection-of-software-development-web-key-insights-for/index.md +++ b/content/blog/understanding-intersection-of-software-development-web-key-insights-for/index.md @@ -5,7 +5,8 @@ remote_id: 2209607 dev_to_id: 2209607 dev_to_url: https://dev.to/jetthoughts/understanding-the-intersection-of-software-development-and-web-development-key-insights-for-3ked title: 'Understanding the Intersection of Software Development and Web Development: Key Insights for Aspiring Developers' -description: Hey there! So, you're thinking about diving into the world of software development and web... +description: "Hey there! So, you're thinking about diving into the world of software development and web development, huh?" +seo_override: true created_at: '2025-01-15T04:22:14Z' edited_at: '2025-01-30T02:44:57Z' draft: false diff --git a/content/blog/understanding-optimistic-pessimistic-locking-in-ruby-on-rails/index.md b/content/blog/understanding-optimistic-pessimistic-locking-in-ruby-on-rails/index.md index b45b07674..672f7d0b6 100644 --- a/content/blog/understanding-optimistic-pessimistic-locking-in-ruby-on-rails/index.md +++ b/content/blog/understanding-optimistic-pessimistic-locking-in-ruby-on-rails/index.md @@ -5,7 +5,8 @@ remote_id: 2187281 dev_to_id: 2187281 dev_to_url: https://dev.to/jetthoughts/understanding-optimistic-and-pessimistic-locking-in-ruby-on-rails-2fo title: Understanding Optimistic and Pessimistic Locking in Ruby on Rails -description: When several people touch a database simultaneously, software conflicts can occur when more than one... +description: "When several people touch a database simultaneously, software conflicts can occur when more than one user tries to update the same record." +seo_override: true created_at: '2025-01-03T10:10:53Z' edited_at: '2025-01-04T08:17:35Z' draft: false diff --git a/content/blog/unlocking-efficiency-how-internal-developer-platforms-transform-software-development-in-2025/index.md b/content/blog/unlocking-efficiency-how-internal-developer-platforms-transform-software-development-in-2025/index.md index 89b1564cf..bb83dbf90 100644 --- a/content/blog/unlocking-efficiency-how-internal-developer-platforms-transform-software-development-in-2025/index.md +++ b/content/blog/unlocking-efficiency-how-internal-developer-platforms-transform-software-development-in-2025/index.md @@ -5,7 +5,8 @@ remote_id: 2186624 dev_to_id: 2186624 dev_to_url: https://dev.to/jetthoughts/unlocking-efficiency-how-internal-developer-platforms-transform-software-development-in-2025-4okn title: 'Unlocking Efficiency: How Internal Developer Platforms Transform Software Development in 2025' -description: In 2025, software development is getting a major upgrade with internal developer platforms (IDPs).... +description: "In 2025, software development is getting a major upgrade with internal developer platforms (IDPs)." +seo_override: true created_at: '2025-01-02T21:55:13Z' edited_at: '2025-01-30T02:54:30Z' date: 2025-01-02 diff --git a/content/blog/unlocking-opportunities-best-staffing-agencies-elevate-your-career-in-2024/index.md b/content/blog/unlocking-opportunities-best-staffing-agencies-elevate-your-career-in-2024/index.md index 6e0f4c544..48871d0e9 100644 --- a/content/blog/unlocking-opportunities-best-staffing-agencies-elevate-your-career-in-2024/index.md +++ b/content/blog/unlocking-opportunities-best-staffing-agencies-elevate-your-career-in-2024/index.md @@ -5,7 +5,8 @@ remote_id: 2181720 dev_to_id: 2181720 dev_to_url: https://dev.to/jetthoughts/unlocking-opportunities-the-best-staffing-agencies-to-elevate-your-career-in-2024-31c0 title: 'Unlocking Opportunities: The Best Staffing Agencies to Elevate Your Career in 2024' -description: Looking to take your career to the next level in 2024? Staffing agencies might just be your secret... +description: "Looking to take your career to the next level in 2024? Staffing agencies might just be your secret weapon." +seo_override: true created_at: '2024-12-30T11:13:14Z' edited_at: '2025-01-30T03:15:48Z' date: 2024-12-30 diff --git a/content/blog/unlocking-opportunities-future-of-talent-manager-jobs-in-2024/index.md b/content/blog/unlocking-opportunities-future-of-talent-manager-jobs-in-2024/index.md index cea4d96ab..24c953c6f 100644 --- a/content/blog/unlocking-opportunities-future-of-talent-manager-jobs-in-2024/index.md +++ b/content/blog/unlocking-opportunities-future-of-talent-manager-jobs-in-2024/index.md @@ -5,7 +5,8 @@ remote_id: 2164821 dev_to_id: 2164821 dev_to_url: https://dev.to/jetthoughts/unlocking-opportunities-the-future-of-talent-manager-jobs-in-2024-o52 title: 'Unlocking Opportunities: The Future of Talent Manager Jobs in 2024' -description: Hey there! So, looking into the future, 2024 is shaping up to be a wild ride for talent manager jobs.... +description: "Hey there! So, looking into the future, 2024 is shaping up to be a wild ride for talent manager jobs." +seo_override: true created_at: '2024-12-19T10:10:43Z' edited_at: '2024-12-19T11:07:52Z' date: 2024-12-19 diff --git a/content/blog/unlocking-opportunities-how-marketplace-jobs-are-transforming-job-market-in-2025/index.md b/content/blog/unlocking-opportunities-how-marketplace-jobs-are-transforming-job-market-in-2025/index.md index 41c1d32f8..6b305cb26 100644 --- a/content/blog/unlocking-opportunities-how-marketplace-jobs-are-transforming-job-market-in-2025/index.md +++ b/content/blog/unlocking-opportunities-how-marketplace-jobs-are-transforming-job-market-in-2025/index.md @@ -5,7 +5,8 @@ remote_id: 2203781 dev_to_id: 2203781 dev_to_url: https://dev.to/jetthoughts/unlocking-opportunities-how-marketplace-jobs-are-transforming-the-job-market-in-2025-1dg title: 'Unlocking Opportunities: How Marketplace Jobs Are Transforming the Job Market in 2025' -description: Marketplace jobs are really shaking things up in 2025. They're not like your typical 9-to-5 gigs.... +description: "Marketplace jobs are really shaking things up in 2025. They're not like your typical 9-to-5 gigs." +seo_override: true created_at: '2025-01-13T11:23:24Z' edited_at: '2025-01-30T02:46:20Z' draft: false diff --git a/content/blog/unlocking-power-of-hexagonal-architecture-in-rails-development/index.md b/content/blog/unlocking-power-of-hexagonal-architecture-in-rails-development/index.md index bc5ca8a9f..6152cbb5b 100644 --- a/content/blog/unlocking-power-of-hexagonal-architecture-in-rails-development/index.md +++ b/content/blog/unlocking-power-of-hexagonal-architecture-in-rails-development/index.md @@ -5,7 +5,8 @@ remote_id: 2187802 dev_to_id: 2187802 dev_to_url: https://dev.to/jetthoughts/unlocking-the-power-of-hexagonal-architecture-in-rails-development-1ehh title: Unlocking the Power of Hexagonal Architecture in Rails Development -description: Last night, Fito and I watched Alistair Cockburn's Hexagonal Architecture talk from the Tech... +description: "Last night, Fito and I watched Alistair Cockburn's Hexagonal Architecture talk from the Tech Excellence Conference." +seo_override: true created_at: '2025-01-03T16:47:24Z' edited_at: '2025-01-30T02:53:46Z' draft: false diff --git a/content/blog/unlocking-secrets-of-ruby-debugging-from-basics-advanced-tools/index.md b/content/blog/unlocking-secrets-of-ruby-debugging-from-basics-advanced-tools/index.md index 5336b2f7a..ac84d8f6e 100644 --- a/content/blog/unlocking-secrets-of-ruby-debugging-from-basics-advanced-tools/index.md +++ b/content/blog/unlocking-secrets-of-ruby-debugging-from-basics-advanced-tools/index.md @@ -5,7 +5,8 @@ remote_id: 2172773 dev_to_id: 2172773 dev_to_url: https://dev.to/jetthoughts/unlocking-the-secrets-of-ruby-debugging-from-basics-to-advanced-tools-5dd6 title: 'Unlocking the Secrets of Ruby Debugging: From Basics to Advanced Tools' -description: Debugging is a critical skill for Ruby developers, and a recent blog post from the RubyMine team... +description: "Debugging is a critical skill for Ruby developers, and a recent blog post from the RubyMine team sheds light on effective debugging techniques." +seo_override: true created_at: '2024-12-24T12:12:38Z' edited_at: '2025-01-30T03:22:54Z' date: 2024-12-24 diff --git a/content/blog/unlocking-success-how-mvp-dev-transforms-your-app-development-journey/index.md b/content/blog/unlocking-success-how-mvp-dev-transforms-your-app-development-journey/index.md index d651e117a..a24f7a576 100644 --- a/content/blog/unlocking-success-how-mvp-dev-transforms-your-app-development-journey/index.md +++ b/content/blog/unlocking-success-how-mvp-dev-transforms-your-app-development-journey/index.md @@ -5,7 +5,8 @@ remote_id: 2165048 dev_to_id: 2165048 dev_to_url: https://dev.to/jetthoughts/unlocking-success-how-mvp-dev-transforms-your-app-development-journey-48ig title: 'Unlocking Success: How MVP Dev Transforms Your App Development Journey' -description: So you're thinking about building an app, huh? It's a big journey, but there's a way to make it... +description: "So you're thinking about building an app, huh? It's a big journey, but there's a way to make it smoother and smarter. Enter MVP dev." +seo_override: true created_at: '2024-12-19T11:15:06Z' edited_at: '2024-12-19T11:26:11Z' draft: false diff --git a/content/blog/unlocking-success-how-mvp-development-services-can-propel-your-startup-forward/index.md b/content/blog/unlocking-success-how-mvp-development-services-can-propel-your-startup-forward/index.md index 34020eba5..17a6cd90f 100644 --- a/content/blog/unlocking-success-how-mvp-development-services-can-propel-your-startup-forward/index.md +++ b/content/blog/unlocking-success-how-mvp-development-services-can-propel-your-startup-forward/index.md @@ -5,7 +5,8 @@ remote_id: 2202855 dev_to_id: 2202855 dev_to_url: https://dev.to/jetthoughts/unlocking-success-how-mvp-development-services-can-propel-your-startup-forward-39ak title: 'Unlocking Success: How MVP Development Services Can Propel Your Startup Forward' -description: Starting a new business is no small feat, and having a solid plan can make all the difference. One... +description: "Starting a new business is no small feat, and having a solid plan can make all the difference." +seo_override: true created_at: '2025-01-13T03:18:13Z' edited_at: '2025-01-30T02:47:00Z' date: 2025-01-13 diff --git a/content/blog/unlocking-success-how-software-engineer-can-build-thriving-business-in-2025/index.md b/content/blog/unlocking-success-how-software-engineer-can-build-thriving-business-in-2025/index.md index 816b87506..784aa5112 100644 --- a/content/blog/unlocking-success-how-software-engineer-can-build-thriving-business-in-2025/index.md +++ b/content/blog/unlocking-success-how-software-engineer-can-build-thriving-business-in-2025/index.md @@ -5,7 +5,8 @@ remote_id: 2248179 dev_to_id: 2248179 dev_to_url: https://dev.to/jetthoughts/unlocking-success-how-a-software-engineer-can-build-a-thriving-business-in-2025-6d8 title: 'Unlocking Success: How a Software Engineer Can Build a Thriving Business in 2025' -description: Thinking about starting your own business as a software engineer in 2025? You're not alone. Many are... +description: "Thinking about starting your own business as a software engineer in 2025? You're not alone. Many are turning their coding skills into successful ventures." +seo_override: true created_at: '2025-01-29T11:53:25Z' date: 2025-01-29 edited_at: '2025-01-30T02:32:25Z' diff --git a/content/blog/unlocking-success-innovative-strategies-find-employees-for-free-in-2025/index.md b/content/blog/unlocking-success-innovative-strategies-find-employees-for-free-in-2025/index.md index 87db81bd6..e58a8a6d0 100644 --- a/content/blog/unlocking-success-innovative-strategies-find-employees-for-free-in-2025/index.md +++ b/content/blog/unlocking-success-innovative-strategies-find-employees-for-free-in-2025/index.md @@ -5,7 +5,8 @@ remote_id: 2227903 dev_to_id: 2227903 dev_to_url: https://dev.to/jetthoughts/unlocking-success-innovative-strategies-to-find-employees-for-free-in-2025-n21 title: 'Unlocking Success: Innovative Strategies to Find Employees for Free in 2025' -description: Finding employees without spending a dime might seem impossible, but in 2025, it's all about... +description: "Finding employees without spending a dime might seem impossible, but in 2025, it's all about creativity and smart strategies." +seo_override: true created_at: '2025-01-20T11:28:14Z' edited_at: '2025-01-30T02:41:56Z' draft: false diff --git a/content/blog/unveiling-python-312-leap-forward-in-programming-excellence/index.md b/content/blog/unveiling-python-312-leap-forward-in-programming-excellence/index.md index 5a0fe98b0..bb83804ba 100644 --- a/content/blog/unveiling-python-312-leap-forward-in-programming-excellence/index.md +++ b/content/blog/unveiling-python-312-leap-forward-in-programming-excellence/index.md @@ -5,7 +5,8 @@ remote_id: 2167570 dev_to_id: 2167570 dev_to_url: https://dev.to/jetthoughts/unveiling-python-312-a-leap-forward-in-programming-excellence-47bb title: 'Unveiling Python 3.12: A Leap Forward in Programming Excellence' -description: The Python Software Foundation has officially released Python 3.12 on October 2, 2023, introducing a... +description: "The Python Software Foundation has officially released Python 3.12 on October 2, 2023, introducing a host of new features and performance enhancements." +seo_override: true created_at: '2024-12-20T22:58:43Z' edited_at: '2025-01-30T03:27:29Z' draft: false diff --git a/content/blog/weekly-ruby-roundup-highlights-from-4/index.md b/content/blog/weekly-ruby-roundup-highlights-from-4/index.md index 2cdb868b1..3a59add3c 100644 --- a/content/blog/weekly-ruby-roundup-highlights-from-4/index.md +++ b/content/blog/weekly-ruby-roundup-highlights-from-4/index.md @@ -5,7 +5,8 @@ remote_id: 2193530 dev_to_id: 2193530 dev_to_url: https://dev.to/jetthoughts/weekly-ruby-roundup-highlights-from-ruby-4-1435 title: 'Weekly Ruby Roundup: Highlights from Ruby #4' -description: This week in the Ruby community was bustling with activity, featuring a variety of articles and... +description: "This week in the Ruby community was bustling with activity, featuring a variety of articles and announcements that cater to developers and enthusiasts alike." +seo_override: true created_at: '2025-01-07T18:42:25Z' edited_at: '2025-01-30T02:49:57Z' draft: false diff --git a/content/blog/what-do-for-developer-when-wip-limit-reached-agile-kanban/index.md b/content/blog/what-do-for-developer-when-wip-limit-reached-agile-kanban/index.md index de8bd5845..2efde3db5 100644 --- a/content/blog/what-do-for-developer-when-wip-limit-reached-agile-kanban/index.md +++ b/content/blog/what-do-for-developer-when-wip-limit-reached-agile-kanban/index.md @@ -5,7 +5,8 @@ remote_id: 1852581 dev_to_id: 1852581 dev_to_url: https://dev.to/jetthoughts/what-to-do-for-the-developer-when-the-wip-limit-is-reached-50i title: What to do for the developer when the WIP limit is reached -description: Did you reach WIP limits and don’t know what to do? And you don’t want to procrastinate, do you? Keep... +description: "Did you reach WIP limits and don’t know what to do? And you don’t want to procrastinate, do you?" +seo_override: true created_at: '2024-05-14T11:42:29Z' date: 2024-05-14 edited_at: '2024-11-26T16:05:47Z' diff --git a/content/blog/what-do-when-you-have-big-pr-blocking-other-issues-development-productivity/index.md b/content/blog/what-do-when-you-have-big-pr-blocking-other-issues-development-productivity/index.md index 7590baac0..7f4c6bd56 100644 --- a/content/blog/what-do-when-you-have-big-pr-blocking-other-issues-development-productivity/index.md +++ b/content/blog/what-do-when-you-have-big-pr-blocking-other-issues-development-productivity/index.md @@ -5,7 +5,8 @@ remote_id: 1997076 dev_to_id: 1997076 dev_to_url: https://dev.to/jetthoughts/what-to-do-when-you-have-a-big-pr-blocking-other-issues-2cfn title: What to Do When You Have a Big PR Blocking Other Issues -description: Sometimes, despite your best efforts, you end up with a large pull request (PR) that blocks other... +description: "Sometimes, despite your best efforts, you end up with a large pull request (PR) that blocks other tasks." +seo_override: true created_at: '2024-09-11T16:24:29Z' edited_at: '2024-11-25T15:32:29Z' draft: false diff --git a/content/blog/what-founder-mode-really-means/index.md b/content/blog/what-founder-mode-really-means/index.md index 5c487c1cf..deda9aa0b 100644 --- a/content/blog/what-founder-mode-really-means/index.md +++ b/content/blog/what-founder-mode-really-means/index.md @@ -5,7 +5,8 @@ remote_id: 2242904 dev_to_id: 2242904 dev_to_url: https://dev.to/jetthoughts/what-founder-mode-really-means-1ab8 title: What Founder Mode Really Means -description: In a recent talk at a Y Combinator alumni event, Airbnb CEO Brian Chesky shared insights on the... +description: "In a recent talk at a Y Combinator alumni event, Airbnb CEO Brian Chesky shared insights on the concept of \"founder mode\"." +seo_override: true created_at: '2025-01-27T00:47:24Z' date: 2025-01-27 edited_at: '2025-01-30T02:37:12Z' diff --git a/content/blog/what-non-tech-founders-often-miss/index.md b/content/blog/what-non-tech-founders-often-miss/index.md index 7f188f01f..7d04f644b 100644 --- a/content/blog/what-non-tech-founders-often-miss/index.md +++ b/content/blog/what-non-tech-founders-often-miss/index.md @@ -5,7 +5,8 @@ remote_id: 2110985 dev_to_id: 2110985 dev_to_url: https://dev.to/jetthoughts/what-non-tech-founders-often-miss-f1k title: What Non-Tech Founders Often Miss -description: I have worked with many non-technical founders. They often make the same mistakes, which wastes time... +description: "I have worked with many non-technical founders. They often make the same mistakes, which wastes time and money. They mean well, but problems happen." +seo_override: true created_at: '2024-11-18T17:23:57Z' edited_at: '2024-12-12T12:16:29Z' date: 2024-11-18 diff --git a/content/blog/what-ruby-on-rails-middleware/index.md b/content/blog/what-ruby-on-rails-middleware/index.md index 554f10db3..5af2e9fbf 100644 --- a/content/blog/what-ruby-on-rails-middleware/index.md +++ b/content/blog/what-ruby-on-rails-middleware/index.md @@ -5,7 +5,8 @@ remote_id: 1277349 dev_to_id: 1277349 dev_to_url: https://dev.to/jetthoughts/what-is-ruby-on-rails-middleware-54hn title: What is Ruby on Rails Middleware. -description: The middleware component sits between the client and the server, processing inbound requests and... +description: "The middleware component sits between the client and the server, processing inbound requests and outbound responses." +seo_override: true created_at: '2022-11-29T17:08:51Z' edited_at: '2024-11-25T15:40:18Z' date: 2022-11-29 diff --git a/content/blog/who-blame-when-project-fails-blamegame/index.md b/content/blog/who-blame-when-project-fails-blamegame/index.md index 4572d2f3c..8884d0670 100644 --- a/content/blog/who-blame-when-project-fails-blamegame/index.md +++ b/content/blog/who-blame-when-project-fails-blamegame/index.md @@ -5,7 +5,8 @@ remote_id: 462554 dev_to_id: 462554 dev_to_url: https://dev.to/jetthoughts/who-is-to-blame-when-a-project-fails-2ahn title: Who is to blame when a project fails? -description: Large projects continue to fail, often with disastrous results for the organizations involved. Do you... +description: "Large projects continue to fail, often with disastrous results for the organizations involved. Do you know the reasons they fail and how to avoid them?" +seo_override: true created_at: '2020-09-22T07:38:55Z' date: 2020-09-22 edited_at: '2024-11-25T15:41:54Z' diff --git a/content/blog/why-assigning-tasks-directly-from-backlog-hurts-team-collaboration-efficiency-agile-startup/index.md b/content/blog/why-assigning-tasks-directly-from-backlog-hurts-team-collaboration-efficiency-agile-startup/index.md index 58bfef208..58e7d3e82 100644 --- a/content/blog/why-assigning-tasks-directly-from-backlog-hurts-team-collaboration-efficiency-agile-startup/index.md +++ b/content/blog/why-assigning-tasks-directly-from-backlog-hurts-team-collaboration-efficiency-agile-startup/index.md @@ -5,7 +5,8 @@ remote_id: 2017433 dev_to_id: 2017433 dev_to_url: https://dev.to/jetthoughts/why-assigning-tasks-directly-from-the-backlog-hurts-team-collaboration-and-efficiency-2mbm title: Why Assigning Tasks Directly from the Backlog Hurts Team Collaboration and Efficiency -description: In the fast-paced world of startups, poor task management can cripple team productivity and drain... +description: "In the fast-paced world of startups, poor task management can cripple team productivity and drain profits." +seo_override: true created_at: '2024-09-27T14:45:43Z' edited_at: '2024-11-25T15:32:08Z' date: 2024-09-27 diff --git a/content/blog/why-your-form-submission-fails-hotwire-cloudflare-missing-validation-messages-rails/index.md b/content/blog/why-your-form-submission-fails-hotwire-cloudflare-missing-validation-messages-rails/index.md index 9853d9134..55e9e80af 100644 --- a/content/blog/why-your-form-submission-fails-hotwire-cloudflare-missing-validation-messages-rails/index.md +++ b/content/blog/why-your-form-submission-fails-hotwire-cloudflare-missing-validation-messages-rails/index.md @@ -5,7 +5,8 @@ remote_id: 2024297 dev_to_id: 2024297 dev_to_url: https://dev.to/jetthoughts/why-your-form-submission-fails-hotwire-cloudflare-and-missing-validation-messages-1a3o title: 'Why Your Form Submission Fails: Hotwire/Turbo 1.x, Cloudflare, and Missing Validation Messages' -description: Recently, we encountered a bug in our application. A user reported that after submitting a form,... +description: "Recently, we encountered a bug in our application. A user reported that after submitting a form, nothing happened." +seo_override: true created_at: '2024-10-03T12:16:04Z' edited_at: '2024-11-25T15:32:00Z' draft: false diff --git a/content/blog/y-combinator-co-founder-jessica-livingston-on-beginnings-of-yc/index.md b/content/blog/y-combinator-co-founder-jessica-livingston-on-beginnings-of-yc/index.md index df1038776..c664f5824 100644 --- a/content/blog/y-combinator-co-founder-jessica-livingston-on-beginnings-of-yc/index.md +++ b/content/blog/y-combinator-co-founder-jessica-livingston-on-beginnings-of-yc/index.md @@ -5,7 +5,8 @@ remote_id: 2234058 dev_to_id: 2234058 dev_to_url: https://dev.to/jetthoughts/y-combinator-co-founder-jessica-livingston-on-the-beginnings-of-yc-3kp title: Y Combinator Co-Founder Jessica Livingston on the Beginnings of YC -description: In the early days of startup culture, there was a significant gap in funding options for... +description: "In the early days of startup culture, there was a significant gap in funding options for entrepreneurs." +seo_override: true created_at: '2025-01-22T18:37:25Z' edited_at: '2025-01-30T02:40:26Z' date: 2025-01-22 diff --git a/docs/90-99-content-strategy/strategy-analysis/90.11-voice-guide.md b/docs/90-99-content-strategy/strategy-analysis/90.11-voice-guide.md index de73a9008..11b0baf1d 100644 --- a/docs/90-99-content-strategy/strategy-analysis/90.11-voice-guide.md +++ b/docs/90-99-content-strategy/strategy-analysis/90.11-voice-guide.md @@ -47,6 +47,36 @@ statement about how the world works**, and it survived four review passes becaus scanned well. Check claims against domain knowledge FIRST, then run voice gates on what survives. +**Second worked example** (`rubyllm-vs-langchainrb`, `rubyllm-retries-timeouts`, +2026-08-21, Paul: "can we have plainer English and reduce AI"). A different family +from the one above, and the more common one in the tech stream: **an abstraction +standing where a plain word fits**. Every sentence below is grammatical, true, and +passes banned-word, em-dash and slop checks. Each one still makes the reader +translate before they can use it. + +| Shipped | Plainer | What the abstraction cost | +|---|---|---| +| "Both gems brought their own centre of gravity into Rails" | "Each gem brought the thing it is good at into Rails" | two metaphors in one clause; the reader decodes instead of reading | +| "Providers are a tie at thirteen each, so that row settles nothing" | "Both ship thirteen providers, so that row will not help you choose" | "settles nothing" hides the actual advice - do not choose on this | +| "Neither gem promises you a quiet upgrade" | "Neither one gives you upgrades for free" | "quiet" is doing work the reader has to guess at | +| "That failure is quieter than it sounds" | "That kind of change is easy to miss" | dresses a plain warning as a paradox | +| "...doubles the surface where that can happen" | "...twice as many places for that to hide" | "surface" is architecture-speak for "places" | +| "Source-true, behaviour-inert" | "It is in the code, but nothing reaches it" | precise, compressed, and unreadable at speed | +| "What you keep writing yourself is the boring layer" | "What you write yourself is the dull but necessary part" | cleft construction; the plain word order says it faster | + +The tell they share: each one is a **noun phrase doing a verb's job**. "Centre of +gravity", "the surface", "the boring layer", "settles nothing" - the sentence +gestures at a shape rather than saying what happens. Reach for the concrete verb +and the metaphor stops being necessary. + +Two rules that fall out of it, both cheap to apply: + +- If you would not use the phrase aloud explaining this to one person, it is an + abstraction. "Twice as many places for that to hide" survives that test; + "doubles the surface" does not. +- A sentence that is *clever* about a technical fact usually costs the reader + more than the fact is worth. Say the fact. + For the ICP-facing consequence - glossing every tool/acronym at first mention - see `.okf/content/voice-rules.md`. Plain English is the principle; glossing is one of its applications, not a substitute for it. @@ -287,6 +317,7 @@ These patterns are invisible at the word level but scream "AI wrote this" at the | Formulaic founder-anecdote hook | The recurring shape "A founder we'll call [NAME] [time-stamped contact]. The MVP had been live for [duration]. She'd opened it to her first cohort - [N] paying users on a [INDUSTRY] [product type] she'd been building for [period] - and [specific failure mechanic]. [N] of those [N] users hit the bug in the first [duration]. Her solo agent had built the entire app in [weekend/sprint], told her it had '[reassuring claim]', and not once mentioned [missing thing]." Reads as practitioner specificity but at this density the template is the tell. Empirically: appears in 5 of the last 5 founder-pain posts with the same beats (Priya, Marcus, Sarah). | Vary the opener shape across posts. The next 3 posts should use 3 different hook shapes - one might open on a Slack message verbatim, one on a code diff, one on a number from a CI dashboard. The "fictional founder + specific stats + 'told her X but not Y' reveal" formula is now the post's own tell. Use it once a quarter, not every post. | | Slogany reveal-twist flip | "X hadn't been Y - Z had been." / "It's not about X. It's about Y." / "X wasn't Y - it was Z." / "The original hypothesis hadn't been wrong - the questions had been." 2-sentence pivot from negation to assertion. Reads as a content-marketer punchline. Empirically: appeared 25+ times across M1-M3 (9 chapters) when the 4-persona panel ran 2026-05-28. | State the cause and effect in normal order; let the reader supply the contrast. "the hypothesis was probably right and the questions were probably broken; the real interviews confirmed both" beats "the original hypothesis hadn't been wrong - the questions had been." | | Cost-stacked tri-list opener | "A real customer interview costs you $25 to $100 in incentives, 40 minutes of calendar, and one of the 10 slots you have for this validation round." 3 parallel cost/time/count items presented as if from a workshop slide. Reads as didactic, not practitioner. | Embed the costs in prose, drop the symmetric serial-list shape, or reduce to the one or two costs that actually drive the reader's decision. "Real interview slots are scarce. You only get about 10 a round, every one took outreach to book, and a hypothetical question burns the slot." | +| Padded source list | A trailing `## Sources` block of first-party vendor links - the gem's GitHub page, its docs site, its RubyGems page - none of which backs a claim the reader could not check from the gem's name. Six such links shipped on a 2026-08-21 draft; Paul flagged them as redundant and a slop critic had called the shape a generated-text tell in the same session. The heading being available is what makes the padding easy. | A source earns its place by backing a specific claim the reader cannot otherwise verify - a file, a line, a released version. Link it inline where the claim lives. If the whole list is "here is the thing I already named", close with one sentence saying what you actually read and at which version, and drop the block. | | Cute aphoristic flourish closer | "...the whole slot produces polite noise." / "...the kind smile that costs you a year." / "...the helpful answer is the trap." / "Everything else is your mom being nice." Invented metaphor packaging a teaching point at paragraph end. Reads as marketing pull-quote, not practitioner observation. | State the concrete mechanic instead. "polite noise" → "the interviewee says 'sure, I'd use it' to be kind, you hang up thinking you got a signal, and you got nothing usable." If you cannot state the mechanic concretely, the teaching point isn't earned yet. | ### The attribution test — the one exception to negative parallelism (Paul, 2026-08-19) diff --git a/docs/projects/2510-seo-content-strategy/20-29-strategy/20.09-content-plan-revision-aug-2026.md b/docs/projects/2510-seo-content-strategy/20-29-strategy/20.09-content-plan-revision-aug-2026.md index 03f189b4a..b153394b9 100644 --- a/docs/projects/2510-seo-content-strategy/20-29-strategy/20.09-content-plan-revision-aug-2026.md +++ b/docs/projects/2510-seo-content-strategy/20-29-strategy/20.09-content-plan-revision-aug-2026.md @@ -58,6 +58,22 @@ configuration the bet prohibits. If a session has capacity for exactly one thing this week, it is keeping the LinkedIn drafts flowing + #29 the moment tooling lands - not a new post. +### ⚠ Gate overridden by Paul, 2026-08-20 - one post, on his instruction + +The gate above was checked against the live backlog before writing anything, and +it had **not** cleared. Two of the four P0 rows had moved since this section was +written: browser access was restored, and card #29 ran a third sourcing pass the +same day. It returned **zero fresh rows**, and the finding was about the venue +rather than tooling - IndieHackers' <=30-day stream is launch announcements, +success retrospectives and competitor rescue shops marketing at each other. +`backlog.md:92` now reads "19 of 25 verified, all 19 dropped - 6 unverifiable - +0 send-ready. The v1 list is closed." #12 is still blocked (`:116`). + +So outreach was *more* stalled than when this plan was written, not less. Paul +was shown that evidence and directed a post anyway. Recorded here so a later +session reads this as a deliberate override rather than a gate nobody checked - +the gate itself still stands for the next sprint, and the P0 rows are unchanged. + --- ## 2. Real capacity (plan against this, not against ambition) @@ -432,6 +448,25 @@ Why this fits the plan: AI+Ruby is inside the authority zone that already earns | R8 | Debugging RubyLLM agents in Rails (Paul, 2026-08-20) | - | First-hand material ready: the VCR method+URI matching trap (wire-format change passed a whole suite unnoticed), fakes-over-mocks, key-scrubbing regexes, the active_connection? invariant test that survives transactional pinning | | R9 | "Migrate from Puma to Falcon" (Paul, 2026-08-20) | 🔴 **COLLISION - do NOT ship as a new post** | See §12a below. Verdict: **upgrade in place**. | +**Queue status, audited 2026-08-21.** R1, R4, R5, R7, R8 are shipped; R9 became the +Falcon upgrade. R6 was always flagged as LinkedIn material. That left R2 and R3. + +- **R2 shipped** as `rubyllm-vs-langchainrb-rails-llm-stack`. The plan's constraint + held: it LINKS the LangChain guides rather than cannibalising them, because the + research showed the two gems are not competitors at all - one is a model client, + the other retrieval plumbing. +- **R3 RESCOPED, and the row is now retired.** As written ("rate limits, token + budgets, retries, streaming into Turbo") three of its four topics had been taken + by posts that shipped after the row was groomed: token budgets by + `cost-optimization-llm-applications-token-management`, and BOTH streaming and + rate limiting by `fibers-async-ruby-llm-streaming-rails`, which carries a + "Rate limiting the upstream calls" section. Writing R3 as specified would have + cannibalised two posts. Only retries were unclaimed, so R3 shipped as + `rubyllm-retries-timeouts-rails` - what ruby_llm retries, and for how long. + +The general lesson for this queue: rows decay as the cluster grows around them. +Audit the topic against `content/blog/` before drafting, not after. + ### 12a. R9 premise audit - why Puma→Falcon is an upgrade, not a new post Paul asked to schedule a Puma→Falcon migration post on 2026-08-20. The audit says diff --git a/layouts/partials/seo/enhanced-meta-tags.html b/layouts/partials/seo/enhanced-meta-tags.html index e938aeee7..37e01a140 100644 --- a/layouts/partials/seo/enhanced-meta-tags.html +++ b/layouts/partials/seo/enhanced-meta-tags.html @@ -7,19 +7,25 @@ {{- $titleSuffix := " | JetThoughts" -}} {{- $maxTitleLength := 60 -}} +{{/* Truncate EXACTLY once. The old code cut a post title to 45, appended + " | JetThoughts Blog" (19 chars) for 64, then cut the result again at + 60 - so any title of 42+ chars shipped an ellipsis AFTER the brand: + "How we configure Simplecov for our Ruby on | JetThoughts…". + 454 of 614 posts were over 45 chars on 2026-08-21, and both of the + page-1 posts we were fixing rendered that way at 0.86% CTR. + Post titles now carry no brand suffix and get the whole 60; Google + appends the site name itself when it wants one. */}} {{- if eq .Section "blog" -}} {{- if .IsSection -}} {{- $title = "Expert Software Development Blog - 540+ Articles | JT" -}} {{- else -}} - {{- $blogTitle := .Title | truncate 45 "" -}} - {{- $title = printf "%s | JetThoughts Blog" $blogTitle -}} + {{- $title = .Title | truncate $maxTitleLength "" -}} {{- end -}} {{- else -}} {{- $title = printf "%s%s" .Title $titleSuffix -}} -{{- end -}} - -{{- if gt (len $title) $maxTitleLength -}} - {{- $title = $title | truncate $maxTitleLength "…" -}} + {{- if gt (len $title) $maxTitleLength -}} + {{- $title = $title | truncate $maxTitleLength "…" -}} + {{- end -}} {{- end -}} {{ $title }}