Dealing with data when your Angular PWA is offline
Angular TypeScript PWA

Dealing with data when your Angular PWA is offline

How do you add offline capabilities to a web application? If you search for an answer to these questions, the answer that will invariably pop up is to turn your application into a Progressive Web App (PWA). It is easy to find tutorials that cover the basics. But then the difficult questions arise: what architectural pattern do I use to fetch, store and cache my app’s data? How do I synchronize local changes to the data back to the server? How can I test all this?

Version management of npm packages
JavaScript npm CI/CD

Version management of npm packages

If you have been working on JavaScript projects for a while and have used npm, you have probably run into issues with package versions. Maybe your automated build fails, while everything works just fine on your laptop. Or you cannot get an existing project to run on your new machine, while your team mates have no problems at all with the exact same code base. Version differences between npm packages can cause quite some headaches, so how can you keep some sanity in all of this?

  • Daan Stolp
Cookies, tokens and session lifetime with Identity Server
C# .NET

Cookies, tokens and session lifetime with Identity Server

When dealing with OpenID Connect (OIDC) and OAuth authentication in a modern .NET application, Identity Server is ofted used as the identity provider. In this post, I’ll work through a common, but quite specific scenario: configuring the lifetime of a client session. In this case, the user of an ASP.NET MVC Client must be logged out of the session after 15 minutes of inactivity. In such a setup, there are a lot of places where you can configure time-outs, lifetimes, expirations etc.

  • Daan Stolp
Getting started with TypeScript and webpack
TypeScript JavaScript webpack

Getting started with TypeScript and webpack

As you probably know, TypeScript is a programming language that is a typed superset of JavaScript which compiles to plain JavaScript. Learning the language isn’t that difficult, but where do you start? In today’s world of front-end development, learning the language is only one part of the puzzle. In addition, you need to set up a system that somehow produces a production-ready deliverable from your source code. So how do you set this up?

  • Daan Stolp
Creating an AngularJS Component Using TDD
JavaScript AngularJS TDD

Creating an AngularJS Component Using TDD

Learning Test-Driven Development (TDD) can be a great way to improve your skills as a professional software developer or, dare I say, software craftsman. There is a lot to learn about TDD as a process, and taking up the practice can be challenging at first. Once you master the basics, you sometimes just run into small technical obstacles. You know what you want to do, you just need to know how to do it.

  • Daan Stolp
Een refactoring met gebruik van drie C# features
C# .NET Refactoring Clean Code

Een refactoring met gebruik van drie C# features

Soms zijn het maar kleine wijzigingen die je code net dat extra beetje cleaner kunnen maken. Een tijdje terug was ik bezig met het implementeren van caching. Hierbij schreef ik regelmatig code die controleert of data in de cache zit. Zo ja, dan wordt deze data teruggegeven. Zo nee, dan wordt de data opgehaald en in de cache geplaatst. De code ziet er steeds ongeveer zo uit: public SomeObject GetSomeObject() { string cacheKey = "SomeCacheKey"; SomeObject thingToCache; if (!

  • Daan Stolp