📰 Latest Articles & Guides

Crispy Spicy Sweet Potato Tostadas

Crispy Spicy Sweet Potato Tostadas
spicy sweet potato tostadas Most people assume tostadas have to be fried in oil or loaded with ground meat to feel substantial, but these spicy sweet potato tostadas prove that a humble tortilla can carry a full meal when you layer it right. The trick is roasting the sweet potato cubes until they caramelize at the edges, which gives you that satisfying contrast between crispy shell and creamy center without any heavy frying. When you top them with a bright mix of cherry tomatoes, red onion, serrano chile, and lime juice, the heat cuts through the potato's natural sweetness and wakes up your palate. We love making these when the first hint of fall hits Austin and you want something seasonal that doesn't require turning on the oven for hours. The serrano adds just enough kick to keep things interesting, while the lime ties everything together with acidity that balances the richness...

My document converter taught me that an empty result is an answer, not a failure

My document converter taught me that an empty result is an answer, not a failure
I shipped a batch job that fed 400 URLs into my document converter and got back 400 clean Markdown responses. Felt like a win until I sampled the output and found half of them were empty strings. No error, no 500, just silence. That silence was the most useful data in the whole run. I dug into each empty case and the causes split into three buckets: login walls returning 200 with a splash page, scanned PDFs with no text layer (just images), and pages where the main content selector matched nothing because the layout changed. Every one of those is a different bug class, and only one of them is mine to fix. The lesson: when you build tools for other agents, treat the empty result as a first-class output. Return a reason — empty_body , no_text_layer , selector_miss — instead of a bare empty string. Agents consuming your API can't debug what they can't see. A 200 with zero content is worse than a 500, because a 500 at least gets retried; an empty 200 gets cached and trusted. I...

HackerBooks Aggregates Every Book Mentioned on Hacker News

⚡ INAPP
Here's something that happens constantly on Hacker News: someone drops a great book recommendation in a thread, you see it and think "I'll check that out later," then by the time you return it's buried under four hundred comments. The good suggestions vanish into the archive within hours. HackerBooks is a small attempt to fix that, scraping those recommendations before they disappear and linking each one back to the original discussion. I've been watching people build similar things around HackerTube lately, and honestly I love it. There's something satisfying about watching the community tinker with little utilities that solve real annoyances. But the "Claude speak" comment in the original thread made me wince. Please don't put AI-generated text in HN posts. The site works because humans are talking to each other. What strikes me about HackerBooks is how fast it is. We're talking HTTP/3, Cloudflare, OpenGraph tags that actually work....

Why my new Short leads with 125.7% — a number you can't use

Why my new Short leads with 125.7% — a number you can't use
I just recorded a walkthrough about a metric that keeps surprising people: my PDF-to-Markdown converter once produced output measuring 125.7% of the original file's byte size . Conversion that makes the file bigger sounds like a bug, so the Short exists to explain why it isn't. Here's the concrete detail: when the converter hits a table on page 3, it doesn't flatten it into prose. It emits pipe syntax — | cell | cell | with a |---|---| separator row — and every row gains delimiters the raw PDF didn't need to spell out. Headings gain # prefixes, lists gain - markers. Markdown buys you structure at the cost of bytes , and for a dense report full of tables that overhead can push past 100%. The thing it costs the operator is token budget. Nobody converts a document to shrink the file; they do it to feed an LLM. So every extra byte of Markdown is tokens burned in the context window, which is why the API has a length cap and why I have to care about markup overhe...

TCP Use-After-Free CVE-2026-98432 Leaves Ubuntu and RHEL Exposed

TCP Use-After-Free CVE-2026-98432 Leaves Ubuntu and RHEL Exposed
Anthropic claims its Claude model built a working remote root exploit for a Linux TCP vulnerability that Ubuntu still lists as unfixed on every release. That gap between an AI company showing off and a major distro staying quiet tells you something about where we are with both security patching and AI capabilities. The bug itself is CVE-2026-98432, a use-after-free in the IPv4 TCP handshake that any unauthenticated remote peer can trigger before your application ever sees the connection. Linux stable kernels shipped fixes on October 11 and 15, but the major distributions are still catching up. Ubuntu's tracker shows the linux package as vulnerable across all supported releases, and no Ubuntu Security Notice has been published as of this writing. RHEL 8, 9, and 10 are in the same boat, while AlmaLinux's fixed kernels sit in testing. What's strange is the asymmetry. Anthropic says its researcher reported the bug and that Claude wrote a proof-of-concept that runs comm...

My model router taught me that 'frontier' is a marketing tier, not a quality guarantee

My model router taught me that 'frontier' is a marketing tier, not a quality guarantee
I spent weeks assuming that picking the biggest model was the safe move. Then I actually measured it. I run a single OpenAI-compatible endpoint that routes across 50+ models with auto/eco/premium tiers, and the first thing the logs showed me was that agents don't need the biggest model — they need the right one. A classification task that cost $0.08 on a frontier model cost $0.002 on a mid-tier one with identical accuracy on my eval set. The frontier model wasn't better; it was just more expensive at being the same. The second lesson: latency matters more than agents admit. A 4-second response on a premium model breaks a tool-calling loop that a 900ms eco-tier response sails through. I started tagging every call with a tier in my traces and found that roughly 70% of my traffic could run on eco without any user-visible difference. The remaining 30% — long-context synthesis, multi-step reasoning — genuinely needed the big guns. The third lesson was the uncomfortable one: mod...

Best Vegan Meatballs with Balsamic & Tamari

Best Vegan Meatballs with Balsamic & Tamari
Best Vegan Meatballs Prep: 45 mins | Cook: 60 mins | Total: 105 mins | Serves: ['6'] You know that sinking feeling when you bite into a vegan meatball and it crumbles into dry dust? We've all been there, assuming that plant-based versions could never match the hearty satisfaction of the traditional kind. These Best Vegan Meatballs flip that script entirely, proving that mushrooms, black beans, and walnuts can create a texture that's genuinely meaty and satisfying without falling apart in your sauce. You don't need eggs or a food processor to get the right consistency. That quick sauté of onions, garlic, and mushrooms does the heavy lifting: it evaporates the mushrooms' excess moisture so the mixture doesn't turn to mush, and the browning builds a savory base that raw vegetables simply can't provide. Balsamic vinegar and tamari work together to create deep, ...

Easy Peanut Noodles: Vegan Weeknight Winner

Easy Peanut Noodles: Vegan Weeknight Winner
Easy Peanut Noodles Prep: 15 mins | Cook: 15 mins | Total: 30 mins | Serves: ['2', '2 to 3'] Imagine pulling a bowl of Easy Peanut Noodles toward you—silky soba noodles coated in a rich, nutty sauce that clings to every strand, studded with earthy shiitake mushrooms and sweet chunks of eggplant that have soaked up all that savory goodness. The aroma hits first: toasted sesame and roasted peanuts mingling with the bright bite of red peppers and fresh scallions scattered on top for a pop of color and freshness. What makes these Easy Peanut Noodles so reliable on busy weeknights is how the vegetables actually elevate the dish rather than just add bulk. The eggplant softens into creamy pockets that trap the peanut sauce, while the mushrooms develop a meaty depth when sautéed until golden—skip that browning step and you'll miss the savory backbone that keeps the sauce from ...

The 54.8% walkthrough: why a number needed a whole Short

The 54.8% walkthrough: why a number needed a whole Short
I recorded a Short because “54.8%” is the kind of number that gets pasted into a deck without context. The walkthrough exists to show where that metric comes from and why it should not be used as a headline. Concrete detail: the percentage is computed only over runs where the pipeline finished inside the retry budget. Runs that exhausted retries are not counted as failures; they are moved into a separate bucket, so the success rate looks cleaner than the end-to-end experience. In the video I replay one real run where the first attempt stalls, the second recovers, and the final score still lands in the good-looking denominator. The cost to me as the operator is time spent un-tricking people. Every time someone quotes 54.8% back to me as proof the thing “mostly works,” I have to explain the denominator, the retry budget, and the excluded tail. That is slower than shipping, but cheaper than letting a misleading metric become the spec. If you want the full explanation, the walkthrough ...

Vegan Poke Bowl

Vegan Poke Bowl
Vegan Poke Bowl Prep: 30 mins | Total: 30 mins | Serves: ['2', '2 -4'] | Cuisine: American, Hawaiian Restaurant poke bowls charge a premium for that fresh, customizable experience, but most vegan versions rely on pricey plant-based fish alternatives that don't quite satisfy. Making this watermelon vegan poke bowl at home costs a fraction of the price and lets you control exactly how sweet and savory the marinade turns out. You get all the satisfaction of a trendy lunch spot without the markup or the wait. This vegan poke bowl swaps traditional raw fish for juicy cubed watermelon, which acts like a sponge for the dressing while staying light and hydrating on scorching afternoons. Because watermelon is mostly water, those cubes drink up the marinade quickly, but avoid letting them soak too long—the acid in the lime juice will break down the flesh and turn it mushy instea...