WebAPI 2 Scaffolding with Yeoman

Phil HackMon, 16 May 2016

At MarketInvoice, we want to scale our applications and infrastructure. We are doing this by breaking out code into micro(ish) services. One way that we can remove the blocker of the overhead of creating a new service is by generating scaffolding, such as yeoman to create a new service.

We typically use WebAPI 2 for our services that use the OWIN pipeline. When I was looking to build a custom generator, I found a few that were well done, a closish fit, but weren't exactly what we needed. So, I decided to learn how to use Yeoman, roll our...


MarketInvoice’s First All Company Hackday

Stephanie Le GeytWed, 27 Apr 2016

Last Monday, MarketInvoice ran its first company-wide Hackday. In case you’re not familiar with the term, a hackday is an event in which computer programmers and others involved in software development collaborate intensively on software projects. They’re really great ways to get people who don’t usually work together to solve problems together, or give them the license to work on something different.

Inspired by Google’s 20% time, MI’s tech team has an innovation day every other Monday; many of the projects have gone into production, but more importantly we think it keeps us learning. Feedback from the rest of the...


Continuous Process Flow

James AthertonWed, 02 Mar 2016

What is it?

Flow is the at the core of lean thinking. Minimising the time taken from inception of an idea to delivery will improve quality, lower costs, and improve response times.

Why should we care?

  1. Focus on quality
  2. Enhances flexibility
  3. Reduces Inventory
  4. Improves Morale
  5. Minimises Risk
  6. Improves Productivity

How can it do this?

Focusing on getting single items through to the customer as quickly as possible can be thought of as reducing the water flowing in a river. As the water level drops we see the stones and shopping trolleys sticking above the water....


Retrospectives - My Favourite

James AthertonWed, 24 Feb 2016

There are myriad ways to run retrospectives, and if you are ever lacking a retro or wish to mix things up please check out this amazing resource: http://retrospectivewiki.org/ - From Rob Bowley.

General format is:

  • Review actions from last retro
  • Discuss the last period of time (week, fortnight, month, project)
  • Generate ideas
  • Filter/vote
  • Discuss and generate actions/experiments

In this post I am going look at the Generate ideas section of my personal favourite retrospective. It is the "Stop, Start, Continue Retro". The name really says it all, what should we start doing? what should we stop doing?...


Andon - What is it and why?

James AthertonTue, 16 Feb 2016

The Andon cord is a cord on a physical manufacturing line that you can pull to stop the entire line. If an item arrives at a station, a defect is found and it cannot be fixed before it leaves the station then the cord is pulled to stop the line. That is what it is why would you pull it? You pull it to stop the defect affecting the processes downstream, you pull it so the whole team can help resolve the problem, you pull it so you can identify the root cause and fix it, you pull it so...


MSpec (Machine.Specifications) Visual Studio Adapter 1.7.0 released

Ivan ZlatevThu, 28 Jan 2016

In the last 2 weeks or so Ivan has given a helping hand to Jonathan Wilkins with the MSpec Visual Studio adapter project. The initial main focus was to get the adapter nuget ready, so that it can be used in Visual Studio Online (now Team Services) seamlessly. Ivan has also set-up a CI environment in AppVeyor: https://ci.appveyor.com/project/machine-visualstudio/machine-vstestadapter

If the udpated Visual Studio extensions is not live yet at the time you read this blog post - you can grab it from the *GitHub release: https://github.com/machine-visualstudio/machine.vstestadapter/releases/tag/v1.7.0 *

Release notes below. If you are curious what is...


CorrelatorSharp: Your one stop shop for context-aware logging and diagnostics

Ivan ZlatevThu, 28 Jan 2016

In the world of microservices and distributed systems it is very important to relate logging and diagnostic information of multiple services in the context of an operation to quickly diagnose issues.

What is CorrelatorSharp?

CorrelatorSharp is a .NET library that enables context-aware logging and correlation with no code changes or minimal such.

CorrelatorSharp is async/await aware and the current activity flows across tasks and threads automatically.

CorrelatorSharp supports out of the box (at the time of writing this post):

  • RestSharp
  • NLog
  • Application Insights

Support for the following is...


Declarative Elm Disease

Jason Dryhurst-SmithThu, 21 Jan 2016

Declarative Elm Disease: DED

"An effliction apon a host whereby a ravenous parasite seeks to clean up code by redirecting the host's ability to build bidirectional data flow mess and imperatively maintain state, to dev/null" - Me, 01/2016 aka just now.

What is Elm?

  1. Installed with NPM.
  2. Compiles to Javascript.
  3. Runtime packaged with build files.
  4. Strongly typed.
  5. Simple module system.
  6. Purist functional approach.
  7. ????
  8. Profit.

No really, what is Elm?

Elm is a language and a whole bunch of associated development tools, including a package manager and compiler.

The tools will take...