NDC 2019 - Our recommendations

by Hallstein Brøtan

NDC (Norwegian Developer Conference) has just ended its 12th consecutive event in Oslo. As always, the speaker list contained some big international names combined with some local talent. The agenda contained 185 talks divided in 10 simultaneous tracks, ranging through 45 different technologies. It's impossible to manage all the talks,…

ASP.NET Core Memory Cache - Is the GetOrCreate method thread-safe?

by Hallstein Brøtan

In this blog post I will be researching a common question raised on forums like StackOverflow: "Is the GetOrCreate method thread safe?". This blog post also contains an interview with the creator of LazyCache, Alastair Crabtree…

RxJS: Getting fooled by empty Observables

by Hallstein Brøtan

Empty observables can be dangerous when not understanding how they affect callbacks. In this post I will try to explain how you can avoid getting fooled by empty observables.…

Angular pitfall: Multiple HTTP requests with RxJS and observable$ | async

by Hallstein Brøtan

I recently discovered that our Angular app was making multiple HTTP requests unintentionally to the same REST API endpoint. The app was using the HttpClient introduced in Angular 4.3, which enables direct access to the JSON response when subscribing to the Observable from the HTTP request. The HTML markup…

End-to-end with Selenium: Writing your first UI-test

by Hallstein Brøtan

This is a basic example of how to write your first automated UI-test using C#, Visual Studio 2017 and the NUnit Framework (xUnit can also be used). The purpose of this blog post is to give you a clean and easy example to get started with UI testing. For implementation…

End-to-end with Selenium: Why you should UI-test

by Hallstein Brøtan

You want to be productive when building web applications. That means iterating fast and delivering continuously. As your application grows in complexity, how can you assure its quality - on each build? Say goodbye to manual regression testing and full mocked unit tests - get started with end-to-end automated UI-testing!…

NDC 2017 - What did I miss?

by Hallstein Brøtan

The purpose of this blog post is to give you a shortlist of talks that you might have missed during NDC (Norwegian Developer Conference) 12.-16. June 2017. Introduction NDC has just ended its 10th consecutive event in Oslo. As always, the speaker list contained big names like Troy Hunt…

Novanet Christmas calendar 2016 (Open sourced)

by Hallstein Brøtan

Christmas is closing in, and during this last month of the year we've been running a company Christmas calendar quiz. The calendar has been a success internally, but also attracted attention from customers and colleagues from other consultant firms (who wants to join in, but are not allowed..) The purpose…

Make Selenium wait for ajax calls using AngularJS (and TypeScript)

by Hallstein Brøtan

Acceptance tests for GUI are commonly regarded as painful, mainly caused by two factors: They have a long feedback loop Their stability is poor A common stability issue is dealing with asynchronous requests. Because ajax calls takes an unknown amount of time to complete, the test might do some assertion…

How many work days are there per month for a given year?

by Hallstein Brøtan

True story: I got a request from our economy guy, he asked me if I knew some online service to give him the number of work days for a given month. Turned out that he was manually counting the number on his calendar (probably several times to be sure), and…