Luke Oliff · Blog
Writing.
Original posts, published first on this site. Imported posts live in the archive.
SearchAI (30)Announcement (1)API (23)API Design (14)Career (4)Community (1)Developer Experience (43)Engineering (117)Funding (3)Git (6)GitHub (1)Industry (23)Latency (2)MCP (1)News (11)Open letter (2)Open Source (11)Open Weights (1)OpenAI (1)Opinion (22)Politics (1)Release (1)Security (7)Speech-to-Speech (2)Speech-to-Text (9)Streaming (4)TIL (101)TTS (30)Voice Agents (7)Voice AI (72)
213 posts
2020
TIL: Scheduling Recurring Tasks With node-cronOriginalA cron expression and a callback is all node-cron needs to run tasks on a schedule. No system cron, no external dependencies.TIL
TIL: Conditional Git Hooks With core.hooksPathOriginalGit's core.hooksPath lets each repo use its own hooks directory. No more symlinks or global hook collisions across projects.TIL
TIL: Rate-Limiting API Requests With BottleneckOriginalBottleneck queues API calls to stay under rate limits without losing data. Set max concurrent and min delay, then forget it.TIL
TIL: Creating an HTTP Server With the Node.js http ModuleOriginalNode's built-in http module creates a working server in five lines. No Express, no dependencies, just a callback and a port.TIL
TIL: Managing Environment Variables With .env Files in Node.jsOriginalA .env file keeps API keys and config out of your code. The dotenv package loads them into process.env with zero config.TIL
TIL: Testing Webhooks With curlOriginalA curl POST to your webhook endpoint with a JSON body simulates any provider. No dashboard, no test suite, just response codes and latency.TIL
TIL: Debugging Node.js With the Built-in InspectorOriginalnode --inspect opens Chrome DevTools for your server process. Breakpoints, heap snapshots, profiling — no console.log needed.TIL
TIL: Lazy Loading Vue Router Routes With Dynamic ImportsOriginalA dynamic import in your router config splits your Vue bundle per route. Pages load on demand instead of all at once.TIL
TIL: Chaining Promises With Async Await in Node.jsOriginalAsync await turns nested .then chains into flat readable code. One async function wrapper is all it takes to clean up any Node.js callback mess.TIL