tbh writing good nostr clients is pretty damn hard. took me 5 or 6 tries to write a half decent one.
I've been going back and forth on making one, but it looks like quite the undertaking.
What were some of the learned lessons you had from iteration to iteration?
Only idea I have had is to use templates for PRs and Issues with a required check box to tick "AI was not utilized in the generation of this PR/Issue".
If it's not checked, auto-close that shit. If they lied, block them.
Sec Scott Bessent: "A single $1,000 deposit into a Trump Account at birth will grow to over $600,000 by the age of retirement. Trump is putting the American Dream within reach of every citizen, no matter the circumstances of birth."
https://blossom.primal.net/11649ee5d5117f41a7f67de3e6f704f292039bac557d088e3edff27e64d2137d.mp4
They said the same thing about social security...
SCAM
Bank of Japan expected to hike rates Friday, pushing its benchmark to the highest level since 1995.

Shared via https://pullthatupjamie.ai

I never knew how much I would need something... Buffered streaming of UTF-8 encoded bytes is OP.
The fog will wear off eventually, but you'll come back to us eventually.
Nothing beats black dark roast coffee and a cigarette for locking in to conquer the day. Nothing.
I think today is going to be release day... Tons of new features, lots of bug fixes, several deprecations, and many many performance improvements.
Has been a fruitful couple of months, but now I must #shipcode
How would you work around platform limitations on number of file descriptors that can be open at once? Or the incredible amount of overhead that would require? Or the fact that symbolic links are not a thing on Windows?
IMO, a filesystem is not the right tool for the job, a database is.
I assume this is to open a file?
Personally, I took the approach of splitting into 3 separate functions; openRead, openWrite, openReadWrite.
This allows for different return types which inherit from a single common one, and makes clear the contract for which that thing (interface) can and cannot do. Eliminates nearly all API confusion and/or misuse.
openRead doesn't need to take parameters as it must always exist.
openWrite and openReadWrite take an exclusivity enum MaybeCreate, MustCreate, MustExist. This also allows a mode to be expressed for applying appropriate permissions immediately on creation when MaybyCreate and MustCreate are expressed.
openWrite also takes an append boolean parameter, constraining appending/truncation behavior to that function only.
I spent a lot of time playing with my API, bumping into and figuring out workarounds for several platform specific limitations (such as pwrite with O_APPEND being broken on Linux/FreeBSD).
Vivaldi is a solid Chromium based browser.
Anyone else find that writing documentation is more mentally draining than writing the actual code 😂?
They are gonna print so much money over the next 5 years. Buckle up.
Anyone know of a *native desktop Nostr client for Linux?
*native: as in NOT an electron app
Vivaldi has been the most stable non-Google Chromium based browser for me thus far; have been using it as my primary for 3+ years now. I use Brave and Vanilla Chromium, as well as Mullvad Browser, for some things, Brave being the most finicky.
Is this supposed to be a slight?
Full retardation is the ultimate superpower; you're unstoppable with it...
Banks are still sitting on massive unrealized losses.
$143B on available-for-sale securities and $250B on held-to-maturity as of Q2 2025.
Down from the peak, but the “ticking time bomb” energy is still there.

Shared via https://pullthatupjamie.ai
The $4T COVID "stimulus" will look like peanuts compared to this upcoming one.
Trump: “I'm pleased to report that today the United States has the strongest economy, the strongest borders, the strongest military, the strongest friendships, and the strongest spirit of any nation anywhere."
"This is the golden age of America.”
Shared via https://pullthatupjamie.ai
😂
> Wow no I wasn't aware that's crazy. Does it need migrations?
Unsure what you mean by migrations. The OS will install the new version over the old one. If you have defined in your manifest a broadcast receiver for `android.intent.action.ACTION_PACKAGE_REPLACED`, you'll receive the Intent upon completion and can restart your services and what not.
> Do you wanna help dev with bitchat btw? I could use a pro to show me the way.
I'm no pro 😂, just have been around the block once or twice. I'd love to, but have my plate full with a grant from nostr:nprofile1qqs8suecw4luyht9ekff89x4uacneapk8r5dyk0gmn6uwwurf6u9ruspzpmhxue69uhkumewwd68ytnrwghszrnhwden5te0dehhxtnvdakz7d8grcu working on kmp-tor for the next 3 months, then back to my other project.
See: https://developer.android.com/reference/android/content/Intent#ACTION_PACKAGE_REPLACED
Sorry, the string value to declare in your manifest is actually `PACKAGE_REPLACED` not `ACTION_PACKAGE_REPLACED
> Wow no I wasn't aware that's crazy. Does it need migrations?
Unsure what you mean by migrations. The OS will install the new version over the old one. If you have defined in your manifest a broadcast receiver for `android.intent.action.ACTION_PACKAGE_REPLACED`, you'll receive the Intent upon completion and can restart your services and what not.
> Do you wanna help dev with bitchat btw? I could use a pro to show me the way.
I'm no pro 😂, just have been around the block once or twice. I'd love to, but have my plate full with a grant from nostr:nprofile1qqs8suecw4luyht9ekff89x4uacneapk8r5dyk0gmn6uwwurf6u9ruspzpmhxue69uhkumewwd68ytnrwghszrnhwden5te0dehhxtnvdakz7d8grcu working on kmp-tor for the next 3 months, then back to my other project.
See: https://developer.android.com/reference/android/content/Intent#ACTION_PACKAGE_REPLACED
Did you also handle the needed restart on new version being installed?
When user updates the app, Android will kill the process, then dispatch a system Intent to it after installation completion. It will receive a warm start whereby the Saved Instance State is recoverable.
When gold and the dollar rise together, it signals the END of the current dollar system.
"Gold is how you get out of the dollar system. When you see them go up together, that means the dollar is coming to its end of life." - Luke Gromen
Shared via https://pullthatupjamie.ai
I feel like Luke is the living embodiment of "I told you so". Does anyone else feel this way?
We are alarmed by reports that Germany is on the verge of a catastrophic about-face, reversing its longstanding and principled opposition to the EU’s Chat Control proposal which, if passed, could spell the end of the right to privacy in Europe. https://signal.org/blog/pdfs/germany-chat-control.pdf
Why would you pull out of the EU market, instead of forcing them to ban you?
I, for one, would like to compare them to the CCP.
Love them for who they are, and who they are not. Be there for them.
I cannot even imagine being less than 75% net worth in bitcoin with all the global financial tyranny afoot. The risk associated with Fiat is way too high for my taste.
Logic based problem solving with a focus on minimizing complexity is feminine?
It can be done in a decentralized manner; that is exactly what I'm building now... Device to device. No centralized server. Can ping any app on my phone (as long as it's registered with my app) from my laptop using terminal, curl and tor.
Server is embedded in the application that other apps on the device can register with. Http calls hit the server and get routed to the registered app.
It's a one click install for users. All overhead is pushed to developers to setup the client library for IPC, and then me to maintain the app & client library. UX is dead simple consumer wise, unlike other products that may require users to run a server at home or something.
None that would supplement google/apple services like OP desires.
Signal uses the socket-io library to maintain an open socket with their backend; it's incredibly resource intensive.
Tutanota uses the SSE API for their push noticication service and does a pretty good job on their end as it relates to battery consumption.
That said, if every app were to implement their own push notification service, 5+ apps doing on a device that turns a "mobile" phone into something that always needs to be plugged in. It does not scale.
I ran a test on Android using kmp-tor and a ktor server exposed as a hidden service, pinging it every 5 min via cronjob from my server at home. Over 24h, battery consumption was about 5%-7% depending on the test device.
Working on a product right now for drop in replacement to google/apple services, but it's far from ready.
Never going to work based on the sole fact of it being manufactured in Spain 😂.
I find it more likely that the redcoats will keep taking it in their awful teeth, and continue to cry about it with 0 action.
#noballs
FED hasn't even turned on their monopoly money printers yet...
Looking forward to my weekly dose of nostr:nprofile1qqs879mhq6kkuzh2wk57xdzanl76uem8d7hlyjd7v4a4jcm4u88d8ygprpmhxue69uhhqun9d45h2mfwwpexjmtpdshxuet5qydhwumn8ghj7un9d3shjtnzd96xxmmfdecxzunt9e3k7mgxzfkn5 today

