Entity Framework Adventures - Concurrency Troubles

I’m building a new project to automate various DevOps tasks, I decided to go for Entity Framework as handling the database. I have a standard SSDT project for the actual database structure, but in the service-project the code part of it is through an EDMX file. Out of the box, the T4 template generates data classes and a class inheriting from DbContext. No news here. I also decided to go for Autofac for dependency injection and wire up the whole thing. It should be a straight forward task and many blog posts are available for making this happen. However, I ran into some non-trivial issues when I added a few extra background threads to the mix.

Read more

Proposed SCRUM Retrospective Agenda

As a working ScrumMaster at TimeLog, I have tried to come up with an agenda for each of meetings in a Scrum cycle. At the moment, I find the retrospective meeting the hardest to keep a good pace in order to not exceed 2 hours and make sure that the team covers the most important items each time. In this blog post, I’ll try to outline our model for getting through the retrospective in an orderly fashion.

Read more

Swift IIS log analytics with Elastic and Kibana

I have been playing around with Elastic and trying to figure out how to use it, and more importantly what to use it for. In TimeLog, we currently have a set of webservers with several IIS websites and we want to be able to monitor basic usage across all sites, something that we currently are not doing. Each customer has their own IIS application, so we see almost identical URLs in the standard W3C IIS logs apart from the first subfolder which we refer to as shortname. We want to be able to track views on each page across these sites and servers.

Read more

New website based on Jekyll

I have decided to abandon my existing website and start over. First of all, I needed to update the design. It really needed a refresh. Elements needed to be removed, texts needed updating and I needed to rethink what I needed it for.

Read more