This is my first time reading about Edsu, it seems very similar to the Solid Platform in one important aspect: it keeps data in the control of the user, separate from applications.
I like how low-level and simplified the protocol is, being limited to only 9 types of messages. Compared to Solid which carries baggage from RDF, this seems far easier for third parties to implement.
The note-taking app is really under-selling the protocol beneath it. What could help sell it better is by doing something better than a centralized platform can.
Thanks! One of the goals of Edsu is that it's simple enough that you can "telnet" in and just talk directly to the server like you can with HTTP or SMTP. It can seem like a trivial feature, but I've found that being able to speak a subset of a protocol from any language after just an hour or two of duct-tape hacking ends up being a big unsung feature.
And itgoon has it right - this was the most useful thing I could think to write that only took a single day (I had an self-imposed deadline to hit earlier this week).
Here's a discussion of more interested projects and how Edsu could be used in each (and its advantages and disadvantages):
From a quick look through remoteStorage, it looks to me like it's is focused on storage (and so appropriately named!), while Edsu is more explicitly a foundation for applications.
One place this shows up is that Edsu has a permissions model where other people can read and interact with what you've stored (within very tightly defined parameters), which is the basis for writing multi-user apps like, say, a distributed Reddit or Slack.
They both have the same model regarding the ownership of data though. The biggest difference there is that Edsu uses a Merkle tree as the storage, like IPFS and git, which has a lot of consequences in terms of how it gets used.
This is the first I've heard of Edsu as well, but when I checked out NoteToMe, the first thing I noted is that you should create an account first. It's probably not inherent to the protocol, but the nice thing about RemoteStorage is that the default library already starts with localStorage first, and allows you to only sync that data to an account later.
Compare https://litewrite.net, a RemoteStorage app presumably similar to NoteToMe. You can start writing immediately, and sign in with a RemoteStorage account only if you want that data to be available elsewhere as well.
It's only because FreeBSD is my desktop OS, and so I used kqueue during dev. I understand that there's a compatibility shim for Linux, so theoretically a port should be quite easy. The bulk of the code is in Rust, and that shouldn't need porting at all.
There is no way this isn’t well done satire. Facebook might as well hire people to work on their open source just to keep them away from being productive at other companies, and that has more value to them than whatever bullshit monetary value their open source may have.
From what I understand, it installs a bunch of opinionated packages and then you're on your own. This isn't the same as "create a useful app in 30 seconds".
REST failed at marketing itself and its primary document is a doctoral thesis, hardly something that an average developer is going to grok, understand and implement.
Hypermedia is a more appropriate term, and emphasizes the actual substance rather than style.
Software seems to actually be progressing at such a slow pace, I don't think more frameworks to do the same old things are helping.
It seems to be harder to retrofit a new format onto an existing framework, than to write a new framework altogether. Once the new framework is out, it will be replaced by another shiny framework that offers a brand new feature that is actually a rehash of something old.
I'm optimistic that there will be something next that will replace framework churn, but what?
Funny how the advice to hire people smarter than you, doesn't work out in real life. Meritocracies are rare, and only seem to emerge out of necessity. That applies for tech companies as well.
You don't have to be 35 to start hating your job, I did at 25. It begins with the realization that you're a loser in the corporate hierarchy, and do as little work as you can possibly do without getting fired.
Software developers tend to complain that their job is tedious, repetitive, and that they aren't learning anything. Most jobs are like that. I believe that a large portion of repetitive software development can be automated, and this is a largely unexplored area.
The 'little work as you can possibly do' is a trap. It's a toxic frame that unconsciously poisons a company culture(others notice and emulate). And it happens, often, as a completely understandable defense mechanism.
This is made worse every time a manager gives an unrealistic deadline. Exemplified by rushing towards ANY deadlines. Moreover, it happens as a result of forcing the worker to sit in a chair for 8 hours staring at a monitor.
A huge amount of work can be done by communicating vision, thinking for N hours, then hacking something together in 1-2 hours. I think companies should rethink the outdated assembly line factory worker schema for thought workers.
As long as your employers are not acting in good faith, then I don't think they are worth any extra effort. When most employees are doing just enough work to get by, it says more about the employer than employee.
Consider facts: React is over 40k lines of code, there are 30+ classes/methods to be aware of though maybe 10 of them are commonly used. Would you call it "minimal"? There is still a lot more that could be done with a smaller API surface and much less code.
Compared to Angular, it might as well be a micro-framework, but by objective measures it's not so simple.
npm downloads seem to exaggerate how many actual people are downloading packages rather than bots.
A funny pattern that emerges in the above chart is that downloads drop sharply on weekends. I have seen packages that exhibit the opposite pattern (downloads spike on weekends). And this pattern is correlated with popularity, the most popular packages are downloaded largely by 9-5 industry coders, and mostly via continuous integration bots.
Regardless of technical merit, I don't think it stands any chance of adoption without major users. Specifications and standards are only really valuable as a contract between two or more parties, otherwise they might as well not exist.
On the tech side:
- RegExps open yourself up to RegExp-based DoS attacks.
- The nested/denormalized results anti-pattern seems to be copied from GraphQL. Unless this is intended to be a faithful reproduction, don't copy mistakes.
I like how low-level and simplified the protocol is, being limited to only 9 types of messages. Compared to Solid which carries baggage from RDF, this seems far easier for third parties to implement.
The note-taking app is really under-selling the protocol beneath it. What could help sell it better is by doing something better than a centralized platform can.