Professional C# .NET developer, React and TypeScript hobbyist, proud Linux user, Godot enthusiast!

https://blog.fabioiotti.com/\ https://github.com/bruce965

  • 1 Post
  • 90 Comments
Joined 4 years ago
cake
Cake day: March 9th, 2022

help-circle

  • bruce965@lemmy.mltoSelfhosted@lemmy.worldSelf hosted Onedrive alternative
    link
    fedilink
    English
    arrow-up
    15
    arrow-down
    1
    ·
    edit-2
    5 days ago

    You are invited to join the CopyParty! This has a web UI accessible from the browser, also from mobile, files are stored directly on the filesystem (not encrypted or on a database) and you can mount it as a network drive on Windows and Linux. But it doesn’t let you sync files for offline use, at least not without the help of some auxiliary tools.

    You won’t find anything simpler to install and configure than this.


  • Thanks for sharing your opinion and expanding.

    In the past I used to think the same. Or rather, probably naïvely, I considered the GPL to be a bit of a nuisance, and preferred LGPL or MIT software.

    Now I’ve changed my mind and started preferring AGPL for all my code. If a big company likes your MIT or LGPL code, they can legally steal it. If it’s GPL at least you get some safeguards, but they can still take it and put it on a server without the need to release the source code. That’s why I started to believe AGPL is the only “safe” license approved by the OSI, at least at the moment.

    Of course I agree that MIT and GPL or LGPL make sense in some cases, but I would say in general they don’t protect users’ freedom anymore in today’s cloud-first world.




  • I am not OP, but that would be the ideal solution for me. Unfortunately, KPXC does not support communication with the GPG agent and the team is not interested in adding this feature due to it being «[…] far more complicated than ssh-key management. There are already excellent tools for this, Kleopatra being the best».




  • Ah I see… I keep container configs in a specific directory, which contains one directory per-service, which contain all the config files + a compose.yml file to place them in the correct path in the container. I could commit everything to Git if I wanted to.

    Regarding network and firewall, you could make a symlink to a versioned file and keep your config with the containers. Same for firewall rules.

    I’m not sure what you mean by file sharing permissions. With containers you could give a different user to each service.

    If you are worried about memory and disk usage, another option I’ve been exploring recently is using OverlayFS, which, among other things, allows you to inject a directory at a specific path. Again, this would let you keep all your configs where you fancy the best. I use it through Bubblewrap.

    Anyways I realize that what I just described is far from standard… hopefully other users will suggest something less custom.


  • bruce965@lemmy.mltoLinux@lemmy.mlHow to manage configuration files
    link
    fedilink
    arrow-up
    1
    arrow-down
    1
    ·
    2 months ago

    If your goal is to host services, I would recommend looking into Docker, and eventually Podman. Containerization lets you keep the configuration wherever you want, personally I use a dedicated a directory for each service.

    Also, please note that a container is not a VM. It’s just a way to keep everything in one place.


  • Here’s my config for reference, which works for me:

    name: forgejo
    services:
      forgejo:
        image: codeberg.org/forgejo/forgejo:12
        environment:
          - USER_UID=1000
          - USER_GID=1000
        restart: always
        volumes:
          - ./data:/data
          - /etc/timezone:/etc/timezone:ro
          - /etc/localtime:/etc/localtime:ro
        ports:
          #- 80:3000
          - 2222:22
        networks:
          - nginx
    networks:
      nginx:
        name: nginx
        external: true
    

    If you can share your error message we might be able to better pinpoint the issue.

    EDIT: I searched a bit and now I understand better what you are trying to do. I didn’t know about this “SSH shim” idea. This is not what I have done on my setup, sorry.






  • I would say this would be the proper way to do it (at least as a sysadmin), but since it’s OP’s first time I would simplify it to:

    1. Install CloudFlare ZeroTrust daemon on your local server;
    2. Set up reverse proxy such as Nginx (optional, the alternative is to use a different subdomain for each service, which might be easier);
    3. Point the FQDN to CloudFlare.

    Let CloudFlare handle the certificates, DDoS protection, etc… Link if you’d like to give this setup a try.


  • There is a keyboard shortcut. It’s CTRL+ALT+Z for me. Unless you mean something else?

    As for the “reveal on hover”, iirc there was a dismissable message that said it is coming soon.

    If I can share my opinion, they are more than big enough if you toggle the checkbox “optimize for touch screen”. I would have to try Arc or Zen again to understand what you mean.

    The only complaint I have is that I need to hover (or expand) to see the title. It becomes annoying when I’m reading documentation and I end up with multiple tabs with the same icon.

    EDIT: I can’t seem to find the “optimize for touch screen” checkbox anymore, but I’m sure there is something like that somewhere because I enabled it on one of my devices which has a touch screen.

    EDIT 2: the “optimize for touch screen” option can be seen by right clicking the toolbar and choosing “Customize toolbar”. Changing the density to “Touch” (on the bottom) makes these icons bigger.



  • […] re‑engineered flash physics by replacing silicon channels with two‑dimensional Dirac graphene and exploiting its ballistic charge transport.

    By tuning the “Gaussian length” of the channel, the team achieved two‑dimensional super‑injection, which is an effectively limitless charge surge into the storage layer that bypasses the classical injection bottleneck.

    That’s some seriously technical jargon.

    ChatGPT seems to be able to explain, not sure how accurate it is though.

    Flash memory traditionally uses silicon channels to move charges (electrons) into a storage layer. These researchers changed that by replacing silicon with Dirac graphene. Graphene is a single layer of carbon atoms arranged in a honeycomb structure. It’s called a Dirac material because its electrons behave like massless particles, moving extremely fast and with very little resistance.

    This leads to ballistic transport: electrons move without scattering, like a bullet in a vacuum. This is far more efficient than silicon, where electrons bump into atoms and lose energy.

    Tuning the “Gaussian length" likely refers to modifying the shape or spread of the electric field or potential in the channel (possibly shaped like a Gaussian curve, i.e., a bell curve). By adjusting this, they control how charge flows.

    Achieved two-dimensional super-injection means they were able to push a large amount of charge very efficiently from the graphene channel into the memory storage layer, and in a 2D way (across the flat graphene surface), rather than through a narrow point.

    Effectively limitless charge surge: normally, in flash memory, there’s a bottleneck where only so much charge can be injected due to energy losses and scattering. But with graphene’s ballistic transport and this super-injection method, that bottleneck is gone—or drastically reduced—enabling faster and more efficient memory writing.


  • I have to admit that I didn’t really think about reminders. That would perhaps make more sense for Simple Calendar, perhaps in the future I might consider linking notes and reminders. Or maybe it would make sense to implement it directly in Simple Notes? I don’t know, I’ll keep that in mind for later, thanks!

    the number of clicks/menus/presses it takes to create a note

    I strongly agree on that. It must be at most as many clicks as on Google Keep, i.e. two clicks (plus a few to open the app).

    import existing Keep notes from a Google Takeout into your Simple Notes

    I didn’t think about that. That shouldn’t be too hard. After the MVP (minimum viable product) will be ready, imports from various common formats should be implemented, and I guess Google Takeout for Google Keep should be supported too.

    Thanks for the suggestions!