Syncing from DynamoDB to Redshift

This blog lays out a low-cost approach to syncing incrementally (and/or running full exports) from DynamoDB table(s) to Redshift*, using only S3 and AWS Lambda, with Chalice used as the framework for defining the application code, in python 3.9. * you could probably switch this for another data warehouse like clickhouse without too much effort.ContinueContinue reading “Syncing from DynamoDB to Redshift”

My First Custom Excel-DNA Add-In (dotnet6 edition)

This is an upgrade to my earlier blog “My First Custom Excel Ribbon using Excel-DNA”, now written for dotnet core. I add in Microsoft.Extensions support for dependency injection, configuration, and for logging, which should be an easy way to hook up to your app settings, plus quickly set-up your DI and logging frameworks of choice (e.g.ContinueContinue reading “My First Custom Excel-DNA Add-In (dotnet6 edition)”

Diagrams as Code – C4 diagrams with Azure icons

This article is very persuasive. By the end you will wonder why you ever used Visio. It gets more technical as you progress, so stop reading whenever you want (I suppose this is true whether I wrote this sentence or not). I discuss: C4 diagrams (and why) how to use code to generate them (andContinueContinue reading “Diagrams as Code – C4 diagrams with Azure icons”

Python – (Ab)Using Environments

So I recently picked up a legacy(ish) python application that had a CI/CD pipeline that built from a setup.py file (think: python setup.py build). I wanted to create a local dev environment using the only sensible choice (excluding docker) – conda. I also wanted to utilize an environment.yml file to give new developers a veryContinueContinue reading “Python – (Ab)Using Environments”

Azure Table Storage – QueryAsync

Quick one today. I have been playing around with Azure Table Storage using the “WindowsAzure.Storage” library in dotnet, and was failing to find anything useful on querying multiple rows. Using the ‘TableContinuationToken’ was a little confusing to me, and a lot of the example on the net are out of date (who knows, this mayContinueContinue reading “Azure Table Storage – QueryAsync”

Flask Blueprint for Microsoft Azure AAD Authentication

This blog post takes you through adding authentication to a Flask application, using a blueprint, connecting to Microsoft Azure AAD using MSAL Python library. The hope is, you can grab the blueprint, and drop it in to your flask application, authentication done bish-bash-bosh, and then spend your time doing the more interesting stuff. You won’tContinueContinue reading “Flask Blueprint for Microsoft Azure AAD Authentication”

NetOffice.Excel – Add Validation to a Cell

My most recent blogs have been focused on Excel-DNA, and the pretty cool ability it brings to easily add your own custom ribbons.  This blog is looking at the other component of writing a C# app that can talk to Excel – namely NetOffice.Excel. NetOffice.Excel provides the ability to interact with Excel COM elements, inContinueContinue reading “NetOffice.Excel – Add Validation to a Cell”

Custom Icons in Excel-DNA Custom Ribbon

When adding options to your menu, you’ll need icons.  There are about 9,000 already available icons (yikes!), so you’ll probably find one that is suitable and is consistent with the UX of Excel.  You can also add custom icons.  As always code is available on my bit bucket account: https://bitbucket.org/andysprague44/excel-dna-examples/…CustomImage Built-in icons You can addContinueContinue reading “Custom Icons in Excel-DNA Custom Ribbon”

Show Message Boxes with Excel-DNA

Often a simple way to get user feedback is to show a pop-up message box.  Read on for a tutorial on how to do this.  As an example, this is the result we will get from this blog: The second section of this blog deals with how to handle message boxes during asynchronous operations, asContinueContinue reading “Show Message Boxes with Excel-DNA”