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

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

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

help-circle


  • 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.


  • bruce965@lemmy.mltoGaming@lemmy.worldThe steam deck is just great
    link
    fedilink
    English
    arrow-up
    3
    arrow-down
    2
    ·
    3 months ago

    I agree with you, but I would say you can’t assume everyone has the same goals. I can tell you, my Nintendo friends are not idiots nor mindless zombies. They simply are not interested in learning about how the other options work, and I would say that’s totally fair.

    I have a dear friend who has most of his games on Steam, but still, he told me he prefers the Switch. “Why?” I asked him. “Because Nintendo makes exactly the kind of games I want to play, and because unlike with the PC, I can just pick up my Switch and start playing” he answered.

    I have a ROG Ally with Bazzite (so, basically equivalent to a Steam Deck) and I have to admit that, while 90% of the time every game works out of the box, sometimes some games misbehave. Although, to be fair, this only happened to me with Epic Games games ran through Heroic.

    I would say it’s totally fair to prefer Nintendo. It gives you great games that don’t require tinkering. If that’s what you want, then Nintendo is a great option for you.



  • 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!



  • I didn’t know this term! I knew about DAGs which are probably a way to implement CRDTs. I just read the definition on Wikipedia, it says that “[CRDTs feature] an algorithm (itself part of the data type) automatically resolv[ing] any inconsistencies that might occur [in case of conflicts]”, that sounds interesting. I was thinking to try to resolve conflicts automatically whenever possible by adapting Git merge strategies, and when impossible: either just concatenate both versions and let the users fix it manually, or giving users the option to choose line-by-line which version they want.

    With this keyword I might be able to find more literature on the topic. Thank you for suggesting it!


  • Okay, that’s a nice suggestion. I was thinking to try to keep the UI more generic rather than integrate it with operating systems, but an Android widget might not be too hard to do, I might investigate later.

    I do know Node, but I am not skilled with PHP, I haven’t used it for 10 years and I’ve noticed that things have changed a lot since the version I knew. I feel NextCloud is a bit overbloated, but I didn’t think about checking how they handled the communication part, that’s a good idea. It doesn’t overlap much with what I had in mind, but I might still be able to learn something. Thanks!


  • start by scouting around and see if you can adapt FOSS apps

    I see lot of people are recommending me to contribute to existing projects instead of reinventing the wheel. I want this app to be as close as possible as I envision it, I couldn’t find something close enough to what I had in mind (in particular these three things do not seem to get along well: real-time collaboration, simplicity, reliability/stability). But I’ll be honest, I code for fun and I am lazy. Even if there was another project similar enough to this, I don’t think I would want to invest time to learn all the details and then more time to see if it can be adapted to my vision. Starting from scratch is easier, even though it might not be as beneficial to the FOSS community. Still, thank you for suggesting this, that sounds like it would be the smartest thing to do.

    Also, I didn’t know about Murena, thanks for mentioning it!


  • E2EE because I wish for a software that you don’t need to self-host. We here on the Lemmy Selfhosted community are lucky to have the skill to do it, but I want other less tech-savvy users to also be able to use this service without having to trust a third-party.

    It makes backups much more complicated

    You have a point, but if the server acts just as a blind relay to facilitate synchronization, you just need to run this app on a couple of your devices and you have a distributed backup you don’t even need to think about. A copy of all the synchronized documents is stored on your device(s), and it should ideally be exportable at any time, so I would say you don’t need to also have a backup on the server. If you happen to lose all of your devices, you can just add a new one and in a few minutes the server will send you a copy of your data. I would say that makes it unnecessary to keep a plain-text backup on the server, what do you think?

    EDIT: I didn’t want to burden users with a choice of E2EE vs plain-text, but that would be doable I guess. If I end up adopting Matrix, E2EE is optional.


  • Whoa, that’s a long list of ideas… let me see…

    1. That’s the plan, excluding iOS as I do not have a Mac and thus I cannot develop for it
    2. Certainly
    3. Certainly!
    4. That’s not part of the MVP (minimum viable product) I have in mind, but an export function must certainly be added later
    5. Plug-ins are not part of my goal, but I will do my best to keep the source code modular enough to let people adapt it freely
    6. We agree on that, global search is necessary, but I did not think about a “search inside a note” option. That seems to make sense, I’ll see what I can do
    7. Tags are part of my idea, although not the MVP, but folders are not; I will see if I can also add folders without complicating code and UI too much, that doesn’t sound like a bad idea
    8. Not part of my goal, but maybe in a future iteration
    9. Yup, that’s what I had in mind too
    10. As a developer I like Markdown, but it is not on my priority list… perhaps in a future iteration. I was thinking to (maybe) use Markdown behind the curtains, so it might not be too difficult to let users toggle the WYSIWYG
    11. The first UI that I am planning to develop will be for the web browser, then a lazy-man Electron UI for the desktop as well as something for Android, I just wanted to do something simple. I don’t have the time and skills to do deep desktop integration, perhaps in the future, or maybe someone might contribute this feature if this project actually manages to become something interesting
    12. That’s not part of the Simple Notes app I was thinking about, but that would make sense for Simple Calendar, perhaps in the future I might consider linking notes and reminders, but that’s not something I am thinking about yet
    13. I did not think about that, that’s a good idea, I’ll see what I can do
    14. The first version will not let you upload media, but images are planned. I did not think about sound/video/documents, but I guess why not?

    I think notes collaboration might be a anti feature

    That’s the main reason why I decided to build this suite of apps in the first place. I want to be able to work collaboratively on things with my girlfriend, and we must be able to do it in real-time. I realize that this will eat away a big chunk of the total time I will dedicate to this project, but it is also the main reason why I am not satisfied with the options currently available.



  • Well… if a FOSS project wants to incorporate collaborative work they could already do it, well… through Matrix for instance.

    They might (depending on how the application works) also need to implement additive changes and possibly also a conflict resolution UI if they want to support synchronization from offline changes. But I’m afraid both these things might be very application-specific.

    I’ll be honest, I don’t think much of what I have in mind would really be adoptable by existing projects. But I’ll do my best to keep everything relatively modular just in case.

    Thanks (again) for the encouragement!



  • Oh yeah, I used Joplin in the past. Although the goals are quite different from my idea. Joplin is a great recommendation as an alternative to Google Keep, but it’s not real-time collaborative (or federated, for what it matters).

    create drawings

    Ah, I don’t remember this option. Maybe it wasn’t available when I tried it last time a few years ago. I guess that means Joplin is still being actively developed.

    I would also look into collaborating with the people […] Not sure if that will work, but it’s worth a shot if you’re interested

    Oh! I just noticed that they have quite a few things besides Docs. I mean… I probably should. My goal is for something much smaller, I just want a replacement for Google Keep, and some day in the near future, SplitWise. Joplin sounds like a better candidate than Numerique.

    Thanks for pushing to collaborate, I realize that would actually make more sense than starting a new project from scratch. Not without guilt, I have to admit that I code for fun, and I have more fun working on something that works exactly as I envision it rather than just joining another project. Someday I might learn how to make some real contributions to existing software, but I don’t think this idea of making a simple replacement for Google Keep will be my trampoline to working this way. Still, thank you for trying to push me to do it!


  • Oh yeah, both Joplin and NextCloud are great. I tried them both in the past. NextCloud is a bit bloated in my opinion though, I was hoping to go for something simpler both to install and to use.

    Most of us here on the Lemmy Selfhosted community are skilled enough to keep a computer running somewhere, expose it securely on the internet (or just LAN, if that’s good enough), and install their own services such as Joplin and NextCloud, but my goal would be to make something that you don’t need to self-host. If you can trust any server, you don’t need to host your own. I like the idea of building a network comprised of both self-hosting users, and “normal” users, like here on Lemmy.

    The federation may leave you wanting more and the collaboration might not be “real time” enough for you either, though. If you can build something better by all means go for it.

    I’m not sure I understand what you mean. Do you mean writing a protocol that supports federation is a very difficult thing to do? Actually my first draft didn’t include federation as that’s just too much for my skills. But I am considering adopting Matrix, and Matrix includes federation, so why not? They built real-time messaging with Matrix, so I would assume that should be real-time enough for document editing.