Oddbean new post about | logout

Notes by tyiu | export

 I made a Bitcoin price calculator on my day off. https://v.nostr.build/okgR.mp4  
 post / boost / zap / repost

You post a note. You boost it if it's good. You zap it if it deserve... 
 I thought broadcast was for relaying the note to all of your relays. 
 Boost isn’t in the NIPs vocabulary so use it in the way that makes the most sense to you! 
 Looks great! There’s a small typo. “Everyone can send and receive bitcoin”. 
 GM! It’s #CultureShock day in Phoenix, Arizona thanks to @NostrPHX

Feel free to try the Culture Shock app to enhance your experience. Brought to you by @Comingle 

iOS: https://testflight.apple.com/join/CNJstWwx
Android: https://d1b1nmrrkwbudm.cloudfront.net/culture-shock-2024-0.1.0.apk

Features:
- View the event schedule
- See the Nostr profiles of the speakers, organizers, volunteers, and vendors
- See the list of sponsors
- In-app Lightning invoice generation to tip the people who contributed to the event with Bitcoin (iOS only)
- Find information about the event (iOS only)
- Learn more about Nostr (iOS only)

I won’t be there but enjoy if you’re attending! 🤙🏼

https://www.nostrphx.com/culture-shock 
 Yes, that’s the plan! I’m working on it so that it can be used for other events. What I’ve built for Culture Shock is a proof of concept and meant to help inform my design of Comingle.

iOS is open source: https://github.com/tyiu/culture-shock-2024-ios

Android is not because the code is atrocious and there’s nothing much to look at. But there’s no other reason why it can’t be.

Some features are iOS only because I ran out of time for Android. I had only a short amount of time and I stayed up until 3am last night to push on Android before today’s event.

I agree that it would be amazing to use for all kinds of events! This kind of app experience for in-person is sorely lacking. 
 Has anyone thought about introducing versioned NIPs? It’s sometimes hard to keep up with revisions to existing ones. 
 I ran out of gas trying to finish the #CultureShock Android app tonight before tomorrow's event. Couldn't get to implementing in-app Lightning invoice creation to tip people using an external Lightning wallet app. Instead, users will have to go to the Nostr profile via their Nostr app instead and zap there.

I stole a lot of Google's open source example project code to make this app, it's my first Android app. Even though I didn't implement everything that I wanted and the code is atrocious, I'm pretty happy with how far I got with so little time.

Here's the Android APK hosted on my CDN. It requires only the network permission to download images of people hosted on NostrBuild. Feel free to try the app even if you're not attending the event, and feel free to give me feedback.

d1b1nmrrkwbudm.cloudfront.net/culture-shock-2024-0.1.0.apk

https://v.nostr.build/dQ3l.mp4 
 Cutting it down to the wire for the Culture Shock 2024 Android app. About 12 hours to go and plenty to do. 😅
https://v.nostr.build/3ylW.mp4 
 A new way to comingle with your fellow conference attendees. Value for value! nostr:note1rwelaj05hvkeeexfrgpzqq6en0gxc944sp7auxvz8hqykkxhs9jq9aurug 
 RIP, Alexei Navalny. 
 stop. using. apple.

love you terry <3
nostr:note1jevnkgj7zmzsvkemgzhny6axqexksrf7cp9a6yh8umynumm... 
 As a developer, I will continue to advocate for building on Apple and pushing them to do the right thing. They hold a nontrivial market share of the population who want to use that platform, because they arguably build high quality products and people don’t like change. If it was as easy as getting all Apple users to move over to Android by stopping freedom tech development on Apple platforms, it’d be a no brainer, but it’s not realistic. It’s important to ensure that they have access to freedom tech for the platform they choose to use. I understand it’s an uphill battle, but it’s worthwhile in my opinion. 
 Apple rejected the Culture Shock 2024 App Store submission because it thinks it facilitates tipping for digital content (which requires using their in-app purchase system) and also thinks it’s a Lightning wallet app (which can be submitted only by an organization developer account rather than my personal developer account). It does neither of those things. The incompetence is insane.

https://image.nostr.build/08ac5ecd37755983235b5b6f6ad0a9a9164b51770cb7fdf80d40306428a3b1bc.png 
 Rejected again. This was the screenshot that the reviewer gave me. Literally a link to an Apple App Store approved Lightning wallet app.
https://i.nostr.build/YGz2.png
https://i.nostr.build/xvBk.png 
 Yes, but in this case, it’s more so an inconsistent interpretation of their own policies on their part. It’s a dice roll of which reviewer you get to review your submission, and how well trained they are on their own policies. For example, an identical app that I submitted a few days ago “Nostrville 2023” was accepted into the App Store. There’s no difference in functionality. 
 THE SAGA CONTINUES. Screenshots are from the Apple reviewer. “The feature in your app displays or promotes third-party apps, which is not appropriate for the App Store.” Is this a joke?

https://i.nostr.build/4ylm.png
https://i.nostr.build/M9Xa.jpg
https://i.nostr.build/goV7.jpg 
 Apple’s YouTube channel displaying and promoting Instagram, a third-party app, from YouTube — another third-party app. https://i.nostr.build/Gq97.png  
 Fuck off with this shit. 
 From the motion and graphics on the screen, or from the actual physical device clamping on the head? 
 Android progress. #CultureShock
https://v.nostr.build/xvoV.mp4 
 The screen recording is of the app running on GrapheneOS.

Culture Shock is the name of the Nostr / Bitcoin / Lightning event this upcoming Saturday in Phoenix, Arizona. @NostrPHX https://www.nostrphx.com/culture-shock

That app is based off of my work on a more general purpose Nostr conference app called Comingle @Comingle 
 I have no idea. I have multiple languages added on my iPhone as preferred languages and on my keyboard, but have never seen that button before. 
 Nostr dudes, 
please I’m searching for the sustainable desktop browser that will be available t... 
 You’re out of luck on iOS unfortunately. Just keep using Safari and read this guide.
https://www.privacyguides.org/en/mobile-browsers/#ios 
 Oh, you want syncing. Never mind then. 
 Tfw your trusty MacBook Pro finally ages out of AppleCare. 

Prolly need to get an M class one soon. 
 I have the same experience. It’s game changing for computing. 
 Humble beginnings of Comingle Android. #CultureShock edition. @Comingle @NostrPHX

https://i.nostr.build/JgdM.jpg 
 しかしやはり iPhone に 🐙 のアカウントがないと不便やな… Damus が複数... 
 Agreed. Nostur supports account switching on iPhone, though. 
 Happy Lunar New Year! 🧧 https://i.nostr.build/OzvA.jpg  
 It was indeed! 
 What’s a good website to order a small batch of affordable custom print t-shirts in the US? #asknostr 
 Saturday, February 17, 2024. Phoenix, Arizona. @NostrPHX #CultureShock https://v.nostr.build/vAQ4.mp4  
 I can’t make it either. But I hope those who go will make good use of this app! 
 I can’t believe Apple still hasn’t implemented multi-app URI handler config support. I had to uninstall Nostur and Primal (sorry) to get Damus to be the default handler for nostr: links. Android is ahead of the game on this one. 
 Agreed. I haven’t used Google search for years. 
 Think of all the Nostr clients you could open up at once while walking outside. Interoperability to the max while touching grass! 
 Finally escaped COVID isolation. https://i.nostr.build/QnmJ.jpg  
 The iPhone shooting this photo is feeling lonely. 
 Excited to contribute to this amazing event, even if I can’t be there in person! Thanks for letting me be a part of it.

The URL got mangled a bit. The Culture Shock 2024 iOS TestFlight can be found here: https://testflight.apple.com/join/CNJstWwx

Please free to use it and give me any feedback, even if you are not attending. It’s not actually integrated with Nostr, but it does link out to people’s Nostr profiles via your default Nostr client and has a built-in Lightning tipping function via your Lightning wallet app.

I’m using this client as a proof of concept to show what @Comingle could be and to help inform my design, which I plan on fully integrating with Nostr. nostr:note1ayc22h8qh4wkcf464mn9hg830jpgs2y3qr0g7gaj2q6jwwzs29yqd7hsj9 
 Thank you Terry!  nostr:npub1yaul8k059377u9lsu67de7y637w4jtgeuwcmh5n7788l6xnlnrgs3tvjmf 

💜... 
 💜🫂 
 Excited to contribute to this amazing event, even if I can’t be there in person! Thanks for letting me be a part of it.

The URL got mangled a bit. The Culture Shock 2024 iOS TestFlight can be found here: https://testflight.apple.com/join/CNJstWwx

Please free to use it and give me any feedback, even if you are not attending. It’s not actually integrated with Nostr, but it does link out to people’s Nostr profiles via your default Nostr client and has a built-in Lightning tipping function via your Lightning wallet app.

I’m using this client as a proof of concept to show what @Comingle could be and to help inform my design, which I plan on fully integrating with Nostr. 
 🫂 
 💯 This is exactly the reason why I started Comingle in the first place. All the conferences I’ve been to before I discovered Nostr were dull and low-signal. Why? Because it was intimidating to meet new people, I didn’t know anyone who attended, and anyone I met very quickly became forgotten.

There’s so many social connections that can be established before, during, and after a conference occurs. That’s what made Nostrica, Bitcoin Miami, and Nostrville so much fun last year for me. You were able to find out beforehand what people were interested in, who was attending, what people were doing during the conference days, keep talking or following each other after the conference is over, and make people feel good enough about the experience so that they want to come back again next year or go to other events with those same people in the future. 
 @Compromised @QW you two inspired me to make the Nostrville 2023 iOS app permanent for posterity sake by publishing it to the App Store.

https://apps.apple.com/app/nostrville-2023/id6471229500

It took *only* three rounds of back and forth clarifying misunderstandings with the Apple reviewers due to the Lightning functionality.

They even helped catch some onboarding bugs where nothing happens if you tap the “Nostr profile” and “Tip” buttons when you don’t have a Nostr client or Lightning wallet app installed. They now open njump.me and the App Store download page for a Lightning wallet if you don’t have them. These improvements have carried over to the Culture Shock 2024 app, and I’ll do the same for the general Comingle app. 
 My wife and I are fully vaccinated with all boosters. We have COVID right now. 🤧 
 Anyone know of a nostr client that supports making lists like twitter does? #asknostr 
 Bug report: For some reason, I couldn’t use Satcom to post on the Satcom Chrome Web Store page. The icon doesn’t show up. 
 Will you add support for relay selection at some point? Which relays does it use currently? 
 For my next school project I’m thinking about doing a simple  #nostr client in Kotlin. Is there... 
 My colleagues built Nostrino, a Kotlin SDK for Nostr. Though it hasn’t had activity for 6 months and I don’t know what state it’s in. @jem @jm 
https://github.com/cashapp/nostrino

There’s also the Rust SDK, which has bindings to Kotlin. Unsure about its state either. @Yuki Kishimoto 
https://github.com/rust-nostr/nostr

Lastly, @Vitor Pamplona might be able to offer some insight on if and how to base your work off Amethyst. 
 Not at the moment, that I know of, but there’s a group of us who are Nostr enthusiasts there. @jm and a few others built @Plasma outside work and I believe it uses Nostrino. It looks like the last commit was a few months ago.
https://github.com/plasma-social/plasma 
 That’s assuming those N users have the same preferred language. It’s more like M translation requests from Damus Purple’s translation server are sent to DeepL for the same note, where M is the number of unique languages those N users prefer. 
 Riga accommodations booked! 🇱🇻 #Nostriga @thenostrworld 
 It’s all @vita ! She nearly died of happiness when I told her the conference is happening in Riga. 
 As a developer who isn’t as strong on web development, I appreciate this. 👀 
 Great idea! Congrats. Any plans on making it cross-browser compatible? 
 Installation was so smooth.

ThinkPad + Ubuntu MATE + Umbrel + Tailscale. nostr:note1muaufugqhhpdtzsm39vvc492n3t60f8rxpjxakmf0625m59k20csgx6lnv 
 There’s a few things that are working well, and others that I haven’t figured out yet or aren’t happy with the set up. Didn’t have issues with Thunderbolt, but haven’t really played around with it.

Good:
- Tailscale is set up which means I can open the Umbrel UI from my computer or phone, even when I’m not at home, which is nice.
- The local Nostr relay is running fine and backing up my notes.
- I’m running a local Snort server, though I’m not really using it in practice as my main go-to is still Damus on desktop and phone.
- Bitcoin Core is fully synced though it’s currently taking up 691 GB of my 1TB drive. I think there’s a way to optionally prune old blocks down to 300 GB or less, though I don’t understand the implications yet.

Bad:
- No matter what I do, I can’t get SSH to work on Tailscale installed via Umbrel. And I believe Vaultwarden (slimmed down Bitwarden) requires it. I think it might work better if Tailscale is installed directly on the machine, but I haven’t tried to figure this out yet.
- The first time I installed Ubuntu, I opted to encrypt the drive. That was a mistake because if restarts unexpectedly, I have no way of getting it back up remotely as I have to unlock the drive physically with the password from the T480. So I had to redo it.
- The second time, I didn’t encrypt the logical partition / folder. Not sure what happens with Umbrel’s start-on-boot process if I do that. But right now, all my data is unencrypted, and that seems bad if I’m going to store passwords, personal photos, and other sensitive files on there.
- I’m considering if I should restart, go full on Linux nerd, and do everything by command line. But then I lose out on Umbrel’s nice UI. I prefer dumbed down interfaces, to be honest, because I’m lazy.