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

๐Ÿ’ป James shared a code sample about Download file using multiple parallel Range requests

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

๐Ÿงฐ Jet Brains Ruby Mine announced a new version of Rubymine:

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

๐ŸŽง CTO Insights published a new episode about Creating a Culture of Flow to Boost Team Performance-with DHH, CTO at 37 Signals

๐ŸŽง 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

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.