What use case are you trying to solve? Do you need a relational database? Do you want to self host or rely on another service/company to manage it for you?
There’s so many questions to answer before a recommendation can be made.
What use case are you trying to solve? Do you need a relational database? Do you want to self host or rely on another service/company to manage it for you?
There’s so many questions to answer before a recommendation can be made.
The 404 should just say the same message as “acronym not found”. It just means the first 4 letters didn’t match a file on the backend; I didn’t enumerate all the blank json for A-Z*4.
Yeah, but it doesn't translate to the site. That's what I'm trying to say :) Your catch above doesn't distinguish between 404 or anything else (5xxx) and displays An error occurred while processing your request. Please try again later for all eventualities. So, regardless whether the acronym wasn't found or there was a genuine server error, the same error message is displayed.
It was a really challenging project to process all the data. As with most large datasets, there are tons of pain points. Like 60% of the time spent was parsing out the song name from the janky first line of metadata. Some pain I dealt with over the project off the top of my head:
I honestly have no idea what you had to drag it all out from, but it looks well implemented from the small amount I played around with it. I've never used Firebase, but it looks like you got it working so that's a good job too.
It's probably just my old man brain that saw you were doing this all with files and it felt odd. That's not to say it's wrong, it's just different to what I would have done.
There's a bunch of advantages to databases, like indexes and partial/fuzzy text matching - but I can certainly understand why you went this route if you needed to keep costs down and didn't want to bother with any DB maintenance.
Well done :)
Yeah, that error message is left over from an earlier version where I sharded by acronym length instead. At that time, there would always be a file. The problem was the files were getting to be huge at the 50 character length (20MB) and performance went to shit on poor mobile connections. So I refactored to shard by first 4, and files dropped down to a few K each and became a lot snappier.
I don't think that's necessarily true. I just tried a random string, and I got the correct 404 response back, but it doesn't look like the app handles that case and it just prints that error on any error.
.catch(error => {
console.error("Error fetching or processing the JSON file:", error);
displayError("An error occurred while processing your request. Please try again later.", tableBody);
});
Anyway, I wasn't trying to shit on it. Good job :)
It doesn’t say you only breathe once every two minutes, though.
You just reset the timer more frequently than once every two minutes. It doesn’t change the fact you only have two minutes from each breath.
Right. I personally struggle with a lot of the “terms” these days - not because I think they are wrong, only because I don’t always understand what they mean.
On Reddit, when I saw them used, I would ask for clarification and I’d learn something.
Being dismissive to people trying to learn isn’t going to bring them into the ally space.
I'm not interested in promoting or advertising. The vast majority of my tweets where just sharing random things I came across while working, or reminders when I encounter gotchas (e.g. slices as function parameters in Go).
Being completely honest, not overly interested in meeting people either. I'll give it a few months and see how it goes :)
Awesome, thanks! That's really helpful.
Makes sense, thanks.
Having a homelab myself and running quite a few services I’m still so iffy on allowing anything out on the wider web in such a public way.
Yeah, this would be the first that would be so openly accessible (I do host other things but they are severely locked down). That's why, if I do it, I'll create another VLAN, with zero access to my network/other VLANs.
That's why I was asking about disk space, as I wouldn't connect it to my NAS. If I do it, I'll probably do it on dedicated hardware with it's own drive.
Ah ok, that makes sense. Thanks, appreciate it.
No worries! It was just an instance of Lemmy (same way that lemmy.world and lemmy.ml are different instances).
Rather than rely on someone else, I am thinking of just spinning up my own as I already have a home lab / know how to look after stuff etc etc
https://www.visionexpress.com/eye-health/how-to-clean-your-glasses seems to point to fingers, dry with a lint free cloth?