The law of the land
Affirmative action is right up there with abortion and gun control among the highest-profile, longest-running social fissures in America. So
Affirmative action is right up there with abortion and gun control among the highest-profile, longest-running social fissures in America. So
We still do that! That's the first step of any design. And often the only intermediary step when it comes to work inside established applica
We've used Figma occasionally when exploring designs before a product even exists. When there's no code harness to work with. But, usually,
This is perhaps the biggest secret to the productivity and viability of our two-person teams at 37signals. All our web designers work direct
By all accounts, Figma has been an amazing tool for designers. We've used it extensively at 37signals, and I'm sure most every other softwar
Full-length episodes of the podcast on Twitter from now on.
"I've never had big yacht or private jet money, but I've long since stopped having to worry about the material upkeep on a comfortable life.
One of the things that can seem difficult to understand for people who merely tolerate having a job is why anyone would continue working if
Fully respect those who can mentally make full-time pairing work, but that is not me, and it's not us. We will occasionally pair on a partic
Everything we do is a type of marketing. Be that books, conference appearances, fast support replies, open source software. Every chance we
When I see Kimberly teach our customers how to get more out of Basecamp, I think of Kathy Sierra's timeless bit on making the manuals as com
We've started posting our podcast videos in full length to YouTube. Here's the show on two-person teams. How almost everything we make is ma
See #330, which was closed but never fixed The dependency was added in #331, but this was not sufficient. ActiveJob actually has to be requi
See #330, which was closed but never fixed The dependency was added in #331, but this was not sufficient. ActiveJob actually has to be requi
A modest JavaScript framework for the HTML you already have - Comparing 4ef73b0008...7bf453cd62 · hotwired/stimulus
Add ability for registerActionOption callbacks to receive the event after params have been resolved Relates to #668
I don't remember the particulars, but I apologize regardless. Twitter coaxes us into trading anger for engagement, but we're still all accou
I don't. I know it works, I recognize the spectacle, but the performance inevitably ends up diminishing us all. That was perhaps the hardest
"All the most valuable lessons in life require repetition. You don't get in shape by knowing how to do a push-up but by doing a hundred a we
The hallmark of great wisdom is not what you know, but what you know and can put to use. The globe is full of learned idiots, unable or inca
So don’t worry about making everyone love your products. Worry about making those who’d happily pay for it love it. Then worry about limitin
The truth is that we’ve been managing costs scrupulously since day one. That’s how you stay in business when you’re not playing with other p
This reminds me of the infamous TechCrunch piece by Arrington back in 2007, which pinned the death of some startup on our pitch that profita
I don’t mind when folks don’t like our products - you’re never going to please everyone! - but the comparison to PE is just financially illi
Of all you spend is $300/month, youâre in the sweet spot for cloud. We spent $3.2 million last year on a hyper optimized cloud budget. Sta
Top marginal tax rate is higher in California than in Denmark. So no.
A Conflict of Visions: https://www.amazon.com/gp/aw/d/B003E749SK/
âWhat happens to a society that doesnât square its mental books when it comes to facts, truth, errors, propaganda and so on? Most.. do w
"Reason as 'simply one twentieth of my capacity for life' is one of those insights that immediately and permanently marked my soul after I f
After spending much of the past three years in Denmark, our family is returning to America full time this summer. The original reasons for t
We're unfortunately at capacity for the venue.
"To have all of this come together, with Rails World, with the Rails Foundation, in the year we'll celebrate the 20th anniversary of the fra
There hasn't been a major, dedicated Rails conference in Europe since 2008, so perhaps it's no surprise that there was pent-up demand. But I
There hasn't been a major, dedicated Rails conference in Europe since 2008, so perhaps it's no surprise that there was pent-up demand. But I
Summary The ability to use an underscore as a separator within number values (e.g. 200_000) is now part of the ECMA script spec and is suppo
A modest JavaScript framework for the HTML you already have - Comparing 7974f635f4...4ef73b0008 · hotwired/stimulus
Aligns with JavaScript numeric separators - https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Lexical_grammar#numeric_separa
Closes #672 by adding documentation on how to properly access nested controller outlets
i have 2 controllers which are on the path controllers/create_controller.js and controllers/app/todos_controller.js. How can I add outlet to
A modest JavaScript framework for the HTML you already have - Comparing b73bef71eb...7974f635f4 · hotwired/stimulus
Use Turbo in your Ruby on Rails app. Contribute to hotwired/turbo-rails development by creating an account on GitHub.
As raised in #426, Turbo is set on the window by default so the import example is out-of-date
Use Turbo in your Ruby on Rails app. Contribute to hotwired/turbo-rails development by creating an account on GitHub.
I want to remove redundant code from my controller because I need to know turbo_frame_request_id inside the view
Never used Lambda, and wouldn't either. Exactly for that reason. It's a lock-in hook (as well as just being unsuited to almost everything we
S3 separate. Will do that in 2024. No tight coupling.
If you missed out on this one, don't worry, we'll do a much (much!) bigger conference in 2024 to allow far more people to participate in #Ra
That's a wrap, folks! We've sold out for #RailsWorld in less than 45 minutes. That's wild. Huge shoutout to @shopify, @github, @intercom, @c
This is insane. We've already sold almost 400 tickets in just a few minutes. At this rate, we'll be sold out within the hour. Never seen any
The tickets for #RailsWorld just went on sale! Early-bird tickets sold immediately, but the general admission at â¬299 is still a total ste
world.hey.com/dhh/we-stand-tâ¦
No. Databases are just running on VMs, not containers.
We run in two geographically separate data centers. Just like we were doing with the cloud.
Nothing significant, no. A few minor snags along the way, as you'd expect. But our uptime remains stellar. https://www.37status.com
"After six months of effort, it's done. We're out of the cloud. The last application was brought home to our own hardware on Wednesday. Hall
Since it took us years to get into the cloud in the first place, I originally imagined it would take us years to get out as well. But all th
world.hey.com/dhh/i-can-t-saâ¦
"It's rarely the terrible decisions, processes, or even people that'll sink your organization. It's the accumulation and inertia of the medi
It's rarely the terrible decisions, processes, or even people that'll sink your organization. It's the accumulation and inertia of the medio
Use Turbo in your Ruby on Rails app. Contribute to hotwired/turbo-rails development by creating an account on GitHub.
Ref #449 Previously, there was an inconsistency with how turbo_frame_tag and dom_id would create ids: turbo_frame_tag(Article.find(1), "comm
This PR allows you to provide a count keyword argument to assert_turbo_stream. The argument is just passed on to assert_select. For example,
Use Turbo in your Ruby on Rails app. Contribute to hotwired/turbo-rails development by creating an account on GitHub.
If you're unable to create a majestic monolith with basic programming tools like encapsulation and namespaces, you don't have what it takes
One thing I really miss from Safari's web inspector is the ability to show custom headers. Adding x-runtime and x-request-id to a custom dis
Turbo gives you the speed of a single-page web application without having to write any JavaScript. - Comparing c68d5b9c34...ac25ec5c9e · ghi
Use Turbo in your Ruby on Rails app. Contribute to hotwired/turbo-rails development by creating an account on GitHub.
Closes hotwired/turbo#257 Closes hotwired/turbo#397 Follow-up to hotwired/turbo#257 (comment), hotwired/turbo#257 (comment) Depends on hotwi
It's funny when people who are unable to make one good application think they'll do better if they created a distributed swarm of applicatio
Since the pandemic ended, we've had the pleasure of organizing three different company meet-ups for 37signals. We got going again in Miami,
A modest JavaScript framework for the HTML you already have - Comparing eda0f9dafc...b73bef71eb · hotwired/stimulus
Same team as before. No changes planned.
Yes, we were on RDS with AWS.
Actually, that chart above was for HEY! Here's the chart for Basecamp Classic (which is what the summary improvements match). Almost at the
Use Turbo in your Ruby on Rails app. Contribute to hotwired/turbo-rails development by creating an account on GitHub.
Update of recently merged #470 to make the documentation valid for version 1.4.0 (see #428 )
MRSK v0.14. Not far off v1.0, which we hope to release close to the celebration of our complete cloud exit with @basecamp. https://github.co
Basecamp Classic running on our own hardware with MRSK vs the old AWS K8S cloud setup: - Mean DB response time per request is down 53% - Me
Closes #268 Hi, since we also ran into the issue of using Turbo-Frames with custom layouts, I took the liberty to draft an extension to the
We were following the turbo-drive documentation in the README that says to do the following: import { Turbo } from "@hotwired/turbo-rails" T
We were following the turbo-drive documentation in the README that says to do the following: import { Turbo } from "@hotwired/turbo-rails" T
Hello, I created a new project and have a problem with turbo, the event is not even firing up. Even after installing, links it still works t
Hi. this is not really important. I am just including this here just in case someone else runs into the same problem. I use esbuild to bundl
Trying to run a seeder but gets random errors, since (i suppose) there's no subscribers yet. seed.rb sample Category.create!( name: 'Lorem i
Trying to run a seeder but gets random errors, since (i suppose) there's no subscribers yet. seed.rb sample Category.create!( name: 'Lorem i
This enables being able to pass the generated id of a turbo_frame_tag to turbo_stream actions. For example: <%# app/views/articles/show.html
This enables being able to pass the generated id of a turbo_frame_tag to turbo_stream actions. For example: <%# app/views/articles/show.html
Bumps terser from 5.5.1 to 5.18.1. Changelog Sourced from terser's changelog. Changelog v7.18.1 Fix major performance issue caused by hoi
Outline When using broadcast_update_to the content is streamed as expected on create and destroy. However, when using broadcast_update_later
Use Turbo in your Ruby on Rails app. Contribute to hotwired/turbo-rails development by creating an account on GitHub.
Rails supports rendering of objects such as ViewComponents, but this support doesn't seem to be available in Turbo. This is just a stake in
Closes hotwired/turbo#257 Closes hotwired/turbo#397 Follow-up to hotwired/turbo#257 (comment), hotwired/turbo#257 (comment) Depends on hotwi
This pull request allows methods within the Turbo::Streams::TagBuilder class to be used with keywords arguments. This also allows users to b
This pull request allows methods within the Turbo::Streams::TagBuilder class to be used with keywords arguments. This also allows users to b
I want to remove redundant code from my controller because I need to know turbo_frame_request_id inside the view
First, promote Turbo::Native::Navigation to be an ActiveSupport::Concern. Next, expose #turbo_native_app? to be a view helper through a call
Use Turbo in your Ruby on Rails app. Contribute to hotwired/turbo-rails development by creating an account on GitHub.
Execute System Tests through the CDP Protocol via cuprite. This commit installs a dependency on cuprite@~>0.9 so that the js_errors: option
Use Turbo in your Ruby on Rails app. Contribute to hotwired/turbo-rails development by creating an account on GitHub.
After upgrading turbo-rails from 7.1.0 to 7.3.0, code like this broke: <%= form_with(...) do |f| %> <%= f.button formaction: destroy_all_a
Use Turbo in your Ruby on Rails app. Contribute to hotwired/turbo-rails development by creating an account on GitHub.
The Turbo::Broadcastable::TestHelper concern provides Action Cable-aware test helpers that assert that <turbo-stream> elements were or were
This PR allows you to provide a count keyword argument to assert_turbo_stream. The argument is just passed on to assert_select. For example,
Let's say having: AdminController < ApplicationController layout :admin end When I use turbo frame request in sample controller: UsersContro
Use Turbo in your Ruby on Rails app. Contribute to hotwired/turbo-rails development by creating an account on GitHub.
Closes #268 Hi, since we also ran into the issue of using Turbo-Frames with custom layouts, I took the liberty to draft an extension to the
Rails supports rendering of objects such as ViewComponents, but this support doesn't seem to be available in Turbo. This is just a stake in
Basecamp Employee Handbook. Contribute to basecamp/handbook development by creating an account on GitHub.
turbo.hotwired.dev web site. Contribute to hotwired/turbo-site development by creating an account on GitHub.
Use Stimulus in your Ruby on Rails app. Contribute to hotwired/stimulus-rails development by creating an account on GitHub.
Also updates checkout action version.
"That's the nasty secret of SaaS. Even if the service doesn't just disappear entirely, like it often does, it might well 'evolve' in a direc
It's hard to know what'll stick around when shopping for software online. Popular services and crucial products get shut down all the time.
"Google will eventually kill every single service you care about, if they can't find a way to directly monetize it with ads at a scale of bi
Google will eventually kill every single service you care about, if they can't find a way to directly monetize it with ads at a scale of bil
"Embrace the paradox that there are times when the less you know raises the bar for what you can do." https://world.hey.com/dhh/turn-down-th
It's hard to think original thoughts if your senses are being perpetually flooded with everything from everyone all the time. And it's hard
Hey, In Turbolinks I had to manually push a history item when using Infinite Scroll. I did this using the below: infScroll.on('append', (res
Rails 7 application and login form with email/password pair: <%= form_with model: @user, url: sessions_path do |f| %> <%= f.text_field :emai
Rails 7 application and login form with email/password pair: <%= form_with model: @user, url: sessions_path do |f| %> <%= f.text_field :emai
turbo.hotwired.dev web site. Contribute to hotwired/turbo-site development by creating an account on GitHub.
You can download the latest distributable script from the GitHub releases page, then reference that in your <script> tag on your page. — htt
You can download the latest distributable script from the GitHub releases page, then reference that in your <script> tag on your page. — htt
You can download the latest distributable script from the GitHub releases page, then reference that in your <script> tag on your page. — htt
turbo.hotwired.dev web site. Contribute to hotwired/turbo-site development by creating an account on GitHub.
turbo.hotwired.dev web site. Contribute to hotwired/turbo-site development by creating an account on GitHub.
Add a slash for a nicer workflow with namespaces controllers. With the slash for example base/autocomplete/controller.js will translated to
Webpack helpers for @hotwired/stimulus. Contribute to hotwired/stimulus-webpack-helpers development by creating an account on GitHub.
Bumps webpack from 5.52.1 to 5.76.0. Release notes Sourced from webpack's releases. v5.76.0 Bugfixes Avoid cross-realm object access by @
Webpack helpers for @hotwired/stimulus. Contribute to hotwired/stimulus-webpack-helpers development by creating an account on GitHub.
When turning the asset digests off (https://guides.rubyonrails.org/asset_pipeline.html#turning-digests-off) in the development environment b
When turning the asset digests off (https://guides.rubyonrails.org/asset_pipeline.html#turning-digests-off) in the development environment b
Higher-level data structures built on Redis. Contribute to etiennebarrie/kredis development by creating an account on GitHub.
Higher-level data structures built on Redis. Contribute to etiennebarrie/kredis development by creating an account on GitHub.
with long term support node v18, we get an error when starting the server[1]. This commit uses legacy ssl in order to fix this and support t
Bumps minimist, minimist and mkdirp. These dependencies needed to be updated together. Updates minimist from 1.2.5 to 1.2.8 Changelog Sourc
The speed of a single-page web application without having to write any JavaScript - Comparing 4593d06ce5...96a4f584e8 · hotwired/turbo
Rails supports rendering of objects such as ViewComponents, but this support doesn't seem to be available in Turbo. This is just a stake in
This configuration is used to indicate if the Stimulus application is lazy loading its Stimulus controllers or if the controllers are being
Hi, The docs cover how to add something like keydown.ctrl+a or keydown.shift+a but there's no reference on how to combine multiple modifiers
What could be the cause of the "unable to resolve specifier" errors? Does anyone have any advice how I can debug or what to try? The failure
What could be the cause of the "unable to resolve specifier" errors? Does anyone have any advice how I can debug or what to try? The failure
👋 Just wanted to share some friendly community feedback: people get very confused about Turbo Native and Strada. People that follow along cl
👋 Just wanted to share some friendly community feedback: people get very confused about Turbo Native and Strada. People that follow along cl
Description Key Enhancements This PR improves the flexibility of custom Turbo Stream actions by allowing: Broadcasting without rendering S
Use ESM with importmap to manage modern JavaScript in Rails without transpiling or bundling. - Comparing 997f30b229...f59715b03a · elia/impo
If you follow the steps in Hello, Stimulus doc https://stimulus.hotwired.dev/handbook/hello-stimulus $ git clone https://github.com/hotwired
A humble blank slate for a modest JavaScript framework - Comparing ffadaf2da9...692e49fb0b · hotwired/stimulus-starter
Finally the RIGHT WAY TO TELL TIME is an option in Basecamp 😂
Enjoyed talking about what a glorious time it is to bootstrap a new company exactly now at The Next Web conference. Bootstrappers have never
âYou canât avenge your grievances by squandering your potential. You canât save talent or energy for better days. Whatever the situati
Abilities unused will atrophy, so putting in anything less than your best means giving up on what you’re capable of. You can’t save talent o
"Are there anyone left who is still claiming that Twitter needs 8,000 people as of May, 2023? If there are, man, theyâre doubling down on
"That's the danger of Le Mans. The race is so long that it's easy to start dreaming about results well before it's prudent. I foolishly let
I didn't get into the race car until two in the morning. By then, the rollercoaster that is the 24 Hours of Le Mans had already been going f
"I say, do or do not. Hybrid is a cop-out. Commit to the office, if that's what you want. Or commit to remote, and enjoy all the benefits it
The honeymoon for remoteworkisover, and managers who never liked the concept to begin with are plotting its complete reversal, so that thing
"Not all connections benefit from having the friction removed by digital systems. Some barriers to interaction are good. The fundamental pre
When I went to school in the 80s and 90s, the communication between the institution and home was limited. Kids could bring home a flyer abou
"To be an effective manager, you have to be empathetic, but not too empathetic. Because if you can't separate yourself emotionally from the
The world is full of talented, capable people who'd rather put their own efforts to direct use than manage others. But the natural inclinati