• Coldus12@reddthat.com
    link
    fedilink
    English
    arrow-up
    58
    arrow-down
    3
    ·
    10 months ago

    This seems interesting, and I might try it.

    But… I’m kind of sick of web applicatioms. Why does everything need to be a web application or a “not” web app using electron. (In this case I see the use case and reason, but in general)

    • zef@lemmy.worldOP
      link
      fedilink
      English
      arrow-up
      108
      arrow-down
      2
      ·
      10 months ago

      I can’t speak to the general case, but let me answer why I picked the web app route in this particular case.

      This was/is my reality:

      1. I want access to my space from my laptop (mac), phone (iPhone) and tablet (iPad) and browny points for my Boox e-reader (Android) and even more browny points for just having access from any random computer in the world (with a web browser)
      2. I have a full-time job, and this would just be a hobby project
      3. I have been doing (or been involved in) web development for 25 years

      What are my options? I could go native and develop this either as a native iOS app and Mac app, and then do an Android app because why not. This is hypothetically possible, but would mean that 2 years in I’d probably not be anywhere near the functionality that SB has today.

      I could go with a cross-platform stack like react-native or Flutter. This would have been an option, I suppose, but neither of those stacks I fully trust in terms of long-term viability yet. And RN is not really built for desktop apps.

      Another part of the reality: CodeMirror exists (https://codemirror.net/). This is an amazing piece of engineering that took years to build, it’s a pretty amazing code editor that is very extensible and… it’s a web thing. Having to implement this natively would likely literally take me years.

      So I decided on the web app approach. I’ve had native wrappers (Electron and one for mobile apps) along the way, but ultimately removed them because they take too much time to maintain and test, and I’m just a one person army with a few hours available here and there. PWA support is pretty nice these days and gives you a reasonable experience at a reasonable development cost. It’s a good trade off.

      Would I make different choices given infinite time and resources? Absolutely, but you know… reality.

      This is my story and it doesn’t apply to everybody, but likely other projects have similar reasons.

    • SayCyberOnceMore@feddit.uk
      link
      fedilink
      English
      arrow-up
      9
      arrow-down
      3
      ·
      10 months ago

      Generally, user interfaces are hard work. If you just want to code, then having a web app means you’re already 50% done.

      Actually should be 90% done, but each browser has differences which means more coding… I’m looking at you, Internet Explorer

      • bluGill@kbin.social
        link
        fedilink
        arrow-up
        6
        arrow-down
        3
        ·
        10 months ago

        mobiles and desktops are very diffrerent and need different user incerfaces. So you are not savin, much work. In fact trying to handle both in on may be worse because of all the special cases. Be glad you don’t have to support teletypes, they demand different user interfaces.

    • Gutless2615@ttrpg.network
      link
      fedilink
      English
      arrow-up
      5
      ·
      edit-2
      10 months ago

      Idk I’m loving what I’m seeing because as an Obsidian evangelist that’s paid for Sync for years, basically all I want that obsidian doesn’t have is self hosting and FOSS. I have most of my daily apps self hosted and accessible as web apps, not needing to get out of the browser and able to more easily jump between devices would be great.

      • med@sh.itjust.works
        link
        fedilink
        English
        arrow-up
        3
        ·
        10 months ago

        So I’ve implemented Obsidian Git, and it works really well. The only trouble I’ve had is on iOS (I’ve got m it on android, fedora, debian and windows) where it’s bot supporting merge changes.

        I’m considering moving to logseq and implementing the same.

        The other alternative to self hosting is ‘SyncThing’. After I introduced my dad to obsidian, I saw how he did his synchronization with it, and it looks like a lot less overhead - fairly compelling

        Happy to share some notes on my setup and his if you like

        • tlf@feddit.de
          link
          fedilink
          English
          arrow-up
          2
          ·
          10 months ago

          I use SyncThing with obsidian on Android, window and linux and can confirm. Setting it up is straight forward my only issue is that it doesn’t merge files. If a file is edited on two devices that can’t be synced (one is offline while the other one edits the file for example) it turns the older edit of the file into a copy and takes the newer version for both devices. Depending on your use case it could not be an issue for you at all though.

      • SchizoDenji@lemm.ee
        link
        fedilink
        English
        arrow-up
        6
        ·
        10 months ago

        If you’re using it on the host device, web apps make zero sense. But web apps provide the flexibility of using it with any device.

        • Ricky Rigatoni@lemm.ee
          link
          fedilink
          English
          arrow-up
          1
          ·
          10 months ago

          You can use a regular program on any device if you save your workspaces and configs on a NAS or any number of file synchronization systems.

  • z00s@lemmy.world
    link
    fedilink
    English
    arrow-up
    46
    arrow-down
    2
    ·
    edit-2
    10 months ago

    What’s a “hacker mindset” and why do you need one to use this app?

    Update: The homepage explains “hacker mindset” by linking to the wiki article for hacker lol

      • Big P@feddit.uk
        link
        fedilink
        English
        arrow-up
        28
        arrow-down
        1
        ·
        10 months ago

        That’s what the word “for” implies in the title

        • calcopiritus@lemmy.world
          link
          fedilink
          English
          arrow-up
          5
          arrow-down
          7
          ·
          10 months ago

          Well, that implies that it is made with that community in mind, not that everyone in that community needs it.

    • zef@lemmy.worldOP
      link
      fedilink
      English
      arrow-up
      78
      ·
      10 months ago

      Well I have for the last two years, but I’m biased because I wrote it 🤓

    • conrad82@lemmy.world
      link
      fedilink
      English
      arrow-up
      11
      ·
      10 months ago

      Yes, I have used it for many months. It has been the best solution for my use case for a while. Which is tasks, shopping, planning (trips, …), recipes, and a simple knowledgebase. It was the offline support that set it apart from some other solutions

      I have the files in a syncthing folder, so I can access the files without running silverbullet

      My biggest problem is keeping up with all the changes. Zef made some youtube videos that are helpful

    • prcrst@lemmy.world
      link
      fedilink
      English
      arrow-up
      5
      ·
      10 months ago

      I use it and love it. Having the metadata (tags, dates, …) of your pages available to query and organize is awesome. I also love the tagged tasks feature.

    • Discover5164@lemm.ee
      link
      fedilink
      English
      arrow-up
      3
      ·
      edit-2
      10 months ago

      i’m using it at work to take notes and write documentation.

      i think it’s a fantastic app.

      i have it as a pwa and have at least one silverbullet for each desktop.

      i have ~100 notes perfectly organized in silverbullet!

      the only things i would change is compatability with other tools. there is no way to export to PDF, if you nees to convert the note to docx you need to copy paste everything.

  • fathog@lemmy.world
    link
    fedilink
    English
    arrow-up
    7
    ·
    10 months ago

    Wow, this is super cool - saving this for when I finally spruce up my old desktop for a home server. You’re a talented person mate

  • genie@lemmy.world
    link
    fedilink
    English
    arrow-up
    7
    ·
    10 months ago

    With the rise of these .md based personal knowledge database applications it would be amazing to see some conversion software.

    I understand that each has their special sauce. Does anyone know what would be the most difficult part about building a tool like that to copy in Logseq data to SB for example?

    • Muehe@lemmy.ml
      link
      fedilink
      English
      arrow-up
      3
      ·
      10 months ago

      pandoc.org is probably what you are looking for, but you might have to create a custom reader/writer or find one on the internet.

      • genie@lemmy.world
        link
        fedilink
        English
        arrow-up
        2
        ·
        10 months ago

        Oh cool! I didn’t realize pandoc was extensible enough to deal with this kind of conversion. I’ll give it a look!

  • Ohh@lemmy.ml
    link
    fedilink
    English
    arrow-up
    5
    ·
    10 months ago

    Looks really kool. Reminds me of tiddlywiki but yet totally different. The authentication is very briefly touched upon. What kind of auth is it? Maybe more robust to just use http auth via caddy?

    • zef@lemmy.worldOP
      link
      fedilink
      English
      arrow-up
      17
      ·
      10 months ago

      I have not used Joplin, but did write a few high-level thoughts on comparing it to Obsidian and Logseq elsewhere which I’ll just copy and paste here:

      I have not used Obsidian nor Logseq as much as I’ve used (or developed) SilverBullet. However here are a few headliners, but the main difference may well be that in SB I’m really assuming that the target audience is technical enough not to be scared by the idea of writing a query, or creating a template.

      A few differences with Obsidian: it’s fully open source and it’s a web app that you self host. It’s still markdown files on disk, but that disk is located on your server and they’re accessible from anywhere you have access to that server without having to do convoluted things like setting up (or buy) sync services (like you do have to for both Obsidian and LogSeq).

      Obsidian tends to solve everything with plugins, whereas SB has more batteries included (although technically much of this is implemented as plugins that ship with SB itself) specifically: powerful indexing, querying and template support. Obsidian has Dataview and Templater, and some other plugins I think, but they’re developed by a third party.

      Another difference difference would be UI minimalism. The number of panes and tabs in Obsidian dizzies me, although I know you can fold or hide all of them. In SB it’s minimal by default.

      Compared to LogSeq: logseq is an outliner. You can do outlines in SilverBullet (and I do, a lot, there’s some nice shortcuts for this too: https://silverbullet.md/Outlines). However, SB is more of a wiki than an outliner. You don’t have to write everything in bulleted lists. To me this is important, because I also write my blog posts and other articles in SilverBullet and doing that in an outline is somewhat awkward.

      But to be clear: Obsidian and Logseq are both great, and they’re more mature. They’ve been around longer and have bigger communities (so far). Try them out and see what you like.

    • /dev/zero@infosec.exchange
      link
      fedilink
      arrow-up
      3
      ·
      10 months ago

      @ndsvw @zef

      I’ve used Joplin, logseq, and Obsidian and I’ve switched to this. It’s great for self hosting at home and using at work without having to install apps or applications. I enjoy that it is truly open source and the interface is much cleaner than Joplin and the files on disk are actually more readable unlike Joplin. I love how programmable it is.

      • ⚡⚡⚡@feddit.de
        link
        fedilink
        English
        arrow-up
        1
        ·
        10 months ago

        Thanks. Readable files sounds interesting.

        Maybe, I’ll give it a shot in the future…

        For now, Joplin is working fine and there is no scandal yet that makes me move away from it…

        Disadvantages I’m seeing at the moment if I switched over to Silverbullet:

        • Yes, it’s super portable because it’s running in the web browser, but if I have 3 devices and hosted SilverBullet on a 4th device, that device needs to be online all the time to access my notes, right? With Joplin, this is different. I can use Joplin on 3 devices and once a month, I can turn on the device that hosts Joplin Cloud and everything syncs. Making notes when being offline (e.g. at work) when there is no connection to the SilverBullet server seems to be impossible, too, right? Or can the PWA handle this scenario better than I think?
        • Joplin has a wunderful feature on Android for tablet: You can draw with your pen on your note and it will be embedded as an image in the markdown. This makes Joplin the Nr. 1 for me at the moment.
        • zef@lemmy.worldOP
          link
          fedilink
          English
          arrow-up
          1
          ·
          10 months ago

          Only the server needs to be online to have access to all your notes.

  • Gutless2615@ttrpg.network
    link
    fedilink
    English
    arrow-up
    5
    ·
    10 months ago

    Okay this is looking great. Spun up the docker container though and it’s a preeeeetty steep learning curve. Any suggestions on how I could move my obsidian vault into my silverbullet space?

    • Kayn@dormi.zone
      link
      fedilink
      English
      arrow-up
      5
      ·
      10 months ago

      Since both services store your notes as markdown files on your disk, you can just move your files over. When spinning up a docker container, you likely defined a path for your SilverBullet space. If not, try creating a note and see if you can find it on your disk.

  • nooeh@lemmy.world
    link
    fedilink
    English
    arrow-up
    4
    ·
    10 months ago

    Don’t all users of self-hosted personal knowledge management systems have a hacker mindset?

  • ⚡⚡⚡@feddit.de
    link
    fedilink
    English
    arrow-up
    3
    ·
    10 months ago

    I’m curious (serious question): Are there any standards that have been developed during the last years, e.g. how to link a different page, the syntax of the tagging or similar or are all the note taking apps doing their own thing and nothing is compatible with each other?

    • tlf@feddit.de
      link
      fedilink
      English
      arrow-up
      9
      ·
      10 months ago

      As far as I understand Markdown is a syntax standard used for that kind of note taking or article writing

  • Nibodhika@lemmy.world
    link
    fedilink
    English
    arrow-up
    3
    ·
    10 months ago

    This looks awesome and exactly what I have been looking for.

    One question about implementation just out of curiosity, is there any database? I’m worried that when it gets to hundreds or thousands of pages querying things becomes slow if it’s just scanning files.

    • zef@lemmy.worldOP
      link
      fedilink
      English
      arrow-up
      5
      ·
      10 months ago

      Yes, it’s using SQLite under the hood in Online mode and IndexedDB in the browser in Sync mode.

      • Nibodhika@lemmy.world
        link
        fedilink
        English
        arrow-up
        1
        ·
        10 months ago

        SQLite should be more than enough, I can’t find the file on the space folder though, is it created inside the docker container on server startup? Is there a reason not to store it in space so it doesn’t need to be regenerated each time?

        • zef@lemmy.worldOP
          link
          fedilink
          English
          arrow-up
          2
          ·
          10 months ago

          It’s .silverbullet.db in the root of your space folder. Note that because there’s no schemas in SB, SQLite is used as a fancy key-value store and many queries become somewhat (but not very) optimized table scans. In this SQLite file you’ll see a “kv” table that contains everything.

          • Nibodhika@lemmy.world
            link
            fedilink
            English
            arrow-up
            1
            ·
            10 months ago

            I feel like facepalming myself to death for having asked such a stupid question before running an ls -a on the folder.

            One last question, I’ve been reading on Plugs because there’s one thing that I use regularly that I think doesn’t exist and want to know if it would be possible for me to implement, it’s called plantuml. Essentially it’s a plug that would act on a specific block of code, like the latex one, and would use POST the code to a configurable url, get an image as return and display that instead.

            • zef@lemmy.worldOP
              link
              fedilink
              English
              arrow-up
              1
              ·
              10 months ago

              Yes this is doable, with the caveat that I have not invested a lot of time in documenting all the plug APIs etc. You can have a look at the mermaid plug to get a sense of how this can be done, it will be similar except that you — indeed — may end up having to post something to a URL somewhere rather than render the thing on-the-fly with a JavaScript library you load externally: https://github.com/silverbulletmd/silverbullet-mermaid

              • Nibodhika@lemmy.world
                link
                fedilink
                English
                arrow-up
                1
                ·
                10 months ago

                Actually mermaid seems to be able to do all I’m doing with plantuml and syntax is very similar, might give that a try before since that one would also work in offline mode.

    • zef@lemmy.worldOP
      link
      fedilink
      English
      arrow-up
      4
      arrow-down
      1
      ·
      10 months ago

      That said, I have not tested this with hundreds of thousands of notes (I have close to a thousand myself). No performance issues there, but…

      • Nibodhika@lemmy.world
        link
        fedilink
        English
        arrow-up
        2
        ·
        10 months ago

        I said hundreds or thousands, I don’t expect to be creating hundreds of thousands of pages, but from your reply on the other thread SQLite should be more than capable of handling this scale.

        Nice knowing that you have close to a thousand and it’s still fine. It will take me a long time to get to that amount of pages, but if I can get started with this it seems like an awesome way of storing knowledge bases, so I expect it will grow quite rapidly as I migrate all of my different things into it.

  • sepi@piefed.social
    link
    fedilink
    arrow-up
    2
    ·
    10 months ago

    I had been using logseq before. This is great running on one of my rpi4b’s. Thanks!

  • sailingbythelee@lemmy.world
    link
    fedilink
    English
    arrow-up
    2
    ·
    10 months ago

    I clicked on the link to “installation instructions” on your home page in a couple of different places and got the error “e.split is not a function”.

  • Qu4ndo@discuss.tchncs.de
    link
    fedilink
    English
    arrow-up
    2
    ·
    10 months ago

    Nice notetaking app with powerful features!

    Main question for me: Can you export plain markdown from the application (or Docker Volume) or is everything only accessible through the application?

    I don’t want to manually export my stuff if I want to switch note application sometime in the future

    • zef@lemmy.worldOP
      link
      fedilink
      English
      arrow-up
      10
      ·
      10 months ago

      All files are kept on disk as “plain” markdown files. I say “plain” with quotes because SilverBullet does support some non-standard markdown notations. But in essence, like logseq and obsidian: it’s a folder with text files under the hood.