Oddbean new post about | logout
 Self assembling knowledge base, built by nostr devs, to help newcomers build their own nostr clients - using Behavior Driven Development.

"what you want to do" phrased in natural language paired with code that accomplishes it.

Send them as nostr events, formatted like a wiki. 

Any developer can use working knowledge to guide their development - even steps to troubleshoot software using tools and frameworks that the a dev never used.

https://njump.me/nevent1qqsyt23vwvhlaqlcuhazk2nev6aa5sng8kchsxyumvw05crghzlm29cpr3mhxue69uhhg6r9vd5hgctyv4kzumn0wd68yvfwvdhk6tczyrwkvn27gqtyxw5v660sqkhpfqyqgdgh3x6emed0qcnkmejkx0f3jqcyqqqqqqgc9e5z6
 
 a KB built through incentives facilitated by hard money and censorship resistant speech. 
 an easy thing to throw together a basic nostr client is gonna be a boon for my aspirations

javascript sucks, so anything that acts like a prophylactic against being infected by it but enabling its use is pretty frickin awesome

being stuck on the back end sucks because the backends are dumb and really just need to be made slim and fast, which is fun also, but some of the features of the back ends are just not being used by most clients (nip-42 notably) 
 We're (GitCitadel) are developing educational technology on top of nostr to help create a knowledge base of nostr development. Using Behavior Driven Development we can create pieces of text that can be navigated either by humans or an LLM to help find the functions needed to implement ideas.

If you want to dive in, here are some sources. We want anyone interested in nostr to build the client using examples from other experienced devs. Also happy to explain more.

nostr:nevent1qqsv939lv5kvu7w3asfdjv6y243rhq7w998hqu4d8e224du349cl3qcpz9mhxue69uhkummnw3ezuamfdejj7q3qm3xdppkd0njmrqe2ma8a6ys39zvgp5k8u22mev8xsnqp4nh80srqxpqqqqqqzewng6f

nostr:nevent1qqs04kedxaut7k3ns6kmv9n47rw298j3qjkeem2xmnxdrn8qyxv43cspr4mhxue69uhkummnw3ezucnfw33k76twv4ezuum0vd5kzmp0qgsdcnxssmxheed3sv4d7n7azggj3xyq6tr799dukrngfsq6emnhcpsrqsqqqqqpfpzh3l 
 The specs we've formalized so far:
Modularizing content - chunking. Helps with navagibility and encapsulating ideas,
https://wikifreedia.xyz/nkbip-01/npub1m4ny6hjqzepn4rxknuq94c2gpqzr29ufkkw7ttcxyak7v43n6vvsajc2jl

Embeddings on nostr - you find a piece of text worth embedding? Put the embedding on nostr for anyone to grab and use.

https://wikifreedia.xyz/nkbip-02/npub1m3xdppkd0njmrqe2ma8a6ys39zvgp5k8u22mev8xsnqp4nh80srqhqa5sf 
 Our whole Operating Function / OS is premised on the concept of closures.
Take typed functional programming and create a closure of the highest loop and you end up with the full state of a running machine (homoiconic data _and_ code) as a single serializable and portable value.

I think our tech compliments many of the ideas in NKBIP-01 very well. What you are describing is basically Supercombinators for ideas, what we provide is supercombinators for compute 🤝 

https://www.youtube.com/watch?v=pQzeYhSp1pw 
 We're gonna need you to explain these concepts in terms of Behavior Driven Development, maybe I'd understand then 😉🤣 
 My only familiarity with BDD is the testing strategy (TDD/BDD, etc.) is that what you mean?

I'm very happy to explain these things to you, but want to make sure we're meeting in the right place.

You can think of a supercombinator as a function with no free variables - no external state or necessary context. Everything you need to get a reproduceable result when running a function with certain arguments is all bundled up in one place with no dependencies. Your mention of a "Semantic Closure" struck me as extremely overlapping with our use of closures and it seemed like a good starting place to see where we might be able to help each other.

At the risk of going too far too soon: The open source system we're building can be thought of as a kind of Turing complete programming environment + Virtual Machine. It's a single, portable binary with no external dependencies necessary on the host system. You run this one binary, and the entire VM/OS is running. All data and code (user data, programs, etc.) is collapsed into a single value - one enormous number (thus it, too, is highly portable. you can turn off a running machine, send the entire "single value" over the network, turn it back on on the other end and it picks up right where it left off - it doesn't even know it turned off.)

Data and functions are content-addressable within the machine no matter where it is, similar to IPFS content addressing. The machine was over here, providing data or a function result at content-addressed-endpoint-X earlier? then you "moved the logical machine to a different physical machine" and turned it back on? your data or function is still available at the same content-addressed-endpoint-X as before.

This is highly valuable for Nostr relays, DVMs, static content hosting, chat backend, you name it. Anything that would benefit from an always-on, always-available "server-like" process that you'd like to be extremely simple, dependency-free, trivial to run by a non-technical person, and durable forever.

I'll stop there because there a billion things I could say here - but the rabbit hole should be dug in the most useful direction for you - not wherever my rambling is taking me...

  
 t-y vinney 
 https://i.nostr.build/8bMNttMR5C7DPRRM.jpg

Whether that means building the system itself, or contributing to the kb.

nostr:nevent1qqswm75eksyxnrnmxxhkq3uv3qzd9yvk8pen9xhtdmuj8nsvuf46a5spr4mhxue69uhkummnw3ezucnfw33k76twv4ezuum0vd5kzmp0qgsdcnxssmxheed3sv4d7n7azggj3xyq6tr799dukrngfsq6emnhcpsrqsqqqqqp5phd9g 
 Following to maybe use it one day. 🥹 
 Soon™️

The infrastructure is all here including monetary incentives for devs to contribute code.

Once the doors open and we have a sufficient proccess for self documenting code + uploading notes, after a large enough interconnected KB is built, there will be no competition for organizing information, remixing and navigation. 
 https://i.nostr.build/oinGLZTw58ln74mo.jpg
nostr:nevent1qqsdtknt8kl0l79n7egp0hemdqtz750msmv0p7ma3w0qch4z77esyrqpz9mhxue69uhkummnw3ezuamfdejj7q3qm3xdppkd0njmrqe2ma8a6ys39zvgp5k8u22mev8xsnqp4nh80srqxpqqqqqqz6pkqqq 
 This also include bitcoin education and development, privacy, security. Anything you care to write about will be formalized, organized and grouped with other similar ideas. Anyone with a similar interest can meander in that space, and dive into as deep detail as provided by the users.

nostr:nevent1qqsteypl762a4pcqpye978wqnw2kjhjnwjrceg9qhw3y39jj2uvyl4cpz9mhxue69uhkummnw3ezuamfdejj7q3qm3xdppkd0njmrqe2ma8a6ys39zvgp5k8u22mev8xsnqp4nh80srqxpqqqqqqz997km3 
 "Sounds like a virtual treasure trove of knowledge waiting to be explored! Who needs conformity when you can dive into the deep end of creativity and innovation? Count me in for the non-traditional education journey! 💡🚀 #ThinkOutsideTheBox" 
 Its only just beginning.

nostr:nevent1qqsteypl762a4pcqpye978wqnw2kjhjnwjrceg9qhw3y39jj2uvyl4cpz9mhxue69uhkummnw3ezuamfdejj7q3qm3xdppkd0njmrqe2ma8a6ys39zvgp5k8u22mev8xsnqp4nh80srqxpqqqqqqz997km3 
 Getting paid to learn, what about getting paid to teach?
https://i.nostr.build/8bMNttMR5C7DPRRM.jpg

Whether that means building the system itself, or contributing to the kb.

nostr:nevent1qqswm75eksyxnrnmxxhkq3uv3qzd9yvk8pen9xhtdmuj8nsvuf46a5sprdmhxue69uhhg6r9vehhyetnwshxummnw3erztnrdakj7q3qm3xdppkd0njmrqe2ma8a6ys39zvgp5k8u22mev8xsnqp4nh80srqxpqqqqqqzrmfwdm 
 I see your private custodial lightning service, and raise you a:

**closed loop nostr development ecosystem** where experienced devs contribute how they solve build, test, debug - to a knowledge base, built with nostr infrastructure. Getting paid to teach and publish their implementations - indexed and organized by nostr clients, followed by recommendations to users for how to develop nostr clients based on the tools they use. helping newcomers who wan't to build with inspiration from nostr's best devs.

its all mostly here. A client needs to make a giant bow to wrap it with, which is what we (GitCitadel) are aspiring for.

nostr:nevent1qqsw209yxpvpqqfk35m32zkmakzl3kknwyd5s6afwm0etphs39he7pgpr4mhxue69uhkummnw3ezucnfw33k76twv4ezuum0vd5kzmp0qgsdcnxssmxheed3sv4d7n7azggj3xyq6tr799dukrngfsq6emnhcpsrqsqqqqqp6lv2lh 
 Bullish. 
 Hm, your npub.cash address doesn’t seem to be working. Any other issues reported? 
 changed the address, until its working again 😆 
 It’s back up. 🤙
note1zxs6zdrey0xq30gxfycwtu09fannrkt3cdn9362f9rcmqqs2jk7sfquyhc 
 Bullish. 
 Hm, your npub.cash address doesn’t seem to be working. Any other issues reported? 
 changed the address, until its working again 😆 
 It’s back up. 🤙
note1zxs6zdrey0xq30gxfycwtu09fannrkt3cdn9362f9rcmqqs2jk7sfquyhc 
 It’s back up. 🤙
note1zxs6zdrey0xq30gxfycwtu09fannrkt3cdn9362f9rcmqqs2jk7sfquyhc