When we use the mandatory parameter with PowerShell, it prompts. I’m considering using the script on the Continuous integration, so that I don’t want it.

ParamSpike.ps1

param(
[Parameter(Mandatory=$true, HelpMessage="Number of the Stage. e.g. 0")]
[int]
$stage
)
Write-Host $stage

Execute it

> mv .\ParamPike.ps1 .\ParamSpike.ps1
PS C:\Users\tsushi\Code\PowerShell> .\ParamSpike.ps1
cmdlet ParamSpike.ps1 at command pipeline position 1
Supply values for the following parameters:
(Type !? for Help.)
stage:

Oh. This is what I want to avoid in CI environment. I want some option like -y of the apt-get .

Answer

Don’t need it. The king of powershell told me.

If this is invoked…


I frequently asked about the concept of the Azure Functions Kafka Trigger. I create a video and this blog to understand the Kafka Trigger’s concept. Kafka Trigger is one of the most straightforward solutions for Kafka consumer.

Azure/azure-functions-kafka-extension: Kafka extension for Azure Functions (github.com)

Video

TL; DL, You can watch 12 min video to understand the concept and performance tips overview.

Single Mode / Batch Mode

Kafka Extension has two modes. One is Single Mode, and the other is Batch mode. If you want to have one message per one azure function execution, you can use Single Mode. …


Image for post
Image for post
KEDA

KEDA is a Kubernetes-based Event Driven Autoscaler. With KEDA, you can drive the scaling of any container in Kubernetes based on the number of events need to be processed. KEDA support a lot of scalers. I contribute to develop ScaleJobs V2 controller that is a scale controller that enables us to execute Jobs . We have mainly two kind of applications on Kubernetes. One is Deployment and the other is Job . Job will receive a message and process it. Once the processing has been finished, it complete the execution. KEDA supports a lot of scalers with cloud-agnostic choices. …


I’ve got stuck for a couple of days to solve this issue. When I build a Dockerfile, at the part of the dotnet restore I encountered this issue. However, On my colleague’s PC, it works perfectly. Only my PC didn’t work. At first it didn’t work both on WSL2 and Docker for Windows, I do nothing special, however, suddenly WSL2 works fine. I had totally no idea. I search a lot on the internet, I try a several workaround, however, all of them didn’t work. Some people looks has the same issue, however, no one looks solve the exact issue…


Image for post
Image for post
Debugging Python Functions with DevContainer

I’m working on Azure Functions Kafka project.

I create samples with DevContainer.

DevContainer is called Remote-Container feature of Visual Studio Code. It creates a development environment on docker, and access from the Visual Studio Code. You can experience as if you are working on a Linux machine. In this project, it start docker-compose and setup a local Kafka Cluster.

Environment Variables is not reflected

However, the project requires set environment variables on the functions. I configure .vscode/launch.json like this. It doesn’t work. LD_LIBRARY_PATH is not configured.

The reason why it doesn’t work is, The debug request is attach . Azure Functions Host is started…


I’m happy to announce the Distributed Tracing feature for Durable Functions. If you’ve never heard of Durable Functions, then I recommend you check out our patterns and concepts documentation that explains what it is and why you should care. I’m a contributor to Durable Functions, so I work with them and implement the Distributed Tracing feature.

Image for post
Image for post
End to end tracing for Multi-layered Sub Orchestrations

Why Distributed Tracing?

The Azure Functions team received a lot of requests for the Distributed Tracing for Durable Functions. The host of the Azure Functions will track telemetry automatically with Application Insights, so people easy to diagnose the function execution.

The durable functions enable us to execute…


[GraalVM](https://www.graalvm.org/) is a Java VM and JDK based on HotSpot/OpenJDK, implemented in Java. Although, the project has a feature of supporting the polyglot programming, I’m interested in the performance improvement. It looks fantastic for a serverless enthusiast.

Image for post
Image for post
  1. To improve the performance of Java virtual machine-based languages to match the performance of native languages.
  2. To reduce the startup time of JVM-based applications by compling them ahead-of-time with [GraalVM Native Image](https://www.graalvm.org/docs/reference-manual/native-image/) technology.

However, is it true? I tried, Graal VM as a fundamental investigation.

  • Environment Setup on Windows 10
  • Compare the performance of Spring Boot application
  • Check if the Native Image works…


I tried to improve WSL2 memory consumption improvement. I found a workaround on this issue.

However, through the process, I mistook. I can’t use sudo command, anymore. How to fix it? Since I can’t be root without sudo How to fix it?

Solution

WSL2 have a command to manage it. Start command prompt on Windows10.

> wsl --user root

Now you can login the WSL2 as a root . The issue was happened, since I modified /etc/sudoers file with visudo command. The problem is, by default, visudo command start nano editor that I’m not familiar with. It has two option for…


I made a mistake a commit message. That has multiple lines. However, the approver already merged it and after merged realized that it is not proper commit message, how can we solve this problem?

Strategy

We have several ways to change the commit message.

For example, you can remove the protected branch for a while then git commit --amend against the master branch. Or you might create a PR, that rebase the old commit. I’ve never tried, however it might works. However, these strategy is not a good idea. If your repo has contributors, the contributor might checkout or folk your…

Tsuyoshi Ushio

Senior Software Engineer — Microsoft

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store