✕ Clear all filters
53 articles
▶ Videos →

📰 Dev.to · Pavel Espitia

53 articles · Updated every 3 hours · View all reads

All Articles 131,250Blog Posts 136,246Tech Tutorials 33,996Research Papers 25,453News 18,664 ⚡ AI Lessons
Adaptive Thinking Killed My Token Budget Code: Migrating Off budget_tokens
Dev.to · Pavel Espitia 1w ago
Adaptive Thinking Killed My Token Budget Code: Migrating Off budget_tokens
I had a tidy little helper that computed a thinking budget based on input size. Something like "give...
The $292M KelpDAO Bridge Hack: Why the Audit Wasn't the Problem
Dev.to · Pavel Espitia 1w ago
The $292M KelpDAO Bridge Hack: Why the Audit Wasn't the Problem
On April 18, 2026, attackers drained about 116,500 rsETH, roughly $292 million, from a cross-chain...
Hybrid Local + Cloud LLMs in 2026: When to Use Ollama and When to Pay for Fable
Dev.to · Pavel Espitia 1w ago
Hybrid Local + Cloud LLMs in 2026: When to Use Ollama and When to Pay for Fable
I run a local model and I pay for cloud models, and the most common question I get is "which one...
Writing Evals for an LLM Security Tool: How I Know It Didn't Get Worse
Dev.to · Pavel Espitia 🧠 Large Language Models ⚡ AI Lesson 1w ago
Writing Evals for an LLM Security Tool: How I Know It Didn't Get Worse
Every time a new model ships, I face the same question for spectr-ai: does my contract auditor get...
Prompt Caching Cut My Claude Bill by 80%: The Mistakes That Were Costing Me
Dev.to · Pavel Espitia 1w ago
Prompt Caching Cut My Claude Bill by 80%: The Mistakes That Were Costing Me
I was paying full price for input tokens I was sending over and over. A large system prompt, a fixed...
Signature Replay Attacks in Solidity: The Bug That Looks Correct
Dev.to · Pavel Espitia 2w ago
Signature Replay Attacks in Solidity: The Bug That Looks Correct
Some smart contract bugs scream at you. A missing onlyOwner, a reentrancy with the state update after...
Structured Outputs vs Tool Use vs Prefills: Getting JSON Out of Claude in 2026
Dev.to · Pavel Espitia 🧠 Large Language Models ⚡ AI Lesson 2w ago
Structured Outputs vs Tool Use vs Prefills: Getting JSON Out of Claude in 2026
For a long time the trick to force a model into JSON was to prefill the assistant turn with an...
Building Multi-Tenant RLS in Supabase: Lessons From Shipping Lomi
Dev.to · Pavel Espitia 🧠 Large Language Models ⚡ AI Lesson 2w ago
Building Multi-Tenant RLS in Supabase: Lessons From Shipping Lomi
Lomi is a SaaS for dog kennels in Colombia, and it has two kinds of tenancy at once: each kennel is a...
I Built a Coding Agent With the Manual Tool-Use Loop. Here's What It Taught Me
Dev.to · Pavel Espitia 🤖 AI Agents & Automation ⚡ AI Lesson 2w ago
I Built a Coding Agent With the Manual Tool-Use Loop. Here's What It Taught Me
Everyone reaches for the SDK's tool runner because it hides the agentic loop. I wrote the loop by...
Proxy Contracts and Storage Collisions: The Upgrade That Corrupts Your State
Dev.to · Pavel Espitia ⚡ AI Lesson 2w ago
Proxy Contracts and Storage Collisions: The Upgrade That Corrupts Your State
Upgradeable contracts are everywhere in DeFi, and they hide a category of bug that has nothing to do...
Effort Levels in Practice: I Benchmarked low Through max on Real Tasks
Dev.to · Pavel Espitia 2w ago
Effort Levels in Practice: I Benchmarked low Through max on Real Tasks
The current Claude models give you an effort knob with five settings: low, medium, high, xhigh, max....
Reading a Verified Contract You Didn't Write: A Systematic Approach
Dev.to · Pavel Espitia 🔧 Backend Engineering ⚡ AI Lesson 3w ago
Reading a Verified Contract You Didn't Write: A Systematic Approach
Opening a 600-line Solidity contract you have never seen is intimidating. Where do you even start?...
What I Learned Submitting a Chrome Extension to the Web Store
Dev.to · Pavel Espitia ⚡ AI Lesson 3w ago
What I Learned Submitting a Chrome Extension to the Web Store
I built Argus, an AI transaction firewall as a Chrome extension, and submitting it to the Web Store...
RAG for Code: Why Chunking by Function Beats Chunking by Lines
Dev.to · Pavel Espitia 🧠 Large Language Models ⚡ AI Lesson 3w ago
RAG for Code: Why Chunking by Function Beats Chunking by Lines
I built a retrieval system over a codebase so an LLM could answer questions about it, and my first...
The Drift Protocol Hack: A Six-Month Social Engineering Operation
Dev.to · Pavel Espitia 3w ago
The Drift Protocol Hack: A Six-Month Social Engineering Operation
On April 1, 2026, attackers drained about $285 million from Drift Protocol on Solana. It was the...
Detecting Supply-Chain Malware Without Running the Code
Dev.to · Pavel Espitia 🔐 Cybersecurity ⚡ AI Lesson 3w ago
Detecting Supply-Chain Malware Without Running the Code
After I got targeted by a fake-job-interview repo designed to steal my keys, I built a scanner that...
Chatting With Any EVM Contract: How Scry Resolves Proxies and Unverified Bytecode
Dev.to · Pavel Espitia 🔧 Backend Engineering ⚡ AI Lesson 3w ago
Chatting With Any EVM Contract: How Scry Resolves Proxies and Unverified Bytecode
Scry lets you talk to any EVM smart contract in plain English. Point it at an address on six chains...
Foundry Fuzzing vs Invariant Testing: When Each One Finds the Bug
Dev.to · Pavel Espitia 4w ago
Foundry Fuzzing vs Invariant Testing: When Each One Finds the Bug
Foundry gives you two automated testing tools that sound similar and find very different bugs:...
Streaming Claude to the Browser With Backpressure That Actually Works
Dev.to · Pavel Espitia ⚡ AI Lesson 4w ago
Streaming Claude to the Browser With Backpressure That Actually Works
Streaming LLM tokens to a browser is easy to get 80% right and surprisingly easy to get the last 20%...
Why I Log response.model on Every Claude Call (and You Should Too)
Dev.to · Pavel Espitia 💻 AI-Assisted Coding ⚡ AI Lesson 1mo ago
Why I Log response.model on Every Claude Call (and You Should Too)
It is a one-line habit that has saved me more debugging time than any clever abstraction: I log which...