I am surprise there is no mention of Librewolf here. The differences of Librewolf and Waterfox is pretty hard to grasp, I am digging a little bit but so far I guess I would say using any of them is still way better than the main alternatives.
Librewolf is, to me, the way better alternative as this is really in the FOSS mindset : a tool for everyone to use and by anyone to contribute. Seeing their plateform alone (Lemmy/Matrix/Codeberg, they also have a reddit community it seems) you can already see this is an other world than Waterwolf's bluesky/reddit/github. To be fair I can understand the SNS part but the github is a big redflag to me.
As usual I can see people that are very probably sincere in their goals not realizing the way they are going will lead to the usual enshitification: company focus, brave dependency, etc.
I note that Waterfox seems to legally originate from UK and it is refreshing to have an ecosystem that is not centralized in 1 country : for the sake of everyone it is better not to rely to much on 1 legislator (see age verification for instance).
Librewolf and Waterfox have always had different goals. Waterfox has always had a more opinionated take on defaults and privacy. Essentially the goal has been keep the web as private as possible without breaking it (I know Librewolf is more aggressive there and that sometimes leads to website breakages) and I think I've managed that well, especially with the implementation of Oblivious DNS by default.
The upside of Librewolf being a community project is also IMO its downside - there isn't any accountability and with the current climate around the world becoming more hostile to online services, I think governance is hugely important, which is why I've tried to collate everything as much as I can: https://www.waterfox.com/docs/policies/company-information/
At the end of the day, if something goes wrong, at least with Waterfox I can be held accountable.
There was a recent comment: "if you don't know: any browser extension can read input/password fields across all site(s) you gave it access to (yeah, it's crazy but unfortunately true)."
Nothing to "fix" per se - webextensions need to interact with website data, otherwise they wouldn't be much use. Any extension with content script access can read page content including form fields.
The only real mitigation is being selective about which extensions you install and what permissions you grant them (even then, ownership of extensions change hands, updates can change what they do... it's a never ending battle really).
My naive fix would be to disable extensions from accessing form field data without explicit approval. Hell, add different approval boxes for read, write, and hidden-text.
Say you have an ad-blocker and you don't allow it to touch your forms. Five years later, the ads have moved all into form fields.
Never mind the technical challenge to allow doing anything with the DOM but disallow reading the forms. Like, prevent the forms leaking its text when you do funny things like testing character width via line breaking or font changes.
Sounds like the answer is just not to install any extensions. But there are a few browsers out there including DDG and Midori v9.0 & older (Classic) that disable them altogether. Maybe GNOME web is the answer. Thanks.
> The differences of Librewolf and Waterfox is pretty hard to grasp
I use Waterfox on Linux and one of the things I like the most is that it works with the global menu bar in Unity, Xfce and so on. LibreWolf, in my testing, does not. My experiment with it ended there, TBH. (Neither did Floorp.)
Hopping between Waterfox and Firefox is easy because Waterfox works with Mozilla Sync. I think LibreWolf might not, and I have read somewhere that it disables the Mozilla password manager.
I find Waterfox UI and interop better, so I use it.
Librewolf may be even more private, but the poor UI was a deal-breaker for me. YMMV.
Yes we should run URL-unaware manager, but nearly no one understand security, especially in browser. Let's see the permission asked for the #1 manager in firefox (Authenticator):
Input data to the clipboard
Access your data for sites in the dropboxapi.com domain
Access your data for www.google.com
Access your data for www.googleapis.com
Access your data for accounts.google.com
Access your data for graph.microsoft.com
Access your data for login.microsoftonline.com
Yep! And #2 (2FAS Auth):
Display notifications to you
Access browser tabs
Access browser activity during navigation
Access your data for all websites
Even better, maybe at one point web browser can get their sh* together and build better permission system (and not just disable functions like manifest v3). For now the majority of people trust opaque organization shoving them unknown code their run with way too many permissions on their computers.
Talking about unknown code there is a lot of work to be done on reproducible build as anything touching web has nearly nothing about it.
Following leader's GUI is not a choice, I feel like you never did such endeavor as building an alternative to a well-known software in it's way to enshitification : people will ask and complain if the alternative is too far from their comfort zone.
The good part is that if you have better solution you actually can suggest a PR and/or implement it for yourself.
The bot verification is not specific to Forgejo/Codeberg a lot of Foss project and organization use this method to avoid unnecessary bot traffic. I understand the issue you have with it but the problem is way larger than codeberg here.
Also about the login with GitHub button would be immensely annoying for the community : you came from GitHub and you might think that your experience is more important but as this is community driven and not a business the people actually creating and using the software don't need nor want to prioritize such button but leave the option for those who wants it, which is very nice of them. Eventually if the majority start thinking a GitHub login is preferred an issue can be created and a change made in that direction.
I also have an older Odroid HC4, it's been years it is running smoothly and not only I cannot use 1000$ for a NAS as the current post implied but the power consumption seems crazy to me for a mere disk-over-network usage (using a 500W power supply).
I like the extensive benchmark from hardkernel, the only issue is that any ARM-based product is very tricky to boot and the only savior is armbian.
This is a very good move, using more open technology benefits everyone in the long run.
Aside from the bitter words against Github (and I read comments here forgetting about the very real consequences with people lives like collaboration with ICE), using codeberg is using Forgejo : those technology are by us and for us. Unlike Github we can run our own if necessary and all the technology (actions and such) can be improved and be shared between us.
An other benefit of Forgejo/Codeberg is the absence of pushing for paying more, Github is not free and lives of users going to Azure/Gemini or other Mircrosoft services. There are many parts that are made/changed to nudge people into paying more and more and be vendor-locked.
I like my life to have the fewest dark patterns as possible and Coderberg is extremely helpful.
Other people might have other preferences. Maybe we could have a price system where people can express their preferences by paying for things with money, providing more money to the product which is in greater demand?
Sure.. Except some people / companies have so much more money, they can demand impractical things and pay above-market rates for them, causing all others to scramble to live day-to-day with the distorted market.
I'm using my self-hosted forgejo. I don't see any benefit of git-annex over LFS so far, I'm not even sure I could setup annex as easily.
Digging a little bit I found that git-annex is coded in haskell (not a fan) and seems to be 50% slower (expected from haskell but also only 1 source so far so not really reliable).
I don't see appeal of the complexity of the commands, they probably serve a purpose. Once you opened a .gitattributes from git-LFS you pretty much know all you need and you barely need any commands anymore.
Also I like how setting up a .gitattribute makes everything transparent the same way .gitignore works. I don't see any equivalent with git-annex.
Lastly any "tutorial" or guide about git-annex that won't show me an equivalent of 'git lfs ls-files' will definitely not appeal to me. I'm a big user of 'git status' and 'git lfs ls-files' to check/re-check everything.
Annex isn't slow because it's written in Haskell, it tends to be slow because of I/O and paranoia that's warranted as the default behavior in a distributed backup tool.
E.g. if you drop something it'll by default check the remotes it has access to for that content in real time, it can be many orders of magnitude faster to use --fast etc., to (somewhat unsafely) skip all that and trust whatever metadata you have a local copy of.
LFS and git-annex have subtly different use cases in my experience. LFS is for users developing something with git that has large files in the repo like the classic game development example. git-annex is something you'd use to keep some important stuff backed up which happens to involve large files, like a home folder with music or whatever in it. In my case I do the latter.
This would require the SinglyLinkedList to be generic and would require that the data struct use "node" as the field name. Also, as some comments have pointed out, this type of linked list can be useful when a data struct needs to be in multiple lists, in which case there is no single "node" field.
const some_data = struct {
// Some data fields
// ...
bar_node: SinglyLinkedList.Node,
baz_node: SinglyLinkedList.Node,
};
I find the "why" points not appealing to me (maybe I know my way around git too much), but one:
"Partial clones
Commutation makes it possible to clone only a small subset of a repository: indeed, one can only apply the changes related to that subset. Working on a partial clone produces changes that can readily be sent to the large repository. "
It is scary that someone can say it is "encrypting" a private key by applying a simple XOR.
Also :
"File-Based Index: We track file hashes in a small JSON index instead of re-hashing everything on every commit or switch. This makes commits and merges faster because Evo only re-hashes files if it notices a changed modtime"
Using modtime is not a good idea at all, this is very telling about how much author knows about different workflow. For those who don't know : you can have remotely mounted files where your machine and the server time is different (happens to me and realized that makefile is modtime based and it creates problem), also obviously clock can change and you do not want your version control system to be blind on changed file, ever.
Librewolf is, to me, the way better alternative as this is really in the FOSS mindset : a tool for everyone to use and by anyone to contribute. Seeing their plateform alone (Lemmy/Matrix/Codeberg, they also have a reddit community it seems) you can already see this is an other world than Waterwolf's bluesky/reddit/github. To be fair I can understand the SNS part but the github is a big redflag to me.
As usual I can see people that are very probably sincere in their goals not realizing the way they are going will lead to the usual enshitification: company focus, brave dependency, etc.
I note that Waterfox seems to legally originate from UK and it is refreshing to have an ecosystem that is not centralized in 1 country : for the sake of everyone it is better not to rely to much on 1 legislator (see age verification for instance).