Pentive
mycelite
Pentive | mycelite | |
---|---|---|
11 | 8 | |
31 | 1,043 | |
- | 1.5% | |
9.7 | 5.8 | |
9 days ago | 7 months ago | |
TypeScript | Rust | |
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.
Pentive
-
Anki – Powerful, intelligent flash cards
> I wonder what the ecosystem would look like if things were otherwise.
Shameless plug - I'm building https://github.com/AlexErrant/Pentive which is basically GitHub/Reddit for flashcards. Very much pre-product and a WIP, though the offline client proof of concept is done.
-
Lessons from building GitHub code search [video]
I also enjoyed the Treesitter talk from 5 years ago by Max Brunsfeld https://www.youtube.com/watch?v=Jes3bD6P0To
I'm currently building a query language whose grammar is very much inspired by Github's search syntax. I'm using Lezer, which is a GLR like Treesitter, so this talk learned me some parser generators (I've no formal CS education). Here's my grammar, a playground, and an example search query if anyone wants to play with it
https://github.com/AlexErrant/Pentive/blob/main/app/src/quer...
https://littletools.app/lezer
-(a) spider-man -a b -c -"(quote\\"d) str" OR "l o l" OR a b c ((a "c") b) tag:what -deck:"x y"
-
Using spaced repetition systems to see through a piece of mathematics
Not really. There are options for sharing cards on Anki https://www.reddit.com/r/Anki/comments/14j2jfy/deck_sharing_... but their collaboration features are limited.
I myself am building an Anki clone https://github.com/AlexErrant/Pentive with collaboration built in as a first class citizen, though its far from primetime. Currently stewing on how to get the SR algorithm, FSRS, to compile to wasm.
-
Ask HN: Show me your half baked project
https://github.com/AlexErrant/Pentive
A free, open source, local-first, spaced repetition system that works offline, has p2p syncing, plugins, and first class support for collaboration. It's GitHub/Reddit for flashcards.
I basically took Anki and turned it into a webapp >_>
-
Things you forgot because of React
I find Solid's model pretty damn close to "compiling down to nothing". I chose Solid for my project because I wanted to support plugins that used other UI frameworks. I recently got a Svelte plugin working with the SolidJS router. I could probably make it prettier... but it's literally a call to Solid's `createComponent` with the Router and an anchoring div to which the Svelte component is mounted. Ezpz.
https://github.com/AlexErrant/Pentive/blob/main/example-plug...
- Mycelite: SQLite extension to synchronize changes across SQLite instances
-
An open source web-based flashcard studying system
I'm also building an Anki clone (sigh) that I'm calling "Github for flashcards".
>A free, open source, local-first, spaced repetition system that works offline, has p2p syncing, plugins, and first class support for collaboration.
https://github.com/AlexErrant/Pentive
Very much a WIP, completely unusable, but I recently made a video demoing the technical proof of concept.
-
Anki-Fy Your Life
Anki, imo, already has an open algorithm (that the user can change via plugins), universal interfaces, and is "self-hosted". My eyes perked up at REST api, but it doesn't look like there's a centralized server that hosts shared cards, which is where my mind went.
I'm building https://github.com/AlexErrant/Pentive/ which is basically Anki + Reddit - people can optionally upload their cards for others to download, and the most popular cards rise to the top. It's FLOSS, offline-first, supports plugins and p2p syncing, and is very much a WIP. My proof of concept is almost done though, which demos the critical technologies in a secure way.
-
A Gentle Introduction to CRDTs
I'm using cr-sqlite right now in my Anki clone: https://github.com/AlexErrant/Pentive
It's basically an offline-first flashcard webapp. CR-Sqlite allows for incremental syncing.
With Anki (the app from which I'm taking my inspiration), syncing is _not_ incremental - basically it just copies SQLite files around. So for example, the app could be on an iPhone with cards a card `A` reviewed, but the app on an iPad could make changes to the template on which card `A` is based, and that's enough to cause a conflict - you must take changes from only the iPad or only the iPhone. (To be clear - Anki does have some incremental syncing capabilities - I'm picking an intentionally pathological example.) CR-SQLite will mean that everything is incremental, however.
Basically makes 3 way merges a breeze (or n-way merges, really).
-
Ask HN: What Are You Working on This Year?
A FLOSS, offline-first, spaced repetition system that has first class support for collaboration, curation, and plugins. It's Reddit for flashcards.
https://github.com/AlexErrant/Pentive
I've been thinking about this for a stupid amount of time... thinking that someday someone's going to improve on Anki. Finally got tired of it and said that person's me.
mycelite
- LiteFS Cloud: Distributed SQLite with Managed Backups
- Mycelite: SQLite extension to synchronize changes across SQLite instances
-
SQLite Journal Modes [video]
Is anyone using their product? https://github.com/mycelial/mycelite/
They use CRDTs for syncing, but their site has virtually no details on what data structures are supported. https://mycelial.com/docs/get-started/quick-start
-
Recommended cloud database to store basic, static data that a mobile app will read from?
You can checkout our repo here: https://github.com/mycelial/mycelite
What are some alternatives?
fsrs4anki - A modern Anki custom scheduling based on Free Spaced Repetition Scheduler algorithm
electric - Local-first sync layer for web and mobile apps. Build reactive, realtime, local-first apps directly on Postgres.
proposal-shadowrealm - ECMAScript Proposal, specs, and reference implementation for Realms
sqld - LibSQL with extended capabilities like HTTP protocol, replication, and more.
shellrunner - Write safe shell scripts in Python.
cr-sqlite - Convergent, Replicated SQLite. Multi-writer and CRDT support for SQLite
vm2-process - Execute unsafe javascript code in a sandbox
wa-sqlite - WebAssembly SQLite with experimental support for browser storage extensions
ankivalenz - Turn HTML files into Anki decks
go-sqlite3-stdlib - A standard library for mattn/go-sqlite3 including best-effort date parsing, url parsing, math/string functions, and stats aggregation functions
lrn - Command-line tool for learning by repetition.
doteur - Tool to automate the visualisation of SQL schemas from a SQL file