Hacker Timesnew | past | comments | ask | show | jobs | submitlogin

> I have given 4 years of my life to the Darktable project, only to see it destroyed by clueless geeks playing code stashing on their spare time, everyone pushing his own agenda with no sense of design, in a project where nobody is responsible for anything and where we work too fast on everything at the same time.

Anyone know what happened to the Darktable project? I've only used it a few times, but it seems nice for someone who knows how to use it (which isn't me!) but curious what drama happened.



When I switched to Linux full time about a year ago, darktable was a godsend. I currently have it pointed at a NAS share with ~8k raw images and it works pretty flawlessly and I can barely tell that the images are offhost.

Personally, I really like a number of the features that this fork removed (like the timeline). The software does have a bit more of a learning curve than the commercial variants out there, but darktable is impressively capable and I personally jive more with its theory-based approach.

I _do_ agree that deprecating the display-referred mutations is a good thing, but the darktable documentation is already pretty adamant about scene-referred being the future; though there's no way people are going to go through their entire library and update their past tweaks from display to scene-referred, so I don't know that those modules can ever be removed.

I guess if I was going to be as petty as the author of this fork, I'd say that the Ansel logo looks awful.


The author is the "Dr. Rant" (his own words) of Darktable, so a lot of what he says is probably exaggerated. A lot of it isn't, though - Darktable does indeed lack focus and direction lately, leading to unnecessary bloat and unresolved issues. In other words, typical FOSS problems that sometimes lead to a fork.


Author has a blog post here, https://ansel.photos/en/news/darktable-dans-le-mur-au-ralent..., which exhibits some example code, for example, this: https://github.com/darktable-org/darktable/blob/darktable-4....

That's a far cry from what I'd find acceptable in any project.


The author is not wrong, the code really is crazy. Here's another random snippet from the ugly rewrite:

    for(char relative[] = "-2"; (relative[0] ^= '+' ^ '-') == '-' || ++relative[1] <= '9'; )
      gtk_list_store_insert_with_values(instances, NULL, -1, 0, relative, -1);
This is just pure excess cleverness. It's not even obvious how many times this loop runs for. There's a comment 1000 lines away that says this:

    #define NUM_INSTANCES 5 // or 3, but change char relative[] = "-2" to "-1"
This is just insanely unmaintainable code. If a string is warranted I would have just done the "stupid" thing with a `sprintf(buf, "%+d", relative);` to make it obviously correct, even if it seems "slower".


I had to think about what that loop does for an embarrassingly long time.

I’ve never seen XOR used as an in-place alternation operator like that in a for loop. I’ve only ever seen it used as a swap function not an inline expression.

I’ve also never seen a for loop that uses a mutable string updated char-by-char like that.

It’s just… special.


This just got added to some lists of interview questions.


Excellent links. My favorite part:

> However you put it, there is no valid reason for a software left open without touching it to turn the computer into a toaster, especially since we don’t buy Russian gas anymore.


Darktable is still going strong. I am a pro photographer and use it. I tried Ansel but most of the useful modules are removed and personally, I really don't care much for the "right way" of doing things from an engineering perspective. Darktable works and that's why I use it.


darktable is still being developed. There are pretty regular releases. I use it as my main photo processing software (raw-based workflow).

As I said in my other comment, Aurélien has strong opinions. He felt he could not effectively work with the other darktable devs and decided to fork the project.


What is code stashing.


I guess it means keeping improvements/changes to yourself instead of contributing them to the project.


> Anyone know what happened to the Darktable project?

Are you referring to the fact of there being no releases in the last year or so?

Edit: Ignore the above - it's incorrect.


4.2 dropped in December 2022.

4.4 was released in June 2023: https://www.darktable.org/2023/06/darktable-4.4.0-released/

4.6 is slated for December 2023: https://github.com/darktable-org/darktable/blob/master/RELEA...

Their release schedule has been remarkably consistent.


Yeah. My mistake: I somehow overlooked those.


I just assumed it was what people used. I tried but couldn't get the hang of it. Couldn't flatten or remove things from the history.


That's kind of the nature of non-destructive editing. While I do think the operation stack could be smarter about collapsing edits that are commutative, once I got a workflow order down I haven't really worried about this much.

The documentation actually has a pretty good example workflow that flows through mutations in an order that makes sense for most cases. Though it's not really that simple, and so you'll find yourself trying to relearn each time if it's something you do only on occasion.


It’s not your fault. It has the worst UX of anything I’ve used. Be careful if you use the mousewheel anywhere, you don’t know what unexpected action it’s going to perform. Drawing vector shapes for masks is wildly frustrating too. It does have a lot of powerful modules though… and it’s free.


There's a switch in preferences to make it just scroll by default. Definitely a bad UI decision indeed.


I actually would prefer it to zoom, which it sometimes does. A couple of examples: if you're using the tone curve tool it'll change the exposure for the level under the pointer; or if you're hovering over a vector it will scale the vector when all you want to do is zoom on the vector so you can move its fiddly control handles; but then if you're hovering over one of the settings dials by accident it will move the slider left to right. Absolutely something I wouldn't expect and have not seen in any other software. The UX is mind-boggling inconsistent and unpredictable.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: