I’m Eric Tummers, Technical Consultant at Valid, and this is how I work

I’m hired as a Software Architect to build a solution with Microsoft products. Our team works by the scrum guide and is moving towards continuous deployment. We are learning and growing while delivering business value. This is hard work. Every sprint we complete means the retrospective is done in the pub.

I expect the best and I give the best. Here’s the beer. Here’s the entertainment. Now have fun. That’s an order!

Location: Sittard, NL
Current Gig: Technical Consultant, Valid
Word that best describes how you work: Teamwork
Current mobile device: iPhone se
Current computer: MacBook 15 inch

What apps/software/tools can’t you live without? Why?

Wunderlist: work tasks, chores, groceries, planning, every task is there.
Evernote: I’m a fan for years now. Not to happy about the recent update but time will improve this.
iSmoothrun: when I’m not working, I’m running, this app tracks just about every metric I can think of and shares it to all the platforms (runkeeper for one)
Parallels 11: Running Windows on my MacBook is a must. And of course visual studio, team foundation server, build, release manager, sql server management studio, remote desktop, powershell, and some other tools I need for work.

What’s your workspace setup like?

Work at the office is on a thin client with 21 inch screen and (wired) mouse and keyboard. The desk and chair comply with all regulations. We have a great coffee machine.


My home workspace has moved to the kitchen table with my Macbook 15 inch. No externals and enough battery for the whole day. Freedom!

What’s your best time-saving shortcut/life hack?

Timebox. Start on a task and spent the time you’ve got to get the best result. Get someone to look at it, get feedback. Then decide if the result is final or to spent some more time.

Besides your phone and computer, what gadget can’t you live without and why?

I’ve been running with my Magellan Echo for some time. It is a sports watch that hooks up to my phone by bluetooth to start / stop my runs, control the music and see the metrics right on my wrist. It is powered by a battery that lasts 6 months and is easy to replace.
My Apple TV2 (jailbroken) hooked up to my NAS for movies and series. Also hooked to my stereo for music streaming. Awesome device!

What everyday thing are you better at than everyone else? What’s your secret?

Learning new things. My current project lets me implement new things (joy) Also I try to learn the things I know to my team or anyone who listens.
I have a basic understanding of how things work and try to map new things on there. For the details I have a Pluralsight subscription and black belt google skills.

What do you listen to while you work?

My alarm clock plays classical music to wake me up in the morning. The car stereo plays about everything (grunge, rock, kids stories) driving to work. When I need some focus I play drum and bass on my headphones. My ringtone is still Run riot by Camo & Krooked.

What are you currently reading?

Tools of Titans by Tim Ferriss. A Christmas gift. Best described as a book of “How I Work” posts full with tips and tricks of the titans (experts)


How do you recharge? What do you do when you want to forget about work?

Spending quality time with my wife and daughters. Phone on silent, no screens, no work. Mostly piggyback riding and thee parties
Also sports like running, fitness, climbing and snowboarding to keep me fit and healthy.

Fill in the blank: I’d love to see _________ answer these same questions.

Iris Classon, because she had to start from zero with her career shift and is now a Microsoft MVP (Most Valuable Professional).

What’s the best advice you’ve ever received?

someecards.com - Make a shit first draft you cannot edit a blank page
I believe this is a variant on a Hemingway quote.

Is there anything else you’d like to add that might be interesting to readers?

Learn Powershell. There is so much possible with Powershell. If you can learn one thing this year pick Powershell. 

Original idea from Lifehacker.com.

Posted in Uncategorized | Tagged , , , , , | Leave a comment

My alternative to Pebble

About a year ago I backed the latest kickstarter project from Pebble. The battery life, the timeline and the support for my running app justified the purchase. But as we all know the device never made it to my wrist.

With some money to spare and my birthday coming up I decided to go for the Garmin Forerunner 235. It was favoured over the Apple Watch (yes I’m an Apple fan) because of the battery life and the fact that it is a running watch first and smart watch second. Both have build-in GPS but only the Garmin shows the status.

Garmin FR235

The smart features of the watch are limited to displaying the weather and your appointments, music control including volume and showing notifications. Everything is synced from the (i)Phone to the watch. No reply to messages or snooze of alerts. Pretty limited for a smart watch, but it works for me.

Looking at a message on my watch made me think of the pebble notifications I saw on youtube review, minus the animations. The screen looks like the same e-paper technology is used.

** But wait there is more **

Garmin has it’s own app platform called Connect IQ. There are over 1000 apps in the store you can download and install. The SDK is free and everybody is encouraged to develop something great.

In the end I’m very happy with my watch. Still sad Pebble is no more.

In-dept FR235 review by Dc Rainmaker

Posted in Uncategorized | Leave a comment

Error 14274: Cannot add, update, or delete a job (or its steps or schedules) that originated from an MSX server

We use SSIS packages to import files. These SSIS packages are run with sqljobs. During deployment the sqljobs are created with a script. That is the plan.

While running the script to create the sqljobs we got an error:

Error 14274: Cannot add, update, or delete a job (or its steps or schedules) that originated from an MSX server

Image courtesy of jesadaphorn / FreeDigitalPhotos.net
Image courtesy of x / FreeDigitalPhotos.net

Most solutions found on the internet talk about the name of the server. When you’ve renamed your Sql Server (yeah right) then you need to update the originating_server column in the sysjobs. This was not the case for us.

Over at msdn someone suggested to look at the variables. The first create sqljob would set the @jobid variable and the second create statement would use that value as input, where it is intended as output. The suggested SET @jobid = NULL before each call to sp_add_job did the trick.

Posted in Development | Tagged , , , | Leave a comment

SDN event March 2017

The SDN – Software Development Network – is a special interest group for dutch developers. Four times a year they organise an event where people present and talk about their passion.

As a member of the SDN you are aware of the latest developments. You are part of a network of professional developers who assist each other in word and deed. This means there is a technical helpdesk at your fingertips so you can book considerable time savings in solving problems.
sdn.nl with Google translate

Here are the talks I attended.

Customer identities in an Enterprise scenario

With slides and demo’s Jurgen showed us the Azure Active Directory Business 2 Consumer (AD B2C) solution from Microsoft. It differs from AD that you don’t know how many users you need in advanced and thus the costs are mainly based on the number of authentications, where AD charges for the amount of users.

The features include self-service (password reset, signup, …), usage of (social) identity providers and extensive login page customisation.

* Image from blogs.msdn.microsoft.com

Zero-downtime applications with containers

Docker is used for highly available solutions. In the demo a docker swarm was used to host a .net core application. With a visualizer container the setup (1 master and 2 slaves) was visualised on a website.

Using blue-green / rollout scenario’s the upgrade can be performed. Tips for database scheme: support version n-1 and do an upgrade after the last n-1 version of your application is replaced.

Fun fact: presentation had to be done with webcam from laptop #1 pointed to screen of laptop #2 because the projector couldn’t handle the resolution of laptop #2. 😎

Progressive web apps and the future of the web

Progressive web apps (PWA) are defined as Reliable (offline), Fast (install/usage) and Engaging (capabilities). It uses a Service worker, which is installed from the website. The Service Worker reacts to events, retrieves data from the internet when online or from the cache when offline.
Interesting links for PWA:

The presentation was recorded and is available on youtube:


A lot is happening and a single developer can’t keep up with all new things. This SDN event is (again) a great way to see what’s happening and get first hand information from experts.

Posted in Conference | Tagged , , , , , , , , | Leave a comment

Renew certificate 2017 edition

Today I used my trusty post Resolve certificate error for Synology Diskstation part 3 of 4 again to renew my certificate. The site startssl.com is still alive, is still free and still works. They even send me a reminder 2 weeks in advanced of the certificate expiring.

Uploading the certificate caused my browser to throw errors. The certificate was not trusted. Not happy 😦

There was some turbulence since last autumn. I totally mist this.

I need another (free) SSL source.

After some searching I ended up using sslforfree.com since I could verify my domain by adding a TXT-record. Other sites needed me to host files or open ftp to them with username and password 😯

To verify my domain using a TXT-record I noticed the google support page was not providing the right solution. The DNS entry should have _acme_challenge for the Host name:

Type Host Value TTL
TXT-Record _acme_challenge R4nD0m57R1n9 1 min

The provided certificate is valid for 90 days. Safari trusts this CA and the certificate. I’m happy again. 🙂

Posted in Security, Tooling | Tagged , | 1 Comment

Workaround for excluding assemblies from code coverage in TFS2015 build

Our build server is TFS2015 and Microsoft promises that we can customize code coverage analysis. But with runsettings setup to exclude assemblies from code coverage exceptions fail the build. Not nice.

Today we figured out how to work around this and exclude an assembly from code coverage. The key was in the msdn article; the pdb file was needed to get code coverage. Would this mean that when the pdb file was not there no code coverage was registered?

The assembly we wanted to exclude was Common.Logging. The nuget includes the pdb file for debugging purposes. We’re about to delete it in our build sequence:



The delete files step removes the Common.Logging.pdb before the Visual Studio Test step. Now the code coverage is not calculated for Common.Logging. Mission accomplished.

Posted in Development | Tagged , , , | Leave a comment

Syncfusion grid datetime format fixed

We use the data grid from Syncfusion and it is awesome! It serialises the data on the server and puts it in the page as json. Now more postbacks to get extra data or for sorting / filtering / other expected user feature.

Unfortunately the formatting of datetime field was broken in the version we are using. After some digging we found that altering the json serialisation would fix the issue. See code below

using Newtonsoft.Json;
using Newtonsoft.Json.Converters;
using Syncfusion.JavaScript.Shared.Serializer;
using System;

namespace Utils {
    /// <summary>
    /// big data serializer, uses Newtonsoft.Json to get over 4Mb limit
    /// and serializes datatime fields for easy formatting
    /// </summary>
    public class BigDataSerializer : IDataSourceSerializer {
        // format DateTime as milliseconds from 1-1-1970 (java thing)
        public class MyDateTimeFormat : DateTimeConverterBase {
            public override void WriteJson(JsonWriter writer, object value, JsonSerializer serializer) {
                var milliseconds = ((DateTime)value).Subtract(new DateTime(1970, 1, 1)).TotalMilliseconds;
                writer.WriteRawValue(string.Format("new Date({0})", milliseconds));

            public override object ReadJson(JsonReader reader, Type objectType, object existingValue, JsonSerializer serializer) {
                throw new NotImplementedException();

        // uses the MyDateTimeFormat class
        public string Serialize(object obj) {
            var result = JsonConvert.SerializeObject(obj,
                                new MyDateTimeFormat());
            return result;

In the Razor file that uses the data grid we put the following code at the start. This makes sure the BigDataSerializer is used and DataTime is formatted correct.

    Syncfusion.JavaScript.Shared.Serializer.DataManagerConverter.Serializer = new Utils.BigDataSerializer();
Posted in Development | Tagged , , | Leave a comment

Effort: Unhandled exception while trying to initialize the content of Table

We use Effort with the CsvDataLoader in our integration tests. After adding a new data file we got an exception.

unhandled exception while trying to initialize the content of table

On the forum every thread ended with something like “my bad” or “never mind”. Looking closer to my csv file showed the error: a typo in the header. The header contains the fields and they must match the fields in the table. After correcting the column header to dentDatabaseKey everything worked again.

Posted in Test | Tagged , , , | Leave a comment