-
-
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 | |
| ****************************************************************** | |
Yes. What you’re seeing is normal: by default, SQL Server grants database name visibility broadly via the server permission VIEW ANY DATABASE (it’s granted to the public server role by default), so logins can see all DBs even if they can’t use them. ([Database Administrators Stack Exchange]1)
Best fix (per-login): deny “view any database”
Run in master:
USE [master];
GO
DENY VIEW ANY DATABASE TO [dev_john];
GOAfter this, in SSMS Object Explorer they should only see databases they can actually connect to (i.e., the 1–2 DBs where you created a user/mapped permissions), plus some system DB behavior depending on SSMS. ([Stack Overflow]2)
Cleaner at scale: create a server role and deny once
USE [master];
GO
CREATE SERVER ROLE [LimitedDbVisibility];
DENY VIEW ANY DATABASE TO [LimitedDbVisibility];
ALTER SERVER ROLE [LimitedDbVisibility] ADD MEMBER [dev_john];
ALTER SERVER ROLE [LimitedDbVisibility] ADD MEMBER [dev_mike];
GOThis is easier than managing DENY statements on each login.
Important notes
- If they’re sysadmin (or in powerful server roles), you won’t be able to hide anything — they’ll see all DBs. ([Server Fault]3)
- You generally can’t fully hide system databases at the engine level; SSMS may still show them. That’s by design. ([Microsoft Learn]4)
(SSMS has a client-side option “Hide system objects,” but that’s per workstation, not security.) ([Database Administrators Stack Exchange]5)
Undo (if needed)
USE [master];
GO
REVOKE VIEW ANY DATABASE TO [dev_john];
GOIf you want, paste one login name and your allowed DB names and I’ll give you a single script that: creates login, maps user in only those DBs, grants read/write, and applies the “don’t show other DBs” setting.
Use benchmark.net to do performance testing

Got it — on SQL Managed Instance you should do the classic SQL login (instance-level) + database user (per DB) + roles/GRANTs. That gives you username/password now, and later you can swap the user mapping to Entra without redesigning your permissions model. ([Microsoft Learn]1)
1) Create one SQL Login per person (don’t share)
Run in
master:(Repeat for each guy.) Managing logins/users is standard for Managed Instance. ([Microsoft Learn]1)
2) Create a user only in the 1–2 databases they’re allowed to access
Database #1:
USE [HomeaZZonDb1]; GO CREATE USER [dev_john] FOR LOGIN [dev_john]; GO -- Simple broad read-only: ALTER ROLE db_datareader ADD MEMBER [dev_john]; GODatabase #2 (optional):
Database roles (like
db_datareader) are the clean way to manage permissions. ([Microsoft Learn]2)3) If “read-only to the whole DB” is too broad, do least-privilege (recommended)
Instead of
db_datareader, create a custom role and grant only what you want:(If they need stored procs only, grant
EXECUTEinstead ofSELECT.)4) How this prevents access to other databases
If you don’t create a user for that login in other databases, they can’t access them (they’ll get “not authorized” when trying to
USE OtherDb). To avoid any accidental access viaguestin user databases, you can revokeguestconnect in databases you don’t want anyone drifting into: ([Microsoft Learn]3)Note: Disabling
guestin msdb can break features (SQL Agent-related behavior), so don’t do it there. ([Microsoft Learn]4)5) Operational tips (worth doing)
Disable the login when you’re done (instant cutoff):
Keep them out of server roles (don’t add to anything like
sysadmin).Use separate logins per person so auditing is real.
If you tell me what “access” means (read-only vs read/write vs execute-only, and whether they need migrations/scaffolding), I’ll tailor the exact role + GRANT script for those 1–2 databases.