Blog

Getting Obsidian Off iCloud: Self-Hosted, Encrypted Sync with Cloudflare R2

iCloud sync for my Obsidian vault left Windows out, broke on my work laptop when personal iCloud was blocked, and eventually made the app take 50 seconds to launch. Here is the self-hosted, end-to-end-encrypted replacement on Cloudflare R2, and how to build the same thing.

#obsidian#cloudflare#r2#self-hosting#sync#remotely-save

Self-Hosting Shottr Screenshots on Your Own Domain with Cloudflare

How I replaced Shottr's cloud uploads with a Cloudflare Worker and R2 so screenshots live on my own domain behind unguessable URLs. Full build, with every gotcha.

#cloudflare#shottr#self-hosting#workers#screenshots

This New Mongoose Feature Can Improve Your MongoDB Write Operations Up to 2.6x

How Model.bulkSave() leverages MongoDB's bulkWrite to reduce network roundtrips and significantly improve write performance.

#mongodb#javascript#performance#codequality

Software Performance: A Pragmatic Guide

A practical approach to performance optimization. Focus your energy where it matters: I/O bottlenecks, not micro-optimizations.

#performance#codequality#productivity

Is Optional Chaining Really a Good Addition to JavaScript?

Optional chaining is convenient, but if used carelessly it silences errors that should be caught early. Here's when to use it and when not to.

#javascript#codequality