I recently published a couple of articles on burn down charts as part of the knowledge base of my online tool printyourburndown.com. The articles are about: what exactly a burn down chart is and what the different parts it is made up of are examples of good burn downs vs. dysfunctional ones best practises of how to use […]
GDPR & AdSense: How to Create a Cookie Consent Modal that Defers Ads from Loading
Here you can find the code to accompany my video on blocking AdSense scripts from loading until the user has given consent: Here’s the HTML code for the consent modal: <div id=”consentModal” class=”modal fade” tabindex=”-1″ role=”dialog” aria-hidden=”false” data-backdrop=”static” data-keyboard=”false”> <div class=”modal-dialog”> <div class=”modal-content”> <div class=”modal-body”> <h2 class=”text-center”>Trust and transparency is important to us.</h2> <p class=”text-justify”> […]
How to Strip URL Parameters Using Google Tag Manager
This is the blog post to accompany my video tutorial on how to Strip URL Parameters from Google Analytics Page Views using Google Tag Manager: The following code overrides the page location stripping myparam from the URL: function() { var path = {{Page Path}}, query = {{URL Query Parameters}}, queryOverride = query.replace(/&myparam(\=[^&]*)?(?=&|$)|^myparam(\=[^&]*)?(&|$)/, “”), cleanedPath = […]
Google Dialogflow Chatbot & Realtime Database Tutorial: Read & Write Data
I published a tutorial video on how to read from and write to the Firebase Realtime Database using snapshots and transactions. This blog post contains the code examples from the video: Here is the index.js for the first step which is just reading from the database using a snapshot: const functions = require(‘firebase-functions’); const {WebhookClient} […]
BCS Business Analysis Foundation Practise Exam Questions
– full 40 questions practise exam – I recently passed my BCS Foundation Certificate in Business Analysis. While studying for it, I was searching for practise materials online and found that there are not many free practise exams with example questions out there. I decided that while studying I would create and collect my own practise […]
Google Dialogflow Chatbot & Slack Tutorial: Trigger a Slack Notification from a Firebase Webhook
In this blog post I’m going to share the code from my video tutorial on how to trigger a Slack message from a Dialogflow chatbot: Here is the index.js: // See https://github.com/dialogflow/dialogflow-fulfillment-nodejs // for Dialogflow fulfillment library docs, samples, and to report issues ‘use strict’; const functions = require(‘firebase-functions’); const {WebhookClient} = require(‘dialogflow-fulfillment’); const requestLib = require(‘request’); […]
Free Online Tool to Print Burn Down Charts Released: printyourburndown.com
In one of my recent roles as a Scrum master, I was experiencing some trouble printing burn down charts out of Jira. It seems that printing burn down charts was not something the makers of Jira had actively considered, or maybe they have even made a point of making it hard to print from Jira because […]
The Role of the Scrum Master
As part of my work at AND Digital I started taking on several Scrum master roles this year. It has been a journey of growth and I came to like it a lot. While most of the times I divided my time between developing and being the Scrum master, a couple of weeks ago I had the […]
Distributed Agile: The Why and How of Remote Scrum Teams
In my first real developer job I was working in a very small team in a startup. We were building a new front-end application from scratch. The team at the time consisted of only me, a junior front-end developer, and one more senior colleague. There was one particular challenge that gave us a hard time […]
Mutation Testing with Stryker in an Angularjs 1.6 App
In my current project I’m working on a large and messy Angular front-end. We are frequently making small changes and bugs keep creeping into the site. This had me wonder about some questions lately: How do we make sure that your unit tests are testing the right things? And how do we find out if […]