🏡


  1. October 25, 2026
    1. 🔗 hacker news ida pro references New comment by danbruc in "We should be more ambitious with the software we build" rss

      You think I could not identify all the functions in some software if I poked at it with IDA pro for 15 years? Probably depends on what exactly we are talking about, is it calc.exe or an entire office suite? But I will give you that I would probably never complete the task, I would not be willing to spend 15 years doing this. Realistically I would probably be interested in some specific functionality and identify the functions involved and ignore the vast majority.

    2. 🔗 3Blue1Brown (YouTube) Sphere Intersection Puzzle Corrected rss

      Part of a series of monthly puzzles Early view of some other solutions: https://members.3blue1brown.com/posts/solution-to-10-158885046 https://members.3blue1brown.com/posts/solution-to-sum-156593740

    3. 🔗 r/LocalLLaMA Nanbeige/Nanbeige4.3-33B · Hugging Face rss

      Nanbeige/Nanbeige4.3-33B · Hugging Face | Stronger than Qwen3.8-27B across a range of benchmarks.

      but also lays the necessary foundation to power our upcoming small model distillation pipeline (e.g., for Nanbeige4.3-3B).

      It'll distilled into their 3B small models, maybe other sizes too. submitted by /u/Mysterious_Finish543
      [link] [comments]
      ---|---

    4. 🔗 Register Spill Joy & Curiosity #103 rss

      … and we're back! I spent the last two weeks travelling. First a week in New York City, then a week in San Francisco. I did many things in those two weeks, but not a lot of reading or writing, which is why you didn't hear from me.

      But now I'm back! So, without further ado this week (my daughter is waiting for me to build a Lego truck), here's a bag of links.

      • We recorded a new episode of Raising An Agent, in person, in San Francisco. I think it turned out great. In fact, I said somewhere else that this might be the most important episode we've recorded this year. It's about nothing less than the company of the future. Highly recommend watching this if you're in any way curious about how Amp -- the team, the company -- operates.

      • While in New York, we visited a large customer of ours, an investment bank. I gave a talk there about how I use Amp and what I think have been the biggest 10x multipliers when working with agents. In San Francisco I then recorded the talk and it's been received very well, so here it is: How I Use Amp.

      • Adam Mastroianni is truly one of the best in the game right now. Everything he puts out is incredibly good. This newest one, Claude, don't touch my lump, is no exception. It might be the most convincing argument for why AI won't lead to unemployment I've read so far. The only counter-argument I can see is that, well, there will be jobs in the long term, but what about in the next five years?

      • "I'm 38. If You're in Your 20's or 30's, Read This." I'm also 38 and when I first saw this title I went "ugh", because hey, feels like I'm only just starting. But it's surprisingly good, even though it's a bit Buzzfeed-y. Maybe because it quotes the life-changing Jason Pargin post?

      • PhotoCraft: An open-source, photo editor written by scratch in pure Rust. I saved this link two weeks ago to share with you here. And now it's old news, isn't? Photoshop rebuilt in Rust? Big whoop. There's AAA games being decompiled and remixed with other AAA games while I'm typing this. (Still: what a time!)

      • This is still lovely: "made a rug for your desktop so you can sweep your mess under it"

      • "People are surprised that AI is finding weird unelegant maths results like this. I think there is a plausible explanation. Maths (and adjacent disciplines like physics and comp sci) had elegant results so far because humans are biased towards elegant solutions. I think this bias is due to how human minds work. We have a pretty small context window, and we are only able to find solutions that are relatively elegant. This gave us the impression that maths and the universe are elegant. Maybe they are not, and we are now finding out because we have intelligences that can work with much more complex solutions." The same is coming for programming and codebases. Some codebases in the future will look ugly, hacky, disgusting to programmers who grew up writing code by hand and yet they will run perfectly well in production, just as well as any handcrafted piece of code ever did, and agents will have zero problems modifying them.

      • Namespace had me on their new podcast and I finally got to talk about the Big Amp Rewrite we went through this summer. Because where else would you talk about it if not on a podcast called Once In The Trenches?

      • David Foster Wallace's Consider The Lobster. I don't know what made me re-read it, but it's so, so, so good. If you never read it, I highly recommend you do.

      • Toto Wolff talking to Patrick Collison on the Cheeky Pint podcast. This was really good. Not only because looking at F1 from a business and management and investment perspective is interesting, but also because Wolff, born in Austria, has a unique background: racing driver, then salesman, then investor in Austria and Germany at the height of the dot-com boom, then car racing investor and so on. Loved the story about sms.at.

      • John Gruber says you can now move (back) to X as a social media platform: X Once Again Marks the Spot. As someone who has never left but at times wondered whether he should, I could write pages here that would boil down to this: I have not used another social network where the highs are that high. And then there'd be a bunch of other pages about the lows, of course. If you're coming (back) to X, here's my advice: follow me (obviously), mute freely, mute keywords, train the algoritm by saying "I don't like this" on posts you don't like (you can configure the iOS app to do this with a single swipe), set a time limit per day and give the password to your wife.

      • (Even Marco seems to have soft-launched his comeback to X. I know that's a pretty cynical way to put it but I don't mean it in a negative way. It's just that… well, there was all this screaming and shouting about who's where and why and how could you that I can't help but raise an eyebrow now when someone says, hey, well, maybe I don't have to think in these absolute terms?)

      • The Heat (1995) frame archive. So good. In case you've never seen Heat: do it! As fast as possible. It's really good. Here's one of my favorite frames.

      • How to be more ambitious: A tutorial for humans with models. This is an impressive post. Yes, the message is good: be more ambitious. But look at the prompts and think about how much first-principles thinking you have to put in to even come up with them. Instead of saying "give me a slide show" the idea is that you wonder: why am I even making a slide show in the first place? What's the purpose of that? And then, why am I doing that? And then give that as a goal to Claude. How many people you know could do that?

      • Amazon's writing culture apparently didn't survive AI. That's sad to hear, but "AI;DR" is an incredible invention.

      • Self-improving software is inevitable. I think some version of that will happen soon. I can see glimpses of it when I'm working in Amp on Amp. But the number of human signals you need in a system that's growing is probably higher than suspected. If you're system is only in maintenance mode, then, yes, we might be able to fully automate that.

      • The lamps in my house. On How-much-do-you-care-about-lamps? scale from Not-at-all to Fatih's post here, I'm somewhere in the middle. This was lovely.

      • From Einzelunternehmen to GmbH: Every step, Every letter. Few things in life have radicalized me politically as much as founding a UG (haftungsbeschrankt) in Germany. Look at all the physical letters here. The forms. The timeframe. The notary: "The appointment took about 1.5 hours. By law, the notary reads every document aloud, word by word." I'm sharing this here because I think it's valuable for founders and other people navigating these legal structures. Not because it brings joy, of course.

      • Non-Determinism Doesn't Matter. I'd say we're only just starting to get into real non-determinism.

      • There's been, of course, a lot of news about security incidents and exploits and CVEs and… yes, it's all quite horrible and anxiety-inducing and I'm not going to repeat all the news here, except this one, because this one has all the attributes the others have too, with a "mind-blowing" on top: "In one experiment, we asked agents in separate microVMs, created and managed by OpenAI's sandboxing software on shared host machines, to exchange synthetic secrets without the use of network connections or shared writable files--something that our systems are meant to prevent. The agents found a way to communicate using the processor's cache: a small, fast memory that holds copies of data that applications have recently accessed. Reading data from the cache is faster than retrieving it from main memory, and the agents used this timing difference to communicate. One agent encoded information by evicting selected data from the cache. Another timed how long it took to reload that data, using the difference between fast and slow reads to recover the message. Once the agents agreed on a protocol for encoding and decoding these signals, they could exchange the synthetic secrets without changing a shared file or opening a network connection. This cache-timing technique had also been used to extract information in the Spectre and Meltdown attacks⁠)."

      • What Shall I Teach My Son? Good question. But, funnily enough, I tell my kids what I think someone must've told me when I was a kid: you need to learn how to learn; the most valuable skill to have is the ability to learn new things. I'm not sure who told me that, or when I first heard it, but it's been stuck in my head for a long time and I'd say it's served me well.

      • The Many Failures of Larry David. Great little profile. Lots of things I didn't know. But then at the end, I go: wait, there should be more about Curb here, no? And that's when I realized there's a new biography coming out that I should probably get.

      • The end of startups: "Within the next 6 months, most AI startups will not be able to buy compute. The world's compute is sold out. To get capacity, you'll need to sign up for a new cluster. However, it's becoming increasingly difficult to get capacity online from folks who are not investment grade." Not sure whether I agree with everything here (I do think the idea of compute and tokens as a commodity that you can sell on commodity markets is very interesting), but something fundamental has definitely changed in software (not news to you, I'm sure) with the arrival of AI. And if you were to say that in the last three decades the advantage of startups was that talent -- as opposed to: capital, infrastructure -- was the biggest lever in software and that you were able to build software essentially for free (if you had the talent), then, well, you have to admit that things have changed.

      • Loved this one: Reflections on -1 to 0 and Exploring Ideas. Some real thoughts on finding PMF and what building a business is truly about.

      • Norm: The Tale of Norm Macdonald is a now on Netflix and I loved it. I loved that it started with the YouTube clips, because that's how most people in the last ten years discovered Norm and, I think, it's also where he shines. Type in "norm macdonald conan" and it's all gold.

      • Block released Dessa, "the most authentic full-duplex speech model ever built. Talking with it feels like talking with a person…full of emotion, nuance, pauses, and a natural cadence." It's pretty impressive… but … A lot of people are saying "this will ruin society" and "no one is safe no anymore [because we can fake any voice now and call and scam everybody]", but when I listen to those clips I can't help but imagine myself overhearing a conversation like that happening at the next table and thinking "what is wrong with them?" We might be at the far end of the uncanney valley, but I wouldn't say we're out of it yet.

      • Dan Luu: "We should be more ambitious with the software we build". 100%. Absolutely. Time to reach for the stars.

      If you read this far, I know we'd get along, so subscribe here:

    5. 🔗 r/LocalLLaMA A 4B coding model that can generate 3D scenes rss

      A 4B coding model that can generate 3D scenes | I’m sharing an early version of a 4B model I’m training for general coding and 3D scene generation. Small models have been pretty rough at 3D in my tests. I’ve finally made enough progress to get results like the ones in this video, so I wanted to share a preview with the community. It’s an independent fine-tune of Qwen3.5-4B, and both Q4_K_M and Q8_0 GGUFs are available here: Download the model on Hugging Face Training is still running. Over the next few days, I’ll update the model once it finishes and share the training dataset so others can experiment with it too. Give it a try. I’d love to see what you can get out of it. submitted by /u/ConfidentDinner6648
      [link] [comments]
      ---|---

    6. 🔗 OmniNull/OmniWM Canary 20261025-0437 (05bbb30f) release

      Automated canary build of main. It is signed and notarized like a release but skips the owner review, so treat it as unstable.

      See the canary guide to install, update, or return to stable. For everyday use, download the latest stable release.

      • Commit: 05bbb30f5b7d
      • Base tag: canary-20261024-0439-40061526227-1

      Changes since canary-20261024-0439-40061526227-1

      • 05bbb30 Set both active-profile overrides in the Hidden Bar tile test
      • 6751411 Keep the JSON cap test's work to the byte limits
      • 84b9f9b Retire a style through a symlinked shell folder
      • 64ce2e9 Fall back to the bundled widget when a widget fails
      • fade4bb Merge main into 0.8.0-release
      • c4fa2cf Merge pull request #980 from hezhizhen/codex/fix-bundled-widget-fallback
      • 97ab859 Merge pull request #979 from hezhizhen/codex/fix-shell-symlink-paths
      • b8bacef Share compiled Luau bytecode across widget VMs
      • 3d0249d fix(shell): load bundled fallback widgets with their libraries
      • 8ddb735 Merge main into 0.8.0-release
      • 0c9b688 fix(shell): preserve module paths through symlinked config directories
      • eb71ee2 Merge pull request #978 from hezhizhen/codex/fix-hidden-bar-native-panels
      • 2c7372d Bundle Material Symbols as TTF to stop per-thread WOFF2 decoding
      • d294032 fix(hidden-bar): pause rehide for native popovers
      • cfdba09 Load Celestial's Dashboard and Status models when each widget loads
      • bc62530 Merge main into 0.8.0-release
      • 15d6bb1 Merge pull request #976 from dappermint/fix/hidden-bar-full-width
      • b944532 Make Wayline and Nocturne full width by default
      • c5a826f fix(hidden-bar): stop a resolve that lost its reveal or its access
      • 6e8b15e Make System the default OmniShell style
      • 2f3c066 fix(hidden-bar): retry a failed menu read with menu access
      • 7b6ef81 Share Control Center across bundled OmniShell styles
      • de9a289 Share status widgets across bundled OmniShell styles
      • 3be5cba Share Wi-Fi and Bluetooth across bundled OmniShell styles
      • 2505b96 Share the battery across bundled OmniShell styles
      • ff2d220 Share the active window across bundled OmniShell styles
      • b6ff13a test(shell): await the frame check instead of an inverted timeout
      • 5135ea6 fix(hidden-bar): never click an item our bar covers
      • 5c39000 fix(hidden-bar): reveal the menu bar only for items that need it
      • 09c005f Merge remote-tracking branch 'upstream/main' into fix/hidden-bar-full-width
      • bf6f189 Merge main into 0.8.0-release
      • 2c236e5 test(hidden-bar): find the test panel in the on-screen window list
      • 99b9239 fix(shell): ignore screen order when comparing display frames
      • 2a04f5b Share weather across bundled OmniShell styles
      • 5d70f6b fix(shell): keep popouts open when only the visible frame changes
      • 887ed39 fix(hidden-bar): leave the menu bar hidden under a full width bar
      • 34b37eb fix(hidden-bar): press items our own bar covers
      • 7eff682 Merge main into 0.8.0-release
      • 29f8251 Merge main into 0.8.0-release
      • a7100b5 Share the clock and calendar across bundled OmniShell styles
      • c5cc2dd Merge main into 0.8.0-release
      • 2ba3bcf Merge main into 0.8.0-release
      • 21cb8ef Merge the published 0.8.0-release branch
      • 9ed4171 Share media across bundled OmniShell styles
      • 9e7ca7e Merge pull request #965 from dappermint/test/omniwm-icon-color-anchor
      • b7ecaf0 test(shell): reject an icon colour with a trailing non hex digit
      • 6a4ef5e Merge pull request #948 from hezhizhen/codex/nocturne-option-regressions
      • e2ccf10 Merge the published 0.8.0-release branch
      • 2b261be Merge main into 0.8.0-release
      • 6a19232 Share volume and audio across bundled OmniShell styles
      • b557850 test(shell): extract inspector snapshot assertions
      • a35cc31 Merge pull request #960 from dappermint/feat/shell-shared-widget-options
      • e7dbdd5 test(shell): verify inspector defaults against explicit values
      • 1ea93af feat(shell): let the omniwm button take a custom icon colour
      • 73e0766 Merge main into 0.8.0-release
      • 92c7efa test(shell): adapt Nocturne tests to release presets
      • 1ed655a test(shell): cover Nocturne option rendering and persistence
      • c419e52 Merge main into 0.8.0-release
      • e4a4bf2 Share System Stats across bundled OmniShell styles
      • 809fa18 Share the Hidden Bar strip and menu across bundled OmniShell styles
      • 26c916f Merge main into 0.8.0-release
      • 36b5d7f Share one OmniWM menu button across bundled OmniShell styles
      • 804d27f Let every style choose how many scratchpad icons to show
      • 574d185 Share one scratchpads widget across bundled OmniShell styles
      • ccafc7a Share one workspaces widget across bundled OmniShell styles
      • 839fd9c Make notification dismissal feel immediate
      • d3e0a79 Merge origin/main with PR #945 option declarations
      • 2c78d38 Polish bundled OmniShell styles and notifications
    7. 🔗 smol-machines/smolvm smolvm v1.32.2 release

      What's Changed

      • chore(nix): bump flake to 1.32.0 by @github-actions[bot] in #1972
      • Let a pause pin later layers after one cannot be linked, instead of failing to create the pin directory again. by @BinSquare in #1973
      • Bump smolvm to 1.32.0 by @BinSquare in #1965
      • Bump smolvm to 1.32.1 by @BinSquare in #1974
      • Record a VMM that smolvm stopped through the API, a recovery or a kill as stopped, not as killed by @BinSquare in #1976
      • Let checkpoint store workers read their own chunks by @BinSquare in #1977
      • Document named and numeric exec user resolution by @BinSquare in #1979
      • Bound the node checkpoint store so incremental checkpoints no longer accumulate forever by @BinSquare in #1981
      • Bump smolvm to 1.32.2 by @BinSquare in #1982

      Full Changelog : v1.32.0...v1.32.2

    8. 🔗 r/LocalLLaMA OpenAI and Anthropic blocked the reverse engineering of smart TVs spying on us rss

      REA (Reserve Engineer Anything) was blocked by Claude one day later...

      https://x.com/AbhinavXJ/status/2113590263373508704

      Time for the pebbles to own the weights

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

    9. 🔗 Filip Filmar Fuchsia Internals, Vol. III: The Zircon Kernel rss

      Volume III of the Fuchsia Internals series examines Zircon, the microkernel at the foundation of Fuchsia. At 43 pages, this report is the longest in the series. Subsequent subsystems like graphics, drivers, storage, and networking run in user space and rely on the primitives defined in this volume. For readers following Cocoapuffs on a RISC-V soft core, this volume documents the kernel behaviors encountered during that port. A link to the full document appears below.

  2. October 24, 2026
    1. 🔗 IDA Plugin Updates IDA Plugin Updates on 2026-10-24 rss

      IDA Plugin Updates on 2026-10-24

      Activity:

      • chernobog
        • 579c1c08: feat: preserve stores and hoisted values when patching Hikari dispatc…
        • 02d6937e: test: cover direct rendering of resolved calls
        • eb82a566: feat: print calls to known targets as direct calls
        • 0fd29f89: test: cover discarded constant ARM64e helpers and document jump table…
        • 81474ce9: feat: elide discarded ARM64e helper statements with constant arguments
        • b1bd5b9d: feat: lower two-way jump tables using remembered exhaustive target pr…
        • 02e2b813: feat: add verbose logging for unlowered jump tables in indirect branc…
      • oh-my-dump
        • bd5ce7ad: ci: move clang-tidy into a separate job
        • 5669b828: ci: add clang-format and clang-tidy checks
        • f999a917: docs: update build documentation
        • 4f0943d1: chore: update clang format/tidy configuration
    2. 🔗 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

    3. 🔗 r/LocalLLaMA Kimi K3.1 removes cyberattack training data from open weight release rss

      This is due to China's new export restrictions primarily but also the growing caution around cybersecurity exploits popping up.

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

    4. 🔗 r/LocalLLaMA 8 GB GPU, 262K context 3.5 BPW Qwen-Flash-Next Coder 70 T/s using llama.cpp rss

      8 GB GPU, 262K context 3.5 BPW Qwen-Flash-Next Coder 70 T/s using llama.cpp | The methodology Qwen-Flash-Next has n-gram, MOE packing above its weight but it's still 6B active params. We exploit this by keeping most MOEs in RAM (Smallest MOEs go in VRAM for speedup) and n-gram on disk - ensure you put the model on your fastest SSD. 8 GB VRAM, 24 GB RAM cost. You can run this fine if you've ~32 GB total memory too, but you'd have to turn down context size. Customize the launch params to best suit your hardware. EDIT Note : Apparently CUDA struggles to run this with 8 GB VRAM, so please use Vulkan backend if it fails to run for you. You can also use the second launch params below in the same comment chain. Ontop of that reduce context size and ensure no background app is wasting your VRAM. You can disable your browsers HW acceleration for this purpose. The model & quant Many people mistake this model for a 1 bit quant so let's get that out of the way. This model here is a 3.5 Bits Per Weight "Coder" variant by ISTA DASLab, featuring GSQ RCO quantization. Half of its experts are removed, so relatively to original param size it has the size of a 1.9 bit quant but the actual weights use 3.5 BPW. see from model page:

      Averaged over the transformer, this corresponds to 1.89 bits per parameter of the original model. The figure is an effective rate: it amortises the removed experts over the original parameter count , and so expresses the combined effect of pruning and quantization. No individual weight is stored at 1.89 bits. The retained weights are stored at 3.5 bpw, unchanged by pruning , and the halved expert count accounts for the remainder of the reduction. Following the convention of the accompanying releases, the figure is reported over the transformer...

      Non-coding vocabulary pruned 400~ MB smaller, recommended Official ISTA DASLab quant The numbers With selective moe-offloading (regex) we reach ~~70 T/s~~ 104 T/s PP and 8~ T/s TG (Limited by PCIE, which I've 3.0 YMMV) whereas if you'd use --n-cpu-moe for same effect it'd been slower due to the effects mentioned here Because of ~~MMAP~~ ~~your first run will be slower~~~~, do a~~ ~~second run for accurate T/s~~ ~~results.~~ - Removed MMAP for load-mode none since lazy-mode is enabled and it gives ~104 T/s PP instead of the 70 T/s. Launch params are in the comments below. Ensure you use the qwen sharp chat template, it reduces overthinking. submitted by /u/jonathanx37
      [link] [comments]
      ---|---

    5. 🔗 r/LocalLLaMA Meta trained small AI models to read raw bytes instead of tokens. They start out worse, but the paper predicts they end up better rss

      Meta trained small AI models to read raw bytes instead of tokens. They start out worse, but the paper predicts they end up better | https://arxiv.org/pdf/2609.12303 this paper suggests a model that skips models reading tokens that and has the model read raw bytes, basically one letter at a time. what they did:

      • trained small models (~1B params), some on tokens and some on bytes
      • trained them partly by copying a bigger model (llama 3 8b), aka distillation
      • the tricky part is that the teacher thinks in tokens and the student reads bytes, so they had to work out a clean way to translate between the two

      what they found:

      • with a little training the token models win, not even close
      • with more training the token models kind of flatline while the byte ones keep improving
      • if you extend the trend lines, the byte model ends up beating llama 3.2 1b and gemma 3 1b by a few points
      • the byte models also needed about 6x less text to hit the same level

      the catch (and there’s a few):

      • the “beats llama and gemma” part is a prediction. they extended the curves past what they actually trained. in their real runs the token model was still ahead
      • reading letter by letter is slower. a token is ~4-5 letters, so it’s roughly 5x more steps for the same text. less data but more compute
      • tokens aren’t really dead, since the teacher model still uses them
      • only tested on small models, no idea yet if it holds at scale

      still pretty cool imo. for small models on phones/laptops, squeezing more quality out of the same size matters a lot. and getting rid of the giant word list might fix the dumb stuff like miscounting letters in a word anyone know if there’s work on making byte models run as fast as token ones? submitted by /u/DotaMate
      [link] [comments]
      ---|---

    6. 🔗 roboflow/supervision supervision-0.31.2 release

      v0.31.2 — Pascal VOC boxes that match the devkit

      A bug-fix release: Pascal VOC boxes now follow the devkit convention, and a batch of crashes on edge-case inputs is gone.

      • Pascal VOC export and import use the devkit's box indices, so Detectron2 and other readers see the boxes you wrote.
      • Gemini 2.5 and 3.5 masks survive boxes that leave the 0-1000 range instead of failing the whole response.
      • Crop and icon annotators draw on grayscale scenes.
      • Half-precision box centers stay finite instead of turning into inf.
      • JSON sinks, dataset exports and the video reader stop losing data when something goes wrong.

      Drop-in upgrade, with one catch: box-only Pascal VOC objects written by earlier versions now load one pixel larger on the right and bottom edges. The migration guide below shows how to fix them.

      ✨ Spotlights / highlights

      Pascal VOC boxes follow the devkit

      DetectionDataset.as_pascal_voc and from_pascal_voc now treat <bndbox> indices as 1-based and inclusive, shifting only xmin and ymin by one, which is what Detectron2 and other devkit readers expect. Export also rounds corners to the nearest pixel instead of truncating them, so a YOLO box that from_yolo loads with float noise no longer grows a pixel. Box-only objects written by 0.31.1 and earlier carry an extra +1 in xmax and ymax; objects exported from masks already used the devkit maxima. (#2748, #2780)

      # `dataset` holds one box [10, 20, 40, 60]
      dataset.as_pascal_voc(
          images_directory_path="images", annotations_directory_path="annotations"
      )
      # <bndbox>: xmin=11 ymin=21 xmax=40 ymax=60  (0.31.1: xmax=41 ymax=61)
      # a YOLO box loaded as [0, 0, 37.0000001, 29.0000001]: 1 1 37 29  (0.31.1: 1 1 38 30)
      

      Gemini masks survive boxes outside the 0-1000 range

      Detections.from_vlm with VLM.GOOGLE_GEMINI_2_5 or VLM.GOOGLE_GEMINI_3_5 raised ValueError as soon as a box_2d coordinate went above 1000 or below 0, even by one, and you lost every detection in the response. The mask is now cropped to the part of its box inside the image, a box wholly outside gets an all-false mask, and boxes inside the image produce the same masks as before. (#2793)

      import supervision as sv
      
      # one item: {"box_2d": [500, 500, 1001, 1001], "label": "cat", "mask": "data:image/png;base64,..."}
      detections = sv.Detections.from_vlm(
          sv.VLM.GOOGLE_GEMINI_3_5, result, resolution_wh=(1000, 800)
      )
      detections.mask.shape, int(detections.mask.sum())
      # ((1, 800, 1000), 200000)
      # 0.31.1: ValueError: could not broadcast input array from shape (400,501) into shape (400,500)
      

      Crop and icon annotators on grayscale scenes

      CropAnnotator and IconAnnotator used to raise IndexError or ValueError on scenes shaped (H, W) or (H, W, 1), or given as a Pillow "L" image. Crops now keep the scene's channel layout, and icons are drawn as their gray luminance, blended by their alpha channel. (#2788)

      import numpy as np
      import supervision as sv
      
      scene = np.zeros((100, 100), dtype=np.uint8)
      scene[20:60, 20:60] = 200
      detections = sv.Detections(
          xyxy=np.array([[20, 20, 60, 60]], dtype=float), class_id=np.array([0])
      )
      sv.CropAnnotator().annotate(scene.copy(), detections).shape
      # (100, 100)  (0.31.1: IndexError: tuple index out of range)
      

      Half-precision boxes that stay finite

      sv.scale_boxes and Detections.get_anchors_coordinates now compute box centers without overflowing float16: a box from 40000 to 60000 used to report an inf center. DetectionsSmoother also compares oriented-box corner distances in float64, which stops float16 and narrow integer coordinates from overflowing; integer coordinates beyond 2**53 still lose low-order pixels in the float64 average. (#2787, #2785)

      import numpy as np
      import supervision as sv
      
      detections = sv.Detections(
          xyxy=np.array([[40000, 40000, 60000, 60000]], dtype=np.float16)
      )
      detections.get_anchors_coordinates(sv.Position.CENTER).tolist()
      # [[49984.0, 49984.0]]  (0.31.1: [[inf, inf]])
      

      🔄 Migration guide

      One behavior change needs your attention: the Pascal VOC box convention. No public symbol was added, renamed or removed in this release, and nothing is deprecated.

      Pascal VOC<bndbox> indices affects sv.DetectionDataset.as_pascal_voc and sv.DetectionDataset.from_pascal_voc. Before 0.31.2, export added 1 to all four corners of a box-only object and truncated, and import subtracted 1 from all four. From 0.31.2, both follow the devkit's 1-based, inclusive indices: only xmin and ymin are shifted by one, and export rounds to the nearest pixel. Export rounds every corner to a whole pixel and the loader returns float32 coordinates, so check precision-sensitive boxes after a round trip. Files from different versions don't round-trip. (#2748, #2780)

      Box [10, 20, 40, 60] | Written <bndbox> | Read back by 0.31.2
      ---|---|---
      written by 0.31.1 | xmin=11 ymin=21 xmax=41 ymax=61 | [10, 20, 41, 61]
      written by 0.31.2 | xmin=11 ymin=21 xmax=40 ymax=60 | [10, 20, 40, 60]

      • Box-only objects (no <polygon>) in files written by 0.31.1 or earlier now load one pixel larger on the right and bottom edges. To restore the original boxes, subtract 1 from <xmax> and <ymax> of those objects only, or re-export the dataset from its source with 0.31.2. Objects exported from masks, which carry a <polygon>, already used the devkit maxima, so leave their files alone: their masks load as before, while their boxes now end one pixel further right and down.
      • Files exported by 0.31.2 match what Detectron2 and other devkit readers expect, so workarounds for the old extra +1 in xmax and ymax can go.

      📝 Notable changes

      ⚠️ Breaking Changes

      • Pascal VOC box extents — as_pascal_voc and from_pascal_voc follow the devkit's 1-based, inclusive <bndbox> indices and export rounds corners to the nearest pixel. Box-only objects written by earlier versions load one pixel larger on the right and bottom edges, so check the migration guide before reading old VOC datasets. (#2748, #2780)

      🔧 Fixed

      Datasets and file I/O

      • Dataset exports finished without an error even when an image could not be written, leaving image files missing; detection dataset exports and ClassificationDataset.as_folder_structure now raise OSError with the destination path. (#2772)
      • JSONSink.write_and_close() raised ValueError: I/O operation on closed file. when called inside a with block, because the block's exit calls it again; it's now a no-op once the file is closed, like CSVSink.close(). (#2771)
      • JSONSink.append kept references to its input, so reusing NumPy buffers or editing nested metadata changed rows that were already appended; it now snapshots the data. (#2781)
      • NumPy boolean scalars are now written as JSON booleans in JSON files. (#2783)

      Detections and VLM

      • Detections.from_vlm with the Gemini 2.5 and 3.5 connectors failed on any item whose box_2d left the 0-1000 range; its mask is now cropped to the image. (#2793)
      • Detections.select() raised an indexing error on selected rows that share a scalar value in data; scalar NumPy values are now preserved. (#2769)
      • sv.mask_iou_batch now treats CompactMask inputs like dense masks: mismatched image shapes raise ValueError, unsupported overlap metrics are rejected even when bounding-box pre-filtering finds no pair, and exact NMS thresholds make the same decision for both. (#2767)
      • sv.scale_boxes and Detections.get_anchors_coordinates overflowed to inf for float16 boxes with large coordinates. (#2787)
      • DetectionsSmoother could overflow or tie on float16 and large integer coordinates when aligning oriented-box corners; integer coordinates beyond 2**53 still lose low-order pixels in the float64 average. (#2785)

      Annotators and video

      • CropAnnotator and IconAnnotator raised IndexError or ValueError on grayscale scenes. (#2788)
      • get_video_frames_generator left its video capture open when range validation or the initial seek failed; it now releases the capture and logs any secondary release error without replacing the original error. (#2782)

      🏆 Contributors

      Welcome to our first-time contributors: 卢文彬, SHLOK SINGH, zurrll, Huashuo Lei, moyunliuyin, Wentao Tong and LEE, WEI-HONG!

      • Avanish Garg (@avanish-garg) — kept Gemini 2.5 and 3.5 masks when a box leaves the 0-1000 range.
      • Mohammad Hijjawi (@MohammadHijjawi97) — made CropAnnotator and IconAnnotator work on grayscale scenes.
      • 卢文彬 (@lu123bing) — fixed inf box centers for half-precision boxes.
      • A Aswanth Raj (@aswanth-07) — fixed overflow in DetectionsSmoother corner alignment.
      • Kaushik Reddy Lingireddy (@Lingikaushikreddy) — rounded Pascal VOC corners instead of truncating them.
      • moyunliuyin (@moyunliuyin) — aligned Pascal VOC export and import with the devkit's box extents.
      • Junghwan (@shaun0927) — fixed JSONSink.append buffer reuse and released video captures when setup fails.
      • Huashuo Lei (@wpyaoxueros) — fixed Detections.select() with scalar data.
      • Wentao Tong (@tongwentao) — made dataset exports raise when an image cannot be written.
      • kevin (@kevin9327) — fixed JSONSink.write_and_close() after the file is closed.
      • Devulapalli Naga Sri Vaishnavi (@Vaishnavi220506) — aligned CompactMask IoU with the dense-mask contract.
      • @zurrll — saved NumPy booleans as JSON booleans.
      • SHLOK SINGH (@buildwithshlok) — added type checking to the annotators tests.
      • LEE, WEI-HONG (@AuricTW) — added a cross_product doctest.
      • Jirka Borovec (@Borda) — prepared the release.

      Automated contributions: Dependabot, Copilot, Claude, pre-commit.ci


      Full changelog : 0.31.1...0.31.2

    7. 🔗 r/LocalLLaMA The RTX 5090 Isn't Gone, It's In Chinese Labs, Where Technicians Rip Off Its Die And 32GB VRAM For AI Servers rss

      The RTX 5090 Isn't Gone, It's In Chinese Labs, Where Technicians Rip Off Its Die And 32GB VRAM For AI Servers | submitted by /u/chemist_slime
      [link] [comments]
      ---|---

    8. 🔗 OmniNull/OmniWM Canary 20261024-0439 (2f49ed7c) release

      Automated canary build of main. It is signed and notarized like a release but skips the owner review, so treat it as unstable.

      See the canary guide to install, update, or return to stable. For everyday use, download the latest stable release.

      • Commit: 2f49ed7c3a03
      • Base tag: canary-20261023-0937-39929994137-1

      Changes since canary-20261023-0937-39929994137-1

      • 2f49ed7 Merge pull request #975 from dappermint/feat/hidden-bar-inline-items
      • f35618e Merge pull request #971 from hezhizhen/codex/input-source-regression-tests
      • 665c864 feat(hidden-bar): show hidden items inline in the bar
      • 36bcd78 Merge pull request #974 from OmniNull/dependabot/npm_and_yarn/website/npm_and_yarn-9cae7cad90
      • 736ffbf test(shell): await queued input source refresh after stopping
      • 2404244 build(deps): bump astro
      • de43c42 Merge pull request #972 from hezhizhen/codex/localize-shell-choice-labels
      • 94cef1b Merge pull request #973 from dappermint/fix/shell-timed-render-pacing
      • b9f4ed4 test(shell): cover deferred input source refreshes
      • 49e30e5 fix(shell): pace timed renders by the feed seconds
      • c2048b6 fix(shell): localize built-in choice labels
      • 9a41498 Merge pull request #968 from hezhizhen/codex/localize-shell-option-titles
      • d44316c Merge PR #970: Read the input source after the change notification
      • 2c07492 fix(shell): skip a queued input source read after listening stops
      • 2d1bd27 fix(shell): read the input source after the change notification
      • 8f5e27b Close the TOML example in the components configuration guide
      • c7533ce Merge PR #966: Scroll in batches the surface can keep up with
      • 7e92c8e Merge PR #964: Pin the remaining actions to commit SHAs
      • f7a3d48 test(shell): simplify option title localization coverage
      • 9bd82c5 fix(shell): localize built-in widget option titles
      • 9cf93a6 Merge PR #962: Make root scripts declare HTTP hosts and allow plain HTTP only on loopback
      • 4cf64cf test(shell): scroll in batches the surface can keep up with
      • 9435b2e ci: drop the stored checkout token in website and scope greetings permissions
      • 99d2f28 docs(shell): put the root capabilities key above the option tables
      • fff3f78 ci: pin the remaining actions to commit shas
      • 86572bf fix(shell): make root scripts declare http hosts and allow plain http only on loopback
    9. 🔗 smol-machines/smolvm smolvm v1.32.1 release

      What's Changed

      • chore(nix): bump flake to 1.32.0 by @github-actions[bot] in #1972
      • Let a pause pin later layers after one cannot be linked, instead of failing to create the pin directory again. by @BinSquare in #1973

      Full Changelog : v1.32.0...v1.32.1

    10. 🔗 r/LocalLLaMA Qwen4-27B PR found rss

      PR: https://github.com/analytics-zoo/vllm-xpu-kernels/pull/22

      The PR author seems to have contributed to intel repos a lot and VLLM. He also shares his name (might be the same person?) with a person who is either a CTO somewhere at alibaba or the Director of Zhejiang Lab.

      He has worked on Qwen3.8 before this.

      The PR also implies the KV cache size for Qwen4-27B is not decreasing.

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

    11. 🔗 smol-machines/smolvm smolvm v1.32.0 release

      What's Changed

      • chore(nix): bump flake to 1.31.5 by @github-actions[bot] in #1964
      • Add dispatch programs that run Amp's self-hosted orbs as smol machines, on your own host or on smol cloud by @BinSquare in #1948
      • Bump libkrun to f9c80369 so branches and restores of nested-virtualization machines keep their KVM nested state. by @BinSquare in #1961
      • Mount and unmount host directories on a running machine without a restart by @BinSquare in #1963
      • Bump libkrun to 93b8d977 so a directory mounted again serves the files the guest already looked up by @BinSquare in #1968
      • Never resolve a restored checkpoint's credential bindings from this host's environment by @BinSquare in #1966
      • Attach a --disk in the format it had when attached, so a guest cannot turn it into a qcow2 image backed by a host file by @BinSquare in #1967
      • Bump libkrun to 6d17e582 so a macOS guest cannot hard-link a symlink into a host file by @BinSquare in #1969
      • Refuse to attach a directory that overlaps one already attached, naming the guest path that holds it by @BinSquare in #1970
      • Bump smolvm to 1.32.0 by @BinSquare in #1971

      Full Changelog : v1.31.5...v1.32.0

    12. 🔗 HexRaysSA/plugin-repository commits sync repo: +7 releases, -5 releases rss
      sync repo: +7 releases, -5 releases
      
      ## New releases
      - [ida-bochs-binaries](https://github.com/hexrayssa/ida-bochs-binaries): 2.0.1, 1.0.6
      - [ida-mcp](https://github.com/hexrayssa/ida-mcp): 20261023.0.2, 20261023.0.1, 20261022.0.1
      - [ida-nexus](https://github.com/hexrayssa/ida-nexus): 0.14.1, 0.14.0
      
      ## Changes
      - [ida-mcp](https://github.com/hexrayssa/ida-mcp):
        - removed version(s): 0.9.0, 0.10.1, 0.10.0
      - [ida-nexus](https://github.com/hexrayssa/ida-nexus):
        - removed version(s): 0.8.1, 0.8.0
      
    13. 🔗 backnotprop/plannotator v0.28.30 release

      Follow @plannotator on X for updates

      Missed recent releases? Release | Highlights
      ---|---
      v0.28.29 | Plan review opens on OpenCode 2, a DOMPurify security update, closing a review stops the agent everywhere
      v0.28.27 | Jump to open questions, files side by side or full screen, image zoom in the Inbox, empty To field, text size for plan review and annotate
      v0.28.26 | Action items and reply drafts in the Inbox, one decision button for plan review, Enter to save a comment, a custom code font
      v0.28.25 | Re-ask open questions, delivery ticks on the list, a count of new messages on the tab, right-click a thread, click Inbox to refresh
      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

      What's New in v0.28.30

      An Artifacts view in the Inbox, comments on part of an image, diagrams in code review, and Ask AI that keeps its conversation across documents in annotate. 9 PRs, one from a first-time contributor, @mvanhorn.

      Plannotator Inbox

      Artifacts

      A thread's header has an Artifacts button that shows every file, image and guided review in the thread as one grid, newest first. A tile opens the file in the viewer beside the grid, and stepping in the viewer keeps thread order.

      Split or Unified diffs in guided reviews

      A guided review in the Inbox has a Split | Unified tab on its first file. The choice applies to every file in the review. Phones always show one column.

      Re-ask from the open-questions list

      Re-ask moved into the "N open questions" list and now works for a single question too.

      Smaller changes

      • Action items use the thread's text size , so the card no longer looks larger than the messages and question cards around it. #2123

      Plannotator

      Comment on part of an image

      In annotate and plan review, open an image from the document, switch to Region and drag a box to comment on that part of it. The agent gets the image, its line in the file, the box in the image's own pixels, and your comment.

      Diagrams in code review

      Mermaid and Graphviz diagrams in a Markdown file's Read and Changes views are now drawn, and so is the diagram in a guide overview. The diagram engine loads only when a review has one, so a review without diagrams loads nothing extra.

      Ask AI keeps its conversation in annotate

      Moving between files in a folder session, opening a linked document, or going back no longer clears the Ask AI conversation. Each question still carries the document it was asked about.

      Smaller changes

      • Updates are checked about once an hour instead of once a day, so a new release shows up sooner. It is still one small request at most per hour. #2112
      • The update toast says what Update does : it installs in the background and the review keeps working. #2106

      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

      New Contributors

      Community

      Full Changelog : v0.28.29...v0.28.30

    14. 🔗 Andrew Healey's Blog Decompiling Fast Food Tycoon 2: Drawing the World rss

      How a 2001 business sim rendered its rich and detailed cities.

  3. October 23, 2026
    1. 🔗 IDA Plugin Updates IDA Plugin Updates on 2026-10-23 rss

      IDA Plugin Updates on 2026-10-23

      Activity:

      • augur
        • 86a36fe5: Merge pull request #15 from 0xdea/dependabot/github_actions/actions-d…
        • 021fa116: ci: bump taiki-e/install-action
      • haruspex
        • dc94d1f4: Merge pull request #19 from 0xdea/dependabot/github_actions/actions-d…
        • 9632d682: ci: bump taiki-e/install-action
      • rhabdomancer
        • eea04bef: Merge pull request #19 from 0xdea/dependabot/cargo/toml-1.1.8spec-1.1.0
        • 34ea21e0: Merge pull request #18 from 0xdea/dependabot/github_actions/actions-d…
        • 58e6f0c9: chore: bump toml from 1.1.6+spec-1.1.0 to 1.1.8+spec-1.1.0
        • 603de3fe: ci: bump taiki-e/install-action
    2. 🔗 anthropics/claude-code v2.1.310 release

      What's changed

      • Added the Monitor tool and plugin monitors on Bedrock, Vertex, and Foundry, and when telemetry or nonessential traffic is disabled; long foreground sleeps are now blocked there too
      • Fixed requests failing behind some gateways and compatible servers that reject the effort-2025-11-24 beta value or mid-conversation system messages; Claude Code now retries without them
      • Fixed background cleanup deleting some recent files, such as pasted images, when cleanupPeriodDays is set to a very large value
      • Fixed compaction after a "Prompt is too long" error keeping too much of a conversation with dense text, such as base64 or SVG, so the next request could fail again
      • Fixed file read permission prompts not showing where a symbolic link leads
      • Fixed a question's auto-continue timeout firing the moment the external editor closed after a long edit
      • Windows: Fixed PreToolUse and PermissionRequest hooks letting a tool call through when Git Bash is missing and the hook's command is only quoted strings, such as a quoted path
      • Improved auto mode's prompt before the first read outside the working directories: it now says when blocking those reads makes shell commands ask for permission
      • Improved memory use of non-interactive sessions (-p, Agent SDK) during compaction when the transcript file is very large
      • Improved a mod's Image to draw inside tmux with allow-passthrough and focus-events on, in kitty, Ghostty, and iTerm2 3.5+ with fullscreen rendering, where it showed only its alt text
      • Linux: Improved /sandbox and the sandbox startup warning to name Ubuntu's AppArmor restriction on user namespaces, and how to lift it, when it keeps bubblewrap from starting the sandbox
      • Changed the error for an MCP tool call that times out in a non-interactive session while the server's elicitation is unanswered: it now tells Claude that no answer came and not to repeat the call
      • [VSCode] Fixed pressing Enter on the plan review card's "Send feedback and keep planning" button approving the plan instead of sending your comments back
      • [VSCode] Fixed the panel showing "Something went wrong" after "Switch branch & continue" on a cloud session opened from Session history's Web tab
      • [Cloud sessions] Added Claude Code cloud sessions and Remote Control permissions to Enterprise custom roles, so Owners can control access to each by role
      • [Cloud sessions] Added a Choose file button to load a cloud environment's setup script from a file
      • [Cloud sessions] Fixed failed saves and archives in the cloud environment edit dialog showing no error inside the dialog
      • [Cloud sessions] Fixed failed routine API token actions showing only a toast; the error now appears in the routine edit dialog
      • [Cloud sessions] Improved the session start checklist to show a cloud environment's setup script output in a scrolling box
      • [Cloud sessions] Changed turning on Cloud sessions or Remote Control in admin settings to ask for confirmation and list the custom roles that have that permission
      • [Cloud sessions] Changed the cloud environment dialog to open network access, setup script and environment variables from rows instead of listing every editor at once
      • [Claude Tag] Fixed Claude Tag treating ! commands such as !restart and !help as ordinary messages when sent in bold, italic or strikethrough
      • [Claude Tag] Fixed Claude Tag admin channel and workspace pages being replaced by a load error when a background refresh of the bundle list fails
      • [Claude Tag] Fixed Claude Tag's spend limits page in admin settings reporting that no channels match a filter while channel names are still loading
      • [Code Review] Fixed the Code Review admin section hiding its repositories and switches after a failed refresh of the repository list
      • [Code Review] Improved the Code Review admin section to retry the first load and show one Try again banner when it still fails
    3. 🔗 smol-machines/smolvm smolvm v1.31.5 release

      What's Changed

      • Compare a branch source's VM binary with the one this engine boots VMs with, so embedding SDKs can branch again by @BinSquare in #1959
      • Stage the file a symlinked --image archive points at, so the guest can read it by @BinSquare in #1958
      • chore(nix): bump flake to 1.31.4 by @github-actions[bot] in #1957
      • Rename Licenses.md to THIRD-PARTY-NOTICES.md so GitHub detects the Apache-2.0 license by @BinSquare in #1960
      • Bump smolvm to 1.31.5 by @BinSquare in #1962

      Full Changelog : v1.31.4...v1.31.5

    4. 🔗 exe.dev Hunting Bugs? Look at Commits rss

      If you’re looking for bugs, you’ll get better results if you focus the agents’ attention.

      The usual loop is roughly:

      for f in files:
        "please look for important bugs, using $f as a starting point"
      

      But I've found this to be more effective:

      for c in commits:
        "please analyze $c for important bugs; validate that they still exist at HEAD"
      
    5. 🔗 r/LocalLLaMA Here's where the last RTX 5090 cards are going: Massive AI conversion factory exposed in China, Founders Edition included rss
    6. 🔗 r/LocalLLaMA Vibecoding your own inference engine is easy they said rss

      Vibecoding your own inference engine is easy they said | guys, you better just clone llama.cpp I swear.
      this thing is running gguf q4 paged into webgl2 embedded compute buffers via glsl right inside html, and tokenizer/vocab is just part of the endless debug hell. submitted by /u/CodeMichaelD
      [link] [comments]
      ---|---

    7. 🔗 backnotprop/plannotator v0.28.29 release

      Follow @plannotator on X for updates

      Missed recent releases? Release | Highlights
      ---|---
      v0.28.27 | Jump to open questions, files side by side or full screen, image zoom in the Inbox, empty To field, text size for plan review and annotate
      v0.28.26 | Action items and reply drafts in the Inbox, one decision button for plan review, Enter to save a comment, a custom code font
      v0.28.25 | Re-ask open questions, delivery ticks on the list, a count of new messages on the tab, right-click a thread, click Inbox to refresh
      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

      What's New in v0.28.29

      A patch release: plan review now opens on OpenCode 2, a DOMPurify security update, and two skill fixes. (v0.28.28 was never published; its release was stopped by the security check this update fixes.)

      Plannotator

      Plan review works on OpenCode 2

      On OpenCode 2, the plan agent wrote its plan into the chat and never sent it for review. OpenCode 2 adds its own Plan mode note telling the model to discuss the plan in the conversation, and Plannotator didn't recognize that wording. Plannotator now replaces the note, so the plan agent calls submit_plan and the review opens. Tested on OpenCode 2.0.19 and 2.1.2. OpenCode 1 is unchanged.

      Smaller changes

      • Closing a review without feedback stops the agent on every agent, not only Claude Code. Closing is not approval. #2099, closing #2097
      • The visual-explainer skill asks before installing its third-party dependency. #2099, closing #2098
      • DOMPurify 3.4.17 fixes a critical sanitizer advisory (GHSA-cg2g-xh64-v4q7). Mermaid's copy is updated too. #2104
      • Guided Reviews can carry an overview with an optional diagram (guide format version 2). Nothing creates one yet; this is groundwork. Existing guides are unchanged. #2095

      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

      Full Changelog : v0.28.27...v0.28.29

    8. 🔗 r/LocalLLaMA everything will be local eventually rss

      I know current llms like opus 5.5 are in a league of their own. but we all know they're losing a shti ton of money with their subscriptions. ALSO we all know how tasks like OCR, segmentation etc are getting solved by single digit B parameter models. I'm not saying llms are a gimmick but I'm saying the future is already shaping up to be about specialized models that work better when they're smaller. easier training. so datacenter level power not needed. ten years from now we'll have a specialized model for the tasks we care about and llms will fail to do everything all at once (unless they keep calling it one model but have a hundred under the hood).

      system one models are a bad but workable example. you could tell an llm to rate options all day but get yourself on 9B parameter model trained by some lab and it tops the benchmarks.

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

    9. 🔗 backnotprop/plannotator v0.28.28 release

      chore: bump version to 0.28.28

    10. 🔗 OmniNull/OmniWM Canary 20261023-0937 (28ded16c) release

      Automated canary build of main. It is signed and notarized like a release but skips the owner review, so treat it as unstable.

      See the canary guide to install, update, or return to stable. For everyday use, download the latest stable release.

      • Commit: 28ded16c88ef
      • Base tag: canary-20261022-0439-39721295344-1

      Changes since canary-20261022-0439-39721295344-1

      • 28ded16 Merge pull request #959 from dappermint/fix/toolchain-cache-recovery
      • 810a195 ci: start from a clean toolchain when its cache restore fails
      • 0e0bf3c Merge PR #958: Add Fluxer community chat links
      • 9f35cdf docs: add fluxer community chat links
      • 4450248 Update SwiftFormat to 0.64.1
      • 9bfd535 Merge pull request #921 from dappermint/test/qa-suite-hardening
      • 4eba57f style(hidden-bar): drop the trailing comma swiftformat 0.63 rejects
      • 931a291 Merge pull request #957 from hezhizhen/codex/fix-hidden-native-cross-display
      • c532780 test(hidden-bar): stop depending on the finder extension setting
      • ba39913 test(shell): give bundled widget renders a 1 s cpu budget
      • 2b4cf58 test(shell): wait for the bar before counting its widgets
      • 18427da test(support): let until name the condition it waited for
      • 958bbfd fix: discard deferred native moves for hidden windows
      • 22b8f6c Translate the new swipe-edge and cross-display drag settings
      • 92ca342 Merge pull request #952 from brdoney/swipe-edge-behavior
      • b7b10dd Merge pull request #933 from hezhizhen/codex/native-titlebar-cross-display
      • 47d8df0 Merge pull request #949 from brdoney/fill-left-reserve-space
      • 6b608a4 Merge pull request #956 from brdoney/fix-nil-layer-border
      • dc5117e Merge pull request #951 from hezhizhen/codex/fix-notification-api-reference
      • a89d802 fix(shell): draw no border when a widget sets a width without a color
      • dafebd0 Update fill-left reserve docs and reuse the overlapping case
      • c24495e Add configurable workspace swipe behavior at the edges
      • 56dd4a4 fix(docs): include notification types in the Luau reference
      • bc403f5 fix: retain deferred native drag correction obligations
      • 44459e7 fix: ignore managed frames during native cross-display adoption
      • f71c0a6 feat: opt in to native title-bar moves across displays
      • 9fc6374 Merge pull request #940 from hezhizhen/codex/fix-wallpaper-region-crop
      • 672f8ff Reserve workspace bar space in Fill Left of Notch mode
      • cf3599e Merge PR #945: Check widget option declarations and add Nocturne options
      • 97b8aaa test(shell): match whole option names in the declaration check
      • efb89c7 fix: crop full-window wallpaper captures before region fallback
      • 80dca94 feat(shell): declare scratchpad, calendar and weather options for nocturne
      • 37f7889 test(shell): check bundled widgets declare the options they read
      • f8cddb7 Merge pull request #941 from dappermint/fix/touch-count-provider-rewrap
      • ddc5e5c Merge origin/main while preserving notification support
      • 10455b5 Merge pull request #943 from rickythefox/feat/942-focus-rank
      • d61a7d3 Dismiss notifications through their native Close action
      • bacd0e5 Add native notification actions and capture diagnostics
      • 2ebfb50 feat(ipc): expose window focus history via query windows
      • 0aa1470 Match Notifications to OmniShell styles
      • 4953efe Add retained notifications to OmniShell
      • 31d4e80 fix(input): stop the touch count provider growing on every read
    11. 🔗 r/LocalLLaMA Models disappearing from Huggingface rss

      Models disappearing from Huggingface | I've been noticing a lot of my downloads stopping suddenly and being unable to resume. When I checked the models it seemed like they were gone. Here's the ones I can see are missing:

      • dealignai/MiMo-V2.6-Pro-RL-UNCENSORED
      • audnai/penclaw-GLM-5.3-abliterated-for-offensive-cyber
      • huihui-ai/Huihui-Kimi-K2.7-Code-abliterated-GGUF

      and somehow not a single Alliterated Deepseek-R1. Does anyone know what's going on and where else the vanished models might be found? submitted by /u/umarmnaq
      [link] [comments]
      ---|---

    12. 🔗 smol-machines/smolvm smolvm v1.31.4 release

      What's Changed

      • chore(nix): bump flake to 1.31.3 by @github-actions[bot] in #1949
      • Boot a pack prepared on a machine's storage from that storage instead of its source image's archive, and keep .wh. files in a pack's only layer by @BinSquare in #1950
      • Refuse to branch a source still running the engine from before an upgrade by @BinSquare in #1952
      • Keep agent unit tests off the storage disk of the machine they run on by @BinSquare in #1955
      • Grow RAM live on CLI-started machines when no cgroup limit is in the way by @BinSquare in #1956
      • Bump smolvm to 1.31.4 by @BinSquare in #1954

      Full Changelog : v1.31.3...v1.31.4

    13. 🔗 r/LocalLLaMA MiniMax-M3.1-Flash rss
    14. 🔗 backnotprop/plannotator v0.28.27 release

      Follow @plannotator on X for updates

      Missed recent releases? Release | Highlights
      ---|---
      v0.28.26 | Action items and reply drafts in the Inbox, one decision button for plan review, Enter to save a comment, a custom code font
      v0.28.25 | Re-ask open questions, delivery ticks on the list, a count of new messages on the tab, right-click a thread, click Inbox to refresh
      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

      What's New in v0.28.27

      A jump list for a thread's open questions, files side by side or full screen, image zoom everywhere, text size for plan review and annotate, and a run of fixes from your reports.

      Plannotator Inbox

      Jump to open questions

      When a thread has questions you haven't answered, a button in its foot says how many. It lists them, and choosing one opens its message and takes you to the card.

      Side by side or full screen, remembered

      An open file has a Side by side | Full screen switch in its header. The Inbox remembers the one you picked.

      Zoom and pan images

      Images in the Inbox zoom with a trackpad pinch or Ctrl/⌘ + wheel, pan by dragging, and switch between Fit and 2× on a double-click. ← → still step to the next file while zoomed, and a comment's drawing stays on the image at any zoom.

      Action items as a checklist

      An agent's action items show as one checklist card: tick each off, open it for the details, and see "2 of 3 done" at a glance.

      Smaller changes

      • New messages start with To empty , so a message can't go to the wrong agent. The last agent you used is listed first. #2089
      • Attached files always show in the Clean look. #2092
      • A thread's draft status sits to the right of its buttons. #2083
      • Agent icons come in one set of sizes , and tooltips are borderless and quicker to appear. #2078, #2079
      • Phone sheets have rounder top corners. #2076

      Plannotator

      Text size

      Settings → Display → Text size makes plan review and annotate text smaller or larger.

      Zoom images

      The image viewer zooms with the mouse wheel or a pinch and pans by dragging. Actual size now really shows the image at its own size.

      Smaller changes

      • The tab title and header name the open file in annotate. #2075, closing #2061
      • Comment Edit and Delete buttons show on screens without hover (Chrome on some Linux setups, touch screens). #2065, closing #2062
      • HTML pages you annotate can open alert, confirm and prompt dialogs. #2071, closing #2063
      • Mermaid labels in Chinese, Japanese and Korean no longer wrap their last character onto a new line. #2072, closing #2064
      • Ask AI answers show tables. #2070, closing #2069
      • Back from a linked document returns to where you were reading. #2084, closing #2082
      • Links with an underscore are linked in full , not cut off at the first _. #2088
      • Pi and Oh My Pi: after updating Plannotator while Pi is running, you're now told to restart, instead of seeing a confusing error. #2087, closing #2085

      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

      Most of this release came from your reports. Thank you:

      Full Changelog : v0.28.26...v0.28.27

    15. 🔗 New Music Releases O.A.R. - Three Tinted Windows rss

      O.A.R. - a new release is available:

      • 2026-10-23: Three Tinted Windows (Album)

      Amazon: Canada | Deutschland | France | United Kingdom | United States

      Visit muspy for more information.

    16. 🔗 New Music Releases Polyphia - BE NOT AFRAID rss

      Polyphia - a new release is available:

      • 2026-10-23: BE NOT AFRAID (Album)

      Amazon: Canada | Deutschland | France | United Kingdom | United States

      Visit muspy for more information.

  4. October 22, 2026
    1. 🔗 IDA Plugin Updates IDA Plugin Updates on 2026-10-22 rss

      IDA Plugin Updates on 2026-10-22

      Activity:

      • binsync
        • 901af52d: fix(ui): keep host view focus after Open/New dialog errors; reject em…
      • ida-settings
        • 31bf35ed: Merge pull request #31 from williballenthin/fix-pyside6-first
        • d1042cb2: prefer PySide6 over PyQt5 so IDA 9.2+ doesn't show the PyQt5 shim dialog
      • mcrit-plugin
        • 75e83537: Merge pull request #59 from familiary/refactor/core-presentation
        • 9ee44127: Merge pull request #58 from familiary/feature/ghidra-plugin
        • e351304b: Address the Ghidra review follow-ups: console Reset, bridge compile, …
        • d2f040bc: Merge feature/ghidra-plugin into refactor/core-presentation
        • 40772287: Fix the Ghidra review findings: CFG colors, rejected labels, spinner …
        • 8b2097ce: Escape YARA wildcards for the report's architecture
        • 41f28926: Count Block Scope's headline functions like its families and samples
        • 770d70f3: Share the match views' logic between the Qt widgets and Ghidra
        • a49b6061: Tint Ghidra matches with transient markers, fix the GUI runner deadlock
    2. 🔗 anthropics/claude-code v2.1.309 release

      What's changed

      • Fixed sandboxed Bash commands on macOS and Linux running the shell's startup files outside the sandbox before each command
      • Fixed macOS sandbox denyWrite glob patterns not applying at a path's real location when the pattern's folder is reached through a symlink
      • Fixed sandboxed commands and auto-accepted edits being able to modify the MCP config file passed with --mcp-config
      • Fixed a disabled MCP server being reconnected by a later permission prompt in print and SDK sessions
      • Fixed the Bash permission check trusting a variable set by a command whose redirect can fail to open
      • Fixed Bash permission checks not prompting for some compound commands that change directory before running git when the cd is wrapped or prefixed, as they do for a plain cd
      • Fixed an Edit(path) deny rule not blocking a Bash redirect to that path in some commands that also held a subshell
      • Fixed worktree-isolated sessions accepting some locale-prefixed commands the isolation guard should refuse
      • Fixed worktree-isolated sessions on zsh accepting some arithmetic commands that the isolation guard should refuse
      • Fixed worktrees and branch checkouts that Claude Code creates so they ignore git replace refs, as its other git operations already do
      • Fixed profile store write protection not applying when the config directory is reached through a symlink
      • Fixed sessions compacting repeatedly after reading files under a very large nested CLAUDE.md; a nested CLAUDE.md over the size limit now loads only its start
      • Fixed ctrl+enter (send now) only queuing a message when pressed before the response had started, and restarting a prompt's hooks while leaving the message queued when pressed while those hooks were running
      • Fixed key-bound slash commands running in the shell from ! mode
      • Fixed ctrl+o not showing messages from other agents and sessions that are still waiting to be delivered; they now appear in full under the transcript, marked as waiting
      • Fixed long tool output previews being cut through an emoji, leaving session transcripts that jq could not parse
      • Fixed Read reporting "File does not exist" for PDF page ranges in Linux sandboxes that share the parent's /proc
      • Fixed messages from a Claude Desktop-hosted session sometimes being lost when its connection refreshed
      • Fixed features missing from Claude Code sessions in the Claude desktop app when the terminal on the same computer was signed in to a different account or organization
      • Fixed the claude remote-control status line showing HEAD as the branch for a folder that is not in a git repository
      • Fixed split-pane agent teammates not inheriting the tool deny and --tools rules given on the leader's command line
      • Fixed sessions renamed with /rename appearing to other sessions under a generated name after a VS Code window reload or a non-interactive --resume
      • Fixed the /rewind list showing "No code changes" for a turn that changed checkpointed files through /code-review --fix, a subagent or a shell command
      • Fixed /privacy-settings showing an out-of-date "Help improve our AI models" value; it now also says when the setting can't be fetched
      • Fixed feedback saying "try again later" when your organization does not accept feedback; it now shows the server's reason and where to report a bug
      • Fixed oversized /feedback reports failing instead of being resent without the transcript
      • Fixed a skill in an --add-dir folder being unreachable when another skill already held its name; it is now offered as <folder>:<name>
      • Fixed /verify and /code-review not finding a nested package's own skill when its files were changed from the shell
      • Fixed the /claude-api skill saying that ant beta:worker poll --on-work passes trace context to the command
      • Fixed the /claude-api skill's C# tracing setup missing spans from the cloud platform clients
      • Fixed the /claude-api skill saying that API spans for requests to Claude Platform on AWS can't join the caller's trace
      • Fixed hooks that run in PowerShell not blocking when the hook's program exits with code 2, and on Windows PreToolUse and PermissionRequest hooks with "shell": "powershell" failing open when Git for Windows isn't installed
      • Fixed a mod's turn.step hook that names a model by alias, such as haiku, failing every request with a model error: the alias now resolves to its model
      • Fixed plugins and skills synced from claude.ai being removed, sometimes mid-session, after a disk read error
      • Fixed artifact publishes and updates being refused for some ordinary pages, such as pages with certain minified scripts or artifacts Claude could not read first
      • Fixed Claude asking for permission on each artifact update for the rest of a turn after the conversation was compacted in that turn
      • Fixed fine-grained tool streaming staying off on Amazon Bedrock when ANTHROPIC_BEDROCK_BASE_URL is set to the default bedrock-runtime.<region>.amazonaws.com endpoint
      • Fixed the "Waiting for API response" hint flickering behind gateways that send only keepalive pings: routes off Anthropic's backend now wait 45 seconds
      • Fixed Claude notifying unrelated GitHub users by writing role names and placeholders as mentions in PRs, issues and comments
      • Linux: Fixed sandbox write denies lifting when a background command outlived the session
      • Windows: Fixed PowerShell permission checks auto-approving some Set-Location or cd commands that target the current directory and carry extra arguments; these now prompt for approval
      • macOS: Fixed the "Install Command Line Developer Tools" dialog opening each time Claude Code starts on a Mac without Xcode or the Command Line Tools
      • Self-hosted runner: Fixed --startup-timeout-min stopping a session whose first prompt, such as /code-review, was still working in a subagent; a frozen process is still stopped
      • Improved the speed of many git commands Claude Code runs for itself on Windows; on every platform, errors from those commands now show in English even when git is set to another language
      • Improved the error when a hooks module is nested too deep to load: it now names the file instead of showing a bare stack-overflow message
      • Improved disk-full handling: a Bash command cut off by a full disk now says so and names the folder to free up, and starting on a full temp volume prints a clear message, not a raw ENOSPC error
      • Improved the /claude-api skill to offer API tracing alongside SDK tracing when asked to add OpenTelemetry
      • Improved the /claude-api skill to check the live docs before saying a feature is unsupported
      • Self-hosted runner: Improved sessions that move to a new runner: Claude now sees the tool call that was interrupted, marked as outcome unknown
      • Updated the bundled dataviz skill to accept APCA as a text-contrast measure (keeping WCAG 2 ratios where AA conformance is required), add an apca(text, background) function to its palette validator scripts, and say whether a label inside a colored chart fill should be white or near-black
      • Updated the /claude-api skill: service account keys and Workload Identity Federation tokens can now manage OpenTelemetry destinations
      • Changed sed -i to get the standard Bash prompt and run as written, not a simulated file-edit preview; like other Bash edits, it is no longer restored by /rewind
      • Changed claude ultrareview to require workspace trust: it asks on a terminal, else refuses; scripts pass --trust-workspace, which takes no value (put a PR number or base branch before it), or set CLAUDE_CODE_DISABLE_ULTRAREVIEW_TRUST_CHECK=1
      • Changed the dangerous rm and rmdir prompt in bypass permissions mode in the Desktop app and VS Code to deny the command at once with a rewrite hint, so unattended sessions keep going
      • Changed commands the settings exclude from the sandbox to ask before writing to its write-list paths while the sandbox is enabled but cannot run; the unsandboxed fallback is refused there
      • Changed worktree creation and reuse so git no longer fetches objects on demand, in ordinary clones and in partial clones with a Bash sandbox configured; such a partial clone fetches them first
      • Changed the /claude-api skill to build Managed Agents subagent teams on multiagent_20261001 with dynamic workflows on by default, instead of coordinator
      • [VSCode] Added a log warning that says what to do when dictation or the extension's own requests fail certificate verification, such as behind a TLS-inspecting proxy
      • [VSCode] Fixed the Claude panel staying blank after the editor cached an incomplete copy of its files; it now recovers by itself, or says what went wrong and how to fix it
      • [VSCode] Fixed Session history filling up with empty "Untitled" sessions each time you start a new session without sending a message
      • [VSCode] Fixed long slash-command messages such as /goal filling the chat panel; they now fold behind Show more like other prompts (#97469)
      • [VSCode] Fixed long messages not folding behind Show more after the chat panel is made narrower
      • [VSCode] Fixed Ctrl+J in the chat input always inserting a newline: it is now left to VS Code and the OS when "ctrl+j" is set to null in the Chat context of ~/.claude/keybindings.json
      • [VSCode] Fixed a mod's "From the … plugin" label above the prompt being drawn over the slash command and @-mention menus (#102981)
      • [VSCode] Fixed an empty list item, paragraph or code block, and list items renumbered from 1, when pasting copied LaTeX math
      • [VSCode] Fixed the feedback error showing only an HTTP status when your organization does not accept feedback
      • [VSCode] Improved Edit and Write speed in the chat panel: the wait for new problems after each edit is now 0.75 seconds in most cases, down from 1 to 1.5 seconds
      • [Cloud sessions] Fixed the Add connector list in routine forms saying no connectors were available while they were still loading
      • [Cloud sessions] Fixed the cloud environment editor shuffling environment variables and adding backslashes to values that contain both kinds of quote
      • [Cloud sessions] Fixed the self-hosted environment details dialog in admin settings so its title, tabs and buttons stay in view while only the content scrolls
      • [Cloud sessions] Fixed the "read documentation" tool row in cloud sessions, which showed escaped JSON instead of a readable page
      • [Cloud sessions] Improved a cloud session's Changes pane, which now says when it lists only pushed commits or only Claude's edits
      • [Claude Tag] Fixed Claude in Slack posting a draft you approved for a channel into your DM by mistake; a post with no channel is now refused so it can go to the approved channel
      • [Claude Tag] Fixed Allow and Deny on Claude's approval cards in Slack doing nothing when the session had stopped; your answer now restarts the session
      • [Claude Tag] Fixed Claude ignoring untagged messages in a Slack channel after its workspace moved to a different Claude organization, including unshared channels on Enterprise Grid
      • [Claude Tag] Fixed Claude in a Slack channel posting a threaded reply before reading a newer message someone had just added to that thread
      • [Claude Tag] Fixed the Slack page in Claude Tag admin settings saying no workspaces were connected when the list failed to load; it now shows an error with a Retry button
      • [Code Review] Fixed a finished review showing no check on the pull request when earlier tries to create it failed; a final try now adds a completed check
      • [Code Review] Fixed a push queued behind a running review still starting a review after @claude review stop; its check now closes and says why
    3. 🔗 smol-machines/smolvm smolvm v1.31.3 release

      What's Changed

      • chore(nix): bump flake to 1.31.2 by @github-actions[bot] in #1937
      • Allow nested branches 256 generations deep instead of 32 by @BinSquare in #1938
      • Speed up first macOS pack imports with reusable storage seeds by @BinSquare in #1939
      • Fix Smolfile init steps running twice during cached machine run by @NickyHeC in #1945
      • Show init output when cached machine run fails by @NickyHeC in #1946
      • Let --allow-udp open chosen UDP destinations, also under an egress interceptor by @AlixANNERAUD in #1941
      • Bump smolvm to 1.31.3 by @BinSquare in #1947

      Full Changelog : v1.31.2...v1.31.3

    4. 🔗 @HexRaysSA@infosec.exchange Hex-Rays has completed its acquisition of HexAI. The HexAI team has joined mastodon

      Hex-Rays has completed its acquisition of HexAI. The HexAI team has joined Hex-Rays to bring IDA technology into its agentic platform for cybersecurity research.

      Read more: https://hex-rays.com/blog/hex-rays-completes-acquisition-of- hexai

    5. 🔗 exe.dev Give Your Agents Less Internet rss

      The old Yahoo 101 billboard, but modified. It says "exe.dev, A nice place
for your agents to stay off the Internet", with "on" crossed out and replaced
by "off". A marquee sign below it reads "egress your-vm
integrations".

      Without the Internet, agents are useless. With the Internet, they're dangerous.

      One approach is to allow Internet access, but through carefully controlled sippy straws. Let through only requests to destinations that you trust and deny all of the rest.

      exe now makes this easy.

      TL;DR: Run ssh exe.dev egress YOUR-VM integrations, or click the Network Access button on a VM's detail page. This will limit YOUR-VM's outbound internet access to any specific integrations you have attached to that VM.

      Exe integrations provide VMs access to other services, injecting credentials at the network edge so that secrets stay off the VM.

      Diagram: an exe VM's direct connections to a random website and to a trusted
service are both blocked. The VM reaches the trusted service only through an
exe integration. The Network access dialog for a VM, with two options: All destinations
(unrestricted internet access) and Integrations only (allow attached
integrations; block other outbound connections). Below them is the equivalent
command, egress exfoliate all.

      Controlled Ingress, Controlled Egress

      Exe manages both ingress and egress. Incoming connections are private by default; you choose who can access your VM.

      Outgoing connections are open by default, with integrations providing credentials for connected services. Now you can restrict outbound traffic to just those integrations, giving agents access to the services they need while blocking the rest of the internet.

      How It Works

      Egress filtering happens at a network packet level. Anything higher level than that is subject to an end run by agents: they have memorized DNS and they can find proxies to convert traffic from one shape to another. We run our own DNS servers to prevent DNS request smuggling. And when you switch egress to integrations-only, we disable server-side web tools on requests sent through our LLM gateway.

      People used to say things like "I'm sure it's not secure against a nation- state attacker." Frontier models are the new nation-states. But unlike nation- states, we can pen test ourselves using actual frontier models.

      The agents found a bunch of escapes, all through clever use of server-side tools from Anthropic and OpenAI. There were a surprising number of them. Models are clever and persistent. And—when multiple are running on a single VM concurrently—happy to claim credit for the discoveries of others. (Here’s to you, Grok.)

      As a result, we closed that entire pathway for requests using our LLM gateway. The rest of our system survived the trial by fire. We believe that we have closed all escape routes straightforwardly discoverable by current models. We will continue to probe in-house as new models are released and harden as needed.

      Threat Model

      Turning off general-purpose Internet access does make your VM more secure, but this is intended to protect against accidents, not an APT.

      Also, it remains incumbent on you to think carefully about what an agent could do via the integrations you have attached. Are they usable as proxies for other purposes? Every read request from your agent is a write to someone else’s logs; are those writes acceptable? Put another way, your trust envelope now includes those external services.

      The traditional startup advice is to offer painkillers, not vitamins. Consider this to be Xanax; running agents should not fill you with anxiety that one mistake on their part will have disastrous consequences.

      Advanced Mode

      Our integrations give you high level access controls: connect to this Postgres server, connect to GitHub, connect to this website. If you want more control, consider setting up a proxy VM for yourself. Then set up a peer integration that allows your controlled VM to talk to your proxy VM. The proxy VM can then run arbitrary software to inspect requests and filter, augment, or forward them.

      There are no problems that cannot be solved with another layer of indirection except needing an infinite number of layers of indirection.

      Sample Transcript

      Create a new VM:

      $ ssh exe.dev new --name=no-net
      Creating no-net using image boldsoftware/exeuntu...
      
      Coding agent
      https://no-net.shelley.exe.xyz
      
      App (HTTPS proxy → :8000)
      https://no-net.exe.xyz
      
      SSH
      ssh no-net.exe.xyz
      

      It has full internet access:

      $ ssh no-net.exe.xyz curl -fsS https://exe.dev
      Agent docs: https://exe.dev/llms.txt
      Human docs: https://exe.dev/docs
      

      Limit its internet access to integrations only:

      $ ssh exe.dev egress no-net integrations
      Set egress policy for "no-net" to integrations
      

      Now the same request is rejected:

      $ ssh no-net.exe.xyz curl -fsS https://exe.dev
      curl: (6) Could not resolve host: exe.dev
      

      Create an integration that provides access:

      $ ssh exe.dev integrations add http-proxy --name inception --target https://exe.dev --no-auth
      Added integration inception
      
      To use this integration, attach it to a VM first:
        integrations attach inception vm:<vm-name>
      
      Usage from a VM:
        curl https://inception.int.exe.xyz/
      

      Attach it to our VM:

      $ ssh exe.dev integrations attach inception vm:no-net
      Attached inception to vm:no-net
      

      Access works via the integration:

      $ ssh no-net.exe.xyz curl -fsS https://inception.int.exe.xyz/
      Agent docs: https://exe.dev/llms.txt
      Human docs: https://exe.dev/docs
      
    6. 🔗 Hex-Rays Blog Hex-Rays Completes Acquisition of HexAI to Expand Its Agentic Platform Offering for Cybersecurity Research rss

      Hex-Rays Completes Acquisition of HexAI to Expand Its Agentic Platform
Offering for Cybersecurity Research

      HexAI's team joins Hex-Rays, the company behind IDA Pro, to bring IDA technology into its agentic security research platform.

    7. 🔗 The Pragmatic Engineer The Pulse: Anthropic builds its own source control system rss

      Hi, this is Gergely with a bonus, free issue of the Pragmatic Engineer Newsletter. In every issue, I cover Big Tech and startups through the lens of senior engineers and engineering leaders. Today, we cover one out of four topics from last week 's issue of The Pulse . Full subscribers received the article below seven days ago. If you 've been forwarded this email, you can subscribe here .

      Interesting information from Anthropic about why the company moved off Git and built its own custom source control system. From their engineering blog (emphasis mine):

      "At Anthropic, coding is no longer the bottleneck to building systems or doing research. Claude is able to autonomously iterate on research loops, micro-optimize complex programs, and build new services from the ground up at a speed and scale we haven't seen before. The bottleneck, now, is all of the developer infrastructure built for human scale: source control, builds, and CI.

      In May 2026, Anthropic averaged around 2,500 code changes merged per day; as of September, we merged over 30,000 per day. We don't expect this rate of growth to slow down anytime soon; the latent demand for merging code is practically infinite, and every bottleneck we remove immediately leads to a further increase in the amount of code we produce."

      altAnthropic saw PRs merged per day snowball 10x in less than 4 months ' time. Source: Anthropic

      That's a 12x increase in PRs in a four-month period! Interestingly, just a year ago, I shared how I had gathered Google was preparing for a similar tenfold increase across its broader infrastructure. From the deepdive published in July 2025:

      "Google is preparing for 10x more code to be shipped. A former Google Site Reliability Engineer (SRE) told me: 'What I'm hearing from SRE friends is that they are preparing for 10x the lines of code making their way into production.'

      If any company has data on the likely impact of AI tools, it's Google. 10x as much code generated will likely also mean 10x more code reviews, deployments, feature flags and source control footprint."

      Back to Anthropic, a few things about the company are different from many other tech businesses:

      • Use of a monorepo. Like most large tech companies, Anthropic has a massive monorepo, where the working copy itself is 25GB in size.
      • 25 million git checkouts per day, just for CI! All ~3,000 staff extensively use parallel Claude agents - typically 10-15 per engineer - so a lot of pull requests are created; somewhere in the region of 30,000 per day. All these PRs trigger a massive number of checkouts, mostly from the CI system.
      • Nearly all clients are always online. Git was built on the assumption that clients go offline at various times, and that when they come back up, they need to catch up with branches and merge their changes into the repo. However, when clients are always connected to the corporate internet - like at Anthropic - this assumption no longer holds. Design decisions to accommodate offline clients mean inefficient checkouts and more data transferred than necessary.
      • Hard to horizontally scale git. Scaling git is done by running git mirrors: replicating git repositories across several mirror nodes. A primary git server accepts the writes, pushes out to all mirrors, and clients fetch from various mirrors. Anthropic ran hundreds of git mirrors, but found that once their repo outgrew the mirrors' disk capacity, they could no longer scale the repo.

      So, Anthropic created a new source control system, which is called**** 'Scion' internally. It's closed source, and Anthropic has shared the high- level design principles and data structures used, but no code details. The problem with having your own source control system (and moving off Git and GitHub) is that GitHub's code review system is lost! So, Anthropic also had to build a new code review and code management system, which they call 'Antique.'

      I reached out to the team building Scion and Antique to learn more about how Scion works. Here's what they told me:

      Technical details

      The design of Scion is pretty simple: stand up "server" nodes (that contain the whole repository), store changesets inside of Google Spanner (Google's distributed, highly available database) and blobs (large files) in the highly durable Google Cloud Storage:

      altScion's architecture, at a high level

      I asked Nick G - one of the authors of the original blog posts - about additional details and here's what he told me:

      • Rust : the language that Scion's server and client are written in.
      • Go + React: Antique, Anthropic's new code review and code management platform has its backend in Go and frontend written in React. It works nicely with Scion.
      • More resilient replication strategy : by default, Google Spanner offers multi-zone replication with three replicas. Anthropic has increased the number of replicas (they didn't tell me the exact number, but an educated guess could be five or more replicas), and switched to multi-region replication. All these changes make sense, given how critical code is and that it 's sensible to reduce the likelihood of losing any data - even at the cost of higher write latencies.
      • Backups : on top of replication, Anthropic keeps full backups of the database and soft deletes on the blob storage where file contents live. Spanner's point-in-time recovery also lets Anthropic restore from a bad write. Smart!

      Scaling is an interesting topic. I asked Nick if the system autoscales or scales manually. He told me:

      "Every component can autoscale, but so far it hasn't needed to, even as our merge volume grew more than 10x this year. The data is content-addressed and never changes once it's stored, so the caching tiers do most of the work."

      A team of seven engineers builds and maintains all of this :

      • Four worked on the core Scion server and client
      • Three were split between building code search, merge queues, etc.

      100% of Anthropic 's monorepo has moved off Git. This was no small feat to pull off! Nick gave me more details about the migration:

      "The migration was not simple, but Claude was instrumental in getting it done. It's also 'self-healing' in a way: if we get all the important use cases migrated and have something like 99% coverage, we can just force the cutover and Claude can help us fix anything that actually mattered.

      100% of our monorepo is off of git. A few smaller repos that were never in the monorepo are migrating now, and they're much simpler.

      All of our community resources continue to live on GitHub: skills, plugins, Claude Code's public repo, etc. And last week we launched OSS Scanner, which gives open-source projects free security audits using our strongest models (inspired by Google's OSS- Fuzz)."

      Big Tech moved off Git long ago

      My take is that Anthropic has "Big Tech problems" much earlier than most of Big Tech had to tackle them. Anthropic employs around 3,500 staff, but their coding output - thanks to each person using around 10 agents all the time - is closer to that of a tech company with 35,000-70,000 staff! That's a Meta or Google-sized company by the number of engineers.

      Google and Meta have long since moved off Git because it did not scale for them.

      Google built its own version control that took inspiration from Perforce. Git itself was created by Linus Torvalds in 2005, seven years after Google was founded. So git was not an option for Google to use in the early years: the company chose Perforce instead. It was around 2011-2012 that Google had ran into scaling issues with Perforce and built its own source control system called 'Piper.' It's also a centralized version control model and still works well enough for the search giant. It's no surprise to know that Piper was inspired by Perforce, and Google built Piper to be more performant for their use cases than Perforce was. We covered more on Google 's internal stack in the deepdive Inside Google 's Engineering Culture .

      Meta found that git and other systems could not scale as needed, and so built 'Sapling.' Meta initially moved over to Mercurial, and then custom- built and open sourced Sapling for itself. As the company shared at the time:

      "Sapling began 10 years ago [around 2012] as an effort to make Meta's monorepo scale in the face of ever-increasing engineering growth. Publicly available source control systems were not, and still are not, capable of handling repositories of this size. Instead of moving away from the monorepo and sacrificing engineering velocity, we decided to build the source control system we needed.

      Along the way we realized there were also large opportunities to increase developer velocity by improving the source control experience. By investing in new UX, we've made it possible for even new engineers to understand their repository and do things that were previously only possible for power users."

      Sapling itself is more of a client-server architecture. From the documentation:

      "Sapling started from Mercurial as a distributed source control system, it then transitioned to a client-server architecture to solve the challenges. The server can utilize distributed storage and pre-build various kinds of indexes to provide more efficient operations.

      While Sapling is less "distributed", we tried to make the difference transparent to the user. For example, our lazy commit graph implementation does not require extra commands to "deepen" the graph. The user sees the full history.

      That said, we do drop support of pulling from a lazy repo. Commit cloud covers these use-cases."

      Did Anthropic secretly rip off Sapling 's and Mononoke server

      I asked Anthropic why it doesn't open source Scion. Nick G's reply:

      "Mostly bandwidth! Even a no-support code drop takes a lot of work to do well. We have a small team building and running Scion. While the principles we used to build it are durable, the underlying code changes very frequently. For example, we're still removing git-compatibility layers we only needed for the migration. We'd rather put that time into sharing what we learned, and as the post says, into working with GitHub, GitLab and the OSS community on scaling git.

      To emphasize that point: most teams don't need to leave git! But we think there are things git could benefit from, mainly change sets, derived data, and the checkout protocol. Our goal was to inspire conversation and collaboration around those ideas."

      The explanation, on one end, makes sense. On the other, Meta themselves also emphasized how most teams don't need to leave git, and still open sourced Sapling for anyone to use, or take inspiration from.

      One key component of Sapling is Monoke: the also open source server meant to scale up accepting thousands of commits every hour, across millions of files, written in Rust.

      Could have Anthropic avoided open sourcing Scion, because it might have shown how much they copied from existing open source projects? The creator of Monoke wrote a post accusing of the Anthropic team of ripping off Monoke -- and the Bonsai data model -- writing:

      "This [Scion] was a ripoff. My post yesterday was trying to be as charitable as possible given what I knew, and in particular that the similarity to Mononoke was mostly unintentional and the lack of credit was the result of not doing due diligence. However, after publishing the post I privately received confirmation that Scion intentionally and blatantly ripped off Mononoke, and in particular that there was overlap in personnel. There is no chance that this was an unintentional homage. This is something I had a hunch about but was not comfortable saying yesterday, given what I knew back then.

      The resemblance is much deeper than just the notion of derived data. Some people pointed out that derived data is just an index, which is a well-known concept. I want to clarify that derived data was merely the most striking resemblance. It goes much deeper than that, and extends to the entire data model, as well as a number of the structures built around it."

      Anthropic did not give credit to Monoke in their original post, and only added a small attribution after the complaint.

      To be clear, the point of open source is that you can do what you want with the software without much limitations (save for what the license contains): but it's poor form that it took a public complaint for Anthropic to admit that the clever data structure they presented in their blog post heavily derived for an existing and open source data strucutre.

      Will central VCs stay a niche, or expland beyond Big Tech?

      Big Tech has preferred centralized version control systems (VCS), and I wonder how niche of a trend central VCSs will remain. As we've seen since well before AI, some of the largest tech companies dropped git because they did not like the performance degradation from offline support they no longer need.

      My question is that even with agents, how many companies will see git "break" similarly to how it has at Anthropic? When this happens, how many will find git's mirroring functionality inadequate for their own needs?

      There's a new batch of vendors positioning themselves as git-compatible version control solutions built for AI scale: Entire, founded by GitHub's last CEO, Thomas Dohmke (a current podcast season sponsor), Cursor Origin by SpaceX, and Code Storage by The Pierre Company. At the same time, GitHub itself seems to be investing a lot more in making its platform more reliable and scalable.

      My hunch is that very few companies will go through the trouble of building yet another source control system. In this way, Anthropic reminds me a bit of Google, which has been known to build custom internal systems which are not publicly available, to address the company's internal needs. This can be disorienting for Google engineers after they leave the company and find they've become out of touch with industry-standard tools.


      Read the full issue of The Pulse this is from, or check out this week 's The Pulse. This week's issue covers:

      1. Do we need to rethink software security because of AI? Half a dozen of high-profile security incidents and breaches on a single day: and many of them are connected to AI (or sped up because of it). Attackers are gaining unfair advantages with AI, and defenders will have to react.
      2. Is Anthropic 's new version control system "a rip off"? The creator of Mononoke (an open source, high throughput version control server) accused Anthropic for ripping off their design, and not giving credit, presenting their work like it was novel. Not a good look on the AI lab.
      3. Industry Pulse. Saudi Arabia made a "problematic" offer to pay alleged OpenAI spy's bail, Shopify builds tooling for self-healing software, Foursquare's sale disappoints, Claude Code gets a major speed boost with gzip, and more.
      4. Predictions on the future of software development. Some bold predictions from software engineer and Amp cofounder Thorsten Ball, like how open source doesn't make sense in its current form anymore.
    8. 🔗 r/LocalLLaMA Qwen4 and Kimi3.1 on Arena apperantly rss

      Im so hyped for qwen4 flash

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

    9. 🔗 Console.dev newsletter Sponsor: Falconer rss

      Monitor your docs like your code. Falconer finds and fixes doc issues before they mislead agents.

      Visit Falconer

    10. 🔗 Console.dev newsletter Pele rss

      Mermaid diagram render.

      What we like: Renders Mermaid syntax to SVG. Colors and fonts are customizable through CSS. Zero dependencies. Responsive layouts and very fast render times (under 1ms).

      What we dislike: Doesn’t support all diagram types or Mermaid plugins.

    11. 🔗 Console.dev newsletter KiviDB rss

      Redis/Valkey alternative.

      What we like: Redis-compatible protocol, including search, vectors, and Lua scripting. Commands run on every core rather than one thread. Claims faster performance than Redis, including better p99 latency. Runs on a different port by default. Written in Rust.

      What we dislike: Licensed under AGPL.

    12. 🔗 Console.dev newsletter Sponsor: BuildKite rss

      Better CI

      Visit BuildKite

    13. 🔗 backnotprop/plannotator v0.28.26 release

      Follow @plannotator on X for updates

      Missed recent releases? Release | Highlights
      ---|---
      v0.28.25 | Re-ask open questions, delivery ticks on the list, a count of new messages on the tab, right-click a thread, click Inbox to refresh
      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

      What's New in v0.28.26

      Action items and reply drafts in the Inbox, one decision button for plan review, Enter to save a comment, a custom code font, and many fixes. 35 PRs, 9 of them from 8 outside contributors, 5 of whom are first-timers.

      Plannotator Inbox

      Action items

      An agent can ask you to go do something: run a command, sign in somewhere, check a page. It shows as a card in the thread with Done , Can't do it and Add note , and your answer goes back to the agent.

      Reply drafts

      What you type in a reply box is kept per thread. It comes back when you reopen the thread, after a reload, and after a restart. A thread with an unsent draft is marked Draft in the list.

      Replies to a busy agent go in on their own

      If the agent is in a long turn, the line under your reply shows how long it has waited, and after 5 minutes the reply goes into the running turn by itself, as if you'd pressed Send now.

      Smaller changes

      • A Send skips a question only when you press Skip. Questions you leave alone stay open. #2058
      • Answers you pick while writing a reply show in the reply box right away. #2051
      • A skipped question keeps its note in the reply. #2034
      • Several Inbox tabs share one connection to the Inbox. #2057
      • Subjects stay on one line , and stray tool-call text never becomes a title. #2053
      • A thread that fails to load tries again and says so. #2054
      • Faster over your tailnet : the window is sent compressed. #2042
      • Long issue numbers link as issues , not colour swatches. #2040
      • Restart help leads with/reload-plugins. #2035
      • Works behind a local reverse proxy (nginx, Caddy). #2060

      Plannotator

      One decision button for plan review

      Plan review's header now works like annotate and code review. With nothing to send it shows Approve. Once you add comments it becomes Send Feedback. Other choices, such as Request changes or Approve with notes, are under the arrow.

      Enter to save a comment

      Turn on Settings → General → Enter saves a comment , and Enter saves while Shift+Enter adds a new line. It's off by default.

      Your own code font

      Settings → Display → Code Font → Custom… takes the name of any font on your machine for code review.

      Start a new Ask AI chat

      A New chat button clears the Ask AI panel and starts fresh, in plan review, annotate and code review.

      Jump between changes in code review

      N and P jump to the next and previous change. Commenting from the gutter now covers every line you selected, not just the one you clicked.

      Smaller changes

      • A code review an agent waits on hears your Approve (Claude Code). #2047
      • Annotate picks up a file changed on disk in its version diff. #2049
      • A plan reviewed across midnight keeps its versions. #1681 by @aomalov
      • Images in a folder session load from the open document's folder. #2033 by @xiaofeilovecoding
      • Sidebar shortcuts stay visible next to the Agent TUI. #1019 by @leoreisdias
      • Afile.ts:42 link opens at line 42. #1909 by @Totopo27
      • Triple-click no longer highlights into the next line. #1408 by @dca123
      • Ticking a Guided Review section marks its files viewed. #2044
      • Very large diffs from git textconv are never drawn. #2041
      • Pi: review opened and closed events, and long checklists keep the next item in view. #2050
      • OpenCode: the agent-switch choice is saved, and Ask AI no longer hangs. #2045, #1413 by @danowicz
      • Claude Code Team/Enterprise: a plan is approved once, not twice. #2043
      • The install script works on machines withoutgh. #1995 by @viniciusestevam

      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

      New Contributors

      Contributors

      • @FNDEVVE: full-range gutter comments and hunk jumps in code review.
      • @leoreisdias: sidebar shortcuts beside the Agent TUI.
      • @dca123: the triple-click highlight fix.
      • @Totopo27: line-accurate code links, and the Inbox behind a local reverse proxy.
      • @aomalov: reported and fixed plans that lost their versions at midnight.
      • @danowicz: the OpenCode Ask AI hang.
      • @xiaofeilovecoding: folder images from the open document.
      • @viniciusestevam: reported and fixed the installer without gh.

      Thanks to everyone who reported issues or asked for features in this release:

      Full Changelog : v0.28.25...v0.28.26

    14. 🔗 pydantic/monty v1.3.0 - 2026-10-21 release

      What's Changed

      New Contributors

      Full Changelog : v1.2.0...v1.3.0

    15. 🔗 smol-machines/smolvm smolvm v1.31.2 release

      What's Changed

      • chore(nix): bump flake to 1.31.0 by @github-actions[bot] in #1917
      • Never lower a branch source's memory ceiling below what its cgroup still holds by @BinSquare in #1921
      • chore(nix): bump flake to 1.31.1 by @github-actions[bot] in #1923
      • Fix flaky branchpoint lease test by @BinSquare in #1918
      • Let machine monitor flags override the Smolfile health settings by @RaphaelFakhri in #1920
      • Give a new disk volume the image's ownership and bind nested volumes after their parents by @BinSquare in #1870
      • ci: run every Linux job on smol machines by @BinSquare in #1916
      • Change ports live on machines without virtio-net through a vsock port forwarder by @BinSquare in #1875
      • Add Chinese, Japanese and Korean READMEs by @BinSquare in #1871
      • Pass the guest path to ns-file and stage on scratch for streamed container uploads by @Vishv07 in #1925
      • Isolate filesystem unit tests from the CI runner overlay by @BinSquare in #1927
      • agent: unit tests never resolve paths through the machine they run on by @BinSquare in #1926
      • Checkpoint a source frozen as a branch base without resuming it, so its branches can move to another node by @BinSquare in #1928
      • Keep cache disk bases within a byte budget, evicting the least recently used by @BinSquare in #1930
      • Bump smolvm to 1.31.2 by @BinSquare in #1929
      • Put /tmp on disk, regrow /dev/shm after a RAM grow, match GitHub runner limits and LANG by @BinSquare in #1931
      • Record why a machine's VMM ended, OOM kill and seccomp included by @BinSquare in #1884
      • Fix inherited disk-chain compaction by @BinSquare in #1933
      • Move a live-published host port to another guest port without rebinding it, and close removed ports before the change returns by @BinSquare in #1935
      • Unpack a .smolmachine once per pack on macOS and clone it for each machine, and let no create leave its data behind when it fails or its client disconnects by @BinSquare in #1934
      • Keep a machine's disk durability across checkpoint restore and let machine update change it by @BinSquare in #1932
      • Answer a branch at the disk chain limit with 409 instead of 500 by @BinSquare in #1936

      New Contributors

      Full Changelog : v1.31.0...v1.31.2

    16. 🔗 OmniNull/OmniWM Canary 20261022-0439 (8ecdfbff) release

      Automated canary build of main. It is signed and notarized like a release but skips the owner review, so treat it as unstable.

      See the canary guide to install, update, or return to stable. For everyday use, download the latest stable release.

      • Commit: 8ecdfbff1327
      • Base tag: canary-20261020-1054-39408104600-1

      Changes since canary-20261020-1054-39408104600-1

      • 8ecdfbf Merge pull request #938 from dappermint/fix/command-palette-shortcuts
      • 20204d2 Merge pull request #937 from dappermint/fix/live-wallpaper-capture
      • 6f734a5 Merge pull request #936 from dappermint/perf/idle-1019
      • ae50dec Merge branch 'main' into perf/idle-1019
      • 223c61e Merge pull request #935 from dappermint/perf/input-1019
      • f1adb34 fix(palette): match shortcuts by key position on non-qwerty layouts
      • ca21cc4 fix(wallpaper): keep live wallpaper captures already clipped to the display
      • 480451b test(input): check captured drags still reach main, keep the forward private
      • 91a3049 fix(wallpaper): keep the crop at the display size for fractional window origins
      • 0e9b55d test(shell): assert both backdrop filters survive a fill only repaint
      • 49a3955 fix(wallpaper): capture live wallpapers drawn above the desktop level
      • c20322e Merge upstream/main into perf/idle-1019
      • 76364c3 Merge upstream/main into perf/input-1019
      • d2a6d2f Merge pull request #934 from OmniNull/dependabot/npm_and_yarn/website/npm_and_yarn-63f9813d79
      • e81e6f1 build(deps): bump vite
      • 707d37d Keep settled tab rail moves on SkyLight after animation moves
      • 0b5fa2b Skip tab rail relayout when its size is unchanged
      • 2b75644 Check screenshot selection once per pointer-validated focus handoff
      • 19980a7 Merge pull request #931 from dappermint/test/stabilise-shell-ui-tests
      • 6af545c test(shell): wait for the drawer package before toggling its popout
      • faa6219 fix(surface): ignore registrations whose window was deallocated
      • 39bcaaa Pass query options instead of a window count to SkyLight queries
      • 7de1437 Render launcher icons in the system icon style
      • bdeeddb Skip clipboard items that macOS excludes from history
      • 5b1beb0 Read window fullscreen state in the admission attribute batch
      • 1059fa2 Query a dragged window's identity off the main connection
      • 2736ce5 Merge pull request #927 from CallMeLaNN/fix-zsh-completion
      • 55a2737 docs: initialize compinit before evaluating zsh completions
      • 023b7b3 test: cover zsh completion eval registration and autoload paths
      • 4b0d1f4 test: wrap long completion harness lines
      • d1f28f2 test: call zsh completer explicitly in completion harnesses
      • 2aeb8d9 Merge pull request #914 from hezhizhen/codex/dwindle-native-live-resize
      • 8b1b400 fix: use AX fallback for final native resize frames
      • bf662ab perf: avoid duplicate native resize renders on release
      • 7f33a6c fix: avoid world commits for rejected native resizes
      • 416f198 feat: resize Dwindle neighbours during native edge drags
      • eaf668c fix: zsh completions for eval based on official doc
      • 9481efe test(shell): cover fill-only repaint keeping backdrop filters
      • 4c18d61 perf(input): stop captured drags from blocking on the main thread
      • a792655 perf(idle): cut idle wakeups and redundant layer work
    17. 🔗 anthropics/claude-code v2.1.308 release

      What's changed

      • Bug fixes and reliability improvements
    18. 🔗 r/LocalLLaMA Kitten-TTS 2: New Open-source SOTA 1.58 bit TTS (CPU-only with voice cloning, multilingual, emotion control) rss

      Kitten-TTS 2: New Open-source SOTA 1.58 bit TTS (CPU-only with voice cloning, multilingual, emotion control) | KittenML has just released code and weights of Kitten-TTS 2, which is a super-efficient frontier TTS model, and the world's first 1.58-bit TTS model. It runs in real time on just a CPU, with zero-shot voice cloning, multilingual support, and expressive / emphasis control. Code and weights are open-source. Ternary(1.58-bit) Weights means it can run locally or be self-hosted for super-cheap. Github: https://github.com/KittenML/KittenTTS
      Hugging Face: https://huggingface.co/KittenML/kitten-tts-2
      KittenML's Discord: https://discord.com/invite/VJ86W4SURW Key features and Advantages

      1. Ternary TTS: Every linear weight in the body is one of three values (-1, 0, +1) with group size of 128 for scales. Tiny footprint and fast CPU inference. The model has 1.7B parameters.
      2. Real-time on CPU and consumer GPU's too : No GPU needed for real-time generation. Optimized ternary kernels for CPU inference provided.
      3. Expressive voice cloning : zero-shot cloning from less than 5 seconds of reference audio, and it keeps the expressivity, accent information etc. No fine-tuning needed.
      4. Multilingual TTS: Model supports voice cloning in 20+ languages. Cross-language voice cloning can be used to create accented speech too.
      5. Expressive / emphasis control: you can steer the delivery and stress specific words, not just pick a voice. Details in the Readme.
      6. Open source (hell yeah!) : code and weights are open-source and free to use. It's an oss alternative to elevenlabs for gpu-poor folks. easy to self-deploy or run locally.

      7. What changed from V0.8 to 2: higher quality. Completely new architecture, natural sounding speech, ternary weights, zero-shot voice cloning, multilingual, and emphasis/emotion control. submitted by /u/ElectricalBar7464
      [link] [comments]
      ---|---

    19. 🔗 Ampcode News Self-Hosted Orbs rss

      You can now self-host orbs. You provide the compute and Amp turns it into orbs.

      If you have compute that can

      • quickly start new machines
      • put them to sleep and resume them equally fast
      • keep them around for a long time
      • scale them to zero, so no one has to worry about having a lot of them sleeping

      then you are now able to replicate the orb experience within your own infrastructure.

      How It Works

      You run amp orb provider inside your infrastructure. The orb provider then reaches out to Amp and waits for requests to spawn, pause, or delete orbs. Like this:

      1. amp orb provider opens a connection to ampcode.com. 2. Amp sends events to the provider. 3. The provider spawns an orb per thread. 4. Each orb runs in your infrastructure and connects back to its thread on ampcode.com. No inbound ports are needed.

      How you satisfy those requests is up to you, because amp orb provider will dispatch the requests for orb operations (spawn to create or resume orbs, pause, and delete) to a program that you provide, like so:

      $ amp orb provider ./dispatch.sh
      

      In that program, you can do whatever works best for your infrastructure. Here are some illustrative examples:

      #!/usr/bin/env bash
      # dispatch.sh
      set -euo pipefail
      
      case "$ORB_OPERATION" in
          spawn)
              docker start "$ORB_ID" 2>/dev/null ||
                  docker run --platform linux/amd64 -d --name "$ORB_ID" \
                      "$ORB_IMAGE" sleep infinity
              docker exec -d --env ORB_TOKEN "$ORB_ID" amp orb bootstrap
              ;;
          pause)
              docker stop "$ORB_ID"
              ;;
          delete)
              docker rm -f "$ORB_ID"
              ;;
      esac
      

      Install the E2B CLI and the e2b package, set E2B_API_KEY, and build a template:

      echo 'FROM us-central1-docker.pkg.dev/amp-prod-0/amp-orb/amp-orb:latest' \
          > e2b.Dockerfile
      e2b template create amp-orbs --dockerfile e2b.Dockerfile \
          --cpu-count 4 --memory-mb 8192 --ready-cmd true
      export E2B_TEMPLATE=amp-orbs
      
      #!/usr/bin/env node
      // dispatch.mjs
      import { Sandbox } from 'e2b'
      
      const {
          ORB_OPERATION, ORB_ID, ORB_TOKEN, AMP_URL, E2B_TEMPLATE,
      } = process.env
      const metadata = { orbId: ORB_ID }
      const [existing] = await Sandbox.list({
          query: { metadata, state: ['running', 'paused'] },
      }).nextItems()
      
      if (ORB_OPERATION === 'spawn') {
          const timeoutMs = 60 * 60 * 1000
          const sandbox = existing
              ? await Sandbox.connect(existing.sandboxId, { timeoutMs })
              : await Sandbox.create(E2B_TEMPLATE, {
                  metadata, timeoutMs, lifecycle: { onTimeout: 'pause' },
              })
          const envs = { ORB_TOKEN }
          if (AMP_URL) envs.AMP_URL = AMP_URL
          const bootstrap = await sandbox.commands.run('amp orb bootstrap', {
              user: 'user', envs, background: true, timeoutMs: 0,
          })
          await bootstrap.disconnect()
      } else if (ORB_OPERATION === 'pause' && existing) {
          await Sandbox.pause(existing.sandboxId)
      } else if (ORB_OPERATION === 'delete' && existing) {
          await Sandbox.kill(existing.sandboxId)
      }
      
      #!/usr/bin/env bash
      # dispatch.sh
      set -euo pipefail
      export PATH="/usr/local/bin:/opt/homebrew/bin:$PATH"
      
      # "$ORB_IMAGE" is the Amp orb image.
      
      ids=$(container list --all --quiet)
      exists() { grep -Fxq "$ORB_ID" <<<"$ids"; }
      
      case "$ORB_OPERATION" in
          spawn)
              if exists; then
                  container start "$ORB_ID"
              else
                  container run --detach --init --rosetta \
                      --platform linux/amd64 --cpus 4 --memory 8G \
                      --name "$ORB_ID" "$ORB_IMAGE" sleep infinity
              fi
              # A bare --env NAME copies the value from the host.
              container exec --detach --env ORB_TOKEN --env AMP_URL \
                  "$ORB_ID" amp orb bootstrap
              ;;
          pause)
              if exists; then
                  container stop "$ORB_ID"
              fi
              ;;
          delete)
              if exists; then
                  container delete --force "$ORB_ID"
              fi
              ;;
          *)
              exit 1
              ;;
      esac
      
      #!/usr/bin/env python3
      # dispatch.py
      import os
      
      import modal
      
      # Needs `pip install modal` plus MODAL_TOKEN_ID and MODAL_TOKEN_SECRET.
      APP = "amp-orbs"
      app = modal.App.lookup(APP, create_if_missing=True)
      snapshots = modal.Dict.from_name("amp-orb-snapshots", create_if_missing=True)
      orb_id = os.environ["ORB_ID"]
      
      try:
          sandbox = modal.Sandbox.from_name(APP, orb_id)
      except modal.exception.NotFoundError:
          sandbox = None
      
      match os.environ["ORB_OPERATION"]:
          case "spawn":
              if sandbox is None:
                  # Modal has no pause, so resume from the last snapshot.
                  snapshot = snapshots.get(orb_id)
                  if snapshot:
                      image = modal.Image.from_id(snapshot)
                  else:
                      image = modal.Image.from_registry(os.environ["ORB_IMAGE"])
                  sandbox = modal.Sandbox.create(
                      "sleep", "infinity", app=app, name=orb_id, image=image,
                      cpu=4, memory=(16384, 16384), timeout=24 * 60 * 60,
                  )
              # Modal execs run as root; point bootstrap at the image user's home.
              bootstrap = "setsid amp orb bootstrap </dev/null >/dev/null 2>&1 &"
              sandbox.exec(
                  "bash", "-c", bootstrap,
                  env={
                      "ORB_TOKEN": os.environ["ORB_TOKEN"],
                      "AMP_URL": os.environ.get("AMP_URL"),
                      "HOME": "/home/user", "USER": "user",
                  },
              ).wait()
          case "pause":
              if sandbox:
                  image_id = sandbox.snapshot_filesystem(timeout=120).object_id
                  snapshots[orb_id] = image_id
                  sandbox.terminate()
          case "delete":
              if sandbox:
                  sandbox.terminate()
              snapshots.pop(orb_id, None)
      
      #!/usr/bin/env node
      // dispatch.mjs
      import { APIError, Sandbox, Snapshot } from '@vercel/sandbox'
      
      const { ORB_OPERATION, ORB_ID, ORB_IMAGE, ORB_TOKEN, AMP_URL } = process.env
      const credentials = {
          token: process.env.VERCEL_TOKEN,
          teamId: process.env.VERCEL_TEAM_ID,
          projectId: process.env.VERCEL_PROJECT_ID,
      }
      
      if (ORB_OPERATION === 'spawn') {
          const sandbox = await Sandbox.getOrCreate({
              ...credentials,
              name: ORB_ID,
              // Copy Amp's image to VCR, then set ORB_IMAGE to its VCR URL.
              image: ORB_IMAGE,
              resources: { vcpus: 4 },
              timeout: 60 * 60 * 1000,
              persistent: true,
              snapshotExpiration: 0,
              keepLastSnapshots: { count: 1, expiration: 0, deleteEvicted: true },
          })
          const setup = await sandbox.runCommand({
              cmd: '/bin/bash',
              args: ['-c', 'hostname localhost && mkdir -p /vercel/sandbox'],
              sudo: true,
          })
          if (setup.exitCode !== 0) throw new Error(await setup.stderr())
          await sandbox.runCommand({
              cmd: '/usr/bin/setpriv',
              args: [
                  '--reuid=user', '--regid=user', '--init-groups', '--',
                  '/usr/bin/env', `ORB_TOKEN=${ORB_TOKEN}`,
                  ...(AMP_URL ? [`AMP_URL=${AMP_URL}`] : []),
                  'HOME=/home/user', 'USER=user', '/bin/bash', '-lc',
                  'exec amp orb bootstrap',
              ],
              sudo: true,
              detached: true,
          })
      } else if (ORB_OPERATION === 'pause' || ORB_OPERATION === 'delete') {
          try {
              const sandbox = await Sandbox.get({
                  ...credentials, name: ORB_ID, resume: false,
              })
              if (ORB_OPERATION === 'delete') {
                  if (sandbox.status === 'running') await sandbox.stop()
                  for await (const saved of await sandbox.listSnapshots()) {
                      if (saved.status !== 'created') continue
                      const snapshot = await Snapshot.get({
                          ...credentials, snapshotId: saved.id,
                      })
                      await snapshot.delete()
                  }
                  await sandbox.delete()
              } else if (sandbox.status === 'running') await sandbox.stop()
          } catch (error) {
              if (!(error instanceof APIError && error.response.status === 404)) {
                  throw error
              }
          }
      }
      
      #!/usr/bin/env python3
      # dispatch.py
      import os
      from uuid import uuid4
      from daytona import (
          Daytona, DaytonaNotFoundError, CreateSandboxFromImageParams,
          Resources, SessionExecuteRequest, SandboxState,
      )
      
      daytona = Daytona()
      operation = os.environ['ORB_OPERATION']
      try:
          sandbox = daytona.get(os.environ['ORB_ID'])
      except DaytonaNotFoundError:
          sandbox = None
      
      if operation == 'spawn':
          if sandbox is None:
              sandbox = daytona.create(CreateSandboxFromImageParams(
                  name=os.environ['ORB_ID'], image=os.environ['ORB_IMAGE'],
                  os_user='user', resources=Resources(cpu=4, memory=8, disk=10),
                  auto_stop_interval=0, auto_delete_interval=-1,
              ), timeout=240)
          elif sandbox.state != SandboxState.STARTED:
              sandbox.start()
          env = {key: os.environ[key] for key in ('ORB_TOKEN', 'AMP_URL')
                 if key in os.environ}
          sandbox.update_env(env, unset=['AMP_URL'])
          session = str(uuid4())
          sandbox.process.create_session(session)
          sandbox.process.execute_session_command(session, SessionExecuteRequest(
              command="bash -lc 'exec amp orb bootstrap'", run_async=True,
          ))
      elif operation == 'pause' and sandbox:
          if sandbox.state == SandboxState.STARTED:
              sandbox.stop()
      elif operation == 'delete' and sandbox:
          sandbox.delete()
      
      #!/usr/bin/env bash
      # dispatch.sh
      set -euo pipefail
      
      # Pause/resume currently requires access enabled by exe.dev support.
      status=$(ssh exe.dev ls "$ORB_ID" --json |
          jq -r --arg id "$ORB_ID" '.vms[] | select(.vm_name == $id) | .status')
      
      case "$ORB_OPERATION" in
          spawn)
              if [[ -z "$status" ]]; then
                  ssh exe.dev new --name="$ORB_ID" --image="$ORB_IMAGE" \
                      --cpu=2 --memory=8G --no-email
              elif [[ "$status" == paused ]]; then
                  ssh exe.dev resume "$ORB_ID"
              fi
              {
                  printf 'export ORB_TOKEN=%q\n' "$ORB_TOKEN"
                  if [[ -n "${AMP_URL:-}" ]]; then
                      printf 'export AMP_URL=%q\n' "$AMP_URL"
                  fi
                  cat <<'BOOTSTRAP'
      sudo -u user --preserve-env=ORB_TOKEN,AMP_URL bash -lc \
          'cd "$HOME"; nohup amp orb bootstrap </dev/null >.amp-bootstrap.log 2>&1 &'
      BOOTSTRAP
              } | ssh "$ORB_ID.exe.xyz" bash -s
              ;;
          pause)
              if [[ "$status" == running ]]; then
                  ssh exe.dev pause "$ORB_ID"
              fi
              ;;
          delete)
              if [[ -n "$status" ]]; then
                  ssh exe.dev rm "$ORB_ID"
              fi
              ;;
      esac
      

      Use Amp's Helm chart to run orbs on GKE, EKS, or AKS. Under the hood, it runs amp orb provider with a supplied dispatch program that handles spawning, pausing, and deleting orbs. You don't need to write a dispatch script yourself.

      1. Create a custom orb provider in your Amp workspace and copy its token.
      2. Prepare a dedicated cluster with worker nodes and snapshot storage. Paused orbs are saved to storage and can resume on another worker node.
      3. Download the Kubernetes setup files. The ZIP includes gke.md, eks.md, and aks.md with the setup and Helm commands for each cloud, plus Terraform examples. Use the instructions for your cloud to install the chart and test your first orb.

      These examples use Amp's pre-built ORB_IMAGE, which includes the Amp CLI and other dependencies. You can use a different Linux image as long as you can start amp orb bootstrap in it (and it has the dependencies for other features). That process connects the orb to Amp so Amp can set up the environment and run the agent's tools.

      Once you have your dispatch program, go to your workspace settings (individuals can create a workspace for free), add a Custom Orb Provider, copy the token, and run amp orb provider:

      $ chmod +x dispatch.sh
      $ export AMP_ORB_PROVIDER_TOKEN="<copied-token>"
      $ amp orb provider ./dispatch.sh
      

      Once that runs, open ampcode.com or the Amp macOS or iOS applications and create a new thread. Expand Orb and choose your provider under Self-Hosted.

      The full new thread composer with the executor picker open and our-k8s-orbs highlighted and selected under Self-Hosted The full new thread composer with the executor picker open and our-k8s-orbs highlighted and selected under Self-Hosted

      And then submit your prompt. Amp will send a request to your provider to spawn an orb, clone your repository, run your setup files, and start the agent.

      And thus begins, as they say, orbin' time. Self-hosted.

      You Probably Shouldn't Self-Host Orbs

      All that said: you probably shouldn't self-host orbs.

      We built self-hosted orbs for enterprises that can't use the orbs we host, because regulations might restrict where their code runs, because they need access to internal networks, or because they need custom hardware attached.

      If you're on an Enterprise plan, let us know and we'll help you set it up.

      That's why the interface is so open: we want to support all the infrastructure our enterprise customers might have, as long as it meets the qualitative requirements above (fast-to-start, resumable machines that scale to zero, etc.). But that also means we only support our end of the contract, not every possible piece of infrastructure you can plug in.

      Pricing

      Self-hosted orbs are free for individuals and teams. Enterprises will be charged standard orb pricing starting October 29. Until then, self-hosted orbs are free for every workspace.

      Getting Started

      For more information on self-hosted orbs and how to run self-hosted orbs on Kubernetes, see the documentation.