Shane Bartholomeusz

Geek and lover of all things tech related

Power Automate: Remove End of Line Characters

Problem

Parsing text can be somewhat tricky with Microsoft Power Automate or Azure Logic Apps. Recently I needed to strip out end-of-line characters (CR/LF) from a text string.

This task actually proved to be a bit more challenging than I had expected… However in this post I’ll share the solution that I found and ultimately ended up using.

Power Automate Logo
Continue reading

Solved: Why Async/Await does not work with .forEach

The Problem

Javascript offers a number of different ways to iterate over an array. Recently while using the array.forEach syntax, I came across some interesting behaviour when using them with the async/await syntax.

To demonstrate. Lets take the following Javascript code which simply prints some messages to the console every 2 seconds.

Javascript Icon
function waitForTwoSecs(i) {
  return new Promise(resolve => {
    setTimeout(() => {
      console.log(`loop iteration ${i}`); 
      resolve('resolved');
    }, 2000);
  });
}

async function mainProgram() {
  const loopIterations = [1, 2, 3];
  console.log('mainProgram Start');

  loopIterations.forEach(async iteration => {
    const result = await waitForTwoSecs(iteration);
  });

  console.log('mainProgram finished'); 
}

mainProgram();
Continue reading

How To: Deep Clone a JavaScript Object

Overview

JavaScript is becoming ever increasingly more popular as time goes by. While JavaScript has many advantages, it also has many interesting quirks or nuances that can catch out new beginners.

In this post I’ll show you how to deep clone a JavaScript object.

Problem

Okay … before we go any further … lets take a step back and understand the problem at hand.

Objects in JavaScript are passed by reference, meaning that any object returned by a function will point to the same memory reference as the original object. Therefore if the caller of the function modifies the returned object, they will actually be changing the original source object.

Javascript Icon
Continue reading

Visual Studio: Close Current Tab Keyboard Shortcut

Overview

It’s common today to use the CTRL+W in various applications including most web browsers. If you’ve used Visual Studio you’ve probably noticed that this keyboard shortcut does not work when trying to close the currently opened tab.

In this article, I’ll show you how you can easily configure Visual Studio to close the currently opened tab.

Visual Studio Icon
Continue reading

Solved: Azure Functions Can’t Bind Parameter ‘data’ to Type Error

Problem

Recently I came across an unusual error whilst working with C# Azure Functions. When the Function was executed, the console window showed the following error.

The ‘XXXXXX’ function is in error: Microsoft.Azure.WebJobs.Host: Error indexing method ‘XXXXXX ‘. Microsoft.Azure.WebJobs.Host: Can’t bind parameter ‘data’ to type ‘XXXXXX’.

I checked the Activity function parameter bindings however couldn’t see any obvious issue. However after some head scratching I eventually figured out the source of the issue …

In this post I’ll show you how to resolve this issue.

Azure Functions Logo
Continue reading

How To: Set Default Terminal In VS Code

Overview

By default Visual Studio Code will open a PowerShell session when you launch a new terminal window. But what if you want something else instead?

Well you’re in luck because in this article I’ll show you how you can easily change the default shell in Visual Studio Code.

VS Code Icon
Continue reading

How To: Debug Angular apps with Google Chrome in VSCode

Overview

VSCode is a fantastic IDE for editing <insert your favourite language here> source code. Likewise Angular is a great framework for developing front-end web apps.

When developing applications, we developers usually spend most of our time in the debugger. However, out of the box there is a little bit of setup required to enable debugging of an Angular TypeScript application when using VSCode.

In this post I’ll show you how to configure VSCode debugging for an Angular TypeScript application with the Google Chrome web browser.

Angular logo
Continue reading

How to: Deploy Azure Functions Using Github Actions

Overview

GitHub has really opened the doors for collaboration across the wider software development community. If you are already using GitHub then it makes sense to make the most of the GitHub ecosystem and use of all of it’s available features, including GitHub Actions; a powerful workflow engine that enables developers to automate repetitive tasks.

In this post I’ll show you how you can deploy an Azure Function using a GitHub Actions workflows, and by the end of this guide, you’ll have a fully working automated deployment pipeline setup.

Please note that this guide assumes that you are already familiar with using Azure Functions and using GitHub for basic source control management.

Banner image
Continue reading

Solved: Set SharePoint Person Field to Null in Power Automate

Problem

Whilst trying to update a SharePoint Online List Item through Power Automate I noticed that I was unable to clear a Person field within a given List Item.

After some research it turns out that the Power Automate SharePoint Online connector currently does not support this operation when performing an ‘update’ operation.

In this post I’ll explain the solution that I found, and ultimately ended up using.

Power Automate Logo
Continue reading

Visual Studio: Generate Class From JSON String

Overview

If you work JSON documents, I’m sure you’ve probably had to create a class file from a JSON string. Doing this manually can be a real pain in the proverbial, especially if you are working with a large JSON document. It can also be very error-prone. Therefore it’s best to automate this conversion.

In this post I’ll show you how to automatically generate a class file from a JSON string using a little known feature built into Visual Studio.

Visual Studio Icon
Continue reading
« Older posts

© 2022 Shane Bartholomeusz

Theme by Anders NorenUp ↑