Mark Ian Holland's Blog

Software solutions with a difference. C# + .NET, React and anything else. Computer Science PhD graduate. Talk to me about sustainability, I like that 🌎

09/02/2024

Blazor Bits: Automatic Request Cancellation From Components

I have been working in Blazor with some of my latest dotnet work. Blazor is great but there's a few elements you seem to need to implement yourself. One is request cancellation when navigating away from a component. Let's get into it.

10/01/2024

Blazor Bits: Javascript Module Interop Base Class

I have been working in Blazor with some of my latest dotnet work. Blazor is great but you do eventually have to reach for JavaScript when the going gets tough. This base class from the experts made my life a lot simpler.

11/06/2022

CSV to Markdown with the browser Python framework, PyScript.

Python is a super slick scripting language to work with. Browsers are ubiquitous and the king of interfaces. PyScript is bringing these technologies together with the power of Pyodide and WASM. Let's give it go by creating a useful tool to convert CSV to markdown.

22/04/2022

Green and Sustainable Software

I'm always on the lookout for Green tech and sustainable software. Let's reduce the carbon footprint of the IT sector together. I'm talking Electric vehicles, web optimisation and carbon offsets. If you're interested too, then here are a few examples that have caught my eye.

27/03/2022

UK MOT Garages Mapped with LeafletJs

Throwing data at leaflet js is always fun. This time I used the GOV UK transparency data for MOT garages in England, Scotland and Wales.

03/02/2022

Gotta CAPTCHA them all!

Do you want to be the very best, Is CAPTCHA-ing your users your real test? Then your search is over.

31/01/2022

File Uploads with FilePond Js and .NET 6

Simple and beautiful file uploads in an instant. ASP.NET and the FilePond JavaScript library is a match made in heaven. I've often been asked to integrate file uploads into .NET MVC websites, often to AWS S3 or Azure Blobs. Here's an example to get you started.