HNHacker News
TopNewBestAskShowJobs

marknadal

1,606 karma · joined February 3, 2011

A better database, https://gun.eco/ .

Entrepreneur and philosopher that codes the mind bending Accelsor. mark@accelsor.com

submissionscomments
marknadal··on Decentralize Messaging
I talked to Twitter's CTO, Parag.

He said the move is to specifically reduce fragmentation in public conversation.

I'm in the decentralized (dWeb) community (we have 10M+ users monthly, in-production, running thru GUN) and admittedly, I think we all get distracted with the war cry of privacy, p2p-for-sake-of-p2p, etc. but is not many other people's end goals.

marknadal··on Not everyone has an internal monologue
How many thoughts/ideas/things can you process simultaneously?

I can probably do up to 8 different subjects/thesis, but I also can imagine in: audio, touch, sound, color, space, abstract, visual, time, taste, smell, linguistic, and hyperdimensional. Couple of these things I had to practice though.

marknadal··on Off-Facebook activity
I don't understand.

It says I completed a registration for a company I never signed up to.

I did visit that company's restaurant that day, but I did not purchase anything.

Are some companies auto-registering you?

marknadal··on Why numbering should start at zero (1982)
No: https://hackernoon.com/dijkstra-is-wrong-and-so-am-i-f36e2fb...
marknadal··on Why build this blog, or anything, on IPFS?
I know so many projects with barely any popularity being forced to move off of IPFS cause of performance problems.

DAT,SSB don't work in browser.

WebTorrent is the original better choice.

But I'm seeing most big projects move to GUN (mine, https://github.com/amark/gun). Internet Archive, HackerNoon others using it in production, with over 10M+ users, decentralized.

If IPFS team doesn't seriously fix their performance issue within 2 years, they're gonna see a lot of backlash. With $250M+ raised and 100+ employees this should be possible, I know they can do it, dWeb would be better for it.

marknadal··on SapphireDb – Open-Source Alternative to Firebase
Nice work! :)
marknadal··on SapphireDb – Open-Source Alternative to Firebase
Awesome, glad to hear! Keep up the good work!
marknadal··on SapphireDb – Open-Source Alternative to Firebase
React was like this for a long while too, compared to Angular.

Then once some big "used in production by NYT/x/y/z" hits, a premier conference talk, then things explode with everyone virtue-signaling how they use the modern/best stack, floods of article/blogs are posted about how they switched over before you did, and the FOMO cargo cult bandwagon rocketships.

Svelte does look legit, but it is better to not buy into the JS virtue culture.

marknadal··on SapphireDb – Open-Source Alternative to Firebase
I'm a competitor, and I want to applaud this work!

- SapphireDB is truly Open Source, MIT!

- There demo worked like a charm!

We could really use more projects like this out there.

Here is a criticism though:

- It seems currently to only support Angular (?), which is gonna harm its adoption.

My recommendation would be to commit to Svelte, it seems like it will be the "next big thing" in the JS world, and could help drive adoption.

Obviously, this is something we're trying to do as well (https://gun.eco/docs/Svelte). If you're looking for a Firebase alternative, GUN is used in production with 11M+ downloads a month, but is NodeJS based so it won't work for the .NET audience that Sapphire is targeting.

What I think would be cool to add: (from my bias)

- Support graph data.

- Work offline / local-first.

Either way, thanks for building & posting about Sapphire, it is nice to see there is still big demand for Open Source Firebase alternatives!

marknadal··on OT and CRDT trade-offs for Real-Time collaboration
Started, but never finished. :(

@nmaro has some pretty good stuff.

The cartoon explainers gives an overview.

But you'd probably want to do RGA algorithm or one of the newer ones.

Martin Kleppmann has a pretty good talk with bunch of paper references:

https://youtu.be/yCcWpzY8dIA

marknadal··on OT and CRDT trade-offs for Real-Time collaboration
You have to choose which type of Array:

1. An atomic Array

2. Fixed index Array

3. Linked list

Now rather than not knowing what magic is going to happen, app developers know what to expect in advance.

So atomic would choose one or the other, not a combined result.

Fixed array 2nd item to 1st which nulls 2nd and makes 1st b, simultaneously also makes 1st A. Cause lower case b is lexically larger than A, you'd get [b, null].

Linked list theoretically could handle it as you suggest.

marknadal··on OT and CRDT trade-offs for Real-Time collaboration
JSON.stringify('a') < JSON.stringify('z')

https://en.wikipedia.org/wiki/Lexicographical_order

marknadal··on OT and CRDT trade-offs for Real-Time collaboration
Thank you!

They also like the math & science behind it, some investors do DD, some don't.

You're tone is pretty assuming, smug, and insulting.

It is running in production with millions of people, yes there are some hiccups, but surviving & we're improving it to scale even more.

I rebuild GUN from scratch in 30min on stage, that is how little/simple GUN is:

https://gun.eco/docs/Porting-GUN

Do I pay myself? Lol. Yes. No, I do not pay OSS, but yes people contribute regardless, strangers help me, my kids help me, investors help me, family & friends help me.

marknadal··on OT and CRDT trade-offs for Real-Time collaboration
Same algorithm for everything.

This cartoon explains it:

https://gun.eco/distributed/matters.html

It is a vector + timestamp + lexical sort.

A delete is changing a value to `null`, it would lose (I assume you are asking if/when these 2 changes happen at the exact same microsecond time, conflicting?) as is it has a lower lexical rank.

marknadal··on OT and CRDT trade-offs for Real-Time collaboration
Yes, merging is per peer, not server transformed.

"Servers" act as WebRTC bootstrapping signals, storage backups, relay/routing, etc., and you can have as many of them as you want (no need to be centralized).

True. `gunDB` tag should help a little.

marknadal··on OT and CRDT trade-offs for Real-Time collaboration
w00h00, this is my area of expertise.

After 8 years of working on this, I have changed my thoughts:

- The correct algorithm is not always the correct user experience.

- End-to-end encryption is too important to not have.

- Offline support is great, but it behaving consistently is more important than it behaving "intently".

- Biggest pain points can most easily be solved at the editing layer, not data layer.

As a result, OT gets thrown out the door immediately.

I built the most popular CRDT powered database on the market (https://github.com/amark/gun, 11K+ stars, 11M+ monthly installs), but have some harsh words for CRDT obsessed people:

CRDTs are great, but if you create an infinitely complex one to handle "every word editing operation" it'll actually result in an inferior user experience.

As such, for example, GUN supports lock-free concurrent operations on any depth of data in a graph, but keeping text/strings behavior atomic is way more important than having built-in automatic string merges.

Why? It is much simpler to build a correct text/string CRDT on top of a predictable, stable, graph CRDT that is understandable.

Another example is, in our blog editing tools, despite having spent years researching & implementing (+ others in our community) precise character-by-character CRDT resolution schemes, I found I personally had a much better offline & local first user experience with a predictable per-paragraph sync scheme.

This is a stupid simple approach, but what it means is that I as a user, can easily predict whats going to happen, so if I'm offline I know I should just copy a new paragraph and fiddle with things there, cause it isn't gonna get "auto delete regrammar merged".

Generally speaking, me and colleagues don't "fight" over the same paragraph, we're usually concurrently writing different "sections" at the same time, it is pretty rare to grammar fix their edit same paragraph as they're typing it - that is also just kinda, rude looking.

Anyways, finally, is that the majority of text styling and DOM edge cases can be handled by having a deterministic canonical DOM hierarchy that always gets applied at the editing layer, BEFORE any CRDT operations even occur.

So for instance, re-arrange the DOM tree such that <i> is always inside <u> inside <b>, or something like that.

We built this into a library called normalize, and it instantly eliminated so much complexity, especially at the CRDT level. Ping me if you want a demo of this library.

Finally, for everyone else, we also built an INTERACTIVE CARTOON EXPLAINER of an extremely basic text CRDT to help others understand the more detailed concepts:

https://gun.eco/explainers/school/class.html

marknadal··on A Graduate Course in Applied Cryptography
Accusing me (op, not parent) of selling proprietary junk and not even checking makes you the FUDster.

Everything we do is Open Source.

Get your facts straight.

Yes, the NSA really did use backdoor access to servers to spy on millions of people.

Snowden.

So use better security, like real cryptography.

marknadal··on Peer-to-Peer Based Social Networks: A Comprehensive Survey
Notice:

This is about FEDERATED networks, not P2P.

Mastodon, Diaspora, etc.

Also, it is not comprehensive:

Matrix (9M users), SOLID, D.Tube, etc. not mentioned

Examples of P2P:

WebTorrent, GUN (11M+ users), SSB, etc.

marknadal··on A Graduate Course in Applied Cryptography
A useful primer for those un-initiated:

Cartoon Cryptography

1min animated series that explains cryptography with cooking analogies

https://gun.eco/docs/Cartoon-Cryptography

marknadal··on Size of node_modules folder when installing the top 100 packages
This is why I don't.

Vanilla JS! 0 Dependencies!

Let the 1995 revolution begin!

marknadal··on Just Build the Product
I love this quote from it:

"Build features, not toolchains."

https://www.urbandictionary.com/define.php?term=webpack

marknadal··on Show HN: I'm building a robot that performs haircuts [video]
All I saw was a robot wielding a vibrating razor blade with an arm and terror strike across my face.

Impressive chops, I must say, but the DOD will want to hire you sooner than Uber for Barbers.

marknadal··on The Arctic may have crossed key threshold in a long-dreaded climate feedback
Please contact me, a friend, or family member - my contact info is in my profile. If you're struggling with some pretty hard & depressing subjects, that is ok, just please don't become suicidal.
marknadal··on Twitter to decentralize something
Open Source has generated $Trillions in value creation over the last few decades.

Twitter is fighting to stay relevant, they dropped to Top 35 website from Top 14 in last several months.

This is an opportunity for them to become a global standard, and that is worth it.

The most important piece is that they can scale when they pull it off. I've been working on decentralized tech for a while (I run https://github.com/amark/gun) and can say it takes a lot of attention that most projects (dare I say "blockchains") have no scaling abilities at all.

marknadal··on Write a parser with JavaScript
I'm surprised Ohm isn't mentioned, it is spectacular.

Anybody interested in parsers is gonna love it:

https://github.com/harc/ohm

marknadal··on Computational photography from selfies to black holes
This is a truly incredible article.

And even a mind-bending (or optic?) glimpse into the future.

Thank you for writing it.

marknadal··on Deploy-your-own-SaaS: “only yours” cloud services for everyday needs
Could you also add "Deploy Your Own Firebase"?

Our project ( https://github.com/amark/gun ) gets 1M+ downloads a month and can be self-hosted easily with a 1-click deploy into production.

Will try to make a PR when I get to my laptop. :)

marknadal··on Brave Passes 10M Monthly Active Users, Sees 19% Growth Since 1.0 Launch
You might be interested in an alternative we propose called Freeism, it inverts the traditional economic model:

https://hackernoon.com/wealth-a-new-era-of-economics-ce8acd7...

The gist is that it redefines wealth from "how much people hoard" to "how much people give".

Would enable an ad-free web.

marknadal··on Mitigating a DDoS on Mastodon
Mastodon is FEDERATED, not decentralized.

Federated systems, like email, have used these anti-spam techniques for a long time.

Federated systems always evolve into an Oligarchy, like Gmail/Hotmail/Yahoo, etc. or like banks, JPMorganChase/GoldmanSachs/etc.

If you want decentralization, you should more go for something like https://notabug.io/ (P2P Reddit), which uses the GUN protocol (mine). Or any WebTorrent-based approach.

marknadal··on Build Your First Real-Time App in Node
Great resource!

For those interested in creating something similar with NodeJS, but not having to write or manage any of the socket or socketio logic yourself, check out this 5min interactive tutorial of ours: https://gun.eco/docs/Todo-Dapp !

← PreviousPage 2 of 34Next →