-
-
Save DocGreenRob/a7f08d56bae684f7f00583f446c27e8a to your computer and use it in GitHub Desktop.
| Windows Pro Tips | |
| ----------------- | |
| powertoys - https://apps.microsoft.com/store/detail/microsoft-powertoys/XP89DCGQ3K6VLD | |
| devtoys - https://apps.microsoft.com/store/detail/devtoys/9PGCV4V3BK4W | |
| Visual Studio 2022 Pro Tips | |
| --------------------------- | |
| vscoloroutput - https://marketplace.visualstudio.com/items?itemName=MikeWard-AnnArbor.VSColorOutput | |
| solutionColor - https://marketplace.visualstudio.com/items?itemName=Wumpf.SolutionColor | |
| save vs settings to apply to other computer - https://learn.microsoft.com/en-us/visualstudio/install/import-export-installation-configurations?view=vs-2022 | |
| Podcasts | |
| -------- | |
| Dev interrupted | |
| Hacking Humans | |
| Cyber Security Headlines | |
| Click Here | |
| Malicious Life | |
| The Stack Overflow Podcast | |
| The Backend Engineering (with Hussein Nasser) | |
| The Changelog: Software Development, Open Source | |
| Tech Stuff | |
| Cyberwire Daily | |
| Techmeme Ride Home | |
| Soft Skills Engineering | |
| Syntax - Tasty Web Development Treats | |
| Cyber Security Today | |
| Software Engineering Daily | |
| Developer Tea | |
| Coding Blocks .NET | |
| The Cloud Cast | |
| JS Party: Javascript, CSS, Web Development | |
| Go Time: Golang, Software Engineering | |
| Cyber | |
| Dev Questions with Tim Corey | |
| Thoughtworks Technology Podcast | |
| .NET Rocks! | |
| Smashing Security | |
| Hanselminutes with Scott Hanselman | |
| Software Engineering | |
| Talk Python To Me | |
| Security Now | |
| Darknet Diaries | |
| Hacked | |
| The .NET Core Podcast | |
| The .NET MAUI Podcast | |
| Kubernetes Podcast from Google | |
| Adventures in .NET | |
| Coding After Work | |
| Base.cs Podcast | |
| The Static Void Podcast | |
| Tools | |
| ------ | |
| couchbase | |
| honeycomb.io/changelog | |
| firehydrant | |
| logrocket | |
| playwright | |
| openmct | |
| thundra.io | |
| raygun | |
| fly.io | |
| appwrite | |
| sentry.io | |
| https://sourcegraph.com/ | |
| https://www.kolide.com/ | |
| https://entity.services/ | |
| WeekPlan | |
| Docker Extensions | |
| ------------------ | |
| Ddosify - High-performance load testing tool | |
| - https://github.com/ddosify/ddosify | |
| BurpSuite | |
| - https://portswigger.net/burp | |
| - https://danaepp.com/ | |
| VS Tips | |
| -------- | |
| Extract method from selected code | |
| - Ctrl + R + M | |
| Ctrl + K + D | |
| Ctrl + R + G | |
| Ctrl + M + Z (Code Maid) | |
| Important | |
| ---------- | |
| ApplicationInsights SamplingSettings for AzFn | |
| - https://learn.microsoft.com/en-us/azure/azure-functions/functions-host-json | |
| Design Patterns in C# | |
| - https://www.dofactory.com/net/factory-method-design-pattern | |
| - https://github.com/DovAmir/awesome-design-patterns?utm_source=programmingdigest&utm_medium&utm_campaign=1493 | |
| Shopify Query | |
| - https://shopify.engineering/reducing-bigquery-costs?utm_source=programmingdigest&utm_medium&utm_campaign=1403 | |
| Building Own Operating System | |
| - https://o-oconnell.github.io/2023/01/12/p1os.html?utm_source=programmingdigest&utm_medium&utm_campaign=1493 | |
| Debugging Linq | |
| - https://www.red-gate.com/simple-talk/development/dotnet-development/linq-secrets-revealed-chaining-and-debugging/ | |
| --> https://michaelscodingspot.com/debug-linq-in-csharp/ | |
| Bleeping Computer | |
| - https://www.bleepingcomputer.com/ | |
| Utilities | |
| --------- | |
| Handle v5.0 | |
| - https://learn.microsoft.com/en-us/sysinternals/downloads/handle?WT.mc_id=DT-MVP-5003978 | |
| Auto Increment Build # | |
| - https://stackoverflow.com/questions/826777/how-to-have-an-auto-incrementing-version-number-visual-studio | |
| Phylosophy | |
| ---------- | |
| 1. Do I have to have a "purpose" to have an address in the USA? | |
| - if yes, then as a Human being I must have a purpose? Seriously? Ok, a purpose to whom? To whom must I state my pupose or execute or report to about...??? | |
| 2. System Failure - Zero Day Exploit | |
| 3. Good PR example - https://github.com/dotnet/aspnetcore/pull/45587/files | |
| App Insights Log Queries | |
| ------------------------ | |
| availabilityResults | |
| | where timestamp > datetime("2022-12-19T04:07:00.000Z") and timestamp < datetime("2022-12-20T04:07:00.000Z") | |
| | where customDimensions["WebtestArmResourceName"] == "availability-test-1-app-notepad-physical-activity-dev-eastus" | |
| | where true and true | |
| | extend percentage = toint(success) * 100 | |
| | summarize avg(percentage) by bin(timestamp, 1h) | |
| | render timechart | |
| ****************************************************************** | |
import { AfterViewInit, Component, Input, OnInit } from '@angular/core';
import { CommunicationService } from '../../../services/_internal/communication/communication.service';
import { SessionDataService } from '../../../services/_internal/session-data/session-data.service';
import { CommonModule } from '@angular/common';
@Component({
selector: 'app-global-spinner',
standalone: true,
imports: [CommonModule],
templateUrl: './global-spinner.component.html',
styleUrl: './global-spinner.component.scss'
})
export class GlobalSpinnerComponent implements OnInit, AfterViewInit {
// *********************
// variables declaration
// *********************
// private
// ********
// public
// ******
@Input() spinnerText: string = "Searching...";
constructor(private sessionDataService: SessionDataService,
private communicationService: CommunicationService) {
}
// ***************
// lifecycle hooks
// ***************
ngOnInit(): void {
this.housekeeping();
}
ngAfterViewInit(): void {
}
// *******
// methods
// *******
// public
// ******
// private
// *******
private housekeeping() {
}
}
RxProcessManagerLocalTest
Set WshShell = CreateObject("WScript.Shell")
Do
WshShell.SendKeys "{SCROLLLOCK}"
WScript.Sleep 60000 ' 60 seconds
Loop
cscript //nologo RxProcessManagerLocalTest.vbs
🧩 Overview
You’ll:
- List secrets from the source Key Vault
- Loop through each secret name
- Retrieve the latest value
- Write it into the destination Key Vault
This approach preserves names and values, but not version history (you almost never want to duplicate every historical version).
⚙️ Prerequisites
Make sure:
az login
az account set --subscription "<YourSubscriptionID>"You’ll also need read access to the source Key Vault and set access to the destination Key Vault (via RBAC or access policy).
🧠 Script (Bash for Azure Cloud Shell)
# Replace with your vault names
SOURCE_VAULT="source-keyvault-name"
DEST_VAULT="destination-keyvault-name"
# Get all secret names (not versions)
for secret in $(az keyvault secret list --vault-name $SOURCE_VAULT --query "[].name" -o tsv)
do
echo "Copying secret: $secret"
# Get the latest secret value
value=$(az keyvault secret show --vault-name $SOURCE_VAULT --name $secret --query "value" -o tsv)
# Recreate the secret in the destination vault
az keyvault secret set --vault-name $DEST_VAULT --name $secret --value "$value" >/dev/null
done
echo "✅ All secrets copied from $SOURCE_VAULT to $DEST_VAULT"🧰 Notes
-
If you have disabled secrets in the source vault and want to skip them:
az keyvault secret list --vault-name $SOURCE_VAULT --query "[?attributes.enabled==\`true\`].name" -o tsv
-
To handle secrets with special characters or newlines safely, consider using
--query "value" -o jsonand proper quoting, e.g.:value=$(az keyvault secret show --vault-name $SOURCE_VAULT --name $secret --query "value" -o json | jq -r) -
The script does not copy tags or contentType. To include those, you’d extend it:
metadata=$(az keyvault secret show --vault-name $SOURCE_VAULT --name $secret) value=$(echo $metadata | jq -r '.value') contentType=$(echo $metadata | jq -r '.contentType') az keyvault secret set --vault-name $DEST_VAULT --name $secret --value "$value" --content-type "$contentType"
🔐 Alternative (PowerShell in Cloud Shell)
If you prefer PowerShell syntax:
$sourceVault = "source-keyvault-name"
$destVault = "destination-keyvault-name"
$secrets = az keyvault secret list --vault-name $sourceVault | ConvertFrom-Json
foreach ($secret in $secrets) {
$name = $secret.name
$value = az keyvault secret show --vault-name $sourceVault --name $name --query value -o tsv
az keyvault secret set --vault-name $destVault --name $name --value $value | Out-Null
Write-Host "Copied secret: $name"
}Would you like me to include copying certificates and keys as well (not just secrets)? It’s a slightly different process involving az keyvault certificate and az keyvault key commands.


The first line should be a single line summary with no more than 50 characters.
The second line should be blank.
Start the full summary on the third line. Ignore whitespace changes in the summary. Use bullet points for each line in the summary when describing changes.