Building and Testing a Microservice in a Service-Oriented Architecture

Building a single app is hard enough. Building out multiple capabilities into that app is even harder. As part of our ongoing experience to build a full-stack monitoring tool, we recently refactored our logins out of the individual modules we’ve built and into a Microservice, built in Java. We would like to share our experience […]



One Weird Trick Front End Web Developers Don’t Want You to Know…

A few weekends ago, my Developer girlfriend and I endeavored to create a simple transit app for our Pebble smartwatches.  The cool thing was we had MVP by Saturday evening, and we were both rocking bus times on our watchfaces by Monday morning.  Could we have continued to use the transit app on our phones? […]


Screen Shot 2014-06-02 at 2.54.56 PM

Test Case Atomicity for Production

Performing sanity and thorough regression tests against the frontend of a any web-based product is a resource-intensive exercise; thus AppNeta’s QA team has started to expand into automation using Selenium and Saucelabs. As any tester should know, test cases should be independent of other test cases. It should be atomic so that one failed test […]



DRY Mockery in Python Testing

Note: the code referenced in this post, along with some extra context, can be found on github. I have tried to link into the repo at each of the inline code samples, for convenience. It might be useful to refer to the repo as a whole, though, rather than just the swatches under discussion. When […]



Customizing Chef Bootstrap Templates

At AppNeta, we use Chef to set up EC2 instances for the purpose of testing our TraceView instrumentation modules.  TraceView has agents for Java, .NET, Python, Ruby, and PHP, and one of the most important requirements for all of these is that they’re easy to deploy (typically less than 5 minutes). This means it should be […]



Getting Started with .NET Framework Profiling

Usually when developers talk about profiling, they mean running code they wrote in some sort of development environment to get better understanding of its performance. That’s the valid use case, but what happens when code is released in the wild? Your customers will run it in configurations you wouldn’t imagine, the data can be differently […]


Blue Mountains

Product Management: We Need Pipelines, not Roads

Living in Vancouver, surrounded by the natural beauty of British Columbia, it’s hard not to elicit a negative reaction (if not an outright protest march) when talking about a “pipeline”. But you’ll bear with me, right? AppNeta is a growing company with bright employees and savvy customers. But, like any company on the rise we’ve endured […]



Automated Testing of Hardware Appliances with Docker

Back in November, we described how we do Automation Testing in a very high level overview. Today, we are going to show how we prepare a specific part of the infrastructure for the purpose of Automation Testing: the virtual appliance.



The Most Agile Way to Manage Technical Debt

As an engineering team we strive to find the right balance between aggressively building out product capabilities and managing technical debt. At AppNeta we have hardened our process to define and manage this balance. Our current process involves virtual teams who break away from the feature development at hand to focus on technical debt in […]


Screen Shot 2014-02-12 at 4.26.51 PM

C++ Crash Debugging without GDB

In many cases, you can debug using GDB and core files directly. But what about logging without the external tools? In this post I’ll talk about how to log stack traces from within your application. Logging Stack Traces Ideally most issues such as a segmentation fault are caught during development.  However, it can be impossible […]