Unpopular opinion: if a null pointer in high-level programming languages is a billion dollar mistake, then direct access to I/O (input-output) should be a trillion dollar mistake.
@rauschma, agreed. But I have that feeling that we made a wrong turn in programming languages and/or software design principles when we started deep-cloning instances of non-serializable user-defined nominal classes.
Modern ECMAScript WTF: Do you expect that `export const myObj = 42` is equal to `export default = { myObj: 42 }`? Wrong! `default` is a "special" namespace... #javascript#ecmascript#esm#module
@rauschma there is also a risk that owner or policies of your fediverse server is changed. No matter how you trust it, anything can happen. Twitter is an example.
@rauschma I think, we need to have an online open meeting or something like that. Because there are a lot of principles that are different with proper decentralization that are difficult to answer using centralized terminology. E.g. protocol has a different meaning in decentralized systems, it's more a math proof than transport logistic layer. BlueSky supports DID but I need to learn more. We need to change the way we think about digital space.
Question: Are there free services that can help patent an idea and make it royalty-free for everyone? The main goal is to prevent patent trolls from using the idea against others. #patent#public#open
@rauschma agree. The first priority of the technology that I'm working on is TRUST. In contrast to a lot of other Web3. It's not just blocking bullies, spammers, bots. It's based on trusted connections. https://nolock.social
@rauschma most likely, you already now my opinion about Mastodon. I'm not happy with the risk of losing my posts, identity, and connection because it depends on one server that I don't control. I'm not happy with the fragmentation of social networks and Mastodon (as a not decentralized platform) contributes more. I don't think that such platforms have the future. But, do I have a choice? Not really, so I had to use multiple fragmented platforms (Mastodon, BlueSky, GitHub, Nostr, etc.). For me, it's a real pain and that is the reason why I'm working on a solution.
@nilesh To apply for the fund, the `funding.json` has to be publicly available in the GitHub source code or on a project website. The file should contain information such as email and account details. IMHO, it's not a good idea to make it publicly available, at least before approval.
Does anyone know how to make a fast `floor_log2` function for `bigint` in JavaScript? I know that JavScript VM can do it in almost `O(1)` because it has information about a size of `bigint`. My current best algorithm is `O(log(n))` where `n` is the size of the `bigint`. The algorithm performs faster than `x.toString(2).length` and consumes less memory. Any idea for the improvement? https://github.com/functionalscript/functionalscript/blob/a9a1cd2c1b0f4c025faf2223eb6ff96f48e8374b/types/bigint/module.f.cjs#L65
@rauschma I'm not saying that we don't need a fediverse, protocols etc. My point is that we should change our focus from "add content addressable infrastructure to fediverse" to "build content-addressable infrastructure and then we can add fediverse to it, if we need it".
@rauschma we can still have some nodes, servers, aggregators, search engines, communities on top of content-addressable internet. They can delete, filter messages, ban users. However, they can't delete the content from the internet completely. So, it's freedom for everyone. Users can keep their content forever and publish it wherever they like, servers/communities have freedom to ban any content and any user.
@rauschma and we have such infrastructure (where CAS is the main storage and we use cryptographic proofs) then the main question would be: why do we need fediverse at that stage?
@rauschma yes, I've seen it. It should be the core and foundation. And the message formats, signatures, private key should be available to users. I have no idea what is my private key in Bluesky account. It doesn't belong to me. I can't communicate using the account using different servers, applications etc.