Beware “RunOnStartup” in Azure Functions – a serverless horror story

Everyone loves a good technology horror story, right? The gorier the better in my experience. Well, over the last weekend we had an, um, “incident“. To my mind, it’s got all the ingredients of an excellent example of the genre: a small mistake, complicated conditions, and a big financial hit (mercifully averted). Sound like your kind of thing? Read on. I hope I do it justice…

Continue reading

New tricks for an old dog – what I learnt from VS Code

After nearly a decade of coding in Visual Studio, a recent change in employment has put me in front of VS Code. The experience has had its ups and downs, so I thought I’d post a few pointers for anyone else who ends up in my situation. Moving beyond practical matters, I’d also like to take a moment to reflect on what the experience of weaning myself off Visual Studio has taught me. Zooming out further still, I close this post by considering what VS Code says about the state of the .NET ecosystem and try to put it all in perspective. If you can stomach all that, read on…

Continue reading

Postman vs Insomnia – why not both?

Just over a year ago I was emphatically singing the praises of Postman. Before that, I’d been using Fiddler to make calls to REST APIs and man, was that a drag! Recently I’ve had a similar experience when I discovered an alternative REST client called Insomnia. Unlike last time, however, I won’t be ditching the previous flavour of the month… Read on to discover why (for the time being at least) they both get a spot on my desktop.

Continue reading

Tom’s going down under!

It’s been a while since I last posted anything here, but that’s because I’ve been busy. My family and I are relocating to Australia from the UK and we’ve been making all the necessary preparations. This post is a bit of a digest of all the things that are happening, some observations about the process of applying for a job overseas, and finally some teasers for future blog posts.

Continue reading

Developing on Salesforce – 3 initial observations

Lately, I’ve been trying to improve my Salesforce skills. It’s been getting pretty interesting, to the point where I’d like to dedicate a post to it. (Hardcore .NET/C# readers may want to skip this week!) There are bits of the Salesforce developer ecosystem which I love and a few bits that are a little janky. I think the most interesting thing for developers is “Salesforce DX”, which I’ll try to explain briefly.

Continue reading

Getting started with Blazor – my red pill moment

I’ve recently blogged about how excited I am by the promise of Blazor. Well, I’ve built my first Blazor app and, having tried it, I’m no less excited. There are still plenty of rough edges (which I talk about below), but it fundamentally works. In this post, I’ll try to outline the pitfalls as best as I can, in the hope that others find it useful. Please don’t construe anything I write as a criticism of the Blazor team – what they’ve done is already game-changing.

Continue reading

Blazor and .NET Core hosting – the future’s bright

In a past life, I was a web developer. In this post, I’d like to take an outsiders perspective on a couple of developments that I think will be hugely disruptive in the coming years. The first of these is .NET Core making it possible to run .NET websites on cheap hosting. The second is Blazor, which promises to let us use .NET for front-end web scripting – replacing Javascript. This post is a bit more soapbox-y than usual, so bear with me!

Continue reading

Automating NuGet deployment with AppVeyor

In the past, I’ve blogged about using AppVeyor for Continuous Integration (CI), but up to now, I’ve been manually uploading NuGet packages to NuGet.org. In this post – the 10th in the ConTabs series – I explain the steps I took to automate the packaging and deployment of ConTabs to NuGet.org. Or, in other words, how I’m using AppVeyor for my Continuous Deployment.

Continue reading