Hacker Newsnew | past | comments | ask | show | jobs | submit | worksonmine's commentslogin

I'm not OP but probably the licensing drama. Gitea is now open core if I remember correctly. Some details are available here[1]. I also used to run Gitea, but I don't any more. The open-source churn is getting tedious and difficult to keep up with.

[1]: https://blog.codeberg.org/codeberg-launches-forgejo.html


I'm a project lead of Gitea, and former elected board member of Codeberg. Gitea remains opensource (feel free to check out the repo and you can see that the license remiains as is), and maintains yearly community elections. The codeberg board was informed a full year prior to their "we just found out blog post", and so "catching the whole community by surprise" is very much not accurate since they very much knew. As well, we (the company) were very public with our activities prior to our blog post announcing things, including working to support other open source projects migrate, and posting about it through various channels (social media, chat, etc..).


How portable do you need it to be? I use pass[1] and it is good. Just a shell script wrapper to gpg and the passwords are encrypted files you can backup and sync anyway you want.

[1]: https://www.passwordstore.org/


Another vote for pass. I've been using it for ten years with a git repository. I sync to all my machines and use https://github.com/agrahn/Android-Password-Store on Android. Not a solution for non-technical people though...


There are more secure alternatives. Are you sure those you listed actually use it on the servers? I would guess that at least Spotify and Netflix uses some other container runtime than Docker on their production servers.

For a long time Docker was helpful and opened exposed ports on the firewall. So you wanted to access your redis ports locally and exposed it on the container? Now everything in there is accessible on the open internet.

I believe they've fixed it but I haven't used Docker in years so I wouldn't know.


I think plugins is the better solution, then you can't pay the browser to get your ads through.


Cool project, but they should really upgrade at least the downloads to https...


This would break so many websites. There are valid uses for the history API, I often do modals/popups as shareable URLs, and using the back button closes it.


There's a (very) big difference between reading weekly and reading a book in the past 12 months. I used to read a book or two in the past 12 months, back then it was on vacation to have something to do while lounging on the beach. Today I read a book every month and it's something I do instead of watching TV. I would not call my younger self a reader.


Interesting choice to change the time of the comment, a deja-vu can be weird enough without staring at a comment with a recent timestamp.


Didn't know about this project, looks useful. Thanks for bringing it to my attention, FAKKU.


> Why even use else if with return...

What is the problem with that? How would you write that snippet? It is common in the new functional js landscape, even if it is pass-by-ref.


Using guard clauses. Way more readable and easy to work with.

  export function extractSearchToken(completionToken: {
    token: string;
    isQuoted?: boolean;
  }): string {
    if (completionToken.isQuoted) {
      return completionToken.token.slice(2).replace(/"$/, '');
    }
    if (completionToken.token.startsWith('@')) {
      return completionToken.token.substring(1);
    }
    return completionToken.token;
  }


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

Search: