Short Ruby Newsletter - edition 114

The one where we find out what's next for Rails and SQLite, with the new Rails demo and where Nick invites us to discover their blog via DRB

Table of Contents

Ditch the complexityβ€”Pinata’s File API gets you uploading in minutes

Pinata’s File API is designed to make your life as a developer easier. Say goodbye to time-consuming setups and configuration hassles. With just a few lines of code, you can add file uploads and retrieval to your app, freeing up time to focus on building features that matter. Whether you're building large-scale projects or a weekend app, Pinata provides fast, secure, and scalable file management.

πŸš€ Launches and discounts

Source: @ilrock__

Source: @mikker

πŸ“… Events

πŸ“… Jason Swett announced that tickets for SinCityRuby are now on sale:

Source: @JasonSwett

πŸ“… Ruby Conf invites us to share our interest in the final RailsConf in 2025:

Source: @rubyconf

 πŸ“… Greg Molnar announced they are thinking of organizing a Ruby conference in Furnas, on Sao Miguel island of the Azores. The vote ended but if you are interested you should reply to Greg and let him know about your interest:

Source: @GregMolnar

πŸ“… There are 15 meetups happening this week. Check RubyConferences.org for when and where they are happening.

πŸ‘‰ All about Code and Ruby

πŸ‘‰ David Heinemeier Hansson shared about what’s next for Rails and SQLite: making it suitable for SaaS on the scale of Basecamp:

Source: @dhh

He also shared a Rails 8: The Demo

Source: @dhh

πŸ’» Code Samples

πŸ’» Nick Schwaderer published the most exciting way to read blog posts and interact with it:

Source: @schwad_rb

οΈπŸ’» Xavier Noria shared a code sample about

οΈπŸ’» Victor Shepelev shared a code sample about implementing Elixir-like pipes in Ruby

Source: @zverok

Here is just a part of the shared script:

# https://gist.github.com/floehopper/fe59485e96c6f856a9c060b892d03f00
# ... 
hydra = Typhoeus::Hydra.new
parts = []

ranges.each_with_index do |range, index|
  request = Typhoeus::Request.new(url, headers: { "Range" => range })
  request.on_complete do |response|
    if response.success?
      file_name = "part_#{index}"
      File.write(file_name, response.body)
      parts << file_name
      puts response.headers["Content-Range"]
      puts "Downloaded part #{index}: #{response.code}"
    else
      puts "Failed to download part #{index}: #{response.code}"
    end
  end
  hydra.queue(request)
end

hydra.run

File.open(filename, "wb") do |output|
  parts.each do |part|
    File.open(part, "rb") do |input|
      IO.copy_stream(input, output)
    end
  end
end

parts.each { |part| File.delete(part) }

puts "Download complete: #{filename}"

Source: @jorgemanru

Source: @jorgemanru

πŸ’»οΈ Jeremy Smith shared a code sample about

πŸ’»οΈ RoRvsWild shared a code sample about stop waiting for Redis responses with pipelining:

οΈπŸ’» Emmanuel Hayford shared about using polynomially_longer in Rails 8:

Source: @siaw23

οΈπŸ’» Nick Schwaderer shared a code sample about using bloopsaphone:

Source: @schwad_rb

οΈπŸ’» Adrian Marin shared about optimising Appsignal when deploying on Hatchbox:

οΈπŸ’» Ruby Cademy shared a code sample about a class inheriting from self :

Source: @RubyCademy

πŸ’»οΈ Lucian Ghinda shared a code sample about

πŸ’»οΈ Kuba Suder shared a code sample about using a the skyfall gem to listen to the public stream of posts on Bluesky:

Source: @mackuba.eu

οΈπŸ’» Lukasz Reszke shared about upgrading to Rails:

Source: @lreszke

οΈπŸ’» Ruby Cademy shared a code sample about using scoping in rails:

Source: @RubyCademy

they also shared a code sample about using all_queries:

Source: @RubyCademy

οΈπŸ’» Greg Molnar shared about defining aliases in Kamal:

Source: @GregMolnar

οΈπŸ’» Ruby Cademy shared about using before? and after? in Rails to do date-related calculations:

Source: @RubyCademy

they also share a code sample about defining has_many instead scopes:

Source: @RubyCademy

πŸ“ Thinking about Code Design

πŸ“ ️Adam Fortuna shared about migrating from Next.js to Ruby on Rails + Inertia. I am adding here two posts, but you should read the entire thread:

They also shared they are using this gem grover - to generate OG images

οΈπŸ“ Jason Swett shared about service objects:

Source: @JasonSwett

Here are two replies:

Source: @inemation

Source: @lreszke

Not a directly reply to Jason post but somehow related:

οΈπŸ“ Nate Berkopec shared a reaction to the new DHH Rails video:

οΈπŸ“ Michael Koper shared about how to approach webhooks:

Here are some other ideas:

Source: @mbuckbee

οΈπŸ“ Jason Swett asked about who is practicing or not TDD:

Source: @JasonSwett

Here are some replies:

Source: @mhenrixon

Source: @bradgessler

Source: @cgenco

Jason added about learning TDD:

Source: @JasonSwett

οΈπŸ“ Nate Berkopec shared about setting the side of the database pool to 25 connections:

οΈπŸ“ Igor Alexandrov shared about simplicity in Ruby:

Here are some of the replies:

Source: @onerinas

Source: @sudobooo

πŸ’‘Around code (news, findings, books, and more - all about Ruby)

πŸ’‘ In case you are planning to join Bluesky and want to follow people from Ruby and Rails community there are a couple of starter packs available (a starter pack is a curated collection of people to follow on a specific topic):

❀️ Why Choose Ruby and Rails

❀️Michael Edlund shared about Rails 8:

❀️ Miles Woodroffe shared a code sample about Rails 8 and how they got started with Rails:

❀️ Alan Ridlehoover shared a code sample about

❀️ Dave Rooney shared a code sample about returning to Rails:

❀️ Adam Fortuna shared a code sample about switching to ActiveRecord and Rails:

❀️ Irina Nazarova shared about ehow AnyCable is powering Doximity voice and real-time features:

Source: @inazarova

❀️ Dbo shared about no build with Rails 8:

❀️ Irina Nazarova shared that StepfuTraining is built with Rails:

Source: @inazarova

🧰 Gems, Libraries, Tools and Updates

πŸ†• New Gems and Repos

🧰 Updates

🧰 37signals announced a new version of ONCE Writebook Changelog

🧰 Marius Balteanu announced a new version of Redmine:

Source: @mackuba.eu

🧰 Obie Fernandez announced a new version of raix Ruby AI eXtensions

Source: @obie

🧰 Chris Oliver announced a new version of Release v1.0.0 Β· excid3/refer

Source: @excid3

Source: @rubymine

🧰 Solius announced the release of version 4.4.0

 

πŸ‘€ Keep an eye on

Daniel DeLorme submitted a new feature request for Ruby about reserve "Ruby" toplevel module for Ruby language

🀝 Adam Wathan shared that Tailwind CSS 4.0-beta will be out on Tuesday:

Source: @adamwathan

🀝 Greg Molnar shared about fuzzing subdomains:

Source: @GregMolnar

🀝 Kelsey Hightower shared about creating:

🀝 Tobi Lutke shared

Source: @tobi

🀝 Ruby Cademy shared about their process of writing a book:

Source: @RubyCademy

More content: πŸ“š πŸ—ž 🎧 πŸŽ₯ ✍🏾

Ruby Central shared the slides from Ruby Conf about The State of RubyGems

Koichi Sasada shared their slides from RubyConf about Ractor on Ruby 3.4

πŸ—ž Newsletters

πŸ—ž Hotwire Weekly published a new edition about Week 46 - Hotwire Tips from thoughtbot, Inline Form Updates, and more!

πŸ—ž Ruby Weekly published a new article about Rails 8.0 pulls into the station

πŸ—ž Andy Croll published a new edition of One Ruby Thing about Use blank? and present? in Rails - Andy Croll

πŸ—ž Vova Dem published a new article about Any Cables Monthly #24: AnyCable speaking!

πŸ—ž Awesome Ruby Newsletter published a new article about πŸ’Ž Issue 443 - Rails 8.0: No PaaS Required

πŸ—ž Sajjad Umar published a new article about Ruby on Rails - Nov 2024 (Edition #35)

🎧 Podcasts

🎧 Indie Rails published a new podcast about IndieRails | Always Something, Never Nothing - Becky Searls

🎧 The Ruby on Rails Podcast published a new episode about Evangelizing Rails with Irina Nazarova

🎧 Jason Swett shared a podcast episode where he was invited about Jason Swett - Software Developer & Consultant - on book writing, podcasting, AI & entrepreneurship

🎧 Ode To Rails Conf published a new episode about Andrew Mason

🎧 Thoughtbot published a new podcast about The Bike Shed: 446: All about rewrites

🎧 Ruby Rogues published a new article about Kamal and Docker: Efficient Application Deployment Strategies

πŸ“½οΈ πŸŽ₯ Videos

Ruby on Rails published a new article about Rails World 2024 videos re-edited and localized in 3 languages

πŸŽ₯ Nate Hopkins published a video about working with fmt gem Intro demo of the Fmt Ruby gem

πŸŽ₯ Kaleb Lape published a new video about How I used Rails 8 and AI to create landing pages

πŸŽ₯ Yusuke Endoh published a new video about RubyConf Chicago Quine

πŸŽ₯ Dave Kimura published a new video about Action Text PDFs

πŸŽ₯ Kaleb Lape published a new video about The CHEAPEST Way to Deploy Rails 8 Apps in 2024 | Fly.io Hidden Features

✍🏾 Articles

What’s new πŸ†•

Victor Shepelev published a new article about Elixir-like pipes in Ruby (oh no not again)

Ruby Central published an article about Ruby Central’s First Annual OSS Report (2024)

Exequiel Rozas published an article about Add meta tags to a Rails application

Stan Lo published a new article about A RDoc Maintainer’s View on Ruby’s Documentation

Rails Designer published an article about Rails’ Partial Features You (didn’t) Know

Samuel Williams published a new article about Streaming Rack with Falcon

Cirdes Henrique published an article about Why Your Company Should Sponsor Events 

Davide Santangelo published an article about A Comprehensive Guide to Multithreading in Ruby

Nick Schwaderer published an article about Ruby pomodoro timer with exceptional tunes

Vladimir Dementyev published an article about t Hey, AnyCable speaking! Needing help with a Twilio-OpenAI connection?

JetThoughts published an article about Minitest Advantages: Simple Testing for Rails Projects

Tomasz Stolarczyk published an article about The difference between Turbo Streams and Turbo Frames

Lucian Ghinda published a new article about My published Ruby Content and Reflections from this week

Kevin Murphy published a new article about At RubyConf 2024

How-TOs πŸ“

Prabin Poudel published a new article about Setup RSpec Tests in Rails with Gitlab CI

Josef Strzibny published an article about Show all running apps on the server with Kamal and about Subclassing STI models in Rails

Prasanth Chaduvula published an article about Understanding inverse_of In Rails Associations

Kyrylo Silin published a new article about How to self-host Plausible Analytics with Kamal

Jon Sully published a new article about Cloudflare + Heroku SSL / Certificates Explained

Reply

or to participate.