Skip to content

Instantly share code, notes, and snippets.

@justinmoon
justinmoon / WHY_OPENCODE_WORKS_MAPLE_DOESNT.md
Last active October 27, 2025 15:04
Maple AI Bug: Models don't use OpenAI tool calling format (tested with gpt-oss-120b)

Why OpenCode Zen Works But Maple Doesn't for Tool Calling

The Question

"Why doesn't Qwen Coder work? Doesn't this same model work from OpenCode Zen? How does it work for one and not the other?"

The Answer

They're NOT the same models. OpenCode Zen and Maple offer DIFFERENT models with different capabilities.

setting up developer environment

Instructions.

Our developer environment is amazing, but it downloads a few gigabytes of data to get set up

fedimint-cli

# pull docker image
@justinmoon
justinmoon / gist:3ff2722f0d136c55f2c1166a03a174f7
Created September 26, 2022 02:37
9/27/2022 Fedimint Dev Call
- https://github.com/fedimint/fedimint/issues/613
@justinmoon
justinmoon / tweak.md
Last active July 5, 2022 13:47
BDK + Minimint

About Minimint

Minimint is similar to Liquid. But instead of 1 monolithic codebase, it is very modular. So it's more like a "framework for building federations". One module implements "Chaumian ecash", another integrates with Lightning, another is an on-chain wallet.

The on-chain wallet module currently has a public descriptor like this: wsh(sortedmulti(3,02b5b951e6426bc30ba6e7e1cb9cfae06c2658c043614c0fa37a7c4a649a4a3056,026ad269307053e5a11f7ab73209e89791ae31cabfa00b5fa2811bb25633eec6d6,034c71c3f3c2a8ecf07477158be4d9f37b44694b2987f6487c3884857002348fd1,033d94f61ac8bd8fc460a91f7b61e45a16b51d10097200f17fb0998a7483cc8f19))#cc9uhqy3. Each federation server controls one of these keys. When a user deposits into the federation, they

(1) Tweak each pubkey in this descriptor with some random number X.

(2) Deposit to this address associated with this tweaked

@justinmoon
justinmoon / start.md
Last active February 7, 2022 23:02
How To Start A Startup by Paul Graham

How To Start A Startup by Paul Graham

(original is here, hosting in gist so that I can link to specific section)

You need three things to create a successful startup: to start with good people, to make something customers actually want, and to spend as little money as possible. Most startups that fail do it because they fail at one of these. A startup that does all three will probably succeed.

And that's kind of exciting, when you think about it, because all three are doable. Hard, but doable. And since a startup that succeeds ordinarily makes its founders rich, that implies getting rich is doable too. Hard, but doable.

If there is one message I'd like to get across about startups, that's it. There is no magically difficult step that requires brilliance to solve.

The following builds are still in progress:
/gnu/store/zy0i43ccvlyhqjqr5p3nqzaqglj9xhvh-gcc-glibc-2.27-9.3.0.drv
/gnu/store/kzm3l7cxyljsaw92pkj9j57wyvaa6w8p-gcc-5.5.0.tar.xz.drv
/gnu/store/cbgd81mxj931fldfz7gmikh9ma9dfk68-gcc-9.3.0.tar.xz.drv
building /gnu/store/5w32y22c4mcb6rnbrg4s00abyhvj2yw7-ld-wrapper-x86_64-linux-gnu-0.drv...
The following builds are still in progress:
/gnu/store/zy0i43ccvlyhqjqr5p3nqzaqglj9xhvh-gcc-glibc-2.27-9.3.0.drv
/gnu/store/kzm3l7cxyljsaw92pkj9j57wyvaa6w8p-gcc-5.5.0.tar.xz.drv
/gnu/store/cbgd81mxj931fldfz7gmikh9ma9dfk68-gcc-9.3.0.tar.xz.drv
$ env PATH="/root/.config/guix/current/bin${PATH:+:}$PATH" ./contrib/guix/guix-build.sh
make: Entering directory '/bitcoin/depends'
make[1]: Entering directory '/bitcoin/depends'
make[1]: Leaving directory '/bitcoin/depends'
make[1]: Entering directory '/bitcoin/depends'
make[1]: Leaving directory '/bitcoin/depends'
make[1]: Entering directory '/bitcoin/depends'
make[1]: Leaving directory '/bitcoin/depends'
make: Leaving directory '/bitcoin/depends'
* guix-improve
substitute: updating substitutes from 'https://guix.carldong.io'... 0.4%Backtrace:
substitute: In ice-9/boot-9.scm:
substitute: 1736:10 4 (with-exception-handler _ _ #:unwind? _ # _)
substitute: In unknown file:
substitute: 3 (apply-smob/0 #<thunk 7fd993c84980>)
substitute: In ice-9/boot-9.scm:
substitute: 718:2 2 (call-with-prompt _ _ #<procedure default-prompt-handle?>)
substitute: In ice-9/eval.scm:
substitute: 619:8 1 (_ #(#(#<directory (guile-user) 7fd9938a4f00>)))
substitute: In guix/ui.scm: