Recent submissions

Comment · 7 years ago
I see, thanks to you and @weego for historical context.

It makes me realize that git is probably some kind of append-only database too (and used for decentralization too).

I guess I can still thank blockchain for having introduced the idea to me.

Comment · 7 years ago
Also, the blockchain has introduced (AFAIK) the idea of using append-only databases to build decentralized applications, and this is currently used in very interesting new techs which have nothing to do with currencies or economics (like secure-scuttlebutt). The "dweb" is becoming a thing, IMO.
Comment · 7 years ago
Oh indeed, I'm not trying to say they should not fund these programs, this is awesome and welcome. I'm just warning about a possible pitfall for them to keep an eye on :)
Comment · 7 years ago
Do people using these oldish softwares update them, though?

Funding bug bounty programs kind of fail its objectives if they don't.

Comment · 7 years ago
Hi Fabio,

Congratulations on Notable, it's very slick, and exactly the kind of note taking app I was after.

I'm mostly concerned about keeping my data offline these days, so Google Keep and Evernote were no fit for me. I take tons of notes every day, and ended up using the note app from Kontact (the PIM suite for KDE), mostly because I'm a heavy KDE user and it was properly integrated with Akonadi (KDE's PIM backend). But it is very raw, especially compared to Notable.

Given Notable data is just plain text, it means I can get it indexed by Baloo (KDE's desktop search), so it's perfect for me. Thanks a lot :) And nevermind Electron haters, having an app in an AppImage, released on github, so that I can subscribe to release's RSS feed and just download/drop the update if I want to is furiously awesome.

One suggestion : I would love, when I create a new note when having a Notebook selected, that this new note is automatically added with this tag (currently, manually importing data from Kontact is painfully long). Autocompletion of tags could do too.

Comment · 7 years ago
Dweb related techs.

Initially, I started with ssb (secure scuttlebutt), but ultimately moved to dat/beaker.

I've been having a lot of fun with it, I love how this allows to publish side projects without needing to rent a server.

For next year, I'm interested in exploring the implications it has regarding interoperability of apps, given users host their own data and can give access to it to other apps.

Comment · 7 years ago
I'll speak only for me, here, but Fallout 1 is the game that impressed me the most among these, during those times. It had to do with this idea that you could go anywhere you wanted and you weren't forced into a linear plot (somewhat a precursor of current day's openworld games).

Granted, I didn't know d&d back then, I guess if it happened now after playing d&d, Baldur's Gate would impress me more.

Comment · 7 years ago
Btw, I wonder : I intend to use KDE on librem 5 (at least eventually, if it's not ready on phone release). Do you know if mixing GTK and QT apps on the system will be as easy as on desktop?
Comment · 8 years ago
Because having code that behaves differently on development and production is never a solution, it's a workaround. Having bugs that can't be reproduced locally is the worst thing that can happen to a developer. So yeah, you can _just_ put environment settings if you have no other possible way, but you should really avoid it if there is any other one (like using chrome with CORS disabled, here).
Comment · 8 years ago
At the very least, CORS should be disabled for localhost. I build interfaces using create-react-app, which launches a dev server on localhost:3000 (useful for things like live reload), making requests on a go api on localhost:5000. On production, both are on :80 and the backend serves frontend production files. This is annoying to alter the application code just to handle dev environment (although, this already happen in many other places, so it's not critical).
Comment · 8 years ago
That was my usual extension management method for chrome, but sadly each time I tried that on firefox, it didn't fly (IIRC, you _can_ load extension from your local FS, but they only lives for the time of the session).

By the way, if someone from firefox team is reading this : I would _really_ love to be able to just load directories from my FS as extensions rather than having to trust someone on the internet that it does what it says it does. I love building extensions myself, but I just don't install extensions from the web anymore because I don't know what's in there (note that referring to a github repos is not enough : I have no guarantee the content of the extension is the same).

Comment · 8 years ago
If you want to implement payment, that's clearly the wrong tool for the job :) (although, it could easily leverage cryptocurrency networks)

Personally, I see the dweb as internet of the early days, when we were all writing blogs and publishing tools just because we found it cool. If Dat makes it difficult for big players to launch commercial products on it, I would call that a feature (but it's too early to say if it's the case). They already have the web for that.

Comment · 8 years ago
Note: I'll only speak for my toy app, not pretending to be an expert of Dat, obviously.

I don't try to build a consensus (if by that we mean conciliating possibly conflicting entries, like Stellar if doing, for example), I just merge feeds. For now, it's as simple as it gets : my feeds (one in each character's archive) are json array of objects each containing a timestamp and a message, I just concat them and sort by timestamp. Of course, this won't fly for long, I'll soon have to separate data sources in chunks and process them as stream to avoid loading everything in memory at once, but for now, it's good enough to explore what I can do with the protocol.

I have the feeling your questions could be sum up as : how do you implement authority if there is no central control of data? (my apologies if I got it wrong and make you say something you haven't). The answer is : you don't.

With a standard app on a server, if you don't enforce data integrity, one user can possibly break the application for all users. With an app like the one I'm building, an user only share their data with a small group of friends and can only affect them. If they corrupt their data, the app is only broken for them. "Congratulation, you broke your toy. Now what?" (edit: in my app case, removing that person from the group would be enough to fix the data).

Of course, this reduces seriously the scope of what kind of app you can build (forget banking apps, or anything where anonymous people interact with one an other at a public scale). I'm perfectly fine with that : I can build my usual small tool services without pondering if it's worth mantaining, renting a domain name and renting a server. I'm not trying to build uber or bitcoin.

Please note that I'm not saying that consensus protocol and security can't be implemented with Dat, I'm just saying that it doesn't matter for what I'm currently building (and which is my only experience with dat so far).

Comment · 8 years ago
I totally love that feature, actually.

I'm toying currently with an app to do play by post d&d campaigns on Dat, I make one user create a Dat archive to hold game data, then each player has their own archive for their character, the game archive hold references to the public keys for each one, and then the application takes each character feed and merge them to present a seamless discussion.

This feels like contributing to the same document, and yet each user is in total control of their data (almost total control, because they cannot decide to erase it if other people are already seeding it). I also love the possibilities of scaling it implies : when each user hosts their own data, the number of users doesn't matter (provided they all interact in reasonably small groups, of course).

EDIT: oh btw, I can create archives on-the-fly because I'm using Beaker browser's api. I don't know if it's something possible with Dat by itself.

Comment · 8 years ago
I totally get it, it's all a question of balance, I guess. An _occasional_ thanks you mail is great. On the other hand, getting pass the 100 stars on a project on github is a big moral boost too, and probably wouldn't feel so great if each one was a mail :)

But actually, I realize both can easily be reconciled : we could send a "thank you" message to projects with low amount of github stars, and just star those which have a high amount. This would both cheer solo dev starting their project and avoid annoying bigger teams on well established projects.

Live from the official Hacker News API

A modern reader for Hacker News · SvelteKit + Skeleton