<!-- mobian-agent-page publisher="dailydev" canonical="https://daily.dev/tags/ruby/best-of/2024" -->

---
title: Best Ruby posts of 2024 | daily.dev
description: The most upvoted Ruby posts of 2024, curated by the daily.dev community.
canonical: https://daily.dev/tags/ruby/best-of/2024
twitter:card: summary_large_image
twitter:site: @dailydotdev
og:url: https://daily.dev/tags/ruby/best-of/2024
og:type: website
og:site_name: daily.dev
og:title: Best Ruby posts of 2024 | daily.dev
og:description: The most upvoted Ruby posts of 2024, curated by the daily.dev community.
og:image: https://media.daily.dev/image/upload/s--VAY5ToZt--/f_auto/v1724209435/public/daily.dev%20-%20open%20graph
---

# Best of Ruby — 2024

1. 1  
[](/posts/ruby-on-rails-in-100-seconds-i2xs55jjk "Ruby on Rails in 100 Seconds")  
Video  
![Avatar of fireship](https://media.daily.dev/image/upload/s--75ndqrkr--/f_auto,t_logo/v1702882094/logos/fireship.jpg)Fireship · 2y  
Ruby on Rails in 100 Seconds  
Ruby on Rails is a powerful web framework that has been used by successful internet startups for the past 20 years. It allows developers to quickly build large-scale web applications using the Ruby programming language. Rails follows the model-view-controller (MVC) pattern and includes features like active record for modeling relationships in a SQL database. With Rails, you can easily build a full stack application by installing Ruby, Rails, and SQLite, and using the Rails CLI to scaffold your project.  
113  
8
2. 2  
[](/posts/what-backend-language-is-right-for-you--wt75ncbou "What Backend Language is Right For You?")  
Video  
![Avatar of TechWithTim](https://media.daily.dev/image/upload/s--6vVIDfU0--/f_auto/v1711726146/logos/TechWithTim)Tech With Tim · 2y  
What Backend Language is Right For You?  
This post discusses different backend languages including Java, Python, JavaScript, Ruby, PHP, C, Go, and Rust, highlighting their strengths and use cases.  
65  
15
3. 3  
[](/posts/obsessive-problem-solving-followed-by-aimless-wandering-97uqc1xkc "Obsessive problem solving followed by aimless wandering")  
Article  
![Avatar of dhh](https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/b7c11ef4e9954addbc4857515fd21609)David Heinemeier Hansson · 2y  
Obsessive problem solving followed by aimless wandering  
The author reflects on the transition from using Apple products to a Linux-based system, highlighting recent achievements such as adopting Rails 8 with Propshaft and the authentication generator. Emphasizing the importance of sprints for significant progress and keeping an open mind for new opportunities, the narrative underscores their company's journey towards improved development practices and innovative solutions like Docker and the Solid Trifecta.  
57  
2
4. 4  
[](/posts/renuo-hotsheet-manage-your-database-with-a-simple-and-familiar-web-interface-2ssihy9ct "renuo/hotsheet: Manage your database with a simple and familiar web interface")  
Article  
![Avatar of rubyflow](https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/a21aaa8bcbbf448193a016895c90a0e1)Ruby Flow · 2y  
renuo/hotsheet: Manage your database with a simple and familiar web interface  
This gem, Hotsheet, allows you to manage your database through a simple web interface without needing to use the Rails console. It offers inline editing for database records and provides controlled access to admin users. Installation involves adding it to your Gemfile and configuring it in an initializer file to specify which models and attributes to manage.  
56  
3
5. 5  
[](/posts/mawise-bookshelf-3d-animated-bookshelf-for-ebooks-vwpn3ag0n "mawise/bookshelf: 3D animated bookshelf for ebooks")  
Article  
![Avatar of hn](https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/hn)Hacker News · 2y  
mawise/bookshelf: 3D animated bookshelf for ebooks  
A 3D bookshelf project helps you browse ebooks by pulling metadata and cover art from a Calibre library. It adjusts book dimensions based on cover image aspect ratios and page-count data, with the Calibre 'comment' metadata shown as back-cover text. The app can be configured to use variable widths for books based on page counts using a Calibre plugin.  
49  
2
6. 6  
[](/posts/kwatch-git-improved-much-better-command-interface-for-git-cwfxpuiy7 "kwatch/git-improved: Much better command interface for Git")  
Article  
![Avatar of rubyflow](https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/a21aaa8bcbbf448193a016895c90a0e1)Ruby Flow · 2y  
kwatch/git-improved: Much better command interface for Git  
GitImproved is a wrapper script for the Git command, offering an intuitive and easy-to-understand interface with categorized commands. It simplifies common Git tasks with shorter, more memorable commands. GitImproved is built using the Benry-CmdApp framework and requires Ruby >= 2.3\. Installation involves a simple gem command.  
42  
3
7. 7  
[](/posts/dhh-in-his-final-form-xv51amihk "DHH In His Final Form")  
Video  
![Avatar of primeagen](https://media.daily.dev/image/upload/s--J5-GjDeo--/f_auto/v1704628081/logos/primeagen.jpg)ThePrimeTime · 2y  
DHH In His Final Form  
DHH explains his choice of Ruby as a programming language, motivated by its aesthetics, simplicity, and metaprogramming capabilities. He highlights the joy and productivity it brings him, contrasting it with other languages he has used. Additionally, he touches on the philosophy of open source and meritocracy in software development, emphasizing the importance of competence and contributions over popularity.  
42  
2
8. 8  
[](/posts/visions-of-the-future-lxfv62jqu "Visions of the future")  
Article  
![Avatar of dhh](https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/b7c11ef4e9954addbc4857515fd21609)David Heinemeier Hansson · 2y  
Visions of the future  
Discovering the future early and undistributed is an exciting feeling. The author has felt this way about various things in the past like Linux, Mac, and Ruby. They believe in taking risks and being early on ideas.  
34
9. 9  
[](/posts/optimize-for-bio-cores-first-silicon-cores-second-mlgfum5cf "Optimize for bio cores first, silicon cores second")  
Article  
![Avatar of dhh](https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/b7c11ef4e9954addbc4857515fd21609)David Heinemeier Hansson · 2y  
Optimize for bio cores first, silicon cores second  
Ruby on Rails has been championed for its ability to enhance programmer productivity by trading off compute time, which has become increasingly economical compared to programmer costs. The focus should be on optimizing the expensive biological cores (programmers) over the cheaper silicon cores (computers). While optimizing software for maximum hardware efficiency can be admirable, it often doesn't make economic sense for most business software, where high-level languages and tools can drastically improve productivity and profitability.  
32  
6
10. 10  
[](/posts/we-re-moving-continuous-integration-back-to-developer-machines-5hrylmgv6 "We're moving continuous integration back to developer machines")  
Article  
![Avatar of dhh](https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/b7c11ef4e9954addbc4857515fd21609)David Heinemeier Hansson · 2y  
We're moving continuous integration back to developer machines  
The post discusses the idea of moving continuous integration back to developer machines and the advantages of running tests locally.  
28  
3
11. 11  
[](/posts/yes-ruby-is-fast-but--hcrdxjvtq "Yes, Ruby is fast, but…")  
Article  
![Avatar of devto](https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/devto)DEV · 2y  
Yes, Ruby is fast, but…  
The post discusses the performance of Ruby's YJIT, compares Crystal's performance to Ruby and Python, and highlights the benefits of integrating Crystal code into Ruby.  
19
12. 12  
[](/posts/wrap-your-dependencies-hc1fcoioc "Wrap your dependencies")  
Article  
![Avatar of thoughbot](https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/9fe12feb57f944a29ff63a79e350081a)thoughbot · 2y  
Wrap your dependencies  
Using third-party libraries and tools can speed up development, but wrapping them in functions, modules, or classes can make your code more maintainable and flexible. Wrapping allows for easier updates, consistent interfaces, and effective error handling. Examples include sanitizing HTML across different environments and using HTTP clients with consistent error handling.  
18
13. 13  
[](/posts/ruby-on-rails-is-great-for-ai-whb61qjc8 "Ruby on Rails is great for AI")  
Article  
![Avatar of thoughbot](https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/9fe12feb57f944a29ff63a79e350081a)thoughbot · 2y  
Ruby on Rails is great for AI  
Many AI projects today utilize third-party or open-source services through HTTP API calls, a task Ruby excels at with its wide range of available gems. Developers might mistakenly use Python for AI tasks in their Rails apps, adding unnecessary complexity and cost. While Python is better suited for creating custom machine learning models, Ruby's capabilities can often meet the needs more efficiently.  
17
14. 14  
[](/posts/in-browser-code-playgrounds-6r9v8fdrn "In-browser code playgrounds")  
Article  
![Avatar of hn](https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/hn)Hacker News · 3y  
In-browser code playgrounds  
Explore the world of in-browser code playgrounds with WASI-powered sandboxes. Run code snippets entirely in the browser, with no server involvement. Discover advanced features like templates and code cells. Switch between native browser playgrounds, WASI-powered playgrounds, and server-side playgrounds.  
16
15. 15  
[](/posts/unlock-your-web-development-potential-with-the-odin-project-comprehensive-free-courses-to-start-you-soenlllim "Unlock Your Web Development Potential with The Odin Project: Comprehensive Free Courses to Start Your Coding Journey")  
Article  
![Avatar of devsquad](https://media.daily.dev/image/upload/s--3BoAETXw--/f_auto/v1717993214/squads/8a09782e-202a-450f-afda-d4dd3ae97589)Dev Squad · 2y  
Unlock Your Web Development Potential with The Odin Project: Comprehensive Free Courses to Start Your Coding Journey  
The Odin Project offers free, comprehensive courses designed to guide learners from beginners to proficient web developers. Courses include foundational topics like HTML, CSS, Git, and JavaScript; full-stack development with Ruby on Rails and JavaScript; and specialized electives. Each course is hands-on, helping learners build a portfolio of projects to showcase their skills.  
16
16. 16  
[](/posts/jupyter-notebook-viewer-1dpngfgc5 "Jupyter Notebook Viewer")  
Article  
![Avatar of hn](https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/hn)Hacker News · 2y  
Jupyter Notebook Viewer  
IRuby provides a powerful web notebook interface for Ruby, allowing for an in-browser REPL loop with additional features. It supports displaying various data types, including text, images, LATEX, and HTML, and can automatically use Pry if available. IRuby can also render Gnuplot and Rubyvis plots inline.  
12
17. 17  
[](/posts/create-a-qr-code-with-a-logo-am25vxljb "Create a QR Code with a Logo")  
Article  
![Avatar of rubyflow](https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/a21aaa8bcbbf448193a016895c90a0e1)Ruby Flow · 2y  
Create a QR Code with a Logo  
Learn how to create a custom QR code with a logo using Ruby on Rails. This tutorial walks you through setting up a simple app, using MiniMagick and RQRCode to generate and process images, including Active Storage for uploading attachments. The process includes generating a QR code, adding a logo, and combining images to create a branded QR code.  
12  
2
18. 18  
[](/posts/quick-intro-to-ruby-endless-method-oz915rikm "Quick Intro to Ruby Endless Method")  
Article  
![Avatar of allaboutcoding](https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/68eb736adb9a4e519075ffaacd7c5d88)Random Thoughts about Building Software · 2y  
Quick Intro to Ruby Endless Method  
The endless method in Ruby is a single-expression method introduced in version 3.0\. It can be used to improve code structure and readability by giving a good name to a statement. The endless method is cheap and does not add more lines of code to the file.  
11
19. 19  
[](/posts/ronin-rb-ronin-app-a-local-web-interface-for-ronin--fdqdilyuf "ronin-rb/ronin-app: A local web interface for Ronin.")  
Article  
![Avatar of rubyflow](https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/a21aaa8bcbbf448193a016895c90a0e1)Ruby Flow · 2y  
ronin-rb/ronin-app: A local web interface for Ronin.  
ronin-app is a local web application designed to provide a web interface for exploring and managing the Ronin suite, including ronin-support, ronin-repos, ronin-db, ronin-payloads, and ronin-exploits. It supports automating various tools like nmap, masscan, and ronin-web-spider, along with importing their results into the Ronin database. The app has a small memory footprint and fast response time. Prerequisites include libsqlite3, Redis, nmap, masscan, and Ruby 3.1.0 or higher. It can be run locally or using docker-compose.  
10

[See all Ruby archives](/tags/ruby/best-of)

```json
{"@context":"https://schema.org","@graph":[{"@type":"Organization","@id":"https://daily.dev/#organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180},"sameAs":["https://twitter.com/dailydotdev","https://github.com/dailydotdev","https://www.linkedin.com/company/daily-dev-ltd"]},{"@type":"WebSite","@id":"https://daily.dev/#website","url":"https://daily.dev","name":"daily.dev","publisher":{"@id":"https://daily.dev/#organization"},"potentialAction":{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https://daily.dev/search?q={search_term_string}"},"query-input":"required name=search_term_string"}}]}
{"@context":"https://schema.org","@graph":[{"@type":"CollectionPage","@id":"https://daily.dev/tags/ruby/best-of/2024#page","url":"https://daily.dev/tags/ruby/best-of/2024","name":"Best Ruby Posts of 2024","description":"The most upvoted Ruby posts of 2024, curated by the daily.dev community.","isPartOf":{"@type":"WebSite","url":"https://daily.dev"}},{"@type":"ItemList","@id":"https://daily.dev/tags/ruby/best-of/2024#items","numberOfItems":19,"itemListElement":[{"@type":"ListItem","position":1,"url":"https://daily.dev/posts/ruby-on-rails-in-100-seconds-i2xs55jjk","name":"Ruby on Rails in 100 Seconds"},{"@type":"ListItem","position":2,"url":"https://daily.dev/posts/what-backend-language-is-right-for-you--wt75ncbou","name":"What Backend Language is Right For You?"},{"@type":"ListItem","position":3,"url":"https://daily.dev/posts/obsessive-problem-solving-followed-by-aimless-wandering-97uqc1xkc","name":"Obsessive problem solving followed by aimless wandering"},{"@type":"ListItem","position":4,"url":"https://daily.dev/posts/renuo-hotsheet-manage-your-database-with-a-simple-and-familiar-web-interface-2ssihy9ct","name":"renuo/hotsheet: Manage your database with a simple and familiar web interface"},{"@type":"ListItem","position":5,"url":"https://daily.dev/posts/mawise-bookshelf-3d-animated-bookshelf-for-ebooks-vwpn3ag0n","name":"mawise/bookshelf: 3D animated bookshelf for ebooks"},{"@type":"ListItem","position":6,"url":"https://daily.dev/posts/kwatch-git-improved-much-better-command-interface-for-git-cwfxpuiy7","name":"kwatch/git-improved: Much better command interface for Git"},{"@type":"ListItem","position":7,"url":"https://daily.dev/posts/dhh-in-his-final-form-xv51amihk","name":"DHH In His Final Form"},{"@type":"ListItem","position":8,"url":"https://daily.dev/posts/visions-of-the-future-lxfv62jqu","name":"Visions of the future"},{"@type":"ListItem","position":9,"url":"https://daily.dev/posts/optimize-for-bio-cores-first-silicon-cores-second-mlgfum5cf","name":"Optimize for bio cores first, silicon cores second"},{"@type":"ListItem","position":10,"url":"https://daily.dev/posts/we-re-moving-continuous-integration-back-to-developer-machines-5hrylmgv6","name":"We're moving continuous integration back to developer machines"},{"@type":"ListItem","position":11,"url":"https://daily.dev/posts/yes-ruby-is-fast-but--hcrdxjvtq","name":"Yes, Ruby is fast, but…"},{"@type":"ListItem","position":12,"url":"https://daily.dev/posts/wrap-your-dependencies-hc1fcoioc","name":"Wrap your dependencies"},{"@type":"ListItem","position":13,"url":"https://daily.dev/posts/ruby-on-rails-is-great-for-ai-whb61qjc8","name":"Ruby on Rails is great for AI"},{"@type":"ListItem","position":14,"url":"https://daily.dev/posts/in-browser-code-playgrounds-6r9v8fdrn","name":"In-browser code playgrounds"},{"@type":"ListItem","position":15,"url":"https://daily.dev/posts/unlock-your-web-development-potential-with-the-odin-project-comprehensive-free-courses-to-start-you-soenlllim","name":"Unlock Your Web Development Potential with The Odin Project: Comprehensive Free Courses to Start Your Coding Journey"},{"@type":"ListItem","position":16,"url":"https://daily.dev/posts/jupyter-notebook-viewer-1dpngfgc5","name":"Jupyter Notebook Viewer"},{"@type":"ListItem","position":17,"url":"https://daily.dev/posts/create-a-qr-code-with-a-logo-am25vxljb","name":"Create a QR Code with a Logo"},{"@type":"ListItem","position":18,"url":"https://daily.dev/posts/quick-intro-to-ruby-endless-method-oz915rikm","name":"Quick Intro to Ruby Endless Method"},{"@type":"ListItem","position":19,"url":"https://daily.dev/posts/ronin-rb-ronin-app-a-local-web-interface-for-ronin--fdqdilyuf","name":"ronin-rb/ronin-app: A local web interface for Ronin."}]},{"@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https://daily.dev"},{"@type":"ListItem","position":2,"name":"Tags","item":"https://daily.dev/tags"},{"@type":"ListItem","position":3,"name":"Ruby","item":"https://daily.dev/tags/ruby"},{"@type":"ListItem","position":4,"name":"Best of","item":"https://daily.dev/tags/ruby/best-of"},{"@type":"ListItem","position":5,"name":"2024"}]}]}
```

