Systems | Development | Analytics | API | Testing

Development

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?

How to Test Ruby Code That Depends on External APIs

Few things are more frustrating than slow, flaky test suites. You're ready to deploy, wait 20 minutes for CI to run, only to find that a test failure in code you've never touched is blocking you. You dig into the source and find the problem: an external API call. It works (slowly) most of the time. But sometimes the network glitches and it fails. What do you do? In this article, José Manuel shows us several techniques for removing external API dependencies from our tests.

BitSteps: Speed up tests for your Android apps by integrating Genymotion and Bitrise

Featured Partner Edition: Speed up tests for your Android apps by integrating Genymotion and Bitrise How Bitrise and Genymotion Work Together With Genymotion providing the Android virtual devices cloud and Bitrise executing CI, teams are able to run their Android automated tests using any testing framework (Espresso, Appium, Detox, and so on) on Genymotion Cloud devices. This helps developers and QA engineers achieve immediate feedback and test at scale, as test results provide insights into the health of their applications.