diff options
Diffstat (limited to 'IDEAS.org')
| -rw-r--r-- | IDEAS.org | 161 |
1 files changed, 161 insertions, 0 deletions
diff --git a/IDEAS.org b/IDEAS.org new file mode 100644 index 00000000..1e953972 --- /dev/null +++ b/IDEAS.org @@ -0,0 +1,161 @@ +* Nice mailing lists + +- GH-style user/organization creation +- Every user/organization can create mailing lists +- Mailing lists have a web UI +- The mailing list UI can be completely customized to look like microblogging, blogs, comment systems, etc. +- max n messages over m days feature. n=0, don't send me emails. n=1, send me a digest every m days. n>=2, stop at n-1, then wait until the m period is over to send me a digest. + +* Userland WASM Linux distro + +- Bootstrap a Linux distro to run on WASM +- Should be able to run as a non-privileged user, installed in the user's home directory +- Focused on userland programs, not a full OS +- Should be able to run on non-POSIX filesystems +- Could replace Docker/containers for developers +- Similar to https://github.com/WAVM/Wavix + +* Turing Parser + +- A toolkit to write parsers for languages which are not CFGs and that need Turing-complete parsing code. +- Provides tools to implement stateful lexers, keeping line-column information and generating good error messages. +- Provides tools to transform the token stream, using arbitrary code, to generate annotated ASTs (i.e. with line/column number information) +- See https://github.com/alexpdp7/lmparser + +* Extensible lightweight markup language + +- A language similar to AsciiDoc... +- But with a well-defined AST +- Complex nested lists +- Styling of code blocks (highlighting, user input, replaceable...) +- See https://github.com/alexpdp7/lmparser + +* Streaming DB + +That's probably https://github.com/MaterializeInc/materialize , but it's not OSS. + +- Simple relational database +- Can act as replication target of other databases +- Supports a limited SQL subset that can be easily reasoned about functional dependencies +- Can stream efficiently the results of an SQL query (e.g. keep a query running and receive new/modified rows) +- Supports efficient replication of a subset of a database (initial checkpoint + streaming or batched updates) +- Functional dependencies could be used to create materialized views *and* indexes + +* CRUD framework + +- https://github.com/alexpdp7/v2f +- https://github.com/alexpdp7/zqxjkcrud + +A completely declarative SQL CRUD framework + +- CRUD definition is done through SQL objects (schemas, views, etc.) +- Permissions +- Row auditing +- Multiple components + - Server-side HTML frontend + - REST API +- Commercial frontend for design + +* Key escrow for everyone + +- Easy-to-use key escrow/secret sharing +- Provide emergency recovery of passwords, keys, 2FA, etc. + +* SQL2 + +See https://github.com/EvgSkv/logica + +- A new language that compiles to SQL +- Handles RDBMS differences +- Makes queries composable (e.g. declare a query object, then add paging/sorting, for framework usage) +- Declarative join via foreign key constraint names +- Better ordering for code completion (e.g. FROMs first) + +* User-friendly GMail synchronization tool + +- Speaks XOAUTH2 +- Syncs to something Mutt/Notmuch/etc. can use easily +- See https://github.com/alexpdp7/notsomuchcomplex + +* Parallel execution framework + +- A tool to run stuff such as CI builds which need sophisticated parallelization +- Create differently sized resource pools (for CPU-bound tasks, "API"-bound, etc.) +- Local execution of workflows on a workstation, remote execution on a CI server +- Handle task dependencies and artifact passing from parent to child tasks +- Capture stdout/stderr of tasks, allow viewing in realtime +- Timestamp stdout/stderr for crude profiling +- Implement a CI system on top? + +* ActivityPub reverse proxy + +Run the reverse proxy on your domain so you can "duplicate" your identity on your own domain + +* Statically-typed AST transform-friendly language + +- A Haskell/Rusty language, but with GC and nice compiler errors. +- First-class support for AST transforms- both one-off (apply this transform to the source code and commit the change) and ongoing (define AST transforms to run as part of the compilation process). +- Maybe such language would never need reflection, so refactoring would be very safe. + +* SQL Query tool + +- ipython notebook style interface +- Backend + multiple frontends + - HTML/JS Frontend + - Curses frontend + - Native GUIs frontends +- Smart join completion + +* HTML/JS only browser engine + +- Use an existing JS engine to implement a browser that can parse HTML and execute JS, but which has no concept of graphics +- Could be used to implement a text HTML browser that can access the modern web +- Extensible and scriptable, to generate "article mode" scripts, scrapers, and "API proxies" + +* Presentation tool + +- A tool to edit reveal.js-style slides +- But also record and do basic audio editing +- So it can help with timing/pacing, and even generate a nice video + +* Touch controller/meeting controller/desktop shortcuts + +- API server to control Google Meet (mute, etc.) +- Use a USB gamepad to mute in videoconferences, etc +- Small webapp for touch interface in phone +- See https://github.com/alexpdp7/meet-controller + +* Scalable personal cloud + +1..n node VM/container hosting platform + +- ZFS storage (use https://github.com/marcan/takeover.sh for easy set up of a ZFS mirror root system) +- Automation ready (Ansible, Salt, Foreman, etc.) +- Monitoring friendly +- Apt for single public IP + - Integrated DNS/DHCP + - VPN interfaces + - Reverse proxies + +* C64 Roguelike + +* Software development book ( https://github.com/alexpdp7/wakat ) + +* Pure HTML5 decentralized IM system + +https://letsconvene.im/ +https://github.com/alexpdp7/imnei + +- Uses web push +- Conversations are URLs to be shared +- "User identity" is a private URL to be shared to handle multi-device +- End-to-end encryption +- Can have WebRTC audio/video +- Anyone could run its own instance, as it is clientless there is no friction to have multiple providers +- Broadcast channels to be a pseudo-social network + +* Federated real-time communications using open protocols https://github.com/alexpdp7/frtcuop + +* Deterministic embeddable simple language for calculator and notebooks + +https://github.com/alexpdp7/plankalkul/ , that deprecated https://github.com/alexpdp7/pdp7_calc/ . |
