by Maciek Grischke | Oct 24, 2026 | Tutorials
Last week I found that my home router was letting the whole internet reach the SMTP proxy I use for email signatures, and that someone had noticed before I did. A NAT rule I wrote months ago forwarded port 25 to the proxy with no restriction on where the traffic came...
by Maciek Grischke | Oct 18, 2026 | Tutorials
Over the last two months I have brought three large Power Platform solutions under source control and moved them through sandbox and production with the pac command-line tool rather than the portal. Between them they contain four canvas apps and more than a hundred...
by Maciek Grischke | Oct 3, 2026 | Tutorials
Microsoft Graph exposes every Teams call and meeting as a call record, with participants, start and end times, modalities and quality data. It keeps them for 30 days. If you want call history beyond that, for reporting or for a records request, you have to collect it...
by Maciek Grischke | Sep 12, 2026 | Tutorials
One of my UniFi Protect cameras, a G3 Pro, dropped off the console and would not come back. The console listed it, the camera was pingable, and every attempt to re-adopt it from the Protect UI failed without a useful message. It took four days and several wrong...
by Maciek Grischke | Sep 3, 2026 | Tutorials
Every WordPress site on my web server, including this one, returned HTTP 500 one evening. MySQL had been killed by the kernel’s out-of-memory killer, and the obvious conclusion was that MySQL had a memory problem. It did not. It was the victim, and the real...
by Maciek Grischke | Jul 19, 2026 | Tutorials
Two file servers replicate a shared folder with DFS Replication. Everything was in sync except a handful of very large PST files, which existed on one server and not the other. No errors in the DFSR event log, no backlog, nothing in the health report. They were simply...