Late 2016 consisted of mostly module diving. Topics of focus related mainly to hyperamp and hyperblog, two experimental hypermodul.es projects.
- github.com/hypermodules/level-auto-index
- github.com/hypermodules/level-hookdown
- github.com/hypermodules/level-idx
- https://github.com/hypermodules/entypo
- hypermodules/dti
Leveldb is the SQLite of key-value databases. Its used behind the scense in IndexDb and is generally well supported in the node.js module ecosystem. I did a bunch of reading, and some experiments with it.
- levelup readme
- LevelDB and Node: Getting Up and Running
- hyperlog
- hyperlog-index
- leveldb-handbook
- cyberwizardinstitute/workshops/leveldb
- Level/abstract-leveldown
- juliangruber/multilevel
These are some documents that implement some of the common node abstractions on top of websocket duplex streams.
- websocket-stream
- ws
- websocket-stream/server.js
- websocket-stream/stream.js
- pull-stream.github.io
- pull-ws
- pull-stream/pull
- pull-stream/pushable
- pull-notify
- pull-live
- pull-ws-server
- ssbc/muxrpc
- pull-stream/pull-stream-faq
- pull-stream/pull-http-server/blob/master/README.md
- regular/pull-paginated-api-request
- substack/shoe
- maxogden/multiplex
- dominictarr/mux-demux
- substack/multiplex-rpc
- dominictarr/rpc-stream
- substack/dataplex
- mafintosh/stream-channels
- dominictarr/pull-stream-examples/blob/master/duplex.js
- dominictarr/pull-stream-examples/blob/master/pull.js
- pull-stream/stream-to-pull-stream/blob/master/README.md
- mafintosh/awesome-p2p
- mafintosh/peer-network
- peer-network/index.js
- Kademlia: A Peer-to-Peer Information System Based on the XOR Metric
- A Decentralized Group Key Management Scheme for the Decentralized P2P Environment
- Hyperdrive + Hypercore Specification
- mafintosh/hyperirc-www/index.html
- mafintosh/hyperirc-www/index.js
- hyperirc/index.js
- datproject/docs/blob/master/docs/cookbook/diy-dat.md
- docs/docs/sleep.md
- mafintosh/hypercore/blob/master/index.js
- hyperdrive/blob/master/README.md
- mafintosh/hypercore/blob/master/README.md
- mafintosh/hyperdrive/blob/master/index.js
- mafintosh/hyperdrive/blob/master/cursor.js
- mafintosh/hyperdrive/blob/master/storage.js
- mafintosh/hyperdrive/blob/master/archive.js
- mafintosh/hypercore/blob/master/lib/selection.js
- mafintosh/hypercore/blob/master/lib/replicate.js
- hypercore/blob/master/schema.proto
- mafintosh/hypercore/blob/master/index.js
- mafintosh/hypercore/blob/master/example.js
- mafintosh/hypercore/blob/master/lib/tree-index.js
- mafintosh/hypercore/blob/master/lib/storage.js
- RFC 7574 Peer-to-Peer Streaming Peer Protocol (PPSPP)
- Incentives Build Robustness in BitTorrent
- mafintosh/utp-native
- mafintosh/content-addressable-blob-store
- Amazon's Dynamo
- BEP 29 uTorrent transport protocol
- Efficient Reconciliation and Flow Control for Anti-Entropy Protocols
- Endrun—Secure Digital Communications For Our Modern Dystopia∗
- A Low-bandwidth Network File System
- github.com/mafintosh/flat-tree/blob/master/README.md
- mafintosh/flat-tree/blob/master/index.js
- print-flat-tree
- The Inside Story of BitTorrent’s Bizarre Collapse
- bitchute: webtorrent youtube
- DiegoRBaquero/PeerTube
- Designing a Secret Handshake: Authenticated Key Exchange as a Capability System - Dominic Tarr
- secret-handshake
- secret-handshake/handshake.js
- secret-handshake/index.js
- secret-handshake/secure.js
- secret-handshake/state.js
- secret-handshake/package.json
- secret-handshake/test/net.js
- secret-handshake/test/net1.js
- secret-handshake/test/net2.js
- secret-handshake/test/secret-handshake.js
- dominictarr/multiserver
- dominictarr/chloride
- auditdrivencrypto/private-box
- dominictarr/pull-box-stream
- node-sodium
- Working Around the CAP Theorem with rumours-db
- golang.org/pkg/html/
- golang.org/pkg/html/template/
- golang.org/pkg/net/http/httputil/
- golang.org/pkg/net/http/
- golang.org/pkg/net/http/httptest/
- godoc.org/github.com/sorcix/irc
- github.com/nickvanw/ircx
- On the Criteria To Be Used in Decomposing System into Modules
- Seven Puzzles You Think You Must Not Have Heard Correctly
- paypal/seif-protocol
- Nix: A Safe and Policy-Free System for Software Deployment
- mafintosh/csv-parser
- ssh-exec/blob/master/README.md
- Your problem with Vim is that you don't grok vi.
- Efficient Editing With Vim
- Coming Home to Vim