Recent Posts

Bicep - Create a storage account and retrieve SAS tokens

First thing first, I am really enjoying using Bicep. The intellisense is the real difference between that and something like Terraform, it makes discovery so much easier and creates a real flow to building Bicep files. The ability to get an ARM JSON file out of the Bicep script is also proving really useful when something isn’t working to figure out what I am doing wrong. I thought I’d just s...

First thing first, I am really enjoying using Bicep. The intellisense is the real difference between that and something like Terraform, it makes discovery so much easier and creates a real flow to building Bicep files. The ability to get an ARM JSON file out of the Bicep script is also proving r...

Terraform to Bicep - Part 2

Following Part 1, thought i’d write part 2 before I forgot/lost interest in doing so. In this part, I am just going to show a few examples of Terraform resources and the Bicep equivalents, including how I worked out what the Bicep equivalent was. For all of my editing, I am using VS Code with the HashiCorp Terraform and Bicep extensions. Storage Account Terraform resource "azurerm_stor...

Following Part 1, thought i’d write part 2 before I forgot/lost interest in doing so. In this part, I am just going to show a few examples of Terraform resources and the Bicep equivalents, including how I worked out what the Bicep equivalent was. For all of my editing, I am using VS Code with t...

Terraform to Bicep - Part 1

In what will hopefully be a multi-part series of posts, I’ll go over Terraform vs Bicep and cover translating a Terraform file to Bicep and cover the challenges I experience doing this and my thoughts as I go. What is Terraform? Terraform is a product from HashiCorp that provides a common way to build infrastructure and manipulate systems. It uses HashiCorp Common Language (HCL) and has a prov...

In what will hopefully be a multi-part series of posts, I’ll go over Terraform vs Bicep and cover translating a Terraform file to Bicep and cover the challenges I experience doing this and my thoughts as I go. What is Terraform? Terraform is a product from HashiCorp that provides a common way to...

Why document what you know?

I’ve been thinking for a while about writing this post and some recent realisations in my professional life has spurred me on to finally do it. This is just my view and my way of working. Your mileage may vary. Why documenting what you know benefits everyone. So why document what you know? As people in the tech profession, especially as part of a multi-discipline team (i.e. not just pure dev...

I’ve been thinking for a while about writing this post and some recent realisations in my professional life has spurred me on to finally do it. This is just my view and my way of working. Your mileage may vary. Why documenting what you know benefits everyone. So why document what you know? As ...

Automating Fortify scanning in Azure DevOps

Fortify is a really useful tool for scanning your code and reducing the chance of bugs or vulnerabilities making their way in to production. They even provide Azure DevOps tasks for integrating submitting your code in to your build pipelines. The documentation for how to actually set the whole process up is pretty poor to non-existent so below is what I did to get it working which I hope will ...

Fortify is a really useful tool for scanning your code and reducing the chance of bugs or vulnerabilities making their way in to production. They even provide Azure DevOps tasks for integrating submitting your code in to your build pipelines. The documentation for how to actually set the whole p...

Supporting SameSite None in .Net 4.6 or lower

As I write this post, it is 4 days until Chromium begins enforcing the new SameSite rules again. When they first did this in March, it caused a number of issues including breaking website integrations with some payment gateways. If you’re on .Net 4.7 or higher, Microsoft supports setting SameSite to None. The official recommendation is that if you want to use SameSite None, then you need to m...

As I write this post, it is 4 days until Chromium begins enforcing the new SameSite rules again. When they first did this in March, it caused a number of issues including breaking website integrations with some payment gateways. If you’re on .Net 4.7 or higher, Microsoft supports setting SameSi...

API Head-to-head Update : AWS S3 Vs Windows Azure Table Storage Vs Rackspace Cloud Files

This is an update to my last API head to head from August 2014, I’m nothing if not consistent with my inconsistent posting. I’ve recently changed jobs to a new company that is moving to Azure but has some legacy Rackspace assets, so I thought it’d be fun to redo the test with Rackspace added. Worth noting that the Rackspace support for C# is completely non-existent. The official Rackspace SDK h...

This is an update to my last API head to head from August 2014, I’m nothing if not consistent with my inconsistent posting. I’ve recently changed jobs to a new company that is moving to Azure but has some legacy Rackspace assets, so I thought it’d be fun to redo the test with Rackspace added. Wor...

Converting docx to PDF in Azure

As part of a recent feature, we needed to implement conversion of docx to pdf. A quick look on Nuget revealed Free Spire.Doc for .Net. We thought this looked like a great use case for Azure Functions, so the member of the team who was implementing the feature quickly implemented this as an Azure Function, but when we deployed it, it didn’t work. After a bit of googling, the cause of this was th...

As part of a recent feature, we needed to implement conversion of docx to pdf. A quick look on Nuget revealed Free Spire.Doc for .Net. We thought this looked like a great use case for Azure Functions, so the member of the team who was implementing the feature quickly implemented this as an Azure ...

Automating repetitive tasks with Azure Functions.

Since the announcement of Azure Functions at Build 2016, I’ve been looking for an excuse to use them and I finally found it. Whenever we release a new version of our software, the actual process for building and committing to source control is really simple and takes just a few minutes. Then I get to spend at least 30 minutes on our internal job management system telling it about the new rele...

Since the announcement of Azure Functions at Build 2016, I’ve been looking for an excuse to use them and I finally found it. Whenever we release a new version of our software, the actual process for building and committing to source control is really simple and takes just a few minutes. Then I g...

Windows 10 Mobile: An update

Even though my previous post was only published 6 days ago, it was written a week before that so I’ve now got 3 weeks of usage under my belt and felt the need to post an update. The biggest issue I’ve encountered over the last few weeks, and which I forgot to incude in the previous post, was battery life. This was suffering quite a bit in diaily use to the point where regular use of email, Rea...

Even though my previous post was only published 6 days ago, it was written a week before that so I’ve now got 3 weeks of usage under my belt and felt the need to post an update. The biggest issue I’ve encountered over the last few weeks, and which I forgot to incude in the previous post, was bat...