Blog

Some cool tricks with your Windows Shells

I’ve been getting more and more back to the command line, doing more with PowerShell and even Bash scripting on Docker and WSL (Windows Subsystem for Linux). There are a few of the tricks I have learned recently that help me every day. F8 searches history! That’s right! When you type into the command line …

Geeking out on a Saturday at the Birmingham Alt.Net Unconference

Unlike some unfortunate people who found out on the day and missed out, I had the opportunity to attend the Alt.Net Unconference in Birmingham this Saturday. Now I know some of you think Saturday Conferences are too far outside your work time. But hear me out on this first. This is a free event, which means no …

Clean Startup in your AspNetCore

I want to talk about this point made about Keeping a Clean Startup.cs in Asp.Net Core by K. Scott Alan. Mostly I want to agree and elaborate on it. (Warning! I used the British English customised below. If this doesn’t match your sensibilities, just use customize instead.) The Idea The basic idea is that we have …

NDC Oslo 2018 - Day 2 & 3

Day 2 Day 2 of NDC Oslo. A bit less productive than the first. I needed a longer lunch and missed a couple of slots, but made the most of talking to some of the speakers for a bit over the break. There is so much going on that it just felt necessary. Never-the-less, I did still pack in a few good choices throughout the …

NDC Oslo 2018 - Day 1

With 10 streams on, there has been a lot to choose from at NDC in Oslo. But as day one ends, I’ve now voted with my feet. And since I can’t be in two places at once (though the overflow does technically make this possible) these are the decisions I made, and a few takeaways from each. Day 1 I was pretty …

Coveralls.Net 1.0.0 Release

Christmas 2014. I was building out projects on GitHub in open source. The obsession with open source even went on to spawn a Series of Blog Posts. Each tool or library I was building lead onto another tool or library to make the build pipeline, or development process better. Often putting down one project while I …

AWS Summit London 2018

I recently attended the AWS Summit in London and thought I would give some notes on the event from my perspective. As a developer working for a company that uses AWS, there was plenty to get out of an event such as this, and the free attendance makes a great business case to get the time to go. I really enjoyed the …

Develop your Rust in Docker

I decided a while ago that the next language I would try to learn is Rust. I don’t want to go too much into Rust other than to repeat its own summary: Rust is a systems programming language that runs blazingly fast, prevents segfaults, and guarantees thread safety. – https://www.rust-lang.org/ But like all …

You can't out-exercise a bad diet

I heard a great quote yesterday: You can’t out-exercise a bad diet And this is a great metaphor for technical debt. We all agree that you need to pay down your tech debt in your software. And it’s great to commit to addressing a little technical debt during each sprint. The problem is that this is the …

Code Katas

Our team recently went through the Bowling Game Kata (as seen on Clean Code) from Uncle Bob. Here are some interesting learnings and takeaways from the session that I picked up on. Practice makes perfect The only way to get good at something is to practice. The concept of doing a Code Kata is to practice the art of TDD …

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 windows, …

.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 windows, …

.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 windows, …

On Screen Shortcut keys for presentations and recordings

I used this tool a while ago that let me show on-screen what keyboard shortcuts and combinations I was pressing so that others could see them, especially during presentations, and on video recordings. But for the life of me today, on a new machine, I couldn’t remember what it was called. Searching didn’t …

.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 windows, …

.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 windows, …