All posts.
- Migrating a mailbox from SiteGround to Zoho Mail, and lighting up BIMI along the way: three gotchas 5 min
- Setting up a new Google Ads account: four gotchas I ran into 5 min
- Making every session host in an entire RDS farm default to Acrobat Reader for PDFs 4 min
- Installed Duo two-factor on a new RD Web server, and it couldn't reach Duo afterward - the problem was four registry keys that have nothing to do with Duo 4 min
- The deployment wizard said 'success', but the broker insisted no deployment existed - rebuilding an RDS farm 5 min
- Streaming a Switch 2 to YouTube via a capture card: picking hardware, wiring, and OBS setup 4 min
- Remove a logo's white background with pure PowerShell (halo-free) 2 min
- Launch runbook: deploying to Cloudflare Pages and binding papalabs.dev 2 min
- Migrating Miro mindmaps: REST API to markmap 2 min
- Three ways to get your content out of OneNote (including Obsidian Importer) 2 min
- Google Keep migration guide: Takeout export to Markdown 1 min
- How this blog is built: Astro + Markdown architecture notes 1 min
- Hello, Papa Labs — why this blog exists 1 min
- Embedding mindmaps in articles: a markmap demo 1 min
- Guest SSID clients stuck on APIPA: every layer checks out, then a cable-plug fixes it 2 min
- Guest WiFi couldn't get online. Every configuration checked out fine - a physical unplug fixed it 3 min
- The Cloudflare D1 PRAGMA foreign_keys trap: how one DROP TABLE nearly wiped a child table 2 min
- Moving a domain's DNS from the registrar to Cloudflare — and turning the whole site HTTPS on the way 2 min
- Inheriting a Plesk + FTP static website: a complete mental model for non-developers 2 min
- Zero-trust for email attachments: everything goes through the sandbox, originals on request 2 min
- The audit said our access revocation was 'untimely': moving offboarding into the ticketing system 2 min
- A whole floor's printers went dark. After a long remote hunt, the answer was: the switch was physically unplugged 4 min
- The cross-border latency bill: SD-WAN takes Shanghai→Singapore from 350 ms to 60 ms 2 min
- The afternoon all inbound email vanished: two hours stuck at the gateway's 'Accepted' state 2 min
- Wiring the ticketing system into AI: MCP lets ChatGPT/Claude query tickets directly 2 min
- Windows negative DNS cache: why clients still fail to resolve after the server recovers 1 min
- Evaluating email security without being led by the vendor: a complete POV methodology 2 min
- An RSP upgrade gone wrong: version says PL20, service refuses to start 2 min
- A routine network asset scan turned up a router with no admin password set at all 3 min
- Wanted HQ's address book synced to a subsidiary, configured the wrong feature entirely - Cross-Tenant Sync and Teams Shared Channels are not the same thing 7 min
- Patching an old Drupal site against Host Header spoofing - after two rounds against cPanel's file locks 4 min
- Downloading the backup isn't the finish line: restoring the whole website in Docker before daring to call it 'recoverable' 4 min
- Cutting the wrong wire during a domain cleanup: a hosting plan's display name is not what it actually serves 3 min
- The security DVRs had been running on DHCP the whole time - until the day the address finally changed 3 min
- HikCentral Pro's one-way street: person data goes in, but it doesn't come out 4 min
- A meeting room's Teams Android panel got kicked out with 'Device administrator is disabled' 3 min
- A firewall's expired certificate made its 'security filtering' take down the whole office's internet 3 min
- E-signature emails weren't arriving, and two vendors each blamed the other - how do you find out which side is actually wrong? 4 min
- The access software said 'fail to read device parameters' - the answer wasn't in the software, it was on the wall and a switch-port LED 3 min
- Creating a sensitivity label fails with 'Rights Management is not active': the UI moved, the switch didn't 3 min
- A barcode printer's error log grew to 30GB - the root cause wasn't disk space, it was a free-edition database hitting its ceiling 4 min
- Granted a colleague local admin rights, and the policy quietly got stuck at the 'assignment' step 5 min
- Domain accounts kept getting brute-forced and locked for five years, firefighting every single time - until there was finally time to build an events dashboard 5 min
- A China office can't reach an overseas system: rule out the server before anything else 3 min
- Bought an 8TB drive to export CCTV footage. The DVR only ever saw 2TB of it 3 min
- A cloud ERP's 'self-service refresh' button quietly breaks when multi-site replication isn't cleaned up on both ends 3 min
- FortiOS downgrade notes: spend one minute verifying the image before you flash 2 min
- iVMS said 'applied to device', but the back door didn't know these people: a front-to-back door sync that silently skipped users 3 min
- Retiring the old phone system killed the burglar alarm's dial-out line 3 min
- GoDaddy only gives you a .crt, no .pfx? The private key was there all along 3 min
- Retiring old hard drives: from 'wipe it with software' to a written policy 3 min
- Control Panel showed the right driver version, but fingerprint auth still failed - the device was actually bound to one from a decade ago 3 min
- Three nights of silent backup failure: lessons from monitoring SAP B1 RSP 3 min
- The fingerprint enrollment scanner died. Swapped in a newer model from the same product line - enrollment worked, the door still didn't 3 min
- The day everyone got locked out of SAP B1: create one test database, kill the SLD 3 min
- A routine glance at the domain list turned up a domain nobody remembered adding 3 min
- Online RAID5 expansion on a production server: the Background Initialization that outlived the weekend 2 min
- A job applicant's resume email got flagged as 'high confidence phishing' and quarantined 3 min
- Windows event logs default to 1 MB: by the time you need the evidence, it's overwritten 2 min
- Packet loss appeared after cycling all the APs: suspect number one is the aging PoE switch 3 min
- The UPS emailing every 10 minutes: same IP, new server, different 'identity' 2 min
- From Excel to Snipe-IT: the minimum viable way to digitize an IT asset register 3 min
- Giving an external partner access to one SharePoint folder doesn't require giving them an account 3 min
- An untested immutable backup is not a backup: a full Veeam + Wasabi Object Lock disaster drill 3 min
- Veeam to Wasabi suddenly 403: Compliance and Object Lock are not the same thing 2 min
- Same building, seemingly the same network - so why couldn't this one PC reach the printer? 3 min
- The e-signature quota ran out - but it wasn't any one person's quota. It was the whole company's shared pool 3 min
- Azure AD password sync silently dead for four days: new password on-prem, old password in M365 2 min
- Password was correct, login still flatly refused - the cause was multi-factor auth that had never been registered 3 min
- Installed a new face+fingerprint terminal, then decided NOT to install its management software - a decision worth writing down 4 min
- SSH to a VPS suddenly refuses connections: check the panel before reaching for a reinstall 2 min
- Outlook search dead after an Exchange CU: rebuilding the Content Index (with a heart-stopping cameo) 2 min
- An almost-forgotten cloud admin account was blocking the on-prem directory from syncing 3 min
- Fixing a printer's scan-to-email feature: don't guess field by field, copy the config from the one that works 3 min
- Before shopping for a DR solution, list your existing backup's blind spots 3 min
- FortiGate SSL-VPN with DUO 2FA: two critical gotchas nobody puts on page one 2 min
- After the ISP's overnight 'maintenance', the overseas office went dark: config changed, IP swapped, not a word of documentation left behind 4 min
- Printer scan-to-folder suddenly failing: the killer is disabled SMBv1 2 min
- Synology Active Backup keeps failing on one machine: it's the firewall again 2 min
- After the fingerprint server died completely, the reader at the front door turned out to be the only 'backup' 4 min
- Every day around 5pm, RemoteApp sessions dropped en masse - the culprit was 2FA's own private timer 3 min
- The self-hosted mail server ran out of storage - the root cause was one employee's Outlook setting 2 min
- A self-hosted Moodle wouldn't send notification emails - it took three port combinations to find the right one 3 min
- A USD payment failed bank validation - the ERP was matching on IBAN, not the receiving account 3 min
- From unboxing to ready-to-use: the first attempt at scripting PC provisioning 2 min
- The network showed 'connected' - it was actually limping along in half-duplex mode 3 min
- One person's crashed ERP client, without ever exiting, dragged down the entire shared server 3 min
- A WFH laptop, ready to go: four layers of checklist, miss one and the tickets start same-day 3 min
- Outlook's endless password prompt: the kind that survives clearing Credential Manager 2 min
- The fax log said 'sent successfully.' The recipient said they never got it 3 min
- Consumer routers can do network segmentation too: setting up an isolated ASUS guest subnet 2 min
- Two lines of defense in the email gateway: quarantine suspicious mail, then check the click itself 3 min
- Changing a Microsoft account's security email: why it takes 30 days 2 min
- Zoom flatly refused a free account login from mainland China - the fix was a jump host, not a proxy 3 min
- Antivirus quarantined a production system's files: no reinstall needed, use the official decrypt tool 2 min
- 'Who can see this folder?' Not something anyone's memory can be trusted to answer 2 min
- Unexpected server reboots: the amber LED was a clue, not the answer 3 min
- A canary for the LAN on a spare server: OpenCanary honeypot deployment notes 2 min
- The moment the Hyper-V external virtual switch came up, the host went offline - plus a 'give up' written into the docs 4 min
- The five usual suspects behind repeated AD account lockouts: a field checklist 2 min
- A RemoteApp icon vanished without warning, because the server never actively checked whether you were still there 3 min
- User groups and authorization policies checked three times over - RD Gateway still rejected everyone 3 min
- RDS certificate renewal: the full path for a wildcard cert (and three traps) 2 min
- Network 'feels slow sometimes' and you can't pin it down? Monitor for days, not just at the moment of the complaint 2 min