RSSAmplifier

Blog

{{ .Site.Title }} on Gabe Ortiz

Recent content in {{ .Site.Title }} on Gabe Ortiz

gabeortiz.netRSS feed ↗13 posts

Latest posts

Evolving card games nobody has played yet

Earlier this year I wrote down a plan: use Monte Carlo simulation and genetic algorithms to evolve novel card games playable with a standard 52-card deck. Encode a game as a genome of rules, simulate thousands of games with AI players, score the results on proxy metrics for “fun,” select and mutate the best, repeat. The last item on the plan was “top evolved games get human…

Fifteen supply-chain attacks vs four AI coding agents

Before we start, the obvious caveat. Sandboxing your agent (container, no ~/.aws/credentials , no ~/.ssh , restricted network, separate user, ephemeral filesystem) beats any prompt-level rule. Do that first. The rules below are for what comes after. Sandboxes don’t fix everything. The agent might have deploy creds to deploy with, paid API keys to call paid APIs, read access to your actual…

Porting TurboQuant to CUDA

TurboQuant (ICLR 2026) compresses transformer KV caches using Walsh-Hadamard rotation plus Lloyd-Max quantization. 2-5x compression, minimal quality loss. The paper shipped with a llama.cpp fork that had Metal kernels but no CUDA support. I spent 12 days porting it. 140 commits, 6 PRs, two overnight runs of an automated optimizer that found a 3.5x speedup nobody would have written by hand. the…

Two models, two futures: Qwen 3.6 vs Opus 4.7

Two major model releases today: Opus 4.7 and Qwen 3.6. I run an 18-task agentic coding benchmark that takes 3-5 hours. Real software engineering work - tool use, multi-file edits, complex reasoning. Qwen 3.6 is by far the best self-hosted model I’ve tested. It scores better than state-of-the-art 120B parameter models. I get 230 tok/s on my 5090 with 262k context and VRAM to spare. It scores…

Subtractive software development: less is more

Software gets built by adding things. Features, abstractions, integrations, configuration. Nobody ships a press release that says “we deleted 40% of the product this quarter.” But addition has a cost that compounds silently; every feature you add makes the next feature harder to add, every abstraction you introduce is an abstraction everyone has to understand, and every integration is…

I Pruned Two Layers From a 30B Code Model and It Got 123% Better at Coding Benchmarks. Then I Tested It On Real Software Engineering Tasks.

..it got worse. But the full story is a bit more interesting than that. The Setup I have two projects that collided. Thunderdome is an agentic SWE benchmark I built that tests models on real multi-file tasks. Unlike SWE-bench, which is mostly “here’s a bug, fix it,” Thunderdome tasks are greenfield – build an ecommerce backend, implement full-text search, create a plugin…

AI Pitmaster: SDR + LLM + SMS + Meat + Fire

I’ve been smoking meat for years. Brisket, ribs, pork shoulder - the usual suspects. The process is simple but time-consuming: maintain a consistent pit temperature around 225°F for anywhere from 6 to 16 hours, monitor your meat temperature, and make adjustments when things inevitably go sideways. It’s meditation with delicious consequences. The problem is that maintaining attention…

Managing On-Call

Managing software engineers, easy right? Overseeing projects, budget analysis, 1-1s, personality conflicts, inter-department politics, acting as scrum master if you’re really unlucky - managers wear so many hats it’s hard to imagine taking on anything else. I’m going to try to convince you that you should also sometimes lose some sleep and have your your workday interrupted.…

Get Paid: Understanding and Negotiating Compensation

Get Paid Understanding and Negotiating Compensation This was a presentation originally prepared for a code school graduating class a couple years back. Hello Hi, I’m Gabe. Tech startup employee, founder, consultant for 15 years part 1: negotiate negotiating a job offer yields 7% higher salary on average Information asymmetry is your enemy. Being underpaid, even once, can have long-term career and…

Software Ate My Infrastructure: 2 Years on AWS with Ansible, Terraform and Packer - Part 2

Agari has made significant investment into infrastructure as code. Almost two years into this project, we’ve learned some lessons. In my previous blog post, I discussed organization of your automation repository and parameterizing environments. For this post, I’d like to talk about state management and database automation. State management One of the most frustrating things about…

Software Ate My Infrastructure: Two Years on AWS with Ansible, Terraform and Packer - Part 1

Previously: read about our first year Agari Data has made significant investment into infrastructure as code. Almost two years into this project, we’ve learned some lessons. Our efforts have already yielded dividends by increasing engineering velocity while maintaining infrastructure reliability. Additionally, our new toolset enables more experimentation, assured in the knowledge that…

Ansible and Terraform at Agari: An Automation Journey

Snowflakes and Early Automation Efforts At Agari Data, as part of our mission to solve phishing we deal with data at scale. We’ve chosen AWS to help us move quickly, making sure our infrastructure is as agile as we are. Unfortunately, in the beginning, we treated AWS instances much the same way as physical servers, each configuration was lovingly hand-crafted, packages were installed at the…

Preserving source IP - Postfix behind Amazon ELB

Why run Postfix behind an ELB instead of doing DNS round-robin? Lots of reasons. It’s a lot easier to autoscale, for one. You get increased control over load distribution, you don’t have to wait for DNS propagation. But wait, won’t I lose the source IP since we’ll have to do TCP load balancing? No, of course not - that was a rhetorical question. Here’s how it’s done. Amazon ELB…