Systems | Development | Analytics | API | Testing

Development

Migrating Production Data in Elixir

When requirements change for your product, there arises a need to change not only the codebase but also the existing data that already lives in production. If you’re performing the changes locally, the whole process seems fairly simple. You test your new feature against a sparkling clean database, the test suite is green, and the feature looks great. Then you deploy, and everything goes to hell because you forgot that production was in a slightly different state.

Plugging Git Leaks: Preventing and Fixing Information Exposure in Repositories

Have you ever been neck-deep building a new feature? You're working at capacity. You need to test something out so you paste an API key into your source file with every intention of removing it later. But you forget. You push to GitHub. It's an easy mistake, and potentially a very expensive one. In this article, Julien Cretel explores the nuances of this kind of data leak, offers suggestions for recovery when leaks happen and gives us options for preventing them in the first place.

A Comprehensive Guide to Migrating from Python 2 (Legacy Python) to Python 3

Python powers many applications we use in our day-to-day like Reddit, Instagram, Dropbox, and Spotify. The adoption of Python 3 has been a subject of debate in the Python community. While Python 3 has been out for more than a decade now, there wasn’t much incentive to migrate from the stable Python 2.7 in the earlier releases. If you’re still running on legacy python, it’s high time to migrate as it has reached the end of its life since Jan 2020.

Introducing Notifications API to Automate Notification Settings Across Projects

At Rollbar we love workflow automation. With our new Notifications API, you can automate setting up of custom notification rules for all your Rollbar projects. As more of our customers switch to microservices, we wanted to build a programmatic way to set up these rules for multiple projects or services in just a few seconds, without having to go to the UI.

Effective Profiling in Google Chrome

This blog post will explain how to effectively profile your website so that you can deal with performance pain points. We’ll go through the two most used tools in Google Chrome for profiling: Imagine that you optimized your backend and everything is running smoothly. However, for some reason, the load time of your pages is still unreasonably high. Your users might be experiencing sluggish UI and long load times. This post will help you sort these issues out.

Code coverage for Swift Package Manager based apps

The Swift Package Manager allows you to create standalone Swift applications both on Linux and macOS. You can build and run these apps and you have the ability to write unit tests for your codebase. Xcode ships with the XCTest framework, but you may not know that this is an open-source library. It's available on every single platform where you can install Swift.

We're partnering with AppDynamics to bring next-gen developer workflows to the enterprise

We are excited to announce our new partnership with AppDynamics at their global event Transform 2020. Deep Code Insights (DCI) powered by Rookout will be generally available within the AppDynamics platform starting today. ‍ The partnership was a no-brainer: AppDynamics’ APM solution helps developers become aware of problems quickly; Rookout helps developers debug those problems easily. It’s a match made in devops heaven!

Debugging Workflows Two Ways

Today, service architecture is becoming increasingly complex with the explosion of new software techniques such as microservices. However, the performance of a system often is dependent on engineers’ ability to debug gnarly problems. The increase in complexity that comes with new microservices architectures makes debugging that much harder. In fact, some companies are considering reverting back to monoliths because of the increased difficulty of debugging, among a host of other challenges.

What is Continuous Application Improvement?

CAI stands for Continuous Application Improvement. It is a software improvement process that is implemented at each step of the SDLC, ensuring immediate feedback at each step rather than waiting till risk levels and impact has gone up. When you implement CAI you shift your improvement process as far left as possible and you catch software bugs and performance problems where they are introduced, eliminating countless hours of time spent chasing issues.

Software Trends for 2020: Continuous Delivery

“Software is eating the world” is no longer a hopeful vision. It’s happening. It’s here. Software is driving the world’s most important technological trends, and 2020 will prove to be an inflection point for several of them. Underlying the rapid pace of software transformation is another trend that has become immensely popular in itself. The rise of continuous delivery has enabled software companies to turn their ideas into reality faster than ever before.