Stuart Bowman's avatar
Stuart Bowman
_@satellite.earth
npub1luna...27lj
Building Satellite https://satellite.earth 🏴
Stuart Bowman's avatar
Stuart Bowman 5 months ago
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 6 months ago
日本のnostrユーザーの皆さん、こんにちは! を日本語にローカライズしました。おそらく間違いがあると思いますので、もし見つけたらお知らせください、修正します。ありがとう 🙏
Stuart Bowman's avatar
Stuart Bowman 6 months 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 6 months ago
I doubt that the average person who lived 100 years ago had more freedom than we do today
Stuart Bowman's avatar
Stuart Bowman 7 months ago
Just shipped a new Satellite version with hybrid @Vertex integration for user search. Now when you search as a signed in user you'll see memory-cached results instantly (computed locally from your follow list) and then a second later the Vertex results appear as well. So now you can find pretty much anyone in nostr from the top nav, even obscure profiles. Solid product @Pip the WoT guy @franzap
Stuart Bowman's avatar
Stuart Bowman 7 months ago
What's up guys After my year break from social media I deployed the total rebuild of I created over course of these past 12 months. It's a major upgrade. The old Satellite was cool aesthetically but was not functional enough to be a daily driver. I had to fix this, to make the nostr client that I've always wanted. Something beautiful that gets the basics right. I changed the front page and the profile pages to focus on *just* what you're looking for, but I kept reddit-style threads because they are amazing for reading long conversations, e.g I got rid of NIP-172 communities. They were just too messy. I'm working on replacing them with relay-based communities instead (something like what @hodlbod has been cooking). This will be ready and deployed in the near term. In the meantime, straight up relay feeds are already functional. You just have to type the url in yourself, e.g. You can create aggregate relay feeds too by just including multiple comma separated relays in the url, e.g. Satellite CDN got reworked and refreshed as well. You can now see all your transactions, your current balance, and your burn rate. It's way more clear now what's going on. image I added client side search, based on your social graph (or *my* social graph if you're not signed in). It pulls all your contacts, your contacts' contacts, and indexes your web of trust locally. Believe it or not this is actually quite performant (especially if you are on a multicore machine). To be clear, this is not really *search*. Something like what @Pip the WoT guy is building that is not strictly local will be necessary for finding obscure people. This is essentially navigation UX, and it works great for jumping to someone's profile when you know where you want to go. image Notifications are super reliable now. Aside the feed working well (which is the #1 live or die UX that absolutely must work) having notifications that are useful and where you can reply immediately from the interface without hunting down the post context is pretty important. image Added NIP17 support. Maintained legacy NIP04 support for existing chats only. The future is @White Noise style Marmot Protocol (pending) image One of things that always annoyed me about legacy social media is that they spend all their screen real estate trying to get you to go somewhere *else* (???) I mainly designed this profile page to be the client that I want to use. I want to link to my page and not have the sidebars to like a billboard or something. In the new Satellite the profile page looks pretty and only shows your stuff (and nothing else) Added full featured rich text editor. This was one of the main things the old Satellite was lacking. In the new Satellite you can upload media inline, directly to Satellite CDN or whichever is your preferred blossom server. Mentions, emojis, embedding nostr notes inline are supported as well. image The Satellite CDN UI is much improved as well, especially if you have lots of files. The terms and cost are the same as old Satellite. You can upload big files (like > 5GB). Bandwidth is free. $0.05/GB/mo. Prepaid. Lightning only. If you want a nice blossom-compatible gallery UX to be a home for all your media on nostr, I would encourage you to check it out. image I added some other thread improvements too. One feature I'm really happy about in the new Satellite is that you can link directly to deeply nested reply, e.g. The ability to link to replies while seeing the whole context of the conversation I feel like really increases the "surface area" of the thread. * * * There are some more cool things in the pipeline. Relay communities are the priority right now. After that I will show you guys the new relay that I also built during this 12 month interlude. Finally, if you still want to use the old satellite, you may at View quoted note →
Really excited about @trustroots on nostr ! I’ve been saying for a while now that someone should make couchsurfing on nostr…Couchsurfing around 2010 was like the greatest thing ever, and it was such a tragedy when the admins sold out and rugged everyone who had built up connections. Building it on nostr is a great use case showing how we can preserve social capital. View quoted note →
Just fixed an extremely subtle bug on Satellite CDN caused by cache settings. The blossom /list endpoint would sometimes return metadata for files that were deleted. Thanks to @florian for helping me discover this!
Stuart Bowman's avatar
Stuart Bowman 2 years ago
I can see the northern lights from California right now image
Stuart Bowman's avatar
Stuart Bowman 2 years ago
Suppose as a thought experiment that the price of energy fell by a factor of one thousand. What would happen to the price of gold? What would happen to the price of Bitcoin?
Stuart Bowman's avatar
Stuart Bowman 2 years ago
That would be so cool if there was an AI inside your laptop that you could grant keyboard/mouse control to and that you could communicate with verbally, and it would understand what you were asking it to do in context of what was currently on the screen. Basically like you're always screen sharing with your AI helper. Since it would have access to everything this would probably only be workable if you were running locally or self hosting. In any case I wouldn't be surprised if UX converges on something like this in the near(ish) future
Stuart Bowman's avatar
Stuart Bowman 2 years ago
You didn’t come into this world, you came out of it
Stuart Bowman's avatar
Stuart Bowman 2 years ago
It seems like everything is always falling apart because everything *is* always falling apart. What’s less obvious is that everything is also always coming into being. Death is just more obvious than birth. We notice the absence of things we were used to more than the presence of things we weren’t, and this creates the perceptual bias that the world is out of balance.
Stuart Bowman's avatar
Stuart Bowman 2 years ago
Years ago I bought into the idea that deflationary currency was unworkable because it would make raising capital too hard—that inflationary money was a necessary evil because to do otherwise would be to set a floor on interest rates equal to the real purchasing power accrued simply by holding the currency. I would guess that this remains the number one misconception among informed, intellectually honest critics of bitcoin.