Skip Navigation

Posts
13
Comments
112
Joined
10 mo. ago

  • Hey! Well, aside from rotating multiple user agents, have a cheeky retry and having a "retry" button next to each engine I also heavily cache results so that for 12 hours the same query will give you the same results from cache. You can always invalidate cache from the settings.

    Another thing you can also do is add multiple proxy that rotate on each request, traffic goes through proxy urls and you don't get hit with rate limiting (again, proxy settings are in the settings tab - you can find free ones around).

    Searches happen asyncronously btw, which means if one engine hangs and fails the others will still return results quickly enough that clicking on the retry button shouldn't be that big of an issue. The biggest engine I have had issues with has been Ecosia, always hitting that pesky cloudflare anti bot page, but that's a third party extension engine, so it doesn't matter too much

    So far I haven't been rate limited by google yet, not gonna claim it won't happen as it probably will, it's the nature of the tool, but finger crossed so far so good.

  • ntfy.sh v2.18.0 was written by AI

    Jump
  • Yeah, I mean, with or without AI, I've always only had a big pull request for releases, from a stable release branch into the main branch, the release branch would be a merge of various branches or just be worked on directly on various stages.

    One big pull request doesn't really mean anything.

  • I keep getting results in different languages, a lot of my engines get rejected, it's quite slow at times and building extensions for it is fairly complex. They also recently restructured their own codebase, which means most of my customisation didn't work anymore, which is when I decided to build my own instead of re-making all the customisations from scratch.

    This is again very personal issues and specific to my use case frankly, and it could be that I wasn't doing customisations right, but the way my brain works is to make something from scratch and learn the ins and out of it, so I just went for it.

    I guess it also is styled more to my linking (plus theming is very extensive) and I wanted to create something that slots things in if wanted (see tmdb above results and rss on the homepage)

  • Aw! Thank you so much!!! Been loving shopping with Jotty since I built it ngl hahaha

  • Nice!

    The only drawback I have had for heavily customising it is that it's now not compatible with the latest versions, unfortunately they've re-structured their codebase and I frankly don't have the time to re-do all my hard work, so I've been running a very old (but extremely stable) version of it lol

  • the wife is so not interested

    So relatable... haha

    Thanks so much for you work and rest assured amongst the negativity you may receive in certain corners of the web, there are people truly appreciative of yours, and others like you, hard work.

    Thank YOU! I am so glad you found Jotty useful and resonated with it!

  • If you end up installing it, give my theme a go, it's part of the official ones, just search for es-theme-animetaverse ♥️

  • Well that specific system could emulate all the way up to ps2, plenty of fun to be had lol I'm sure every single arcade system can be emulated with no issues, may struggle a bit with game cube/wii

    Obviously.. make sure you only use original copies of your own videogames.. you wouldn't steal a car would you

  • Thank you :) and that's still extremely valuable and please feel free to contribute if you feel like it!

    I am a "fix it forward" kinda person, worked for a decade in digital agencies and even tho I now work as a tech lead in a slow-ish software engineering company I still have that hectic mentality/background, hard to shake it off you know hahaha

    And yeah, I have two kids under 4, so I totally get the whole time consuming part, if it weren't for my peculiar situation I don't think I'd get as much done as I do now not gonna lie. AI also helps speed things up, for example I added translation support to Jotty and having Claude tackle half the code base string replacement while I was doing the other half felt like having an intern!!

  • Actually that was a conscious choice! I initially went for MIT on them as they were small little apps I used withing my house with my wife, but as they grew I decided I wanted to truly protect the open source nature of them

    Reading a bit into licensing I learned that with agplv3 projects can be copied/taken without credits/do anything people want with it, just like MIT/gplv3, however they MUST stay open source.

    Which means no greedy corporation can steal my code, improve upon it, close source it and pay wall features :) they can still do all that, but code must always be open source haha

    p.s. I'm fairly ignorant on the matter too, I just searched the licensing that was most likely to make sure my projects stay open source and went for it ♥️

  • Thank you! Hopefully it resonates with you ♥️

  • Ha! I kept busy indeed. I am a full time software engineer, so I have a full time job on top of that, yeah.

    Aside from the obvious "I work fast", I had a lot of free evening time this year, won't get too into it but my child spends a lot of time in hospital. These were a great escape for me (and coding is my hobby, so I mostly do that rather than playing video games or watching TV you know)

  • Hey! Give jotty.page a try <3 totally free and selfhostable

    There's a small bug on mobile where the status changes z-index is going behind the next element but it's already fixed and will be deployed with the next minor release 💜

    I haven't made an app as i'm not an app developer and I don't want to vibe code it, but there is full pwa support and it's very well maintained, you can try a demo on demo.jotty.page

    I’m looking for a self hosted Kanban board where we as a exteded family can track things which have to be done. Since my parents are getting older and me and my siblings live all in different countries there is more and more to do to help our parents. But it’s difficult to keep track who is doing what and what status things are and we’re forgetting to do things, etc.

  • Hey, I know you got a ton of replies but yeah, been using searXNG with a custom theme made by me and it's basically identical to google (including the feeling lucky part lol)

    Used it for months and it's awesome, haven't missed google at all.

    The amazing thing about it is that with an instance of meilisearch I was able to index all my media libraries/book libraries/game libraries and searching for !home <query> actually sarches within my home lab, which is a huge win for me.

    Hope this helps give you an idea of how powerful this can be <3

  • Thank YOU for such a lovely message <3

    It's tough, I get downvoted to hell on reddit whenever I try and propose anything I built, not sure if they think I'm selling something or they just plain hate it, so I really really appreciate messages like this!

  • As of version 1.14.3 I have also introduced XChaCha20 encryption (used as default)

    This was extremely easy to implement, not gonna lie, bit of research brought me here https://www.npmjs.com/package/libsodium-wrappers-sumo and from there on it was as simple as doing the UI (which is just a bunch of re-usable components, spent way too much time making sure everything is re-usable).

    Now users (and I) can decide which encryption type to use in which situation, win-win i'd say, thank you for pushing me into doing this, it actually makes the whole experience 100x better and you were right in the sense that for a note taking app, a passphrase is just about enough.

  • This is all actually very good feedback and a lot to take in and think about, I have no problems in admitting that something can be done in a better way and go back to the drawing board, I'll admit, I don't have much experience with neither of the methods you suggested, but a quick Google showed me a world of learning, so I have a lot of reading to do ♥️

    P.s. I did read everything that was linked by u/litchralee btw and it was a very good read indeed

    Now, onto the why I went for asymmetric encryption is due to the nature of the notes being files on a system rather than stored in a database, my thinking process being "I can use whatever public key I need for whatever note and decrypt them using the right private key at a later time.

    Regarding the sharing, you can indeed share encrypted notes... my thinking was "you give me a public key, I use it to encrypt the note, share it with you - privately or publicly - and you can use your private key to decrypt it". Which is why there's always an option to encrypt with a different public key than the one stored for yourself, I was imagining it just like encrypted emails work frankly. I may have gone a bit too much for overkill lol

    I'll see to implement additional encryption methods, if anything I'm all for choice and letting people decide what to use. There's also the very selfish answer to your question btw being that... I like PGP and I made jotty mainly for myself hahahaa

    Edit

    Sorry forgot to address the signing feedback, you are correct, I am not letting user sign when encrypting, I made a judgement call in favour of user experience, I will be adding an optional checkbox to sign it with passphrase and custom/stored private key when using pgp and look into implementing alternative encryption methods, if anything this conversation got me all excited to code more lol

    https://github.com/fccview/jotty/issues/265 ♥️

  • Hi! These are all very valid questions!

    The protection boils down to your level of comfort, really, the way I built this is very modular, you can

    • Simply generate a key pair by clicking on a simple button (for non power users)
    • Import your own keys (if you feel comfortable enough to do it)
    • Or simply encrypt with a public key and use your private key when prompted for decryption, this way keys are never stored on the server and all operations happen offline on the browser :)

    When exporting notes, if one is encrypted it'll stay encrypted, of course.

    Lastly, the simple answer is because I know the tech fairly well and understand it enough to comfortably implement it, I wouldn't want to half ass something, PGP is an extremely valid form of encryption anyway, and can be very user friendly when implemented properly (as explained above there's various levels of complexity in place)

    Very valid feedback, makes me wonder if I should give people multiple choices of encryption algorithms in future updates ♥️