41554 blogs · [ { "id": "01a094ec-1af9-7065-bf40-b29f4f722e05", "title": "How to Hire an AI Engineer Without Getting Burned", "url": "https://danlevy.net/how-to-hire-an-ai-engineer-without-getting-burned/", "published_at": "2026-09-09T00:00:00+00:00" }, { "id": "01a08767-93de-719b-a845-b360b9fb7c68", "title": "Auto-Tune Your LLM Judge", "url": "https://danlevy.net/auto-tune-your-llm-judge/", "published_at": "2026-08-11T00:00:00+00:00" }, { "id": "01a08767-93de-719b-a845-b360ba4257e1", "title": "Announcing ExploitHunter.app", "url": "https://danlevy.net/announcing-exploithunter-app/", "published_at": "2026-07-17T00:00:00+00:00" }, { "id": "01a08767-93de-719b-a845-b360bb23952c", "title": "Don't Fear the Model Router", "url": "https://danlevy.net/dont-fear-the-model-router/", "published_at": "2026-07-02T00:00:00+00:00" }, { "id": "01a08767-93de-719b-a845-b360bb51b44d", "title": "Into the Breach", "url": "https://danlevy.net/into-the-breach/", "published_at": "2026-05-13T00:00:00+00:00" }, { "id": "01a08767-93de-719b-a845-b360bb8eff93", "title": "Postgres Text Searching Guide 2026", "url": "https://danlevy.net/postgres-text-search-guide/", "published_at": "2026-05-02T00:00:00+00:00" }, { "id": "01a08767-93de-719b-a845-b360bc6b2fe5", "title": "Fight Evils with Evals!", "url": "https://danlevy.net/llm-evals-are-broken/", "published_at": "2026-05-01T00:00:00+00:00" }, { "id": "01a08767-93de-719b-a845-b360bc9f077e", "title": "Semantic Vector Search and Other Topics to Win Friends and Lovers", "url": "https://danlevy.net/semantic-vector-search-landscape/", "published_at": "2026-05-01T00:00:00+00:00" }, { "id": "01a08767-93de-719b-a845-b360bd3bc08f", "title": "It's Time for llm:// Connection Strings", "url": "https://danlevy.net/llm-connection-strings/", "published_at": "2026-01-30T00:00:00+00:00" }, { "id": "01a08767-93de-719b-a845-b360bdaff82a", "title": "Your AI Assistant Gave Me Shell Access", "url": "https://danlevy.net/securing-clawdbot-tailscale/", "published_at": "2026-01-15T00:00:00+00:00" }, { "id": "01a08767-93de-719b-a845-b360be29230f", "title": "Stop Asking LLMs to Do Math", "url": "https://danlevy.net/ai-sdk-math-tool/", "published_at": "2026-01-06T00:00:00+00:00" }, { "id": "01a08767-93de-719b-a845-b360beeffc50", "title": "Stop Building Flaky Agents: Use Workflows & Memory", "url": "https://danlevy.net/mastra-workflows-memory/", "published_at": "2026-01-05T00:00:00+00:00" }, { "id": "01a08767-93de-719b-a845-b360bf4b01db", "title": "Your AI Agent is Useless Without This", "url": "https://danlevy.net/mastra-mcp-tool-integrations/", "published_at": "2026-01-04T00:00:00+00:00" }, { "id": "01a08767-93de-719b-a845-b360bf5f7f32", "title": "Production AI is Terrifying (And How to Fix It)", "url": "https://danlevy.net/mastra-security-guardrails/", "published_at": "2026-01-03T00:00:00+00:00" }, { "id": "01a08767-93de-719b-a845-b360bfecdabb", "title": "Don't Marry Your Model", "url": "https://danlevy.net/llm-routing-mastra-ai/", "published_at": "2026-01-02T00:00:00+00:00" }, { "id": "01a08767-93de-719b-a845-b360c053b1b9", "title": "Foreign Keys: Stop Asking If They're Fast", "url": "https://danlevy.net/your-foreign-keys-are-killing-performance/", "published_at": "2025-12-29T00:00:00+00:00" }, { "id": "01a08767-93de-719b-a845-b360c10698c7", "title": "Stop Leaking Memory with WeakMap", "url": "https://danlevy.net/weakmap-the-javascript-feature-you-dont-use/", "published_at": "2025-12-29T00:00:00+00:00" }, { "id": "01a08767-93de-719b-a845-b360c123b01f", "title": "JSONB: The Best Way to Ruin Your Database", "url": "https://danlevy.net/the-jsonb-seduction/", "published_at": "2025-12-29T00:00:00+00:00" }, { "id": "01a08767-93de-719b-a845-b360c12c3705", "title": "Your Timestamp is a Lie", "url": "https://danlevy.net/the-8-byte-timestamp-that-destroyed-our-database/", "published_at": "2025-12-29T00:00:00+00:00" }, { "id": "01a08767-93de-719b-a845-b360c1f18cb4", "title": "Async Stack Traces: Why `Error.stack` Lies to You", "url": "https://danlevy.net/async-stack-traces-why-error-stack-lies-in-production/", "published_at": "2025-12-29T00:00:00+00:00" }, { "id": "01a08767-93de-719b-a845-b360c261eabe", "title": "Quiz: Advanced JS Error Mastery", "url": "https://danlevy.net/quiz-advanced-js-error-mastery/", "published_at": "2025-11-03T00:00:00+00:00" }, { "id": "01a08767-93de-719b-a845-b360c3430add", "title": "2025's Wave of Database Innovation", "url": "https://danlevy.net/serverless-database-magic/", "published_at": "2025-09-10T00:00:00+00:00" }, { "id": "01a08767-93de-719b-a845-b360c354baad", "title": "Who put vulns in my patch?", "url": "https://danlevy.net/patchy-with-a-chance-of-vulnerability/", "published_at": "2025-09-10T00:00:00+00:00" }, { "id": "01a08767-93de-719b-a845-b360c4398629", "title": "The Last to Think", "url": "https://danlevy.net/the-last-to-think/", "published_at": "2025-05-31T00:00:00+00:00" }, { "id": "01a08767-93de-719b-a845-b360c4de6ef0", "title": "Beware the Single-Purpose People", "url": "https://danlevy.net/beware-the-single-purpose-people/", "published_at": "2025-04-14T00:00:00+00:00" }, { "id": "01a08767-93de-719b-a845-b360c4f70a3c", "title": "You May Not Need Algolia™", "url": "https://danlevy.net/you-might-not-need-algolia/", "published_at": "2025-03-01T00:00:00+00:00" }, { "id": "01a08767-93de-719b-a845-b360c53fff3e", "title": "Essential Docker Security Tips for Self-Hosting", "url": "https://danlevy.net/docker-security-tips-for-self-hosting/", "published_at": "2025-01-04T00:00:00+00:00" }, { "id": "01a08767-93de-719b-a845-b360c5d5d608", "title": "The Unassuming Power of Multiple-Choice Questions", "url": "https://danlevy.net/the-unassuming-power-of-multiple-choice-questions/", "published_at": "2025-01-01T00:00:00+00:00" }, { "id": "01a08767-93de-719b-a845-b360c6254634", "title": "From Zero to Regex Hero", "url": "https://danlevy.net/from-zero-to-regex-hero-extract-url-like-strings/", "published_at": "2024-12-29T00:00:00+00:00" }, { "id": "01a08767-93de-719b-a845-b360c6d0a7b1", "title": "Quiz: Essential Rust Memory Management", "url": "https://danlevy.net/quiz-is-your-memory-rusty/", "published_at": "2024-12-28T00:00:00+00:00" }, { "id": "01a08767-93df-71af-9ce8-9b778423c218", "title": "Quiz: AWS Storage: 20+ Questions!", "url": "https://danlevy.net/quiz-in-the-aws-cloud/", "published_at": "2024-12-28T00:00:00+00:00" }, { "id": "01a08767-93de-719b-a845-b360b920fd5c", "title": "Open Source Journal", "url": "https://danlevy.net/open-source-journal/", "published_at": "2024-12-16T00:00:00+00:00" }, { "id": "01a08767-93df-71af-9ce8-9b778481bd3e", "title": "Replacing Myself with AI", "url": "https://danlevy.net/replacing-my-job-with-gpt-and-llm/", "published_at": "2024-12-04T00:00:00+00:00" }, { "id": "01a08767-93df-71af-9ce8-9b7784981178", "title": "Quiz: Deep Postgres: Pt. 2", "url": "https://danlevy.net/quiz-postgres-sql-mastery-pt2/", "published_at": "2024-11-28T00:00:00+00:00" }, { "id": "01a08767-93df-71af-9ce8-9b7784ef1f8b", "title": "Quiz: Deep Postgres: Pt. 1", "url": "https://danlevy.net/quiz-postgres-sql-mastery-pt1/", "published_at": "2024-11-27T00:00:00+00:00" }, { "id": "01a08767-93df-71af-9ce8-9b7785d0e700", "title": "Quiz: Bash & Shell Mastery", "url": "https://danlevy.net/quiz-bash-in-the-shell/", "published_at": "2024-11-20T00:00:00+00:00" }, { "id": "01a08767-93df-71af-9ce8-9b7786163589", "title": "Quiz: Regular Expressions Mastery", "url": "https://danlevy.net/quiz-regex-or-wreckage/", "published_at": "2024-11-15T00:00:00+00:00" }, { "id": "01a08767-93df-71af-9ce8-9b7786c93a1e", "title": "Quiz: NodeJS IO Mastery", "url": "https://danlevy.net/quiz-nodejs-files-streams-buffers-oh-my/", "published_at": "2024-11-15T00:00:00+00:00" }, { "id": "01a08767-93df-71af-9ce8-9b77872bf002", "title": "Quiz: Destructuring Delights", "url": "https://danlevy.net/quiz-destructuring-delights/", "published_at": "2024-11-12T00:00:00+00:00" }, { "id": "01a08767-93df-71af-9ce8-9b77876cd97b", "title": "Quiz: Prove your SQL Skills!", "url": "https://danlevy.net/quiz-sql-query-fundamentals/", "published_at": "2024-11-08T00:00:00+00:00" }, { "id": "01a08767-93df-71af-9ce8-9b7787bea3d8", "title": "Quiz: Do You know CSS fundamentals? (2025)", "url": "https://danlevy.net/quiz-css-core-fundamentals/", "published_at": "2024-11-08T00:00:00+00:00" }, { "id": "01a08767-93df-71af-9ce8-9b7788ac9369", "title": "Quiz: Do You know Modern CSS? (for 2025)", "url": "https://danlevy.net/quiz-modern-css-2025/", "published_at": "2024-10-31T00:00:00+00:00" }, { "id": "01a08767-93df-71af-9ce8-9b77891f6261", "title": "Quiz: Can you count on JavaScript?", "url": "https://danlevy.net/quiz-can-you-count-to-bigint/", "published_at": "2024-10-31T00:00:00+00:00" }, { "id": "01a08767-93df-71af-9ce8-9b778a1c9d12", "title": "Quiz: Does HTML still belong on your résumé?", "url": "https://danlevy.net/quiz-master-modern-html5/", "published_at": "2024-10-31T00:00:00+00:00" }, { "id": "01a08767-93df-71af-9ce8-9b778b06ff9c", "title": "Quiz: Symbols & Enumerables", "url": "https://danlevy.net/quiz-js-interfaces-symbols-and-enumerables/", "published_at": "2024-10-31T00:00:00+00:00" }, { "id": "01a08767-93df-71af-9ce8-9b778b5eb4ff", "title": "Quiz: Do You Know Modern JavaScript?", "url": "https://danlevy.net/quiz-do-you-know-esnext/", "published_at": "2024-10-31T00:00:00+00:00" }, { "id": "01a08767-93df-71af-9ce8-9b778c1d9683", "title": "Quiz: Data Structures & Algorithms", "url": "https://danlevy.net/quiz-data-structures-algorithms/", "published_at": "2024-10-31T00:00:00+00:00" }, { "id": "01a08767-93df-71af-9ce8-9b778cd85907", "title": "The Priority Trap", "url": "https://danlevy.net/honest-priorities/", "published_at": "2024-10-23T00:00:00+00:00" }, { "id": "01a08767-93df-71af-9ce8-9b778d38a42e", "title": "One weird trick to speed up feature teams!", "url": "https://danlevy.net/one-weird-trick-to-speed-up-feature-teams/", "published_at": "2024-09-29T00:00:00+00:00" }, { "id": "01a08767-93df-71af-9ce8-9b778d6cf58b", "title": "How to lose a billion dollars super fast", "url": "https://danlevy.net/breaking-unicorns/", "published_at": "2024-09-25T00:00:00+00:00" }, { "id": "01a08767-93df-71af-9ce8-9b778e0a6b53", "title": "Understanding International Numbers & Currency", "url": "https://danlevy.net/handling-international-numbers-and-currency/", "published_at": "2024-08-28T00:00:00+00:00" }, { "id": "01a08767-93df-71af-9ce8-9b778e83a25b", "title": "Lessons Learned Upgrading My Blog", "url": "https://danlevy.net/upgrade-from-gatsby-to-astro/", "published_at": "2024-08-21T00:00:00+00:00" }, { "id": "01a08767-93df-71af-9ce8-9b778f1c566a", "title": "Become an Open Source Millionaire*", "url": "https://danlevy.net/contribute-to-open-source-the-easy-way/", "published_at": "2024-01-16T00:00:00+00:00" }, { "id": "01a08767-93df-71af-9ce8-9b778fe8771e", "title": "Guerrilla Types in TypeScript", "url": "https://danlevy.net/guerrilla-types-in-typescript/", "published_at": "2023-09-05T00:00:00+00:00" }, { "id": "01a08767-93df-71af-9ce8-9b7790277fb4", "title": "Deathmatch: Git Rebase vs. Merge", "url": "https://danlevy.net/deathmatch-git-rebase-vs-merge/", "published_at": "2023-08-27T00:00:00+00:00" }, { "id": "01a08767-93df-71af-9ce8-9b7790c633ed", "title": "ESM exports: named vs. default?", "url": "https://danlevy.net/should-you-use-named-or-default-exports/", "published_at": "2023-08-10T00:00:00+00:00" }, { "id": "01a08767-93df-71af-9ce8-9b77913b87c8", "title": "Master of Pipelines: Passing State", "url": "https://danlevy.net/mastering-functional-pipelines-passing-state/", "published_at": "2023-08-09T00:00:00+00:00" }, { "id": "01a08767-93df-71af-9ce8-9b77922fc739", "title": "The 4 Pillars of Collaborative Culture", "url": "https://danlevy.net/the-4-pillars-of-collaborative-culture/", "published_at": "2021-04-03T00:00:00+00:00" }, { "id": "01a08767-93df-71af-9ce8-9b7792fe8cf9", "title": "Creating Collaborative Culture", "url": "https://danlevy.net/creating-collaborative-culture/", "published_at": "2021-01-01T00:00:00+00:00" }, { "id": "01a08767-93df-71af-9ce8-9b7792ffa776", "title": "Quiz: 14 JavaScript Date Questions", "url": "https://danlevy.net/js-quiz-14-date-time-questions-test-your-knowledge/", "published_at": "2020-01-02T00:00:00+00:00" }, { "id": "01a08767-93df-71af-9ce8-9b77937a77a8", "title": "Quiz: 9 JavaScript Promise Questions", "url": "https://danlevy.net/javascript-promises-quiz/", "published_at": "2019-11-26T00:00:00+00:00" }, { "id": "01a08767-93df-71af-9ce8-9b7793a8e829", "title": "You may not need Axios", "url": "https://danlevy.net/you-may-not-need-axios/", "published_at": "2018-11-14T00:00:00+00:00" }, { "id": "01a08767-93df-71af-9ce8-9b7793f2893f", "title": "Using Environment Variables in NodeJS", "url": "https://danlevy.net/securely-using-environment-variables-in-nodejs/", "published_at": "2018-11-13T00:00:00+00:00" }, { "id": "01a08767-93df-71af-9ce8-9b779477ff26", "title": "Protecting Your Tokens, API Keys and Secrets", "url": "https://danlevy.net/protect-your-tokens/", "published_at": "2018-10-27T00:00:00+00:00" }, { "id": "01a08767-93df-71af-9ce8-9b7794e3dcdd", "title": "Broken Promises?", "url": "https://danlevy.net/are-promises-broken/", "published_at": "2018-10-06T00:00:00+00:00" }, { "id": "01a08767-93df-71af-9ce8-9b7795ded58c", "title": "Stop trying to make async/await happen", "url": "https://danlevy.net/stop-trying-to-make-async-await-happen/", "published_at": "2018-10-03T00:00:00+00:00" }, { "id": "01a08767-93df-71af-9ce8-9b779683f70b", "title": "Visualizing Promises", "url": "https://danlevy.net/visualizing-promises/", "published_at": "2018-09-30T00:00:00+00:00" }, { "id": "01a08767-93df-71af-9ce8-9b77972810b2", "title": "Promise Gotchas", "url": "https://danlevy.net/promise-gotchas/", "published_at": "2018-09-26T00:00:00+00:00" }, { "id": "01a08767-93df-71af-9ce8-9b77976bed73", "title": "Intro to Promises", "url": "https://danlevy.net/intro-to-promises/", "published_at": "2018-08-01T00:00:00+00:00" }, { "id": "01a08767-93df-71af-9ce8-9b77986b51f3", "title": "Pitfalls in Promise Docs", "url": "https://danlevy.net/pitfalls-in-promise-docs/", "published_at": "2017-05-10T00:00:00+00:00" }, { "id": "01a08767-93df-71af-9ce8-9b7798abd38d", "title": "Compare NVMe SSD Cloud Options", "url": "https://danlevy.net/compare-nvme-ssd-cloud-options/", "published_at": "2017-04-15T00:00:00+00:00" }, { "id": "01a08767-93df-71af-9ce8-9b7798cbbb51", "title": "Naming things good", "url": "https://danlevy.net/naming-things-real-good/", "published_at": "2016-06-01T00:00:00+00:00" }, { "id": "01a08767-93df-71af-9ce8-9b779913b7d3", "title": "When AI Fails & the Crashing Robotic Cars", "url": "https://danlevy.net/when-ai-fails-and-the-crashing-robot-cars/", "published_at": "2015-12-18T00:00:00+00:00" }, { "id": "01a08767-93df-71af-9ce8-9b7799ee96ba", "title": "Higher Order Programming", "url": "https://danlevy.net/higher-order-programming/", "published_at": "2015-09-22T00:00:00+00:00" }, { "id": "01a08767-93df-71af-9ce8-9b779ac5a417", "title": "AngularJS v2.0 and the Impending Schism", "url": "https://danlevy.net/angularjs-v2-impending-schism/", "published_at": "2015-08-05T00:00:00+00:00" }, { "id": "01a08767-93df-71af-9ce8-9b779ba882e4", "title": "Docker rocks & now works on OSX", "url": "https://danlevy.net/docker-rocks/", "published_at": "2015-06-11T00:00:00+00:00" }, { "id": "01a08767-93df-71af-9ce8-9b779baecb41", "title": "Docker Server Setup", "url": "https://danlevy.net/docker-server-setup-notes/", "published_at": "2015-04-06T00:00:00+00:00" }, { "id": "01a08767-93df-71af-9ce8-9b779beff13e", "title": "Docker === Love", "url": "https://danlevy.net/docker-makes-everything-better/", "published_at": "2015-02-26T00:00:00+00:00" }, { "id": "01a08767-93df-71af-9ce8-9b779bf4c726", "title": "AngularJS Tricks", "url": "https://danlevy.net/stop-the-angularjs-hate/", "published_at": "2015-02-26T00:00:00+00:00" }, { "id": "01a08767-93df-71af-9ce8-9b779c67a624", "title": "Best Free UI Design Resources for Developers", "url": "https://danlevy.net/amazing-resources/", "published_at": "2015-02-26T00:00:00+00:00" }, { "id": "01a08767-93df-71af-9ce8-9b779c92be2c", "title": "Security Notes: RegEx", "url": "https://danlevy.net/security-notes-regex/", "published_at": "2015-02-24T00:00:00+00:00" } ] posts Claim your blog
Back to danlevy.net
Blog · corpus.blog/blogs/danlevy.net/posts

danlevy.net

danlevy.net

2026

2025

2024

2023

2021

2020

2019

2018

2017

2016

2015