interface segregatio...

The I in SOLID stands for ‘Interface Segregation’. This is a fancy way of saying ”splitting apart dependencies”. Basically, an object should not have to depend on more than it absolutely has too. If it does, it may have to be modified when the dependency changes, even...

Severity is a priori...

When you get incoming requests and/or emergency tickets it’s important to be able to classify these properly to know whether you should stop what you’re doing or possibly if you should be doing it at all. This topic came up in my team the other day and at a prior clients we had a...

Communication in text Okt09

Communication in tex...

These past weeks we have focused on planning at my client. We’re figuring out the next steps in the product and this requires a lot of communication. As engineers I find that at times we focus completely at our trade. Often though, good or bad, we spend a huge amount of time...

User stories and use...

TL;DR; Use cases are higher level and describes to the user what a feature/story does and the user story describes how the system solves this need. My team is currently fleshing out some new features for the next version of our software and this morning I started thinking, how should we...

EnumerableExtension

Now I use the enumerable extensions in C# a lot. First(), Single(), Select() is everywhere. However, I’ve found that there’s a few I’m missing and that sometimes they just don’t exactly suit my purposes. So, sometimes I create an additional extension method or two,...

Trying out NDepend

What is this? I got the chance to try out NDepend, although with everything else, it took me quite some time until I finally got around to picking it up. Now NDepend is a tool, both command line, stand alone and as an addin to Visual Studio which allows you to do static analysis and reporting...

Tomato is a fruit!

So what’s the most pointless thing you’ve done this week? I’ve made a game to settle the score once and for all. And maybe, in the end, it’s not so pointless after all, though, if you do feel I could’ve spent my time doing something more worthwhile I’ll...

WPF editable ComboBo...

Today (and most of my night) I’ve been stuck with trying to bind to an editable WPF combo box. It sounds stupid and it is, really. The scenario is this: You have an editable combo box to which you bind a list of view models. I specify a data template in order to get the correct binding...

Hosting services eas...

Building applications, even servers, as console applications is great. Easy to run, easy to debug. Easy to host in a safe, error recoverable fashion.. wait what? Yes that’s right. Not out of the box of course, and not using any of the multitude of service installers out there. Use NSSM,...

MvvmLight and CanExe...

Today is going to be a very short post, more of a pingback really. We are using MvvmLight as it is the defacto mvvm library of WPF but when I upgraded the libraries from the .Net 4.0 versions to .Net 4.6.1 the other day most of our application broke down. The CanExecute callback of all our...

Loggly gotchas

I’ve setup Loggly today, really nice service but I found a few gotchas you need to keep in mind to get it working. I’m doing this on a docker instance, I’m sure there are other and better ways of doing this (suggestions are very welcome), since I wanted it to be a scripted...

Configuring Serilog ...

The past weeks I’ve been working with creating a service API in Asp.Net 5 and .Net Core, exciting stuff. We’re running this in a docker container configured from the base Asp Net containers so it’s all easy to deploy. Well almost. you have to have logging right? And the file...

Slowness in Selenium...

I’ve spent the day profiling trying to figure out why our RemoteWebDriver usage of Winium.Desktop is so much slower than just running the tests straight through Winium.Cruciatus. The profile yielded that TCPSocket#initialize was the culprit, strange, opening a socket shouldn’t...

Jenkins with Visual ...

On my current project we’re using Jenkins as a CI platform and Visual Studio Online with TFS for source control. I’ve been wanting to setup the builds on our intranet again to run the integration tests relying on intranet access each check-in. I had an issue with this, as I did...

Decoding html text t...

I’ve found myself having to convert HTML to plain text a few times in a row now and thought I would post my very simple solution for it. It’s got a few caveats, for example it won’t handle <pre> tags or margins on divs and such thing. Not even paragraphs. But I just...

Lazy day

Today we’re not having a post on the soothing music of Enya but the Lazy<T> class in .Net 4.0. This is probably old news to most out there but I just found it recently (having learned that lazy loading is usually something to avoid, temporal dependencies and all that). It’s...

Git credentials on w...

I was sure I had already made a post on this subject for my own reference but as it seems I haven’t here it goes. I’m not a great fan of passwords as I’ve got about three million or some such at this point so if there’s a way of not having to enter them every time...

Ruby and DRb

I’ve been getting into Ruby last week whilst playing with Selenium at work. We’re trying to get around quite a big and well known limitation of Selenium, that you cannot reuse a driver already created within another process. Since we’re executing our in steps, each step...

Event store growing ...

We had the opportunity of trying out some new tech a while back when building a licence system and going through the options for persisting data we ended up choosing Event Store (not just for the cute mascot). It’s not really intuitive to get up and running but works well once there....

Mark all mail as rea...

It’s easy enough to end up with too much unread email and gmail manages to hide some of its features quite well so here is a guide of how to mark all of your email as read. Step 1. Filter on unread mail In the search field, enter in:unread and press enter, this will give you a paged...

Alias for windows co...

When working with git and node js you end up using the command line quite a lot. As a Windows grown developer this is kind of a strange sensation really, you quickly start to appreciate why those Linux guys constantly advocated the bash and you also understand why they didn’t move over...

Live Mine Field R...

I’ve started coding Android again and in all honestly it fields like jumping head first into a mine field. Everything is littered with hidden problems that you have to carefully navigate around. This time I’ll try to cherry pick some of the problems I’ve had whilst getting a...

How do I (#,%-+ that...

I’ve taken up some Android programming again and this time in Android Studio, it really does improve the situation in comparison to Eclipse though it’s still far behind Visual Studio + Resharper but since it’s based on IntelliJDEA it does have a lot of the Resharper...

Environment variable...

I got it into my head earlier this evening that maybe I couldn’t reach my files that should be registered in the PATH variable because it had been truncated, after all when I ran Shell ECHO %PATH% 1 ECHO %PATH% I did get a truncated text. However that is probably just due to the output...

My path registered E...

There’s always that time when you set up a new environment and want to get to that file registered in %PATH%, like msbuild in the developers console or something. You Google or dir /s and eventually find that files but always wonder, is there not an easier way? ‘course there is:...