Stuart Bowman's avatar
Stuart Bowman
_@satellite.earth
npub1luna...27lj
Building Satellite https://satellite.earth ๐Ÿด
My favorite thing about agents is that I can finally go back to just using Terminal + Sublime Text
Ok since I've accepted that I have to code in English now, is there like a "English framework" that makes this easier? Like if you have a big complex idea/spec in your head that you need to articulate so that an LLM can implement it, what does the workflow look like? I struggled with this. So far the best thing I've come up is to start by writing an "index.md" that is like a high level summary/abstract containing a bunch of links pointing to other "<feature>.md" or "<concept>.md". I just write free form exposition until the entire idea is rendered into English, and then I tell the LLM to read it and ask me clarifying questions about anything it does not understand. I don't shy away from "pitching" the idea in these design documents. I want the LLM to grasp the *why* just as well as the *what* because I think that helps it make better implementation decisions in certain cases. Then, once I've got the whole thing from my brain into English and I feel like it makes sense *to me*, we iterate. I tell it to read the whole thing and ask me questions. I answer its questions and update the markdown files as necessary to include details that I may not have specified or that it thinks are ambiguous. At some point just based on vibes this matrix of markdown files (the "English source") feels comprehensive-ish and I tell the LLM "ok crawl these interlinked design docs, read them all, and create a todo.md file". This todo.md is like a persistent roadmap or task list (also containing tasks marked as complete and descriptions of the task) that gets committed to git along with all the other markdown files. Then we go into the implementation phase. At this point you can pretty much just say "ok do it" and walk away, have some coffee. I tell the LLM (in the index.md file) that whenever it does something it needs to update todo.md (Claude leaving messages for future amnesiac Claude). And also I have to create or update tests because why not. One way I've been thinking about this is that /src is no longer the first step in the pipeline. There is now a /design folder containing English that gets (effectively) transpiled by the LLM into the source code. But it's not a pure transpilation. There is path-dependence because of the notes that the LLM leaves itself in the todo.md file about what it did and why. (sometimes I've head to clean these up manually when it goes off the rails to avoid contaminating subsequent context) I've realized a couple things: The *good part* of coding in English is that you get to maintain your high-level designer headspace the whole time without getting bogged down by implementation details. Honestly this is the best part. The *bad part* of coding in English (and this is why I'm like the last dev in nostr to let Claude take the wheel) is that, at least for me, trying and failing to implement something has very often been *how I discovered* certain information about the problem domain. Without trying to implement something myself I often don't feel confident enough that my designer guy persona is not full of shit (this I feel is parallel to the writing process - there's that line about how "writing is thinking", the point of writing being to reveal to *yourself* inconsistencies in your own thought. Anyway). I feel like in last few months I've finally started to make this work for me. The learning forgone by not encountering low level reality is being counterbalanced by spending more time iterating in English. Still, I have the feeling that I'm leaving something on the table. For example I have no idea how to really take advantage of sub-agent orchestration. I also have no clue what happens if/when my markdown files become too big to always have in context. Maybe my whole concept of a markdown-based pipeline is retarded and I should just use <foo> (yes I know about Obsidian) As an engineer, I don't think I've ever felt more *and* less capable as at the same time. I am curious what you guys are doing. Anyone have a similar process?
Stuart Bowman's avatar
Stuart Bowman 2 weeks ago
It's kind of crazy how "searching" something on the internet is basically not a thing now
Stuart Bowman's avatar
Stuart Bowman 1 month ago
ๆ—ฅๆœฌใฎnostrใƒฆใƒผใ‚ถใƒผใฎ็š†ใ•ใ‚“ใ€ใ“ใ‚“ใซใกใฏ๏ผ ใ‚’ๆ—ฅๆœฌ่ชžใซใƒญใƒผใ‚ซใƒฉใ‚คใ‚บใ—ใพใ—ใŸใ€‚ใŠใใ‚‰ใ้–“้•ใ„ใŒใ‚ใ‚‹ใจๆ€ใ„ใพใ™ใฎใงใ€ใ‚‚ใ—่ฆ‹ใคใ‘ใŸใ‚‰ใŠ็Ÿฅใ‚‰ใ›ใใ ใ•ใ„ใ€ไฟฎๆญฃใ—ใพใ™ใ€‚ใ‚ใ‚ŠใŒใจใ† ๐Ÿ™
Stuart Bowman's avatar
Stuart Bowman 1 month ago
The thing about prediction markets is that they don't just reflect direct bets on an outcome. They also reflect bets on how others will place bets on an outcome. Once this is understood, they will start to reflect that too.
Stuart Bowman's avatar
Stuart Bowman 1 month ago
Deployed Satellite v2.2 - Added support for reading and replying to long form articles - Added proper link previews - Bug fixes and performance optimizations First class support for composing long form is not in this release, but is in the pipeline. Also I set up a CORS proxy `https://cors.satellite.earth` for link previews. It's really simple, you just `GET /link/:url` and it will proxy the request with the proper headers so your client can parse the response however you want. If anybody wants to use this for your project lmk and I will whitelist your origin.
Stuart Bowman's avatar
Stuart Bowman 1 month ago
Got an email saying that Satellite's @Alby Hub missed a lightning payment because of lack of receiving capacity, yet I have currently have 1.3 million sats of receiving capacity. Smaller payments earlier today went through fine - so either something strange is going on, or someone tried to buy a LOT of Satellite CDN storage...
Stuart Bowman's avatar
Stuart Bowman 1 month ago
How though? There are fundamentally only 3 ways right? 1) PoW L1, i.e. a distributed db with public read access and write access mediated by energy with a network effect strong enough that it will never be displaced (so Bitcoin) 2) Make all the data that's being hosted encrypted in equal size indistinguishable chunks so that infra providers can't discriminate even if they want to. (so something like Garland aka the thing @Max proposed recently) 3) Pay infra providers enough money that ideology becomes marginalized as a motivating factor as to why the operator would or would not host your data (this is kind of the defacto solution but it fails in cases where the gov mandates censorship) Out of all these options it seems like #2 is the only one that is actually maybe workable at scale (obv bitcoin works but cannot hold all the state in the world). And *storage* is the relatively easy case. If you want ideology-neutral compute you need homomorphic encryption. (and I guess that's possible but not really fully solved... I don't know enough about that to be sure) Every time this neutral infra thing comes up in a mainstream forum like hacker news or something, it's clear that the only solution people can agree on is like "the government should force them to be neutral" (lol) I feel like saying yeah maybe that worked in 1996 when the gov was the "containing superstructure" of the world and the internet/media was a like a subsidiary realm, but now that the roles are reversed, well, math to the rescue I guess (why does that sound familiar?) Not saying a political solution is bad, I'm just saying it's impossible. Technical solutions are hard, but possible. View quoted note โ†’
Stuart Bowman's avatar
Stuart Bowman 1 month ago
When you read a note from someone you've met in real life, do you read it to yourself in their voice? Sometimes even when I'm not reading nostr I will suddenly think "swim bladder" in @gsovereignty's voice in my internal monologue
Stuart Bowman's avatar
Stuart Bowman 1 month ago
I have a theory that nothing actually ever gets fixed. Things just die, and then, ex nilhio, new things come into being, and it's all good.
โ†‘