🏡


  1. July 27, 2026
    1. đź”— @HexRaysSA@infosec.exchange Our Teams add-on just got a major upgrade. It now runs on top of any Git mastodon

      Our Teams add-on just got a major upgrade. It now runs on top of any Git server (GitHub, GitLab, Bitbucket, or self-hosted). Clone, analyze, commit, push — no new server, no new credentials.

      đź‘€ We're looking for qualified corporate testers (min. 2 users) to try it out at no charge. Specific eligibility terms apply.
      Email sales@hex-rays.com to see if you qualify.

      Read all about the upgrade: https://hex-rays.com/blog/teams-git-native- versioning-collaborative-reversing

    2. đź”— Locklin on science Warfighting ability rss

      Imagine you are world hegemon and some shitty little country sidles up to you with an idea of making war on some other country. How can you tell if this is a bad idea? I mean, it’s already a bad idea, how can you assess how bad an idea it might be? Despite all the […]

    3. đź”— r/LocalLLaMA Kimi K3 weights now released. rss

      Kimi K3 weights now released. | Kimi K3 weights are finally released! submitted by /u/SavunOski
      [link] [comments]
      ---|---

    4. đź”— @binaryninja@infosec.exchange Current Binary Ninja newsletter subscribers are automatically entered. New mastodon

      Current Binary Ninja newsletter subscribers are automatically entered. New subscribers who sign up during the giveaway will also be entered for remaining drawings. Sign up here: https://v35.us/dn6rcg5

    5. 🔗 @binaryninja@infosec.exchange Today we are giving away 3 Binary Ninja mugs! We’re celebrating 10 years of mastodon

      Today we are giving away 3 Binary Ninja mugs! We’re celebrating 10 years of Binary Ninja with daily prizes and 35% off all Binary Ninja products through August 1. Get the details: https://binary.ninja/10years

    6. đź”— HexRaysSA/plugin-repository commits Stop baking derived author logins into combined.json rss
      Stop baking derived author logins into combined.json
      
      The UI now groups publisher pages by metadata.repository_owner (the GitHub
      URL owner) instead of a login derived from the self-declared authors list
      (plugin-repository-ui feat/publisher-by-repo-owner), so the login /
      derivedFromName / repository_owner fields on author entries are dead weight.
      
      Authors in combined.json are now passed through as plain display-only
      {name, email} credits; derive_login and the fabricated-login fallback for
      authorless plugins are gone (they now credit the repo owner by name).
      
      Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
      
    7. 🔗 r/LocalLLaMA Jensen Huang: During the Hugging Face incident, closed AI blocked essential forensics. An open-weight frontier model helped contain the intrusion. That’s why we created the Open Secure AI Alliance. rss
    8. đź”— smol-machines/smolvm smolvm v1.7.0 release

      What's Changed

      • Bump the Nix flake to smolvm 1.6.0 by @BinSquare in #625
      • Fix the pacman repo build so it packages both architectures by @BinSquare in #626
      • Make VM boot failures diagnosable instead of opaque by @BinSquare in #627
      • docs: recommend the unix-socket docker endpoint; document the TCP alternative and its caveats by @BinSquare in #621
      • Add cuda to VmResources for CLI/SDK CUDA-over-vsock by @BinSquare in #628
      • CUDA fork independent serving: copy-on-fork isolation, graph mode, network transport by @BinSquare in #629
      • Detect a stale CUDA guest shim at boot instead of an opaque cuInit failure by @BinSquare in #630
      • feat: expose the docker-socket bridge in the machines HTTP API by @BinSquare in #631
      • Resolve a named config.User to a numeric uid for crun exec (#632) by @BinSquare in #634
      • Warn at launch when CUDA remoting is requested on a host with no usable GPU by @BinSquare in #635
      • CUDA Path 3: address-preserving per-clone-process fork isolation by @BinSquare in #633
      • Bump the workspace to 1.6.1 by @BinSquare in #641
      • Group container tasks under the sandbox shim (fixes containers on containerd 2.2+) by @BinSquare in #643
      • Rebuild the linux libkrun.so with a glibc 2.35 floor and gate it in CI by @BinSquare in #644
      • CUDA Path 3 follow-ups: fork crash fixes, zero-config forkable machines, remote (TCP) clone workers by @BinSquare in #648
      • Route smolmachine pack references through the host-side pack flow instead of the in-guest OCI puller by @BinSquare in #647
      • Stamp pushed smolmachine manifests with the OCI 1.1 artifactType and standard annotations by @BinSquare in #649
      • CUDA fork: release a torn-down golden's VRAM (close leaked export fds) by @BinSquare in #650
      • CUDA fork: fail fast when a clone's worker dies or its lineage is gone by @BinSquare in #652
      • Rename the CUDA fork env vars to describe behavior by @BinSquare in #653
      • release: bundle CUDA shims + smolvm-cuda-run in agent-rootfs by @NickyHeC in #601
      • Stream the pack overlay export to disk by @BinSquare in #654
      • CUDA image machines: run the create workload, and fail fast when no GPU host answers by @BinSquare in #655
      • feat: add --expose-socket and --mount-socket for forwarding arbitrary unix sockets by @BinSquare in #656
      • Run the pack-from-vm helper as the source VM's isolated uid so it can read the source disks by @BinSquare in #658
      • Fix silently dropped CUDA work after a fork-clone reconnect, and rebuild captured graphs in clone workers by @BinSquare in #659
      • Gate engine PRs on compiling the smol CLI and script the release cut by @BinSquare in #661
      • Export the pack sidecar, not the executable stub, when a machine is exported by @BinSquare in #662
      • Route fork clones to workers by an explicit connection preamble so a golden's reconnect can never be misrouted by @BinSquare in #663
      • Never LRU-evict the reference-shared pack store by @BinSquare in #666
      • Fail an image machine's start when the image pull fails by @BinSquare in #669
      • Flatten from-vm packs to a single layer and share the pack export, workload launch, and machine-create env handling in the lib by @BinSquare in #668
      • Cap keep-alive exec output so oversized results return a clear error instead of a frame-too-large crash by @BinSquare in #670
      • Fix file-upload body limit and clarify the oversized-exec-output guidance by @BinSquare in #671
      • CUDA fork: sync-call retry, allocation burst, multi-GPU pinning, sandboxed serve, and machine-create workload by @BinSquare in #672
      • Reload clone-worker modules byte-identical to the golden's images by @BinSquare in #673
      • Recover fork clones whose worker died, and give clone reconnects a real handshake window by @BinSquare in #675
      • CUDA 13 guest surface by @LoganGrasby in #674
      • Re-key the golden's persistent exec overlay to the clone so forks inherit filesystem state by @BinSquare in #677
      • Replay function attributes on clone-worker kernels, and print backtraces on fatal signals by @BinSquare in #676
      • nix/smolvm: bump to v1.6.13 by @BinSquare in #678
      • Route a fork clone's execs to its inherited overlay and heal the restored stale mount by @BinSquare in #680
      • Make fork clones restartable and refuse deleting a golden that still backs live clones by @BinSquare in #683
      • Advertise the CUDA 12.4 surface by default; cu13 wheels opt in via SMOLVM_CUDA_ADVERTISE by @BinSquare in #681
      • Fail a from-vm pack of a never-started machine with a clear error and stop leaking scratch dirs on failed helper boots by @BinSquare in #682
      • Enforce the exec timeout in the keep-alive container path so an image machine's exec honors its deadline by @BinSquare in #684
      • Make a provisioned local volume writable by the per-VM uid that mounts it by @BinSquare in #685
      • Stream exec output live over SSE instead of buffering the whole command to completion by @BinSquare in #686
      • Run a background exec detached inside the machine's keep-alive container so the process survives instead of dying within seconds by @BinSquare in #687
      • chore(libkrun): bump for macOS balloon free-page reclaim by @BinSquare in #689
      • Fix fork-clone serving, sm90 in-VM support, and per-replica module shipping by @BinSquare in #690
      • Enable ring transport and CUDA-graph capture for in-VM serving by @BinSquare in #692
      • Fixing some generic findings from six QA by @BinSquare in #691
      • Relaunch the workload and refresh config from the record on implicit starts by @BinSquare in #694
      • agent: idle balloon-pulse reclaim, on by default by @BinSquare in #693
      • chore(libkrun): bump for balloon cleanup and clone-reclaim persistence by @BinSquare in #696
      • Fork clones reuse the golden's extracted pack layers by @BinSquare in #703
      • Per-fork parameters: machine fork --env KEY=VALUE by @BinSquare in #705
      • Validate resources in the create-machine API so invalid cpu/memory is rejected at create by @BinSquare in #704
      • Block /boot from being mounted into a guest by @BinSquare in #706
      • Validate request env var names on create/exec/run by @BinSquare in #709
      • Take the lifecycle lock when resizing a machine by @BinSquare in #708
      • Reject cmd/entrypoint on an imageless machine create by @BinSquare in #707
      • Don't leak the internal log path when a machine has no logs yet by @BinSquare in #712
      • Remove the dead exec_machine handler and its duplicate OpenAPI exec path by @BinSquare in #716
      • Don't orphan the agent VM when an image pull fails during start by @BinSquare in #714
      • Reject duplicate guest mount targets on the HTTP create path by @BinSquare in #717
      • Validate published ports on the HTTP create path by @BinSquare in #720
      • Hold the lifecycle lock during machine export by @BinSquare in #719
      • Report the real /dev/kvm access failure on post-uid-drop boot failures by @BinSquare in #718
      • Canonicalize the volume path in the deprovision safety guard by @BinSquare in #711
      • Refuse to stop a fork base that has live clones by @BinSquare in #727
      • Validate pinned ports on fork by @BinSquare in #725
      • Validate egress CIDRs on the HTTP create path by @BinSquare in #721
      • Return a clean error instead of panicking on a NUL byte in allow-CIDR/allow-host by @BinSquare in #733
      • Reject duplicate guest mount targets on machine update by @BinSquare in #724
      • Correct the safe_unpack doc comment to match its actual symlink handling by @BinSquare in #736
      • Reject a duration whose seconds value overflows u64 in parse_duration_secs by @BinSquare in #735
      • Close a delete/fork race that could orphan a fork clone's disks by @BinSquare in #726
      • Keep an explicitly stopped machine stopped under restart policies by @BinSquare in #723
      • Register the machine /resize route by @BinSquare in #715
      • Clone graph capture-replay: forked VMs serve with CUDA graphs by @BinSquare in #695
      • Add per-fork secrets to the fork API so each clone gets its own secrets, resolved fresh per exec by @BinSquare in #731
      • Fix the CUDA guest crate builds so they compile without the host feature and on macOS by @BinSquare in #737
      • Fix fork weight sharing so clones import one copy of the weights instead of each privately copying them by @BinSquare in #741
      • Map shared weight chunks read-only so a stray post-fork base write cannot corrupt sibling clones by @BinSquare in #742
      • Bump libkrunfw to the DRM-enabled build so --gpu exposes /dev/dri by @BinSquare in #739
      • docs: describe CUDA API remoting in README by @NickyHeC in #740
      • tiny fix: machine create --from discards --mount-socket and --expose-socket by @Bnjoroge1 in #746
      • Cuda runtime fixes by @BinSquare in #747
      • Attach the machine id to the request span so failures are attributable to a machine by @BinSquare in #748
      • Name the missing credential when a registry denies the pack probe, and reuse a configured image credential for it by @BinSquare in #750
      • Accept registry credentials on machine start so private third-party images can be pulled by @BinSquare in #751
      • Refuse to resize a fork base that has live clones by @BinSquare in #728
      • Classify forking a non-forkable golden as 409, not 500 by @BinSquare in #710
      • Bump the workspace to 1.7.0 for the next engine release by @BinSquare in #752

      New Contributors

      Full Changelog : v1.6.0...v1.7.0

    9. đź”— HexRaysSA/plugin-repository commits sync repo: +1 release, -1 release rss
      sync repo: +1 release, -1 release
      
      ## New releases
      - [idalib-rust-bindings](https://github.com/idalib-rs/idalib): 0.10.0
      
      ## Changes
      - [IDASQL](https://github.com/allthingsida/idasql):
        - removed version(s): 0.0.8
      
  2. July 26, 2026
    1. đź”— IDA Plugin Updates IDA Plugin Updates on 2026-07-26 rss

      IDA Plugin Updates on 2026-07-26

      New Releases:

      Activity:

      • augur
      • haruspex
      • ida-ios-helper
        • 066bb214: Merge pull request #24 from OmerMiz1/feature/swift-update-metadata-sh…
        • 156357c3: swift_types: Parsing access to VWT via Swift::Metadata* looks cleaner…
      • ida-pro-mcp
        • 951e6ab4: Merge blackboard-workspace: investigation workspace + IDB round-trip
        • c42f81c6: Close the loop between the workspace and the IDB.
        • 51de46ce: Turn the blackboard into a workspace that answers back.
        • 51872c9d: Rewrite the README around what the project actually does.
        • 6c9cfb3c: Stop the analysis layer from presenting invented detail as evidence.
        • 912b13c0: Correct the changelog's list of removed test files.
        • 7178ed24: Purge ghost tool entries from dev scripts and sync the docs.
        • 35d12ffd: Make the health-race test actually reject the unlocked implementation.
        • aad5c9cc: Fix five host-side safety defects and cover them with tests.
        • 57826aab: Delete the dead analysis-engine, threat-hunt, and mbagcn subsystems.
        • 6c776b88: Make the session ownership guard inheritable instead of fail-open.
      • ida_9.3_python_plugin_fixes
      • idalib
      • IDAPluginList
        • cd4b6883: chore: Auto update IDA plugins (Updated: 19, Cloned: 0, Failed: 0)
      • idasql
        • 6dc26dcf: release: add v0.0.18.1 multi-SDK builds (#55)
      • qscripts
        • 9ea89e27: ci: package release as per-IDA-version zips with per-OS/arch subfolders
        • b9c82223: qscripts: multi-SDK (9.2-9.4) + Windows/Linux ARM64, updated ida-cmak…
      • rhabdomancer
      • twdll
        • 9dc4deea: refactor
        • 22224378: feat: add SetFactionLeader func with small refactor for exposing game…
    2. đź”— Jeremy Fielding (YouTube) Update On The Bee Chaser and WALL E rss

      Discord 👉https://discord.gg/F3XuyhNRPc New Facebook 👉https://www.facebook.com/profile.php? Instagram 👉 https://www.instagram.com/jeremy_fielding/?hl=en

      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

      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/ Facebook 👉https://www.facebook.com/profile.php?id=61591852348093 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

    3. đź”— r/LocalLLaMA Do you want new Gemma? rss
    4. đź”— mhx/dwarfs dwarfs-0.15.6 release

      Bug fixes

      • Canonicalizing the mount point path in 0.15.4 fixed a bug on Linux, but introduced a new bug on Windows. With canonicalized paths, WinFsp does no longer allow mounting a DwarFS image unless MountUseMountmgrFromFSD is set to 1 in the registry. The fix is to only perform canonicalization on non-Windows platforms. Fixes GitHub issue #375.

      • Ensure UTF-8 safe number formatting on Windows. DwarFS historically uses char and UTF-8 for anything internally. That doesn't play nicely when it comes to stream formatting, in particular numbers, on Windows. The Linux world has workarounds for this in std::numpunct, but Windows does not and will happily return characters that are invalid UTF-8, which will eventually cause the fmt library to fall over. This change checks if the current locale requires number formatting characters that would end up as multi-byte UTF-8 sequences. If so, it will install a "safe" std::numpunct facet as well as a custom fmt::format_facet. The former will simply turn off fancy number formatting, while the latter will override formatting in the fmt library and use UTF-8 strings instead of single byte characters. This was discovered in the log output from GitHub issue #375.

      Other

      Full Changelog : v0.15.5...v0.15.6

      SHA-256 Checksums

      be22d1ef7e5a044d6f239a6e17d8e203f2226f8381d51c0dd5f2185705f871c3  dwarfs-0.15.6-Linux-aarch64.tar.xz
      d0ecfa777f8cae647abbb8ebedd2e8a13fdd7461aba4046be80572202144b825  dwarfs-0.15.6-Linux-arm.tar.xz
      914561a02ec1b9902b3256426a6b617210286904e20ca0e4c18b3ac9a5eeba27  dwarfs-0.15.6-Linux-i386.tar.xz
      2e049b0d2e6f1adab04e3da3dcf0a17684a464106a16350f1b6c3017602d322e  dwarfs-0.15.6-Linux-loongarch64.tar.xz
      0853633a7097e322b397bb760df9399f6deeb7a269e4d3585d3a4258ebce14f6  dwarfs-0.15.6-Linux-ppc64le.tar.xz
      88f9a7d81c09be3b211e1b5f4b4f589e15fb7c66e561f24848d06ef54f680383  dwarfs-0.15.6-Linux-ppc64.tar.xz
      1474e8ccde21f7d58d73ba641b372c137b17ebc935bb9000b0156e0902577928  dwarfs-0.15.6-Linux-riscv64.tar.xz
      a198b4674d90c77543891ba921dd5a6e164706176bded53b4e44bfd110505dd5  dwarfs-0.15.6-Linux-s390x.tar.xz
      a73d71ca5a0fe0afae4c096e0c6ab61145e825295e7d269f69e46be44a181374  dwarfs-0.15.6-Linux-x86_64.tar.xz
      087b77c1d6a1f253df896b054f95ef17469c63b00be51f4d081633cc8817481c  dwarfs-0.15.6.tar.xz
      3a861a2a35c1031da01a30eaed4d9c8031363253d369e7d0f8f999c1b0edbb06  dwarfs-0.15.6-Windows-AMD64.7z
      c71ef8090dd419857eb7f3ebfe65c32b73c827269c18e3e0efc98318bae4451f  dwarfs-fuse-extract-0.15.6-Linux-aarch64
      709802655dcb9755531956261db0cae4e6e0bcd80b536266b87652a2cd591aa2  dwarfs-fuse-extract-0.15.6-Linux-aarch64.upx
      35867c6b436a14e8375fd7ca5bdab6b723a435c700c47377f5d723bacb14f7b5  dwarfs-fuse-extract-0.15.6-Linux-arm
      a1b95c4d754e8c79ed3e58fe6ca226befae3ca68beb8bce4ed828a7f6950c864  dwarfs-fuse-extract-0.15.6-Linux-arm.upx
      e40e96c490213ee6e8af44a64d41f6929a1510f40c049e46cdf8976e9e4483b1  dwarfs-fuse-extract-0.15.6-Linux-i386
      a3dac48b63dd1e0d9158b4407fdfc233782cedbe733a2898dfc0e1da3e26c048  dwarfs-fuse-extract-0.15.6-Linux-i386.upx
      5dfdae7452c7579bfad39d6505e8f7ce3f37ebe61d8d353343e813a4f0ffeee8  dwarfs-fuse-extract-0.15.6-Linux-loongarch64
      5b23c25260dc49d6ab4278b31b25f0706370b8ad34faf14b6f2546ff0841318a  dwarfs-fuse-extract-0.15.6-Linux-ppc64
      a748502b283f1967c5ed44cbac3c03adda066af506ad0999b32512700013ff3b  dwarfs-fuse-extract-0.15.6-Linux-ppc64le
      c33786ef9b0a3733e4aa79bd8062e535fdfeed83b5332b8d6cc48830718bd2e4  dwarfs-fuse-extract-0.15.6-Linux-riscv64
      da8ea894e7de150473aecf109d5ab0bf4731c5f7d417a030b884e8fe57694ae8  dwarfs-fuse-extract-0.15.6-Linux-riscv64.upx
      06d21fc857b4f7998d880791298675e002a24e744c2ccaac8c3e2de200483c56  dwarfs-fuse-extract-0.15.6-Linux-s390x
      415f6cce29d5fcb106ce2a12b33d711d0a810a40b1d3f36ce688b4fcaa018674  dwarfs-fuse-extract-0.15.6-Linux-x86_64
      b13720b1d75e02db29fa5ca358b96f2a58a8b3641b7d79ea1e90e5aa00ca56e8  dwarfs-fuse-extract-0.15.6-Linux-x86_64.upx
      2d513c43ad652163e5e31c1a96f3c736e7e188e661ff62fc9143ea7147bd936b  dwarfs-universal-0.15.6-Linux-aarch64
      75d7ccfe6a0fde83942054495c0a6e075556e9a2346fbb9d3052ca8e27b8d7d0  dwarfs-universal-0.15.6-Linux-aarch64.upx
      9e411fd7e6827a882052d64c64e4f63e1d02e2aa6a474e7bd7dc28408dbde62d  dwarfs-universal-0.15.6-Linux-arm
      f19a01ee5f6a7c08421ba039c64ec5cea9bd8a7c8e6573df97204f690b439f20  dwarfs-universal-0.15.6-Linux-arm.upx
      194ad408520706b462c7d89ae3fc14d9f39c4b438017aafb864c5f8d8a542aa3  dwarfs-universal-0.15.6-Linux-i386
      94cad5fa18392eeb861ab81fd6fbae3b28cd1e5eaf6007a016bf88952cb7dff0  dwarfs-universal-0.15.6-Linux-i386.upx
      16d3d9df8cedcf7690006006f6d994545fa096204e7fc78ef567234026e4fec6  dwarfs-universal-0.15.6-Linux-loongarch64
      cfd7dd8dcada898d4f4f94bcf671596fd868dd043f00d47fd394e633444dcf37  dwarfs-universal-0.15.6-Linux-ppc64
      2b71960672c108e413ef473b8a726feb858782ff3c9c28b6f4616e10097b0452  dwarfs-universal-0.15.6-Linux-ppc64le
      b20be0530cbf1662d6b9e5ba27a57537e3bf50f90cdd6bb7922327b62f5f9417  dwarfs-universal-0.15.6-Linux-riscv64
      69aa2b820f77ca226b78c54cb3962a67039d1da7e9072b989ec73cf653b1b032  dwarfs-universal-0.15.6-Linux-riscv64.upx
      5b36eceaf673f50da90d858d49d87139783ee3fb5acd504c44574103adf56f2a  dwarfs-universal-0.15.6-Linux-s390x
      50891c38ba359db8271819a6cbf6aaa8068681523f0c4f2b8242007a45edaa28  dwarfs-universal-0.15.6-Linux-x86_64
      8cba2be06f0dd8ce1396a2ada5777d97d24d4dc561ca9eb816207703757a4959  dwarfs-universal-0.15.6-Linux-x86_64.upx
      bfbc70e4dc060cf4f1b799bb3af6e31808495e993dbcacc7dbc5cf45776c49f4  dwarfs-universal-0.15.6-Windows-AMD64.exe
      ad83d23655b98d4baa802e1c0e52f00082a43bee4586f237f2239ec3633b7815  dwarfs-universal-small-0.15.6-Linux-aarch64
      a044c91667d8f0060ddc1fd8e5e5bce7b8f84f6f0c90e819a780434972354d61  dwarfs-universal-small-0.15.6-Linux-aarch64.upx
      539249b247b3c24a4fb44f60fa9825aaea47288a051998b8d038508fdf0103d1  dwarfs-universal-small-0.15.6-Linux-arm
      bdca6720331aad331b9f2c75c115562ec7b1a41e3636fa2bec773421d8b83fc9  dwarfs-universal-small-0.15.6-Linux-arm.upx
      afd622ea87f3a0c540e0e513037cf1f5bb63103da3a0a5ba849ff2a401fc7d5e  dwarfs-universal-small-0.15.6-Linux-i386
      fa39ce4b1303a48353bbf407f420ff274d7ba33179fa3c9513c62ac6556bb607  dwarfs-universal-small-0.15.6-Linux-i386.upx
      4fe920480b23c83602f8cbe1a5faa1e9eed325cfdb478c42cf70b7b66e48fdc9  dwarfs-universal-small-0.15.6-Linux-loongarch64
      d80476b302b5dada5d271ff5a7e1541c608abd07e05140df26a2530fd87f1304  dwarfs-universal-small-0.15.6-Linux-ppc64
      85a391ec61ea40f40a42d52f061dd88df2f6e7d9ccf8e6d5f8c12d2a288726c2  dwarfs-universal-small-0.15.6-Linux-ppc64le
      80abd9830c3fb9365a979c0a1a9f2a1724f38a74cec1c2a8fb91ad6d288a9a9b  dwarfs-universal-small-0.15.6-Linux-riscv64
      efdb3c951080a0274b0a6647e1137e90c6443691017340701d355c499496ce74  dwarfs-universal-small-0.15.6-Linux-riscv64.upx
      5ea8f5f9541aff2d599d7e5e1537a2da4f30ad7a82fc52be9baec9c8e72592c6  dwarfs-universal-small-0.15.6-Linux-s390x
      34c07feff376458a3da11c2b22da5f553d51153b4c8308628af0133ea9bca6d5  dwarfs-universal-small-0.15.6-Linux-x86_64
      d31695e1d8a85750e18c845c038d433f3387aa728673294b0b7b0f1739cdd950  dwarfs-universal-small-0.15.6-Linux-x86_64.upx
      
    5. đź”— r/LocalLLaMA Sources: OpenAI and Anthropic quietly lobby Washington regulators to restrict open-source AI models, even as Sam Altman publicly says he supports open source AI rss

      Sources: OpenAI and Anthropic quietly lobby Washington regulators to restrict open-source AI models, even as Sam Altman publicly says he supports open source AI | submitted by /u/pscoutou
      [link] [comments]
      ---|---

    6. đź”— @binaryninja@infosec.exchange Current Binary Ninja newsletter subscribers are automatically entered. New mastodon

      Current Binary Ninja newsletter subscribers are automatically entered. New subscribers who sign up during the giveaway will also be entered for remaining drawings. Sign up here: https://v35.us/dn6rcg5

    7. đź”— @binaryninja@infosec.exchange Our 10-year anniversary giveaways continue! Today, 1 very lucky winner will mastodon

      Our 10-year anniversary giveaways continue! Today, 1 very lucky winner will receive free entry to our Intro To Binary Ninja online training class. Make sure you’re subscribed to our newsletter to be entered: https://binary.ninja/10years

    8. 🔗 r/LocalLLaMA CEO of Hugging Face: "In the spirit of transparency, here’s what I asked OpenAI" rss

      CEO of Hugging Face: "In the spirit of transparency, here’s what I asked OpenAI" | clem 🤗 on 𝕏: https://x.com/ClementDelangue/status/2081056675558195657 • Radical transparency: let’s release the traces from the “rogue” agents so the entire research community can study what happened. • More capabilities for defenders: let’s commit $100M in compute from OAI to help the Hugging Face community build powerful cyber defenses with the best open and closed models. The first autonomous agent cyberattack is an unprecedented event. It deserves an unprecedented response! submitted by /u/Nunki08
      [link] [comments]
      ---|---

    9. đź”— r/LocalLLaMA Karparthy removed Anthropic from his bio rss

      Karparthy removed Anthropic from his bio | Andrej Karpathy, a prominent advocate for open-source AI and a co-founder of OpenAI, appears to have removed Anthropic from his X bio, suggesting he may have left the company. Karpathy joined Anthropic only a few months ago, making the apparent departure somewhat surprising. This is possibly related to Anthropic’s increasingly strong opposition to open-weight and open-source AI models. Of course, that’s just speculation, but the timing is interesting. submitted by /u/ResearchCrafty1804
      [link] [comments]
      ---|---

  3. July 25, 2026
    1. đź”— IDA Plugin Updates IDA Plugin Updates on 2026-07-25 rss

      IDA Plugin Updates on 2026-07-25

      New Releases:

      Activity:

      • ffxiv_bossmod
      • ida-multi-mcp
        • 2ac155a0: Merge pull request #30 from MeroZemory/feat/compat-guards
        • d93de799: fix: pin UTF-8 on every text file we read or write
        • 6f95cbef: docs(analysis): stop presenting the completion flag as a latch
        • c047d64d: fix(analysis): make analysis_wait honour its timeout, and stop pinnin…
        • 66063dd0: docs: split reference material out of the README
        • 7d9054c3: fix(router): keep the analysis warning on truncated results
        • 1798b2f3: feat(mcp): tell the agent to gate on auto-analysis, in three places
        • 09b8c6ba: feat(analysis): make auto-analysis completion detectable, and fix the…
        • 8dff433e: docs: collapse reference sections and drop the AmpCode example
        • 88fd6c54: fix(compat): shim the IDA APIs that moved, and fix infer_types on 9.x
        • 5ec6bb48: Merge pull request #29 from MeroZemory/docs/readme-modernize
        • 3a72c628: docs: modernize README and correct the tool-count claims
        • f0cae87d: Merge pull request #28 from MeroZemory/feat/native-cancellation
        • 9cea4c13: feat(sync): make the native-cancel grace window configurable
        • 4bcb6126: feat(sync): fire ida_kernwin.set_cancelled() at the tool deadline
        • 476748ca: Merge pull request #27 from MeroZemory/perf/concurrent-stdio-dispatch
        • bcad0482: perf(router): dispatch stdio requests concurrently
      • IDAPluginList
        • cef538dc: chore: Auto update IDA plugins (Updated: 19, Cloned: 0, Failed: 0)
      • Luc-Nhan
    2. đź”— r/LocalLLaMA Seriously, what do you do with them? rss

      Seriously, what do you do with them? | Please let me know which small LLM model you're using and what you're using it for. submitted by /u/International-Car643
      [link] [comments]
      ---|---

    3. đź”— r/LocalLLaMA Great Arguments by Member of Technical Staff at Anthropic :D rss
    4. đź”— r/LocalLLaMA Google comes out in favor of OpenWeight models. (It is now EVERY tech giant vs Anthropic) rss
    5. đź”— @binaryninja@infosec.exchange Current Binary Ninja newsletter subscribers are automatically entered. New mastodon

      Current Binary Ninja newsletter subscribers are automatically entered. New subscribers who sign up during the giveaway will also be entered for remaining drawings. Sign up here: https://v35.us/dn6rcg5

    6. 🔗 @binaryninja@infosec.exchange It’s day 3 of our 10-year anniversary celebration! Today, 3 winners will each mastodon

      It’s day 3 of our 10-year anniversary celebration! Today, 3 winners will each receive a Binary Ninja Journey bottle! Newsletter subscribers are automatically entered. Check out full list of giveaways: https://binary.ninja/10years

    7. đź”— Anton Zhiyanov Solod 0.3: Concurrency, JSON, more safety rss

      Solod (So) is a subset of Go that translates to regular C — with zero runtime, manual memory management, and source-level interop. It's designed for two main audiences:

      • Go developers who want low-level control without having to learn another language.
      • C developers who like Go's style.

      At the end of the v0.2 post, I said the obvious goal for the next release was concurrency, along with the stdlib packages that support it. That's what v0.3 is about. So now has threads, channels, worker pools, mutexes, and atomics — enough tools for parallel data processing or handling network connections.

      This release also adds a streaming JSON package, a bunch of safety checks (escape analysis, leak checking, nil-pointer panics, stack traces), and proper so test and so bench commands.

      Threads • Channels • Worker pools • Sharing state • JSON • Safety net • Tooling • Wrapping up

      Threads The new conc package is the foundation. It provides real OS threads, backed by pthreads. If you're familiar with Go's goroutines, the code will look similar — but there are some important differences. // greet prints a label three times. func greet(arg any) any { from := arg.(string) for i := range 3 { println(from, "->", i) } return nil } func main() { // Run greet on a separate OS thread, concurrently with main. name := "thread" th := conc.Go(greet, name) // Wait blocks until the thread finishes. th.Wait() println("done") } thread -> 0 thread -> 1 thread -> 2 done Solod doesn't support closures, so conc.Go takes a function and an any argument, instead of just a func() like you'd expect in Go. Other important differences: starting an OS thread isn't free, and you always have to Wait on it (or Detach it), or it will leak. That makes conc.Go a good fit for a small, fixed number of long-lived threads — but not for thousands of short-lived tasks. For those cases, it's better to use a pool (shown below). Channels Threads in Solod communicate with each other through channels, like goroutines in Go. A channel carries values of a specific type. By default, sending or receiving on a channel blocks until both sides are ready, so a channel also works as a synchronization point. // ping sends a single message on the given channel. func ping(arg any) any { messages := arg.(*conc.Chan[string]) messages.Send("ping") return nil } func main() { // An unbuffered channel (buffer size 0): each send blocks // until a receiver is ready to take the value. messages := conc.NewChan defer messages.Free() // Launch a thread that sends "ping" into the channel. th := conc.Go(ping, &messages) defer th.Wait() // Receive the message and print it. var msg string messages.Recv(&msg) println(msg) } ping A couple of So-specific moments here. When you create a channel, you give it an allocator (mem.System in this case), and you call Free when you're done with it. Also, Recv writes to a pointer you pass in, instead of returning the value directly. It returns a bool, which is false when the channel is closed and empty. So, a typical for msg := range ch loop in Go becomes for ch.Recv(&msg) { ... } in Solod. Allocators are a key concept in Solod. The language doesn't allow hidden heap allocations, so any function that needs to allocate memory must take an allocator (the mem.Allocator interface) as its first argument. Buffered channels can hold a limited number of values without having a receiver ready — just pass a non-zero size with NewChan. If you don't want to block forever, use RecvTimeout or SendTimeout with a duration. They return conc.Ok or conc.Timeout instead of getting stuck. Worker pools

      Threads are expensive, so spawning one per task doesn't scale. For handling many short-lived tasks, use conc.Pool: it uses a fixed number of worker threads that take tasks from a queue.

      // job holds input and the result.
      type job struct {
          id     int
          result int
      }
      
      // process handles one job.
      func process(arg any) {
          j := arg.(*job)
          time.Sleep(100*time.Millisecond)
          j.result = j.id * 2
      }
      
      func main() {
          // A pool of 4 worker threads. Each submitted job is handled
          // by the next available worker.
          pool := conc.NewPool(mem.System, conc.PoolOptions{NumThreads: 4})
          defer pool.Free()
      
          // Submit 8 jobs. Each writes into its own struct, so keep
          // the structs alive in a slice until the jobs finish.
          start := time.Now()
          jobs := make([]job, 8)
          for i := range jobs {
              jobs[i].id = i + 1
              pool.Go(process, &jobs[i])
          }
      
          // Wait until all submitted jobs have finished.
          pool.Wait()
      
          for i := range jobs {
              println("job", jobs[i].id, "->", jobs[i].result)
          }
          elapsed := time.Since(start) / 1_000_000
          println("took", elapsed, "ms")
      }
      
      
      
      job 1 -> 2
      job 2 -> 4
      job 3 -> 6
      job 4 -> 8
      job 5 -> 10
      job 6 -> 12
      job 7 -> 14
      job 8 -> 16
      took 200 ms
      

      pool.Wait() works similar to Go's WaitGroup.Wait — it blocks until all submitted jobs are finished. This program takes about 200 ms to run (even though there's 800 ms of total work), because 4 workers run concurrently.

      You might think OS threads are much slower than Go's goroutines, but for pools, that's not the case. On realistic workloads, conc.Pool is usually only about 10% slower than Go, whether the tasks are CPU-bound or waiting on I/O. Channels are a different story: handing off work between threads requires a kernel wakeup, while Go does this in user space, so it can be several times slower. Check out Go-flavored concurrency in C for more details.

      Sharing state One way to share state in Solod is by using channels to communicate it. However, sometimes you just need a shared counter or a lock. For that, the new release introduces the sync and sync/atomic packages. Here's an example of an atomic counter being updated by 50 tasks running on 4 threads: // increment atomically increases the shared counter 1000 times. func increment(arg any) { ops := arg.(*atomic.Uint64) for range 1000 { ops.Add(1) } } func main() { // An atomic value is safe for concurrent reads and writes. var ops atomic.Uint64 pool := conc.NewPool(mem.System, conc.PoolOptions{NumThreads: 4}) defer pool.Free() // 50 tasks, each incrementing the counter 1000 times. for range 50 { pool.Go(increment, &ops) } pool.Wait() println("ops:", ops.Load()) } ops: 50000 A regular int incremented with ops++ would cause a data race and give a different result each time. Here, the result is exactly 50,000 on every run, thanks to the atomic Uint64 counter. The atomic package provides Int64, Uint64, Bool, and Pointer[T] types, all of which are lock-free and safe for concurrent use. For anything more complex than a counter, use sync, which provides Mutex, Cond (a condition variable), and Once (runs a function exactly once). One thing to watch out for: unlike Go, a So mutex's zero value isn't ready to use — you need to Init it before locking and Free it when done. var mu sync.Mutex mu.Init() defer mu.Free() mu.Lock() defer mu.Unlock() // ... critical section ... JSON Go's encoding/json relies on reflection to marshal arbitrary structs. Solod has no reflection, and uses a different approach: a token-level API. You read and write one JSON token at a time, and the Encoder and Decoder types take care of the syntax — adding commas and colons, checking UTF-8, and rejecting bad input. Encoding is done through a series of calls that match the structure of your document: out := make([]byte, 256) sb := strings.FixedBuilder(out) enc := json.NewEncoder(&sb) enc.BeginObject() enc.Str("name") enc.Str("Alice") enc.Str("age") enc.Int(25) enc.EndObject() enc.Flush() println(sb.String()) {"name":"Alice","age":25} Decoding pulls one validated token at a time with Next. You can check each token with Kind and read its value using typed getters like Str, Int, or Bool: src := `{"name":"Alice","age":25}` dec := json.NewDecoder(mem.System, []byte(src)) defer dec.Free() var name string var age int64 dec.Next() // the opening { for dec.Next() && dec.Kind() == json.KindString { switch dec.Str() { case "name": dec.Next() name = dec.Str() case "age": dec.Next() age = dec.Int() default: dec.Next() dec.Skip() } } println(name, age) Alice 25 This is a simplified example that works only because the decoder doesn't allocate any memory. In a real-world situation, you'd need to use an allocator. The decoder works the same way whether you're using an in-memory document (NewDecoder) or reading from a stream with an io.Reader (NewReader). This means you can decode data directly from a source without having to buffer the entire message first. Both the encoder and decoder use minimal memory and will reject invalid JSON or non-UTF-8 strings. As you can see, API is low-level and not nearly as ergonomic as it is in Go, especially when it comes to decoding. But on the bright side, it's 10 times faster and almost doesn't allocate, unlike in Go. Safety net Solod compiles to plain C, which is fast but not very forgiving: if you use an out-of-bounds index, dereference nil, or divide by zero, you get undefined behavior that could crash the program or silently give wrong results. The new release addresses some of these issues. Escape analysis. Returning a pointer to a stack-allocated value is a classic C footgun. So now catches the common cases at compile time: type Point struct{ x, y int } func newPoint(x, y int) *Point { return &Point{x: x, y: y} // ^ compile-time error: stack-allocated // value escapes function frame } func main() { p := newPoint(3, 4) println(p.x, p.y) } so run: /tmp/sandbox/main.go:26:12: stack-allocated value escapes function frame return &Point{x: x, y: y} ^here (exit status 1) While the escape analyzer doesn't catch every case, it's still quite useful in practice. I actually found a couple of dangling pointers in the standard library code with it, even though I was sure there weren't any. Leak detection. Solod has no garbage collector, so a forgotten Free is a real memory leak. mem.Tracker helps catch these leaks: it wraps an allocator and keeps track of every allocation and free that goes through it. This way, you can monitor the program's memory usage in real time instead of guessing. Wrap mem.System once, allocate memory through the tracker, and have a background thread log the stats at regular intervals: // monitor periodically logs live allocation stats. func monitor(arg any) any { t := arg.(*mem.Tracker) for { time.Sleep(100 * time.Millisecond) s := t.Stats() println("live:", s.Mallocs-s.Frees, "allocations,", s.Alloc, "bytes") } return nil } func main() { // Wrap the system allocator to count every allocation and free. heap := &mem.Tracker{Allocator: mem.System} // Watch memory from a background thread. conc.Go(monitor, heap).Detach() // Allocate through heap so the monitor sees it. for i := range 10 { v := mem.Alloc // intentionally not freeing it *v = i time.Sleep(50*time.Millisecond) } // ... } live: 2 allocations, 16 bytes live: 4 allocations, 32 bytes live: 6 allocations, 48 bytes live: 8 allocations, 64 bytes live: 10 allocations, 80 bytes The tracker is lock-free and only uses a few atomic operations for each allocation, so it's cheap enough to keep enabled in production. Nil-pointer panics. If you try to dereference a nil pointer, it will cause a panic at runtime instead of a raw segmentation fault: type Rect struct{ width, height int } func (r *Rect) area() int { return r.width * r.height // ^ runtime error: nil pointer dereference } func main() { var r *Rect println(r.area()) } panic: nil pointer dereference Stack traces. When a program panics, the -panic flag controls what happens next: so run -panic=trace . # print a stack trace, then exit(1) - the default so run -panic=exit . # just exit(1) after the message so run -panic=abort . # raise SIGABRT for a debugger or core dump Stack trace frames represent each function in the call chain: func main() { Work() } func Work() { res := Calc(42) println(res) } func Calc(x int) int { if x == 42 { panic("can't handle 42") } return x * 2 } panic: can't handle 42 /tmp/solod_build764532392/main.c:27 (func main_Calc) /tmp/solod_run1106942066(main_Calc+0x51) /tmp/solod_run1106942066(main_Work+0x12) /tmp/solod_run1106942066(main+0x9) The same system handles assertions like slice bounds, index-out-of-range, c.Assert, and similar checks. Instead of calling C's assert, they panic in a way that respects the -panic flag. There's also a new -sanitize flag that enables C sanitizers (address and undefined by default) to help you catch more issues during development: so run -sanitize -panic=abort example/play Tooling

      'so test' and 'so bench'. Solod now has built-in test and benchmark runners. so test finds TestXxx(t *testing.T) functions in a package's test subdirectory, creates a runner, transpiles it, and runs it. so bench does the same for BenchmarkXxx(b *testing.B).

      A typical package layout with tests and benchmarks looks like this:

      so/uuid
      ├── bench
      │   ├── main.go
      │   └── uuid.go
      ├── test
      │   ├── main.go
      │   └── uuid.go
      └── uuid.go
      

      There's also a quick check for memory leaks: t.Allocator() gives you a tracking allocator (described in the 'Safety net' section above), and the test will fail if anything allocated with it isn't freed by the end of the test.

      === RUN   TestAlloc
          memory leak: 1 unfreed allocation(s), 16 byte(s)
      --- FAIL: TestAlloc
      

      Fuzzing. Since Solod is a strict subset of Go, any So package is also a valid Go package. This means you get Go's built-in fuzzer for free, making fuzz testing pretty easy. So's encoding/json package takes advantage of this by using Go's own encoding/json as an oracle, making sure that every JSON document accepted by So is also accepted by Go.

      Automatic linking. The new so:link directive lets a package specify which C library it needs, and so build gathers these libraries and passes them to the C compiler. The standard packages already use the new directive, so importing so/math links with -lm, and so/sync or so/conc links with -lpthread — you no longer have to set LDFLAGS manually.

      Wrapping up

      With v0.3, Solod reaches an important milestone: a program can now do multiple things at once. The JSON package gives programs a standard way to communicate, and the safety checks help prevent silent failures — both during development and in production.

      There's still a lot to do, of course. In the next release, the standard library will keep growing, and the language and tooling will get better to make programming in So more convenient and safe.

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

    8. đź”— pydantic/pydantic-ai-harness v0.11.0 (2026-07-24) release

      What's Changed

      Full Changelog : v0.10.0...v0.11.0

    9. đź”— Filip Filmar Fuchsia Internals: A New Report Series for Hardware Engineers rss

      I have been writing a set of technical reports on the internals of Fuchsia, Google’s capability-based microkernel operating system, aimed squarely at electrical, RTL, and FPGA engineers rather than at kernel hackers. This post kicks off a series in which I walk through the reports one volume at a time, roughly one a month. The whole set is a fourteen-volume reference; the complete PDF is linked at the bottom of this post, and each future post will take one volume and put its PDF in front of you.

  4. July 24, 2026
    1. đź”— IDA Plugin Updates IDA Plugin Updates on 2026-07-24 rss

      IDA Plugin Updates on 2026-07-24

      New Releases:

      Activity:

      • augur
        • 043ba9cb: ci: set dependabot cooldown to 10 days
        • b9a59184: ci: add zizmor action
        • c4ef72c6: ci: add dependabot cooldown
        • 820baa96: ci: remove unnecessary submodules from doc workflow
        • 92b5f497: Merge pull request #2 from 0xdea/dependabot/cargo/anyhow-1.0.104
        • 5d82557b: Merge pull request #3 from 0xdea/dependabot/github_actions/actions-de…
        • 16609f77: ci: bump the actions-dependencies group with 3 updates
        • 1cdd3421: chore: bump anyhow from 1.0.103 to 1.0.104
        • 6e7f17c9: ci: add cargo-audit and dependabot config
      • capa
        • c1e7510d: build(deps): bump ws from 8.17.1 to 8.21.1 in /web/explorer (#3126)
        • cce0431d: Sync capa-testfiles submodule
        • 0683946f: Sync capa rules submodule
        • 04170f01: Sync capa rules submodule
        • db309bc2: Merge pull request #3131 from mandiant/dependabot/npm_and_yarn/web/ex…
        • 9cec0cd3: Merge pull request #3130 from mandiant/dependabot/npm_and_yarn/web/ex…
        • dafe1a7a: build(deps): bump pyasn1 from 0.6.3 to 0.6.4 (#3129)
        • 23ab04c6: build(deps): bump postcss from 8.5.15 to 8.5.23 in /web/explorer
        • 1561d891: build(deps-dev): bump js-yaml from 4.2.0 to 4.3.0 in /web/explorer
        • 4dd9274d: build(deps): bump python-flirt from 0.9.2 to 0.10.0 (#3128)
        • 5fe45bb9: build(deps-dev): bump mypy from 2.1.0 to 2.3.0 (#3127)
      • disrobe
        • 05b7022b: native: decode aarch64 scalar float and double registers, moves, load…
        • 6fd9f9da: native: reject an aarch64 high-half multiply whose operands are not 6…
        • e4c74f58: native: decode aarch64 rbit so trailing-zero count recovers, and reco…
        • a3369ef7: native: decode aarch64 rev, clz, umulh and bfi so byte-reverse, leadi…
        • 1d72b8d3: native: lift the aarch64 64-bit d-register post-index vector load and…
        • 05401791: native: recover the aarch64 vector lane insert as a read-modify-write…
        • 3324488b: native: rustfmt the recovery probe test
        • 23c61865: native: track the aarch64 recovery corpus, its clang generator, a non…
        • b4b42c63: native: recover the aarch64 conditional compare so a branchless short…
        • 647f99eb: native: recover the aarch64 signed-overflow condition so an adds-set …
        • 46ea21d0: native: lift the aarch64 sign-extended register add so a 32-bit index…
      • ffxiv_bossmod
      • haruspex
        • 89c46d0c: ci: set dependabot cooldown to 10 days
        • 0031da21: ci: add zizmor action
        • b90f9715: ci: add dependabot cooldown
        • 91965cc4: Merge pull request #6 from 0xdea/dependabot/cargo/thiserror-2.0.19
        • cb0d1c51: Merge pull request #4 from 0xdea/dependabot/cargo/anyhow-1.0.104
        • 908df22b: Merge pull request #5 from 0xdea/dependabot/github_actions/actions-de…
        • c28e3f8c: chore: bump thiserror from 2.0.18 to 2.0.19
        • 8bf08534: ci: bump the actions-dependencies group with 3 updates
        • d156dd20: chore: bump anyhow from 1.0.103 to 1.0.104
        • 15f19b8a: Create dependabot.yml
        • c38ef554: ci: add cargo-audit and dependabot config
      • ida-pro-mcp
        • 9236fc62: Merge pull request #478 from NeKroFR/fix/476-stale-strings-cache
        • 060d15d3: Merge pull request #488 from Zzoomrus/fix/idalib-sigterm-deadlock
        • b3cb7e5c: ci: allow approved fork PR checkout
        • 492a569f: fix(idalib): avoid SIGTERM/SIGINT handler deadlock in idalib_server
      • ida-pro-mcp
        • c798aee1: Make blackboard updates merge evidence under a write lock.
        • 8eebb592: Bind truncation tokens to the owning MCP connection.
        • 0ef263f8: Require risk_ack on mutating ops and expose session health.
      • IDAPluginList
        • 3f2bc811: chore: Auto update IDA plugins (Updated: 19, Cloned: 0, Failed: 0)
      • mcrit-plugin
        • fa5fc331: defer MCRIT GUI imports until form use
      • rhabdomancer
        • 8d0eb6b0: ci: set dependabot cooldown to 10 days
        • 64438a26: ci: add zizmor action
        • cb6b13f8: ci: add dependabot cooldown
        • 5eb6bc90: Merge pull request #3 from 0xdea/dependabot/cargo/anyhow-1.0.104
        • 82036e63: Merge pull request #4 from 0xdea/dependabot/cargo/serde-1.0.229
        • 9945395b: Merge pull request #5 from 0xdea/dependabot/github_actions/actions-de…
        • c77c52d3: ci: bump the actions-dependencies group with 3 updates
        • 1edb0ded: chore: bump serde from 1.0.228 to 1.0.229
        • c5ebc34e: chore: bump anyhow from 1.0.103 to 1.0.104
        • fa95ed1a: ci: add cargo-audit and dependabot config
      • twdll
        • 79888454: docs: generate docs
        • 2432cdd3: fix: cleanup for proper import of twdll
        • 95cfc438: tools: set cpu affinity for win11
    2. đź”— r/LocalLLaMA It appears that the anti opensource AI lobby is far outgunned already rss

      It appears that the anti opensource AI lobby is far outgunned already | The earlier post on this subreddit by 20+ companies signing the petition including Microsoft, Meta, Nvidia, YC (https://www.microsoft.com/en-us/corporate-responsibility/topics/open-weight/) etc plus this https://xcancel.com/elonmusk/status/2080672505660834163 And the entire LLM enthusiast market is heavily in favor of open source (or weights) AI. Does not seem like a few closed source AI lobbyists with be able to illegalize anything submitted by /u/Comfortable-Rock-498
      [link] [comments]
      ---|---

    3. đź”— 3Blue1Brown (YouTube) The 64 sugar cubes puzzle rss

      See all monthly puzzles: https://momath.org/mindbenders/

    4. đź”— r/LocalLLaMA More than 20 companies including NVIDIA, Meta, Microsoft, Palantir, and Hugging Face have signed a letter urging policymakers to avoid premature restrictions on open weight models. rss

      More than 20 companies including NVIDIA, Meta, Microsoft, Palantir, and Hugging Face have signed a letter urging policymakers to avoid premature restrictions on open weight models. | The Open Letter was initiated by Microsoft and published today: “Open Weights and American AI Leadership”. It argues against broad or premature restrictions on open-weight models and explicitly says policymakers should distinguish legitimate model distillation from misappropriation. Notably absent from the signatories are the major frontier-model labs: OpenAI, Anthropic, and Google. submitted by /u/etherd0t
      [link] [comments]
      ---|---

    5. đź”— iv-org/invidious Release v2.20260626.0 release

      v2.20260626.0

      Wrap-up

      This release hardens playlists, channels, and search, adds a privacy option for searches, and modernizes the packaging and CI pipeline.

      Searches can now be submitted via POST so queries do not leak into server logs or browser history, Invidious cookies work across alternative domains, and "Watch on YouTube" / embed redirects use the correct timestamp and host. Playlist and channel parsing issues got fixed: outdated playlist parsing that hid all videos, paid course videos breaking imports, RSS feeds exposing private playlists without auth, broken author verification badges, and channel videos/playlists not loading from search. Thumbnail paths /pl_c / /tvfilm_banner are now supported, YouTube comments that were written in Japanese, Chinese, Korean and probably other languages do not longer swallows the last character when an emoji is present in the comment, and the search filters dropped the deprecated "sort by rating/date" options.

      Packaging moves Docker builds to the 84codes Crystal compiler image, updates OpenSSL to 3.6.2 and Crystal to 1.20.x in OCI, bumps Alpine to 3.24, and unifies the ARM64 and AMD64 Dockerfiles. Developers benefit from continued encapsulation of constants/helpers/translation/video-parser logic into dedicated modules, an api/v1/channels.cr lint pass, trailing-whitespace cleanup, and a sweep of dependency and GitHub Actions bumps.

      New features & important changes

      For Users

      • Searches can be submitted through POST requests so queries stay out of URLs, server logs and browser history (#5551)
      • Invidious cookies are honoured across alternative configured domains (#5647)
      • Embed and "Watch on YouTube" redirects use the correct t/start parameter and the www.youtube.com host consistently (#5660, #5768)
      • The referrerpolicy/noreferrer handling was corrected now that YouTube requires referrers on embeds (#5642)
      • The listen button on the title updates its elapsed time, and the deprecated "sort by rating/date" search filter options were removed (#5625, #5629)

      For instance owners

      • Docker builds switched to the 84codes Crystal compiler container image, and OCI images were updated to Crystal 1.20.x with OpenSSL 3.6.2 (#5473, #5692)
      • Alpine was bumped to 3.24 in the Docker image (#5778)
      • ARM64 and AMD64 Dockerfiles were unified into a single workflow (#5700)

      For developers

      • Constants and functions were encapsulated into dedicated I18n, Helpers, Invidious::Videos::Parser and Invidious::Videos::Clip modules (#5637, #5639, #5745)
      • api/v1/channels.cr received a lint pass and trailing whitespaces were removed from the codebase (#5693, #5634)
      • CI bumped the Crystal version matrix and displayed compile progress/stats, and the crystal-lang/install-crystal action was updated (#5691, #5696, #5703, #5686)

      Bugs fixed

      User-side

      • Playlists showed no videos because of outdated playlist parsing; this is fixed along with paid course videos breaking the importer (#5774, #5207)
      • Private Invidious playlists were reachable through RSS feeds without authentication (#5776)
      • Channel videos and playlists failed to load from search, and channel author verification was broken (#5736, #5751)
      • A missing collectionThumbnailViewModel hash key crashed channel browsing (#5725)
      • The quality=medium query parameter was appended to videos about to premiere (#5755)
      • YouTube/Invidious links did not rewind their timestamp when playback position was rewound (#5601)
      • The last character of a comment was lost when the comment contained emoji (#5587)
      • Playlist RSS watch URLs only joined params with & when params were present, and thumbnail paths /pl_c and /tvfilm_banner are now supported (#5646, #5742)

      For instance owners

      • Docker/OCI builds keep current with Crystal 1.20.1, OpenSSL 3.6.2, Alpine 3.24 and the unified multi-arch Dockerfile (#5703, #5701, #5778, #5700)

      For developers

      • Dependency and GitHub Actions bumps kept CI current: docker/login-action, build-push-action, metadata-action, setup-buildx-action, int128/docker-manifest-create-action and crystal-lang/install-crystal (#5705, #5766, #5721, #5686, #5661, #5662, #5663, #5664)

      Full list of pull requests merged since the last release (newest first)

      • fix: fix playlists not showing any videos due to outdated playlist parsing (#5774, by @Fijxu)
      • chore(deps): bump alpine from 3.23 to 3.24 in /docker (#5778, by @dependabot[bot])
      • fix: fix private invidious playlists on rss feeds from being fetched without authentication (#5776, by @Fijxu)
      • Use "www.youtube.com" consistently (#5768, by @janmoesen)
      • chore(deps): bump int128/docker-manifest-create-action from 2.21.0 to 2.22.0 (#5766, by @dependabot[bot])
      • Add support for alternative domains for Invidious cookies (#5647, by @Fijxu)
      • Only include '&' if params are present in watch urls for playlist RSS (#5646, by @Fijxu)
      • Dockerfile: Switch to 84codes crystal compiler container image (#5473, by @Fijxu)
      • fix: Do not append query params quality=medium to videos that are about to premiere (#5755, by @Fijxu)
      • Fix Youtube and Invidious links not rewinding their time when video playback position is rewound (#5601, by @Fijxu)
      • feat: Add support for POST requests on searches for privacy (#5551, by @Fijxu)
      • Fix last character disappearance if emoji are in comment (#5587, by @shiny-comic)
      • Encapsulate videos parser and clip functions inside it's own Invidious::Videos::Parser and Invidious::Videos::Clip module (#5745, by @Fijxu)
      • fix: fix author verification in channels (#5751, by @Fijxu)
      • Add support for /pl_c and /tvfilm_banner paths (thumbnails used in some playlists) (#5742, by @Fijxu)
      • fix: fix channel videos and playlists on searches (#5736, by @Fijxu)
      • fix: fix Missing hash key: "collectionThumbnailViewModel" (#5725, by @Fijxu)
      • chore(deps): bump int128/docker-manifest-create-action from 2.20.0 to 2.21.0 (#5721, by @dependabot[bot])
      • chore: update openssl to 3.6.2 in OCI (#5701, by @Fijxu)
      • Bump int128/docker-manifest-create-action from 2.19.0 to 2.20.0 (#5705, by @dependabot[bot])
      • CI: Unify ARM64 and AMD64 Dockerfiles (#5700, by @Fijxu)
      • CI: update Crystal 1.20.0 to 1.20.1 in ci.yml matrix (#5703, by @Fijxu)
      • CI: display progress and stats when compiling Invidious in ci.yml matrix (#5696, by @Fijxu)
      • CI: Bump Crystal version matrix (#5691, by @Fijxu)
      • chore: update Crystal to 1.20.0 in OCI (#5692, by @Fijxu)
      • player: Use correct time parameter for YouTube embed redirects (#5660, by @radmorecameron)
      • chore: lint api/v1/channels.cr (#5693, by @Fijxu)
      • Encapsulate helpers constants and functions inside it's own Helpers module (#5639, by @Fijxu)
      • Encapsulate translation constants and functions inside it's own I18n module (#5637, by @Fijxu)
      • Bump crystal-lang/install-crystal from 1.9.1 to 1.9.2 (#5686, by @dependabot[bot])
      • Playlists: fix parsing error when some videos are paid for in a course (#5207, by @ChunkyProgrammer)
      • Bump docker/login-action from 3 to 4 (#5661, by @dependabot[bot])
      • Bump docker/build-push-action from 6 to 7 (#5662, by @dependabot[bot])
      • Bump docker/metadata-action from 5 to 6 (#5663, by @dependabot[bot])
      • Bump docker/setup-buildx-action from 3 to 4 (#5664, by @dependabot[bot])
      • Remove noreferrer since youtube now requires referrers on embeds (#5642, by @ashleyirispuppy143)
      • Remove trailing whitespaces from codebase (#5634, by @Fijxu)
      • Add title listen button time updates (#5625, by @JeroenBoersma)
      • Remove sort by rating and date in video search filters (#5629, by @Fijxu)
    6. đź”— @binaryninja@infosec.exchange Last chance to register for our Firmware Reverse Engineering class next week! mastodon

      Last chance to register for our Firmware Reverse Engineering class next week! Some embedded architectures are completely unlike what we're used to from x86, ARM, or MIPs, and we want you to know about them: https://shop.binary.ninja/products/fre- july-26

      https://www.youtube.com/shorts/0AQPnGtivko

    7. đź”— New Music Releases Above & Beyond - One Mix with Above & Beyond rss

      Above & Beyond - a new release is available:

      • 2026-07-24: One Mix with Above & Beyond (Album)

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

      Visit muspy for more information.

    8. đź”— New Music Releases The Revivalists - Get It Honest rss

      The Revivalists - a new release is available:

      • 2026-07-24: Get It Honest (Album)

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

      Visit muspy for more information.

    9. đź”— New Music Releases The HU - Hun rss

      The HU - a new release is available:

      • 2026-07-24: Hun (Album)

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

      Visit muspy for more information.

    10. đź”— exe.dev tailmix: Connect to Multiple Tailnets at Once rss

      Tailscale is one of those magical technologies that I can no longer imagine living without. Its use cases range from homelab setups to enterprise workloads spread across complex, disparate environments. At exe, we use it to connect much of our internal infrastructure.

      That said, there are points of friction. One of my pet peeves is having to switch tailnets whenever I want to briefly connect to Home Assistant or Frigate to see who’s at the door while working on exe’s infrastructure. Tailscale’s fast user switching helps, but switching still disconnects one tailnet before connecting the other. That disrupts existing connections, takes a few seconds, and requires me to remember to switch back.

      Why can’t I just be connected to multiple tailnets at the same time?

      A few technical complications make it tricky, starting with the fact that Tailscale allocates IPv4 addresses independently within each tailnet. This means two nodes in two different tailnets can end up with the same IPv4 address. If both tailnets were connected simultaneously, the address alone wouldn’t tell the client which node I intended to reach.

      I could disable IPv4 and use IPv6 exclusively, but that still doesn’t work everywhere. It’s getting better, but the long tail is, well, long. Disabling IPv4 requires updating the Tailscale policy file and passing some pain along to my teammates, which feels unjustified.

      Node sharing has similar challenges. Tailscale does the work of making sure those IPs don’t collide, but it requires that I be an admin on both tailnets, and I’d have to individually share every device I wanted to reach. As my kid is fond of saying: I don’t want to!

      A couple of weeks ago, I wondered whether I could have an agent write me a new Tailscale client that would let me connect to multiple tailnets at once. As usual, I spun up a new VM on exe and told Shelley about my problem, and we went back and forth on the design until I was convinced the solution would work for the vast majority of use cases.

      The solution was fairly straightforward: spin up a couple of tsnet.Server instances, put them behind a single TUN interface, assign each peer node in each tailnet a new IPv4 from a locally configured pool such as 10.58.0.0/16, and hijack MagicDNS to return those IPs. Traffic sent to one of them is then routed through the corresponding tailnet.

      It worked the first time I tried it. All of the Tailscale policies worked just as they should, and I didn’t have to implement any of that, as the upstream tsnet.Server is a full-fledged Tailscale client already.

      The result is tailmix, an independent, open-source client that lets one machine connect to multiple tailnets simultaneously. The source, installation instructions, and current limitations are all in the repository—or you can ask Shelley to tell you all about it.

      I still have two tailnets, two identities, and two separate sets of policies. The difference is that now my laptop no longer makes me choose between them.

    11. đź”— Armin Ronacher Codeberg Divides rss

      Codeberg recently changed its terms to exclude projects that are largely written with generative AI. Since I want GitHub to face competition I have thoughts.

      Codeberg is entirely within its rights to do this. It is an association with members and a democratic process, and that process produced a result. But democracy is a way of making a decision, not a guarantee that the decision is inclusive, wise, or even good for the people already depending on it. A majority can still decide that certain projects and people no longer belong.

      GitHub's governance has never been democratic and there is plenty about the platform that I dislike. Yet democracy is not the main property I need from infrastructure. I need it to be predictable, dependable, and reasonably neutral towards the legal Open Source software hosted on it. A democratic provider without a clear constitution can be worse at those things than a corporation.

      The actual wording makes this more difficult. The terms prohibit projects that mostly consist of code written by generative AI tools. In an actively developed codebase, what does "mostly" mean, and who can still tell? I could not reliably assign authorship percentages to many of my own recent projects. The line is open to interpretation precisely where it needs to be enforceable. In practice the center will probably lose out, as it has a bias.

      A harsher line would probably be preferable. If Codeberg wants no LLM involvement, it should say so. If it wants to prevent autonomous repository spam and abusive resource consumption, it should write rules for those instead. The current middle ground delegates too much of the policy to moderators and community norms. I'm currently assuming the community around it draws a much harsher social boundary, making projects and maintainers unwelcome even when they technically comply.

      It is a real shame that the Open Source and Free Software communities are splitting this deeply over LLMs and agents. There are serious questions about copyright, labor, energy use, slop, and maintainers drowning in generated contributions. But these tools are also becoming part of how software is made. The Open Source world needs to figure out how to engage with that future, not just divide into camps. More importantly, LLMs if done and used well, should be welcome to all of us. They could be used to reclaim control and power, away from large corporations and institutions.

      As I mentioned before, I want GitHub to face true competition in the Open Source space. I would particularly like some of it to come from associations rather than another large corporation. As a European project, Codeberg naturally matters to me even more. It can choose to be a smaller community with a stronger political identity, but that is a different ambition from being a broad and dependable European alternative to GitHub.

      I wish Codeberg were more forward-looking here: willing to host the Open Source software of tomorrow, not only software made in the ways its community approves of today. It has every right to make the choice it made, but I just do not think it is a good one.