Discover the latest articles, tutorials, and insights from the Ruby and Rails ecosystem.
602 articlesAs more users opt for mobile browsing, responsive design becomes more important — even for applications that are primarily used on a desktop…
Solving a problem is great — but keeping it from coming back is even better. As we resolve issues in our code base, we often consider how to…
Our engineering team builds the Aha! suite using a Rails monolith. We carefully weighed a number of options before determining that this…
Striker and goalie. Offense and defense. Deploy and recalibrate. Many disciplines have dichotomy between the tasks that accomplish a goal…
The term "technical debt" has entered the standard lexicon of programming and software project development and has often been called out for…
Software engineers are always eager to make major contributions upon joining a new company. But that's not always realistic with a large…
When it comes to job processing, timing is everything. Running jobs in the background helps us remove the load from the web servers handling…
Aha! has evolved significantly over the past several years. What began as a single-product offering is now a suite of world-class product…
An important aspect of developer tools is being able to visualize work and progress in various ways. A well-known example is the burndown…
When our engineering team first began conceptualizing Aha! Develop, we were faced with a monumental question. How should we implement the…
Making something fullscreen in browsers is surprisingly easy. All you have to do is call requestFullscreen() on any DOM node. For example…
Feed the planner, trust the plan Of all the Aha! engineering tool expenses, the money I'm happiest to spend is on a big RDS instance running…
Aha! dynamic stagings Our team at Aha! recently gained the ability to quickly create and destroy dynamic staging environments. Our platform…
There is nothing quite like friendly competition to refuel your passions. Our team at Aha! recently sponsored 2021's Advent of Code, an…
Aha! has now reached $100 million in annual recurring revenue with three separate software products in our available suite. We did this all…
Our old system architecture here at Aha! has served us well. On top of RDS, ElastiCache, and other AWS services, we had hundreds of EC…
Developers love working with dates. One day, someone asked themselves, what if the year didn’t start in January, but could start in any…
So you want to implement a dark theme for your app? All your favorite applications have it and your app should too. But will it be trivial…
N+1 queries come up very often when working with Rails. N+1 queries are a silent performance tax both for your application and for…
Since the dawn of the internet, web developers have had an unfulfilled desire. We've wanted "living elements" that can automatically react…
First impressions matter a lot when you're launching a new product. Optimizing for time-until-Aha! is no easy feat. This is uniquely true…
Aha! Develop is our extendable agile development tool. You can completely customize the UI, workflow, and integrations through extensions to…
Some people, when faced with an API problem, think “I’ll use GraphQL!” And now they have N+1 problems. N+1 problems occur when you want to…
Many SaaS providers will happily sell you a turn-key log management system, and in the early days of a startup when you value time over…
Our old Gantt chart served us well for the past six years. It was doing what it was designed to do, but some of the things we wanted to add…
JavaScript dependency trees are a bit of a punching bag in the programming world. Even in a small project, the node_modules directory can…
Why does it matter? As we have recently entered a new decade, I have been thinking about the next leaps in computer science and where some…
Everyone is thrilled with the new feature you’ve just deployed! But as it starts to gain popularity, you wonder if there might be a bug…
Recently, our team at Aha! has been working on migrating our public marketing website from a traditional Rails app to a Gatsby application…
A little while ago, I wrote about using Node's child_process library. child_process creates other processes to do work instead of tying up a…
Let's talk about your bug backlog. You know you have it -- somewhere in your issue tracker, a stack of dozens or maybe even hundreds of bugs…
A Node.js process runs a single thread. Single-threadedness isn't a problem if you run short pieces of code and let Node do other work in…
Want specs that look like this? Read on. Like most of America, lately I've been trying Marie Kondo's method of tidying up around my house…
It's been an up-and-down kind of year for React Native. Last summer, Udacity and Airbnb announced that they were moving off of the platform…
If you work with JavaScript at all, you probably saw a ton of noise yesterday about a vulnerability in the event-stream npm package…
It is a painful realization. You just added a beautiful, multi-page description into your bug tracker's text editor, complete with photos…
Aha! is a Rails monolith. Although we have embraced front end technologies, such as webpack and React, Rails is the glue that holds…
Drop everything. This is what our team does when a bug is found. Recently, a customer reported an issue in a new feature that had just gone…
I love fast food. It started as a teenager when I worked at McDonald’s in New Zealand. There were only a few locations back then and we were…
I still remember the chaos of my first job. A new team with new challenges. Facing critical work decisions for the first time. But there was…
When I first learned to program, I did not have a computer. I wrote everything out on paper and just imagined what would happen when it ran…
Most product managers develop a close working relationship with their engineering team over time. Although sometimes a little quiet, they're…
Product managers need to be able to connect with the engineering team. But some product managers — and people in general — often feel…
My college algorithms class was the final weed-out course in the computer science program. It covered advanced topics like computational…
Depending on who you ask, the is a quintessential cornerstone of web development old and new; an outmoded curiosity from a time…
Engineers want to build the product. They do not want to manage it. So, you can see why a good product manager is an engineer's dream come…
I love contributing meaningful code to the open-source community; I do it every chance that I get. A few years back, I authored my first…
Databases are fast, even at performing fairly complex operations. This is easy to forget in the age of ORMs and abstraction and many of us…
I love this team. I love the product and engineering team at Aha! because we believe in objectively prioritizing work. To truly build what…
I have been fascinated by rockets since I was young. As I get older, my appreciation has only grown for the amazing amount of engineering…