Microsoft Tooling for Application Modernisation

Microsoft provide various tooling options for application modernisation. Whether you are working with ASP.NET or Java, Microsoft provides a range of tools to help you discover, containerise, and migrate your applications to Azure

Read more...

2023 Reading List

A compilation of the books I have listened to or read in 2023. I started listening to audiobooks while doing household tasks and during commutes. The standout book for the author was 'Shoe Dog' by Phil Knight, the story of the founding of Nike, which received a five-star rating.

Read more...

Connecting Azure Logic Apps to Azure OpenAI

GenAI can also be used in a variety of ways to support 'back end' processes. Azure Logic Apps provides a great way to implement business process, with it's rich set of connectors and visual workflow designer. This guide talks through a simple example of a Logic App that calls the Azure OpenAI API.

Read more...

Build your own Copilot

There are many use cases for generative AI, but one that many people have been excited about is the ability to build a chatbot that can answer questions about any topic. In this post I cover the different levels of sophistication you can build into your chatbot, and how you can use the Azure OpenAI API to build your own Copilot.

Read more...

ChatGPT Tips and Tricks

The ChatGPT interface is much more flexible than the chat, text generation and summarisation examples often cited. As a developer there are a few interesting use cases I have played with briefly. Here are a few examples.

Read more...

GitHub Copilot Tips and Tricks

Some tips and tricks for using GitHub Copilot in VSCode

Read more...

App Modernisation

Modernisation is a journey. It's the continuous acknowledgement that technical debt should be paid down, and that we should be constantly looking for ways to improve our software, and opportunities to make the team more efficient. This could include refactoring, rearchitecting, or rewriting, but it could also include improving the way we work, or the tools we use.

Read more...

SFTP in Azure

Azure Blob Storage now provides the ability to connect to a Container using SFTP.

Read more...

Hello Orleans 4.0

With the advent of .NET 6, C# 10 and Orleans 4.0 (preview) it seems like a great time to take a fresh look at Microsoft Orleans.

Read more...

Azure Blob Storage Index Tags

Index tags allow you to provide up to 10 key-value pairs for a blob. The tags are indexed, and you can use them to query blobs in your storage account.

Read more...

Cryptocurrency Mining in Azure

I thought I would try my hand at mining crypto in the cloud. After all, who wouldn't want to be a bitcoin billionaire?

Read more...

Offline maps with vector tiles

On a recent project we wanted to have high quality mapping, but completely offline.

Read more...

Adventures in Installing your own Security Camera

I bought a £50 security camera off Amazon to improve security at our home.

Read more...

Command Driven Map

I have found an approach that works well when building web based map applications in React.js. I've found in the past that map components can get very complicated very quickly making the map control hard to maintain and hard to add new features to.

Read more...

Keeping it Simple

I recently worked on an internal project with a team of grads and inexperienced developers. Five of us in total. It was a short project - a line-of-business application to convert spreadsheets into software. It was a lot of fun.

Read more...

Event Driven Map

After implementing maps in react applications a few times, I have found that map components and react have have quite different, and largely incompatible abstractions.

Read more...

Converting to TypeScript

On a couple of recent projects at work I've been forced to really use TypeScript. I've emerged from this experience loving the language. I'll attempt to show you what I've discovered.

Read more...

Azure Maps Data Service - First Impressions

Azure Maps consists of a set of geospatial REST APIs and a JavaScript web map control. Some of the services (including the data service) are in preview.

Read more...

Roll your own Vector Tile service

Vector Tiles are an efficient way of displaying a large amount of data on a mapping control. This post we build a simple vector tile server using node. The server will generate mapping tiles on the fly, and return them to the browser as protobuf encoded vector tiles.

Read more...

Rendering leaflet.js tiles in the browser

I wrote a fractral viewer using Leaflet.js which renders map tiles in the browser using a pool of service workers.

Read more...