Marnee Dearman (KG7SIO)

Pure F# Web API and Team City Build

How I fixed the broken build

We use TeamCity at work for continuous integration. I recently added a Pure F# Web API to a solution. Everything was building but this one project. The build (with FAKE) ran just fine locally, but in the Team City environment, running the same FAKE script, the build broke.

And all I got was this fun error:

D:\TeamCity\buildAgent\work\ . . .

Read More

March 13, 2017

An IVR with Neo4j and F# -- Part 2 A

Modeling the IVR domain with algebraic data types

Why am I doing this?

In part 1 I talked about getting started on my graph-based IVR system. I started with modeling the authentication sub-graph. I wrote some Cypher queries to build the graph in Neo4j. In this part I am going to talk about how I modeled the graph in F# using algebraic data types, namely discriminated unions and tuples.

This . . .

Read More

February 01, 2017

F# and xUnit Class Fixtures

Startup and teardown test modules

Why am I doing this?

I use a combination of F#, xUnit, and FsUnit to do my unit testing on .NET. I want to run a database setup script at the start of some test modules. In this case, according to the xUnit documentation, I need to use IClassFixture (or ICollectionFixture). I recently wanted to figure out how to make this happen in my unit . . .

Read More

January 22, 2017

An IVR with Neo4j and F# -- Part 1

Part 1: building the Neo4j graph database backend

Why am I doing this?

I develop something called the Interactive Customer Management System (ICMS). This lets customers enter orders for petroleum products from oil and gas terminals in India. Customers can get the status of their orders via SMS and IVR (interactive voice response). Developing a low-cost and simple IVR system is not easy. I do . . .

Read More

Posted in: f#ivrgraphsneo4j

January 16, 2017


Cover image credit:,0090,1,1,0,0,1