If you’ve ever had to remove an NDepend analysis from a longer trend, you know it can’t be done from the UI. I had this situation when I accidentally modified some stuff that made an incorrect outlier in my trend charts: I wanted to remove that outlier. Doing so, require diving into the outputs of NDepend. First, in your NDependOut folder, there are folders for each analysis you made, by date: Go into those folders and remove the date you
I was recently tasked with finding a NodeJS memory leak, and fixing it of course. Diving into the deep inner workings of a managed language is always difficult because we’re used to not having to deal with it. So here’s how I approached it. Run Locally I always stress the fact that teams should be able to run their applications locally. I would think this is a no-brainer these days, but I still encounter teams where running locally is difficult
I’m a big proponent of automated testing, and so also unit testing. Automated testing is the number one tool in my toolbox to avoid or fix technical debt. But it can also become a force that is blocking you from fixing that technical debt. Here’s why. Two Schools There are two schools in unit testing and TDD: the London school and the Chicago school. The London School of TDD The London school is also called the mockist school, because it
Many people struggle with time management. The week seems too short to do everything they wanted to do, and by the end of it we never seem to have found the time to do the things we wanted to do, the things we felt we really needed to do. We often feel we were distracted by others to execute less important tasks that need to be done, while we wanted to do some more important things that would improve our
A curious use-case came up to me this week. We have a REST API in AWS API Gateway that integrates with a Lambda. This is set up using Serverless. This is a multi-tenant system and because a former client didn’t do their cleanup, we’re still receiving a lot of calls that basically return errors (because the tenant no longer exists on our side). In AWS Lambda, this means a lot of useless invocations and a higher bill at the end
I’ve searched for this several times over the last year or two, and each time it takes me a while to find the solution. If you’re looking for the last queries that were executed against your MongoDB instance, these are the steps you need to perform: Enable The Profiler First, enable the profiler by executing the following command: Keep in mind that this has an impact on performance. Best not to do this on the production database. If you want
I have a customer that sells a multi-tenant SaaS platform. I often have to run the thing locally, but there is some interaction with other websites that then redirect to the customer’s system. And these website won’t redirect to localhost of course. What’s more, the application running on my localhost is running on port 3000, instead of 443 (the default HTTPS port). Let’s see how we can fix this. The hosts File First, we need to tell our system that
This post was written for the LinearB blog. You can read the original h e re. There are countless resources on software quality. If you’re reading this, you probably have an idea of what high- or low-quality software is. But defining it seems a lot harder. And if you identify low-quality software but others disagree, how can you avoid endless discussions? Let’s look at how we should understand software quality and how to measure it more objectively. Different Kinds of Software Quality The
This post was written for the Plutora blog. You can read the original here. Are you eager to deploy the next version of your software? Or are you afraid of the possible downtime during deployment? Or worse, that issues will arise and you’ll have to do a painful and complicated rollback? Then I recommend you look at blue-green deployments. Let’s look at how software is traditionally deployed, what blue-green deployments are, and how you can use them. Traditional Situation In a more “traditional”
This post was written for the Testim blog. You can read the original here. Cucumber.js and BDD aren’t new kids on the block. But they’re still fairly unfamiliar for many developers. That’s unfortunate, because the two can be very powerful tools for both the business people and developers. Let’s have a short look at what BDD is, and then see how Cucumber.js can be used to your advantage. What Is BDD? If you’re unfamiliar with BDD, don’t worry. It’s not a difficult topic.