Amsterdam, Netherlands
2013
  |  By Brena Monteiro
To create a custom exception in Ruby, define a class that inherits from StandardError: class PaymentError < StandardError; end. Raise it with raise PaymentError, "card declined" and rescue it by class. Inherit from StandardError, not Exception, so a bare rescue still catches it. Pass a default message by overriding initialize and calling super. Ruby’s built-in exception classes describe the language’s failure modes, not your application’s.
  |  By Aestimo Kirina
Devise is a full-featured authentication gem for Ruby on Rails, built on Warden. It provides registration, login, password recovery, session timeout, and account locking via 10 composable modules. Install it with bundle add devise, then run rails g devise:install and rails g devise User. It works with Rails 7 and 8; Rails 8's built-in generator covers only simpler needs.
  |  By Kingsley Chijioke
Grape handles exceptions with rescue_from blocks declared on your API class: rescue_from :all catches every exception, while rescue_from ActiveRecord::RecordNotFound targets one class. Inside an endpoint, error!("Not Found", 404) halts with a formatted error, defaulting to status 500. Without a handler, invalid params return 400 and other exceptions bubble up to Rack. This guide covers Grape 3.3. Every response body, status code, and error message was verified on Grape 3.3.5, Rack 3.2.7, and Ruby 3.4.10.
  |  By Serena Chou
You can now ask your coding agent to set up AppSignal in your application. Give it a prompt, let it follow the installation instructions, and watch a checklist fill in as data starts arriving. Installing AppSignal was already straightforward, but it still meant checking your environment, adding the right integration, creating an app, handling credentials, and confirming that telemetry arrived. These are useful checks, but they don't all need your attention.
  |  By Damilola Olatunji
Rails 8.0 shipped November 7, 2024 and requires Ruby 3.2.0+. Headline features: a built-in authentication generator, Solid Queue/Cache/Cable (database-backed, no Redis), Kamal 2 + Thruster deployment, Propshaft, and production-ready SQLite. Rails 8.1 (October 2025) is the current release; Rails 8.0 now gets security fixes only, through November 2026. This guide walks through each Rails 8 feature with the commands and defaults you’ll use.
  |  By Faith Kovi
Generating tests isn’t the hard part anymore. Ask an LLM to create Playwright tests, and it will produce hundreds of them in no time. The problem lies in deciding whether those tests are useful, maintaining them as your application changes, and knowing if you’ve even chosen the right tool in the first place. This article compares 17 AI testing tools across 5 categories. We’ll look at what each of them does, where it fits, what makes it different, and where it falls short.
  |  By Tarun Singh
Token costs used to be something most developers ignored. They simply dismissed them as theoretical. Now, they’re showing up in your Cursor/Claude Code bill, in every pasted error, in that package the AI pulled in without asking, or in that clarification round you didn’t plan for. Most developers choose a framework based on what they've used before, what the job description asks for, or simply whatever was used on their last project.
  |  By Gabor Koos
In an API-driven setup, a gateway often sits between clients and backend services: it can validate input, aggregate upstream responses, and give you one place to observe traffic. Koa is a strong fit for that role. Its core stays small, async/await is first-class, and middleware composes in a predictable stack. In this article, you will build a compact API gateway with Koa that: You will also wire up AppSignal for the Node.js stack.
  |  By Dejan Lukić
Slow database queries are really a pain. It’s easy to blame Django for taking ages to process a request, but the real issue may lie in an SQL query not doing what it should be. These performance degrading queries are often hiding in plain sight. By the time you notice them, they are already affecting your end users. AppSignal is an application performance monitoring (APM) tool with support for Python and Django out of the box.
  |  By Sonu Kapoor
For years, Angular lived with a subtle contradiction. The framework steadily modernized its reactivity model with signals, fine-grained change detection, and a clearer mental model for component state. Yet forms - arguably one of the most important parts of most applications - continued operating under an older, push-based system built around events and subscriptions. Developers felt this split immediately.

Made for teams that want to build high quality Ruby and Elixir applications, AppSignal offers amazing insights into errors and performance issues, plus host monitoring and an easy to use custom metrics platform.

AppSignal supports the Elixir language with an Elixir package. The package supports pure Elixir applications and frameworks including Phoenix, Plug & Erlang.

AppSignal supports the Ruby language with a Ruby gem. The gem supports many frameworks and gems including Capistrano, DataMapper, Delayed Job, Grape, MongoDB, Padrino, Rack, Rake, Resque, Ruby on Rails, Sequel, Shoryuken, Sidekiq, Sinatra & Webmachine.

AppSignal now supports Node.js! The package supports pure JavaScript applications and TypeScript applications, and can auto-instrument various frameworks and packages with optional plugins.

AppSignal also has amazing support for catching errors from Front-end JavaScript applications and sending them to AppSignal, including the React, Vue, Angular, Ember, Preact & Stimulus frameworks.

Packed with features:

  • Alerts in your tools: AppSignal integrates with Slack, Flowdock, HipChat, OpsGenie and more.
  • Control your notifications: AppSignal notifies you exactly when you want to. Get the first exceptions per deploy, all of them of never. Set thresholds for performance notifications.
  • Amazing support: We don't do "first line" and "second line" support: you get to speak with a developer, immediately.
  • Send to issue trackers: A single click creates an issue with all the necessary details in your issue tracker of choice.
  • Manage teams and users: Add users to teams and give them access to specific or all, existing and/or new applications you monitor.
  • Focus on design: Developer tools do not need to be complicated and ugly. Our interface is kept clean and easy to use.

Catch errors, track performance, monitor hosts, detect anomalies — all in one tool.