AppSignal

Amsterdam, Netherlands
2013
  |  By Rishabh Rawat
Pagination means dividing a big chunk of data into smaller pages. It unlocks performance benefits for the backend, while also improving UX by sending manageable pieces of data to a client. In this article, we'll explore offset-based and cursor-based server-side pagination approaches, compare them, and implement cursor-based pagination in Node.js. Let's get started!
  |  By Thomas Riboulet
Ruby on Rails has changed how we build web applications. Early on, the framework came with some great features to help you get started and build robust applications. However, it can still be tricky to build and handle forms. Simple Form is a great option. Let's examine what Simple Form is, why we might need it, and some real use cases.
  |  By Ashley Davis
Kernighan & Pike, The Practice of Programming, 1999 Despite constantly changing technologies and the needs of customers, some wisdom seems eternal. Programmers need to test their code. But thorough testing takes time. When we do it well, everything works, and a massive testing effort feels like a waste. However, when we do it badly, our code is often broken, and we wish that we had done better testing. I have some good news for you.
  |  By Thomas Riboulet
For a software engineer, even the basic use of a debugger can save a lot of pain: adding breakpoints (places in the code the program will stop at and expose the current context) is very easy, and navigating from one breakpoint to another isn't difficult either. And with just that, you can say goodbye to a program's many puts and runs. Just add one or more breakpoints and run your program.
  |  By Damilola Olatunji
Node.js 22 has been released, offering a compelling upgrade for developers. It takes over the 'Current' release line, while v21 transitions into maintenance mode until its end-of-life in June. This release delivers advances like a stabilized Watch mode, pattern matching support in the fs module, a default-enabled WebSocket client, and a new--run flag for script execution. It also offers some performance improvements and the usual V8 engine upgrade.
  |  By Antonello Zanini
Bun and Node.js are two JavaScript runtime technologies to run JavaScript on the server. Node.js is the undisputed king of server-side development with JavaScript, but Bun has gained popularity thanks to its unbelievable performance capabilities. The real question is, though: does it really make sense to use Bun instead of Node.js? Let's learn about Bun and Node.js, dig into their characteristics, and explore some scenarios where Bun can be a better alternative to Node.js.
  |  By Abiodun Olowode
In modern web applications, real-time communication has become more than a feature: it's gradually evolved into a necessity. Users expect instant updates, live interactions, and dynamic content. In Rails applications, Action Cable has long been the go-to solution, harnessing WebSockets to fulfill these demands. In this article, we introduce: Let's get started!
  |  By Aestimo Kirina
Ruby on Rails is the most popular web framework in the Ruby ecosystem and has a large user base, ranging from freelancers to large established companies. With an active user community and wide-ranging documentation, it can be used to build everything from simple applications to complex web platforms. That said, a new contestant is taking on Rails’ dominance for the full-stack Ruby framework title: Hanami.
  |  By Sapan Diwakar
Erlang is renowned for its remarkable fault tolerance and high concurrency. Erlang's scheduler efficiently handles many lightweight processes. The scheduler plays a crucial role in managing processes, concurrency, and system resources, efficiently coordinating these elements to help Erlang maintain fault tolerance and support high levels of concurrency in its applications. This post will dissect some of the scheduler's key components and shed light on how it works internally. Let's get started!
  |  By Kingsley Chijioke
Grape is a popular Ruby framework for building RESTful APIs. Exception handling plays a crucial role in ensuring the stability and reliability of any application, including those made with Grape. This article will explore the basics of Grape exception handling, including customizing exceptions. We'll also touch on some best practices, and how to integrate your app with AppSignal for enhanced error monitoring and management. Let's get started!

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.