DHDan Holloraningrimicorn.hashnode.dev·2d ago · 4 min readThe Sanitizer API: Safe HTML Injection Without DOMPurifyEvery codebase I've worked in has the same line hiding somewhere: an innerHTML assignment with a // TODO: sanitize comment above it that nobody ever got back to. The usual fix is to reach for DOMPurif10
DHDan Holloraningrimicorn.hashnode.dev·5d ago · 4 min readLaravel 13 PHP Attributes: Config That Lives With Your CodeYou open a job class to work out why it hammered a third-party API twenty-five times before giving up. The answer is not in the class body. It is in a $tries property near the top, or a backoff() meth00
Xxvzf_optinxvzfopt.hashnode.dev·Jul 22 · 8 min readModernizing a Legacy OSINT Framework in Python: Part 2Introduction Welcome back to part 2 of my Recon-NGX blog series. In part 1 I introduced the project, outlined its goals and then talked about what led me to take it on. If you haven’t seen it yet, I’d00
DHDan Holloraningrimicorn.hashnode.dev·Jul 20 · 4 min readCSS @function: Reusable Logic Comes Native to the BrowserFor years, the honest answer to "can I write my own function in CSS?" was "no, use Sass." You wanted to name a bit of logic, hand it some arguments, and get a value back. CSS gave you custom propertie00
TWTang Weigangindoramagic.hashnode.dev·Jul 8 · 7 min readBefore Adopting OpenAI Agents SDK, Write the Runtime Contract FirstOpenAI Agents SDK is easy to misread as a faster way to build "more agents." That is the shallow interpretation. The more useful reason to evaluate it is that it puts agents, tools, handoffs, guardrai00
DHDan Holloraningrimicorn.hashnode.dev·Jul 2 · 4 min readFallow: A Codebase Truth Layer for Agent-Written CodeMost of the code in my side projects lately wasn't typed by me. I write the issue, an agent writes the branch, and I review the PR. That workflow is fast, but it quietly moves the hard part downstream00
DHDan Holloraningrimicorn.hashnode.dev·Jun 30 · 4 min readBuilding a Claude Code Status Line With Usage Bars and a Clickable RepoThe default Claude Code status line is fine until the moment you actually need it. You're deep in a session, you fire off one more request, and you hit a rate limit you had no warning was coming. The 00
DHDan Holloraningrimicorn.hashnode.dev·Jun 29 · 4 min readGrimicorn Neon: When a Calm Theme Goes LoudThe original Grimicorn was an exercise in restraint: muted pastels on a blue-gray base, tuned so nothing on screen ever burns your eyes. Grimicorn Neon is the opposite impulse. Same grim-reaper-meets-00
DHDan Holloraningrimicorn.hashnode.dev·Jun 28 · 4 min readBuilding Grimicorn: One Palette, Fourteen ToolsA typical day moves through a lot of windows. Editor, terminal, a git client, a notes app, and lately an agentic coding tool or two. Each one ships its own default theme, and even when you pick a "goo00
GMGian Michele Pasinelliindevtools-embedded.hashnode.dev·Jun 25 · 6 min readCalcDocs Gets Even Better: Interactive Tolerance Propagation in the Distribution Webview in VS CodeCalcDocs introduces an updated distribution-based uncertainty propagation engine integrated directly into its VS Code webview. The goal is to support engineers working with formulas and derived quanti00