- ↔
- →
- July 10, 2026
-
🔗 New Music Releases Bring Me the Horizon - Count Your Blessings | Repented rss
Bring Me the Horizon - a new release is available:
- 2026-07-10: Count Your Blessings | Repented (Album)
Amazon: Canada | Deutschland | France | United Kingdom | United States
Visit muspy for more information.
-
🔗 New Music Releases If These Trees Could Talk - The Hidden Hand rss
If These Trees Could Talk - a new release is available:
- 2026-07-10: The Hidden Hand (Album)
Amazon: Canada | Deutschland | France | United Kingdom | United States
Visit muspy for more information.
-
- July 09, 2026
-
🔗 Console.dev newsletter Davit rss
Description: Native macOS Container GUI.
What we like: Manage Apple Containers via the UI. Open a shell inside any container. Supports volumes, images, networks. Built-in file browser. View container stats and inspect container details. Native macOS app, not Electron.
What we dislike: Not a Docker replacement - it’s Apple’s own implementation. Try OrbStack if you need that (and other things like VMs).
-
🔗 Console.dev newsletter ZeroFS rss
Description: Log-structured filesystem for S3.
What we like: Makes S3-compatible buckets appear as POSIX filesystems or raw block devices. Supports NFS, 9P, NBD. Use ZFS to mirror across regions. Segments are immutable, compressed, encrypted. Local caching. Optional web dashboard and file manager.
What we dislike: AGPL licensed by default, alternative available on a commercial basis.
-
- July 08, 2026
-
🔗 blacktop/ida-mcp-rs v9.3.26 release
What's Changed
Full Changelog :
v9.3.25...v9.3.26 -
🔗 r/reverseengineering mcpfz-probe: an eBPF runtime probe that catches what an MCP server actually does during fuzzing rss
submitted by /u/BeautifulFeature3650
[link] [comments] -
🔗 anthropics/claude-code v2.1.205 release
What's changed
- Added an auto mode rule that blocks tampering with session transcript files
- Fixed
--json-schemasilently producing unstructured output when the schema was invalid, and schemas using theformatkeyword being rejected - Fixed a message sent while Claude was working being silently lost when the turn ended at the
--max-turnslimit - Fixed Windows worktree removal deleting files outside the worktree when an NTFS junction or directory symlink existed inside it
- Fixed background agents staying shown as "failed" or "completed" in the agent list after being resumed with
SendMessage - Fixed background jobs flipping from "needs input" back to "working" in the agent list when the agent's turn contained no readable text
- Fixed
claude attacherroring when a background agent was mid-upgrade restart instead of waiting for it to come back - Fixed session-to-PR linking missing a PR created in a Bash call whose output exceeded the 30K inline limit
- Fixed
claude mcp add-from-claude-desktopgetting stuck when a server name contains unsupported characters; invalid names are now reported and remaining servers still import - Fixed a plugin LSP server that fails to initialize preventing a valid LSP server from another plugin handling the same file extension
- Fixed a Windows crash when the directory Claude was launched from is deleted, locked, or unmounted while a command is running
- Fixed a crash when a file watcher was closed while a directory scan was still in flight
- Fixed project verify skills being rewritten on every session instead of only when a documented command changed
- Fixed the agent view rendering one line too high and clipping its header when the job list slightly overflowed the screen
- Fixed background tasks in the web and mobile Remote Control panels showing stale "Running" status by forwarding full task state on every membership change
- Improved auto mode to ask before running
rm -rfon a variable it can't resolve from context - Auto-update binary downloads now stream to disk instead of buffering in memory, cutting the updater's peak memory usage by roughly 400 MB
- Background task notifications now explicitly state that no human input has occurred, preventing fabricated in-transcript approvals from being acted on
- Improved agent view: sessions that edit, merge, comment on, or push to an existing PR now link it in
claude agents - Improved agent view: rows now show a colored state word and a classifier-written headline instead of raw tool call text, and the peek opens with full status including the exact ask for blocked sessions
/doctoris now a full setup checkup that can diagnose and fix issues;/checkupis its alias- Reserved the "Claude Browser" MCP server name (alongside "Claude Preview") ahead of the Claude Desktop pane rename; user-configured MCP servers can no longer register under either name
- Fixed Cowork VM-mode local-agent sessions failing to start with "Not logged in · Please run /login" on CLI 2.1.203+
-
🔗 r/reverseengineering Drift Corpus: 240+ 2026 Windows kernel patches diffed, with assembly and breakpoints to reproduce rss
submitted by /u/Emergency_Stable_923
[link] [comments] -
🔗 Register Spill Ownership rss
_The following is an internal Slack message I sent to my Amp teammates after I had a conversation with one of them about ownership. It 's only lightly edited.
I shared it before, but not here, because I didn't think too much of it. Then today, someone said their CTO shared my post with them and I thought: well, now I have to put it in the newsletter, don't I? So here we are._
Below, after the Slack post, I added some thoughts on juniors on how I see this advice applying to them.
Just had a (great) conversation about ownership and engineering here and I realized that I often use the phrase "ownership" or allude to it, but haven't explained what "ownership" means to me in a while.
So, ownership.
If I ask you "can you own this?" or "can you take care of this?" or "are you on it?" -- what I'm doing is I'm asking you to own it, to own the solution of a problem from end to end. From "we have a problem" to "we don't have to think about it again."
That means, when you say that you're owning something, the expectation is that you…
-
Think about what the problem actually is. Maybe you already have a solution in mind, without having thought about what we're actually trying to solve here. Maybe you think "the problem is that we need to migrate from using X to using Y", but that's not a problem, that's a solution. The problem is likely something like "performance is bad", "it's not stable", "it fails for customer x". Maybe there's other possible solutions to that? Think about those. What are the tradeoffs? What's the best solution to go with considering these tradeoffs?
-
Think about edge cases. What are they? Which ones are important? Which ones can we ignore?
-
Think about failures. Network failures are a given, for example. How do we handle them? Retry? Well, how often? How long?
-
Think about data flow. How much data is involved here? Does data need to be migrated? Cleaned up? How can I get my hands on data to properly test this? What invariants are in the data? What assumptions do I have about the shape of the data that I haven't confirmed yet?
-
Think about how you'd test this. How can I know that what I built is correct or not? Are tests enough? Do I need to manually poke at things? Is the difference visible on a screenshot or in a video?
-
How would we announce this? How do we communicate it? Can you picture it? How does it fit into the larger picture of our roadmap? Questions or concerns in that area -- push back! ask!
-
Do the work, with precision, with care, with a sense of urgency, with calmness. Do not half-ass things. Before you merge, ask yourself: am I proud of this? would I show this to John Carmack and say "here's what I built, under these constraints, with these tradeoffs?"
-
Test it manually. Yes, there's automated tests. But in 99% of cases you can manually test or confirm that what you built works: you can run it yourself, you can ask an agent to run through test scenarios, you can poke at the data before and after, you can take screenshots, you can make a demo. Are you sure that what you did actually solves the problem?
-
Make sure it lands in production and works in production. Is it deployed? Did the deploy fail? Do you need to activate a feature flag? Does the feature flag work? Can you use it in production? Can you confirm it's actually deployed?
-
If you think your colleagues needs to know about this change, because it's new feature they should all test, or it's a new convention in codebase, or maybe it's a tricky thing everybody needs to be aware of, or something else: let them know! Do not underestimate peripheral vision: knowing that person X yesterday changed the behavior of how Z works might save person Y three hours of debugging today when a bug report related to Z comes in.
-
Do customers need to know? Who reported the bug? Who's blocked? Let them know.
-
Does the world need to know? Announce that it's out.
-
Are there follow-ups? Do you need to check on what you shipped in the logs? A week later maybe?
Yes, that's a lot. And there's actually more, because I'm sure I forgot some stuff.
But that's how you build a product in a small team. We don't have PMs, we don't have a Q&A department. We're small, but we're great , we can do all of that.
And it's always okay to ask for help, it's okay to ask questions, it's okay to redo things and triple-check. What's not okay is to implicitly assume that someone else will do the things here that you haven't thought about.
" How does this apply juniors? You can't expect them to really do all of that?"
I've been asked these questions, or variations of them, after I shared the thoughts above and here's my answer.
I do not expect juniors to do all of these things right away. But I would expect them to read through the list and aspire to one day be able to do all of these things. Until then, they can and should ask for help.
In fact, I don't expect anybody to always do all of these things for everything. It's a mental checklist of things to consider -- problem, edge cases, tradeoffs, deployment, customers, messaging, … -- but for quite a few things there aren't edge cases to consider. Or big tradeoffs to weigh. Or deployment is a solved problem. And maybe someone else does the messaging for you.
And I imagine that most of these things you shouldn't even consider when you work in a company with, say, 5000 employees. I've never worked in a company that large, only startups, so I can't speak to how to successfully ship a software feature at Apple, end to end.
But when you work in a small company in which there's only a single department, when you want to build things you're proud of, when you work with me and you say own something, I expect you to keep these things in mind and run through them before you declare something as done.
You know what you should own? A subscription to this newsletter:
-
-
🔗 r/reverseengineering Using a Single Variable to Gain a Controlled Write rss
submitted by /u/AdvisorPowerful9769
[link] [comments] -
🔗 navidrome/navidrome v0.63.0 release
Navidrome 0.63 brings a long-awaited upgrade to lyrics: full support for synced sidecar lyrics in multiple formats (TTML, ELRC, SRT, YAML and LRC), including word-by-word karaoke timing and multi-voice (agent) layers, exposed to clients through the new OpenSubsonic v2 lyrics extensions. A huge shoutout to @ranokay, who not only contributed the code for these lyrics enhancements, but also helped shape the OpenSubsonic extension specification behind them. Search also gets noticeably smarter: exact matches now rank above prefix matches (searching for "MØ" brings MØ to the top instead of burying it), and artists with short or non-ASCII names that were previously unfindable now show up correctly.
The other big theme of this release is performance for large libraries and offline-first clients. Full-library synchronization via
search3(the way clients like Symfonium mirror the whole library) is now flat at every offset instead of degrading with depth, roughly 30-50x faster at deep offsets and about 20x faster for a complete sync on a ~1M-track library, and a related pagination-integrity fix eliminates the duplicate and short pages that could corrupt those syncs. Alongside it,getRandomSongsis about 13x faster on the same library size, and a batch of database improvements (annotation-index- friendly smart playlist filters, leaner list-count queries, and new composite indexes for album/artist song sorts) makes everyday operations anywhere from ~9x to ~160x faster. Finally, a heads-up on a behavior change: sharing is now enabled by default, and can be turned off withEnableSharing=false.Security
- Enforce per-library access on playlist import and sharing paths. In multi-library setups, three read paths did not consistently apply per-library restrictions: M3U import path resolution, shared-playlist track loading, and public share-scoped streams. A user with access to only some libraries could resolve or be served tracks from libraries they weren't assigned to. All three now respect the user's (or share owner's) library access. (#5640 by @deluan)
- Resolve symlinks to their real target when classifying files during scan, preventing symlinked entries from being misclassified. (ecba19a08 by @deluan)
Configuration Changes
Status | Option | Description | Default
---|---|---|---
New |Scanner.ArtistSplitExceptions| List of artist names that must never be split by tag separators (e.g. "Tyler, The Creator"). (#5701) |[](empty)
New |Scanner.IgnoreDotFolders| Whether to skip folders whose name starts with a dot when scanning. Set tofalseto index dot-prefixed folders. (#5568) |true
Changed |EnableSharing| Sharing is now enabled by default. Set tofalseto restore the previous behavior. (#5714) |true
Changed |LyricsPriority| New sidecar lyrics formats added to the default priority list. (#5076) |.ttml,.yaml,.yml,.elrc,.lrc,.srt,.txt,embeddedFor a complete list of all configuration options, see the Configuration Options documentation.
Lyrics
- Add structured sidecar lyrics support with OpenSubsonic v2 karaoke cues and agent layers: TTML, ELRC, SRT and YAML sidecar files are now parsed with word-by-word timing and multi-voice information. (#5076 by @ranokay)
- Allow lyrics plugins to return lyrics in any supported format, not just LRC. (#5632 by @deluan)
- Keep the player's lyrics in sync on track change and seek, so the previous song's lyrics no longer linger. (7303c9ca4 by @deluan)
Search
- Rank exact matches above prefix matches in search results. (#5704 by @deluan)
- Fix artists with short or non-ASCII names being unfindable after the FTS5 search migration. (#5703 by @deluan)
UI
- Add Rosé Pine themes. (#5664 by @draconivis)
- Fix transient jump to a wrong song when switching tracks in the web player. (#5676 by @deluan)
- Fix profile self-edits not reporting success or failure. (#5699 by @deluan)
- Fix Nautiline theme font and width on mobile devices. (#5590 by @devBoi76)
- Fix
DefaultLanguagenot being applied on app startup. (#4000 by @deluan)
Scanner
- Add
Scanner.ArtistSplitExceptionsto protect artist names from being split by tag separators. (#5701 by @deluan) - Add
Scanner.IgnoreDotFoldersto allow indexing dot-prefixed folders. (#5568 by @deluan) - Fix playlists not being imported when the first scan runs before any admin user exists. (#5609 by @deluan)
Subsonic API
- Add OpenSubsonic work and movement attributes, improving classical music metadata for compatible clients. (#5659 by @deluan)
- Speed up
getRandomSongson large libraries with two-phase random selection, about 13x faster on a 1M-track library. (#5618 by @deluan) - Speed up artist
search3pagination at deep offsets, roughly 5-8x faster on a 300K-artist library. (#5620 by @deluan) - Speed up
search3empty-query (browse-all) pagination: response times are now flat at any offset, 30-50x faster at deep offsets, making a full ~1M-track library sync about 20x faster overall. (#5601 by @deluan) - Make "recently added" album order reproducible and consistent with the
RecentlyAddedByModTimesetting. (#5678 by @deluan)
Smart Playlists
- Extend
isMissing/isPresentoperators to BPM, bit depth and many text fields. (#5603 by @deluan) - Speed up smart playlists that filter on play count, rating or loved status, up to ~14x faster end-to-end (the underlying query alone is over 300x faster). (#5662 by @deluan)
- Speed up smart playlists with many negated artist/tag rules, ~160x faster on a real-world case with 120 rules on a 323K-track library. (#5607 by @deluan)
- Fix
isMissing/isPresentoperators on ReplayGain fields. (#5585 by @deluan)
Recommendations
- Match similar and top songs across all artists credited on a track, improving results for collaborations. (#5668 by @deluan)
- Match ListenBrainz top songs for collaborations using all credited artist MBIDs. (#5670 by @deluan)
- Speed up top/similar song matching with batched lookups, up to ~14x faster on large batches. (#5635 by @deluan)
- Fix song matching to use artist credits, so artist-MBID specificity works and collaborators match correctly. (#5637 by @deluan)
Plugins
- Add a
navidrome pluginCLI for managing and inspecting plugins. (#5682 by @deluan) - Expose the song Matcher as a host service for plugins. (#5643 by @deluan)
- Share plugin DTOs via a common types package, simplifying plugin development. (#5655 by @deluan)
Artwork
- Speed up image resizing and WebP encoding/decoding, up to ~30% faster with far fewer allocations. (#5652 by @deluan)
- Fix artist folder images being incorrectly served as album art. (#5596 by @deluan)
- Fix WebP crash on 32-bit ARM; WebP encoding is now disabled by default in Docker images. (#5606 by @deluan)
Transcoding
- Preserve source metadata when transcoding downloads. (#5628 by @deluan)
- Enforce server-side player
MaxBitRateon all stream paths. (#5611 by @deluan) - Honor the player's forced transcoding format in the web UI playback flow. (#5613 by @deluan)
- Fix partially-written transcodes being served from the cache after a server crash. (#5657 by @deluan)
Server
- Enable sharing by default. (#5714 by @deluan)
- Fix direct
log.Logcalls not honoringDevLogLevels. (#5700 by @kgarner7)
Database
- Speed up song sorting by album and artist with new sort-order indexes, ~19x faster on large libraries on a cold cache. (#5706 by @deluan)
- Skip library filtering when a non-admin user has access to all libraries, making song counts ~19x faster on a 920K-track database. (#5696 by @deluan)
- Skip unnecessary annotation joins when counting items, up to ~9x faster list counts, with even larger gains on a cold cache. (#5694 by @deluan)
- Make
PRAGMA optimizeerrors non-fatal at startup. (bd3192be0 by @deluan)
Translations
New Contributors
- @ranokay made their first contribution in #5076
- @devBoi76 made their first contribution in #5590
- @draconivis made their first contribution in #5664
Full Changelog :
v0.62.0...v0.63.0Helping out
This release is only possible thanks to the support of some awesome people!
Want to be one of them?
You can sponsor, pay me a Ko- fi, or contribute with code.Where to go next?
-
🔗 HexRaysSA/plugin-repository commits sync repo: +2 releases rss
sync repo: +2 releases ## New releases - [DriverBuddyReloaded](https://github.com/voidsec/driverbuddyreloaded): 2.5.1 - [ida-cyberchef](https://github.com/hexrayssa/ida-cyberchef): 0.3.2 -
🔗 r/reverseengineering Experimental multiplayer mod rss
submitted by /u/98thrxse
[link] [comments] -
🔗 r/reverseengineering Advanced Loader Analysis: Module Stomping, CFG Bypass & COM Hijacking (Shellhost, amsi, mstscax, clbcatq) rss
submitted by /u/StructBreaker
[link] [comments] -
🔗 MetaBrainz libdiscid 0.7.0 rss
Version 0.7.0 of libdiscid has been released. libdiscid is a C library that allows applications to easily calculate MusicBrainz and freedb disc IDs from audio CDs or CD TOC details. It also can extract MCN and ISRC information.
This release fixes several issues with the build system and addresses compiler warnings. As a compile time option it is now possible to have methods returning URLs to use HTTPs instead of HTTP, see then changelog for details. Thanks to Riku Viitanen for this contribution. Also the binary packages now include a build for the Windows ARM64 platform.
Version 0.7.0 of libdiscid provides the following changes:
-
Add DISCID_USE_HTTPS build flag: If set, the functions discid_get_submission_url and discid_get_webservice_url will generate URLs using the HTTPS protocol instead of HTTP. This might break existing applications that rely on the exact URL structure being returned, hence this flag is disabled by default.
NOTE: DISCID_USE_HTTPS will become the default in a future release. Please
update your software to not rely on the exact URL structure being returned. -
CMake: Fix pkg-config .pc file not being relocatable
- Autotools: Fix "make docs" not including examples
- Mac: Fix compiler warning about deprecated use of IOMasterPort
- Fix compiler warnings about use of strncpy
- Consistently use CRLF for newlines in versioninfo.rc
- Provide Windows ARM64 binary builds
More details on libdiscid, information on available language bindings, and downloads of the source code and pre-compiled binaries for macOS and Windows can be found on the libdiscid page. See also the API documentation for details on how to use the library.
-
-
🔗 anthropics/claude-code v2.1.204 release
What's changed
- Fixed hook events not streaming during SessionStart hooks in headless sessions, which could cause remote workers to be idle-reaped mid-hook
-
🔗 Ampcode News Agents, Anywhere rss
You can now start new agents remotely from ampcode.com anywhere you can run
amp:That means, in addition to running agents in orbs, you can now run agents on any machine you want: your laptop, your server, your cloud dev box, your Raspberry Pi. Your lawn mower even, if it has a shell.
Enable it by using the command
amp: enable remote creation of threadsor with the setting:// ~/.config/amp/settings.json { "amp.remoteThreadCreation.enabled": true }Once enabled, every Amp client you start will accept and run new threads in its working directory.
Runner Mode
You can also use the new runner mode with:
amp --no-tuiThat starts Amp in a headless mode in which it only waits to start and run new threads:
You can start multiple runners on the same machine, as long as they're started in different directories. Each runner is uniquely identified by host and working directory. Directories don't have to be version controlled. They can be anything, even home directories.
You can start agents anywhere now.
Walkthrough
Here's Thorsten with a walkthrough:
-
- July 07, 2026
-
🔗 IDA Plugin Updates IDA Plugin Updates on 2026-07-07 rss
IDA Plugin Updates on 2026-07-07
New Releases:
Activity:
- claude-of-alexandria
- ghidra
- 10b876bb: Merge remote-tracking branch
- cf3a0900: GP-7047: pull request
- 6b3ab3ce: Merge remote-tracking branch 'origin/GP-7014-dragonmacher-fixed-toggl…
- 4b38db9c: Merge remote-tracking branch 'origin/patch'
- 395cf82b: Merge branch 'GP-7045_ryanmkurtz_swift' into patch
- c03a70dd: GP-7045: The Swift Demangler now requires Swift to be on the PATH
- hrtng
- 6202adf4: Support new and legacy IDA SDK library layouts regardless of version …
- ida-hcli
- pyrrha
- 8b7e05e0: fix(pyproject): stop shipping the mike git dependency in package meta…
- 8cdf6ac4: bump version
- 73cd79e4: remove docker package building
- 420be82d: release: bump copyright years to 2023-2026 for v2.0.0
- 04b31cc0: bump version
- f5ebc351: mappers: fix small issues in db handling of decomp mapper
- c75fb51c: backend: fix func type given by ida
- 04b7b21c: doc: last small updates before v2 release
- 5347dbb5: doc: migration to zensical
- e1216c88: update gitignore with doc artifacts
- aeba43b6: main: change cli rendering
- 6b6f55b0: ci: change github ci python version range
- 34721297: ci: run the backend-free unit tests and merge their coverage
- 7a1ec69e: test: add backend-free unit tests for inter-image call-graph mappers
- 598f0502: test: add backend-free unit tests for CLI, decomp and imports mappers
- 0d6be4da: fix(imports): honor INTERACTIVE duplicate-resolution cache
- ebcdc434: ci: update coverage targets
- c0cf6630: fix(ci): preserve per-job coverage data for the global report
- f2d7bea2: ci: aggregate coverage from all jobs into a global report
- 003d9622: [fix] ci: reorder stuffs
- rikugan
- 89746a3d: Merge remote-tracking branch 'EliteClassRoom/master'
- e3ba6440: Fixing the output limit to become larger
- a9405070: fix(ui): ruff format merge + fix _blend_hex typo (upstream undefined …
- a6c62104: Merge remote-tracking branch 'origin/master'
- dbe61405: fix(agent): correct relative import depth in _handle_delegate_externa…
- 8d60120d: fix(ui): bypass IDA 9.4 PyQt5 shim bitwise warning via .value OR
- c3433f29: fix(ida-ui): try FormToPySideWidget, fall back to FormToPyQtWidget fo…
- d2a82d0d: fix(ida-ui): shim QtGui.QWidget for IDA 9.4 broken TWidgetToPySideWidget
- 51a98468: docs(changelog): note idaVersions range fallback for Plugin Manager
-
🔗 r/reverseengineering Nemesis — Native CLR Monitor for In-Memory .NET Payload (Crypters) Analysis rss
submitted by /u/OrganizationBig4806
[link] [comments] -
🔗 anthropics/claude-code v2.1.203 release
What's changed
- Added a warning when your login is about to expire, so you can re-authenticate before background sessions are interrupted
- Added a grey ⏸ badge to the footer when in manual permission mode, making the active mode always visible
- Added the session's additional working directories to MCP
roots/list, withnotifications/roots/list_changedsent when the set changes - Fixed opening or switching background agent sessions on macOS stalling for 15–20 seconds due to a false low-memory detection (regression in 2.1.196)
- Fixed background sessions becoming permanently unresponsive to attach, replies, and stop when the daemon's session token went stale — the session now recovers automatically
- Fixed returning to
claude agentssilently stopping running subagents and re-running the prompt from scratch — their work now carries over - Fixed a memory and per-turn CPU regression in interactive sessions: the context-usage indicator no longer re-analyzes the entire transcript after every turn
- Fixed background agents inheriting a stale
PATHfrom the daemon instead of the dispatching shell, causing missing tools on Windows - Fixed background and agent-view sessions dropping a shell-exported
ANTHROPIC_BASE_URL, which sent API keys to the default endpoint and failed with 401 - Fixed Bash failing with "argument list too long" in repos with many git worktrees
- Fixed worktree-isolated subagents sometimes running shell commands in the parent checkout instead of their own worktree
- Fixed worktree creation rejecting nested repositories in multi-repo workspaces, leaving background sessions unable to isolate and edit
- Fixed background agents crash-looping when their working directory was deleted, replaced by a file, or became an invalid path — they now fail once with a clear error
- Fixed a background daemon auto-upgrade failure silently killing all running background sessions
- Fixed
TaskStopandTaskOutputfailing to find background agents spawned by another agent — errors now list running agents by id and description - Fixed the
claude agentscomposer discarding your typed message when a slash command isn't available there - Fixed the agent list crashing when opening a stopped session whose conversation was already open in another session
- Fixed background sessions showing "Needs input" in the agent list after the question was already answered
- Fixed background agent startup failures showing only "exit_with_message" instead of the actual error
- Fixed background sessions ignoring
effortLevelchanges in settings.json when forked through the daemon - Fixed attached background sessions ignoring
CLAUDE_CODE_DISABLE_MOUSEandCLAUDE_CODE_DISABLE_MOUSE_CLICKSopt-outs - Fixed
/exitincorrectly warning about running background agents after all named agents had completed - Fixed background sessions started from a non-git directory unable to edit files when a
WorktreeCreatehook was configured - Fixed the
@directory picker inclaude agentsnot showing registered git worktrees - Fixed background task output on Windows being permanently replaced by an empty file after
/clear - Fixed content jumping when scrolling up through long transcript history
- Fixed the terminal flickering and jumping while typing in bash mode when a shell-history suggestion was shown
- Fixed literal
^[[I/^[[Oescape codes being printed when reattaching to a background session - Fixed LSP-only plugins being incorrectly flagged for disuse when their language servers deliver diagnostics or answer navigation requests
- Improved responsiveness while long responses stream: live-preview updates no longer re-render the whole screen
- Improved subagent behavior: agents are now less likely to re-delegate their entire task to another subagent
- Reduced binary size by ~7 MB and startup memory by ~7 MB by loading a large bundled dependency lazily instead of inlining it
- Changed left arrow to no longer close the background tasks, diff, and workflow detail views — press Esc instead
- Changed the empty
claude agentsview to always show the organized sections (Needs input / Working / Completed) with descriptions - Removed the startup "claude command missing or broken" warnings — they now appear in
/doctorand/statusinstead - Removed a redundant navigation hint from the
claude agentsfooter - [VSCode] Added a Settings toggle for "Enable Remote Control for all sessions"
-
🔗 r/reverseengineering Reverse Engineered Garry Kitchen's GameMaker (C64) - VM, file formats, instruction set, and reimplemented for the browser rss
submitted by /u/needlestack
[link] [comments] -
🔗 Simon Willison sqlite-utils 4.0, now with database schema migrations rss
This morning I released sqlite-utils 4.0, the 124th release of that project and the first major version bump since 3.0 in November 2020. In addition to some small but significant breaking changes (described in this upgrade guide), this version introduces three major features: database migrations, nested transactions (via a new
db.atomic()method), and support for compound foreign keys.Database schema migrations using sqlite-utils
Schema migrations define a sequence of changes to be made to a SQLite database, plus a mechanism for tracking which migrations have been applied and applying any that are found to be pending.
Migrations are defined in Python files using the sqlite-utils Python library, which includes a powerful
table.transform()method providing enhanced alter table capabilities that are not supported by SQLite'sALTER TABLEstatement.(
table.transform()implements the pattern recommended by the SQLite documentation - create a new temporary table with the new schema, copy across the data, then drop the old table and rename the temporary one in its place.)Here's an example migration file which creates a table called
creatures, adds an additional column to it in a second step, then changes the types of two of the columns in a third:from sqlite_utils import Migrations migrations = Migrations("creatures") @migrations() def create_table(db): db["creatures"].create( {"id": int, "name": str, "species": str}, pk="id", ) @migrations() def add_weight(db): db["creatures"].add_column("weight", float) @migrations() def change_column_types(db): db["creatures"].transform(types={"species": int, "weight": str})
Save that as
migrations.pyand run it against a fresh database like this:uvx sqlite-utils migrate data.db migrations.py
Then if you check the schema of that database:
uvx sqlite-utils schema data.db
You'll see this SQL:
CREATE TABLE "_sqlite_migrations" ( "id" INTEGER PRIMARY KEY, "migration_set" TEXT, "name" TEXT, "applied_at" TEXT ); CREATE UNIQUE INDEX "idx__sqlite_migrations_migration_set_name" ON "_sqlite_migrations" ("migration_set", "name"); CREATE TABLE "creatures" ( "id" INTEGER PRIMARY KEY, "name" TEXT, "species" INTEGER, "weight" TEXT );
The
_sqlite_migrationstable is used to keep track of which migration functions have been run. Thecreaturestable above is the schema after all three migrations have been applied.To see a list of migrations, both pending and applied, run this:
uvx sqlite-utils migrate data.db migrations.py --list
Output:
Migrations for: creatures Applied: create_table - 2026-07-07 17:58:41.360051+00:00 add_weight - 2026-07-07 17:58:41.360608+00:00 change_column_types - 2026-07-07 18:01:15.802000+00:00 Pending: (none)If you don't specify a migrations file, the
sqlite-utils migrate data.dbcommand will scan the current directory and its subdirectories for files calledmigrations.pyand apply anyMigrations()instances it finds in them.You can also execute migrations from Python code using the
migrations.apply(db)method, which is useful for building tools that manage their own database schemas over multiple versions. My own LLM tool has been using a version of this pattern for several years now, as shown in llm/embeddings_migrations.py.Prior art
My favorite implementation of this pattern remains Django's Migrations, developed by Andrew Godwin based on his earlier project South. Fun fact: Andrew, Russ Keith-Magee, and I presented our competing approaches to schema migrations for Django on the Schema Evolution panel at the very first DjangoCon back in 2008! My attempt was called dmigrations, developed with a team at Global Radio in London.
Django's migrations can be automatically generated from model definitions and include the ability to roll back to a previous version. The
sqlite-utilsapproach is deliberately simpler: unlike Django,sqlite-utilsencourages programmatic table creation rather than a model definition ORM, so there isn't anything we can use to automatically generate migrations.I decided to skip rollback, since in my experience it's a feature that is rarely used. With a SQLite project, an easy way to achieve rollback is to create a copy of your database file before you apply the migrations!
Migrating from sqlite-migrate
The design of
sqlite-utilsmigrations is three years old now - I had originally released it as a separate package called sqlite-migrate, which never quite graduated beyond a beta release.I've used that package in enough places now that I'm confident in the design, so I've decided to promote it to a feature of
sqlite-utilsto make it available by default to all of the other tools in the growing sqlite-utils/Datasette/LLM ecosystem.I made one last release of
sqlite-migrate, which switches it to depend onsqlite-utils>=4and replaces the__init__.pyfile with the following:from sqlite_utils import Migrations __all__ = ["Migrations"]
Any existing project that depends on
sqlite-migrateshould continue to work without alterations.Everything else in sqlite-utils 4.0
Here are the release notes for this version, with some inline annotations:
The 4.0 release includes some minor backwards-incompatible fixes (hence the major version number bump) and introduces three major new features:
- Database migrations, providing a structured mechanism for evolving a project’s schema over time. (#752)
I think of migrations as the signature new feature, hence this blog post.
-
Nested transaction support via
db.atomic(), plus numerous improvements to how transactions work across the library. (#755)
sqlite-utilshas long had a confused relationship with database transactions, partly because when I started designing the library back in 2018 I didn't yet have a great feel for how those worked in SQLite itself.Adding migrations to the core library made me determined to finally crack this nut, since transactions make migration systems a whole lot safer and easier to reason about.
I ended up building this around a
db.atomic()context manager which looks like this:with db.atomic(): db.table("dogs").insert({"id": 1, "name": "Cleo"}, pk="id") db.table("dogs").insert({"id": 2, "name": "Pancakes"})
SQLite supports Savepoints, and as a result
db.atomic()can be nested to carry out transactions inside of transactions. It's pretty neat!- Support for compound foreign keys, including creation, transformation and introspection through table.foreign_keys. (#594)
This came about when I asked a coding agent to review all open issues and PRs for things that should be included in a 4.0 release since they would represent breaking changes if I added them later, and it correctly identified that compound foreign keys were exactly that kind of feature.
I started with a breaking change to the table.foreign_keys introspection method, and then decided to see if Claude Fable 5 could handle the more fiddly job of integrating compound foreign key creation into the library. The API design it helped create felt exactly right to me - consistent with how the rest of the library worked already.
Other notable changes include:
- Upserts now use SQLite’s
INSERT ... ON CONFLICT ... DO UPDATE SETsyntax, detect existing table primary keys automatically and reject records that are missing required primary key values. (#652)
This was the change that first pushed me to consider a breaking-change 4.0 version bump. I built this to help support sqlite-chronicle, which uses triggers to keep track of rows in a table that have been inserted, updated or deleted.
-
db.query()now executes immediately and rejects statements that do not return rows; usedb.execute()for writes and DDL.
Probably the most disruptive breaking change - I've had to update a few places in my own code to switch from
db.query()todb.execute()as a result.- CSV and TSV imports now detect column types by default, while inserts into existing tables preserve those tables’ column types. (#679)
The
sqlite-utils insert data.db creatures creatures.csv --detect-typesflag was a later addition to allow column types (text, integer, real) to be automatically detected based on the data in a CSV. It should be the default, and releasing a 4.0 means I can make it so.-
table.extract()andextracts=no longer create lookup table records for all-nullvalues. (#186)
The oldest issue addressed by this release - the underlying bug was opened (by me) in October 2020.
See Upgrading from 3.x to 4.0 for details on backwards-incompatible changes.
The detailed release notes for the features and fixes shipped during the 4.0 pre-release cycle are available in 4.0a0, 4.0a1, 4.0rc1, 4.0rc2, 4.0rc3 and 4.0rc4.
The upgrade guide was entirely written by Claude Fable 5, Claude Opus 4.8 and GPT-5.5. The same is true of the release notes.
This is the kind of documentation I've slowly become comfortable outsourcing to the robots. It doesn't need to convince people of anything, or express any opinions - its job is to be as accurate and detailed as possible. I've reviewed the release notes closely and can confirm they are accurate and comprehensive.
Claude Fable 5 helped a lot
I released the first alpha of sqlite-utils 4.0 over a year ago. I've been dragging my heels on the stable release because of the amount of work it would take to track down and clean up the many other minor design flaws that a major version number allowed me to take on.
Assistance from Claude Fable 5 (and to a lesser extent Opus 4.8 and GPT-5.5) gave me just the boost I needed to overcome inertia and make the most of the time I could afford to spend on this library.
Fable has really good taste in API design, and is relentlessly proactive if you give it a more open goal. My most successful prompt was a review task that I issued against what I thought was the last release candidate:
review the changes on main since the last tagged 3.x release - I am about to ship them as sqlite-utils 4.0, a stable version that promises no backwards-incompatible fixes for a very long time.review the changelog and upgrade guide, and write yourself scratch scripts to try out all of the new features in v4 - save those scripts but don't commit themI tried this with GPT-5.5 xhigh in Codex Desktop and Fable 5 in Claude Code.
GPT-5.5 wrote 5 Python scripts and didn't turn up anything particularly interesting - its final report is here.
Fable 5 wrote 12 scripts, identified 4 release blockers and 10 additional issues in its report, and built a neat combined repro script, which, when run, output the following:
=== 1. Failed db.execute() write leaves an implicit transaction open === in_transaction after failed write: True BUG: table 'other' silently lost when connection closed === 2. Leading ';' bypasses the query() first-token scanner === BUG: raised OperationalError: no such savepoint: sqlite_utils_query BUG: row persisted despite rollback (count=1) === 3. Rejected write PRAGMA via query() still takes effect === BUG: user_version=5 after 'rejected' statement (docs say no effect) === 4. Implicit compound FK resolves pk columns in table order, not PK order === BUG: other_columns reported as ('b', 'a'), should be ('a', 'b') BUG: transform of valid data raised IntegrityError: FOREIGN KEY constraint failed === 5. ForeignKey (now a dataclass) is no longer hashable === BUG: cannot use 'sqlite_utils.db.ForeignKey' as a set element (unhashable type: 'ForeignKey') === 6. Mixed ForeignKey objects and tuples in foreign_keys= rejected === BUG: foreign_keys= should be a list of tuples === 7. insert --csv into an EXISTING table transforms its column types === BUG: existing zip '01234' is now 1234 (column type: int) === 8. insert(pk=, alter=True) regression: InvalidColumns before alter runs === BUG: InvalidColumns: Invalid primary key column ['id'] for table t with columns ['a'] === 9. migrate --stop-before an already-applied migration applies everything === BUG: m2 was applied despite --stop-before m1 (m1 already applied) === 10. ensure_autocommit_on() silently commits an open transaction === BUG: row survived rollback (count=1) - transaction was committedI found myself agreeing with almost all of them. Here's the PR with 16 commits where we worked through them in turn.
There's no doubt in my mind that sqlite-utils 4.0 is a significantly higher-quality release than if I had built it without the assistance of the latest frontier models.
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.
-
🔗 HexRaysSA/plugin-repository commits sync repo: ~15 changed rss
sync repo: ~15 changed No plugin changes detected -
🔗 r/reverseengineering I have built NinjaDBG, a full-featured Linux debugger developed from scratch using C++ and Capstone, featuring anti-detection techniques and a polished CLI. Additionally, I created nyx, an ultra-lightweight and headless C decompiler similar to Ghidra written in C++20. Any support to continue the dev rss
submitted by /u/Chazpoodev
[link] [comments] -
🔗 @HexRaysSA@infosec.exchange Here's the last IDA 9.4 pre-release teaser... mastodon
Here's the last IDA 9.4 pre-release teaser...
We've significantly improved Swift binary analysis. In this blog, we're focusing on two different improvements:
1️⃣ Proper modelling of the Swift ABI
2️⃣ Proper typing of Swift runtime functions👉 https://hex-rays.com/blog/ida-9.4-improved-analysis-of-compiled-swift- binaries
-
🔗 r/reverseengineering Reverse Engineered and whitelabeled Claude Code. Have fun! rss
submitted by /u/Sea-Faithlessness578
[link] [comments] -
🔗 HexRaysSA/plugin-repository commits sync repo: +1 release rss
sync repo: +1 release ## New releases - [ida-cyberchef](https://github.com/hexrayssa/ida-cyberchef): 0.3.1 -
🔗 r/reverseengineering Reverse engineering TR-830 battery rss
submitted by /u/liquidproton1001
[link] [comments] -
🔗 r/reverseengineering Binvariants: Register-Level Invaraint-Guided Fuzzing for Binaries rss
submitted by /u/mttd
[link] [comments]
-
- July 06, 2026
-
🔗 IDA Plugin Updates IDA Plugin Updates on 2026-07-06 rss
IDA Plugin Updates on 2026-07-06
New Releases:
Activity:
- ghidra
- a3c3eb3d: Merge branch 'GP-0_ryanmkurtz_PR-9339_GregoryMorse_external-names'
- 91fd2f52: Add IDA-PRO external names for AARCH64
- 123fb4ee: Merge remote-tracking branch 'origin/GP-0_Dan_fixTests-2026-07-06-1'
- fc8288b6: GP-0: Fix tests.
- 20e37d96: Merge remote-tracking branch 'origin/GP-0-dragonmacher-test-fixes-7-1…
- 0974e194: Merge remote-tracking branch 'origin/GP-7037_ryanmkurtz_CompactObject…
- db039107: Merge remote-tracking branch
- ff35b62e: Merge remote-tracking branch 'origin/GP-7026_ghidra_PointerAddressErr…
- a836637a: Merge remote-tracking branch 'origin/GP-6999-dragonmacher-fid-action-…
- ida-domain
- dc8628b9: Add CI check for deprecated IDA functions (#94)
- ida-llm-explainer
- 1d5c26cd: Generalize per-edge narrowing to same-flag retests; fix store metadat…
- IDA-MCP
- 6a3e5872: dele old md
- ida_rpc
- rikugan
- f0f8c3c3: docs(qt): soften single-seam claim + restore Unicode ≥ in qt_compat d…
- dee19e6c: chore(release): bump version to 1.8.0
- 785e97db: docs: document PySide6-only / IDA ≥ 9.0 requirement
- 2d35450a: refactor(qt): drop PyQt5 detection — PySide6 only
- 62ea0e42: test(qt): rewrite symbol-provenance check as source-level assertion
- 70a6054e: test(qt): rewrite qt_compat tests for PySide6-only surface
- b8aafce3: refactor(tests): drop PyQt5 fallback in conftest qapp import
- e658c88a: refactor(ida-ui): tools_form OnCreate uses FormToPySideWidget only
- 230e4660: docs(test): refresh stale OnCreate path docstring after Task 5 branch…
- 58051fd7: refactor(ida-ui): OnCreate uses FormToPySideWidget only
- bd74d503: refactor(ui): inline qt_flags in message/tool widgets
- ghidra
-
🔗 anthropics/claude-code v2.1.202 release
What's changed
- Added a "Dynamic workflow size" setting in
/configfor controlling how large Claude generally makes dynamic workflows (small/medium/large agent counts) — an advisory guideline, not an enforced cap - Added
workflow.run_idandworkflow.nameOpenTelemetry attributes to telemetry emitted by workflow-spawned agents, so a workflow run's activity can be reconstructed from OTel data - Fixed a crash in the inline Ctrl+R history search when accepting or cancelling while the search was still scanning the history file
- Fixed
/renameon background sessions being reverted when the job restarts, which broke addressing the session by its new name - Fixed transient mTLS handshake failures when settings were re-applied during an in-place client certificate rotation
- Fixed commands sent from Remote Control (mobile/web) into an interactive session failing with "Unknown command"
- Fixed images and files sent from the Remote Control mobile or web app without a caption being silently dropped
- Fixed the sign-in URL printed by
claude auth loginandclaude mcp login --no-browsernot being reliably clickable when it wraps over SSH — it is now emitted as a single hyperlink - Fixed opening a chat from
claude agentssometimes failing with "currently running as a background agent" followed by a worker crash/respawn loop - Fixed workflow scripts with unicode quote escapes in strings being corrupted before parsing; workflow parse errors now show the offending line instead of always blaming TypeScript
- Fixed voice dictation retrying in an unbounded loop when the microphone or audio recorder fails — repeated capture failures now pause voice input
- Fixed
/remote-controlsessions showing the wrong permission mode in the mobile and web apps - Fixed resuming a session by name, or opening the resume picker, taking minutes and using a large amount of memory in repositories with many git worktrees
- Fixed installer and updater downloads failing immediately with "aborted" when a proxy or network drops the connection mid-download — transient connection drops now retry
- Fixed re-invoking an already-loaded skill appending a duplicate copy of its instructions to context
- Improved
/workflowsagent list layout: wider titles, a dedicated time column, shorter model names, and no per-row tool-call counts - Improved MCP error messages: clearer error when a server config has
urlbut notype, suggesting"type": "http"instead of the misleading "command: expected string" - Changed
/review <pr>back to a fast single-pass review; use/code-review <level> <pr#>for the multi-agent review at a chosen effort level
- Added a "Dynamic workflow size" setting in
-
🔗 r/reverseengineering How Attackers Run Code on Your Machine Without Ever Touching It rss
submitted by /u/Akhil_vallala
[link] [comments] -
🔗 HexRaysSA/plugin-repository commits sync repo: +1 plugin, +1 release rss
sync repo: +1 plugin, +1 release ## New plugins - [llm-explainer](https://github.com/pgarba/ida-llm-explainer) (1.3.0) -
🔗 blacktop/ida-mcp-rs IDA Pro MCP Server v9.4.0-beta.1 release
Prerelease for IDA Pro 9.4 beta. Requires IDA Pro 9.4 with valid license.
-
🔗 blacktop/ida-mcp-rs v9.3.25 release
Full Changelog :
v9.3.24...v9.3.25 -
🔗 r/reverseengineering Need help mapping custom obfuscation on Minecraft Error 422 (1.5.2) — Base SRG & JOBF files provided rss
submitted by /u/GoxTheGoat-src
[link] [comments] -
🔗 r/reverseengineering Need help mapping custom obfuscation on Minecraft Error 422 (1.5.2) — Base SRG & JOBF files provided rss
submitted by /u/GoxTheGoat-src
[link] [comments] -
🔗 MetaBrainz Current ListenBrainz server issues/high load, Part 2 rss
This follow-up post covers how and why our servers are still being impacted, an explanation and examples of what we consider "botting" in ListenBrainz - and an apology, because our last post had some baaad comms!
Firstly, we are still experiencing massive server load from an increase in listen submissions related to the BTS fan exodus from last.fm (not all bad! more on this below) - and we are now being hit by another influx of AI scrapers.
Our apologies to our users, new and old, as we continue to work to mitigate the extra load. Remain assured that listens are not being lost - our processing queue is lagging behind, so listens may take (up to) hours to appear.
LB radio and the popularity endpoints have been temporarily disabled, to reduce server load.
ListenBrainz server status/load
Our ingestion queue for the past 2 weeks.The above screenshot shows our ingestion queue (listens being submitted directly to ListenBrainz) for the past 2 weeks, which usually sits around 0 with peaks at 10K. The highest peak during the last two weeks - the big mountain on the graph - is 484K. That is to show both that the listens are not lost and why they were lagging behind. " Your listen is now number 484,001 in line…"
Our import queue for the past 2 weeks.The above screenshot shows our import queues (listens being submitted via our import function), in the same 2-week window. The values are "number of listens added to the ingestion queue per minute ". The purple line is lastfm imports. We usually sit around 1-2K, with peaks around 20K sustained for ~3 hours at worst. The peak in this graph is 180K - that's 180K listens added to the queue that minute. These values have not been reducing at the time of writing, but fluctuating depending on time of day.
You can see these graphs, and the current length of the 'queue', in real-time on this Grafana dashboard (free account required).
Where this increased load is coming from
Our server issues are currently three-fold. One is good, the other two not so much.
-
Last.fm imports : This is the good problem! When a user syncs their account from last.fm, they're sometimes importing 20 years worth of listens at a time. Every listen that is added to ListenBrainz passes through our listen queue, where our system checks the attached metadata, and tries to match it to the right artist, album and song. As you can imagine, if hundreds or thousands of users add their entire last.fm history at once, it's quite the processing queue. This load is a sign that we are growing, and we don't mind at all. Though we also don't enjoy having to wait for listens to appear - if anyone wants to gift us some extra servers….
-
" Botting"/listen submission spamming: This is not good. A very small minority of BTS fan accounts are doing things like submitting a listen every few seconds, and/or submitting listens across multiple accounts at once, which has resulted in hundreds of thousands of extra listens being added to the queue. This goes against our code of conduct. Please scroll down to the end of this blog post for clarification on what behaviour that we consider botting.
-
AI scrapers : There's not much to say here. The MetaBrainz foundation offers all of our data as freely downloadable datasets, but these AI companies don't care - they set up scrapers to blindly hoover up the internet without respecting limits or ethical considerations. They go to great lengths to hide behind thousands of residential IPs, making them extremely difficult to detect and block (as blocking these IPs also blocks legitimate users). You can read more in our previous blog on the subject: We can’t have nice things… because of AI scrapers
Bad comms!
We - the MetaBrainz team - are very sorry for how our last post was written, and how it negatively affected so many people.
We are used to speaking to a small audience of our existing users, and we have a wonderful BTS/K-pop community in *Brainz already, which made us be too relaxed with our tone.
It is true that a small minority of fans recently started doing things like submitting a listen every few seconds, across many accounts, which has impacted our service for all users. But we <3 our K-pop community! So we never imagined that it would be thought that we are blaming all the fans of a band or even a whole genre. But that is not obvious from outside our small community and usual readership, and that is our mistake and something we should have considered before posting.
We are a small team, and most of us are very… technically minded. We do not have a comms team, and will probably never have one, so we ask for you to be patient with us.
On the other side of the coin, we had to filter a lot of abusive comments from the last blog post (both from ARMY and directed towards ARMY) and that is not the sort of community we are fostering here. We also are, and will continue to be, direct and up-front with our messaging, in accordance with our open ethos. If a group of users - even if it's a non-representative subset of a larger group - are not respecting our rules and are causing issues for everyone, we will say so, and we will __ share how and why. We will endeavour to do this with tact and awareness (which we failed to do in our last post).
If that works for you, and the respect is shared both ways - welcome, new users! And if you are a BTS fan, congratulations on the new album release, and we look forward to seeing it continue to explode the global charts.
What we consider 'botting'/bad behaviour in ListenBrainz
First, please note that when we say "botting", we don't mean that the listener is not a real human! It refers to using digital tools/code/devices to submit song listens that don't reflect real listening.
We also want to acknowledge that this might be counter to how some people want to submit and store listens, and may not match everyone's definition of 'real listening'. We are sorry that our systems cannot cater to every approach. We think it's awesome that the BTS community has their own app, B-CD, that caters to users who want to listen-max their love for BTS! We love to see it!
The following are (just some) examples of what we consider unacceptable in ListenBrainz.
-
Submitting listens you haven 't listened to: If you are submitting a 1 minute song as 'listened' every 5 seconds, or any other timeframe that is far shorter than the song itself, we are likely to disable your account. We have paused 100 accounts doing this, so far, with the 'busiest' submitting 6,000+ listens a day for a few days - a full song 'listened to' every ~15 seconds, day and night. This adds up.
-
Submitting the same listens across multiple accounts/devices: Our systems expect 1 song submitted listen to equal 1 song going into your earballs. Having multiple accounts/devices each submitting the same listen doesn't get around this! If you are doing this we are likely to disable your accounts.
-
Doing both of the above at a large scale: "Ahhhhhhhhhhhhhhhhhhhhhhhh" - our servers.
tl;dr if your 1 listen is becoming 2 or more listen submissions in ListenBrainz, in any way, it's likely that your account will be disabled. If you email us we are always happy to look at the situation and to reinstate accounts for people who agree to follow the ListenBrainz rules. Our apologies that we cannot proactively email everyone who we disable at this time, we are dealing with too many accounts to do so.
If you read all the way down here, thank you and have a lovely week - your MetaBrainz and ListenBrainz team.
-
-
🔗 r/reverseengineering /r/ReverseEngineering's Weekly Questions Thread rss
To reduce the amount of noise from questions, we have disabled self-posts in favor of a unified questions thread every week. Feel free to ask any question about reverse engineering here. If your question is about how to use a specific tool, or is specific to some particular target, you will have better luck on the Reverse Engineering StackExchange. See also /r/AskReverseEngineering.
submitted by /u/AutoModerator
[link] [comments] -
🔗 r/reverseengineering Reverse engineering no dep x64 masm AI IDE rss
submitted by /u/BackUpBiii
[link] [comments] -
🔗 r/reverseengineering Reverse engineering 3M TR-830 for TR-801N PAPR system - Looking for collaborators rss
submitted by /u/liquidproton1001
[link] [comments] -
🔗 New Music Releases Above & Beyond - Homecoming (Tim Green remix) rss
Above & Beyond - a new release is available:
- 2026-07-06: Homecoming (Tim Green remix) (Single)
Amazon: Canada | Deutschland | France | United Kingdom | United States
Visit muspy for more information.
-
🔗 exe.dev Building Software From My Phone rss
My little town of San Anselmo has a delightful live music concert series in the summer. What they don’t have is a website that is easy to read on my phone.
I was on vacation when this summer’s schedule posted–and I had intentionally left my laptop at home.
My first instinct was to ask ChatGPT to paw through and organize a schedule to my tastes, but recently I’ve noticed that farming out such tasks to Pro is lossy. I’d say it lacks serendipity, but it’s more than that. My preferences may appear superficial (bluegrass, please), but in reality, none of us are quite so reducible. Our opinions are complex and only coarsely approximated by what we might think to tell an agent.
So instead, I pulled out my phone, opened the exe.dev iOS app, created a new VM, and said to Shelley:
https://www.liveontheavenue.org please organize and analyze all of the events, movies, and bands. Add times and genres to each. Turn the whole thing into a simple, compact calendar that I can browse and scroll through on a single page. Use subagents to confirm band genres. Add a genre filter at the top, maybe a dropdown with checkboxes? Mobile-friendly.
A few minutes later I had https://live-on-the-avenue.exe.xyz/ up and running. And it turns out the band I’m most excited for is listed under ska and klezmer.

Sow on the Go
The curse of having an interesting job is that you think about it all the time. I used to send myself a dozen emails a day with ideas and tasks and bug reports. Each of these was a seed for some work, to be completed later at a computer. Now that my development environment lives on exe.dev VMs, I plant these on the go.
Because I hate typing on my phone, I added high-quality transcription to the exe.dev iOS app. In addition to being more pleasant than typing, it’s also faster. And, because I’m talking, I naturally provide more content and context, which lends itself to better results.
For many tasks, reaping and/or weeping (reviewing, testing, deciding what’s actually good) still ultimately requires a laptop. But kicking off work no longer means routing it through tedious, intermediate steps.
Voice Triage
At any given point, some of my agents are working, some are blocked on trivial stuff, and some need my serious, sustained attention.
I can now burn through the trivial stuff rapidly from my phone while taking a walk, getting some sunlight, or tidying the house. I put in my headphones, start up real time voice mode, and work through outstanding Shelley conversations: respond, archive, spin up a new thread, leave for later, repeat. It’s less efficient than staring at my phone, but far more pleasant, and worth the change of pace.
I’ll write more about voice mode in a future post.
Share Sheets
exe.dev has been available on mobile web for ages. (OK, fine, months. Feels like ages.) There were really two key features that drove us to start an iOS app, features that we simply could not ship in the browser. The first was notifications; the second was the share sheet.
The share sheet lets you send screenshots, files, videos, and more to Shelley on an exe.dev VM. Sending a screenshot of a visual bug is so, so much better than describing it.
My personal favorite use of the share sheet is for transcriptions.
When I have a substantial new feature I want to design or a blog post I want to draft, I open up Voice Memos on iOS and talk it out, often for the better part of an hour. I have a VM configured with a Deepgram and a Voxtral integration, and a rich agents.md that teaches it how to do transcriptions. (TL;DR: Wait for a file to appear, fan out text-to-speech to both providers, merge the results, clean up disfluencies, recognize common homophones of “exe.dev” and “VM”, trim redundant content, and email me the results, all while preserving word choice and structure.) Once I’m done recording, it’s a few taps–and zero typing–to dispatch the audio file to my transcription exe.dev VM; the result lands later in my inbox.

As with so many things I use exe.dev for, there are third- party services that do much of this, but they do it clumsily, or in a way that requires me to do a lot of pre- or post-work, or in a way that doesn’t integrate well with the rest of my cobbled-together digital life. Making it trivial to share stuff into an exe.dev VM has been a major unlock.
-
