Why I chose Rust

Why did I choose Rust? Rusts’ memory management introduces a steep learning curve. Its ecosystem isn’t developed as much as that of some other languages. Yet, Rust performs great, comes with some of the best support for web-assembly, and still manages to be an expressive language. Let’s review these properties in the context of an actual use case.

Read more →

Use the TIG stack to create your IoT home automation dashboards

In my previous blogpost I showed how to read gas and electricity measurements from a smart meter. Although it is a nice accomplishment to be able to read these measurements, the next step is obviously to do something useful with them. So, let’s create some nice dashboards based on these measurements. In particular I want to have dashboards that show the total amount of electricity and gas usage as well as the current electricity usage. I decided to use the TIG stack for this purpose. The TIG stack consists of Telegraf, InfluxDB and Grafana. Before I describe in debt what they are and how to configure them I will first introduce the Influx line protocol.Read more →

How to read gas and electricity measurements from your smart meter?

In this blogpost I would like to share my results in reading a dutch smart meter. In case you would like to start reading measurements from your own smart meter (the only prerequisite is that you have one), here is how I did it.

The first thing you need is a P1 smart meter USB cable, which can be bought online. You can find multiple online sellers by searching for e.g. ‘P1 cable’. And you need a computer system to connect the P1 cable to and which will process the incoming P1 telegrams. In this case I used a Raspberry Pi. You can see my setup here:Read more →

EventStorming the perfect wedding

Arranging a wedding is an exciting time to look forward to, but also comes with a lot of stress, especially when planning for it. For most of us, it will be the first time to plan our wedding, and, at least for me, hopefully, also the last. We can, of course, always hire a party planner (sort of like the domain expert on weddings), but getting married is already expensive enough, and for most of us this is not an option. Besides, there is also the family wishes to take in consideration, and might it just be that sometimes our family can also be domain experts. Let’s face it, they already seen there fair share of weddings, and most of them already have experience getting married themselves. We should consider their wishes and especially take advantage of their knowledge. Well, we can, with EventStorming! (and yes, I am the bridezilla of the two).

Read more →

Life of a C# Developer: How to build and test an AWS Lambda locally

Today Serverless is a thing. Although everyone can write a blog post about how Serverless run on servers, I share the same visions as Mathias Verraes:

Given that, I decided to share my developer experience building, testing and deploying AWS Lambda functions in the .NET world. Not a “Hello World” example, but rather a real-world scenario, where some services integrate with each other. Since a Serverless function is a tiny piece of code in a much larger process, how can I test the flow on my development machine?

Read more →

Overburdening: how to cope with it and work is irrefutable

Sometimes teams must take up work that exceeds their capability. Consider a company policy that says ‘The call desk picks up calls within 60 seconds’. This policy forces a call desk team to pick up new calls within 60 seconds. Saying ‘No’ to new work would be a sensible thing to do. But just not in this case. When in such a position what can you do to overcome overburdening and still keep happy customers?

In this blog post I’ll show that by looking at the workflow one can discover new options to overcome the overburdening and still not say ‘No’.

Alternative ways are described in The Business Support Team Pattern and Help! Too Many Incidents! – Capacity Assignment Policy In Agile Teams.
Read more →

Crossing the bounded context, events-first, the REST is not needed

Technical design decisions can have a severe impact on companies their communication structure. Conway’s law explains; “Any organization that designs a system (defined more broadly here than just information systems) will inevitably produce a design whose structure is a copy of the organization’s communication structure.” Such is the story also with a microservices architecture. A lot of companies decide to use REST to communicate between bounded contexts and/or services. What can happen is that the services in the bounded context now get dependent on each other. The dependency on finishing a service their process will resolve in cascading failures if a service is down. Cascading failures will reflect on the way organizations communicate between teams. Teams now rely on each other before finishing their process. Dependency between teams can severely disrupt the company to respond better to the fast-changing demands of customers; companies get more entangled than before. To combat getting cascading failures, we must follow the communication structure of the business. We can do this by using Event Storming and going events-first.

Read more →

Speech Recognition and Synthesis in the Browser

With the recent upsurge of Siri, Google Assistant and Amazon’s Alexa, speech recognition and synthesis have become an increasingly important tool in the developer’s toolbox. Working with speech data can not only improve the accessibility of your application. It can also increase conversion in your webshop, especially when customers shop on their mobile phones. Native apps have a large advantage in this space, as Apple’s SiriKit and Google’s Assistant SDK can get you up and running in a few minutes to hours.

Read more →

Thermometer sessions – Gaining insight in your team

Looking for inspiration on how to gain a shared insight in the current state of your team? And curious how to find actions for your team to improve? Read below about the ‘thermometer session’, a workshop that we designed to improve our own business unit. The goal of these sessions is to get an insight in the current & desired state of the unit. In other words: how does the team feel currently about the unit and how do they think it should be. Based on these insights we take action to further improve our unit, which results in a happier working environment for everybody.

Read more →

Share This