m0wer's avatar
m0wer
m0wer@sgn.space
npub1w3va...4c5c
JoinMarket NG
m0wer's avatar
m0wer 16 hours ago
The AI Language We Can't Read: Neuralese - YouTube First, we gave models a scratchpad: instead of forcing a one-shot answer, let them spend more tokens reasoning through a problem. In a sense, you get more capability out of the same model by giving it more serial computation. That reasoning is also useful because humans can read it. You can inspect how the model reached an answer, spot mistakes, and potentially debug or monitor it. But there’s an obvious incentive to make that reasoning cheaper. Compress it, shorten it, remove redundant words. The problem is that if you keep optimizing for efficiency, the reasoning can drift into shorthand or “Neuralese” that still works for the model but becomes gibberish to us. So there’s a tradeoff: more efficient reasoning vs. preserving one of the few windows we have into how the model reached its conclusion.
m0wer's avatar
m0wer 4 days ago
github-backup: backup a github user or organization It's never a good idea to put all your eggs in one basket, so don't let GitHub have the power to take away all the issues, PRs, and discussion history of your project! Even if you have repo mirrors and local copies, that's just the code. But everything else around it is just as valuable. This is a tool that allows you to easily backup all your user or organizations repos, including the code, and all comments in issues PRs or wherever. Basically everything that you have in GitHub. It supports incremental backups and just needs a read access token with as many permissions as things you want to back up. Don't leave it for when it's too late!
m0wer's avatar
m0wer 6 days ago
JoinMarket NG 0.39.0 and 0.39.1 are out. Comes with supply chain attack hardening. 0.39.1 TLDR: Pre-release workflow (to pevent releases with all needed signatures), rescan bug loop fix, local installer for updates (supply chain hardening), UTXO selector redesign, and local up to date config.toml.template reference copy. 0.39.0 TLDR: Bug fixes, security hardening, and privacy improvements. Takers now consider only quantized maker offers by default, with an optional equalized payment policy. New features like jm-wallet delete and improved usability and logs noise.
m0wer's avatar
m0wer 1 week ago
Found a vulnerability in some LN software with hundreds of stars in GitHub. The repo has no security policy and does not accept private reporting. The maintainer does not advertise his email but managed to found it in some commits. The GPG used to sign them and other stuff is expired but still being used. I did not manage to convince neomutt to encrypt an email with the expired key, because if I changed the system time, then my key was not yet valid xD Anyway sent an email asking for a fresh GPG key for the report, the maintainer has not answered after a few days. Do I just open the issue openly? Or what does one do in this cases?
m0wer's avatar
m0wer 1 week ago
Implicit Deletions and Improvements in Utreexo IBD The interesting idea is that Utreexo IBD can exploit something live validation normally can’t: during historical sync, you already know which outputs will eventually be spent. That means you can avoid inserting those outputs into the accumulator only to later download proofs and delete them, and instead build the accumulator as if those deletions had already happened. Combined with Swift Sync-style spentness hints that remain verifiable, this cuts a large chunk of Utreexo’s IBD proof overhead and also makes block processing much more parallel, potentially turning sync into a mostly bandwidth-bound problem even on low-end hardware.
m0wer's avatar
m0wer 1 week ago
A new routine for JoinMarket NG releases is to do an incremental security audit with Kimi K3/GLM 5.3 since the last checkpoint. Oh, and there's also a new daily GitHub CI for checking vulnerabilities in the dependencies and built Docker images.
m0wer's avatar
m0wer 3 weeks ago
Bitcoin xpub watchdog with transaction notifications After the event of the last weeks, I wondered how long would it take to realize that you have been stolen from. Given that people don't manually check all of their balances daily (I guess). And that noticing fast, could help you save part of your stack (maybe). So I made a tiny Bitcoin Core watchdog. The idea is simple: import account-level xpubs into watch-only descriptor wallets and let Bitcoin Core notify a small Python script whenever something moves. By default it alerts twice if appropriate: once when the transaction first appears in your node's mempool, and once when it gets confirmed. That second alert is important because a transaction does not necessarily have to enter the public mempool. It could, for example, be submitted directly to a miner and first become visible to your node when the block arrives. The script has no database and keeps no wallet state. Bitcoin Core does all the actual monitoring. Install it: ``` sudo install -m 755 bitcoin_core_watchdog.py /usr/local/bin/bitcoin_core_watchdog.py ``` Store a Gotify application token somewhere readable by Bitcoin Core: ``` echo 'YOUR_GOTIFY_TOKEN' > /etc/bitcoin-watchdog.token chmod 600 /etc/bitcoin-watchdog.token ``` Then add to `bitcoin.conf`: ``` keypool=5000 blockfilterindex=1 walletnotify=env GOTIFY_URL=https://gotify.example.com GOTIFY_TOKEN_FILE=/etc/bitcoin-watchdog.token /usr/local/bin/bitcoin_core_watchdog.py notify %w %s %b %h ``` A self-hosted Gotify instance is ideal if privacy is the goal. The Gotify-specific part is isolated in `send_notification()`, so adapting it to ntfy, Pushover, email, Telegram, etc. should be straightforward. Test notifications: ``` GOTIFY_URL=https://gotify.example.com \ GOTIFY_TOKEN_FILE=/etc/bitcoin-watchdog.token \ bitcoin_core_watchdog.py test-gotify ``` Then add the accounts you want to watch. Native SegWit/BIP84: ``` bitcoin_core_watchdog.py add cold-storage segwit 'zpub...' # or xpub... (also works) ``` Taproot/BIP86: ``` bitcoin_core_watchdog.py add taproot-vault taproot 'xpub...' ``` Don't put seed phrases or private keys on the monitoring node. Export an account-level xpub from the actual wallet and keep the Core wallets watch-only. For an existing wallet, give Core an approximate birthday so it knows how far back to scan: ``` # get the epoch with `date -d "2026-01-01 00:00:00" +%s` bitcoin_core_watchdog.py add cold-storage segwit 'zpub...' \ --timestamp 1767222000 ``` Or use: ``` --timestamp 0 ``` to scan the entire chain. New wallets default to `--timestamp now`. The `add` command is only a convenience wrapper. You can do the same thing manually with `bitcoin-cli`: create a blank watch-only descriptor wallet with autoload enabled and import the appropriate descriptor. A normal transaction might therefore produce: ``` Bitcoin mempool activity: cold-storage sent 0.5 BTC · RBF Unconfirmed / in local mempool ``` followed by: ``` Bitcoin confirmed activity: cold-storage sent 0.5 BTC Confirmed at block 123456 ``` If the transaction bypasses your mempool and gets sent directly to a miner, you simply get the second notification. The explorer link defaults to `https://mempool.space/tx/<txid>`. That's not ideal for privacy, but the script never queries mempool.space. It only puts the URL in the notification, so nothing is sent there unless you actually click it. If you run your own explorer, set: ``` MEMPOOL_URL=https://mempool.example.com ``` So the whole thing is basically: Bitcoin Core → watch-only descriptor wallets → mempool/block detection → walletnotify → Gotify No external address lookup service, no xpubs handed to a third party, and no private keys on the monitoring machine.
m0wer's avatar
m0wer 3 weeks ago
After a `docker system prune -y` xD image
m0wer's avatar
m0wer 1 month ago
m0wer's avatar
m0wer 1 month ago
Bitcoin Airgap QR Workbench Was tired of not having a simple tool to scan and generate dynamic QRs used by many different air gaped hardware wallets. Built one. It runs in your browser. No external dependencies, and no requests after loading. You can also clone it and run it locally: [https://github.com/m0wer/bitcoin-airgap-qr/](https://github.com/m0wer/bitcoin-airgap-qr/) ![](https://m.stacker.news/151960)