Creator of Blowater BJJ & Fitness I self identify as a Pro Sleeper DM me using blowater.app
Public Key
npub1dww6jgxykmkt7tqjqx985tg58dxlm7v83sa743578xa4j7zpe3hql6pdnf
Profile Code
nprofile1qqsxh8dfyrztdm9l9sfqrzn6952rkn0alxrccwl2c60rnw6e0pqucmsppemhxue69uhkummn9ekx7mp0qyd8wumn8ghj7cnvdamkzar9wghxummnw3erztnrdakj74ythll
Author Public Key
npub1dww6jgxykmkt7tqjqx985tg58dxlm7v83sa743578xa4j7zpe3hql6pdnf Show more details
Published at
2024-04-29T04:39:05+02:00 Event JSON
{
"id": "49a72d5b9c3e7cb8da9b99f266d26458b8446651a71f7f65579862f786a59161" ,
"pubkey": "6b9da920c4b6ecbf2c12018a7a2d143b4dfdf9878c3beac69e39bb597841cc6e" ,
"created_at": 1714358345 ,
"kind": 0 ,
"tags": [],
"content": "{\"picture\":\"https://i.pinimg.com/564x/c9/83/9b/c9839b712d428b0ee5377df243b25312.jpg\",\"lud16\":\"[email protected] \",\"website\":\"https://blowater.app\",\"name\":\"Waterdan\",\"about\":\"Creator of Blowater\\nBJJ \u0026 Fitness\\nI self identify as a Pro Sleeper \\nDM me using blowater.app\",\"display_name\":\"\",\"banner\":null,\"nip05\":\"\"}" ,
"sig": "fae37e4a4941730746d1698f1859b57361b22a7cf5b468d17b95ffaadbd84ce2a8a2d34bf65efb97258d2ed605bb93c478af7ff001898970acba7f74491b0513"
}
Last Notes npub1dww6jgxykmkt7tqjqx985tg58dxlm7v83sa743578xa4j7zpe3hql6pdnf Waterdan Basically all declarative/reactive UI frameworks in the Frontend/Mobile world are trying to provide an API similar to Immediate Mode UI such as ImGUI / Egui / Raylib Maybe people should wake up and reflect on that retained ui has been a bad decision for the history. npub1dww6jgxykmkt7tqjqx985tg58dxlm7v83sa743578xa4j7zpe3hql6pdnf Waterdan https://www.youtube.com/watch?v=RKjVcl62J9w I respect Deno and the master minds behind it npub1dww6jgxykmkt7tqjqx985tg58dxlm7v83sa743578xa4j7zpe3hql6pdnf Waterdan https://www.youtube.com/watch?v=1y7zi3t1aNM npub1dww6jgxykmkt7tqjqx985tg58dxlm7v83sa743578xa4j7zpe3hql6pdnf Waterdan Wether Nostr is struggling or people who develop on Nostr are struggling, it does not matter. Nostr solves the problem of distributing immutable unencrypted textual data in a decentralized, censorship-resistant way, aka kind1. I believe it’s the best design for this kind of problems. However, people try to solve other problems that are either or all of 1. Encrypted data (DMs) 2. Non-textual / multi-media data (images / videos / streaming) 3. Mutable data (configurations, lists, collections) Then we see an ocean of ineffective hacks. A better approach for an application vendor, indie or group, open or close sourced, solo or funded, is to just use Nostr for its strength and implement other parts in more suitable ways. Nostr does not need to become the carrier of everything. If it does one thing extremely well, it will flourish. #note1e8g…wk8f npub1dww6jgxykmkt7tqjqx985tg58dxlm7v83sa743578xa4j7zpe3hql6pdnf Waterdan Same wise npub1dww6jgxykmkt7tqjqx985tg58dxlm7v83sa743578xa4j7zpe3hql6pdnf Waterdan As much as I admire Evan Vue’s effort and creativity of inventing Vite. I consider is not an essential software for the web development and in fact it introduced unnecessary complexity. If build/bundling is essential, then esbuild is more essential than vite. Of course, bundling should never be essential. It is artificial. npub1dww6jgxykmkt7tqjqx985tg58dxlm7v83sa743578xa4j7zpe3hql6pdnf Waterdan Is NIP-46 always connected via a Relay? Can the client and the remote signer connect directly via a http request? npub1dww6jgxykmkt7tqjqx985tg58dxlm7v83sa743578xa4j7zpe3hql6pdnf Waterdan 2 months ago @npub16wy…hy6a recommended me this book. On my trip to Thailand, I accidentally walked into a bookstore with English books, found and bought it. I never opened it, coming back from my trips. Yesterday night I had a bad sleep and felt miserable today so that I finally started to read it. I love it and will finish it in the coming weeks. https://i.nostr.build/ojvfZruslQxryIQn.jpg npub1dww6jgxykmkt7tqjqx985tg58dxlm7v83sa743578xa4j7zpe3hql6pdnf Waterdan Yeah, styling EGUI is not well documented. @npub1xts…kk5s is doing EGUI for the new Desktop app. npub1dww6jgxykmkt7tqjqx985tg58dxlm7v83sa743578xa4j7zpe3hql6pdnf Waterdan I would love to know your thoughts of GPUI vs EGUI npub1dww6jgxykmkt7tqjqx985tg58dxlm7v83sa743578xa4j7zpe3hql6pdnf Waterdan @npub1zfs…w445 One problem Blowater has is that it heavily uses IndexedDB which is slow and has horrible APIs. As much as I can optimize it, it’s a bad foundation to be built on. I believe your investment in native desktop technology is very worth it in the long run. Web is very good at presenting / displaying things but very bad at everything else. Tauri is a good approach. We can use Rust to implement a performant storage layer. I look forward to see what you make with Coop npub1dww6jgxykmkt7tqjqx985tg58dxlm7v83sa743578xa4j7zpe3hql6pdnf Waterdan How do you have this much energy to work on 2 big projects at the same time? npub1dww6jgxykmkt7tqjqx985tg58dxlm7v83sa743578xa4j7zpe3hql6pdnf Waterdan Rob Pike looks like a director instead of a computer scientist npub1dww6jgxykmkt7tqjqx985tg58dxlm7v83sa743578xa4j7zpe3hql6pdnf Waterdan The technology behind this is not only important to Nostr, but to software industry in general. Native applications are so important. npub1dww6jgxykmkt7tqjqx985tg58dxlm7v83sa743578xa4j7zpe3hql6pdnf Waterdan Just sharing my own thoughts, not against your objective observations. I choose Deno over Node and Bun mostly because of the more streamlined workflow and tooling instead of performance. When performance becomes a problem, directly reaching for Rust, skip Go I liked Go a lot. I pretty much learned concurrency programming with Go and started my whole career on Go. But the more I understand Go, the more I don’t want to use it, especially if it’s a personal project. For teams, more complicated. npub1dww6jgxykmkt7tqjqx985tg58dxlm7v83sa743578xa4j7zpe3hql6pdnf Waterdan 20K lines of code is the sweet spot that a good developer can realistically hold in his brain at once per year. Which means, the code size should be Total Lines of Code / (People - 1) <= 20K You always want to -1 because you want shared knowledge about the codebase. If your team is suffering from complexity but the number is <= 20K, you designed the wrong architecture. npub1dww6jgxykmkt7tqjqx985tg58dxlm7v83sa743578xa4j7zpe3hql6pdnf Waterdan https://www.youtube.com/shorts/r4WIT6zKR_4 this is too good npub1dww6jgxykmkt7tqjqx985tg58dxlm7v83sa743578xa4j7zpe3hql6pdnf Waterdan https://jsr.io/@blowater/nostr-sdk 0.0.9 is just released, this time, I added documentation npub1dww6jgxykmkt7tqjqx985tg58dxlm7v83sa743578xa4j7zpe3hql6pdnf Waterdan Shouldn’t the dot be at the center? npub1dww6jgxykmkt7tqjqx985tg58dxlm7v83sa743578xa4j7zpe3hql6pdnf Waterdan https://www.radicalsimpli.city/ npub1dww6jgxykmkt7tqjqx985tg58dxlm7v83sa743578xa4j7zpe3hql6pdnf Waterdan Way too generous npub1dww6jgxykmkt7tqjqx985tg58dxlm7v83sa743578xa4j7zpe3hql6pdnf Waterdan Sorry, we never had a mobile design. Maybe I should just make it an installable instead of an website npub1dww6jgxykmkt7tqjqx985tg58dxlm7v83sa743578xa4j7zpe3hql6pdnf Waterdan https://i.nostr.build/5Mn6NoTei6jYShYz.png Here is the new UI, much more like Slack/Discord. Thanks to @nprofile…l29q npub1dww6jgxykmkt7tqjqx985tg58dxlm7v83sa743578xa4j7zpe3hql6pdnf Waterdan Go to https://blowater.app/ and you will see a very unique design, our V2 design is finally rolled out! npub1dww6jgxykmkt7tqjqx985tg58dxlm7v83sa743578xa4j7zpe3hql6pdnf Waterdan As epic as https://upload.wikimedia.org/wikipedia/commons/b/b0/Raising_the_Flag_on_Iwo_Jima%2C_larger_-_edit1.jpg in very weird ways npub1dww6jgxykmkt7tqjqx985tg58dxlm7v83sa743578xa4j7zpe3hql6pdnf Waterdan Freedom is power. Power comes with responsibilities npub1dww6jgxykmkt7tqjqx985tg58dxlm7v83sa743578xa4j7zpe3hql6pdnf Waterdan People don’t want more choices. People want more confidence in their choices. npub1dww6jgxykmkt7tqjqx985tg58dxlm7v83sa743578xa4j7zpe3hql6pdnf Waterdan @npub1zfs…w445 Do you have experience in Svelte? Just curious. npub1dww6jgxykmkt7tqjqx985tg58dxlm7v83sa743578xa4j7zpe3hql6pdnf Waterdan Plain text is the best UI human has invented so far. It’s insanely effective. That’s why chat apps are so powerful. You can arrange meetings, events and complex tasks in the chat, without using a specialized app. Chat is the app of everything. npub1dww6jgxykmkt7tqjqx985tg58dxlm7v83sa743578xa4j7zpe3hql6pdnf Waterdan I really enjoy the 1 hour before sleep. I feel the complete ownership of this hour. npub1dww6jgxykmkt7tqjqx985tg58dxlm7v83sa743578xa4j7zpe3hql6pdnf Waterdan Yes. This discussion has changed my attitude towards Nostr Signin/Connect npub1dww6jgxykmkt7tqjqx985tg58dxlm7v83sa743578xa4j7zpe3hql6pdnf Waterdan So a private key is stored locally on device and the corresponding public key is stored in the server. That’s pretty much just Nostr sign-in. The only difference is that passkey approach generates a new key for every app. It’s like using a different private key for every nostr client. npub1dww6jgxykmkt7tqjqx985tg58dxlm7v83sa743578xa4j7zpe3hql6pdnf Waterdan What are passkeys? npub1dww6jgxykmkt7tqjqx985tg58dxlm7v83sa743578xa4j7zpe3hql6pdnf Waterdan It’s even harder than BTC private key protection because the moment you suspect that your BTC key is leaked, you can transfer remaining fund to another key. This is achievable because BTC requires global strong consistency. Nostr trades consistency with availability by design so that it’s impossible to transfer the ownership of events. This problem is just so damn hard. npub1dww6jgxykmkt7tqjqx985tg58dxlm7v83sa743578xa4j7zpe3hql6pdnf Waterdan What are subways? npub1dww6jgxykmkt7tqjqx985tg58dxlm7v83sa743578xa4j7zpe3hql6pdnf Waterdan The new UI of profile settings. Each relay has a different profile. https://i.nostr.build/mlXAk.jpg npub1dww6jgxykmkt7tqjqx985tg58dxlm7v83sa743578xa4j7zpe3hql6pdnf Waterdan Dependency injection and currying are the sort of design patterns that when people first get a taste of it, they go too far. npub1dww6jgxykmkt7tqjqx985tg58dxlm7v83sa743578xa4j7zpe3hql6pdnf Waterdan Bring Nostr to system programming is important @npub1drv…seet keep going! npub1dww6jgxykmkt7tqjqx985tg58dxlm7v83sa743578xa4j7zpe3hql6pdnf Waterdan I always wondered why Bill Gates looked like a teenager nerd in his 30s npub1dww6jgxykmkt7tqjqx985tg58dxlm7v83sa743578xa4j7zpe3hql6pdnf Waterdan An important direction to explore. Useful for 1. Better security in general 2. Business accounts What is the npub of the author? npub1dww6jgxykmkt7tqjqx985tg58dxlm7v83sa743578xa4j7zpe3hql6pdnf Waterdan I want to try it npub1dww6jgxykmkt7tqjqx985tg58dxlm7v83sa743578xa4j7zpe3hql6pdnf Waterdan Also https://jsr.io/@blowater/nostr-sdk if you are using Deno All of them have different flavors npub1dww6jgxykmkt7tqjqx985tg58dxlm7v83sa743578xa4j7zpe3hql6pdnf Waterdan Do you have code examples? Any language is ok npub1dww6jgxykmkt7tqjqx985tg58dxlm7v83sa743578xa4j7zpe3hql6pdnf Waterdan Can we do multi sig in Nostr? npub1dww6jgxykmkt7tqjqx985tg58dxlm7v83sa743578xa4j7zpe3hql6pdnf Waterdan Gitea can just run GitHub CI. It is nice. The UI is not as good but bearable. Just the price is high to have a fast setup. npub1dww6jgxykmkt7tqjqx985tg58dxlm7v83sa743578xa4j7zpe3hql6pdnf Waterdan https://i.nostr.build/9zMaQ.png blowater.app now has a floating modal display for settings. More new design is coming out npub1dww6jgxykmkt7tqjqx985tg58dxlm7v83sa743578xa4j7zpe3hql6pdnf Waterdan Gitea is good npub1dww6jgxykmkt7tqjqx985tg58dxlm7v83sa743578xa4j7zpe3hql6pdnf Waterdan Exactly. I want to scream to developers that: “your application is not even complex, just write the fucking code. You don’t need a framework.” The mindset of “I need a framework to code” is like “I need huge tax to live”. Come on npub1dww6jgxykmkt7tqjqx985tg58dxlm7v83sa743578xa4j7zpe3hql6pdnf Waterdan I believe this is true in general in the software industry but more obvious among web developers. Every 1 - 2 years, there is a new web frameworks that solves the same problem in slightly different ways. People spend lots of energy learning these new web frameworks but don’t spend the same amount of time to just learn JavaScript and the browser itself. If you think about it, the Web API is already a framework. React/Vue/Svelte are just super frameworks on top of a poorly designed legacy framework called HTML/CSS. The choice of React/Vue/Svelte does not matter. Some use virtual Dom and some don’t. It does not matter. If the developer does not know how to write JavaScript, it will end up be the same shit. npub1dww6jgxykmkt7tqjqx985tg58dxlm7v83sa743578xa4j7zpe3hql6pdnf Waterdan I got my account back. Everything is ok. npub1dww6jgxykmkt7tqjqx985tg58dxlm7v83sa743578xa4j7zpe3hql6pdnf Waterdan The worst thing a junior dev can do is not to review code of senior team members and treat code reviewing as some sort of extra burden. Code review is not 1. a privilege that only your team lead has 2. a responsibility that only your team lead has It should be, the job requirement for every single programmer in the team. In my professional experiences, developers who review other people’s code grow faster than those who don’t. Code review is one of the best ways to grow as a software engineer, regardless of seniority. npub1dww6jgxykmkt7tqjqx985tg58dxlm7v83sa743578xa4j7zpe3hql6pdnf Waterdan Due to GitHub suspended my account 3 days ago, I was migrating my code to another host and find that there are some dependencies that needs to be cleaned up. So I did it. Now GitHub gave my account back and here are my migrations: 1. Use esbuild to bundle my code instead of deno itself. 2. Use JSR instead of raw.githubcontent as the means of library publishing. The migration is huge. https://github.com/BlowaterNostr/nostr.ts/pull/93 https://github.com/BlowaterNostr/blowater/pull/486 npub1dww6jgxykmkt7tqjqx985tg58dxlm7v83sa743578xa4j7zpe3hql6pdnf Waterdan Or just not buying a big house npub1dww6jgxykmkt7tqjqx985tg58dxlm7v83sa743578xa4j7zpe3hql6pdnf Waterdan Long GitHub, long Microsoft, short nostr, short bitcoin npub1dww6jgxykmkt7tqjqx985tg58dxlm7v83sa743578xa4j7zpe3hql6pdnf Waterdan Apparently, random dudes or gals working in big corps can decide if you can stay in the industry or not. npub1dww6jgxykmkt7tqjqx985tg58dxlm7v83sa743578xa4j7zpe3hql6pdnf Waterdan Thank you Geoffrey but no, I won’t use GitHub again. https://i.nostr.build/oM5d7.jpg npub1dww6jgxykmkt7tqjqx985tg58dxlm7v83sa743578xa4j7zpe3hql6pdnf Waterdan Thanks for all the suggestions and I am happy to see this topic is widely discussed. https://git.blowater.app/ is now where all my code is hosted. General public can't access it yet. I will figure out how. npub1dww6jgxykmkt7tqjqx985tg58dxlm7v83sa743578xa4j7zpe3hql6pdnf Waterdan It’s more relevant for companies. Imagine your team account is suspended with no prior warnings and you have no clues why. I am more confused than angry. Alternative code hosting is easy. The hard part is rebuilding CICD. npub1dww6jgxykmkt7tqjqx985tg58dxlm7v83sa743578xa4j7zpe3hql6pdnf Waterdan Our work on Nostr is more important and they just haven’t heard of it yet npub1dww6jgxykmkt7tqjqx985tg58dxlm7v83sa743578xa4j7zpe3hql6pdnf Waterdan Is this a real thing? npub1dww6jgxykmkt7tqjqx985tg58dxlm7v83sa743578xa4j7zpe3hql6pdnf Waterdan All I wanted was to write harmless code, have fun, and enjoy my beer. Now I need to solve problems? So much work! Let’s make them irrelevant. npub1dww6jgxykmkt7tqjqx985tg58dxlm7v83sa743578xa4j7zpe3hql6pdnf Waterdan @npub16vr…p2va One of the problem of that my GitHub got suspended is that my proposed talk is gone. It was the 2nd most 👍 issue yesterday night. If I could not get my GitHub account back, what’ the alternative way for me to submit this talk? npub1dww6jgxykmkt7tqjqx985tg58dxlm7v83sa743578xa4j7zpe3hql6pdnf Waterdan Yes npub1dww6jgxykmkt7tqjqx985tg58dxlm7v83sa743578xa4j7zpe3hql6pdnf Waterdan Thanks. Simply hosting is one thing. I need to rebuild all the integrations such as test & deployment pipeline. Damn it Github! npub1dww6jgxykmkt7tqjqx985tg58dxlm7v83sa743578xa4j7zpe3hql6pdnf Waterdan So my GitHub has been suspended with no explanation, no warning, no emails. I guess the development of blowater.app will stop for several days before I have an alternative code hosting solution. @npub1sg6…f63m was right for wanting a decentralized code hosting software. Are there anybody still working on it? npub1dww6jgxykmkt7tqjqx985tg58dxlm7v83sa743578xa4j7zpe3hql6pdnf Waterdan Has anyone used https://radicle.xyz/ ? npub1dww6jgxykmkt7tqjqx985tg58dxlm7v83sa743578xa4j7zpe3hql6pdnf Waterdan blowater.app ’s roadmap to Nostr Riga https://github.com/BlowaterNostr/blowater/issues/484 npub1dww6jgxykmkt7tqjqx985tg58dxlm7v83sa743578xa4j7zpe3hql6pdnf Waterdan And you are unicycling? Legendary I wanted to learn it when I saw the British YouTuber unicycling around the world years back. npub1dww6jgxykmkt7tqjqx985tg58dxlm7v83sa743578xa4j7zpe3hql6pdnf Waterdan You are cycling and doing Nostr dev at the same time? npub1dww6jgxykmkt7tqjqx985tg58dxlm7v83sa743578xa4j7zpe3hql6pdnf Waterdan Just released a new JSR package https://jsr.io/@blowater/csp npub1dww6jgxykmkt7tqjqx985tg58dxlm7v83sa743578xa4j7zpe3hql6pdnf Waterdan Thanks for @ me and yes, I am working on blowater.app, a team chat on top of Nostr. Seems like this kind of software is getting more love in Nostr now. However, that’s the reason @npub1m4n…c2jl you dislike Slack so much? I don’t dislike Slack this much. There are a few improvements that I want and that’s why I am working on it. npub1dww6jgxykmkt7tqjqx985tg58dxlm7v83sa743578xa4j7zpe3hql6pdnf Waterdan https://github.com/denoland/deno/issues/24360 Very annoying JavaScript surprise and I consider it a bug npub1dww6jgxykmkt7tqjqx985tg58dxlm7v83sa743578xa4j7zpe3hql6pdnf Waterdan Can we build npub as addresses on top of IP? npub1dww6jgxykmkt7tqjqx985tg58dxlm7v83sa743578xa4j7zpe3hql6pdnf Waterdan REST days does not mean no training. It means active recovering. REST APIs are a myth as well. npub1dww6jgxykmkt7tqjqx985tg58dxlm7v83sa743578xa4j7zpe3hql6pdnf Waterdan I just realized that how uncomfortable my emotion becomes if I don’t train for a day. I want to train everyday! npub1dww6jgxykmkt7tqjqx985tg58dxlm7v83sa743578xa4j7zpe3hql6pdnf Waterdan mod keys { const BYTE_LEN: usize = 32; #[derive(Debug, PartialEq, Eq, PartialOrd, Ord, Hash)] pub struct PrivateKey([u8; BYTE_LEN]); #[derive(Debug)] pub enum Error { FromHexError(hex::FromHexError), Not64Length(usize), } impl PrivateKey { // Public constructor pub fn new(id: &str) -> Result<PrivateKey, Error> { if id.starts_with("npub") {} if id.len() != BYTE_LEN * 2 { return Result::Err(Error::Not64Length(id.len())); } let h = hex::decode(id); let bytes = match h { Ok(bytes) => bytes, Err(err) => return Result::Err(Error::FromHexError(err)), }; let mut array: [u8; BYTE_LEN] = [0; BYTE_LEN]; for (i, b) in bytes.iter().enumerate() { array[i] = b.to_owned(); } Result::Ok(PrivateKey(array)) } pub fn hex(&self) -> String { hex::encode(&self.0).clone() } } } Is this good Rust? npub1dww6jgxykmkt7tqjqx985tg58dxlm7v83sa743578xa4j7zpe3hql6pdnf Waterdan Simply realizing that there are many people in your life who need you to live well and show up for them will make you feel better immediately. It’s not just deep relationships such as lovers and families. The dentist appointment, the pizza delivery. They may not be your friends. But by simply showing up and don’t be late, you are expanding your energy and gradually making your life better. P.S. why I sound like a personal growth guru? It’s so bad. npub1dww6jgxykmkt7tqjqx985tg58dxlm7v83sa743578xa4j7zpe3hql6pdnf Waterdan https://www.youtube.com/watch?v=rpAfCxXctlY anyone? Can’t believe that it has been 10 years. Rwby is my favorite anime series. RIP, Monty. npub1dww6jgxykmkt7tqjqx985tg58dxlm7v83sa743578xa4j7zpe3hql6pdnf Waterdan https://i.nostr.build/dwBWY.png New navigation is coming to blowater.app npub1dww6jgxykmkt7tqjqx985tg58dxlm7v83sa743578xa4j7zpe3hql6pdnf Waterdan I will keep an close eye on it because I want to refactor away from the browser as well npub1dww6jgxykmkt7tqjqx985tg58dxlm7v83sa743578xa4j7zpe3hql6pdnf Waterdan @npub1zfs…w445 ’s https://lume.nu/ is the most beautiful desktop client that I know of. Check it out. I still miss some of the UI design from 3.X. Especially because 3.X shows lots of content by default. npub1dww6jgxykmkt7tqjqx985tg58dxlm7v83sa743578xa4j7zpe3hql6pdnf Waterdan I never saw one npub1dww6jgxykmkt7tqjqx985tg58dxlm7v83sa743578xa4j7zpe3hql6pdnf Waterdan Look forward to it npub1dww6jgxykmkt7tqjqx985tg58dxlm7v83sa743578xa4j7zpe3hql6pdnf Waterdan Focus, I know npub1dww6jgxykmkt7tqjqx985tg58dxlm7v83sa743578xa4j7zpe3hql6pdnf Waterdan It would be great if Nostr clients can remind me of live stream nostr events that’s happening. I should implement it into Blowater. npub1dww6jgxykmkt7tqjqx985tg58dxlm7v83sa743578xa4j7zpe3hql6pdnf Waterdan Has anyone used https://www.every.org/ before? How are their services? Secure? npub1dww6jgxykmkt7tqjqx985tg58dxlm7v83sa743578xa4j7zpe3hql6pdnf Waterdan Ok npub1dww6jgxykmkt7tqjqx985tg58dxlm7v83sa743578xa4j7zpe3hql6pdnf Waterdan https://github.com/roc-lang/roc is a programming language & toolchain with lots of potentials npub1dww6jgxykmkt7tqjqx985tg58dxlm7v83sa743578xa4j7zpe3hql6pdnf Waterdan https://www.youtube.com/watch?v=Hnj-JezAsmE npub1dww6jgxykmkt7tqjqx985tg58dxlm7v83sa743578xa4j7zpe3hql6pdnf Waterdan Pure art npub1dww6jgxykmkt7tqjqx985tg58dxlm7v83sa743578xa4j7zpe3hql6pdnf Waterdan Each language has a mood associated with in my head npub1dww6jgxykmkt7tqjqx985tg58dxlm7v83sa743578xa4j7zpe3hql6pdnf Waterdan Set is my favorite data structure npub1dww6jgxykmkt7tqjqx985tg58dxlm7v83sa743578xa4j7zpe3hql6pdnf Waterdan https://www.youtube.com/watch?v=HTcL9WkB_wg 12 years, I like this song more npub1dww6jgxykmkt7tqjqx985tg58dxlm7v83sa743578xa4j7zpe3hql6pdnf Waterdan Are you happy? https://i.nostr.build/3P0ZM.jpg npub1dww6jgxykmkt7tqjqx985tg58dxlm7v83sa743578xa4j7zpe3hql6pdnf Waterdan https://www.capcut.com/ is a very good video editing software, despite that it is from the creator of TikTok npub1dww6jgxykmkt7tqjqx985tg58dxlm7v83sa743578xa4j7zpe3hql6pdnf Waterdan https://i.nostr.build/wGwBq.png Now Blowater has a UI to see all the npubs in a relay npub1dww6jgxykmkt7tqjqx985tg58dxlm7v83sa743578xa4j7zpe3hql6pdnf Waterdan How do they know where you live? npub1dww6jgxykmkt7tqjqx985tg58dxlm7v83sa743578xa4j7zpe3hql6pdnf Waterdan https://www.youtube.com/watch?v=kPBzTxZQG5Q npub1dww6jgxykmkt7tqjqx985tg58dxlm7v83sa743578xa4j7zpe3hql6pdnf Waterdan The concept of platforms is not necessarily evil. For example, as a consumer, if I purchase a bad quality good or service, without a platform, I have to face the provider along and usually individual customer is at huge disadvantage because the business has essentially no worries to ignore my requests. The platform can help individuals to negotiate in situations like this. The largest platform is of course the state and legal system. Platforms become problems only when they stop to caring about neither individuals nor businesses or only care about businesses. A good platform gives bad actors huge risks to do bad things and rewards good actors. In this sense, Nostr is the platform of reputation. Because bad comments about any npub can not be deleted, npubs with commercial activities will be very careful with how they treat customers. Also with Web of Trust, we can filter out 99+% fake comments/reviews. npub1dww6jgxykmkt7tqjqx985tg58dxlm7v83sa743578xa4j7zpe3hql6pdnf Waterdan They are not enemies