Live data from Hacker News

Fossil Chat

fossil-scm.org

101–110 of 172 posts

Re: Fossil Chat

#101

How is the security with Fossil? I'm always leery of hosting (niche) web facing services written in C.

> How is the security with Fossil? I'm always leery of hosting (niche) web facing services written in C.

Fossil's been available for nearly 14 years now and we've had to make only a single security-relevant release in that time (in late Summer 2020).

Fossil's primary architect, Richard Hipp (edit: HN user "SQLite"), is no stranger to code hardening and continues to add security-related APIs to all levels of the code, from how we internally build SQL queries or encode URL arguments to the recent (late 2020) ability for the db to lock down regions of the db until/unless that protection is toggled off for the brief blocks of code which need to modify those regions, ensuring that other areas of the code cannot modify parts of the database which they aren't directly responsible for. Security against malicious inputs has never been treated as an afterthought in fossil.

Re: Fossil Chat

#102
post #42

Earlier quoted context omitted.

Caddy, though I have used NGINX and HAProxy in the past. I get your point, but those projects have corporate backing and a lot of scrutiny. A niche C project seems less likely to have that.

SQLite3 is the only project I have ever seen that casually makes (non-normative, non-legally-binding) confident reference to its suitability for use in medical devices.

My understanding is, if you pay for a support contract, they are happy to make it legally binding.

It's literally the most used database in the world, but a giant margin. Every Android and iOS device and every mac and linux machine use SQLite. I haven't ever bothered to check Windows, but I bet they use it too.

Re: Fossil Chat

#103
post #99

Earlier quoted context omitted.

Fossil looks very interesting, but I completely disagree with their [stance on rebasing]( https://fossil-scm.org/home/doc/trunk/www/rebaseharm.md ). This is a dealbreaker for me. I do not consider having 10 buggy commits per feature instead of 1 working one an advantage. It just complicates reading history and hinders debugging (e.g. bisect). I get their arguments, I just disagree.

Agreed. In particular “Rebasing is lying about the project history” is misleading and frankly, just downright lame hyperbole. I actually want to try Fossil, but this text is so dishonest and hyperbolic, it’s off-putting and preventing me from trying Fossil. This feels like a sign that Fossil might not be focused on real world user needs. It’s not uncommon to bump into this claim in threads about git, I don’t think th…

I consider a version control system to be a history of a project. If you change the history to something that is materially different, which rebase does, then you are lying about the history. You cannot white-wash this fact.

The history Git and in Fossil is only precise to the transaction level. A key-stroke or backspace is not a transaction. A single iteration of the edit-compile-test cycle is not a transaction. A transaction is created by the "commit" command. Git and Fossil make no record of the stuff that happens in between two commits. They only record what is in each commit. So you can backspace and edit and change all you want to before typing "commit". But once you type "commit", all that you've done since the previous commit becomes part of the permanent record. Rebase violates that constraint. It changes the permanent record. Rebase makes the repository say that the sequence of commits is different from the order in which they actually happened.

You can call that whatever you like. "Telling a compelling story." "Generating a clean history." I call it "lying", since the purpose seems to be to deceive the reader about what actually happened.

It is useful to have a simplified overview of project history, to aid the reader's comprehension. There is no sin in this as long as you are truthful to state that the simplified history is in fact a simplification that skips or revises some of the messy details of reality. The alternatives to rebase that Fossil provides do exactly that - they suppress the unimportant details of the history to provide a simplified and more readable history. The difference is that the original, truthful history is still provided, for auditing and for those who care. In other words, the repository reports both "what we should have done" and/or "the best way to think about what we did" in addition to "what actually happened".

I concede that if you think of a source code repository as just a story or as documentation to help future readers, and not as a accurate history of the project, then rebase is not lying. In that case, rebase is just revising your narrative. But I think that a source code repository should be a true history of a project. If you view a source repository as a true history, as I do, then rebase is a tool for lying about the history.

Re: Fossil Chat

#104
post #2

Does anyone use Fossil? I'm considering it for my personal projects. I like all it offers for the relatively low resource usage. The only use of it I've seen in the wild is Ripcord ( https://dev.cancel.fm/issues ), which is interestingly also relatively low resource usage compared to its competitor.

Fossil looks very interesting, but I completely disagree with their [stance on rebasing]( https://fossil-scm.org/home/doc/trunk/www/rebaseharm.md ). This is a dealbreaker for me. I do not consider having 10 buggy commits per feature instead of 1 working one an advantage. It just complicates reading history and hinders debugging (e.g. bisect). I get their arguments, I just disagree.

First, it sounds like you're looking for squash - not rebase.

This is a false dichotomy. You can have it both ways - git just doesn't provide it both ways.

In Mercurial, you can squash commits so the history shows it as one commit, but you can still see the individual commits if you really want to. The history is never lost. I imagine Fossil does something similar.

Looking at this subthread: Wow! People really get triggered when it comes to Git.

Re: Fossil Chat

#105
post #103
post #99

Earlier quoted context omitted.

Agreed. In particular “Rebasing is lying about the project history” is misleading and frankly, just downright lame hyperbole. I actually want to try Fossil, but this text is so dishonest and hyperbolic, it’s off-putting and preventing me from trying Fossil. This feels like a sign that Fossil might not be focused on real world user needs. It’s not uncommon to bump into this claim in threads about git, I don’t think th…

I consider a version control system to be a history of a project. If you change the history to something that is materially different, which rebase does, then you are lying about the history. You cannot white-wash this fact. The history Git and in Fossil is only precise to the transaction level. A key-stroke or backspace is not a transaction. A single iteration of the edit-compile-test cycle is not a transaction. A t…

My philosophy is that the true transaction event and accurate immutable history of the project is the artifact built for release (in our process, the merge to master drives this and therefore commits to it map to the transaction event). The stumbles and trips along the way are irrelevant keystrokes that get backspaced / rebased out.

Re: Fossil Chat

#106
post #33

HI! What it looks like: https://imgur.com/a/PaHExsp Here's Fossil 2.15 running on EC2: http://54.79.202.57/register - this link will allow you to create a new account. Alternatively, the "chat" user (password "chat") can be used if you don't want to make an account. [It used to have the ability to create additional users (with admin privs), with the result that the fossil instance rapidly began spouting SQL errors an…

I don't understand why these tools always have so much styling, when they would look a lot better if they just never did it in the first place.

Drop-shadows, rounded corners, borders, colouring, fades. All extra work, all a pain to look at.

Is like watching Picasso paint a painting on a glass wall, the first half you're "wow this is great", and then you just want to start screaming "STOP! NO! IT WAS BETTER BEFORE!"

Re: Fossil Chat

#107

> Fossil chat is not intended as a replacement or competitor for So what is it for? If it's another inbox to check that's a bit of a productivity drain. I could understand if it was explicitly designed to compete with other chat platforms. This would seem to fit with Fossil's mission well.

I think the idea is so that core developers have a quick way to chat with one another over design ideas w/o needing to register or setup other infrastructure, then move the best over to the permanent forum record or wiki. Then the core members don't need to have a dedicated channel somewhere else. If they did, then that would be another inbox to check; instead they can check the fossil chat when they are on the proje…

>Then the core members don't need to have a dedicated channel somewhere else.

But isn't that "a replacement"?

Re: Fossil Chat

#108
post #85

Earlier quoted context omitted.

Heh. Building an scm is a great way to become so busy you don't have time for your actual work. Building a db is another great way. If I could be so unproductive...

> If I could be so unproductive... It goes much further than that... When one views a fossil-hosted forum post from the main fossil site or sqlite's site, they are looking at... - A forum post rendered by software Richard wrote. - Piped out to you via an HTTP server he wrote. - Served from an SCM he wrote. - Stored on a database package he wrote. - All coded in a text editor he wrote. Complete vertical integration. H…

What's the text editor? If anything could get me off Emacs, it'd come from the Hippoverse.

Re: Fossil Chat

#109
post #2

Does anyone use Fossil? I'm considering it for my personal projects. I like all it offers for the relatively low resource usage. The only use of it I've seen in the wild is Ripcord ( https://dev.cancel.fm/issues ), which is interestingly also relatively low resource usage compared to its competitor.

I use Fossil for my own projects. However, I do not use the forum feature, chat feature, etc. They don't belong there in my opinion, nor do I like the implementation much; I use external software.

There are a few other things I dislike about the design of Fossil; it doesn't have very good low level access, for one thing (there are other concerns too, although rebase isn't one of them). I have started to make my own implementation, which I intend to support the Fossil protocol and deconstruction format. Someone else perhaps had a similar idea, so were writing libfossil; however, they seem to consider the protocol implementation a lower priority, while I consider it important (however, they consider it important to use the same database schema, while I don't, and can freely rewrite it). As it turns out, both of us had independently used the term "deck" or Fossil structural artifacts.

Re: Fossil Chat

#110
As others have said, the fact that this isn't geared as a replacement implies that its an additional distraction on top of established chat.

Perhaps a better iteration would be as a consistent proxy to other chat hosts? As in, once configured, this chat feature would mirror to IRC, Slack, Discord, Telegram, Google Hangouts, etc.

Fossil users could have barebones but consistent access to team chats without the multiple inboxes problem? Or they could use the established chat host directly and never look at this chat again.

Post reply on HN