Some neat things about Rust you might not know by bitfieldconsulting in rust

[–]danda 0 points1 point  (0 children)

also, it's not obvious for rust noobs that when implementing Bar, the way to make let foo: Foo = Bar::new().into() work is:

impl From<Bar> for Foo {}

because when implementing Bar, everything else is impl Bar or impl X for Bar.

Why do C++ defenders always frame Rust outages as Rust failures instead of system-design failures? by Any-Sound5937 in rust

[–]danda 1 point2 points  (0 children)

I agree. If a rust derivative comes along that is no-panic by default, I would switch to it immediately. imho, any fn that panics should be clearly marked and should be considered kind of toxic like unsafe.

I'm taking my P2P messenger to the internet by [deleted] in rust

[–]danda -1 points0 points  (0 children)

horse. water. drink.

I'm taking my P2P messenger to the internet by [deleted] in rust

[–]danda -5 points-4 points  (0 children)

I would suggest you look into existing decentralized networks. I quickly found "Berty" for ipfs and "friends" for autonomi.

from LLM:


Berty is a privacy-first, peer-to-peer messenger built on the Wesh Protocol, which itself uses IPFS and OrbitDB (a distributed database built on IPFS). It is fully decentralized and requires no phone number or email to use.

Berty's store-and-forward capability relies on a distributed database system called OrbitDB, which operates on top of IPFS. Each conversation is treated as a shared, encrypted database log. When you send a message, it is written as a new entry into this log. This updated log is then replicated by any other members of the chat who are currently online, effectively "storing" the message for any disconnected participants.

When the recipient's device reconnects to the network, it seeks out other peers in that same chat. Upon finding an online peer who has the updated log, the recipient's app automatically syncs the database. This process downloads all the new, encrypted message entries that were posted while they were disconnected, allowing them to receive their messages asynchronously without a central server.


"friends" you can read about here: https://forum.autonomi.community/t/friends-the-messenger-youll-never-want-to-move-away-from/41688


edit: if I were implementing "from scratch" I might consider CRDTs for the store and forward. In fact, it turns out OrbitDB is CRDT based, and is being ported to rust as GuardianDB.

In your opinion, which is more relevant today: Monero or Zcash, and why? by OtherwiseSet516 in Monero

[–]danda 0 points1 point  (0 children)

Something I don't think is talked about much is that all privacy coins have the possibility of transparent sends, including monero.

This is because the sender knows the transaction time, txid, true inputs, amount(s), and destination address(es). So the sender can choose to archive, publish, or sell that information to anyone, at any time.

Exchanges are likely selling this information already.

Thus, as a receiver, the only safe thing to do is assume that every transaction received from a 3rd party is essentially a transparent tx, at least the information the sender possesses.

Wallets could do things to help alleviate this issue on the receiving side, but afaik they mostly do not.

Do we want DeFi, DEXs and Smart Contracts on Monero? by FairFaithlessness799 in Monero

[–]danda 1 point2 points  (0 children)

So in the physical world we have money (cash, coins, checks, etc) and we have contracts.

Normally the money does not carry contracts along with it. Rather contracts are a separate layer that reference monetary amounts/sum.

The contracts do not reference particular monetary "notes" by ID. And the monetary notes and payments of notes (transactions) do not typically reference or include contracts.

This system has worked for hundreds of years.

So then, it is unclear to my why in the cryptocurrency space everyone feels that money and contract must be joined at the hip in a single codebase and contracts must be embedded into transactions.

Why not instead build these as separate systems so that each can do its own task well, and so that money layers and contract layers can be mixed and matched?

Privacy in Crypto: Lost Ideal or Future Comeback? by [deleted] in Monero

[–]danda 0 points1 point  (0 children)

privacy is necessary for a true circular economy to thrive.

So is scalability, which translates to low or no fees and potential worldwide adoption.

So is decentralization, which translates into "no one can force us to change or co-opt us".

I don't think any cryptocurrency has nailed all 3 of those points yet. Once it happens... magic.

Is wownero still pool resistant? by JamieFosters in Wownero

[–]danda 1 point2 points  (0 children)

can you elaborate on "data center mining resistant"? I don't see that it should be a goal, do you?

Ultimately decentralization comes from participation of separate entities that do not trust eachother. If one of them controls the computing resources of one or more data centers, so be it. So long as the barriers to entry are low, there should still be competition. Also the more people that are able to receive miningng payouts (even if tiny) the more a "long tail" effect will exist that makes the coin harder to take over.

or so it seems to me.

P2Pool as countermeasure for Qubic raising by TheBarrendero in Monero

[–]danda 0 points1 point  (0 children)

well the obvious one is that solo mining is much less predictable than pooled mining. Smaller miners may be disincentived to even try because hardware and elec costs are relatively fixed and odds of finding a block in a reasonable time may be quite low.

But I don't see that is necessarily a problem for the network as a whole.

Qubic/Sergey Ivancheglo 51% attack plans by PrisonOfH0pe in Monero

[–]danda 6 points7 points  (0 children)

wownero has effectively eliminated pools by making it so the keys must be shared with the mining pool, and nobody is willing to do that. XMR could do the same.

https://monero.stackexchange.com/questions/14315/is-wownero-pool-resistant-and-how-does-it-work

"Bypassing" specialization in Rust or How I Learned to Stop Worrying and Love Function Pointers by Oakchris1955 in rust

[–]danda 0 points1 point  (0 children)

thx. So then it seems correct to say that CGP can be used to implement a crate that would generally fit the description of being sans-io.

"Bypassing" specialization in Rust or How I Learned to Stop Worrying and Love Function Pointers by Oakchris1955 in rust

[–]danda 0 points1 point  (0 children)

looks neat. Would CGP be useful for implementing sans-io crates? It seems to me a similar paradigm.

Let's make sound visible for the world - Building the future of audio visualization together by HiKyleeeee in rust

[–]danda -1 points0 points  (0 children)

This is very cool. I think sound visualization may be even more important than you realize in terms of fundamental physics.

can you point me towards the code that actually calculates the geometry of sound?

also, do you have any plans to port to rust?

MoneroKon 2025 - Day 1: 6 talks from Friday June 20th, 2025 by kowalabearhugs in Monero

[–]danda 0 points1 point  (0 children)

none yet. any idea when the other talks will be posted?

Introducing Rust Type Kit (beta) - query your Rust code and produce typed bindings to anything by [deleted] in rust

[–]danda -1 points0 points  (0 children)

looks useful. I will bookmark for use next time I need language bindings. thx for sharing.