-
-
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 | |
****************************************************************** | |
Perfect. Since you've already wired up the messaging system and are preparing customers for an upcoming outage (even if the date isn’t final), here are several daily rotating messages you can use. These are written to sound professional, calm, and transparent — enough to build trust without panic:
✅ DAY 1 — Awareness Message (Use Today)
Heads up!
We're making some important upgrades behind the scenes that may cause temporary downtime in the coming days. No action needed now — just keeping you in the loop. More updates soon!
✅ DAY 2 — Soft Warning
Coming Soon:
A short service outage may be required as we improve our systems. We're working to minimize the impact and will notify you before any changes take place.
✅ DAY 3 — Early Countdown Starts (5 Days Out)
Service Notice: 5 Days Out
Our platform will undergo scheduled maintenance in the next few days. You may experience brief interruptions. We appreciate your patience as we prepare for a smoother, faster experience.
✅ DAY 4 — 4 Days Out
Service Update: 4 Days Away
We’re finalizing infrastructure changes that may cause a short outage soon. We’ll keep you informed and support you through every step.
✅ DAY 5 — 3 Days Out
Planned Maintenance in 3 Days
In preparation for system upgrades, a brief outage may occur soon. You’ll be notified again 24 hours before it happens.
✅ DAY 6 — 2 Days Out
Just 2 Days Left
We’re getting ready for a scheduled outage to upgrade our system. Expect temporary unavailability. Thank you for being part of this journey.
✅ DAY 7 — 1 Day Out
24-Hour Notice
Our system will go offline temporarily starting tomorrow as we migrate to a new platform. We’ll notify you once we’re back online. Thanks for your patience and support!
✅ During Outage Message
We’re Currently Under Maintenance
Our platform is temporarily offline as we complete essential system upgrades. We’ll notify you the moment we’re back. We appreciate your understanding!
✅ Post-Outage Message
We’re Back Online!
Thank you for your patience during our upgrade. Our system is now live and ready to serve you even better.
Let me know if you want a JSON version of these messages for your API or a quick API toggle script for environment configs.
Great question — this gets to the heart of modern software architecture vs. legacy (but sometimes still valid) approaches.
Let’s break it down clearly:
⚖️ Stored Procedure vs. Business Logic in Application Code
✅ Precompiled and optimized by SQL Server
❌ Not precompiled, relies on EF query generation
❌ Poor readability, especially for complex logic
❌ Requires DBA or SQL expertise
✅ More readable & testable
✅ Fits with modern CI/CD pipelines
✅ Can write integration tests, but hard to mock
✅ Better coverage & automation
❌ Harder to rollback or track versions
✅ Works with CI/CD pipelines, git-controlled
✅ EF Core helps with SQL injection
✅ Can encapsulate legacy business logic
💡 Summary
Stored Procedures are great for:
App-Level Logic (like what you're doing) is better for:
🧠 Final Advice
You're doing the modern, clean approach by keeping business logic out of the DB and inside service layers and EF/LINQ logic. This gives you better test coverage, source control, and clarity across your team.
If you need performance on large data ops, you can combine both: use EF for most of the system, and have a few well-tuned stored procedures for data-heavy reports or batch updates.
Let me know if you want to see a hybrid example or best practices for stored procs in a modern stack.