Systems | Development | Analytics | API | Testing

Development

Understanding Database Transactions in Rails

Few things are scarier than a database slowly losing integrity over weeks or years. For a while, nobody notices anything. Then users start reporting bugs, yet you can't find any code that's broken. By the time you realize the problem, it may be happening for so long that your backups are unusable. We can avoid problems like these with skillful use of transactions.

Django and the N+1 Queries Problem

The N+1 Queries Problem is a perennial database performance issue. It affects many ORM’s and custom SQL code, and Django’s ORM is not immune either. In this post, we’ll examine what the N+1 Queries Problem looks like in Django, some tools for fixing it, and most importantly some tools for detecting it. Naturally, Scout is one of those tools, with its built-in N+1 Insights tool.

Python Debugging: More Than Just A (Print) Statement

As most developers will agree, writing code is oftentimes, if not always, easier than debugging. As a simple definition, debugging is the process of understanding what is going on in your code. When speaking in terms of Python, it is a relatively simple process. Every developer has their own personal debugging method or tool they swear by. When it comes to Python, most developers use one (or more) of the following: print statements, traditional logging, a pdb debugger, or an IDE debugger.

Report: Digital transformation in finance and banking

In the past few months, we’ve been researching the finance and banking market's approach to mobile and put together our key findings in a report. The aim is to help us — and you — better understand how and why fintech apps have dominated the app stores, and to explore how traditional banks can compete.

Summer Release: Slow SQL Query Log, Callgraph Profiler, Memory Tracepoints

This Summer Release of Tideways builds on the previous Beta Announcements in May's Spring Release and marks the general availability of This new functionality is fully available by updating the Tideways PHP Extension to version 5.2.4 and the Daemon to version 1.6.18. In addition to rolling out new features, we also renamed the concept of "Application" in Tideways to "Project" and we provide a detailed explanation why at the end of this post.

How to Create SQL Percentile Aggregates and Rollups With Postgresql and t-digest

When it comes to data, let’s start with the obvious. Averages suck. As developers, we all know that percentiles are much more useful. Metrics like P90, P95, P99 give us a much better indication of how our software is performing. The challenge, historically, is how to track the underlying data and calculate the percentiles. Today I will show you how amazingly easy it is to aggregate and create SQL based percentile rollups with Postgresql and t-digest histograms!

Node.js Logging: A How-to Guide

When visiting a new website, it is quite normal to get carried away by the bells and whistles of the fancy UI and UX and not be able to appreciate all the lower level, back-end code that runs tirelessly to ensure a smooth and fast website experience. This is because your front-end HTML code has a visually rich browser page interface as a platform to showcase its output. Whereas your back-end, server-side code usually only has a console at its disposal.

Introducing Versions API to Automate Error Response for New Code Versions

You know the feeling. You’ve just deployed a new version to production and are monitoring the Rollbar dashboard for any new errors or looking out for any Slack notifications. You’re keeping an eye on the number of new or reactivated errors, their severity level, and triaging to see which errors need to be assigned and to whom. Now what if you could automate these tasks?