Systems | Development | Analytics | API | Testing

Latest News

How Does Garbage Collection Work In PHP?

Thanks to PHP being an interpreted language and it that it has a garbage collector, PHP developers don't often have to think about memory management. Unlike developers in compiled languages, such as C/C++, we don't have to give that much thought to memory allocation and deallocation. However, it's helpful to have a broad understanding of how garbage collection works in PHP, along with how you can interact with it so that you can create high performing applications.

JavaScript Errors: An Exceptional History

Hello again! It’s a historic week here at AppSignal! This week we released the first version of our new and improved JavaScript error monitoring. Now you can have your front end code, Ruby or Elixir back end code, your hosts, performance, everything monitored in one interface. To celebrate the launch, in a two-part series of posts, we’ll be taking a look at the history of Errors in JavaScript, including how to handle them in your code today.

Launching JavaScript Error Tracking v1.0.

Good news, everyone! Today, we’re proud to announce the launch of our fully-fledged JavaScript error tracking for your front-end applications. From today, you’ll have even more complete insights into your Ruby and Elixir apps — your back-end errors, performance metrics, host metrics, custom metrics and your front-end errors can now all come together under a single interface.

Typespecs and Behaviours in Elixir

Today, we will dive into Typespecs and Behaviours. These are two Elixir features that we are ecstatic (pun intended) about. They are great examples of built-in features in Elixir that help get some of the advantages of statically typed code. Alright, let’s set the scene. Elixir is a dynamically typed language. This means that the type of each variable is not checked at compile-time, but rather at run-time. Like most things, this comes with advantages and disadvantages.

Conditional breakpoints: How to Debug iOS and Android apps from Zero (Part 2)

Conditional Breakpoints and their variants, Exception and Symbolic Breakpoints are powerful tools for advanced debugging, applicable to both iOS and Android. We’ll explore them in this article. In the first post of our How to Debug from Zero series we learnt the basics of breakpoints. At this point, you should know how to add a new breakpoint and how to use the “step over”, “step in” and “step out” commands.

Updates from Bugfender Q2, 2019

Welcome to the Bugfender summer newsletter. Over the past few months you may noticed a few improvements to Bugfender’s web app, if not, we’ve summarised them here and you should go and check them out. The machine learning algorithm, which solves problems without requiring detailed instructions, is one of the most exciting technologies on the planet.