Skip to content

Instantly share code, notes, and snippets.

@z3t0
Created January 30, 2025 20:38
Show Gist options
  • Save z3t0/d6f2b4cb6993ce8aaf081a8852498ef7 to your computer and use it in GitHub Desktop.
Save z3t0/d6f2b4cb6993ce8aaf081a8852498ef7 to your computer and use it in GitHub Desktop.
  • p2p shared wikipedia native app one click.
    • extend concept of pkm - https://github.com/z3t0/pkm
    • cosmocc/redbean runtime
    • c++ app
    • couchdb for sync
    • future extensions
      • collaborative editing (CRDT)
      • mobile app
      • web app
    • criteria analysis
      • Doable in C++
        • yes, most of the code is app level code so can be in any lang
      • Get experience with design patterns and problems
        • what patterns
        • what problems
          • syncing
          • awareness of issues in distributed programming
            • understand CAP theorem
            • eventual consistency
            • replication protocol, conflicts, merging.
          • understanding different platforms have different native apis
            • many design patterns apply here.
            • secure design -> restrict read/write based on author
            • modelling -> data model needed
            • architecture -> local app, persistence layer, syncing mechanism
              • learn about some tcp/ip.
              • concurrency -> needed if we are doing network programming without pausing render thread.
      • Large enough to fill at least a few weeks at 3 hours mob programming a week
        • yes. there is a roadmap where this can be a small or larger project. to begin with it could be as simple as syncing a single text file across all users and doing a read/write lock using distributed timestamps/.
      • Sure to be done by the end of the semester
        • we can constrain the requirements to meet the timeline.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment