Thank you for Shortcat, I used it a long time ago and loved it. Excited to giv it another go!
685 karma · joined June 8, 2008
meet.hn/city/-22.9056391,-47.059564/Campinas
Socials: - github.com/fcoury
---
Thank you for Shortcat, I used it a long time ago and loved it. Excited to giv it another go!
I just love the idea behind them and want to support a Google alternative.
—
I translate the JSON-based query interface into the corresponding SQL statements, leveraging the excellent JSON support that PostgreSQL offers.
---
I had to Google the quote, but it goes like "those who don't learn from the past are bound to repeat it". I am not sure if there's a way around it or some level or repetition is obligatory for things to move forward.
Maybe it's like the saying that you can't really give out advice to someone, because your advice also comes with all your previous baggage. But on the other hand, that's how we learn and transmit our knowledge across generations right?
I think there's some sort of true in all those "feelings" but we also can't deny there are also incremental change that persist over time... Hard to say.
My pathway right after was Delphi as well.
After it “ended” I contributed a tiny bit to the Harbour project but I think it came a little too late.
Made me remember when my friend’s father got this spanking new PC XT and I was super excited to play with it, since I only had an MSX computer back home.
I started playing with all sorts of different commands and I remember I found this one called TREE.COM. I ran it and minutes after the computer took a crap.
I was desperate with his father confronting me asking if I had done something bad and after a lot of pressure I confessed I ran TREE.COM and he thought that is what killed the computer.
It was eventually reformatted and got back to operating fine but it took me YEARS to figure out the dreaded TREE.COM command had nothing to do with it :-)
Anyways thanks for sharing!
The company I worked for had this full ERP solution that had many modules, Finances being one if them.
I remember we had DBF and NTX files for indexes and you needed to run a reindexing procedure every morning before all the employees would start using the system.
Once we got a support call claiming one of the users of such module was freaking out because the system was falsely accusing her.
Upon asking for more details we found that the system would stop with the very particular message of “corruption detected” :)
The ultimate fix was to ask everybody to logout and run the reindexing procedure, as always. But this funny story always stuck with me.
I think it might be interesting to provide some examples without the need to upload a schema, since I assume most people playing with it won't have one ready right off the bat.
I have been wanting to dive deep into a Rust project and the challenge of implementing the MongoDB protocol and then translating it into some sort of SQL counterpart was the first thing that really clicked and got me excited enough to get me working on it nonstop for 3 weeks now.
Some backstory:
Quick intro video:
I have created a product that relies on MongoDB for a document store but doesn’t really need any of the distributed features to really justify having a hosted MongoDB or DocumentDB instance. Now that we’re trying to turn this into a product, we’re seeing that some companies have a little bit of resistance around managing yet another database. Most of our clients already have and manage PostgreSQL in one form or another. I knew that PostgreSQL already offered first class JSON support, but I didn’t want to rewrite the application data layer from scratch if I could avoid it. That’s when I started researching if there was a “proxy” that would translate the MongoDB protocol - that I was completely ignorant about - into PostgreSQL. To my surprise there was nothing ready for production use but I found MangoDB that later on became FerretDB. I delved into the code and was in love with the idea. The team around is really nice, but I found that they had greater ambitions - they basically wanted to offer multiple backends, namely Tigris, on top of PostgreSQL.
On the other hand, I have been waiting to find an excuse to delve deeply into the rust ecosystem but never really found something I was passionate about until I had the idea of challenging myself to see if I could learn about the protocol that MongoDB uses by relying on their public documentation and the hints I found on FerretDB.
Another thing I added to my toolbelt while developing this was about creating parsers. In order to transform MongoDB JSON to SQL queries, I ported an existing library from the MongoDB team from PEG.js to pest.rs!
It’s in very early stages, and it’s work from someone that is not yet super comfortable with the stack so keep in mind this is the beginning of a journey for me that I embarked out of pure joy on getting a tiny bit better on rust and making things click internally.
https://youtube.com/c/Mymatevince
Highly recommended!
Shameless plug: I have a YouTube channel exclusively for the hobby - https://www.youtube.com/MrKeebs