dev.37signals.com Open in urlscan Pro
188.114.97.3  Public Scan

Submitted URL: http://dev.37signals.com/
Effective URL: https://dev.37signals.com/
Submission: On May 03 via api from US — Scanned from NL

Form analysis 1 forms found in the DOM

Name: mc-embedded-subscribe-formPOST https://37signals.us2.list-manage.com/subscribe/post-json?u=2a145c60b16248b65e46a799a&id=6e265aeed7&c=?

<form novalidate="" action="https://37signals.us2.list-manage.com/subscribe/post-json?u=2a145c60b16248b65e46a799a&amp;id=6e265aeed7&amp;c=?" method="post" id="mc-embedded-subscribe-form" name="mc-embedded-subscribe-form" target="_self">
  <div aria-hidden="true" style="position: absolute; left: -5000px;"><input type="text" name="b_2a145c60b16248b65e46a799a_6e265aeed7" tabindex="-1" value=""></div>
  <input type="email" placeholder="julie.young@hey.com" value="" name="EMAIL" id="mce-EMAIL">
  <button class="button button--black" type="submit" name="subscribe" id="mc-embedded-subscribe">Sign up</button>
</form>

Text Content

Dev


HOW WE DO, WHAT WE DO

The 37signals Dev blog is brought to you by the people who build Basecamp and
HEY ✌️❤️

Sign up to get posts via email,
or grab the RSS feed.


Sign up
April 4, 2024


MODERN CSS PATTERNS IN CAMPFIRE

An in-depth look at how 37signals built ONCE/Campfire using modern features,
vanilla CSS, and no frameworks or preprocessors.

Jason Zimdars Principal Product Designer, Web
March 7, 2024


THRUSTER IS NOW OPEN SOURCE

A minimal HTTP/2 proxy for easy, production-ready Rails deployments.

Kevin McConnell Programmer
March 7, 2024


MY ADVENTURES HUNTING DOWN A RUBY MEMORY LEAK 🎢

What I learned on the journey chasing a tricky memory leak in HEY.

Jacopo Beschi Programmer, SIP
February 22, 2024


SPEEDING UP MOBILE DEVELOPMENT WITH TURBO

Native apps run silky smooth user experiences thanks to optimized compiled code,
their multitouch actions, and smooth animations. It’s all about speed, speed,
speed — except when it comes to speed of development — that’s a completely
different story.

Fernando Olivares Senior Programmer, Mobile
February 7, 2024


TURBO 8 RELEASED

Turbo 8 introduces morphing for smooth page refreshes,
view transitions, InstantClick, and more.

Alberto Fernández-Capel Programmer
January 30, 2024


MISSION CONTROL — JOBS

Dashboard and Active Job extensions to operate and troubleshoot background jobs.

Rosa Gutiérrez Programmer, SIP
December 18, 2023


INTRODUCING SOLID QUEUE

A new DB-based queuing backend for Active Job that we open-sourced today.

Rosa Gutiérrez Programmer, SIP
December 1, 2023


BASECAMP CODE RUNS 18% FASTER WITH YJIT

You should give it a try if you haven’t done it yet.

Jacopo Beschi Programmer, SIP
November 27, 2023


DEMO OF PAGE REFRESHES WITH MORPHING

How page refreshes work, and how they compare to stream actions.

Jorge Manrubia Programmer, Product
November 19, 2023


THE RADIATING PROGRAMMER

The right ceremony can save you from the wrong one.

Jorge Manrubia Programmer, Product
November 7, 2023


BUILDING BASECAMP PROJECT STACKS WITH HOTWIRE

How we improved project organization in Basecamp using Hotwire to build on top
of a legacy drag-and-drop interface.

Nicklas Ramhöj Holtryd Programmer, Product
October 24, 2023


EXPLORING SERVER-SIDE DIFFING IN TURBO

An investigation that taught us what we didn’t want to do.

Jorge Manrubia Programmer, Product
October 9, 2023


A HAPPIER HAPPY PATH IN TURBO WITH MORPHING

Turbo 8 is coming with smoother page updates and simpler broadcasts.

Jorge Manrubia Programmer, Product
October 3, 2023


SOLID CACHE

A new disk-backed ActiveRecord::Cache::Store.
Bigger, cheaper, faster.

Donal McBreen Programmer, SIP
September 24, 2023


NAVIGATING PERSONAL INFORMATION WITH CARE

Our default for accessing customer information is: we don’t.

Jorge Manrubia Programmer, Product
September 20, 2023


ANNOUNCING STRADA

Open sourcing a new member of the Hotwire family.

Jay Ohms Mobile Team Lead
September 15, 2023


2023 SUMMER INTERN PROGRAM: WHO, WHAT AND HOW

With the program just coming to a close, we take a look back
at our recent intern group and everything they accomplished.

Andrea LaRowe Head of People Ops
September 5, 2023


LEANING IMPERATIVE

Imperative infrastructure tools have trade-offs, but they help us directly and
explicitly manage our infrastructure. We’ve embraced these tools and the
philosophy they encourage. We are much better for it.

Arman Jindal Summer Intern 2023, Ops
August 31, 2023


WEB PROGRAMMING INTERNSHIP

My summer internship experience at 37signals as a web programmer on the Product
team.

Jordan Coil Summer Intern 2023, Product
August 30, 2023


MINDING THE SMALL STUFF IN PULL REQUEST REVIEWS

We pay attention to the minutia in pull request reviews,
and for good reasons.

Jorge Manrubia Programmer, Product
August 14, 2023


PROMETHEUS METRICS AT 37SIGNALS

How we use Prometheus to ingest, store, and alert based on metrics.

Victor Bogo Site Reliability Engineer, Ops
August 10, 2023


37SIGNALS DATACENTER OVERVIEW

During our journey off the cloud, we’ve received a lot of questions about our
datacenters. No, we do not run them on our own. I’m here to discuss at a high
level what 37signals’ datacenter presence looks like.

Eron Nicholson Director of Operations
July 31, 2023


GLOBALS, CALLBACKS AND OTHER SACRILEGES

Maximalist positions are a thing in our industry. Take a technique, outline its
drawbacks, extrapolate you can’t use it under any circumstance, and ban it
forever. We are lucky that Rails embraces exactly the opposite mindset as one of
its pillars.

Jorge Manrubia Programmer, Product
May 29, 2023


A FRIDAY EMAIL INCIDENT

Because only talking about success stories can be boring, here’s one about a
Friday incident that happened while we worked on our cloud departure.

Jorge Manrubia Programmer, Product
March 21, 2023


DE-CLOUD AND DE-K8S — BRINGING OUR APPS BACK HOME

For the Operations team at 37signals, the biggest effort in 2023 is removing our
dependencies on the cloud and migrating our application stacks back into the
data center onto our own hardware. We’ve already made amazing progress in a
fairly short time — let’s get into some details!

Farah Schüller SRE, Ops
March 1, 2023


PENDING TESTS

I rarely write my tests first or use them to help design my code.

Jorge Manrubia Programmer, Product
February 15, 2023


BRINGING CARD TABLE TO THE SMALL SCREEN

A close look at the process we used to make our version of Kanban nice and
useful on mobile devices.

Jirka Hutárek Android Programmer
January 13, 2023


OUR CLOUD SPEND IN 2022

Since we published why we’re leaving the cloud, we’ve received a lot of
questions about our actual spending. We’re happy to share, both where we
currently are and where we’re going.

Fernando Álvarez SRE, Ops
December 16, 2022


ACTIVE RECORD, NICE AND BLENDED

Active Record restates the traditional question of how to separate persistence
from domain logic: what if you don’t have to?

Jorge Manrubia Programmer, Product
December 13, 2022


COMPARED TO WHAT?

When discussing software design techniques, actual code should be a mandatory
ingredient.

Jorge Manrubia Programmer, Product
December 1, 2022


BETTER NAVIGATION IN HEY

Some of the best releases are ones that people never notice at all.

Jason Zimdars Principal Product Designer, Web
November 29, 2022


THE 10X DEVELOPMENT ENVIRONMENT

My hunch is that if anything can make you 10 times more productive, it’s the
environment not the programmer.

Alberto Fernández-Capel Programmer
November 18, 2022


A WEEK IN THE LIFE OF A PRODUCT DESIGNER

An inside look at the work we do (during cooldown).

Michelle Harjani Product Designer
November 15, 2022


MAKING EXPORT JOBS MORE RELIABLE

Long-running jobs can create maintenance and support nightmares as they run up
against resource and time constraints. What if we could break them
up—automatically—into smaller chunks of work?

Jamis Buck Programmer, SIP
November 8, 2022


VANILLA RAILS IS PLENTY

A common critique of Rails is that it encourages a poor separation of concerns.
That when things get serious, you need an alternative that brings the missing
pieces. We disagree.

Jorge Manrubia Programmer, Product
November 7, 2022


FASTER PAGINATION IN HEY

Recently we focused on improving the performance of HEY. Fixing slow database
queries for some of the HEY pages was a challenge, so I thought it would be
worth writing up a technique we used.

Donal McBreen Programmer, SIP
October 10, 2022


GOOD CONCERNS

We love concerns and have been using them for years in large codebases. Here we
share some of the design principles we use.

Jorge Manrubia Programmer, Product
September 18, 2022


FRACTAL JOURNEYS

Good code is a fractal: you observe the same qualities repeated at different
levels of abstraction.

Jorge Manrubia Programmer, Product
June 13, 2022


DOMAIN DRIVEN BOLDNESS

How to create a good domain model is the subject of many books, but here’s a
lesson I learned at 37signals: don’t be aseptic, double down on boldness.

Jorge Manrubia Programmer, Product