oxide
sharpliner
oxide | sharpliner | |
---|---|---|
9 | 15 | |
276 | 282 | |
- | 1.1% | |
0.0 | 7.1 | |
over 1 year ago | 2 days ago | |
Rust | C# | |
Apache License 2.0 | MIT License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
oxide
-
SQLite Functions for Working with JSON
Sorry about that, it's just a shortcut for https://github.com/fcoury/oxide.
- Ask HN: What are your “scratch own itch” projects?
- Looking for paid advanced Rust tutoring
- OxideDB - Teach your PostgreSQL database how to speak MongoDB Wire Protocol.
- Show HN: OxideDB – Teach PostgreSQL Database How to Speak MongoDB Wire Protocol
-
Ask HN: What Are You Working On? (August 2022)
Mostly on MongoDB to PostgreSQL translation server: http://oxidedb.com or https://demo.oxidedb.com.
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:
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.
- OxideDB – Teach PostgreSQL Database How to Speak MongoDB Wire Protocol
sharpliner
-
Ask HN: What are your “scratch own itch” projects?
I didn't appreciate developing Azure Pipelines in YAML so I've created a library that lets you use C# instead.
Aside the apparent advantages of the strong typed environment, I was able to bake in many more features that make your life easier. Code reuse is also super easy.
https://github.com/sharpliner/sharpliner
-
Pipeline task scripts - inline vs file path?
I use a library called Sharpliner (https://github.com/sharpliner/sharpliner) which lets you use C# instead of YAML. It has features around sourcing scripts that you might appreciate - it can take scripts from embedded resources and inline them in the YAML which gives you best of the both worlds:
- Best way to learn YAML for Azure Pipelines?
-
Devs don’t want to do ops
Second, you might be into this: https://github.com/sharpliner/sharpliner
- Sharpliner - Use C# instead of YAML to define your Azure DevOps pipelines
-
Sharpliner: Use C# Instead of YAML to Define Your Azure DevOps Pipelines
For some of the problems you mention (variable contexts), there are some things that can be done (e.g. https://github.com/sharpliner/sharpliner/issues/125).
- New to YAML and AzDevOps - Advice on writing tests and pipelines using YAML?
-
CI / CD in YAML
In case you're just starting with YAML pipelines and you are using C# (which it seems you do), you can have a look at Sharpliner (https://github.com/sharpliner/sharpliner) which lets you use C# for pipelines. Sharpliner contains some useful shortcuts/macros such as If.IsPullRequest or If.IsBranch("main"), potentially If.And(IsPullRequest, IsBranch("main")) which makes this more readable and easy to use.
- Monthly 'Shameless Self Promotion' thread - 2022/03
-
Sharpliner - Use C# instead of YAML to define pipelines
I did sort of explore this possibility here: https://github.com/sharpliner/sharpliner/issues/7
What are some alternatives?
rmkit - | remarkable app framework | https://rmkit.dev
azure-devops-dotnet-samples - .NET/C# samples for integrating with Azure DevOps Services and Azure DevOps Server
skeleton - A fully featured UI toolkit for Svelte + Tailwind. [Moved to: https://github.com/skeletonlabs/skeleton]
FeedTheMonkey - Desktop client for the TinyTinyRSS feed reader.
PicoPico - Pico-8 Player
gatus - ⛑ Automated developer-oriented status page
pyroscope-rs - Pyroscope Profiler for Rust. Profile your Rust applications.
changedetection.io - The best and simplest free open source web page change detection, website watcher, restock monitor and notification service. Restock Monitor, change detection. Designed for simplicity - Simply monitor which websites had a text change for free. Free Open source web page change detection, Website defacement monitoring, Price change notification
reframe - LeapTable 🦘- The fastest way to build, deploy, and manage LLM-powered agents on tabular data (dataframes, SQL tables and Spreadsheets). [Moved to: https://github.com/peterwnjenga/leaptable]
glacier_deep_archive_backup - Extremely low cost, off-site backup/restore using AWS S3 Glacier Deep Archive
txtai - 💡 All-in-one open-source embeddings database for semantic search, LLM orchestration and language model workflows
Spodcast - Spodcast is a caching Spotify podcast to RSS proxy. Using Spodcast you can follow Spotify-hosted netcasts/podcasts using any player which supports RSS, thus enabling the use of older hardware which is not compatible with the Spotify (web) app.