TypeScript: Internal vs External Modules

Last week we started to build our first component in Typescript. We have done Javascript development for quite a few years and we are quite proficient at it as a team. Still there is room for improvement. We really dislike the syntax of the revealing module pattern and we love strongly typed languages for the compile time checks it provides.

Typescript feels as a language that can offers quite a few things. There is however one thing that I had a hard time with: Modules.

It looks simple at first, but when you look carefully you will see that it is easy to get wrong.

In this post I will show you what I mean and give a few tips on how to use Typescript modules correctly in your own applications.

Read More

So you are a technical evangelist, what does it even mean?

When I started developing software at thirteen I dreamed of architecting big software systems. I really wanted to build cool stuff with my computer, although I could only program a little bit of QBasic back then.

18 years later I am building big systems, but I haven’t exactly reached my goal. Of course I design my fair share of big pieces of architectures, but I’m not an architect.

Here’s why. Quickly after I discovered programming I also discovered my love for doing new things. I have a bad habit of stopping right before something becomes mainstream. The sort of thing you don’t want in an architect to be honest.

This property of finding out new stuff and stopping before it becomes mainstream is a useful property if you know how to apply it though.

Instead of worrying about it, I made sure to use this property to my advantage by becoming a technical evangelist. Yes, it’s a thing and you may be wondering what that is, so let me explain what I do.

Read More

Make your Spring Boot application multi-tenant aware in 2 steps

Building a micro service using Spring Boot is quite a lot better than building everything by hand. But when you want to do something different it’s a bit like eating mcDonalds. It’s fast and easy, but not very good for you :-)

I ran into this kind of situation when I tried to add multi-tenant support to my micro service that was build in Spring Boot.

Multi-tenant support is important to me. Our team runs knowNow a knowledge management system that is a SaaS solution that allows companies to simplify the way they share knowledge among colleagues. We offer a subscription service so that the customer doesn’t have to worry about configuring servers, backing up databases etc.

This means we have to run a configuration that is as simple as possible. We don’t want to roll out a service per customer as it is too expensive and too complex to manage. Instead we allow all customers to access the same number of service instances so that we only have to worry about load balancing to ensure that everything stays up.

In this post I will show you how I managed to configure a typical microservice with a database into a multi-tenant version of the same service.

Read More

Quickly deploy a Play application to Azure Websites

Coming from .NET I’ve always liked Azure for its simplicity. I takes no more than 5 minutes to run a ASP.NET web application on Azure.

I figured: Why isn’t that possible for Java too? Turns out it is possible and not that hard to get up and running. And although I tried it with a Play application most of the steps are the same for other kinds of Java application.

So let’s get started!

Read More

Get started with the Azure IoT Hub SDK in Scala

Microsoft has launched a preview for Azure IoT hub a while back. I didn’t have the time back then to check it out, but now that it has had some time to settle I think it’s a good time to check things out.

This time however I’m not going to try the .NET API which is a first class language if you’re working with Azure. Instead I’m going to see what it does when you try to use it from the Scala/Java perspective.

Read More

Get started with Hexo on Github

“My weblog is getting pretty old” was the first thing I thought when I tried to update it to the latest technology. And it’s true, I’ve started my weblog on community server, moved it to wordpress, tried to run it on Ghost and finally made the move to static HTML with Octopress.

The final move to a static HTML website has provided me with the best experience so far. If you can afford to mess with HTML, Markdown and CSS than generating a weblog based on markdown and some templates is by far the most flexible and most performant way to run a weblog.

The downside for me is that octopress right now is very outdated on my machine. The buildscripts that I use are a few years old and lack the necessary bugfixes to run them on Windows. Which I still use at work.

After some searching however I found a good alternative to Octopress called Hexo. In this post I will take you through the basics steps to set up a Hexo blog with a theme and a few plugins to host the website on Github pages.

Read More