aboutsummaryrefslogtreecommitdiff
path: root/IDEAS.org
diff options
context:
space:
mode:
Diffstat (limited to 'IDEAS.org')
-rw-r--r--IDEAS.org161
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/ .