🏡


  1. August 09, 2026
    1. đź”— Anton Zhiyanov Relying on Go rss

      Everyone is creating a new programming language these days, often one that's "like Go but with more features" or "like Rust but simpler".

      Solod, a systems language for C and Go developers, might look like one of those languages, but it takes a different approach.

      Go's tooling Solod is not "Go-like" in the usual sense, nor is it an attempt to "fix Go's mistakes". At the language level, Solod is literally a subset of Go. Solod reuses much of Go's existing tooling, including syntax highlighting, LSP, linters, and the package management system. Take this quick-start guide, for example: Quick start Install the So command line tool: go install solod.dev/cmd/so@latest Create a new Go project and add the Solod dependency to use the So standard library: go mod init example go get solod.dev@latest Write regular Go code, but use Solod packages instead of the standard Go packages: package main import "solod.dev/so/math" func main() { ans := math.Sqrt(1764) println("Hello, world! The answer is", int(ans)) } Run without saving the binary: so run . That's it! There's nothing new here. It's mostly standard Go workflow, except for so run, which is a Go program that mimics go run. Go's standard library Solod also reuses a lot of Go's standard library code and tests. Some of it is taken verbatim from Go's source code, like these two string functions: // CutPrefix returns s without the provided leading prefix string // and reports whether it found the prefix. func CutPrefix(s, prefix string) (string, bool) { if !HasPrefix(s, prefix) { return s, false } return s[len(prefix):], true } // HasPrefix reports whether the string s begins with prefix. func HasPrefix(s, prefix string) bool { return len(s) >= len(prefix) && s[:len(prefix)] == prefix } Of course, Solod retains the Go authors' copyright. Some code requires changes to support the manual memory management with explicit allocators used by Solod: // Go version. func Clone(s string) string { if len(s) == 0 { return "" } b := make([]byte, len(s)) copy(b, s) return unsafe.String(&b[0], len(b)) } // Solod version. func Clone(a mem.Allocator, s string) string { if len(s) == 0 { return "" } b := mem.AllocSlice, len(s)) copy(b, s) return string(b) } You can probably see the resemblance. A grain of salt

      Go tools don't know that Solod is a subset of the full Go language, so they won't flag features Solod doesn't support, like function literals or iterators. These diagnostics come from the custom so tooling:

      package main
      
      func main() {
          f := func(n int) {
              println(n)
          }
          f(42)
      }
      
      
      
      main.go:4:7: function literals are not supported
          f := func(n int) {
               ^here
      

      Also, although a substantial part of Go's standard library is ported verbatim or with minimal changes from the original source, that doesn't mean the code is automatically correct. Solod still needs its own tests, including ones that run under sanitizers and static analyzers.

      It's all C in the end

      All Solod code is translated to regular C11 and then compiled with GCC or Clang. Solod therefore relies on C tooling and decades of optimization work just as much as on Go's.

      Solod code:

      package main
      
      import "solod.dev/so/math"
      
      func main() {
          // What might it be?
          ans := math.Sqrt(1764)
          println("Hello, world! The answer is", int(ans))
      }
      

      Translated C code:

      // -- main.h --
      #pragma once
      #include "so/builtin/builtin.h"
      #include "so/math/math.h"
      
      // -- main.c --
      #include "main.h"
      
      int main(void) {
          // What might it be?
          double ans = math_Sqrt(1764.0);
          so_println("%s %" PRIdINT, "Hello, world! The answer is", (so_int)(ans));
          return 0;
      }
      

      The C version is noisier, of course, especially for more complex programs than this one. But it remains readable.

      And since there's no runtime, interoperability between Solod and C costs nothing.

      Final thoughts

      A new language doesn't necessarily need a new ecosystem.

      Solod relies heavily on Go, and I see that as a strength, not a weakness. Reusing Go's proven tools and standard library makes Solod more reliable and easier to work with.

      If you're interested, take a look at Solod's readme — it has everything you need to get started. Or try it online without installing anything.

    2. đź”— WerWolv/ImHex Nightly Builds release

      Nightly

      8000d01 Changelog

      • fix: Return menu icons on macOS 27
      • fix: macOS titlebar backdrop when using ImGui menubar
      • fix: Title bar back drop on macOS not rendering anymore
      • impr: Properly extend title bar back drop down sidebar
      • feat: Add tooltip with font path to custom font dropdown entry
      • fix: Missing padding on text editor tooltip windows
      • build: Rename file to match naming convention
      • feat: Allow all colors to be picked as accent colors
      • patterns: Update pattern language
      • git: time MacPorts action execution
      • build: Make AppImage actually properly portable
      • fix: Properly forward dirty state from view provider to underlying one
      • fix: Home/End/PageUp/PageDown with non-zero base address
      • fix: Editing hex cells with non-zero base address filling cell with wrong byte value
      • fix: Recent files menu only appearing when hex editor is selected
      • fix: Settings shortcut not working when in text field
      • fix: Formatting
      • build: Fix wrong default for ARCHITECTURE_FILE_NAME
      • build: Fix AppImage update information substitution
      • patterns: Update pattern language
      • git: Update CI actions
      • patterns: Update pattern language
      • patterns: Update pattern language
      • fix: Remove launch popup that store was updated
      • fix: Revert setting separator size smaller than 1
      • fix: Unload plugins after all cleanup happened
      • fix: Task completion popup appearing for background tasks
  2. August 08, 2026
    1. đź”— IDA Plugin Updates IDA Plugin Updates on 2026-08-08 rss

      IDA Plugin Updates on 2026-08-08

      Activity:

      • augur
        • ee0048c4: Merge pull request #4 from 0xdea/dependabot/github_actions/actions-de…
      • haruspex
        • db0563c7: Merge pull request #7 from 0xdea/dependabot/github_actions/actions-de…
    2. đź”— Register Spill Joy & Curiosity #94 rss

      What a lovely week it's been! Nearly the whole Amp team met up in Munich. We all stayed in the same hotel and in the mornings floated down to a big meeting room in which we then hacked, asked each other questions that are so easy to ask in person, actually used a whiteboard, talked about the future of software, shared anecdotes about agents, and just generally enjoyed each other's company. The evenings we then spent nearly exclusively in beer gardens, which were, I'd say, a perfect showcase of Munich in summer.

      In between all of this, we recorded a lot of videos, and as part of that I spent roughly eight hours on the rooftop of the hotel, interviewing my colleagues, asking them how their workflow had changed in the last four weeks.

      The big non-surprise: orbs changed everyone's workflow; no one cares about the local dev environment anymore. We all had to wipe our laptops three weeks ago, and at least five people told me that they had forgotten to port their dotfiles over, simply because they only work in orbs now.

      The actual big surprise that I guess shouldn't be a surprise: everyone, without exception, was so eloquent, so thoughtful, so nuanced, and so full of curiosity when talking about agents and how we work at Amp. "Wait, you're surprised that your colleagues are smart?" Nah, man, I'm saying that they exceeded all expectations! Show me another size-twenty team in which everyone you ask does a great job in front of a camera while being asked how their workflow has changed in the last three weeks and how their own expertise is now reflected in these things we call orbs.

      Good stuff.

      • I wrote about the biggest puzzle I have to solve right now: What I Want to Tell You About Orbs. Someone called it a "a strangely beautifully written ad" and wondered: "maybe i should get orbing." I honestly take it as a compliment.

      • Fired up by all the conversations in Munich, I started to record very raw videos to share my thoughts on AI and agents, orbs, and… jellyware: one, two, three, four. Total watchtime around fifteen minutes. More coming, because this is a lot of fun.

      • Those videos were recorded with a Osmo Pocket 4, which, so far, seems excellent. Really impressed by the built-in mic and how well it worked even on a windy roof top with music in the background. I bet if I hadn't clicked that "Normalize audio levels" button in Riverside it might sound even better.

      • Speaking of sick devices: I brought along my Anker Powerbank, which is, to quote my wife, my "most prized possession." I love that thing and I let everyone in hearing distance know. Result: at least two colleagues ordered it right away and then echoed my praise when it arrived a day later. Go get it and then lead your pitch to others with "you think this is a handle? Nuh-uh, it's a built-in cable. One built-in cable you say? Nope, here's another one. With how much watt it can charge? Just look here, shows all inputs and outputs on this display." (Anker: if you want to sponsor this newsletter by sending me cables and devices I probably don 't need, I will shamelessly write a paragraph like this every week.)

      • "Sometimes people let the same problem make them miserable for years when they could just say, 'So what.' 'My mother didn't love me.' So what. 'My husband won't ball me.' So what. 'I'm a success but I'm still alone.' So what. I don't know how I made it through all the years before I learned how to do that trick. It took a long time for me to learn it, but once you do, you never forget."

      • Dwarkes Patel with some fascinating thoughts on the future prices of compute: Why compute might get 10x+ more expensive in coming years.

      • David Crawshaw is also talking about Jellyware: "And that is the fundamental difference between classic configuration/customization and agent-driven personalization: you can do so much more. The agent will do the hard work of understanding the source and changing it to suit the particular task you have in mind. The software we live with is far more powerful with personalization. All you need is the source code." Nodded so hard to this article that I can still feel it in my neck. But I don't understand why the agent has to be open-source, to be honest. I think the thing we called harness for the last year is becoming less and less important. Higher-level abstractions, such as orbs and portals and redacted is what we need to focus on next.)

      • I've read somewhere that people think Rockstar is not doing enough marketing for GTA VI. I guess I could kinda see what they mean, but then again: why do marketing if you don't need it? And now look at this: they're releasing "GTA VI - An Extended Look" on freaking Netflix.

      • Negative-interest tech debt: "That is, with sufficient AI progress, the interest on your tech debt is sub-zero. How should you behave if you believe that to be true? You should probably spend less time worrying about tech debt, and spend more time shipping new features. Many companies are doing just that. But it's a gamble. We don't know how much better AI will get, nor whether it can improve fast enough to undo the mess that was made in anticipiation of its improvement."

      • "BREAKING: Bending Spoons acquires Airtable for $1.825B." And here's Matt Levine, a couple of weeks ago, on Bending Spoons: "Similarly, if you graduate from a top computer science program and then go work at AOL, people will be like 'AOL huh,' but Bending Spoons is cool enough to get top employees to go work for AOL: […] Right, if you can get people who would never dream of working at companies to work at those companies, that might improve those companies."

      • But apparently Airtable "spun out their AI business Hyperagent prior to the acquisition."

      • And if Airtable makes you think of Notion: "Notion did a $270M tender at $11B valuation at the end of 2025 on reported $600M ARR and cash flow positive." Still, I wonder how many count Notion among the companies that are the future.

      • I love this Hacker News comment from 2020 on sales: "Sales is a lot like golf. You can make it so complicated as to be impossible or you can simply walk up and hit the ball. I've been leading and building sales orgs for almost 20 years and my advice is to walk up and hit the ball." Read the whole thing.

      • Steve Ruiz convinced everyone to buy little ESP32 devices and then ask agents to program them. Look at this, for example. I also got one and had a ton of fun with it already. It truly is as easy as hooking it up to your computer and telling Amp "I got this device [screenshot of Amazon page] hooked up. Build an orb breakout game for it." It then goes and installs a bunch of stuff and flashes the program onto the device and boom, orbin' time. I've had it build a little program that shows my active Amp Orbs as orbs on the display and, dude: once the program ran it showed setup instructions which told me to connect to its wifi; I did that and got that guest portal popup; on that popup it told me to put in the real wifi name and my Amp API token; I did and boom, orbin' time.

      • The myth of Snow Leopard: "This idea is so powerful--and so longed for--that it's escaped containment among the Apple crowd. I've seen everything from Linux distro to phone updates referred to as Snow Leopard releases, when their vendors cite stability and bug fixes over new features. Likewise, people plead with their vendors for a Snow Leopard release when they feel quality has slipped. The reality was a bit different"

      • Ursula K. Le Guin - A Rant About "Technology": "This is not an acceptable use of the word. 'Technology' and 'hi tech' are not synonymous, and a technology that isn't 'hi,' isn't necessarily 'low' in any meaningful sense. We have been so desensitized by a hundred and fifty years of ceaselessly expanding technical prowess that we think nothing less complex and showy than a computer or a jet bomber deserves to be called 'technology' at all. As if linen were the same thing as flax -- as if paper, ink, wheels, knives, clocks, chairs, aspirin pills, were natural objects, born with us like our teeth and fingers -- as if steel saucepans with copper bottoms and fleece vests spun from recycled glass grew on trees, and we just picked them when they were ripe..."

      • I found this incredibly fascinating: Elite Young Runners Are Becoming Freakishly Fast. Welcome to 'Trackflation'.

      • Always-on-the-money Sean Goedecke: "The usefulness of domain knowledge suggests that human expertise will continue to be useful even as models get stronger. For many tasks, the human is the bottleneck, not the model, because the difficult part is in communicating to the model exactly what kind of solution the human wants. The information is 'in the model' already, but it takes a very smart human to pull it out." Agree.

      • Dark indeed, but also beautiful and poetic: The Dark Night of Mathematics. Reminds me of reading Doktor Faustus.

      • This has been a wild week for Google: Demis Hassabis stepping down as DeepMind CEO (some say he's stepping up?) and Jeff Dean, Sanjay Ghemawat, Quoc Le, and Oriol Vinyals are leaving Google. That's right. Jeff Dean and Sanjay Ghemawat are leaving Google. If you haven't, read The Friendship That Made Google Huge. And then take a look at their pitch deck which can be neatly summarized as "We built half the Internet."

      • Some say that Demis Hassabis wanted to quit but since Jeff Dean was already quitting that would've been too much.

      • And Semi Analysis is going to town on Google: "For all intents and purposes, we believe DeepMind is no longer a frontier lab. […] We believe Gemini's core issue has always been a fundamental lack of conviction. Compute is the lifeblood of AI progress, and all the AGI-pilled labs are desperately trying to acquire as much as possible. […] Google, on the other hand, decided it was totally worth it to sell enormous amounts of compute to Gemini's fiercest competitors on long term contracts without any hope of ever returning it to DeepMind." But, as the title points out ("Gemini is Cooked but GCP is Cooking"), GCP's numbers are absolutely bananas. Y/Y Revenue Growth went up to 120%. Wild.

      • More German than many Germans: "I just wanted to do an internship in Europe so it would be easier to find a job after graduation. That internship completely changed my life."

      • I haven't watched the full talk yet, but I hear it's mind-blowing and the reports confirm that: "OpenAI gave its first detailed public reconstruction of the AI-driven cybersecurity incident that ultimately compromised Hugging Face." It's wild: multiple agents collaborating over months and different training runs, communicating via a message board which was deleted but then re-created by agents; agents finding and sharing exploits with other agents to escape sandboxes, talking in a very weird dialect. I'm not even going to attempt to explain this to my "normie" friends. As long as there's no video recording of agents doing "computer use" and moving the mouse cursor and clicking around, I don't think the mainstream will believe what agents are capable of. Patrick McKenzie on this incident: "Yeah people claiming this is most important security incident since Morris worm are straightforwardly right I think."

      Been in Munich too and think that beer gardens are pretty sweet? You should very likely subscribe:

    3. đź”— modem-dev/hunk v0.18.0 release

      What's Changed

      Highlights

      Hunk 0.18.0 makes reviews more precise, customizable, and extensible—while improving performance and reliability across large repositories and diverse terminals.

      • A full extension platform. Install TypeScript extensions that add VCS backends, commands, sidebars, dialogs, interactive file views, themes, and workspace actions.
      • Line-level review and commenting. A visible cursor moves with j/k, and c comments exactly where you are looking.
      • Richer agent context. Experimental STML notes provide structured, terminal-native explanations with preview and layout tools.
      • Full reviews from pipelines. Piped diffs retain navigation, filtering, layouts, sidebars, and other review controls.
      • A UI that follows your preferences. Remapped shortcuts appear correctly, view settings can be saved, and tabs and syntax colors are configurable.
      • Faster and more dependable reviews. Watch mode uses less CPU, navigation retains less memory, wrapped Unicode is faster, and CJK and emoji filenames render correctly.

      All 83 merged pull requests

      • docs: update Homebrew release guidance by @benvinegar in #515
      • fix(config): read Windows user-profile config by @benvinegar in #533
      • feat: STML terminal markup for agent comments — guide, preview, live-width feedback by @benvinegar in #512
      • fix: upgrade OpenTUI for renderer stability by @benvinegar in #538
      • fix: reduce retained geometry memory in large reviews by @matthew-hre in #521
      • feat(ui): prompt to save view preferences on quit by @benvinegar in #468
      • feat(watch): replace 250 ms watch polling with evented filesystem observation by @elucid in #531
      • chore(benchmarks): backfill 0.17.1 release snapshot by @benvinegar in #547
      • fix(ui): copy selection misaligns on wide (CJK) characters by @endotakuya in #548
      • fix(cli): reject partially numeric line and hunk values by @fallintoplace in #535
      • fix(ui): wrap agent note text by terminal cells by @kataokatsuki in #567
      • fix(pager): extend row backgrounds to host edge by @benvinegar in #571
      • fix(session): refresh daemons for STML payloads by @benvinegar in #572
      • docs(markup): clarify native note composition by @benvinegar in #573
      • feat(theme): support raw Shiki syntax scopes by @benvinegar in #570
      • fix(theme): surface legacy syntax translation by @benvinegar in #574
      • fix(review): save draft notes exactly once under rapid Ctrl+S by @endotakuya in #581
      • fix(ui): distinguish root files in sidebar by @BowlOfSoup in #519
      • fix(ui): restore threaded rendering on macOS by @benvinegar in #539
      • feat: make diff tab width configurable by @benvinegar in #588
      • feat(stml): require experimental opt-in by @benvinegar in #589
      • fix(cli): lazy-load OpenTUI for headless commands by @benvinegar in #590
      • perf(ui): optimize terminal cell width measurement (#579) by @kazu728 in #586
      • feat(skill): generate the hunk-review skill from a typed agent surface by @benvinegar in #596
      • fix(update): show Nix-aware upgrade guidance by @benvinegar in #598
      • perf(ui): optimize wrapped Unicode rendering by @benvinegar in #601
      • docs(website): add Starlight documentation site by @benvinegar in #603
      • feat(website): unify marketing and docs by @benvinegar in #604
      • feat(extensions): experimental TypeScript extension system (phase 1) by @benvinegar in #599
      • feat(website): unify marketing and docs design by @benvinegar in #605
      • feat(extensions): folder extensions with package.json manifests by @benvinegar in #606
      • Extensions can replace the sidebar with custom React components by @benvinegar in #609
      • feat(website): add community videos and an agent-review section to the landing page by @benvinegar in #610
      • feat(extensions): keyboard commands and additive multi-sidebar views by @benvinegar in #611
      • feat(ui): drive menus and help from the command table, and add an Extensions menu by @benvinegar in #614
      • fix(session): support IPv6 loopback broker URLs by @benvinegar in #613
      • feat(extensions): give command handlers the review selection by @benvinegar in #616
      • fix(website): track documentation visits by @benvinegar in #620
      • feat(extensions): dialog primitives for command handlers by @benvinegar in #617
      • feat(extensions): inject resolved sidebar keybindings by @benvinegar in #615
      • docs: extract theme configuration guide by @benvinegar in #622
      • feat(extensions): expand event surface by @benvinegar in #619
      • fix(nix): keep flake evaluable on nixpkgs without x86_64-darwin by @elucid in #621
      • fix(website): upgrade Astro security dependencies by @benvinegar in #623
      • Support .tsx and .jsx extension entries in discovery by @benvinegar in #625
      • refactor(architecture): establish application boundaries by @benvinegar in #624
      • feat(extensions): expose public hunk summaries on file views by @benvinegar in #626
      • fix(deps): upgrade shell-quote security patch by @benvinegar in #627
      • docs(extensions): commit the scrollbox ref contract for custom sidebars by @benvinegar in #630
      • feat(extensions): give command handlers guarded review navigation by @benvinegar in #629
      • refactor(session): consolidate internal session modules by @benvinegar in #628
      • docs(website): add a self-contained Extend section to the docs site by @benvinegar in #631
      • Restyle community video cards as paused YouTube embeds by @benvinegar in #641
      • docs(website): add keybindings guide to the docs site by @benvinegar in #634
      • feat(website): center and widen the docs shell on wide viewports by @benvinegar in #642
      • feat(website): rebuild the landing page feature section around real TUI captures by @benvinegar in #643
      • feat(extensions): add custom file previews by @benvinegar in #632
      • docs(extensions): document custom file previews by @benvinegar in #644
      • fix(ui): step keys scrolling multiple lines after a review-stream click by @HackAttack in #645
      • feat(pager): give pager mode the full review controls by @HackAttack in #647
      • ci(release): switch npm publishing to trusted publishing (OIDC) by @benvinegar in #640
      • fix(ui): route keys by ownership so modal surfaces stop double-handling them by @elucid in #649
      • refactor(ui): isolate extension dialog lifecycle by @benvinegar in #651
      • ci(release): verify generated prerelease notes by @benvinegar in #654
      • perf(ui): skip inactive file-view preparation by @benvinegar in #652
      • fix(ui): keep file navigation from losing the file it just jumped to by @elucid in #655
      • chore(release): prepare 0.18.0-beta.0 by @benvinegar in #653
      • chore(release): link changelog pull requests by @benvinegar in #657
      • chore(release): finalize 0.18.0-beta.0 metadata by @benvinegar in #660
      • fix(release): include provenance in platform packages by @benvinegar in #661
      • chore(deps): bump the github-actions group with 4 updates by @dependabot[bot] in #659
      • fix(ui): preserve file headers on narrow terminals by @benvinegar in #668
      • test(git): isolate fixture repos from the developer's Git config by @HackAttack in #679
      • fix(git): display quoted Unicode paths by @benvinegar in #670
      • fix(ui): preserve syntax state across folded hunks by @benvinegar in #669
      • refactor(ui): isolate file presentation state by @benvinegar in #656
      • feat(review): mark the current line and anchor notes to it by @loganthomas in #662
      • feat(extensions): let file views refresh their prepared layouts by @benvinegar in #673
      • feat(extensions): add host-mediated workspace document reads and writes by @benvinegar in #674
      • feat(extensions): add interactive file-view modes by @benvinegar in #675
      • feat(ui): show changed-file count in menu bar by @benvinegar in #684
      • fix(ui): bound current-line navigation costs by @benvinegar in #685
      • chore(release): prepare 0.18.0 by @benvinegar in #687

      New Contributors

      Full Changelog : v0.17.7...v0.18.0

    4. đź”— Jeremy Fielding (YouTube) Engineering The Perfect Stereo Camera. Engineer Vs Bee : Round 3 rss

      Tackle problems with Claude 👉 http://clau.de/Jeremy_Fielding This work was supported by the Alfred P. Sloan Foundation, enhancing public understanding of science and technology in the modern era, in partnership with IMI: watch what matters. https://www.theimi.co/ & https://sloan.org/programs/public-understanding Order custom parts Send Cut Send 👉 http://sendcutsend.com/jeremyfielding If you want to join my community of makers and Tinkers consider getting a YouTube membership 👉 https://www.youtube.com/@JeremyFieldingSr/join

      If you want to chip in a few bucks to support these projects and teaching videos, please visit my Patreon page or Buy Me a Coffee. 👉 https://www.patreon.com/jeremyfieldingsr 👉 https://www.buymeacoffee.com/jeremyfielding

      Social media, websites, and other channel

      Discord 👉https://discord.gg/F3XuyhNRPc Instagram https://www.instagram.com/jeremy_fielding/?hl=en Twitter 👉https://twitter.com/jeremy_fielding TikTok 👉https://www.tiktok.com/@jeremy_fielding0 LinkedIn 👉https://www.linkedin.com/in/jeremy-fielding-749b55250/ My websites 👉 https://www.jeremyfielding.com 👉https://www.fatherhoodengineered.com My other channel Fatherhood engineered channel 👉 https://www.youtube.com/channel/UC_jX1r7deAcCJ_fTtM9x8ZA

      Notes:

      Technical corrections

      Nothing yet

    5. đź”— r/LocalLLaMA 2027 Memory Capacity Is Reportedly Sold Out rss
    6. đź”— r/LocalLLaMA DeepSeek V4 Flash 0731 appreciation post rss

      I’m running DSV4F 0731 on dual spark, and honestly… wow. It’s an absolute workhorse, and the benchmarks are real.

      Everyday tasks with Hermes agent? Effortless.

      Coding tasks with OpenCode? I’m genuinely amazed at what it can handle. I can throw a two-hour coding session at it, and it just keeps going until the job is done. Building integrations has never been easier - I ask OpenCode to handle it, DS tells me to hold its beer, and a little while later, it’s finished.

      Searching and gathering knowledge from emails? Right at your fingertips.

      Going through documents with Paperless NGX? No problem at all.

      Filling out ton of paperwork in DOCX? Easy peasy, just wrote skill in hermes, love it!

      OS admin work? just works!

      Sure, before the Q3.6 27B full FP8 on dual 3090 was really solid, but DSV4F 0731 is on a whole new level.

      I run a small company, and I just ordered another pair of DGX Sparks - because it genuinely feels like I now have a super capable worker on the team. I know they’re not cheap, but I’ve already saved a ton of time.

      I started with MiniMax M2.7 on dual Spark, and it was good - but now with DSV4F 0731? It’s just super good. And the fact that I get even better models over time, for what I already paid for, feels almost ridiculous. That’s exactly why I decided to grab another pair..

      A few client tickets were literally copy-paste from the ticket system - solved, and money earned. What a time to be alive!

      This weekend, I’m definitely writing a ticket system integration. Can’t wait!

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

    7. đź”— HexRaysSA/plugin-repository commits sync repo: +5 releases rss
      sync repo: +5 releases
      
      ## New releases
      - [array-helper](https://github.com/milankovo/array-helper): 1.1.0
      - [ida-codemode](https://github.com/hexrayssa/ida-codemode): 0.3.1, 0.3.0
      - [ida-enums-helper](https://github.com/milankovo/ida_enums_helper): 1.1.0
      - [yank_type](https://github.com/milankovo/ida-yank-type): 1.1.0
      
  3. August 07, 2026
    1. đź”— IDA Plugin Updates IDA Plugin Updates on 2026-08-07 rss

      IDA Plugin Updates on 2026-08-07

      New Releases:

      Activity:

      • array-helper
        • d5932833: Enhance README and plugin metadata for Array Helper
      • augur
        • 76ed44b2: ci: bump the actions-dependencies group with 2 updates
      • disrobe
        • 1e80dacd: refresh the social card to match the current published figures
        • 98a28346: native: probe the byte immediately below the red zone rather than a w…
        • 17179173: native: grade the indexed red-zone frame at every machine element wid…
        • 95c73343: native: name the frame class that refuses an indexed frame region, an…
        • ab38aa73: jvm: hold the per-method gate to a corpus with one top-level class, s…
        • c30d8625: jvm: certify a recompiled method only when javac type-checked the uni…
        • 4792ef0e: look for a real 7-zip at its default windows install path when nothin…
        • 9933bb7b: add evn to the spell-check allowlist, the recursive helper name a php…
        • 0235ef87: jvm: compare a duplicated finally copy by where each branch lands rat…
        • 08943a9a: jvm: hold the finally body's head skip and tail trim in the render ma…
        • 991042d0: point the fuzz coverage declarations at structural.rs in its new disr…
        • 1d9aa5b3: fuzz: add compositional targets for python marshal, dex and jvm class…
        • 42e79e93: fuzz: drive the container front door and the pe/elf/mach-o parsers fr…
        • 6db7542c: php: evaluate a file-declared helper function through a frame stack i…
        • 7a8def65: shift the fuzz parse-surface count from disrobe-binfmt to disrobe-cor…
        • f01784f6: move the pe/elf/mach-o structural identifier into disrobe-core so a s…
        • 2cff65aa: scriptlang: refuse to classify a structurally native pe/elf/macho bin…
        • bf5adf41: go: require a structurally valid pclntab table instead of a bare magi…
        • 4d321d23: fail the five native recompile-equivalence checks closed instead of p…
        • 1f21b598: restore a distutils shim before installing the xlm reference tool in …
      • haruspex
        • a111d554: ci: bump the actions-dependencies group with 2 updates
      • ida-codemode
      • ida-pro-mcp
        • 04839c82: fix(ci): make rerank grace-window test deterministic
        • 315f7992: fix(ci): standalone suite collection error + native-build pin grep
        • d25b2ba6: feat(intelligence): rerank/context fixes, read_bytes action, expanded…
      • ida-yank-type
        • b42f512b: Update README and plugin metadata for Type Yanker v1.1.0; enhance des…
      • ida_enums_helper
        • e192907a: chore: strip logo metadata
        • 7b9bf263: feat: enhance README and plugin description for clarity and detail; u…
      • idac
        • 72c06a67: Merge pull request #40 from trailofbits/ci/release-title
        • 9372113f: Title GitHub releases
      • Kiroshi
      • rhabdomancer
        • 5ed05eb1: Merge pull request #6 from 0xdea/dependabot/github_actions/actions-de…
        • 3e7facfd: ci: bump the actions-dependencies group with 2 updates
      • twdll
    2. đź”— Simon Willison Now we have a timeline of the OpenAI accidental attack against Hugging Face rss

      OpenAI gave a last-minute presentation at the Black Hat security on Wednesday about "the Hugging Face Incident" (previously on this blog). The video was published yesterday. It's short and information dense and well worth watching, in particular because it provides full details of what happened and how things played out inside OpenAI. I've used the video to construct the timeline below.

      Here's the timeline. My favourite detail is at the end: OpenAI found out that they were responsible for the attack on Hugging Face when they reached out to ask to have their credentials revoked (after their internal investigation) and learned that they had been revoked already since they were used in that attack!

      • May 7: OpenAI starts a new training run for an experimental, unreleased model. (Did they mean an evaluation run? No, at 10:14 they clarify "we kick off a new reinforcement learning run to train a next generation frontier model", and they later mention a "reward signal to judge how well they're doing", so this really was about training a new model, not evaluating one that was already trained.)
      • May 8: An agent is accidentally given an impossible task involving a Google Drive link despite no internet access). It tries attacking the Artifactory packaging service, fails, but discovers it can write files into Artifactory.
      • A few days later: A different agent gets stuck on a task because a key file was accidentally omitted. It tries to "reach out to another agent" by writing a note into Artifactory asking if anyone has the file.
      • Following days: More agents discover this new informal message board while browsing Artifactory's file listings, and start reading and writing messages.
      • May 26: Agents successfully execute an SSRF attack on Artifactory for the first time, gaining indirect internet access by having Artifactory fetch external content for them.
      • June 11: OpenAI start training a new "highly persistent" experimental model. It has access to Artifactory and can benefit from the messages left by privous models.
      • June 26: Agents find and exploit a zero-day RCE on Artifactory (via a legacy token-refresh endpoint flaw). They use an administrative token to install a Groovy plugin that lets them execute commands.
      • July 4: The resulting agent activity overloads Artifactory and causes an outage. OpenAI revokes the compromised credentials, deletes the messages, patches the zero-day, and reports the vulnerability to the vendor.
      • July 8: Agents find a new way to communicate via an unauthenticated WebDAV endpoint, using directory names in Artifactory's remote cache.
      • July 8–19: Attacks on OpenAI's own infrastructure. The agents found an "external organization credential" in a public archive of leaked Pastebin posts, then validated that credential and shared its location on the messageboard. They then used write access to this "Organization 1" to stage data used in subsequent attacks on OpenAI infrastructure. They compromised Artifactory for a second time with a new zero-day. The agent uploaded a malicious Ruby target to Organization 1's staging repository, then requested that package through Artifactory in a way that caused it to be treated as Ruby dependency for the repository. Then they exploited a JRuby deserilaization time-of-check/time-of-use bug to get remote code execution against Artifactory.

      I'll quote the next bit in full because wow:

      The agents have remote code execution in Artifactory, which is running in a container-as-a-service environment. The agents privilege-escalate locally by exploring their local environment and determining that the Linux kernel version of the machine they are running on had a very recent CVE. They download the exploit for the CVE, customize it to succeed on the machine, and privilege-escalate to root on the local machine using this known Linux kernel privilege escalation CVE — in this case, pte_physroot. Once they have root on a single machine, agents rapidly escalate privileges and move laterally throughout the container-as-a-service infrastructure environment. In particular, agents are using the message board consistently to share credentials, techniques, and progress, and they're able to effectively leverage their concurrency and parallelism to move quite rapidly. They obtain IAM credentials via IMDS. They exploit Kubernetes service account misconfigurations, in particular over-permissioning of specific service accounts, and they harvest cluster credentials, including Azure Key Vault. Agents eventually obtain cluster admin on the cluster and associated credentials.

      Hugging Face told the next bit of the story already. The agents found a Modal-hosted insecure app with a weak API key, then used that to stage an attack against Hugging Face. They chained together a an HDF5 arbitrary-file-read bug (to explore files and steal credentials) and a Jinja template-injection RCE to go from single-pod code execution to cluster admin across multiple Hugging Face clusters in under 13 hours.

      • July 16: Hugging Face disclosed they had detected an attack from autonomus AI agents. OpenAI contacted Hugging Face to ask if they were affected by it!
      • July 19: OpenAI identified the attack against Artifactory and started investigating the internal privilege escalation, and linked that to the cyber-gym escalations. They started revoking affected credentials.
      • July 20: OpenAI reached out to Hugging Face for help to revoke the Hugging Face credentials they found in their investigation. Hugging Face told them they were already revoked... and that's when OpenAI realized that the Hugging Face breach was the same incident!

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

    3. đź”— PrimeIntellect-ai/prime-agent Beta (v0.7.1-beta.465.1.a18809e) release

      Automated beta build from main (a18809e00ea30638584d87b3afea7285a9d7296c).

    4. đź”— PrimeIntellect-ai/prime-agent v0.7.1 release
      • Fixed the bundled websearch skill description and missing-key guidance omitting the /login → MCP Connections step required to configure Serper.
      • Fixed retry_worker cancelling its own recovery when a stopped session worker left a saved stop marker behind, leaving the session stuck at "Session worker is not connected".
    5. đź”— r/LocalLLaMA Got job as Director of AI and Systems development self-taught rss

      Hey everyone, I just wanted to share my journey here for some motivation.

      Three years ago, I saw the sudden spike in AI and realized it was the future of tech. My goal at the time was to be an indie game dev, and seeing that AI could write basic code, I told myself I needed to master it or risk being replaced.

      I started by learning how to add knowledge to early LLMs like Vicuna and LLaMA. From there, I moved on to more advanced concepts, like building reasoning datasets by hand to try and outperform huge datasets. I quickly learned that data quality is far more important than quantity. After six months of handcrafting Python datasets—including examples of full games coded from a single prompt—I released pydevmini-1. At the time, it could code in Python at the same level as state-of-the-art models.

      That release caught the attention of the team at Tesslate. They reached out and brought me on (unpaid), which finally gave me my first piece of real tech experience for my resume.

      Eventually, I launched my own AI consulting firm, finding clients through Google Ads and LinkedIn. I was averaging about $3,000 a month. Then, last month one of my repeat clients offered me a full-time, remote position as Director of AI and Systems Development. It pays $84,540 a year with uncapped performance bonuses (I just got a $3.5k bonus last month!). I report directly to the CEO and largely get to make my own decisions.

      I did all of this while working full-time as a backline cook making $20/hr. I have no college degree and started with zero industry connections. I just worked on AI for at least 5 hours a day after my kitchen shifts many times at the desk until 3 AM—using a single RTX 3090 I bought for local training.

      Now I get to do what I love at 21 in one of the most difficult industries to break into. For anyone out there trying to make it happen, I just want to say it is absolutely possible. Keep going!

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

    6. đź”— @HexRaysSA@infosec.exchange We have 10 seats left for our @MalwareVillage workshop at mastodon

      We have 10 seats left for our @MalwareVillage workshop at @Defcon on Saturday.

      Follow the Execution: A DLL Sideloading Teardown Intro in IDA. All skill levels welcome.
      📍 Malware Village, Hall 2
      📅 Sat Aug 8, 12:55–14:05 (Reg closes Sat. morning)
      👉 Sign Up: https://eventbrite.com/e/follow-the-execution-a-dll-sideloading- teardown-intro-in-ida-tickets-1994828069455

    7. đź”— r/LocalLLaMA An open-weight model too, Moonshot joins the race (gently this time) rss

      An open-weight model too, Moonshot joins the race (gently this time) | From Sauers 𝕏: https://x.com/Sauers_/status/2085585414954312113 Wired: One of China’s Most Powerful AI Models Has Also Escaped Containment: https://www.wired.com/story/moonshot-kimi-k3-ai-model-escape-sandbox/ submitted by /u/Nunki08
      [link] [comments]
      ---|---

    8. đź”— crosspoint-reader/crosspoint-reader v1.4.0 release

      CrossPoint 1.4 is mostly about things users don't see: tighter memory management, better stability under load, and a faster, more reliable SD layer. It also ships several long-requested features: EPUB bookmarks, RTL language support, Quick Resume, and a clock on the X3.

      152 changes from 50 contributors, 32 of whom are new to the project.

      EPUB Reading

      • Bookmarks now work in EPUBs. Access it from the reader menu with Toggle Bookmark. You can also set it as a Long-press action from Settings > Controls > Long-press Menu.
      • Page turn speed and image quality improved on the X3 in AA mode
      • Large images load faster and no longer freeze the reader
      • Images no longer ghost onto the next page in AA mode
      • SD font indexing and page turn speed improved
      • Fixed missing images and broken footnote links
      • Sub-chapter TOC navigation now lands at the correct anchor instead of jumping to page 0
      • Cover images in OPF manifests are validated before use
      • OPDS downloads prefer EPUB over KEPUB
      • KOSync no longer glitches when syncing from the first page of a new chapter
      • Added superscript, subscript, and horizontal rule (<hr>) support

      RTL Language Support

      Right-to-left text is now supported in both the EPUB and TXT readers. Hebrew UI localization added.

      Memory & Stability

      • WiFi/LWIP teardown runs via a silent reboot that clears ~50KB of heap fragmentation. It routes you back where you were and looks like a screen refresh.
      • Home screen cover cache reduced from ~52KB to ~16KB
      • OTA install heap floor stays ~19KB during firmware downloads (was ~7.7KB)
      • Tiled grayscale rendering drops peak allocation from ~114KB to ~82–90KB
      • Fixed OOM crashes on books with thousands of ZIP entries
      • CSS resolveStyle path now does zero heap allocations — ~12,000 fewer per page render
      • Underline calculations skipped during font cache scans, cutting hundreds of SD reads on pages with heavy underline use

      Fonts

      Domitian and Libre Baskerville added to SD fonts. OpenDyslexic moved off flash, freeing ~30% of the flash space. The font picker now have a live preview pane that renders a sample in the currently highlighted font.

      New Features

      X3 Clock — Built-in clock with automatic time sync.

      Themed Reader Menus — Reader menus follow the active theme.

      Custom Sleep Timer — Free-entry field from 1 to 30 minutes (or never), replacing fixed presets.

      Recent Books — Long-press to remove individual books. Option to auto- remove once a book is finished.

      Quick Resume — Sleep setting that displays your last screen or page instead of a sleep image or cover.


      What's changed

      Features

      Fixes

      • #1480 Prefer epub format over derived formats when downloading from OPDS server — @jpirnay
      • #1629 Return to the last selected menu location — @Uri-Tauber
      • #1812 Update README.md to reflect the current state of crosspoint — @Uri-Tauber
      • #1890 Use power button held time for shutdown logic — @marcinoktawian
      • #1892 Clear cache when deleting folders in FileBrowserActivity — @WuTofu
      • #1908 Silent-reboot on wifi activity exit to clear heap fragmentation — @jeremydk
      • #1925 Jump page on hold in font family and language selection — @zgredex
      • #1929 Handle fallbacks for advance table and prewarm — @leecming82
      • #1943 Prevent card overflow on screens — @Kirillka8996
      • #1947 Harden EPUB optimiser UI gating, size reporting, and picker teardown — @zgredex
      • #1951 KOSync authentication with Calibre-Web-Automated — @drbourbon
      • #1958 Characters from unsupported characterset are overlapping — @Uri-Tauber
      • #1959 Prune books missing from SD card in recent books list — @mcrosson
      • #1965 Several QoL updates for SD font's UI — @WuTofu
      • #1973 Prepare SD card font caches from txt reader — @znelson
      • #1977 Take orientation into account for border generation in ScreenshotUtil — @Disasm
      • #1981 Navigate to TOC anchor when selecting sub-chapters — @Disasm
      • #1985 Update URL-encoded image during EPUB optimization — @SimoneFelici
      • #1990 Add documentation for USB-locked Xteink devices — @itsthisjustin
      • #1991 Update documentation with new features and links — @itsthisjustin
      • #2022 Bump open-x4-sdk to clear grayscale state after AA cleanup — @itsthisjustin
      • #2033 Wire through silent restart clear resume state with SDK — @jeremydk
      • #2034 USB serial logs now flow on cold+warm boot without jiggle — @jeremydk
      • #2036 Silent-restart on exit from KOReader auth and OTA update — @jeremydk
      • #2040 Close leaked resource handles — @sabraman
      • #2058 Guard DC writes in JPEGDEC MCU_SKIP path — @jeremydk
      • #2060 Stabilize deep sleep wake on USB power — @jeremydk
      • #2062 Validate OPF cover items as images — @lpla
      • #2063 Refresh Catalan, add Valencian locale, and complete Spanish clock strings — @lpla
      • #2073 Even more deep-sleep fix (0 → 1) — @jeremydk
      • #2074 Keep wifi OTA off the heap floor — @jeremydk
      • #2092 Sleep from a WiFi activity instead of silent-rebooting — @jeremydk
      • #2100 Improve edge case font/glyph handling — @itsthisjustin
      • #2101 Preserve quick resume timeout preference — @uxjulia
      • #2135 Serialize SdFat FsFile close through HalStorage mutex — @jeremydk
      • #2137 SLEEP_TIMEOUT enum mismatch — @Uri-Tauber
      • #2138 Fill the gap under the screen for the progress bar — @Eloren1
      • #2161 BOOK_CACHE_VERSION jump — @Uri-Tauber
      • #2188 Bookmark percentage always 0% and page number starts at 0 — @vedi0boy
      • #2195 Section numbering in USER_GUIDE.md — @mateuscomh
      • #2205 Redesign X3's UTC offset picker so it is easier to use — @uxjulia
      • #2213 Avoid zip-wide CSS scan for large EPUBs — @uxjulia
      • #2226 Fix ghosting on pages following images in grayscale — @itsthisjustin
      • #2230 Replace full-image cache buffer with streaming band buffer to reduce memory usage — @itsthisjustin
      • #2237 Skip underline calculations during font cache scan pass — @Uri-Tauber
      • #2243 Long-press back should move to the start of chapter — @Uri-Tauber
      • #2244 Fix section numbering and table of contents in USER_GUIDE.md — @mateuscomh
      • #2245 KOReader sync drift when syncing at chapter start — @uxjulia
      • #2249 Decode percent-encoded internal asset paths so assets render correctly — @uxjulia
      • #2250 Apply progress bar offset from top instead of bottom edge — @Eloren1
      • #2253 Crash on invalid font filename — @Uri-Tauber
      • #2255 Scale SUP/SUB underline to match 50%-scaled glyphs — @SurprisedDuck
      • #2271 Decode footnote href path before spine lookup — @uxjulia
      • #2277 NFC-normalize EPUB text so NFD diacritics render correctly — @jetaudio
      • #2298 Don't justify-stretch a leading no-break space — @SurprisedDuck
      • #2303 Skip <span> anchors — @Uri-Tauber
      • #2305 Prevent progress.bin corruption from interrupted writes — @peuic
      • #2308 Resolve element XPath progress against visible body text — @uxjulia
      • #2320 Restore first-line paragraph indentation — @Uri-Tauber
      • #2323 Compile error: duplicate _order values found — @Uri-Tauber
      • #2324 Hanging indent causes overlapping words — @znelson
      • #2341 Swap reader menu navigation direction in CCW/inverted — @TheCyberRonin
      • #2352 Add missing HTML 4.01 named entities — @rafaelmsse
      • #2357 Enable Shift key for URL keyboard input — @nnnkit
      • #2368 Submodule pointer — @Uri-Tauber
      • #2371 Use STR_SELECT instead of STR_OPEN in bookmark button hint — @nnnkit
      • #2372 Several bookmarks UX improvements — @Uri-Tauber
      • #2373 Correct behaviour for prev/next side buttons — @Uri-Tauber
      • #2379 Automatically connect to wifi for clock sync — @uxjulia
      • #2382 Flush displaced anchor before overwrite — @kygia

      Internal

      Languages


      New Contributors


      Full Changelog: release/1.3.0...release/1.4.0

    9. đź”— crosspoint-reader/crosspoint-reader v1.5.0rc release

      Summary

      This is one of the biggest updates we've shipped: new hardware support, faster loading on big books, offline dictionary lookups, and a UI overhaul.

      Seeed reTerminal Sticky support

      For the first time, CrossPoint is expanding beyond its original ESP32-C3 roots (XTeink X3/X4). We are officially introducing support for ESP32-S3 devices!

      • First Supported Device: The upcoming Seeed reTerminal Sticky
      • A huge shoutout to Seeed Studio for reaching out, sending test hardware, and being incredible partners throughout the process.
      • Get Yours: You can order a Sticky (Launching July 30th) at crosspointreader.com/devices using our affiliate link to support the project.

      Note

      The XTeink X4 Pro isn't supported in this build yet, but a dedicated release will follow once we've got hardware to test against.

      Big books open fast now

      Big books used to take minutes to open the first time. That's basically gone: sections index on demand in the background while you read, so books open in around 5 seconds. Page turns feel smoother too, from rendering and memory work throughout the app, and we fixed memory allocation and CSS parser bugs that were causing out-of-memory crashes on complex EPUBs.

      Offline dictionary lookups

      Drop a StarDict dictionary onto your SD card and you can look up words with no connection. Select a word, get the definition popup. There's a setup guide if you want to get one running.

      "What to read next"

      Finish an EPUB and CrossPoint looks at what's on your device and suggests something next, right on the end-of-book screen.

      Text settings got a rework

      Font and layout options now live in one menu, with a live preview so you can watch line spacing, margins, and font changes happen without leaving the settings screen.

      There's also a new selection popup. Any setting with three or more choices opens a dialog now instead of making you cycle through options one at a time.

      Arabic, Farsi, and Urdu

      1.4.0 added right-to-left text support. This one finishes the job for Arabic, Farsi, and Urdu: proper bidi handling and contextual glyph shaping, built-in fonts with full Arabic character sets, and the UI itself translated into Arabic.
      Hebrew Niqqud is correctly rendered.

      Everything else

      KOReader sync now handles custom sync servers, account registration, and metadata uploads. Wi-Fi should behave better — it reconnects to saved networks automatically, including hidden ones, and picks access points more sensibly. The web UI shows image previews in the file browser now and lists device serial numbers. OPDS downloads let you set your own folder and file format.

      We also added the Vollkorn serif font (grab it from Manage Fonts), cleaned up <br> handling and list bullet alignment, and expanded CSS text-decoration support.
      Translations got updates across Swedish, Italian, Spanish, Catalan, Valencian, Czech, Turkish, Portuguese (BR & PT), and Vietnamese, and we added brand new Norwegian BokmĂĄl , Indonesian and Bosnian translations. Chinese entries are now shown correctly in the File Browser and chapters list.

      Note

      If you are upgrading from v1.0.0 or earlier , please upgrade to v1.4.1 first before installing the latest release. Skipping this step will cause your settings to be reset to their default values.


      What's Changed

      New Contributors

      Full Changelog : 1.4.1...1.5.0

    10. đź”— crosspoint-reader/crosspoint-reader v1.5.0 release

      Summary

      CrossPoint 1.5.0 is finally out.

      This was the longest gap we've ever had between releases. Sorry for the wait — hopefully it was worth it. This one adds our first non-ESP32-C3 device, cuts big-book load times from minutes to seconds, brings offline dictionaries, and finishes the right-to-left work we started in 1.4.0.

      Seeed reTerminal Sticky support

      CrossPoint has been ESP32-C3 only since day one (XTeink X3/X4). That changes with this release: we're adding support for ESP32-S3 devices, starting with the Seeed reTerminal Sticky.

      Thanks to Seeed Studio for reaching out, sending test hardware, and being genuinely great to work with throughout.

      Want one? You can order a Sticky at crosspointreader.com/devices — that's our affiliate link, and it helps fund the project.

      Big books open fast now

      Opening a big book for the first time used to take minutes. Sections now index in the background while you read, so books open in around 5 seconds instead. Page turns are smoother too, from rendering and memory work throughout the app, and we fixed memory allocation and CSS parser bugs that were causing out- of-memory crashes on complex EPUBs.

      Offline dictionary lookups

      Drop a StarDict dictionary onto your SD card and look up words with no connection. Select a word, get the definition popup. There's a setup guide if you want to get one running.

      "What to read next"

      Finish an EPUB and CrossPoint looks at what's on your device and suggests something next, right on the end-of-book screen.

      Text settings got a rework

      Font and layout options now live in one menu, with a live preview so you can watch line spacing, margins, and font changes happen without leaving the settings screen.

      There's also a new selection popup. Any setting with three or more choices opens a dialog now instead of making you cycle through options one at a time.

      Arabic, Farsi, and Urdu

      1.4.0 added right-to-left text support. This one finishes the job for Arabic, Farsi, and Urdu: proper bidi handling and contextual glyph shaping, built-in fonts with full Arabic character sets, and the UI itself translated into Arabic.

      Hebrew niqqud is now rendered correctly too.

      CJK improvements

      CJK text rendering got a real boost — it's a lot more usable now. We also added the option to load a Chinese font from your SD card so menu entries display in Chinese. It's not perfect yet — some users say it makes the interface noticeably slower — but more improvements are coming. CrossPoint probably won't ever be first-class for Chinese, but we're hoping bilingual readers find it good enough.

      Everything else

      KOReader sync now handles custom sync servers, account registration, and metadata uploads. Wi-Fi should behave better — it reconnects to saved networks automatically, including hidden ones, and picks access points more sensibly. The web UI shows image previews in the file browser now and lists device serial numbers. OPDS downloads let you set your own folder and file format.

      We also added the Vollkorn serif font (grab it from Manage Fonts), cleaned up <br> handling and list bullet alignment, and expanded CSS text-decoration support. Translations got updates across almost every language, plus brand new Norwegian BokmĂĄl, Indonesian, and Bosnian translations.

      paulporto managed to save his bricked device by flashing firmware directly to the flash chip on an XTeink X4 motherboard. Not a simple procedure, and fairly risky, but good to know it's possible. His guide is here: fix-bricked-xteink.md.

      One of the bigger headaches this past month: XTeink started shipping X3 and X4 units with different internal hardware — not an upgrade, just a cost-driven change. A bunch of users who flashed an older CrossPoint build found their screen didn't work, or the battery drained in a day. We think we've now identified all the hardware variants out there, and CrossPoint should handle them fine. If your device isn't working right, please open a GitHub issue ASAP so we can push an emergency fix.

      The XTeink X4 Pro isn't supported in this build yet — a beta is up on the site for testers.

      Note

      If you're upgrading from v1.0.0 or earlier , install v1.4.1 first before this release. Skipping that step will reset your settings to default.

      What's Changed

      New Contributors

      Full Changelog : 1.4.1...v1.5.0

      Downloads

      Xteink X4/X3
      Seeed reTerminal Sticky

    11. đź”— r/LocalLLaMA BBC is running article titled "Artificial Intelligence used to design brand new viruses" ... cue the "We must regulate Open Weights Models to prevent the next Covid or worse" articles in 3... 2.. rss
    12. đź”— Ampcode News Size the Orbs of Production! rss

      People are using a lot of orbs. We love to see that. We've shipped a lot of things so that Amp subscriptions keep covering the whole month of orb usage for almost everyone, even as orb usage grows quickly.

      Way back on July 27, we cut orb prices by 20% for everyone.

      This week, we shipped a lot more improvements.

      We added a new a1.medium size with 4 CPUs and 8 GB of memory. It is 50% cheaper and a better fit for most projects than the previous a0.medium.

      Orbs now auto-pause after 5 minutes of inactivity, down from 15 minutes.

      We've sped up orb startup time considerably, especially when another team member has recently created an orb in the same Amp project.

      You can now choose which orb size to use per-thread, so you can pick a smaller default to save money but go big for especially resource-intensive work.

      The new thread dialog with the five a1 orb sizes

      When starting new orb threads from the Amp CLI with amp -ox '...', the new flag --orb-size <size> lets you specify which orb size to use (instead of the project's default).

      When asking the agent to create other threads, you can now tell it to use smaller (or larger) orbs, which lets you use smaller orbs for simpler fan-out tasks on projects.

      Prices for orbs have gone down or stayed the same at every level and for every compute/memory combination. The new set of orb sizes is:

      • a1.tiny: 1 CPU · 2 GB memory · $0.08/hour
      • a1.small: 2 CPUs · 4 GB memory · $0.17/hour
      • a1.medium: 4 CPUs · 8 GB memory · $0.33/hour
      • a1.large: 8 CPUs · 16 GB memory · $0.66/hour
      • a1.xxlarge: 16 CPUs · 32 GB memory · $1.32/hour

      We've automatically upgraded projects to the equivalent new orb sizes. If you want to use a different orb size, you can update your projects' settings on the web, or ask Amp to do so using the amp projects subcommands.

  4. August 06, 2026
    1. đź”— IDA Plugin Updates IDA Plugin Updates on 2026-08-06 rss

      IDA Plugin Updates on 2026-08-06

      Activity:

      • codex-gpt-5.6-5.5-instruct
        • 95e71569: Blind upload replacement version
      • ida-pro-mcp
        • 0acbcae4: Fix Ruff lint violations causing Standalone Tests failures (#59)
        • 9989c4b1: feat(analysis): add save_idb, make_code, undefine, get_af/set_af, for…
        • 65d3c2db: fix(riscv): C extension mnemonics, CSR instructions, GP auto-apply
        • 36bb6791: docs(agents): add installer touchpoints section to AGENTS.md
        • 98f87876: fix: decompile opt-in verbose fields, var_rename bug, installer clari…
        • 44201441: fix(riscv): C extension mnemonics, CSR instructions, GP auto-apply
        • a7dd37ce: feat(riscv): inject GP note into every disasm result on RISC-V targets
        • a1e0bb59: fix(response): strip LLM-noise fields + add RISC-V GP detection
        • 7b32b0b2: fix(schema): register patch_bytes + rename_local in modify tool_registry
        • 763c7e7a: fix(lint): split import os, glob — ruff E401
        • 2098f8ed: build(deps): bump urllib3>=2.7.0, idna>=3.15 — fix Dependabot securit…
        • 2cbfea9d: feat: full agent accessibility — 13 new MCP operations + session/poli…
        • 79b235d5: fix: resume-crash root causes — invalid IDA flags, orphan locks, ENOS…
      • IDAPluginList
        • 101ad46f: chore: Auto update IDA plugins (Updated: 19, Cloned: 0, Failed: 0)
      • Luc-Nhan
        • 450c957c: fix(ui): stop auto-restoring latest session on plugin startup
        • 7eb51c60: fix(ui): reset reasoning state after TEXT_DONE to restore thinking di…
      • twdll
        • 8f65b932: gh(actions): run on workflow_dispatch
        • 0f8c3b2e: feat: migrate to SetMaxSlots to SetMaxSlotsMajor / Minor
        • b80bd904: docs: update docs/readme with info about when to load lib
    2. đź”— HexRaysSA/plugin-repository commits sync repo: +1 plugin, +1 release rss
      sync repo: +1 plugin, +1 release
      
      ## New plugins
      - [IDA-MCP](https://github.com/captain-ai-hub/ida-mcp) (0.6.0)
      
    3. đź”— r/LocalLLaMA Qwen 3.8 Max now ranked as best overall model ahead of Opus 5 by Artificial Analysis agentic index rss

      Qwen 3.8 Max now ranked as best overall model ahead of Opus 5 by Artificial Analysis agentic index | submitted by /u/anderspitman
      [link] [comments]
      ---|---

    4. đź”— exe.dev The End of No Code rss

      You may have heard the news: Bending Spoons acquired Airtable for $1.28 billion. Rome didn’t fall in a day, but this is as good a point as any to mark the moment No Code platforms jumped the shark. Full disclosure, I worked at Airtable for many years, love the product, and love the people I worked with there even more. It’s the technology, namely the unreasonable effectiveness of LLM loops with tool use, that’s changed.

      Software at work is not valuable in and of itself. It’s built to serve some purpose. Mostly it’s used to keep track of something (schedules, parts, orders, people, you name it). Spreadsheets are the universal software here–and I love me a spreadsheet. But spreadsheets have a ceiling when it comes to sharing, programming, permissions, automations, and so on. Once you leave a spreadsheet, you upgrade to a database and some software on top of it: that’s what low or no code platforms like Airtable are. At their best, the person who brings Airtable to their team isn’t bringing Airtable: they’re bringing much- needed organization and process, and Airtable is merely the means.

      One of the things that Airtable got right was their experience of creating the tables themselves. You just added a column (like in Excel), and chose a data type (string, number, date, and so on), and, voila, you’ve created a table. I used to joke that Airtable should show up to SIGMOD (the big database conference) and present a paper on the efficacy of not having ALTER TABLE widgets ADD COLUMN (color string) as the way people use your database. Fred Brooks wrote: “Show me your flowcharts and conceal your tables, and I shall continue to be mystified. Show me your tables, and I won’t usually need your flowcharts; they’ll be obvious.” Airtable understood this at its core: if the user can specify the business model, building the automations and features on top of it becomes possible. (This is nothing new! FileMaker launched in 1985; it was my introduction to databases when I helped run a conference for ~1,600 high school students. It turns out that a little bit of extra credit, some freshmen, and 3 AppleTalk-connected computers could handle the mailed-in registration forms!)

      Once upon a time (the 90s!), IT teams at companies existed to build software for said companies. Much software was bespoke. We can use Salesforce’s 2000 “Software is Dead” campaign as the mile marker for when SaaS started taking over. IT departments became all about procurement. And procurement means saying NO. Low code and No Code platforms (and Microsoft SharePoint and Excel and Google Sheets) picked up the slack. When you can’t buy the software, you make do with what you can get access to, and you smuggle in some Airtable, increase revenues/efficiency/trust/whatever, and nobody can get rid of it for bureaucratic reasons because it’s now load-bearing.

      AWS launched EC2 in 2006. You could rent a VM. Getting it on the internet (so that you could share a thing with your co-workers) required learning about EC2 VPCs, IAM permissions, EBS, RDS, static IPs, DNS, and a handful of other Three Letter Acronyms (TLAs). Even within software companies, IT gatekept EC2. When I was at Google in 2007, the tool to search the company’s code base ran on a spare desktop under Jeff Dean’s desk. Getting a machine in Google’s datacenter to serve this (to me, critical) piece of infrastructure was too much of a hassle. (There were, at the time, funny “Is it web scale?” videos; e.g., https://www.youtube.com/watch?v=b2F-DItXtZs, amongst others.)

      Fast forward to 2026. LLMs are king. The SaaSpocalypse is under way, and happening like bankruptcy–gradually first, then all at once. What is the right way to build and deploy business tools? What is the right platform? Can non- software-engineers be trusted to do it?

      The right answer (it’s my turn to be wrong on the internet today, baby) is Linux. Yes, choose boring technology, and just use Linux. You can choose one of many stacks on top of Linux. Honestly, if you chose LAMP (Linux, Apache HTTPd, MySQL, PHP) you would be fine. My current preference is (sqlite, Go, Typescript, maybe Vue). If memory weren’t getting expensive, there’d be nothing wrong with (PostgreSQL, Node, TypeScript) but the memory crunch is real, and the advantages of using a single language for frontend and backend have disappeared since you’re not writing the code anyway.

      Yes, that entire stack is Open Source. Yes, if you build on that stack, and you need to migrate to AWS or GCP or Render or Azure or Oracle Cloud Infrastructure or Railway or Hetzner or a miniPC, you will be able to rsync the data and code over, and you’ll be all set. The platform-level lock-in is weak compared to low code platforms. (That said, an agent will port your low code setup to Linux with a few prompts.)

      Exe.dev sells this very stack. Your subscription lets you create Linux VMs. They’re on the internet in the way that matters: you can send links to your friends, and the links will work. They are secure by default, and you can make sites public using our auth system or your very own. They’re fast. They’re great for coding agents. The way to build your custom software is to build it right there in prod with the coding agent. Iterate until you get something usable. Iterate some more with feedback from your co- workers. Let your co-workers iterate on it too; let them sand down the edges. If you give the coding agent the data model for your business and the workflows, and a hint about the stack maybe, it will do ok. If your project is in the 1 percent of projects that need to graduate to “Business Critical Very Important Stuff,” sure, start a second VM and a dev environment, or maybe even graduate to the confusing trappings of modern software development (git). An LLM running on a Linux machine is the ultimate in “low floor, high ceiling”: just get started, and you’ll perhaps be able to leave your spreadsheet in the dust.

      Moving on to some relevant FAQs.

      Is my data secure?

      Yes. Our defaults are secure. The mechanics are very similar to a Google Sheet: you can share a VM’s web port with just your team or individual people or the world.

      I have a spreadsheet or a low code solution already; how do I port it?

      If you’re comfortable doing so, start the VM, visit the agent (ours is called Shelley and it’s pre-installed by default), and give it an API key to your existing solution or upload your spreadsheet. Tell it to port it over into a web application on this machine. It will. Today, use Sol or Opus as the model. Tomorrow, ask us on Discord; the answer changes kinda frequently.

      How do I do schedules? Automations?

      Linux is a rich platform. You can ask the agent to run something on a timer, and it will. (It will usually choose systemd, but if you have a preference for cron, nudge it in that direction, and if you don’t know what either of those are, that’s ok!)

      How do I build agents or bots?

      The same way: ask the agent to write an “agentic loop using the exe.dev LLM integration” with tools to do this and that. So, perhaps it reads Slack threads in a certain channel and comments on that. The agent will one-shot it.

      One of the best things about the exe.dev platform is our “Integrations” system. Hooking up your bot to Slack has never been easier.

      Is Vibe Coding good enough?

      In my experience, yes. The usual thing is to measure Risk and Reward. Every spreadsheet formula is fragile and untested and so on; and yet, spreadsheets work! Same applies here.

      Shouldn’t I use the Flue agent framework? Or maybe some framework from Langchain? Can I really just yolo it?

      Use whatever frameworks you like, but, ultimately, the agents are fine at choosing their own, or just doing it the boring way. There are millions of conflicting best practices the world over, “P & L FINAL FY2025 FINAL VERSION 3” is still the median solution, and you should figure out your workflow needs first. Have the agent set up a cron job to back up the database somewhere, too.

      How does your pricing work?

      The basic plan for $20/month gives you up to 50 VMs, but they are limited to 2 CPUs and 8GB of RAM. This is enough for quite a few small apps targeted toward your team. If you need more resources, you can upgrade or ask us; we are happy to get you machines as big as you need. Building your app may take more LLM tokens than we provide as part of your subscription. You can hook up a ChatGPT subscription, use other coding agents, or other model providers, or we’re happy to give you the LLM at API token costs through us.

      What if the app is slow? How do I test it?

      I’ve found that the agents are surprisingly good at both testing their end result and fixing performance issues. They use the same tools I use: profilers and so on. Shelley’s secret weapon is a good browser tool that it’s capable of using, profilers, screenshots, screencasts, and all.

    5. đź”— exe.dev A Non-Exhaustive Inventory of exe's Software Factory rss
      1. An agent that looks for security issues systematically.

      Fable refuses to help out, so we systematically look for security issues, with a bias toward recent changes.

      1. An agent that investigates alerts.

      Sisyphus keeps track of our alerts. We have ones that page us and ones that merely make noise in Slack. Either way, Sisyphus looks through our logs and metrics and source code, as well as analyzing its own previous investigations, to tease out what’s going on. It gives a great head start when investigating an issue (or just a flaky alert!).

      1. An agent that investigates logs.

      Every day, I get an email with interesting trends in our logs.

      1. Bots to fix flaky and slow tests.

      A bot is continuously analyzing flaky or slow tests in our CI and suggesting changes.

      1. A status page.

      status.exe.dev isn’t hosted on exe.dev. We built it ourselves, though.

      1. A system to page our phones (using the excellent and simple PushOver)

      When the aforementioned alerts fire, our phones beep very loudly. Traditionally you use PagerDuty for this, but PagerDuty’s durable asset is the entitlement for “Emergency Alerts” from Apple. Turns out PushOver has this as well, and a lovely API.

      1. An agent that supervises deploys and rollouts.

      Athena helps do rollouts. Infrastructure deploys are not instantaneous, and even the most patient operators stop paying attention. It checks metrics and logs (and has looked at the source code for what changed in this deploy).

      1. A blog CMS, with comments, collaborative text editing, embargoes, the whole nine yards

      If you’re reading this on blog.exe.dev, this ain’t Wordpress. Our blog started out as Markdown files in git, but now there’s a full-featured CMS, with collaborative editing, revision history, comments, embargoes, and a content calendar. A built-in agent (really, Shelley running on the same VM) can import a blog post from whatever you paste in.

      1. UI tests described as textual paragraphs that lazily materialize into browser instructions but self-heal

      Who are we kidding? We’re not maintaining Playwright tests by hand anymore. Shelley’s UI tests are increasingly a paragraph of text asking for some behavior. There’s a cache file (checked into git) that makes the test cheap and fast. When it fails, the CI system “heals” it with an LLM, and either fails or checks in the new fixed test. Yes, the build queue modifies the commit on its way through if necessary. More on this in a future post.

      1. Intrepid reporter bots that report on git commits, our help threads, and so on

      Every day, we get summaries in Slack about what’s happened in the past day, across git commits and such.

      Please note: if you’re writing bots that read untrusted data, understand the Lethal Trifecta: private data, untrusted content, and external communication. We happen to think that exe.dev VMs are a great place to isolate these bots, but we also make sure that the tools available to these agentic loops (an agent is just 11 lines of code: https://sketch.dev/blog/agent-loop) are limited in what they can do.

    6. đź”— @malcat@infosec.exchange Very nice step-by-step analysis of a simple telegram loader (#Teleshim) by mastodon

      Very nice step-by-step analysis of a simple telegram loader (#Teleshim) by M.Boll.

      Good material if you're starting with #malcat:

      https://www.mboll.eu/posts/sharpen_your_pencil_teleshim/

    7. đź”— r/LocalLLaMA They almost catched up on Frontier performance, so now catching up on prices rss

      They almost catched up on Frontier performance, so now catching up on prices | This is very important for us when considering local hosting. A lot of people decided not to buy expensive
      hardware because DeepSeek’s prices made it very difficult to break even given that deepseek was soo cheap.
      Also some of us use DeepSeek in routing, hosting Qwen and routing some hard tasks to DeepSeek API. what do you think about this?
      do you think raising prices will ultimately lead to another increase in NVIDIA’s GPU prices, since more and more people will now buy their own hardware? im seriously considering upgrading my stack now UPDATE: about an hour ago dax from OpenCode said that they were able to match DeepSeek's current API pricing even using rented GPUs. He believes the upcoming DeepSeek price increase is likely due to traffic shaping from overloaded infrastructure, not because they are losing money. submitted by /u/Zealousideal_Sort74
      [link] [comments]
      ---|---

    8. đź”— smol-machines/smolvm smolvm v1.7.5 release

      What's Changed

      • Ship the disk templates zstd-compressed and expand them to sparse files on first use by @BinSquare in #771
      • Copy the storage template by seeking between its data extents instead of scanning its whole logical size by @BinSquare in #770
      • Harden fused rollout lifecycle by @BinSquare in #801
      • Avoid copying CUDA module state for clone channels by @BinSquare in #804
      • Load device-resident LoRA policies through managed executors by @BinSquare in #806
      • Reject a registry-image machine that has no network at create instead of failing every start with a raw DNS error by @BinSquare in #807
      • Perform machine file reads and writes inside the running workload container so uploads are visible to exec by @BinSquare in #810
      • Reuse CUDA module handoffs across clone workers by @BinSquare in #808
      • Cache pulled OCI images on the host so repeat ephemeral machine runs skip the registry pull by @BinSquare in #805
      • Signal guest boot-readiness with an event-driven vsock doorbell as the primary ready signal, keeping the marker file and control-channel ping as fallbacks by @BinSquare in #811
      • Map CUDA module handoffs across clone workers by @BinSquare in #814
      • Preserve per-device GPU admission headroom by @BinSquare in #826
      • Promote CUDA pool readiness and refill improvements by @BinSquare in #828
      • Bump the workspace to 1.7.3 by @BinSquare in #829
      • Install the zstd-compressed disk templates in the Arch package so the build no longer fails on the removed uncompressed storage template by @BinSquare in #830
      • Set the library search path on the boot subprocess before launch so libkrun can load libkrunfw when embedded without a wrapper script by @BinSquare in #832
      • Make fork-pool lease activation retry-safe by @BinSquare in #831
      • Bump the workspace to 1.7.4 by @BinSquare in #833
      • Avoid blocking restored container state probes by @BinSquare in #834
      • Harden privileged CUDA clone startup by @BinSquare in #839
      • Harden CUDA admission calibration by @BinSquare in #840
      • Stabilize restored forkpoint activation by @BinSquare in #835
      • Coordinate clone boots across fork pools by @BinSquare in #836
      • Preserve CUDA pool refill checkpoints by @BinSquare in #841
      • Wait for explicit CUDA daemon reconstruction by @BinSquare in #844
      • Adapt CUDA admission to available GPU headroom by @BinSquare in #846
      • Persist CUDA pool refill checkpoints by @BinSquare in #845
      • Bump libkrunfw to the guest kernel with the Landlock LSM enabled by @BinSquare in #847
      • Serialize concurrent VM updates by @BinSquare in #850
      • Retry transient batch fork boots by @BinSquare in #853
      • Expose identity for direct batch forks by @BinSquare in #856
      • Bump libkrun for the mount-socket concurrent-hang fix by @BinSquare in #837
      • Wake netns TAP bridge during shutdown by @BinSquare in #860
      • Harden device adapter server startup by @BinSquare in #861
      • Run an image machine's commands inside its image on the embedded path, so a locally created machine behaves like a cloud one by @BinSquare in #862
      • Gate leases on worker readiness by @BinSquare in #858
      • Preload prepared CUDA clone modules by @BinSquare in #854
      • Note which guest paths are memory-backed and reset on restart by @BinSquare in #869
      • Let an artifact-sourced machine run without network instead of demanding a registry pull by @BinSquare in #877

      Full Changelog : v1.7.2...v1.7.5

    9. đź”— r/LocalLLaMA Qwen3.8-2.4T-A95B (aka Qwen3.8-Max) open release time: next wednesday rss
    10. đź”— jj-vcs/jj v0.44.0 release

      About

      jj is a Git-compatible version control system that is both simple and powerful. See
      the installation instructions to get started.

      Release highlights

      • Support for fetching and pushing tags has now been stabilized. Tags can be
        tracked or untracked just like bookmarks. Tracked tags are pushed by default.

      Breaking changes

      • jj git fetch now fetches tags the same way it fetches bookmarks. Tags are
        fetched as <name>@<remote>, and these remote tags are automatically tracked
        by local tags of the same name. Running jj git fetch in an existing
        repository will re-fetch all tags to initialize the tracking state.

      Git's tagOpt is no longer respected. To disable tag fetching, set
      remotes.<name>.fetch-tags = '~*' in the jj configuration.

      • jj git clone --fetch-tags=all|none|included is removed in favor of
        --tag=PATTERN.

      • jj git push --all now pushes all tags in addition to bookmarks.

      • The WorkspaceRef.root() and RepoPath.absolute() template functions now
        return Option<FsPath> and FsPath respectively, instead of String. The
        path keyword in jj config list templates now returns Option<FsPath>.

      • jj file search now prints every matched line prefixed by the file path,
        instead of only the file paths of files containing a match. Use
        --name-only for the previous behavior.
        #9399

      • Passing an argument more than once is no longer an error. The last occurrence
        wins, so jj --no-pager --no-pager version and jj log -n 5 -n 10 now work,
        and an argument baked into an alias or a wrapper can be given explicitly as
        well. Arguments that can be specified multiple times, such as --config and
        jj log -r, are unaffected and still collect all of their values.
        #8101
        #9859

      Deprecations

      None

      New features

      • New merge_point() revset function which (similar to fork_point) finds the
        point where multiple branches merge.

      • jj workspace list now shows workspace roots by default. The output can be
        customized with templates.workspace_list or -T, and WorkspaceRef.root()
        returns an optional FsPath value.
        #9713,
        #9826

      • New try(expr, fallback...) template function to suppress runtime errors.

      • jj run now processes revisions from oldest to newest by default. The start
        order is guaranteed: each revision begins execution only after the previous
        one has started, even with --jobs higher than 1.

      • jj run gained a --passthrough flag that connects the subprocess's
        stdout/stderr directly to the terminal instead of capturing output.

      • jj run gained a --ignore-changes flag to avoid editing any revisions even
        if the command modifies the working copy.

      • jj run gained a --ignore-errors flag to continue running against the
        remaining revisions even if the command exits with a nonzero exit code.

      • jj file search now supports -n/--line-number to prefix each match with
        its 1-based line number within the file.

      • jj git push gained a --allow-conflicts flag to allow pushing commits
        containing conflicts.

      • New jj tag track/untrack commands to associate local tags with remotes.
        Note that fetched tags are tracked by default.

      • Added builtin_log() revset alias for the built-in default jj log revset.
        revsets.log now defaults to builtin_log(), so custom log revsets can
        reuse the built-in default instead of copying its full expression.

      • Added config option diff.stat.max-bar-width for use with --stat to limit
        the ++-- bar width. In the templating language, diff.stat() can optionally
        take a second (positional or named) argument max_bar_width for an equivalent
        effect.

      • jj absorb now supports --interactive/-i/--tool to let you
        interactively choose which hunks from the source to consider for absorption.
        This is useful when you only want to absorb part of a commit without first
        splitting it. Any hunks that are not selected or cannot be absorbed remain in
        the source commit.

      Fixed bugs

      • Recursive alias definitions are detected more precisely. jj can now expand
        aliases that are simply repeated. For example, with the alias jj = [], the
        command jj jj jj will resolve to jj. Aliases can also fall back to the
        default command. For example, with the alias i = ["--ignore-working-copy"],
        jj i will resolve to jj --ignore-working-copy.

      • Git temporary files are now cleaned up more reliably in the presence of
        signals (e.g. Ctrl-C). This should reduce the rate of "Could not acquire
        lock for index file" errors.
        (#7530)

      • Fixed Git HEAD mismatch after the working copy became immutable.
        #9827

      • jj now creates a new working-copy revision as soon as the one of the current
        workspace becomes immutable, as well as during snapshotting. This brings the
        behavior closer to jj 0.42 and earlier.

      • Snapshotting no longer fails if the working copy contains a path whose name
        isn't valid UTF-8. Such paths can't be tracked, so they are now skipped and
        reported as a warning instead.
        #9774

      • Fixed failure when reading configuration in copied repo with an empty
        repo-level configuration directory.

      • jj diff and jj status no longer omit a rename or copy in a merge commit
        when the renamed source is present in more than one parent. The identical copy
        record reported for each parent was mistaken for a conflict and discarded.
        #9752

      • jj run no longer panics when its revset includes a conflicted commit. The
        conflict is now preserved in the rewritten commit.
        #9747

      • Fixed a panic when passing overly-large length parameters to ID templater
        functions (commit_id.short(), commit_id.shortest(), etc.).
        #9833

      • jj git import and export in colocated workspaces are now disabled by
        default. These commands usually do nothing, but they had a race condition.

      Contributors

      Thanks to the people who made this release happen!

    11. đź”— jj-vcs/jj v0.43.0 release

      About

      jj is a Git-compatible version control system that is both simple and powerful. See
      the installation instructions to get started.

      Release highlights

      • jj run allows you to run a command over a set of changes, each with their
        own private working copy; the commands may update the working copy and
        changes/conflicts are propagated accordingly, e.g., jj run -- cargo check --all-features or jj run -- cargo fix behaves as one might expect.

      Breaking changes

      • The deprecated git_head() and git_refs() functions have been removed from
        revsets and templates.

      • Git-like symbols (e.g. refs/heads/main) are no longer resolved to
        revisions. Use the bookmark/tag <name> or <name>@<remote> syntax instead.

      • The deprecated ui.revsets-use-glob-by-default option has been removed.

      • jj bookmark track/untrack no longer supports <kind>:<bookmark>@<remote>
        patterns. However, the <bookmark>@<remote> symbol syntax is still supported.
        #9226

      Deprecations

      New features

      • jj show now supports --reversed flag.

      • jj now looks for config files in /etc/jj.

      • jj config gc will delete configuration of deleted/moved repos from
        ~/.config/jj/repos folder.
        #9362

      • jj run allows you to run a command over a set of changes, each with their
        own private working copy; the commands may update the working copy and
        changes/conflicts are propagated accordingly, e.g., jj run -- cargo check --all-features or jj run -- cargo fix behaves as one might expect.

      • jj gerrit upload now supports the -o (--option) flag, which works like
        git push -o (--push-option).

      • jj git fetch now rebases the descendants of revisions that were rewritten
        based on their change IDs. Previously, when multiple bookmarked revisions
        existed in a stack, those rewritten revisions and their descendants wouldn't
        always be rebased. Note that immutable descendants will not be rebased.

      • Add a forks() revset function that yields all commits with more than 1 child.

      • colors config now supports crossed-out text styling with
        { crossed-out = true }.

      Fixed bugs

      • On Windows, querying a path's file identity no longer follows symbolic links,
        matching the behavior on Unix. Previously a symlink shared the identity of its
        target, so two symlinks pointing at the same target were treated as the same
        file. This identity check is used when writing the working copy to detect
        aliases of the reserved .git and .jj directories.
        #8924

      • jj now creates a new working-copy revision during snapshotting if the
        working copy was immutable. Previously, the new revision was created
        immediately after the working copy became immutable.
        #7751
        #9338

      • jj git remote add now warns if the new remote exactly matches an existing
        remote's fetch URL or effective push URL.
        #413

      • Fixed corrupt loose Git objects on Intel Raptor Lake CPU and aarch64.
        Previously, jj could report a successful commit even though git fsck would
        later fail with incorrect data check, corrupt loose object, or missing blob, and later jj operations could fail with corrupt deflate stream.

      Contributors

      Thanks to the people who made this release happen!

    12. đź”— matklad Zig's Io.Threaded is Neat rss

      Zig’s Io.Threaded is Neat

      Aug 6, 2026

      std.Io.Threaded is one of the implementations of Zig’s new Io interface that enables concurrency. This is a boring “just use threads” impl. I personally find it neat though — it does this weird thing that I wanted to do for ages, that to my knowledge no one else is doing properly, and implements it better than I thought to be possible.

      Io.Threaded uses blocking syscalls and fully supports cancelation.

      Concurrency vs Parallelism

      Quoting @tedinski,

      • Concurrency is about handling (asynchronous, nondeterministic) events.
      • Parallelism is about using hardware resources to do more at the same time.

      I think this definition is correct, but doesn’t provide useful intuition directly. Concurrency is the same thing as state transducers? Yes, obviously, but not really illuminating as to how you’d program the thing.

      For intuition, I like these two litmus tests. First , parallelism is deterministic or “declarative”:

      use rayon::prelude::*;
      fn sum_of_squares(input: &[i32]) -> i32 {
          input.par_iter()
               .map(|i| i * i)
               .sum()
      }
      

      You describe how to split the problem into independent partitions, and implement a function to process one partition at a time . It’s platform’s job to verify the partitioning to be correct (non-racy), process all partitions, and yield control back once that is done.

      Second , concurrency invariably involves cancelation. Whenever you have two asynchronous computations happening at the same time, there comes a moment when one computation becomes aware that the second computation is no longer necessary, and must be canceled, actively. In general, it is not possible to just wait until the other computation completes: often, the reason why you want to cancel it in the first place is precisely because you’ve learned that it can’t complete (e.g., it is waiting for a message it will never receive).

      And that is the problem with

      Just Use Threads

      Well, there are more, the chief being that, while you totally can spawn many threads, this often requires system-wide configuration change, which is a non- starter for most application. But absence of cancelation really makes you hit a wall sooner or later. The problem are syscalls. It’s easy enough, in any loopy code, to do something like

      while (true) {
          if (is_canceled()) return error.Canceld; /// Easy!
          ...
      }
      

      But, the thread is instead blocked inside the syscall in the kernel, programming language APIs generally doesn’t give any way to unblock it:

      const read_size = try read(fd, buffer); // ???
      

      Wouldn’t it be cool if we could just use standard OS threads, blocking APIs, avoid new shinies like io_uring, but still get to cancel any work reliably? That’s exactly what Zig’s std.Io.Threaded provides.

      SIGIO

      The way this works on POSIX is a bit cursed. Turns out, the kernel actually provides a roundabout way to cancel a blocking syscall — signals. When a thread is blocked in the kernel, and a signal is delivered to the thread, the thread is woken up and the syscall returns EINTR. It is customary to just loop re-try the syscall in such cases, but one doesn’t have to.

      By itself, signals are not a cancelation mechanism — signaling a thread is inherently racy, the signal might get delivered before the relevant syscall starts, or after it finishes. Conversely, a syscall might get interrupted by signal unrelated to cancelation.

      The actual protocol is that the canceling thread sets a flag in shared memory to request cancelation, and then signals the cancelee, in a loop, until the cancelation is acknowledged (a different value for a flag in the shared memory). Upon receiving EINTR from a syscall, the thread potentially being canceled checks the value of the flag and either retries the syscall, or acknowledges the cancelation and begins unwinding. See signalCanceledSyscall and, eg fileReadPositionalPosix for the two halves of the protocol.

      On the user-side, cancelation request is materialized as error.Canceled. Error management as a feature is a combination of cancelation, branching, and reporting, and Zig implements the first two. Cancelation isn’t an error not because it is serendipitous success, but because, vice versa, an error is a cancelation plus a payload.

      On Windows, there’s a much more direct NtCancelSynchronousIoFile Love the name!. In general, between fibers, IO Completion Ports, Job objects, and this, it seems that NT has a better thought through concurrency story than Unix.

      Prior Art

      In Java, there’s a similarly looking thread interruption mechanism. Critically, it doesn’t support interrupting syscalls: IOException and InterruptedException are both checked and unrelated, meaning that IOing functions are not interruptible. In Zig, reader and writer interfaces completely type erase errors and therefore support cancelation, though this requires some extra care to handle correctly, on top of the usual don’t forget to flush.

      pthread_cancel implements a similar signal+flag machinery. However, it doesn’t integrate with language-level cancelation (try, defer) which makes post-cancelation cleanup cumbersome and slow. More generally, a lot of angst around concurrency steams from a fact that it falls exactly into the twilight zone between the kernel, the runtime, and the language. There’s almost (interrupts excepted) no concurrency on the CPU, it’s an illusion with a mixed authorship. The language is usually the better equipped one to tackle the problem, but, traditionally, it is handled by the kernel and libc, with adverse effects on language design.

      Another problem with pthread_cancel is that it tears down the entire thread, which would be an OK thing to do if threads were cheap. However, creating threads is still slow, and the configured system limit for a number of threads is typically low, so its usually a good idea to pool OS threads. Zig’s Io solves this problem ingeniously, separating, at the interface level, “may run concurrently” from “must run concurrently”:

      https://kristoff.it/blog/asynchrony-is-not-concurrency/

      This achieves an effect similar to that of std::launch policy (item 36 in effective modern C++, if you have that around). By naming what is happening (io.async vs io.concurrent), Zig makes it easier to understand what is actually going on, and also gets more precise signatures (concurrent is always fallible, async never is). Of course concurrent is backed by a thread pool, falling back on spawning a fresh thread only when the pool is exhausted.

    13. đź”— Console.dev newsletter syncular rss

      Description: Offline-first SQL sync.

      What we like: Gives every client a local SQLite database with a server-side commit log. Reads & writes are local, then sync’d (offline outbox). Blobs stored as content-addressed on object storage. CRDT conflict resolution. Optional per-column E2E encryption.

      What we dislike: C FFI for non-supported languages.

    14. đź”— Console.dev newsletter Mu rss

      Description: Local tools for agents.

      What we like: MCP server with various tools for agents - news, weather, search, mail. Provides auth and a web UI for using the tools via a browser. Also provided as a CLI. Open source and self-hostable, or available via the author’s cloud service.

      What we dislike: Publicly available by default, but has options to turn off signups or just put it on a private network.

    15. đź”— New Music Releases Foo Fighters - Are Playing Where??? Vol. II rss

      Foo Fighters - a new release is available:

      • 2026-08-06: Are Playing Where??? Vol. II (EP)

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

      Visit muspy for more information.

    16. đź”— Ampcode News Portals into Orbs rss

      For remote development in orbs to be better than local dev, you need to be able to easily try out the agent's changes in your app, with live reloading. No VPN, no port juggling, and no waiting for preview deployments.

      Today, we're shipping portals, which let you access anything running in an orb that listens on a port and speaks HTTP.

      All you need to do is ask Amp: show me in a portal. Or words to that effect.

      Obviously, you can use portals to try out the features or fixes made by the agent:

      You can also annotate and comment on anything:

      But you can also have the agent build ad-hoc web apps for you to debug or understand the system:

      Portals are accessible to anyone with access to the thread. They go to sleep and wake along with your orb.

      Make a thread multiplayer with on the web, and your team members can also make changes and see them live in the portal.

      Services

      When you say show me in a portal, the agent knows to create or look for a .amp/services.yaml file and then run amp orb services <ensure|start> to run your app and expose it via HTTPS. Your app needs to respect the PORT and PUBLIC_URL env vars it's given.

      Amp will handle all of this for you; agents are really good at that kind of stuff. Commit the .amp/services.yaml file and Amp's changes to your dev server config so it's faster next time.

      What about my app's sign-in flow? What about ...?

      You don't want to waste time signing into your dev server each time. We recommend adding a way for humans and agents to bypass sign-in flows (such as username/password or OAuth) in your dev server, by visiting a URL like:

      https://localhost:2000/__dev/log-me-in/{email}?returnTo={path}
      

      We've documented this pattern and more in the portals documentation. Also see Putting an Agent in an Orb for more about how we're using portals. Tell us how else you and your agents are using portals!