.emacs.d
Udb
.emacs.d | Udb | |
---|---|---|
1 | 3 | |
4 | 4 | |
- | - | |
6.7 | 0.0 | |
11 days ago | about 1 year ago | |
Emacs Lisp | C++ | |
- | GNU General Public License v3.0 or later |
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.
.emacs.d
-
I use Org Mode for personal logging/journalling
I've been using org mode to maintain a personal work log for around ten years.
General structure is a file per month, a toplevel outline heading per day, and a global hotkey that takes me to 'today' with a single button. I use a private git repository to archive it to a secure place and replicate across different machines if needed. (Not common.)
Code here:
https://github.com/mschaef/.emacs.d/blob/master/lisp/orglog....
It's worked well, but generally speaking the key to logging is less the code/system and much more the discipline to write every day. I'm hit or miss on that front, but still find it useful to both formalize my thoughts on things into english and also occasionally go back to look at previous things I've done. (Oh, and it makes developing lists of accomplishments for annual reviews an easy thing.)
Udb
-
BoringDB: A high-performance key-value store built on SQLite
This article is from 2021.
They indeed use an SQL database and SQL queries to implement a key-value store. The data is stored in a regular table (CREATE TABLE example (key BLOB PRIMARY KEY, value BLOB NOT NULL). It's very unlikely that this really achieves high-performance, given that the SQLite backend is actually a key-value store and the SQL interpreter runs on top of it as an intermediate layer. To avoid some performance-drawbacks caused by this architecture they added caching.
They have even considered RocksDB and LMDB, but have rejected them with reasons that I can not relate.
I have implemented a transactional key-value store myself for my project and information management tools fifteen years ago (before the other mentioned stores became available) based on the aforementioned SQLite backend (see https://github.com/rochus-keller/Udb and https://github.com/rochus-keller/Sdb) which supports both robust integrity and high performance. Doing the same with the full SQLite just adds complexity and lowers performance with no added value.
-
I use Org Mode for personal logging/journalling
I implemented my own NoSql database for Crossline which supports an efficient storage and traversal of outline items (see https://github.com/rochus-keller/Udb). Even if there was a dedicated API in Emacs/Org-mode it's still file based text buffer interpretation and management behind the scenes.
-
Ask HN: What is the SQLite of nosql databases?
SQLite has a backend which is well suited as a key-value store.
Here is a NoSql database based on the SQLite backend: https://github.com/rochus-keller/Udb.
I use it in many of my apps, e.g. https://github.com/rochus-keller/CrossLine
What are some alternatives?
vino - It's your cellar, your dear cantina.
emacs-everywhere - Mirror of https://git.tecosaur.net/tec/emacs-everywhere