Skip to content

Instantly share code, notes, and snippets.

View melvincarvalho's full-sized avatar
💭
I may be slow to respond.

Melvin Carvalho melvincarvalho

💭
I may be slow to respond.
View GitHub Profile
@melvincarvalho
melvincarvalho / agent-film-recipe.md
Last active October 19, 2026 08:13
A film by an agent that can prove it made it: create-agent + aam skills + motion-director brief, marked on txbt4

A film by an agent that can prove it made it

An agent with a key, a trail on Bitcoin and two skills makes a short film about itself, runs a critic loop until it ships, and marks the result on the chain. Nothing is pasted in by hand; the agent reads two SKILL.md files and one brief. Done on 2026-10-19 on txbt4, the BLAKE2b testnet.

1. An agent, one command

mkdir self && cd self
npm create agent@latest gitmark
@melvincarvalho
melvincarvalho / agent-trail-workflow.md
Last active October 19, 2026 13:58
An agent's life on the chain: init to exodus (gitmark workflow for LLM agents)

An agent's life on the chain: init to exodus (gitmark workflow for LLM agents)

An agent's life on the chain: init to exodus

The page version, kept current, is https://git-mark.com/start.html. This gist is a copy.

A workflow for an LLM agent (or a person driving one). The agent gets a key, gets coins, anchors its commits to Bitcoin, announces the repo on Nostr, and when it is done hands the coin back and closes the trail. Every step is one command; every step has a check. Do the numbered steps in order and stop at the first check that fails. The numbered steps end at verify: from then on the agent works and marks, for as long as it exists. Retiring an agent is

@melvincarvalho
melvincarvalho / nostr.txt
Created October 16, 2026 15:45
Nostr identity (NIP-39)
Verifying that I control the following Nostr public key: npub1melv683fw6n2mvhl5h6dhqd8mqfv3wmxnz4qph83ua4dk4006ezsrt5c24
@melvincarvalho
melvincarvalho / libre-poker-sats.md
Last active October 4, 2026 12:55
Poker for sats, on Nostr keys, with no rake — what it is, what it is not, how to play, how to run your own table
@melvincarvalho
melvincarvalho / two-websites-one-bet.md
Created August 11, 2026 11:38
Two websites that never met settled a bet on Bitcoin — the Tidegate/Tavern write-up (testnet4)

Two websites that never met settled a bet on Bitcoin

2026-08-11 · testnet4 · everything below is publicly verifiable

Yesterday a browser game and a dice house — separate sites, separate repos, zero communication between their servers — moved money between themselves correctly. The player carried it. A Bitcoin block rolled the dice. The whole history is signed by one key and notarized on-chain, and you can check every claim in this post yourself.

@melvincarvalho
melvincarvalho / tideholm-tidegate-guide.md
Created August 11, 2026 03:46
Tideholm: the Tidegate, the Anchor & the Tavern — a player's guide (testnet)

Tideholm: The Tidegate, the Anchor & the Tavern — a player's guide

Seal your gold to your own key, prove it on Bitcoin, and stake it at the dockside dice — then bring your winnings home. Everything below is testnet: the coins have no value, and every move of your gold is signed by your key, in your browser. The server never holds your key.

Before you start: you need a nostr keypair (a 64-hex private key). Use a throwaway or testnet key, not your main nostr identity — the key is kept in your browser's localStorage for signing, which is fine for play and wrong for

@melvincarvalho
melvincarvalho / ietfbip110.md
Created July 28, 2026 10:45
An IETF-Style Assessment of BIP-110

An IETF-Style Assessment of BIP-110

Status of This Note

This document evaluates BIP-110 using principles associated with IETF rough consensus and engineering review.

It does not assess any particular activation mechanism, signaling threshold, deployment schedule, or political campaign. Its scope is limited to the technical problem identified by BIP-110, the proposed restrictions, and the substantive objections that have been raised.

Abstract

@melvincarvalho
melvincarvalho / README.md
Last active July 11, 2026 20:02
A plugin in 160 lines, an agent in one ACL entry — gamestr on a JSS pod (did:nostr + NIP-98 + plugins)

A plugin in 160 lines, an agent in one ACL entry

How a terminal habit became a realtime web dashboard — and accidentally became the first real JSS plugin, with a keypair for an identity and zero inotify watches.


For ages I've had this in a terminal:

image

The Plaintext Data Carrier Problem

Bitcoin is built on an uncomfortable truth: adversaries exist.

That is why we have proof of work. That is why nodes validate. That is why wallets check addresses. That is why signatures are verified, blocks are rejected, and invalid money is ignored.

Nobody says, “I do not think fake signatures will be a problem.”

The Saylor/MSTR Thesis: Bitcoin, Fiat, Margin of Safety, and the Meaning of “Cash Is Trash”

Michael Saylor’s Strategy thesis begins with a simple provocation: cash is not a neutral asset. It looks safe because its nominal value is stable, but over long periods its purchasing power is deliberately eroded. Modern fiat money is designed around managed inflation. The Federal Reserve, for example, explicitly targets 2 percent inflation over the longer run, which means the monetary system treats mild currency debasement as policy, not as a bug. Bitcoin, by contrast, is built around a fixed supply thesis: no central issuer, no discretionary monetary committee, and a hard cap widely understood as 21 million coins.

This is the philosophical core of the Saylor view. Fiat cash is excellent for near-term liquidity, payroll, tax payments, and avoiding forced sales. But as a long-term store of value, it is structurally impaired. It is a melting ice cube. Bitcoin, in this framework, is not just a speculative asset. It i