# Turbo

Published articles for Turbo.

This is one page of public article previews, not the complete archive. Follow Next page to continue. Summaries are not the original full articles.

## The joy of Inertia Rails: painting your own with 50 happy little lines

DevFeed: [The joy of Inertia Rails: painting your own with 50 happy little lines](<https://devfeed.tech/articles/the-joy-of-inertia-rails-painting-your-own-with-50-happy-little-lines-19791.md>)

Original publisher: [Read original article](<https://evilmartians.com/chronicles/the-joy-of-inertia-rails-painting-your-own-with-50-happy-little-lines>)

Author: Travis Turner (richardturner@evilmartians.com)

Published: 2026-07-14T00:00:00Z

Content type: tutorial

Language: en

Sources: [Evil Martians](<https://devfeed.tech/sources/evil-martians.md>)

Topics: [Rails](<https://devfeed.tech/topics/rails.md>), [Single-page application (SPA)](<https://devfeed.tech/topics/spa.md>), [React](<https://devfeed.tech/topics/react.md>), [JavaScript](<https://devfeed.tech/topics/javascript.md>), [Web Development](<https://devfeed.tech/topics/web-development.md>)

Tags: [hotwire](<https://devfeed.tech/tags/hotwire.md>), [javascript](<https://devfeed.tech/tags/javascript.md>), [open-source](<https://devfeed.tech/tags/open-source.md>), [rails](<https://devfeed.tech/tags/rails.md>), [react](<https://devfeed.tech/tags/react.md>), [turbo](<https://devfeed.tech/tags/turbo.md>)

### AI overview

This tutorial rebuilds the Inertia Rails protocol on a real Rails app using a 50-line React client and a 16-line Rails renderer. It explains how rendering JSON instead of HTML on later visits connects server-owned navigation with a frontend component model, and audits what the official gem adds.

### Source excerpt

Inertia is Turbolinks with one twist: render JSON instead of HTML on the second visit. We rebuild the whole protocol on a real Rails app with a 50-line client and a 16-line server, then audit what the real gem adds on top.

## Alta Labs releases IpSec "Turbo"

DevFeed: [Alta Labs releases IpSec "Turbo"](<https://devfeed.tech/articles/alta-labs-releases-ipsec-turbo-40180.md>)

Original publisher: [Read original article](<https://blog.j2sw.com/resources/alta-labs-releases-ipsec-turbo/>)

Author: j2sw

Published: 2026-06-12T17:00:05Z

Content type: release

Language: en

Sources: [Justin Wilson (j2sw)](<https://devfeed.tech/sources/justin-wilson-j2sw.md>)

Topics: [releases](<https://devfeed.tech/topics/releases.md>), [Virtual Private Network](<https://devfeed.tech/topics/vpn.md>), [Hardware](<https://devfeed.tech/topics/hardware.md>)

Tags: [2026](<https://devfeed.tech/tags/2026.md>), [alta-labs](<https://devfeed.tech/tags/alta-labs.md>), [firmware](<https://devfeed.tech/tags/firmware.md>), [hardware](<https://devfeed.tech/tags/hardware.md>), [ipsec](<https://devfeed.tech/tags/ipsec.md>), [network-engineering-resources](<https://devfeed.tech/tags/network-engineering-resources.md>), [releases](<https://devfeed.tech/tags/releases.md>), [turbo](<https://devfeed.tech/tags/turbo.md>), [vpn](<https://devfeed.tech/tags/vpn.md>)

### AI overview

Alta Labs released firmware version 1.5a on June 3, 2026, adding hardware-accelerated IPsec "turbo" and reporting near-gigabit VPN speeds.

### Source excerpt

1.5a Released on 06/03/2026 https://forum.alta.inc/t/route10-firmware-1-5a-released/6754 The post Alta Labs releases IpSec "Turbo" appeared first on Justin Wilson (j2sw).

## Persisting nested form attribute indexes through Turbo updates

DevFeed: [Persisting nested form attribute indexes through Turbo updates](<https://devfeed.tech/articles/persisting-nested-form-attribute-indexes-through-turbo-updates-30000.md>)

Original publisher: [Read original article](<https://engineering.freeagent.com/2026/01/08/persisting-nested-form-attribute-indexes-through-turbo-updates/>)

Author: georgebaker

Published: 2026-01-08T12:57:43Z

Content type: article

Language: en

Sources: [FreeAgent](<https://devfeed.tech/sources/freeagent.md>)

Topics: [Ruby on Rails](<https://devfeed.tech/topics/ruby-on-rails.md>), [Forms](<https://devfeed.tech/topics/forms.md>), [JavaScript](<https://devfeed.tech/topics/javascript.md>), [web applications](<https://devfeed.tech/topics/web-applications.md>)

Tags: [forms](<https://devfeed.tech/tags/forms.md>), [html](<https://devfeed.tech/tags/html.md>), [javascript](<https://devfeed.tech/tags/javascript.md>), [rails](<https://devfeed.tech/tags/rails.md>), [ruby](<https://devfeed.tech/tags/ruby.md>), [ruby-on-rails](<https://devfeed.tech/tags/ruby-on-rails.md>), [server-side-rendering](<https://devfeed.tech/tags/server-side-rendering.md>), [software-engineering](<https://devfeed.tech/tags/software-engineering.md>), [turbo](<https://devfeed.tech/tags/turbo.md>), [uncategorized](<https://devfeed.tech/tags/uncategorized.md>)

### AI overview

This article examines a problem with maintaining nested form attribute indexes when Turbo Streams update part of a Ruby on Rails form. It explains how indexes are generated during server rendering and in browser-side JavaScript, and why introducing server-side Turbo Stream rendering creates additional complexity.

### Source excerpt

Introduction We recently encountered an interesting problem when using Turbo Streams to update part of a complex nested form in FreeAgent's main Ruby on Rails web application. For those unfamiliar, nested forms allow a user to enter data relating to both a main parent object and its associated objects. This could be, for example, a [...]

## Building a (Very) Simple Responsive Search with Rails & Stimulus

DevFeed: [Building a (Very) Simple Responsive Search with Rails & Stimulus](<https://devfeed.tech/articles/building-a-very-simple-responsive-search-with-rails-stimulus-20113.md>)

Original publisher: [Read original article](<https://hashrocket.com/blog/posts/building-a-simple-search-with-rails-stimulus>)

Author: Jack Rosa

Published: 2025-12-09T14:00:00Z

Content type: tutorial

Language: en

Sources: [Hashrocket](<https://devfeed.tech/sources/hashrocket.md>)

Topics: [Rails](<https://devfeed.tech/topics/rails.md>), [Stimulus](<https://devfeed.tech/topics/stimulus.md>), [Framework](<https://devfeed.tech/topics/framework.md>)

Tags: [building](<https://devfeed.tech/tags/building.md>), [hotwire](<https://devfeed.tech/tags/hotwire.md>), [rails](<https://devfeed.tech/tags/rails.md>), [search](<https://devfeed.tech/tags/search.md>), [side-project](<https://devfeed.tech/tags/side-project.md>), [stimulus](<https://devfeed.tech/tags/stimulus.md>), [turbo](<https://devfeed.tech/tags/turbo.md>)

### AI overview

A tutorial for building a responsive search form with Rails and Stimulus. It demonstrates debounced input submission, a clear-input button, and updating search results inside a Turbo Frame without a full-page reload.

### Source excerpt

Here's a simple and responsive search form I put together for a recent side project, using Hotwire's Stimulus framework and Rails with Turbo. The Form Here's how the search input looks. It's a simple search form connected to a Stimulus controller. The input triggers the search function upon every input event. The debounce logic occurs in the Stimulus controller to make sure not too many requests are made to the server: <%= form_with url: items_path, method: :get, data: { controller: "search", turbo_frame: "items_list" } do |f| %> <%= f.text_field :query, placeholder: "Search...", data: { search_target: "input", action: "input->search#search" } %> <button type="button" class="hidden" data-search-target="clearButton" data-action="click->search#clear"> x </button> <% end %> There's an additional feature here: a button which appears in the search field whenever the field has a value. The button has a data-action attribute pointing to the clear action. If the button is clicked, the input value is cleared out. The Stimulus Controller All we need to do here is submit the form with a debounce timer, handle the action for clicking the clear input button, and handle hiding the clear button if the input field has a value or not. export default class extends Controller { static targets = ["input", "clearButton"] connect() { this.toggleClear() } search() { this.toggleClear() clearTimeout(this.timeout) this.timeout = setTimeout(() => { this.element.requestSubmit() }, 300) } clear() { this.inputTarget.value = "" this.toggleClear() this.element.requestSubmit() } toggleClear() { if (this.inputTarget.value.length > 0) { this.clearButtonTarget.classList.remove("hidden") } else { this.clearButtonTarget.classList.add("hidden") } } } The Turbo Frame You'll notice the form targets an items_list turbo frame, which contains your search results in the view. When the Stimulus controller submits the form, the content inside this frame gets replaced with the new search results. This is a pretty

## Streaming LLM Responses with Rails: SSE vs. Turbo Streams

DevFeed: [Streaming LLM Responses with Rails: SSE vs. Turbo Streams](<https://devfeed.tech/articles/streaming-llm-responses-with-rails-sse-vs-turbo-streams-33533.md>)

Original publisher: [Read original article](<https://www.aha.io/engineering/articles/streaming-llm-responses-rails-sse-turbo-streams>)

Published: 2025-04-30T00:00:00Z

Content type: tutorial

Language: en

Sources: [Aha! Engineering Blog](<https://devfeed.tech/sources/aha-engineering-blog.md>)

Topics: [Rails](<https://devfeed.tech/topics/rails.md>), [Streaming](<https://devfeed.tech/topics/streaming.md>), [Large Language Model](<https://devfeed.tech/topics/llm.md>), [OpenAI](<https://devfeed.tech/topics/openai.md>)

Tags: [llm](<https://devfeed.tech/tags/llm.md>), [rails](<https://devfeed.tech/tags/rails.md>), [sse](<https://devfeed.tech/tags/sse.md>), [streaming](<https://devfeed.tech/tags/streaming.md>), [turbo](<https://devfeed.tech/tags/turbo.md>)

### AI overview

A tutorial on streaming large language model responses in Rails applications. It compares server-sent events and Turbo Streams, explains how SSE connections and events work, and discusses implementation approaches for a demo chat application.

### Source excerpt

In the world of Rails development, integrating large language models (LLMs) like OpenAI's GPT has become increasingly common. One challenge developers face is streaming these responses efficiently to provide a smooth user experience. This post will

## Low Power Mode for Mac laptops: making the case again

DevFeed: [Low Power Mode for Mac laptops: making the case again](<https://devfeed.tech/articles/low-power-mode-for-mac-laptops-making-the-case-again-38586.md>)

Original publisher: [Read original article](<https://marco.org/2020/01/13/macos-low-power-mode-redux>)

Author: Marco Arment

Published: 2020-01-14T01:21:06Z

Content type: opinion

Language: en

Sources: [Marco.org](<https://devfeed.tech/sources/marco-org.md>)

Topics: [macOS](<https://devfeed.tech/topics/macos.md>), [Hardware](<https://devfeed.tech/topics/hardware.md>), [intel](<https://devfeed.tech/topics/intel.md>), [cpu](<https://devfeed.tech/topics/cpu.md>)

Tags: [apple](<https://devfeed.tech/tags/apple.md>), [battery](<https://devfeed.tech/tags/battery.md>), [cpu](<https://devfeed.tech/tags/cpu.md>), [geekbench](<https://devfeed.tech/tags/geekbench.md>), [heat](<https://devfeed.tech/tags/heat.md>), [intel](<https://devfeed.tech/tags/intel.md>), [laptops](<https://devfeed.tech/tags/laptops.md>), [low-power](<https://devfeed.tech/tags/low-power.md>), [mac](<https://devfeed.tech/tags/mac.md>), [macos](<https://devfeed.tech/tags/macos.md>), [performance](<https://devfeed.tech/tags/performance.md>), [power](<https://devfeed.tech/tags/power.md>), [turbo](<https://devfeed.tech/tags/turbo.md>)

### AI overview

The article argues that Mac laptops need a macOS Low Power Mode similar to the feature on iOS. It presents disabling Intel Turbo Boost as a practical workaround and reports testing on a 16-inch MacBook Pro showing lower peak CPU power consumption and temperature, quieter fans, and reduced heat, with performance trade-offs in some workloads.

### Source excerpt

In light of today's rumor that a Pro Mode may be coming that seems to offer benefits in the opposite direction,1 I wanted to re-make the case for a Low Power Mode on macOS -- and explain why now is the time. Modern hardware constantly pushes thermal and power limits, trying to strike a balance that minimizes noise and heat while maximizing performance and battery life. Software also plays a role, trying to keep everything background-updated, content-indexed, and photo-analyzed so it's ready for us when we want it, but not so aggressively that we notice any cost to performance or battery life. Apple's customers don't usually have control over these balances, and they're usually fixed at design time with little opportunity to adapt to changing circumstances or customer priorities. The sole exception, Low Power Mode on iOS, seems to be a huge hit: by offering a single toggle that chooses a different balance, people are able to greatly extend their battery life when they know they'll need it.2 Mac laptops need Low Power Mode, too. I believe so strongly in its potential because I've been using it on my laptops (in a way) for years, and it's fantastic. I've been disabling Intel Turbo Boost on my laptops with Turbo Boost Switcher Pro most of the time since 2015. In 2018, I first argued for Low Power Mode on macOS with a list of possible tweaks, concluding that disabling Turbo Boost was still the best bang-for-the-buck tweak to improve battery life without a noticeable performance cost in most tasks.3 Recently, as Intel has crammed more cores and higher clocks into smaller form factors and pushed thermal limits to new extremes, the gains have become even more significant. Here's some thermal testing from my 8-core 16-inch MacBook Pro: 16-inch MacBook Pro (Late 2019, 2.4 GHz 8-core i9) Power Temp. Geekbench 5 single/multi xcodebuild Normal 82W 90°C 1260/7386 39 sec. No Turbo 31W −62% 65°C 669/5206 −46/29% 62 sec. +59% With Turbo Boost disabled, peak CPU power consumption drop