Richard Astbury’s Blog
Richard Astbury’s Blog
Agent-readable index of articles by Richard Astbury about software engineering, cloud architecture, AI, mapping, Microsoft Azure, and developer tools.
- Website: https://richorama.github.io/
- RSS feed: https://richorama.github.io/feed.xml
- Sitemap: https://richorama.github.io/sitemap.xml
- Compact LLM index: https://richorama.github.io/llms.txt
Blog posts
Building a Conversational Alexa Skill with Microsoft Foundry Agents
Published 2026-08-06. A practical walkthrough for connecting an Alexa custom skill to a Microsoft Foundry agent using Azure Functions, managed identity, conversational context, and a latency-safe fallback.
The Universe’s Source Code Might Be Written in Octonions
Published 2026-06-03. An experiment in AI-assisted theoretical physics. What happens if you point a generative AI at one of the hardest unsolved problems in fundamental physics? The result is a framework with zero free parameters and 23 quantitative predictions — all matching experiment to 0.1–7%.
Finding New Worlds - Using Python and Open Data to Discover an Exoplanet Candidate
Published 2026-01-05. How we used Python, NASA’s Kepler data, and systematic validation to detect KIC 8554498 b—a potential new exoplanet with an extraordinarily strong signal that may have been overlooked. A story of open science, technical challenges, and the power of accessible astronomy tools.
Microsoft Copilot Researcher Solves Today’s Wordle Using “Computing Using Agent”
Published 2025-10-27. I watched Microsoft Copilot Researcher tackle today’s Wordle puzzle using its “Computing Using Agent” feature. Here’s how AI approaches word puzzles with systematic reasoning and computational strategy.
AI Self-Portraits
Published 2025-07-21. I asked various AI language models to create self-portraits of themselves. Here are the interesting and creative results from Gemini, ChatGPT, Copilot, and Grok.
Microsoft Tooling for Application Modernisation
Published 2024-02-09. 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
2023 Reading List
Published 2023-12-31. 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.
Connecting Azure Logic Apps to Azure OpenAI
Published 2023-12-21. 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.
Build your own Copilot
Published 2023-09-05. 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.
ChatGPT Tips and Tricks
Published 2023-06-14. 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.
GitHub Copilot Tips and Tricks
Published 2023-06-01. Some tips and tricks for using GitHub Copilot in VSCode
App Modernisation
Published 2023-05-22. 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.
SFTP in Azure
Published 2022-05-09. Azure Blob Storage now provides the ability to connect to a Container using SFTP.
Hello Orleans 4.0
Published 2022-03-22. 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.
Azure Blob Storage Index Tags
Published 2021-08-09. 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.
Cryptocurrency Mining in Azure
Published 2021-06-18. I thought I would try my hand at mining crypto in the cloud. After all, who wouldn’t want to be a bitcoin billionaire?
Offline maps with vector tiles
Published 2021-01-28. On a recent project we wanted to have high quality mapping, but completely offline.
Adventures in Installing your own Security Camera
Published 2020-11-14. I bought a £50 security camera off Amazon to improve security at our home.
Command Driven Map
Published 2020-11-13. 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.
Keeping it Simple
Published 2020-10-19. 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.
Event Driven Map
Published 2020-08-14. 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.
Converting to TypeScript
Published 2019-11-18. 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.
Azure Maps Data Service - First Impressions
Published 2019-07-04. 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.
Roll your own Vector Tile service
Published 2019-02-05. 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.
Rendering leaflet.js tiles in the browser
Published 2018-08-22. I wrote a fractral viewer using Leaflet.js which renders map tiles in the browser using a pool of service workers.
Lego House
Published 2018-05-01. On a recent family trip to Denmark we spent a day at the Lego House in Billund. It’s set back behind the Lego theme park, and has only been open for about a year.
Dev East
Published 2018-02-21. Dev East is a single day, single track software developer conference running on 16th March 2018 at Ipswich Town Football Club.
Bulk inserting data into SQL Server
Published 2017-11-28. Let’s say with have a simple table in SQL Server in which we want to insert thousands of values (Guids) from a .NET application.
Review of the HP Envy 13
Published 2017-03-22. I was in the market for a new laptop for work. I wanted a 13” (ish) Core i7 (7th gen), 16GB RAM and a 512 GB SSD to replace my 6 year old Lenovo X1. I compared a few laptops on the market, here’s the summary
Benchmarking Image Interpolation in .NET
Published 2016-08-10. I am attempting to improve the performance of image resizing in C#.
Comparing Microsoft Orleans and Azure Service Fabric Actors
Published 2016-07-08. Never has there been such a good time for C# developers wanting to develop software based on Virtual Actors. At the moment there are two systems available, Orleans and Service Fabric Actors.
The Good Parts
Published 2016-05-25. Yesterday I was trying to learn F# by reading through the O’Reilly book and trying a few code samples. I then made a flippant remark…
Orleans Hello World - 2016 Edition
Published 2016-05-19. Orleans has seen lots of improvements over the last year, in terms of the client APIs, the configuration and installation. So the process of getting started is now a little different. Let’s walk through setting up a grain, with a silo host and client application.
Continuous Integration on the Cheap
Published 2016-04-06. I used Azure Web Apps to build my small .NET application, which is held in a private BitBucket repository, without having to pay anything for a CI service.
Syncing data with SQL Server
Published 2015-11-19. When building occasionally connected apps, we frequently want to synchronize data between client and server. It’s common to build REST APIs to retrieve records from a database that have changed since we last connected.
Reactify
Published 2015-11-06. In this post we’ll look at using react to render the data on the screen
Enter the Browser
Published 2015-10-02. In this post we’ll look at moving code into the browser, to make a single page application - the node way!
Storing Data
Published 2015-09-25. In this post we’ll look at persisting data to a database. The node way.
Serving Angle Brackets
Published 2015-09-21. In this series of blog posts, we’re looking at how to set up a simple web app in node. In this post we’re going to put the plumbing in for serving html, both static and dynamic pages.
Setting up Node and Express
Published 2015-09-18. I’ve been talking to a few people lately about how I build web applications. There’s no single right-way of doing it, but here’s my workflow, split into small blog posts you can follow.
Setting up a Google Hangout On Air
Published 2015-05-21. Setting up a Google Hangout is not obvious, here are the steps I take to create one.
Optimistic Concurrency in Orleans
Published 2015-01-22. the Storage Provider infrastructure in Orleans exposes an ‘Etag’ field representing a particular revision of the data in the underlying storage system. This can be used to detect writes competing writes to overwrite grain state.
Thoughts on Deploying Orleans
Published 2015-01-13. A post discussing a future possibility for deploying Orleans to Azure
Running io.js on Azure Websites
Published 2015-01-12. You can run io.js on Azure Websites easily, by configuring azure to use a custom node version. This blog shows you how.
Grain placement in Orleans
Published 2015-01-02. It is possible to change this behavior by adding an attribute from the Orleans.Placement namespace to the Grain interface.
Bootstrap provider in Orleans
Published 2015-01-02. The bootstrap provider enables you to hook in some code at silo startup. There are a variety of reasons for doing this, perhaps you want to set some local grains up, or initialize some data. The Hub design pattern makes use of the bootstrap provider create a stateless worker in each Silo.
Languages
Published 2014-12-31. In the office we have a healthy, ongoing discussion about language choice. We generally discuss some hypothetical long term (10, 25, 100 year?) software project, and what language would be the most suitable.
Thoughts on Julia
Published 2014-12-10. I have been playing around with the Julia programming language for about a week. I like it. It has a easy to read syntax, and makes sense.
Farewell Wordpress
Published 2014-12-10. I have moved my blog to GitHub