Software Engineering categories

Automated OCD with Stylecop

I never really got into Stylecop or FXCop. I did make use of some of the Resharper autoformatting configuration, and static analysis features, and have in the past automated and configured this. But since starting to use Visual Studio Code, I have been looking for more and more ways to get the benefits of the Visual …

A Windows Service using netcoreapp on dotnet

I wrote Building a Windows Service with .Net Core and had a bit of flack because I was only using .Net core to build a .Net 4.5.2 application. Technically the title is still valid, it was a windows service, and I built it using .Net Core tools. But since people came looking for the answer to actually hosting a …

Developers are not lazy, they're efficient

Well, mostly. I hear the excuse a lot from developers, “Oh, because I am lazy”. This seems to be some sort of way of justifying the way we do some of our development, automation scripts, bash power-user commands like grep and awk, even writing a program to solve something we could do ourselves manually. …

My C# naming conventions

I have opinions! I’ve been meaning to write this article for a while. I have various opinions about code formatting, and they may or may not conform to the norm. Also, they change occasionally as and when I get a good explanation of why a different way is better, or when I discover a technique while learning a …

.Net Core SDK 2.* Series - Self-contained Applications

This is a series on the latest 2.* .Net Core bits, Following on from the original .Net Core Series Getting Started What’s in the box Using Multiple Projects Testing NuGet Multi-targeting Publishing Portable Applications Self-contained Applications <=(We are here) (At the time of writing, 2.1.4. I use …

.Net Core SDK 2.* Series - Publishing Portable Applications

This is a series on the latest 2.* .Net Core bits, Following on from the original .Net Core Series Getting Started What’s in the box Using Multiple Projects Testing NuGet Multi-targeting Publishing Portable Applications <=(We are here) Self-contained Applications (At the time of writing, 2.1.4. I use …

.Net Core SDK 2.* Series - Multi-targeting

This is a series on the latest 2.* .Net Core bits, Following on from the original .Net Core Series Getting Started What’s in the box Using Multiple Projects Testing NuGet Multi-targeting <=(We are here) Publishing Portable Applications Self-contained Applications (At the time of writing, 2.1.4. I use …

.Net Core SDK 2.* Series - NuGet

This is a series on the latest 2.* .Net Core bits, Following on from the original .Net Core Series Getting Started What’s in the box Using Multiple Projects Testing NuGet <=(We are here) Multi-targeting Publishing Portable Applications Self-contained Applications (At the time of writing, 2.1.4. I use …

.Net Core SDK 2.* Series - Testing

This is a series on the latest 2.* .Net Core bits, Following on from the original .Net Core Series Getting Started What’s in the box Using Multiple Projects Testing <=(We are here) NuGet Multi-targeting Publishing Portable Applications Self-contained Applications (At the time of writing, 2.1.4. I use …

.Net Core SDK 2.* Series - Using Multiple Projects

This is a series on the latest 2.* .Net Core bits, Following on from the original .Net Core Series Getting Started What’s in the box Using Multiple Projects <=(We are here) Testing NuGet Multi-targeting Publishing Portable Applications Self-contained Applications (At the time of writing, 2.1.4. I use …

A PowerShell Watch Command

I use dotnet-watch a bunch and have used a version via grunt/gulp a little in the past as well. In front of me, I had some TypeScript, tsc and an app.ts file. I wanted to watch it and trigger tsc automatically. But there was no csproj, no NuGet, and no npm in sight. I went searching far and wide for solutions, and some …

.Net Core SDK 2.* Series - What's in the box

This is a series on the latest 2.* .Net Core bits, Following on from the original .Net Core Series Getting Started What’s in the box <=(We are here) Using Multiple Projects Testing NuGet Multi-targeting Publishing Portable Applications Self-contained Applications (At the time of writing, 2.1.4. I use …

.Net Core Series - Self-contained Applications

This is a series on the .Net Core 1.0 bits. Looking for .Net Core 2 Series? Getting Started What’s in the box Using Multiple Projects Testing NuGet Multi-targeting Publishing Portable Applications Self-contained Applications <=(We are here) This was meant to be an article on Self-contained applications in …

Subcutaneous Testing against React + .Net Applications with Storyteller - A Reply

A week or two ago Jeremy Miller posted an article Subcutaneous Testing against React + .Net Applications. It outlined some early R&D on the new Storyteller.Redux, which allows you to run Storyteller tests against Redux stores using WebSockets. While he had a proven way of communicating between React/Redux and …

TypeScript over JavaScript, Always

Prelude As a developer, JavaScript is inevitable. Unless you’re a dba or mobile app developer I suppose, but I digress. When working with JavaScript applications, you certainly have to be using a build pipeline of some description. If you are not at least bundling and minifying you are certainly doing it wrong, …

There can be only one return; 0 RLY?

My opinions and choices on style of coding evolves and changes over time. By blogging about this now, I can refer back later when I change my mind. I can also elicit the opinions of others to influence me to change my ways if I happen to be wrong and not know it yet. Lets talk about returns. There is an opinion that …

In C#, your structs should be immutable.

I wrote some code. It was simple code. I had a collection. I iterated over the collection and updated the values. I did this several times in an outer loop. The code didn’t work. Why didn’t it work? My collection was an array of Structs. When I pulled an item out in the for loop, it was copied. When I …

.Net Core SDK 2.* Series - Getting Started

This is a series on the latest 2.* .Net Core bits, Following on from the original .Net Core Series Getting Started <=(We are here) What’s in the box Using Multiple Projects Testing NuGet Multi-targeting Publishing Portable Applications Self-contained Applications (At the time of writing, 2.0.3. I use …

Ghost Blog Upgrade to 1.* (1.8.4 in fact)

While I’ve been hapily blogging away on Ghost version 0.8.0 hosted on azure (very much ad-hoc hosting approach) the Ghost Blog team made the leap to a 1.* version, with a very breaking changes along the way, especially to their upgrade process. They’ve made it all the way to 1.8.4 and so I figured it was …

dotnet build, targeting full .Net 4.5.1 on nanoserver docker

I have been struggling to get dotnet build to work on nanoserver via docker. I had already given up on git, because I can perform git tasks outside the container first. Basically I was trying this: docker run -v "$(pwd):C:/work" -w C:/work -it --rm microsoft/dotnet:1.1.1-sdk-nanoserver powershell build.ps1 …