NTWind’s Alt-Tab Terminator.a better way to use Alt+Tab in Windows 11
Source: I finally found a better way to use Alt+Tab in Windows 11
My bookmarks and blogposts regarding Software Development in .NET, C#, Angular, JavaScript, CSS, Html
NTWind’s Alt-Tab Terminator.a better way to use Alt+Tab in Windows 11
Source: I finally found a better way to use Alt+Tab in Windows 11
Introducing Angular support for CopilotKit: bring any Agent into your app
Built with signals and GDE backed Angular apps can now run any agent, with the streaming, tool calls, and shared state already handled. Today we’re releasing Angular support for CopilotKit, an open source client that brings any AG-UI agent into your Angular app. It’s built with Angular’s own patterns, standalone components, dependency injection and signals. You get the building bloc
Source: Introducing Angular support for CopilotKit: bring any Agent into your app – DEV Community
Azurite is an emulator for Azure blob, queue and table that can be used in a local development environment.
“Newer” Visual Studio installations should include this emulator. Whether it has started correctly or works as expected is hidden in mist.
So, I use these files to start azurite emulator from my Windows desktop.
If the default azurite ports in use, the related processes are automatically stopped.
Prerequisites: install Azurite to c:\azurite
Put the following 2 files in c:\azurite folder and create a shortcut for azurite.bat on your window desktop:
c:\azurite\azurite.bat:
@echo off pwsh -NoLogo -NoProfile -File "C:\azurite\azurite.ps1" pause
c:\azurite\azurite.ps1:
# --- Settings ---
# --- The path where azurite is installed
$azuriteRoot = 'C:\azurite'
$portsToFree = 10000, 10001, 10002 # Blob, Queue, Table
# --- Go to working folder ---
Set-Location -Path $azuriteRoot
# --- Show Azurite version ---
Write-Host "Running Azurite Version:" (azurite -v)
# --- Function: stop whatever is listening on specified ports ---
function Stop-ListeningProcessesOnPorts {
param([int[]]$Ports)
foreach ($p in $Ports) {
try {
# Find listeners on the port
$conns = Get-NetTCPConnection -LocalPort $p -State Listen -ErrorAction SilentlyContinue
if (-not $conns) {
Write-Host "Port $p is free."
continue
}
# Stop each owning process
foreach ($c in $conns) {
try {
$proc = Get-Process -Id $c.OwningProcess -ErrorAction Stop
Write-Host "Found process '$($proc.ProcessName)' (PID $($proc.Id)) already listening on port $p, shutting it down..."
Stop-Process -Id $proc.Id -Force
}
catch {
Write-Warning "Failed to stop PID $($c.OwningProcess) on port $p. $_"
}
}
}
catch {
Write-Warning "Could not query listeners on port $p. $_"
}
}
}
# --- Kill ports if needed ---
Write-Host "-----------------------------"
Write-Host "Checking ports needed by Azurite:"
Stop-ListeningProcessesOnPorts -Ports $portsToFree
Write-Host "-----------------------------"
# --- Start Azurite ---
azurite -l $azuriteRoot -d (Join-Path $azuriteRoot 'debug.log') --skipApiVersionCheck
# --- Keep window open after Azurite exits ---
Read-Host "Press Enter to exit"
Docs:
https://learn.microsoft.com/en-us/azure/storage/common/storage-use-azurite
https://learn.microsoft.com/en-us/azure/storage/common/storage-install-azurite
What is MCP? It stands for Model Context Protocol and enables your AI Agent (Such as Github Copilot in VS Code) to integrate directly against other systems. One such system is Azure Devops. This tools enables Copilot to read most of your organisation Azure Devops information.
So instead of context switching and copy pasting info from Devops (error messages or User Stories information etc) you can just ask your AI agent directly in your IDE.
Examples of useful prompts for a developer: (from ChatGPT)
“Find my latest failed run for pipeline Backend-CI and summarize which step failed, including the log excerpt around the error.”
“Get the duration trend for the last 20 runs of ClientSPA-CI and highlight the slowest job.”
“List all pipelines that have not run in the last 60 days.”
“Compare two pipeline runs (Run 1412 and Run 1477) for MyApplication-API and explain the differences in steps, duration, and triggered changes.”
“Show me all active PRs in the repo MyApplication that have unresolved comments.”
“Which PRs were merged this week, and which work items did they close?”
“Summarize the diff for PR 84303, but only include changes in the Angular project under ClientSPA/.”
“List files in the repo MyApplication that changed in the last 48 hours.”
“Search all repositories for references to ProductRowID.”
“Find all work items assigned to me that are blocked by another work item, and summarize the blockers.”
“Show me work items marked as ‘Ready for test’ but not linked to any build or PR.”
“List all bugs created in the last 7 days containing the word paracetamol.”
“Show me all variable groups used by Backend-CI.”
“Fetch the artifacts for pipeline run 292 of ClientSPA-CI, list their sizes, and highlight anything over 100 MB.”
“Find pipelines that reference the variable AzureAd:ClientSecret.”
Setup in VS Code:
azure-devops-mcp/docs/GETTINGSTARTED.md at main · microsoft/azure-devops-mcp
General installation guide:
https://learn.microsoft.com/en-us/azure/devops/mcp-server/mcp-server-overview?view=azure-devops#install-mcp-server
What is DeepWiki?DeepWiki provides up-to-date documentation you can talk to, for every repo in the world. Think Deep Research for GitHub.
Source: DeepWiki | AI documentation you can talk to, for every repo
Angular evolves for every version. Here is a good website that gives a clear overview which Angular APIs are in experimential, developer, stable or depracated state. Reminds a bit of the html/css/js caniuse.com web. (focus more on cross browser compability though).
Source: Angular CanIUse feature roadmap
ShellMenuNew is a small utility that displays the list of all menu items in the ‘New’ submenu of Windows Explorer. It allows you to easily disable unwanted menu items, so this ‘New’ submenu will display only the items that you need.
Source: ShellMenuNew – Disable/enable ‘New’ menu items in Windows Explorer
Our CSS Animation Generator is the perfect tool for web developers and designers! You can build the perfect animation for your project, choosing from a wide variety of predefined animations or customizing any of them through user-friendly options. Tailor properties like name, duration, timing, and delay to suit your design needs, and bring your website to life with seamless motion effects. Perfect for beginners and experts alike, this tool makes creating animations easier, saving you lots of time and effort
This probably works for other IDEs as well such as VS Code.
My context is Windows 10 and Webstorm version 2024.3.2.1
Problem: was connected to my “work” github account and wanted also to be able to work with repos in my “private” github account.
Added the Github account in webstorm settings -> version control -> github -> (was logged in on github private account in web browser), got web browser authenticate question -> ok
Cloned a repo, got similar to the following git error message:
remote: Repository not found. fatal: repository 'https://github.com/MyUser/MyRepo.git/' not found
The repository exists at that location, its an auth problem.
Solution:
Tried to setup SSH but was a bit difficult, the “GitHub Desktop” application had no problem cloning and pushing though, but wanted it to work within Webstorm.
I tried the Github CLI application, download here: https://cli.github.com/
Open a terminal within Webstorm/at the project root and execute the gh command:
gh auth login
Follow the instructions regarding auth with web browser, (enter the one-time code at https://github.com/login/device).
Output from my terminal:
$ gh auth login ? Where do you use GitHub? GitHub.com ? What is your preferred protocol for Git operations on this host? HTTPS ? Authenticate Git with your GitHub credentials? Yes ? How would you like to authenticate GitHub CLI? Login with a web browser ! First copy your one-time code: ABCD-1234 Press Enter to open https://github.com/login/device in your browser... ✓ Authentication complete. - gh config set -h github.com git_protocol https ✓ Configured git protocol ✓ Logged in as AndreasPlahn
Voila! Now it works for me, at least.
Update:
When pushing from Webstorm I get a dialog (on every push) which github acccount I want to be acting as.
This was annoying. Solved in this way:
(in cmd):
git credential-manager github list
-> see all logged in accounts
git credential-manager github logout <MyGithubAccountName>
-> logout one of the accounts to avoid
More info about git credential-manager in Windows:
https://github.com/git-ecosystem/git-credential-manager/blob/release/docs/usage.md
I am using Angular v17 and node v18.
In simple steps;
Goto azure portal.
Create a new resource of type “Static Web App”
I choose Github as Deployment source.
Regarding Angular v17, I had problems with the github deployment build actions:
After Azure has created the static web app for Github deployment the following file is pushed into the repo:
.github/workflow/azure-static-web-apps-[*].yml
I hade to set the following values correctly:
app_location: "./" # App source code path
output_location: "./dist/gps-tracker/browser" # Built app content directory - optional
The output location should point to where the index.html file is located.
You should change the ‘gps-tracker’ to your application name. To find out exactly run ‘ng build’ locally and look into the created dist folder.
Regarding setting node version to 18: I added the following in the yml file:
env: NODE_VERSION: '18.x'
Print screen of node version setting:
