synth
cue
synth | cue | |
---|---|---|
14 | 28 | |
901 | 3,181 | |
- | - | |
8.1 | 9.1 | |
over 1 year ago | almost 3 years ago | |
Rust | Go | |
Apache License 2.0 | Apache License 2.0 |
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.
synth
- Synth: A tool for generating realistic data using a declarative data model
-
Ask HN: Freelancer? Seeking freelancer? (October 2021)
SEEKING FREELANCER | London | Remote
Synth (YC S20) [1] is an open source declarative data generator written 100% in Rust.
We are looking for someone with prior experience writing Rust in production for a 1-to-3 months contract to work with us on our core open-source project.
- Proven experience writing production Rust code, preferably in a large code base
- Knowledge of PostgreSQL at a level sufficient to design and build reliable integration
- Strong knowledge of data structures and algorithms
- Track record of contribution to open-source projects, preferably on GitHub
- Ability to work quickly and rigorously in a fully remote setting
If that sounds interesting, we want to talk to you! Shoot me an email at damien [at] getsynth.com!
[1]: https://github.com/getsynth/synth
-
Ask HN: Who is hiring? (October 2021)
Synth | Rust Software Engineer | Full Time or Part Time | London | Onsite(London)/Remote
About us: Synth is an open source declarative data generator (https://github.com/getsynth/synth). We are building Synth with the intention of solving, once and for all, the problem of generating realistic data for testing - helping big companies and small developers avoid the use of production data in testing.
Our mission is to build amazing developer tools that solve data privacy without forcing users to compromise on productivity. We have a few exciting products in our pipeline and we're backed by YCombinator and other great investors. We're based in London and building a remote-friendly culture.
We work exclusively on open source software. This is great because our community is not confined to just our core team and the users, but also includes our contributors - we believe it is way more fun this way.
We're using Rust for our main line of products - and what we would like to see ideally is:
* You have some experience with Rust that has connected you with at least one of: asynchronous I/O, meta-programming or common patterns for concurrency. Having been involved in an open-source Rust project is a bonus!
-
Creating students dataset random data
Take a look at this rust library (which works very well with python modules which generate data in certain formats): https://github.com/getsynth/synth
-
What's everyone working on this week (29/2021)?
Putting the finishing touches on a procedural macro to bind Rust code to koto we want to use in synth. Also a blog post about it is on the way.
-
What's everyone working on this week (28/2021)?
I'm working on synth https://github.com/getsynth/synth . Also working on a personal project, implementing the tcp protocol in Rust for the fun of it.
-
Are you using Rust at work? If yes, for what?
We use Rust to build synth, the open source declarative data generator.
-
Tired of creating test data by hand, we've built an open source data generator
Hey HN! We're Synth - a bunch of engineers out of Europe building tooling for developers. We're very excited about what we're working on and wanted to share it with the community.
We've been quite frustrated with the status quo of test data generation - after speaking to tons of other devs we've realised that many people are struggling when it comes to generating realistic looking test data.
Also, where people don’t want to copy sensitive production data to testing environments, data obfuscation can be a huge time-sink.
Enter Synth: a declarative data generator (see our website: https://getsynth.com/, github: https://github.com/getsynth/synth)
Synth enables devs and dev teams to have their application data models as code (basically a hierarchy of files) in their repos. These files can then be used to generate data for a local dev environment, automated testing in CI or even for sharing across organisations. The parameters of generation can also be tweaked to push the data model to its limits for QA, and even scaled for load testing / performance testing.
We're now working on taking the next step, and building a DSL around Synth. The Synth DSL will enable users to concisely define what data should look like and get going.
We're open source and written 100% in Rust. We believe that by making test data be as easy as using production data, we can improve the security and privacy for all of us. We'd love to get more early users as the initial feedback is positive but limited.
Thank you and looking forward to any feedback / ideas about how we can build a better tool for you!
P.S. Synth [launched on HN a while back](https://news.ycombinator.com/item?id=24198114) as an ML solution to create realistic (and safe) copies of your sensitive production data as a service. This approach quickly hit several limitations which couldn't address the use-cases we are trying to solve, happy to go into more details on this if anyone is interested.
-
What's everyone working on this week (23/2021)?
I'm currently trying to improve the vtable dispatch in koto (because I want to use it in synth).
-
Are you happy after changing to a Rust job?
Luckily, not all Rust jobs are crypto jobs. I'm in my third Rust job working on synth right now and am 100% happy with it.
cue
- The Perfect Configuration Format? Try TypeScript
- YAML: It's Time to Move On
-
Ask HN: What you up to? (Who doesn't want to be hired?)
I'm continuing to work on https://concise-encoding.org which is a new security-conscious ad-hoc encoding format to replace JSON/XML and friends. I've been at it for 3 years so far and am close to a release.
In a nutshell:
- Edit in text, transmit in binary. One can be seamlessly converted to the other, but binary is far more efficient for processing, storage and transmission, while text is better for humans to read and edit (which happens far less often than the other things).
- Secure by design: Everything is tightly specced and accounted for so that there aren't differences between implementations that can be exploited to compromise your system. https://github.com/kstenerud/concise-encoding/blob/master/ce...
- Real type support because coercing everything into strings sucks (and is another security risk and source of incompatibilities).
XML had a good run but was replaced by JSON which was a big improvement. JSON also had a good run but it's time for it to retire now that the landscape has changed even further: Security and efficiency are the desires of today, and JSON provides neither.
I've got the spec nailed down and can finally see the light at the end of the tunnel for the reference implementation in golang. I still need to come up with a system for schemas, but I'm hoping that https://cuelang.org will fit the bill.
-
No YAML
Has anyone taken a look at Cue who can share any experiences?
https://cuelang.org/
It's mentioned on the site as an alternative to Yaml. Recently watched (~half of) this intro to it: https://youtu.be/fR_yApIf6jU
- Ask HN: Is there a good way to run integration tests on Kubernetes?
-
Cue: A new language for data validation
the most interesting summary explanation of cue lang and its differences is from a bug filing - https://github.com/cuelang/cue/issues/33
>CUE is a bit different from the languages used in linguistics and more tailored to the general configuration issue as we've seen it at Google. But under the hood it adheres strictly to the concepts and principles of these approaches and we have been careful not to make the same mistakes made in BCL (which then were copied in all its offshoots). It also means that CUE can benefit from 30 years of research on this topic. For instance, under the hood, CUE uses a first-order unification algorithm, allowing us to build template extractors based on anti-unification (see issue #7 and #15), something that is not very meaningful or even possible with languages like BCL and Jsonnet.
-
CMake proposal: Unified way of describing dependencies of a project
I agree with you. Personally, I think Cue is much better than either YAML, TOML or JSON because it adds the concept of types to the idea of describing configuration.
-
Cloud Infrastructure as SQL
true, but the tooling and workflow remains the same.
Not sure of any tool that could abstract the details sufficiently to be widely adopted. There is just too much nuance in cloud config.
I'm exploring using CUE (https://cuelang.org) to define TF resources, exporting as JSON for TF. So far it's much nicer
What are some alternatives?
faker - Faker is a Python package that generates fake data for you.
terraform - Terraform enables you to safely and predictably create, change, and improve infrastructure. It is a source-available tool that codifies APIs into declarative configuration files that can be shared amongst team members, treated as code, edited, reviewed, and versioned.
content - The content behind MDN Web Docs
dhall-lang - Maintainable configuration files
aboba - Yet another audio book player (mobile friendly)
jsonnet - Jsonnet - The data templating language
gdbstub - An ergonomic, featureful, and easy-to-integrate implementation of the GDB Remote Serial Protocol in Rust (with no-compromises #![no_std] support)
Pulumi - Pulumi - Infrastructure as Code in any programming language. Build infrastructure intuitively on any cloud using familiar languages 🚀
rouille - Rust programming, in French.
ytt - YAML templating tool that works on YAML structure instead of text
n8n - Free and source-available fair-code licensed workflow automation tool. Easily automate tasks across different services.
starlark-rust - A Rust implementation of the Starlark language