C# brings with it a bunch of new features. Top level statements or programs make it easier to get started in C# if you haven’t written a program in it before. They can also make developing small applications faster.
I’m pretty big on the SQL Azure Serverless SKU. It allows you to scale databases up and down automatically within a band of between 0.75 and 40 vCores on Gen5 hardware. It also supports auto-pausing which can shut down the entire database during periods of inactivity. I’m provisioning a bunch of databases for a client and we’re not sure what performance tier is going to be needed. Eventually we may move to an elastic pool but initially we wanted to allocate the databases in a serverless configuration so we can ascertain a performance envelope. We wanted to allocate the resources in a terraform template but had a little trouble figuring it out.
C# 9 brings pattern matching to a fantastic place allowing you to express complex patterns cleanly. In this episode we’ll play with some of the patterns you can use to make your code cleaner and leaner.
In a previous article I talked about how to run queries across database instances on Azure using ElasticQuery. One of the limitations I talked about was the in ability to update data in the source database. Well that isn’t entirely accurate. You can do it if you make use of stored procedures.
SQL Azure doesn’t let you run queries between database instances. But if you’re migrating off on premise databases where you’ve been able to do that you probably don’t want to rewrite a bunch of code. Turns out there is a way around that using SQL Azure Elastic Query.
Documentation - https://docs.microsoft.com/en-us/azure/azure-sql/database/elastic-query-overview
Ran into a fun little quirk in Azure today. We wanted to allocate a pretty beefy machine, an M32ms. Problem was that for the region we were looking at it wasn’t showing up on our list of VM sizes. We checked and there were certainly VMs of that size available in the region we just couldn’t see them. So we ran the command
az vm list-usage --location "westus" --output table
And that returned a bunch of information about the quota limits we had in place. Sure enough in there we had
Name Current Value Limit
We opened a support request to increase the quota on that CPU. We also had a weirdly low limit on CPUs in the region
Total Regional vCPUs 0 10
Which support fixed for us too and we were then able to create the VM we were looking for.
I seem to be picking up a few projects lately which require migrating data up to Azure SQL from an on premise database. One of the things that people tend to do when they have on premise databases is query across databases or link servers together. It is a really tempting prospect to be able to query the
orders database from the
customers database. There are, of course, numerous problems with taking this approach not the least of which is making it very difficult to change database schema. We have all heard that it is madness to integrate applications at the database level and that’s one of the reasons.
We continue our series on browser automation using Playwright, taking a look at a couple of new features: video recordings and playwright-test.
Playwright Video Verification: https://playwright.dev/#path=docs%2Fverification.md&q=videos
Browser automation is great for testing your application but sometimes it is difficult to test specific scenarios. For example, testing a scenario when your backend service returns a specific set of data or maybe an error code. Fortunately, Playwright makes this easy by providing a simple mechanism for intercepting network requests.
#183: Cross Browser Automation with Playwright - https://youtu.be/75dzhaDkTxs
Playwright Network APIs: https://playwright.dev/#version=v1.4.0&path=docs%2Fnetwork.md&q=
In this episode we’re pleased to have Kayla Cinnamon (https://twitter.com/cinnamon_msft), PM of the Windows Terminal Team on chatting about the multi-shell terminal management tool from Microsoft. It slides easily into your development tool chain and makes it easy to customize your experience for not only which shell you’re using, but also the behaviours and look-and-feel of the shell.
Install the tooling:
choco install powershell-core
choco install gh
choco install poshgit
choco install microsoft-windows-terminal
Adjust profile settings:
Learn and customize bindings:
Stay connected with update from Kayla on her blog
Follow Kayla on Twitter