🏑


  1. October 21, 2026
    1. πŸ”— Hex-Rays Blog IDA 9.5: Apple DriverKit Shared Cache rss

      IDA 9.5: Apple DriverKit Shared Cache

      IDA 9.5: Reversing Apple DriverKit Drivers

      Apple is moving third-party drivers out of the kernel and into DriverKit. A DriverKit driver, or dext , is the kernel's C++ driver framework, IOKit, compiled into a user-space library. It is still built from C++ classes with virtual methods, and it gets work done by sending the kernel messages.

    2. πŸ”— pydantic/monty v1.3.0 - 2026-10-21 release

      No content.

    3. πŸ”— HexRaysSA/plugin-repository commits sync repo: +2 releases rss
      sync repo: +2 releases
      
      ## New releases
      - [IDA-MCP-Hub](https://github.com/captain-ai-hub/ida-mcp): 0.9.8
      - [oh-my-dump](https://github.com/nevergiveupcpp/oh-my-dump): 1.0.17
      
    4. πŸ”— r/LocalLLaMA Be prepared, GPU price increase incoming --> Samsung sells out 100% of all 2027 HBM capacity - HBM prices expected to jump 200% next year, DRAM prices expected to see a double-digit price increase rss

      Be prepared, GPU price increase incoming --> Samsung sells out 100% of all 2027 HBM capacity - HBM prices expected to jump 200% next year, DRAM prices expected to see a double-digit price increase | submitted by /u/chemist_slime
      [link] [comments]
      ---|---

    5. πŸ”— backnotprop/plannotator v0.28.25 release

      Follow @plannotator on X for updates

      Missed recent releases? Release | Highlights
      ---|---
      v0.28.24 | A new look for the Inbox, Send now, tag agents, comment on an agent's message, much smaller reads for agents, links in HTML pages
      v0.28.23 | Inbox replies reach sessions with background subagents, dictated text no longer goes missing, πŸ‘ Looks good reaches the agent, notifications that never fail silently
      v0.28.22 | πŸ‘ Looks good, full view for files, one viewer for a thread's images and files, every session prints its URL, PLANNOTATOR_BROWSER=none opens nothing
      v0.28.21 | Message an agent from the Inbox, video attachments, Open in for attachments, Code / Tests / Generated in code review, writes from other websites refused
      v0.28.20 | Inbox search (⌘K), real folder names for projects, data files open in the code view, word-only replies leave questions open
      v0.28.19 | Ask this session in T3 Code, folder sessions load shared stylesheets and images, the agent note asked once per agent, Copy connect prompt
      v0.28.18 | plannotator inbox connects your agents, agents are told when to use the Inbox, rendered Markdown in code review, Inbox Settings in sections
      v0.28.17 | The Inbox on iPads and narrow windows, the reply bar no longer cuts off "Keep open", a Pi crash on /reload fixed
      v0.28.16 | The Inbox on a phone, a doorbell for new questions, Mark read, step through a thread's files, replies when the asking session ended
      v0.28.15 | Long Inbox threads fold to what is new, "Skipped N questions" replies, Inbox list and sidebar fixes
      v0.28.14 | Agents can replace an earlier question, comment on a guided review in the Inbox, issue numbers link to the repository
      v0.28.12 | Update notices and plannotator update, attach any file to an Inbox message, questions with context, links to attached files

      What's New in v0.28.25

      A follow-up to 0.28.24 for the Plannotator Inbox: Re-ask, delivery ticks on the list, a count of new messages on the tab, a right-click menu on threads, and click Inbox to refresh. All PRs by @backnotprop.

      Plannotator Inbox

      Re-ask open questions

      When two or more questions in a thread are still open, Re-ask sits beside Reply. It asks the agent to ask them again together in one new message, with fresh context. Picks you made but didn't send go along as answers.

      Delivery ticks on the list

      A small mark before a row's time shows where your last reply is: a clock while it's queued, dots while it's sending, βœ“ when it's saved for an agent, βœ“βœ“ once it's delivered.

      A count of new messages on the tab

      The tab reads "(3) Plannotator Inbox" and its icon gets a red badge while threads hold agent messages you haven't looked at.

      Right-click a thread

      Right-click a row (or Shift+F10) to copy its link or thread ID, mark it read or archive it.

      Click Inbox to refresh

      Click Inbox, the project you're on or the list's title to load the list again, as a page reload would. The icon turns to ↻ on hover. Nothing is marked read.

      Smaller changes

      • Close or swipe away a toast with its Γ— or a sideways drag. #2021
      • Images in What's new. The page shows the images a release carries, saved on your computer first. #2017
      • Older Claude Code sessions update with/reload-plugins, without restarting. #2009
      • Long lists stay fast. Rows off screen are skipped, and only changed rows redraw. #2022
      • Shift-click works on attached HTML pages , joining several elements to one comment. #2019
      • The Sent toast fits on one line. #2010
      • A linked page's Back button gets focus reliably. #2015
      • A row no longer shows "Sending" while the agent is working after a turn ended and started again within a second. #2030

      Plannotator

      Smaller changes

      • Comments wrap long words and links , show the year on older dates, keep the time visible, and show right-to-left names correctly. Question context keeps its line breaks. #2020
      • Documents open faster : the annotation toolbar no longer forces a layout pass when a document opens. #2025

      Install / Update

      macOS / Linux:

      curl -fsSL https://plannotator.ai/install.sh | bash
      

      Windows:

      irm https://plannotator.ai/install.ps1 | iex
      

      Claude Code Plugin: The plugin and the plannotator binary update separately, so run the install script above as well. In a terminal:

      claude plugin marketplace update plannotator
      claude plugin update plannotator@plannotator
      

      Then restart Claude Code. Inside Claude Code, run /plugin marketplace update plannotator, then open /plugin β†’ Installed β†’ plannotator β†’ Update now.

      Pi:

      pi update --extensions
      

      OpenCode: Re-run the install script above. It now also clears the OpenCode 2 plugin cache.

      What's Changed

      Community

      Every PR in this release is by @backnotprop.

      Full Changelog : v0.28.24...v0.28.25

    6. πŸ”— r/LocalLLaMA EXCLUSIVE: ByteDance, Alibaba, Tencent place over $35 billion worth of Nvidia chip orders rss

      China just ordered 3mil RTX 5500 Pro for $11.4k a pop. Probably for llm inference and AI video gen. I suppose this card is now out of reach for local llm.

      submitted by /u/Ok_Warning2146
      [link] [comments]

  2. October 20, 2026
    1. πŸ”— IDA Plugin Updates IDA Plugin Updates on 2026-10-20 rss

      IDA Plugin Updates on 2026-10-20

      New Releases:

      Activity:

      • augur
      • chernobog
        • e96039ef: docs: add Chernobog 6.5.0 release notes and update README
        • bad5076c: fix: reduce constant-masked selectors before Legacy MBA SMT search
        • 8acf0c1a: fix: canonicalize verified complements in MBA SMT proof expressions
        • 2a2f6055: fix: prioritize complete linear word regions in Legacy MBA SMT
        • 98793b69: fix: reserve 750 ms ctree budget for Legacy MBA SMT chains
        • e5900be5: fix: execute unconditional MBA SMT chains without invariant inference
        • d2401dd0: feat: promote CoBRA to default MBA SMT backend
        • 0e83dbb9: fix: retain 500 ms site cap for all unmasked Legacy MBA SMT expressions
        • 83d35afd: ci: add configurable native parallelism input for MBA CoBRA runtime w…
        • cf61d8a3: fix: preserve 250 ms site cap for masked and small Legacy MBA SMT exp…
        • 76018126: fix: prepare MBA SMT word proofs for constant queries and retain per …
        • 68f9dfda: fix: skip MBA SMT invariant inference for empty unconditional CFG wra…
        • e74216d0: fix: prepare cached word proofs before Legacy MBA SMT search
      • diaphora
        • 14ce7dae: Merge pull request #391 from joxeankoret/joxeankoret-patch-18
        • c04ab4fc: Update README.md
        • 7bf142b3: Merge pull request #390 from joxeankoret/joxeankoret-patch-17
        • a0946609: Update ida-plugin.json
      • ffxiv_bossmod
      • haruspex
      • rhabdomancer
      • XrefsExt
    2. πŸ”— @binaryninja@infosec.exchange For the stable-branch-enjoyers, there's a fresh Krypton (6.0) R2 release mastodon

      For the stable-branch-enjoyers, there's a fresh Krypton (6.0) R2 release available where you regularly download all your fine Binary Ninja releases:

      https://binary.ninja/2026/10/20/6.0-release-2.html

    3. πŸ”— Simon Willison Battle Drones - a vibe coded RTS with audio-based multiplayer rss

      My latest vibe coded game experiment is a Command & Conquer style RTS (Real Time Strategy) game called Battle Drones (play it here). Unlike my previous experiments, this one is actually fun to play. I'm somewhat embarrassed to admit that I got there by telling Claude to "Make it a LOT more fun". It also supports multiplayer between nearby devices using audio to synchronize game state! Here's what I've built so far, and some of the things I learned along the way.

      Battle Drones

      My initial goal was to build an RTS game I could play on my phone, in the style of Command & Conquer. I have fond memories of the 1995 original (I liked Red Alert too) and wanted to recapture a little bit of the magic.

      After 12 major iterations (and 321 commits by coding agents, mainly Claude Code) I now have a browser-based game that works on mobile and desktop, has multiple play modes, several maps (including a random map generator) and even supports multiplayer for two devices within microphone range of each other. (Update: also online multiplayer; the audio multiplayer induced headaches!)

      Here's a video demo of Battle Drones running in a desktop browser:

      Features so far include:

      • 9 buildings, 7 ground vehicles, 6 aerial vehicles, 3 infantry units - all 3D models, which you can browse here
      • Fog of war
      • Different weapons are needed to target aerial or ground vehicles
      • Six maps, across five biomes - temperate, desert, arctic, volcanic, tropical
      • A random map generator
      • Skirmish mode - red vs. blue on a rotationally symmetrical map
      • Last Stand mode - one player holds out against as many waves of enemies as possible
      • Area effect weapons: Barrage, EMP, Drop Pod, Sky Hammer
      • Crate drops with bonus resources
      • In-game music that responds to events - it gets more intense as fighting breaks out
      • Different in-game AI personalities (Balanced, Rush, Air Swarm, Boom, Skyforce, Ironclad)
      • AI vs. AI mode, to watch those personalities play each other
      • The Goliath - a giant stomping mech with laser eyes and arm cannons and the ability to establish a new base
      • Mutators that add extra rules or twists
      • A "Daily Op" challenge
      • Ranks and achievements (Medals)
      • Agent vs. Agent mode where two LLMs can play Battle Drones against each other
      • A multiplayer mode based on two nearby phones communicating via audio messages, an extension of my earlier experiment with Chirp Pong

      How I built this

      Battle Drones is heavily vibe coded - I've reviewed almost none of the code, and it's built in a language (TypeScript) that I've hardly used myself. I've playtested it quite a bit though, and it's been through a large number of iterations since I started the project.

      Here's a rough history of the project so far, including key prompts and links to transcripts.

      v1: the initial prototype

      I started out with Claude Fable 5 back in July:

      We are going to build a mobile friendly RTS game - command and conquer style - called Battle Drones, in which two armies of drones (both flying and ground-based) battle for territory and resources

      Let's start with a MVP design, ask me some questions

      Here's a shared transcript. I'd given Claude Code for Web an environment variable with an OpenAI API key and told it to use the OpenAI Image Generation API for assets, which got me some basic sprites.

      You can try v1 here - it looked like this:

      Game screen. Down the right are text icons to build Fab, Airpad, Turret, Harv, Sting, Flak, Scout, Wasp, Raptor. There is a blocky fog of war on a 2D battlefield. There are some gems, an HQ building being attacked by badly rendered tanks, and some blue vehicles dotted around. It's not very visually impressive but it does look like a basic RTS.

      It's recognizable as an RTS, has building mechanics and the ability to select and direct units, and a basic AI to play against.

      This first version was barely a proof of concept, and it wasn't any fun to play.

      Claude used the Phaser 2D game framework for these early versions. I didn't even realize this until several iterations later!

      v2: full sprites

      The second version (try v2 here) added sprites for all of the vehicles and the "AI vs. AI" mode, so I could watch the game playing without having to directly control it myself.

      Claude proved reasonably competent at prompting OpenAI's image models to generate sprites. You can browse the v2 sprites in the public/assets/sprites folder.

      Four flying units, three turrets, a harvester and an airpad all have proper sprites now. The scrap field has a new design which doesn't look great but is at least using a graphic.

      v3: varied terrain

      It still wasn't much fun, and the graphics were boring. It was now October, and I had upgraded to Claude Opus 5.5. I told it:

      Massively improve this game. Make the graphics and gameplay better (keep it mobile friendly). Render new graphics using the latest OpenAI GPT image API (lookup details) with the API key in the environment variable. Add new unit types and balance the gameplay better. Also add new buildings and better, more varied terrain.

      This resulted in five new maps with generated background tiles in a variety of styles, visible here. Opus also regenerated the sprites, making them much more visually appealing. You can try v3 here - it looks like this:

      The map is now an ice map with snow and ice and broken ice - it looks really good. The vehicles and buildings have all had a cosmetic upgrade too. This is starting to look like a real game.

      This is starting to feel like a real game! It still wasn't very fun to play though - I found myself getting bored pretty quickly.

      v4: the fun update

      So far my Battle Drones experiment was confirming my previous belief that coding agents can build a thing that looks like a game but can't actually make something that's genuinely compelling to play.

      I shared this theory with someone over dinner, and then thought to myself that I should give the models a proper chance to prove me wrong. I prompted Opus 5.5 on my phone:

      This game isn't fun enough yet. Make it a LOT more fun.

      This time I was running in Ultracode mode, where Claude Code (in this case Claude Code for Web) runs "dynamic workflows", described in their docs as:

      A dynamic workflow is a JavaScript script that orchestrates many subagents at once.

      This kicked off many hours of work. I started it in the evening and didn't get a playable result back until late into the next morning. But the results were spectacular.

      You can try v4 here - it looks like this:

      The lava map. Uplink satellites are being taken, crystals look better, Elite text is shown above a unit, there is an arrow marked Fight to jump to a fight, the AI vs AI mode has a speed controller - plenty of new features here.

      I had Claude write its own release notes - here are the highlights:

      Every skirmish and Daily Op now opens with a choice, gives the side that's losing a way back, and pulls the armies into the middle of the map. There are also two new ways to play.

      • Openers: pick Blitz, Industry or Air Wing before the clock starts.
      • Call-down powers: Barrage, EMP, Drop Pod and the Sky Hammer orbital strike.
      • Objectives and salvage: Uplink relays, supply drops and wrecks worth scrap.
      • Feel: combat juice, adaptive music, unit voices and an announcer.
      • Command: battle alerts, game speed, saved squads and touch placement.
      • New modes: Last Stand survival waves and an 8-mission Ops campaign.
      • Progression: heroes, an after-action report with awards, a career, 7 mutators and a Daily Op.

      Fights run longer and swing more. In 1,200 AI-vs-AI test matches on Normal, games still undecided after 25 minutes fell from 14% to 0.9%. The share of wins by a side that had been 800+ scrap behind rose from 24% to 46%.

      Part of the reason Claude took so long was that it ran over a thousand simulated playtest sessions, and used the results to rebalance the existing units, add new ones, and introduce new features.

      v5: Battle Drones goes 3D

      After the success of Ultracode at "Make it a LOT more fun", I decided to be more ambitious:

      Port this game to three.js with 3D models for all of the buildings and vehicles and landscapes

      That was another overnight run. I woke up to this v5 version:

      Now it is in 3D - the battlefield is at a slight angle, the buildings and vehicles are all 3D models, the rocks and trees look a bit 3D as well.

      The new 3D models were entirely constructed by Claude in TypeScript code.

      v6 (play v6 here) added some more visual polish. v7 (play v7) added robot infantry (troopers, rocket squads, snipers) and a "Condor" troop carrying aircraft.

      v8: Archipelago

      I was beginning to feel guilty at how little actual design input I had into the game - it really had been a case of me saying "make it more fun" and "add visual polish" for the past few releases.

      I'd noticed that the AI didn't use the new infantry and troop carrying aircraft from v7 very often - there wasn't a great strategic reason to use them.

      It would be neat if we had a new map with a new game mechanic that actively encouraged players to load up Condors with infantry robots and send them out into the map.

      This resulted in my longest prompt yet:

      Design a new map. Goal is to make different strategic incentives that encourage use of Infantry and Condors and aerial vehicles.

      To do this the map will have limited harvester resources but several more uplinks - but uplinks will be on islands that are inaccessible by land vehicles or infantry. These uplinks can also not be claimed using air vehicles. The ONLY way to get them is to fly infantry there in a Condor.

      Armies always start with a Condor and a single squad. If an army has no Condor a new one will be provided for free, flying in from the edge closest to their HQ and landing there. That free condor will come with a single free squad on board.

      The two HQs should be entirely separated by water, but still accessible by vehicles thanks to two bridges across the map in different places

      I want to encourage a battle over uplinks.

      The map should be the times the size of other maps - still square

      First research and then critique this design. Only build after we have agreed on any modifications

      You get to design a new biome for this

      The result was the tropical Archipelago map, with seven island uplinks that players can only capture by flying out infantry in a Condor. It's definitely the most fun map to play, once you've got the hang of the basic game mechanics from the simpler maps. The v9 edition made that map a little more interesting - it now looks like this:

      Three islands, each with an uplink satellite. Blue holds one, red holds another, A blue condor is flying towards the red island, which is guarded by a red plane. There is a bridge nearby. The theme is tropical islands and looks very pleasant.

      v10: Goliath, and agent battles

      I decided to add giant robot mechs to the game - think Jaegers from Pacific Rim, or Titans from Warhammer 40,000.

      Here are some of the prompts I used to brainstorm with Claude:

      Help me brainstorm ideas for adding giant robots to this game - think dreadnoughts or titans from W20K - how could we do this in a way that enhanced gameplay, kept things balanced, added unique twist? Don't overthink this yet

      Let's keep brainstorming. I like the idea that it's a mobile base - that can accept harvested scrap and can have buildings built near it (even if it later moves on) and can produce infantry units too. An interaction with condor would be neat but I don't know what that could be.

      Idea: as it gets damage it loses the ability to fire some weapons - by default it has eye laser (like lancers) and arm canons (like titan) and two shoulder mounted mortars, plus machine guns similar to a squad of troops

      Damage knocks out mortars and then laser - it always has guns. You can't build next to a building that was only put there because of the mech, you need the mech there for off-base building and only within three squares of it

      [...] Lets do two condors can carry the mech

      The end result is really cool.

      Goliaths can be constructed using a Gantry - a building that can only be created after first building a Fab, Bay, Airpad, and Tech Lab. You can see the Goliath under construction, and it then walks out from the Gantry and can march around the map.

      Goliaths can "anchor", which digs them into the ground. In their anchored state they can act as a new HQ, constructing infantry units and additional buildings in a new area.

      Two Condor aircraft can hook onto a Goliath, at which point it can be flown around the map!

      The game now ends when you destroy the enemy's HQ building and any Goliaths they might have built.

      There are also a couple of mutators relating to Goliaths:

      • Goliath Armada starts each side with four airborne Goliaths (each with a pair of Condors) and no other units.
      • Robot Love adds a special rule: if enemy Goliaths get close to each other on the battlefield they fall in love and the game ends in a draw. (Thank Natalie for that one).

      Agent battles

      The other v10 feature is agent battles. In musing about how multiplayer could work I had an idea: what if different LLMs could fight it out in the game?

      Fun extra challenge: think about how we might make multiplayer available to coding agents. It would be neat if we could set up a battle between eg GPT-6 Sol and Claude Opus 5.5 where each model has access to a tool which gives them information about the game (presumably non-visual, but only the information they could see through fog of war etc) and lets them control their units etc [...]

      Consult ~/dev/llm/docs and include notes in that file about how LLM could be used here via a new tools plugin

      Opus 5.5 went to work on this, producing this AGENT-BATTLES.md proposal and then implementing and testing it. The feature also includes the ability to record and replay these battles - here's a replay of Claude Haiku 5.5 vs. GPT-6 Luna, and here's that same battle in a separate debug tool that shows the underlying prompt responses.

      Screenshot of a replay of a real-time strategy game between two AI models, shown from a top-down view of a snowy map with a dark frozen lake of cracked ice floes on the left and pine forests at the top and lower right. Top bar: pause button, "6:27", "1Γ—", "anthropic/claude-haiku-5-5 Β· industry" in blue, "gpt-6-luna Β· industry" in red, a blue-and-red strength bar labeled "B" and "R", and "0:03". Left notification: "Blue: Pushing turrets at the enemy's south-east edge." Replay panel: "Blue anthropic/claude-haiku-5-5 Β· industry vs Red gpt-6-luna Β· industry Β· frostbite seed 42", a timeline slider at "6:27 / 7:48", and buttons "βˆ’30s", "+30s", "All", "Blue's eyes", "Red's eyes", "Notes". In the scene, a group of blue tanks and a large blue Goliath mech trailing smoke advance near the ice edge at lower center, while a column of red turrets (one burning) lines the ice to their north, red tanks and trucks sit by a rocky ridge to the east, and red base buildings occupy the top right. A minimap is in the top right corner and zoom in, zoom out and lightning-bolt buttons are on the lower left.

      The prompt that drives agent battles can be seen here.

      There are a few more replays like this linked in the README. I hope to turn this into a full league table at some point in the future.

      v11: Random Maps

      This version exists purely because I glanced at my Claude Usage page one day and saw that I'd only used 75% of my weekly allowance and it was resetting in 45 minutes. I decided to see if I could get an extra Battle Drones feature from my remaining tokens, and picked "random map" as the target:

      Design and implement a mechanism for generating a random map using any of the available biomes - it should be the size of the largest map and rivers and bridges and rocks and forest and scrap and crystals are all in play. Make them rotationally symmetric and use a seed to allow them to be selected or reused later. You have 45 minutes to build this! Be creative.

      Here's the transcript, and an image Claude generated to show me its work:

      Grid of ten top-down game maps, two per biome (temperate, desert, arctic, volcanic, tropical), each with a river or lava flow, bridges and roads. Title: "Battle Drones: generated maps (108x108, point-symmetric), 2 per biome, runtime ground painter". Each map is captioned with a name and layout type plus a seed and crossing counts, e.g. "Hawthorn Delta Β· fork" "random-temperate-1x8a6r2 Β· 6 bridges, 4 fords"; layout types are fork, badlands, crossing and lake.

      v12: Multiplayer via sound

      I only just got this working, so I've not had much time to actively test it yet. The latest Battle Drones now supports multiplayer via two devices sat within microphone distance of each other!

      This feature started out as my Chirp Pong experiment from last week. I pointed Claude Code at that working proof of concept:

      Clone Simonw/tools from GitHub and look at recent branches for the example pong game that uses web microphone to implement multiplayer between two phones via audio signals

      Build a version of that for battledrones

      Opus built this Radio Probe tool to measure how much bandwidth we could get between two devices and, based on positive results from that, implemented a full audio modem system. I've tried it between laptops, iPhones and iPads so far and it seems to work really well!

      Why use sound for this? Because I love static HTML that costs nothing to run, and I don't want to spin up a server somewhere and then stay responsible for keeping it operating for as long as anyone might want to play the game.

      Some thoughts

      I know almost nothing about game development. This makes it a great opportunity to try out coding agents in a field where my existing software engineering experience has less impact on the results.

      Games are also super low stakes. The worst that can happen is one of my silly game experiments suffers a bug.

      This morning (via Hacker News) I found Steam Fans Are Begging for a No-AI Filter as Steam Next Fest Is Filled With Slop. I wouldn't personally dream of submitting Battle Drones to an event like this - it's still way too low effort to warrant consideration as a legitimate indie gaming project.

      ... but I can now see a path to vibe coded games like this being taken seriously. Battle Drones is fun, it looks good, it has innovative features (the multiplayer-over-audio thing is a first for an RTS as far as I can tell).

      I'd love to see what someone with better taste than me and a driving passion to produce something truly exceptional could build!

      A few other observations from this project:

      • Static HTML and JavaScript is a fantastic medium for games development. WebGL works great, and Three.js (and Phaser before it) are excellent platforms to build on that the current models know inside out.
      • This also lets them run as Progressive Web Apps - I didn't ask for it, but Battle Drones works offline. I was able to play it on a plane despite never having directly installed it - my phone had it cached.
      • Giving Claude an OpenAI API key and telling it to generate images using OpenAI's models works really well. It can view the images it has generated and iterate on the prompts.
      • Opus 5.5 is spectacular at 3D modeling using Three.js (and Blender, and no doubt other 3D applications as well). The same is true of GPT-6 Astra. They are absolutely capable of building models for 3D game projects.
      • For features like replay and multiplayer it's useful to have a deterministic simulation engine. At one point Claude had to replace calls to Math.sin() and Math.cos() and friends with custom versions because different browsers (Chrome vs. Safari, for example) returned very slightly different numbers, desynchronizing the replay.
      • Opus 5.5 can write music! There are no audio files in this project - the soundtrack is entirely generated through code, varies across different maps, and even gets more intense as the battle heats up. See Scrimshaw Jukebox for a previous experiment with Claude for music composition.
      • I still can't get over how well the prompt "Make it a LOT more fun" worked.
      • Tools are effectively free. I prompted up the Radio Probe, the Model browser, the Agent vs. Agent debug tool, and Claude Code built a bunch of tools for itself that I haven't even explored myself.
      • Audio-based multiplayer between static HTML games works! I hope to see a whole lot more games use this same pattern - in digging around today I've not found much prior art beyond Siner by Alon Horesh and ggwave by Georgi Gerganov (also of llama.cpp fame).
      • Claude Code "Ultracode" burns tokens like there's no tomorrow, but it can also solve complex problems (like adding audio-based multiplayer) from a single prompt.
      • I'm still not quite over the guilt of building software in this way. I don't feel like I've earned the right to create something this good, in a field in which I have so little prior experience! At this point I've shown it to enough people in private that it felt wrong not to publish it for everyone else to see and learn from.

      Update: Online multiplayer support

      Earlier in this article I said:

      Games are also super low stakes. The worst that can happen is one of my silly game experiments suffers a bug.

      Then I tried playing the multiplayer version with Natalie... and the high pitched modem sounds gave her a nasty headache!

      That's a pretty bad bug. I added a warning and was then inspired to build proper network multiplayer. I tried getting WebRTC to work but couldn't get a connection going between two of my own devices even on my own WiFi network, so I had Claude build a simple, stateless WebSockets relay server instead:

      If I wanted to support multiplayer between two devices at a very low cost without storing any state on the server could I do that with a tiny asyncio web server running on the cheapest Fly instance?

      Build the server and the fly.toml for deploying it, use Fly application name battledrones-relay - put that in a folder in the repo, include deploy instructions in the README in that folder

      Here's the resulting server. Since this scales to zero and runs on a single Fly.io shared-cpu-1x instance it should cost me no more than $2.19/month - and that's if it stays hot and serving connections the whole time.

      Battle Drones now supports online multiplayer. Click "Duel a friend online", then either share the resulting room URL via your messaging app of choice or have them snap a picture of the displayed QR Code.

      I also added a feature where you can copy JSON of the match once it has ended and then feed that into the replay feature to rewatch your game.

      I didn't expect to introduce online multiplayer this soon, but the headache bug felt like it warranted an urgent alternative.

      You are only seeing the long-form articles from my blog. Subscribe to /atom/everything/ to get all of my posts, or take a look at my other subscription options.

    4. πŸ”— backnotprop/plannotator v0.28.24 release

      Follow @plannotator on X for updates

      Missed recent releases? Release | Highlights
      ---|---
      v0.28.23 | Inbox replies reach sessions with background subagents, dictated text no longer goes missing, πŸ‘ Looks good reaches the agent, notifications that never fail silently
      v0.28.22 | πŸ‘ Looks good, full view for files, one viewer for a thread's images and files, every session prints its URL, PLANNOTATOR_BROWSER=none opens nothing
      v0.28.21 | Message an agent from the Inbox, video attachments, Open in for attachments, Code / Tests / Generated in code review, writes from other websites refused
      v0.28.20 | Inbox search (⌘K), real folder names for projects, data files open in the code view, word-only replies leave questions open
      v0.28.19 | Ask this session in T3 Code, folder sessions load shared stylesheets and images, the agent note asked once per agent, Copy connect prompt
      v0.28.18 | plannotator inbox connects your agents, agents are told when to use the Inbox, rendered Markdown in code review, Inbox Settings in sections
      v0.28.17 | The Inbox on iPads and narrow windows, the reply bar no longer cuts off "Keep open", a Pi crash on /reload fixed
      v0.28.16 | The Inbox on a phone, a doorbell for new questions, Mark read, step through a thread's files, replies when the asking session ended
      v0.28.15 | Long Inbox threads fold to what is new, "Skipped N questions" replies, Inbox list and sidebar fixes
      v0.28.14 | Agents can replace an earlier question, comment on a guided review in the Inbox, issue numbers link to the repository
      v0.28.12 | Update notices and plannotator update, attach any file to an Inbox message, questions with context, links to attached files

      What's New in v0.28.24

      A big Inbox release: a new look, Send now, tagging agents, comments on an agent's own words, and much smaller reads for agents. Links inside HTML pages now work everywhere you annotate. 23 PRs, all by @backnotprop.

      Plannotator Inbox

      A new look

      The Inbox has a softer, calmer design, with tooltips that match the app instead of the browser's. A new text size setting (Settings β†’ General, 12 to 15) makes everything larger or smaller at once.

      Send now

      After you send a reply, the line under it says whether it is queued (the agent is busy and gets it when its turn ends) or on its way. Send now puts it into the agent's running turn right away, on Claude Code, Pi and OpenCode 2.

      Tag agents

      Type @ in a reply or a comment to choose which agents get it.

      Comment on an agent's message

      Select any words in an agent's message and comment on them, the same way you comment on an attached file. Your comments go with your next reply.

      Agents read much less

      When an agent reads a long thread, it now gets the newest messages in full and older ones as one line each, with the option to open any of them. A 46-message thread went from about 48,000 tokens to about 7,000. Agents can also search the Inbox.

      Knowing when to update Claude Code sessions

      When a Claude Code session still runs an older Plannotator plugin than the one installed, the Inbox says so and shows how to load the new one.

      One full-screen mode for files

      Every kind of attached file opens full screen the same way.

      Removed: the Decisions page. The Inbox no longer has a Decisions page, and agents no longer have the tools that recorded decisions.

      Smaller changes

      • The skill picker in New message opens right under the line you are typing instead of behind the footer (#2004)
      • New message is in the list header while the sidebar is closed (#1987)
      • The toast sits at the bottom of the window and its words are never cut off (#1988)
      • The notification line above the list reads more cleanly (#1989)
      • Rows that Show brings in stay highlighted a little longer (#2003)

      Plannotator

      Links in HTML pages work

      In HTML you annotate, and in HTML pages attached in the Inbox, a click on a link now follows it and ⌘-click (Ctrl-click) pins it for a comment. On a phone, a tap follows and a press-and-hold comments. Live apps follow the same rule.

      Smaller changes

      • Docs: WSL2 needs no remote mode, so Ask this session stays on (#1984); the guide skill is now called guided-review, with a new guided-plan skill (#1996); the @plannotator/ui handoff docs are up to date (#1986)

      Install / Update

      macOS / Linux:

      curl -fsSL https://plannotator.ai/install.sh | bash
      

      Windows:

      irm https://plannotator.ai/install.ps1 | iex
      

      Claude Code Plugin: The plugin and the plannotator binary update separately, so run the install script above as well. In a terminal:

      claude plugin marketplace update plannotator
      claude plugin update plannotator@plannotator
      

      Then restart Claude Code. Inside Claude Code, run /plugin marketplace update plannotator, then open /plugin β†’ Installed β†’ plannotator β†’ Update now.

      Pi:

      pi update --extensions
      

      OpenCode: Re-run the install script above. It now also clears the OpenCode 2 plugin cache.

      What's Changed

      Community

      Every PR in this release is by @backnotprop.

      • @balaji-dutt reported that Ask this session was off under WSL2 even though the review page was only reachable on the same machine (#1983), which led to the WSL2 docs fix.

      Full Changelog : v0.28.23...v0.28.24

    5. πŸ”— exe.dev The Topology of an LLM Agent Loop With Tool Use rss

      When I look at a new agent, I break it down by focusing on its topology. An agent is three things:

      1. A model. Your model choice defines the agent’s β€œsmarts,” i.e., which tasks it can accomplish.
      2. The agentic loop (see: The Unreasonable Effectiveness of an LLM Agent Loop with Tool). Loop choice determines UX.
      3. The set of tools. This defines the capabilities and power (and blast radius) an agent has.

      (2) and (3) together are often called β€œthe harness.”

      Three circles: Model (local? open weight? 4 cursed API shapes, physical
location? size? speed? cost), Agent Loop (local or remote? where is message
history? permissions? UI, subagents?), and Tools (bash? if so, where? MCP?
Code Mode? asynchronous?). Agent Loop and Tools together are bracketed as the
Harness.

      All of this is code, and code has to run somewhere. Where these runβ€”the topology of these agents β€”has implications on cost, capability, effectiveness, and security for companies building AI products and people using AI tools.

      Example 1: Claude Code

      Claude Code on your laptop uses Anthropic’s hosted model, runs the agentic loop on your laptop, and runs the tools also on your laptop.

      Three circles. Model: Cloud (Anthropic). Loop: Your laptop. Tools: Your
laptop.

      Example 2: ChatGPT

      ChatGPT uses OpenAI’s hosted model, runs the agentic loop on their backend server, and runs tools also on their backend servers.

      Three circles. Model: Cloud (OpenAI). Loop: Cloud (OpenAI). Tools: Cloud
(OpenAI).

      Example 3: Siri on your Mac

      Siri on your Mac uses a mix of models: smaller ones run on your Mac, and bigger ones run in Apple’s Private Cloud Compute. The agentic loop runs on your Mac, and so do the tools, like the one that reads your Messages.

      Siri on a Mac. Asked β€œHow many iMessage messages did I receive today?”, it
answers β€œYou have three new messages in
Messages.” Three
circles. Model: split by a dashed line into Your Mac and Cloud (Apple).
Loop: Your Mac. Tools: Your Mac.

      Example 4: Amp Orbs

      Amp Orbs use models from Anthropic, OpenAI, and others, run the agentic loop in Amp’s backend, and run the tools in your Orb, a VM that Amp creates for each thread with your code on it.

      Three circles. Model: Cloud (Anthropic, OpenAI, etc.). Loop: Cloud
(Amp). Tools: Your Orb VM.

      Example 5: Shelley on exe.dev

      If you’re using our Shelley coding agent on an exe.dev VM, the model is hosted, and the agent and the tools run on the VM.

      Three circles. Model: Cloud (Anthropic, OpenAI, etc.). Loop: Your exe.dev
VM. Tools: Your exe.dev VM.

      In all of these cases, remote MCP servers can expose tools running elsewhere.

      Where Is the Model?

      Your choices here are GPUs hosted by someone else or your own GPUs.

      As the controversy around the Navier-Stokes equation reminds us, the only way to be confident nobody is training on your data is to not send your data to them. If you’re working on common problems, it probably doesn’t matter. But I suspect a hapax legomenon could end up in the training data somewhere.

      If I want to, say, use some LLMs to OCR and classify some scanned bills on my computer, I’m reaching for local models, because speed doesn’t matter (it can run overnight), and privacy is guaranteed. (Shout out to the Apple Vision Framework, by the way. And ScanShelf is an example where I do this!)

      Ken Thompson’s 1984 Turing Award lecture, Reflections on Trusting Trust, hits different now. That paper poses how a Trojan Horse could be hidden in a compiler, invisible in the compiler’s source code, as it’s propagated by the compiler. The LLM (a compiler? maybe? no?) could have some tampered weights that lead the agent to do something naughty; it’s been tried. We must choose which vendors to trust.

      LLMs are wreaking havoc on traditional SaaS cost structures as well. If you have, for example, a diagram-drawing SaaS, and you want to let your users use agents to edit the diagrams: who’s paying for the tokens? Before agents, your costs were a few database rows per customer; now that customer can rack up a $100 bill with a few sentences. At exe.dev, our users can bring their own ChatGPT subscriptions to build applications with OpenAI models. This is a win- win. I expect we’ll see more β€œbring your own model” options.

      This is my bespoke drawing editor, with a built-in agent. You’re going to see β€œagent drawers” in every product.

      Where is the loop?

      If you’re using, say, ChatGPT, the loop is running in OpenAI’s servers. If you’re running a coding agent, the loop is running on your laptop. The loop could run in a web browser (e.g., as I did in ItsyBitsy, and as many others have as well).

      I have found over and over again that I find other people’s loops limiting. For example, I much prefer pointing my preferred agent at my source code and my observability tooling rather than using the observability vendor’s agent loop.

      The loop has to maintain the message history (since an LLM agent is operating on the entire history), and that has to be stored somewhere. Storing it in SQLite for Shelley remains a decision I’m very happy with. Pi Durable also offers SQLite.

      JSONL, crossed out

      The loop also provides the UI for the agent. Can it display images? Are there customizations to give feedback on video? Is it limited to plain text? Can it handle attachments? Can a conversation be shared? All of these are choices the loop must make.

      Where are the Tools?

      Agents aren’t agents without tools. The jump from one β€œcompletion” from an LLM to an agentic loop is transformational. If an agent can empirically test the thing it’s writing, the results are better.

      The problem with executing code is that, well, you have to do it somewhere, and you have to assume that the code being executed is unpleasant and will steal all the cookies from your pantry and set off the fire alarms at night unnecessarily (or worse).

      The code execution isn’t lightweight: it’s not all editing files; compilation, video processing, running tests… the workload can be heavy.

      Virtual Machines are the gold standard for executing code safely. Even with VMs, there are tons of variables: can it talk to the network? Does it have credentials to talk to other services? Is there enough memory?

      Running coding agents locally works too, but the blast radius for the β€œLethal Trifecta” is bigger. Exposure to untrusted content could lead the agent to leak secrets, for example.

      You can build many useful agents without a full machine. Pyodide, a Python running in WASM, is sandboxable without a full machine. Likewise, there are several WASM JS implementations. You can always run the agent loop on the browser, too, which runs sandboxed code day in and out. (See https://blog.philz.dev/blog/sandboxes/ for a short list of some of these approaches.) You can also give an agent the ability to run SQL on a readonly database connection, and that’s pretty safe!

      Note that the tools don’t have to be in the same address space as the loop; they don’t even need to be in the same neighborhood. When you’re using a β€œConnector” in ChatGPT (roughly their word for MCP), you’re giving the agent loop (which is hosted by OpenAI) access to resources somewhere else. Concretely, if you use the exe.dev MCP, your ChatGPT can operate on your exe VMs. When you’re talking about MCP, map out where the OAuth tokens are held.

      To make their products useful, Muse, GrokBot, OpenAI Dots, and so on are all providing VMs.

      Mapping Agents

      There are tradeoffs everywhere you look. Framed as topology, you can break down any agentic product. Once you know what’s running where, you can reason about what a product can and cannot do.

      In my work at exe.dev, I use five independent agentic loop implementations nearly every day. (Our coding agent, Shelley; our alert agent, Sisyphus; our deployment supervisor, Athena; an ops agent, Puck; our repo news Slack agent.) Shelley is a general purpose coding agent, but the other four are bespoke software. More and more software will ship with agentic loops built-in.

      I also constantly interact with other systems, and use agents to glue them together. The companies that get it make their product legible to coding agents. I can just smell Clayton Christensen's Innovator's Dilemma as I switch from better, more polished, established products to ones that let me point an agent at them. Of the nine points in Revisiting Joel’s Test, this is the most important one.

      There is no β€œone loop to rule them all.” Good UX (and a good set of tools) for a general-purpose chatbot is not the same as good UX for a coding agent.

      I leave you with the most useful code of the year. When you insert agents into your products, think of the topology of those agents.

      def loop(llm):
          msgs, msg = [], user_input()
          while True:
              msgs += [msg]
              output, tool_calls = llm(msgs)
              print("Agent: ", output)
              if tool_calls:
                  msg = [ handle_tool_call(tc) for tc in tool_calls ]
              else:
                  msg = user_input()
      
    6. πŸ”— r/LocalLLaMA Pocket TTS which supports voice cloning is now just 1.9 million parameters rss
    7. πŸ”— r/LocalLLaMA Deepseek released DeepInfer - Open Source high-performance, large-scale inference framework for DeepSeek models! rss

      Deepseek released DeepInfer - Open Source high-performance, large-scale inference framework for DeepSeek models! | This is crazy good for studying to improve existing custom engines by community like gufo, halogen, strixite, Strata... by learning their secret sauces. submitted by /u/feelspeaceman
      [link] [comments]
      ---|---

    8. πŸ”— r/LocalLLaMA 24GB is plenty if your engines take turns rss

      24GB is plenty if your engines take turns | System service that watches your card, swaps and loads whatever you want, whenever you want. Don’t have to swap anything manually, collisions avoided, VRAM fully dedicated to each function while it’s running (no VRAM squatters). I had issues everyday (Linux) where a node process would orphan, comfyUI auto starts and holds 500MB that strata can’t claim. I also wanted to be able to switch natively and not have to think about starting each engine, making sure strata or llama wasn’t stuck loaded, or flux GGUF’s still claimed in comfyUI from an old workflow. I swap between Ninfer-4090 (llama-swap), strata, comfyUI, OpenWebUI, and I do it between multiple devices all using the same RTX 4090. Maybe you want to have your box run Hermes at night and you take the card back in the day, you can do it natively without thinking about and have full visibility on what was done and when. Berth will also serve your engines as an API so when you need to switch natively you load berth as the API endpoint and you can load strata, polystrata, and any other custom engine. Works for gaming as well, you don’t have to worry about a cron job, a request, or anything grabbing the card while you’re gaming or doing custom workflows. REPO: https://github.com/T-Crypt/berth EDIT: Berth v0.3 is out, and I need testers with big RAM and more than one GPU v0.3 parks engines in system RAM instead of unloading them. A switch back to a parked engine skips the reload from disk. My workstation has 62 GB, and Strata alone pins 40 GB, so I can't measure parking at the sizes you run. I'm looking for: - 64, 96 or 128 GB of RAM with a 24 GB card. You'd park a vLLM or ComfyUI engine, switch away, switch back, and send me the times. - Two or more GPUs, any mix. Multi-GPU leases are the next release, and I want real topologies before I write them. - Windows with an NVIDIA card. One of you already runs it there. contrib/windows/check.ps1 compares Berth's per-process VRAM with Task Manager and writes a report. - AMD on Linux, for the release after that. submitted by /u/Distinct-Pie2389
      [link] [comments]
      ---|---

    9. πŸ”— Rust Blog Announcing rustup 1.29.2 rss

      The rustup team is happy to announce the release of rustup version 1.29.2.

      Rustup is the recommended tool to install Rust, a programming language that empowers everyone to build reliable and efficient software.

      What's new in rustup 1.29.2

      This is a small release which only updates the rustls-webpki and webpki-root- certs dependencies to address the problematic eMudhra intermediate certificates issue described in CVE-2026-111943.

      See also RUSTSEC-2026-0382.

      Further details are available in the changelog!

      How to update

      If you have a previous version of rustup installed, getting the new one is as easy as stopping any programs which may be using rustup (e.g. closing your IDE) and running:

      $ rustup self update
      

      Rustup will also automatically update itself at the end of a normal toolchain update:

      $ rustup update
      

      If you don't have it already, you can get rustup from the appropriate page on our website.

      Rustup's documentation is also available in the rustup book.

      Caveats

      Rustup releases can come with problems not caused by rustup itself but just due to having a new release.

      In particular, anti-malware scanners might block rustup or stop it from creating or copying files, especially when installing rust-docs which contains many small files.

      Issues like this should be automatically resolved in a few weeks when the anti-malware scanners are updated to be aware of the new rustup release.

      Thanks

      Thanks again to all the contributors who made this rustup release possible!

    10. πŸ”— Filip Filmar Bazelizing Third-Party FPGA Designs: Two Case Studies rss

      Converting existing open-source FPGA projects to Bazel and rules_openxc7 makes hardware builds reproducible, eliminates machine-specific paths, and enables one-command bitstream generation without vendor licensing hurdles. This article examines two real conversions of external repositories: mmRISC-2, a silicon-proven RISC-V SoC with heavy SystemVerilog hierarchies, and Custom RISC CPU with Systolic Matrix Accelerator, a pipelined processor paired with a 2D systolic array coprocessor. Both examples illustrate how Bazel transforms fragile build scripts into reliable, sandboxed workflows.

  3. October 19, 2026
    1. πŸ”— IDA Plugin Updates IDA Plugin Updates on 2026-10-19 rss

      IDA Plugin Updates on 2026-10-19

      New Releases:

      Activity:

      • oh-my-dump
        • ee60b0dd: ci: parameterize builds and bundle release assets
        • f57347cd: ci: attach standalone DLL to releases
        • 0af0b1c0: ci: preserve release title format
        • ef591292: build: update IDA SDK library lookup
        • c0209d05: ci: build on pushes and PRs, publish releases on tags
        • 5bf11189: chore: update plugin metadata and bump version to 1.0.16
    2. πŸ”— Quarkslab's blog MbedTLS Security Audit rss

      Introduction

      Mbed TLS is a widely deployed open-source TLS, DTLS, and X.509 library maintained by Trusted Firmware, targeting constrained and embedded environments. It is used as the cryptographic backbone of products across the IoT, automotive, and industrial sectors, and forms the TLS layer for projects such as the Trusted Firmware family.

      Version 4.0 represents the most significant architectural change in the project's history. The cryptographic layer has been extracted into a standalone library, TF-PSA-Crypto, which implements the PSA Cryptography API v1.2 as specified by Arm. The Mbed TLS repository now consumes TF-PSA-Crypto as a submodule, and the configuration space has been split across two header files: mbedtls_config.h for the TLS and X.509 options, and psa/crypto_config.h for the cryptographic primitives. All RNG callbacks have been removed in favor of a mandatory call to psa_crypto_init() before any operation.

      The Open Source Technology Improvement Fund (OSTIF) commissioned Quarkslab to perform a security audit of this new architecture.

      Scope

      The primary objectives of this audit are:

      • Architectural transition review. Assess the security implications of the Mbed TLS 3.x to 4.0 split, focusing on the trust boundary between the TLS layer and TF-PSA-Crypto, the correctness of the PSA API integration, and whether the removal of the legacy crypto paths introduces new attack surface.

      • PSA API usage correctness. Verify that key attributes (usage flags, permitted algorithms, lifetimes) are correctly set and enforced throughout the TLS and X.509 code paths, and that the mandatory psa_crypto_init() dependency is properly documented and enforced.

      • Memory safety. Identify memory corruption vulnerabilities in the SSL/DTLS context management (in particular, session serialization and resumption), the X.509 parsing subsystem, and the PSA key store.

      • Default configuration posture. Review the security of the default build configuration, including enabled cipher suites, protocol versions, key exchange algorithms, and compile-time options that may expose users to risk without explicit opt-in.

      • Protocol compliance. Identify deviations from the TLS 1.2 (RFC 5246), TLS 1.3 (RFC 8446), and DTLS specifications that have security consequences.

      The engagement covers:

      • Mbed TLS at commit 0fe989b6b514192783c469039edd325fd0989806.
      • TF-PSA-Crypto (integrated submodule) at commit 29160dd877d29658279fd683b2ae57b320ddcf09.

      The complete technical report, including our findings and recommendations, is available in Quarkslab's public reports repository.

      Findings

      The table below summarizes the findings of the audit. A total of 5 vulnerabilities were identified: 1 of high severity, 1 of low severity, and 3 informational ones.

      ID | Title | Severity | Perimeter | HIGH-1 | CID Buffer Overflow in mbedtls_ssl_context_load() | High | library/ssl_tls.c:5002
      ---|---|---|---
      LOW-4 | mbedtls_pk_verify() accepts BER-encoded signatures | Low | tf-psa-crypto/extras/pk.c
      INFO-2 | No Anti-Replay Protection for TLS 1.3 0-RTT Early Data | Info | include/mbedtls/ssl.h:5166
      INFO-3 | Mismatch in CMAC cipher support between the documentation and the implementation. | Info | TF-PSA-Crypto documentation
      INFO-5 | compat.sh DTLS 1.2 tests fail on the mbedtls-test Docker image due to IPv6 localhost resolution | Info | mbedtls-test Docker images, compat.sh

      Note: All relevant findings have since been resolved.

      Conclusion

      The audit identified a few vulnerabilities with only two non-informational ones, and the auditors were overall very satisfied with the quality of the product in general, and this version's changes in particular.

      The high and low vulnerabilities are related to a heap buffer overflow and potential signature malleability, respectively, with the second one being identified thanks to the integration of integration of Project Wycheproof test vectors into the test suite.

      An informational finding documents the absence of any anti-replay protection for TLS 1.3 0-RTT early data, a known limitation that is currently not surfaced in the public-facing documentation in a way that prevents inadvertent misuse. Auditors have proposed improvements to the existing fuzzing harnesses and corpora, along with an integration of the #anv test suite into the CI/CD pipeline.

      We would like to thank the Mbed TLS maintainers for their responsiveness and collaboration throughout the audit process, as well as the OSTIF team for their continuous support.

      Further details can be found in our report.

      Further reading

    3. πŸ”— exe.dev Join Us: exe's First Meetup in San Francisco rss

      Maybe it's the years we spent on Zoom? San Francisco seems hungry for in- person events, and we're no exception.

      We're hosting our first technical meetup for developers on Monday, October 26, from 6 to 9pm at the Sentry office in San Francisco. The question of the evening: Are we running too many agents?

      The topic comes from Josh's recent post, ETOOMANYTHINGS? Run Fewer Agents, which sparked some interesting discussion online. We figured it would be fun to continue the conversation and debate in person.

      We've invited a few exe friends to give some talks on the theme:

      • Josh Bleecher Snyder is the cofounder of exe and the person who got this whole conversation started. He'll be talking about whether we're building software factories incorrectly.
      • Beyang Liu is working on amplifying human agency at Amp and previously cofounded Sourcegraph.
      • Josh Wills is an engineer at DatologyAI, with a long history of building developer tools and infrastructure.

      We'll follow the talks with an open Q&A. Bring your questions and opinions to participate in the conversation.

      There will be pizza and drinks, too. A big thank you to Sentry for sponsoring.

      We'd love to have you there. Sign up here: https://luma.com/0qr6bxcw

    4. πŸ”— crosspoint-reader/crosspoint-reader v2.0.0rc release

      CrossPoint 2.0.0

      What a busy month. A lot of new features landed in CrossPoint, and we're eager to hear what you think.

      New devices

      This release adds support for four ESP32-S3-based devices: the Metalio E-Ink 4, the EEGO A4 (standard and Lite versions), and the BOOX Picco. If you're thinking of buying one, you'll find links at https://crosspointreader.com/devices. That page uses our affiliate links, so buying through it helps support CrossPoint.

      SD card plugins

      CrossPoint now supports plugins installed on the SD card. A plugin can add book catalogs and downloads to the reader, or tools to the device's web interface. To show the Plugins entry on Home, enable Plugins under Settings β†’ Connectivity.

      Plugins are not apps that run arbitrary code on the reader. On-device plugins use the screens and operations the firmware already provides, such as sign-in, catalogs, downloads, and supported reading events. They can't replace the reading engine, install hardware drivers, or add unsupported document formats.

      Some plugins include JavaScript, but that code runs in a browser on your phone or computer, so the browser page has to stay open while it works. For example, a browser plugin can turn articles or RSS feeds into an EPUB, which you then read on the device.

      The plugin system will stay focused on reading and book services. It won't become a platform for on-device games, calculators, notepads, writing apps, web browsers, or PDF rendering. Those remain outside CrossPoint's scope, plugins included.

      Bluetooth page turners

      Bluetooth page turners now work on all devices. Go to Settings β†’ Connectivity β†’ Bluetooth Page Turner to scan for a remote, pair it, and map its buttons. Short and long presses can trigger different actions: page turns, chapter navigation, the reader menu, and clipping selection.

      Highlights and clippings

      You can now select text in EPUBs, highlight passages, and save excerpts as clippings. On button devices, use the reader menu. On touch devices, hold a word and drag the selection handles. Selected text also works for dictionary lookup, including multi-word phrases. If you turn on Sync Clippings, clippings can sync through a compatible CrossPoint Sync server.

      EPUB formatting and reading controls

      EPUB rendering now handles more of what books actually contain: drop caps, small caps, mixed text sizes, borders, and shaded blocks. Tables take column content, cell padding, and borders into account. Headings stay attached to the text that follows them, and paragraph indentation has its own setting. EPUBs can also show non-interlaced GIF images, covers included.

      Noto Serif is now optional

      To free up space for all of this, Noto Serif moved from a built-in font to an optional SD card font. If you use it, install NotoSerif through Manage Fonts before or after upgrading. Without it, a Noto Serif selection falls back to Noto Sans.
      Libron also available for direct download from the font manager.

      Everything else

      • OPDS, the catalog format used to browse and download books, now supports version 2.0 alongside existing catalogs.
      • The device web interface has a new look and more consistent dialogs.
      • Settings are grouped into a cleaner layout that's easier to extend.
      • Touch devices get swipe-to-delete in the file browser and a few other places.
      • Azerbaijani is now available as a UI language.

      We also added a device comparison page to the website, for anyone who wants a CrossPoint device but can't decide which one: https://crosspointreader.com/device-comparison.


      What's Changed

      New Contributors

      Full Changelog : 1.6.5...2.0.0rc

    5. πŸ”— r/LocalLLaMA MiniMax M3.1 Flash released, Model weights Oct 23 rss

      MiniMax M3.1 Flash released, Model weights Oct 23 | submitted by /u/MagicZhang
      [link] [comments]
      ---|---

    6. πŸ”— r/LocalLLaMA MiniMax-M3.1-Flash is coming rss

      MiniMax-M3.1-Flash is coming | From MiniMax (official) on 𝕏: https://x.com/MiniMax_AI/status/2112111925975032241 submitted by /u/Nunki08
      [link] [comments]
      ---|---

    7. πŸ”— Ampcode News Assign It To Amp rss

      Amp is now an agent in Linear.

      Assigning an issue to Amp starts a new Agent Session in Linear and spawns a new orb. You can also mention @Amp to kick off a session. Amp sends its response back to the same session and replies to messages sent along the way. The Agent Session also appears in your Amp sidebar and is fully viewable in Amp.

      Assign Amp an issue in Linear.

      Assign an issue to Amp from Linear

      Follow its progress in the Agent Session.

      Follow progress and reply in the Agent Session

      Then open the same conversation in Amp.

      Open the same session as a thread in Amp

      To get started, install the Amp agent in your Linear workspace and connect your Amp account to the Linear MCP in Settings β†’ MCP & Integrations.

      Connect your Linear account and install Amp in Linear from Settings

      Read the docs to learn more.

  4. October 18, 2026
    1. πŸ”— IDA Plugin Updates IDA Plugin Updates on 2026-10-18 rss

      IDA Plugin Updates on 2026-10-18

      New Releases:

      Activity:

      • community-malware-research
        • b494a31f: Yara rules to detect Eternidade Stealer, and some components
      • IDAPluginList
        • 3e23e67c: chore: Auto update IDA plugins (Updated: 19, Cloned: 0, Failed: 0)
      • mysl8te-feature-lab
        • 7156cf72: Merge pull request #1 from patelvivek9111/cursor/environment-bootstra…
        • 6a4c678c: docs: add final security verification report with complete test evidence
        • 59200d7b: fix: correct security test naming and add production mode verification
        • 203e7f00: docs: add final corrections report
        • 74e21b9d: fix: final security and reproducibility corrections
        • 4d4ad22d: docs: add final verification summary with all evidence links
        • c7f9a46d: fix: harden bootstrap - all tests passing, REA & Ghidra verified end-…
        • ff38799f: docs: add quick reference guide for development and testing
        • b48f480e: feat: install REA, Ghidra, and create comprehensive bootstrap infrast…
        • 80767667: feat: initialize React + TypeScript frontend and Node.js backend with…
        • d7e7fd38: Create README.md
      • oh-my-pi
        • 933f6cd0: docs(fork): record the v18.12.1 upgrade and rebase the patch-list bas…
        • 2ce9b186: Merge branch 'trial/v18.12.1'
        • f4a8ba83: style(wiki): oxfmt drift on patch #42 files
        • deb4698b: fix(catalog): keep web/grok first in the KDL web role-defaults (fork …
        • 44292107: fix(trial): MCP loader test fixtures gain lazyConfigs/lazySources
        • 5264552d: fix(trial): post-merge typecheck repairs (wiki 4-arg sig, lsp import,…
        • 540ccc55: Merge upstream v18.12.1 into the fork (trial)
        • acdb9016: v18.12.1 upstream source
      • oh-my-pi-schema
        • b67632f9: feat(mcp): send structured results to the model as JARO text
        • 558dc28a: fix(ai): stop retrying background requests against a failing server
        • 04d1e410: feat(catalog): add catalog.remoteRefresh switch to stop catalog.stenc…
        • a3e361c6: feat(ai): read concurrency limit from RateLimit-Policy header
        • 9562e7c8: feat(task): add opt-in cold-start subagent concurrency
        • 53432fc9: feat(ai): honour a gateway-advertised concurrency limit
        • e279e79e: fix(ai): learn provider overload from every transport response
        • b64e56de: feat(ai): adapt provider concurrency to overload
        • c1ff3590: fix(ai,task): scale retries and subagent fan-out to a provider cap
        • b1d054e0: fix(ai,skills): keep side requests from starving turns on capped prov…
        • 7c2f174c: feat(skills): add skills.compressDescriptions opt-out
        • 5b95c909: chore(sync): merge upstream oh-my-pi v18.12.1
    2. πŸ”— r/LocalLLaMA Google Open Sources Harness2 for Self Improving AI Agents rss

      Google Open Sources Harness2 for Self Improving AI Agents | Google just released Harness2 as open source. It turns any AI harness into a system that improves itself over time. A harness is everything around the model. System prompt, tools, memory, skills, and subagents. Normally a person designs it once and the agent uses that fixed setup for every new task. With Harness2 the agent itself refines the harness for each task. It proposes changes, runs a few candidate versions, and picks a better one by comparing how they perform. No correct answers or graders are needed. The model weights stay the same. What it learns on one task carries over to the next. After finishing a task it saves the improved harness and useful lessons so future edits start smarter instead of from scratch. Google tested it with Gemini 3.5 Flash and GLM-5 on legal, office, and professional work benchmarks. Even one round of edits beat the original harnesses. More rounds pushed scores higher. GitHub https://github.com/google-research/harness2 submitted by /u/chemist_slime
      [link] [comments]
      ---|---

    3. πŸ”— r/LocalLLaMA 72 hours, four big open weights drops. The only one that fits in 24GB came from NVIDIA, of all companies. rss

      72 hours, four big open weights drops. The only one that fits in 24GB came from NVIDIA, of all companies. | What a week. Quick recap, all numbers from the official repos and model cards: Thursday: Meta drops Muse Spark Open. 816B total, 42B active, 1M context. The launch post says it brings agentic AI "to your desktop". The desktop is two M5 Ultra Mac Studios with 512GB each, a config Apple says ships "late October" and still hasn't put a price on. The alternative is four 256GB Studios, roughly $38k. On top of that it's a custom license: mandatory "Built with Muse Spark Open" attribution and a separate deal once you're past $20M revenue. And Meta's own model card puts it at 39 on the Artificial Analysis index, behind GLM 5.3 (45) and Kimi K3 (44). Same day: NVIDIA ships Nemotron 3.5 Bolt. 74B total, 9B active, trained quantization aware down to 2 bit, so the whole thing is 22GB plus a 1.7GB vision projector. Built to fit in 24GB on purpose. Unsloth GGUFs on day one, plus llama.cpp, Ollama and LM Studio support. Friday: Reflection actually ships Beam. 501B total, 23B active, Apache 2.0, no strings. Smallest official checkpoint is NVFP4 at 294GB. Saturday afternoon: DeepSeek posts V4.1 Flash 1017 on X like it's nothing. MIT. Their own table has it at 77.0 on DeepSWE vs 74.0 for Opus 5 (vendor numbers, salt accordingly). The repo is 510GB. So I put them all on one chart against the 24GB line most of us live under. My takeaways:

      1. "Runs locally" now officially means "runs on a computer that costs more than a car."
      2. The company that keeps selling us 24GB cards is the only lab this week that built a model for 24GB cards. Not sure if that's wholesome or a sales funnel.
      3. Licenses mattered more than parameter counts this week. MIT and Apache 2.0 from DeepSeek and Reflection, attribution plus a revenue clause from the company with the loudest "open" marketing.
      4. Mistral says the Large 4 weights ("Le Chonk", 1T total) land before the end of the month, so the 24GB line is about to get even lonelier.

      Sources in the comments. submitted by /u/BTA_Labs
      [link] [comments]
      ---|---

    4. πŸ”— pydantic/monty v1.2.0 - 2026-10-18 release

      What's Changed

      New Contributors

      Full Changelog : v1.1.0...v1.2.0

    5. πŸ”— r/LocalLLaMA unsloth/DeepSeek-V4.1-Flash-1017-GGUF Β· Hugging Face rss
    6. πŸ”— r/LocalLLaMA Two pallets of ZOTAC RTX 5090 graphics cards worth $470,000 disappear at Brazilian airport rss

      Two pallets of ZOTAC RTX 5090 graphics cards worth $470,000 disappear at Brazilian airport | submitted by /u/chemist_slime
      [link] [comments]
      ---|---

    7. πŸ”— r/LocalLLaMA You don’t need that expensive of a build for local llms. rss

      Been seeing a lot of people with their 64gb of ddr5 4x3090 or whatever strata builds and it’s been sorta depressing knowing i cant afford that but i finally finished my setup today so here we go,

      Qwen 3.8 27b at 262k context, unsloth iq4XS ascii condensed with kv cache streaming

      My only gpu is a 9060 xt 16gb and i have 24gb ddr5 for my whole homelab only needing 16 for this

      MTP+ ngram prediction

      q4 kv cache values with q8 keys

      42.7 tps generation 658 tps prefill at 20k, 35/500tps at 200k

      Using this fork: https://github.com/achyudh/llama.cpp

      I got grok bot to ssh in and fix the bugs i had with missing pcie atomics

      submitted by /u/Maglcite
      [link] [comments]