granite-orm
rage
granite-orm | rage | |
---|---|---|
4 | 36 | |
293 | 2,326 | |
0.3% | - | |
7.1 | 9.0 | |
3 months ago | 24 days ago | |
Crystal | Rust | |
MIT License | 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.
granite-orm
-
Announcing Didact the anti-CMS!
This project has been half a year in the making. I've learned so much from it, most importantly Crystal and learning to love SQLite and hate Postgres. The journey led me through contributing to several dependencies, including the Granite ORM, Markd, the SQLite3 bindings, and even creating Sanemark implementing it in a fork of Markd!
-
It seems like Rust software is bad
The 3 Crystal ORMs I've checked out, Granite, Clear, and Jennifer, are all 10k lines or less. Given Crystal's pragmatism-before-purity philosophy compared to Rust, I'd expect them to be a little briefer, but not that much.
-
Frustrations with Crystal ORMs
The "generate create table SQL from model definition" feature is not usable for my use case because it doesn't treat foreign keys at all, only basic fields and types. It actually doesn't even support NOT NULL columns right now except for the primary key, and my PR to fix that has been hanging for two weeks.
rage
- Do any libraries exist for zero-trust file storage (storing client-encrypted data on the server without the key)?
-
JSON compression in the browser, with gzip and the Compression Streams API.
I have already built this into a small feature in my app, but I do plan to integrate it deeper and bake it into the core functionality soon. Which should be another interesting problem to solve as the app has integrated client-side encryption using Age (rage (rage-wasm)). But that's for another day...
-
Age: Modern file encryption format with multiple pluggable recipients
_o/ hi all, age author here!
The OP link is the spec, here's a few other things you might find interesting
- the Go reference implementation https://age-encryption.org
- the Go library docs https://pkg.go.dev/filippo.io/age
- the CLI man page https://filippo.io/age/age.1
- an interoperable Rust implementation by @str4d https://github.com/str4d/rage
- a YubiKey plugin by @str4d https://github.com/str4d/age-plugin-yubikey
- the draft plugin protocol specification (which we should really merge) https://github.com/C2SP/C2SP/pull/5/files?short_path=07bf8cc...
- a Windows GUI by @spieglt https://github.com/spieglt/winage
- a discussion of the authentication properties of age https://words.filippo.io/dispatches/age-authentication/
- a discussion of a potential post-quantum plugin https://words.filippo.io/dispatches/post-quantum-age/
- a password-store fork that uses age instead of gpg https://github.com/FiloSottile/passage (see also: how I use it with a YubiKey https://words.filippo.io/dispatches/passage/)
- rage: A simple, secure and modern encryption tool (and Rust library) with small explicit keys, no config options, and UNIX-style composability.
-
age.el: age encryption support for Emacs
I just added rage (https://github.com/str4d/rage) support, which does support pinentry, see https://github.com/anticomputer/age.el#known-issues for an example of how to use rage instead.
- Axcrypt -- or is there something better Reddit would recommend?
-
The PGP Problem (2019)
Really appreciate this article. It's a little snarky but it hits the mark and encourages people to try Age, which is a pretty awesome little tool.
https://age-encryption.org/v1
-
Ask HN: What does everyone use for encrypting their personal stuff?
I'm not convinced that whole-disk encryption is sensible for most threat models, but I use the built-in FileVault on macOS (under the reasoning that, at the very least, it can't really hurt).
On Linux, I use age[1] (specifically, rage[2]) to encrypt sensitive files. I wrote a secret manager that uses the latter as an encryption backend[3], and I use `rage-mount` to mount (read-only) views of encrypted archives.
[1]: https://github.com/FiloSottile/age
[2]: https://github.com/str4d/rage
[3]: https://github.com/woodruffw/kbs2
- Age – a simple, modern and secure file encryption tool, format, and Go library
- Tiny backup/encryption tool for CLI usage.
What are some alternatives?
jennifer - Crystal ORM using ActiveRecord pattern with flexible query DSL
age - A simple, modern and secure encryption tool (and Go library) with small explicit keys, no config options, and UNIX-style composability.
crecto - Database wrapper and ORM for Crystal, inspired by Ecto
PasswordPusher - 🔐 An application to securely communicate passwords over the web. Passwords automatically expire after a certain number of views and/or time has passed. Track who, what and when.
active_record.cr - Active Record pattern implementation for Crystal.
age-plugin-yubikey - YubiKey plugin for age
avram - A Crystal database wrapper for reading, writing, and migrating Postgres databases.
croc - Easily and securely send things from one computer to another :crocodile: :package:
clear - Advanced ORM between postgreSQL and Crystal
tarssh - A simple SSH tarpit inspired by endlessh
stal-crystal - Set algebra solver for Redis
wormhole-gui - Cross-platform application for easy encrypted file, folder, and text sharing between devices. [Moved to: https://github.com/Jacalz/rymdport]