# Comm comm Meeting #420
## Attendees
Faciliator: Kevin (zootella)
- Mauve (@RangerMauve)
- Your name here
- Micah (@micahscopes)
- @DougAnderson444
- Jim (@jimpick)
- @aboynejames hyper://2aea5c6086c03f02f18550bd14962a9d5def76babcd16e0a7282eb39b79e61b8/
- Em (@hamnox)
## Notes
### Intros
- Kevin: Welcome everyone to the Dat community call. The Dat ecosystem is the hyperdrive stack, and a bunch of modules that folks have worked on. A notable app for that is the Beaker browser, and there are many other projects that are built around this ecosystem. It exists in the dweb community, but it's separate from blockchains and IPFS although there's lot of corssover inthe community and everyone is welcome here. I'm Kevin, zootella, worked at LimeWire for a while. Then Spotify, now working on Project Ara which is a blockchain startup using hypercore
- Mauve: Working on Agregore, also maintainer of hyper-sdk to easily make hyper projects
- Micah: Micah. Micahscopes on github. An entusiast. Been folloing hyper and dat for a while. Built alot of little things. Interested to see what's going on. Working on an offlien first education software non profit. Learning equality, making kolibri
- Jim Pick: Doing decentralized stuff for 4 years. Started with Beaker and Dat, moved to IPFS and filecoin. Now independent, still working on filecoin stuff. Dabble in everything.
- Michael Mullins: Here to listen. More invovled in Beaker and some of the earlier stuff before 2020. Then 2020 happened and now trying to recover and get into stuff. Here to see what everybody is up to.
- James: Hacker based in Scotland. My p2p journey started in web2.0 area in bay area. Built a p2p text engine. P2p wasnt very fashionable back then. That project is the health science network, unique ledger. Using hypercore and hypertrie to store stuff. https://www.healthscience.network/ https://diyhslab.medium.com/peer-stack-v-web-sack-an-introduction-3b1d6902abf
- Doug: DougAnderson444. Spent 20 years in the Canadian navy. Started in p2p with Dat about 2 years ago when moving around in the Navy. Couldn't keep address updated with everybody. Wanted to solve problem. Noticed all my data was in silos. Saw IPFS first, saw cost benefits. Projects were still kinda budding. Met Mauve a couple years ago. Dabbling with dat-sdk. Learned some IPFS stuff, foot in both camps. Interested in usign hyper to to point to the head of an IPFS CID. IPNS didn't do what I thought it would do. Tried to pin something but it disappears after a while. With hyper it persists. Working on HyPNS (https://github.com/DougAnderson444/HyPNS). Hi-pins. Using kappa-db for multiwriter. To be able to change from phone or wherever you update the latest data. Using kappa multiwriter. It's an append only log but only using the latest data. Doing it part time in the evenings. Kinda what I'm up to. No demo planned. Got a pinning service on glitch. If anyone wants to play around with it let me know.
### Demos
#### James' Demo
- James: DIY Health Science toolkit. Think of it as Jupyter notebooks and mathematica but p2p. SHowing a network dashboard experiment. Showing experiments that I seet up. Project Gadget Bridge let you access a bunch of wearables and be able to sync to the cloud. My protocol of choice is MaidSafe, haven't solved getting data off of devices yet. Got some cloud infrastrucure. If you download the stack you'll see some existing experiments on the network. Asks you where your data is stored, gives you a visualization when you "join" the experiment. This heartrate one produces a chart for my heart. Got a local dashboard that can answer "what was my heartrate on the 1st of december.". open source https://github.com/healthscience https://github.com/DaMaHub/peerlink
- Doug: Could do the same with sleep patterns?
- James: Also have heartrate during sleep. Got two heartrate and air sensors and can put both data on the screen. Charts are movable, can combine them. Can say "I have my sleep profile, but I also have humidity in my room" then can get coorelation between the two. *shows chart being built* Can select multiple dates, go back and forward in time. Can add any computational model to it. Currently got variables for x and y axis. Most of my work this year has been producing infrastructure to allow this to happen. Big thing presented at the dat conference was the network library. Showing hypertrie. Shows diferent data types, has IDs. Get packaged with REST APIs showing all the data. Has different contracts and can use to build the network experiment. When you join you connect to your own data store. Uses reference contracts which is like a play on smart contracts. There's many of these. There's also modules, experiments are made of many modules. Modules can combine contracts. Shows example module with a bunch of wearables. They're structure differently but as long as they adhere to the data types there's interoperability. Behind the scenes is SafeFlow which is a combination of Tesnorflow and data science. Uses a leder which uses a "proof of evidence" uses hashes from cycles as data is generated. Can guarantee reproducibility. There's a concept of a permenant seeder, have a classic central netwok. Can add friends. Uses public key address of friends library, they then open their device and allows them to populate their experiments on the network. Working on automating that. Thought there could be a better way to do that. Produced a bio region dashboard. Another interface to the network. Takes a watershed near where I live. Comes up as a map for the water. Can tell a story - view the waterflow, view the map, can create a new one which is like creating a new experiment. Can cut and paste in the hash for an experiment from the toolkit, instantly the data will come up. Idea is that everybody can use their own local data.
- Kevin: Question about peer storge.
- Mauve: Is this open source?
- James: Everything is open source. Can find it all on my Github account, including data. Remember there was a conference where everything was in the open. Everything got centalized again. Working with a cooperative and putting their data into a hypertrie. Got a peer network. Can give templates to the network. Results are tidied up things that people can see after data science. Lucky enough to work on this full time. Done it for 8 years. Early demos with Etheriums. Open to smart contracts, but they're monetary first. Safe network and IPFS and Dat can do more myself. Got to level the stack. Infrastructure is changing dramatically.
- Kevin: Regarding data. At some point it moves off of IOT devices, and on to MaidSafe?
- James: Not currently on MaidSafe. As soon as it's functional, will put it into gadgetbridge. Talked to fitbit folks about open sourcing, sadly went full circle. Everything that's open hardware has gone bankrupt or isn't as accurate. 4/5 years down the line will be integrated with open hardware stack, can get this safeflow engine onto the hardware. When we have a reliable mobile client in the crypto space we can plug that in.
## Doug's HyPNS
- Doug: It's a WIP. Built on kappa multiwriter. Got a fork of it. There's a kappa fork, frando's fork, cobox fork, combined all their changes into one. Wanted you to be able to update your feed from any device you're on. Essentially this was to pin the head of your IPFS feed to hypercore. Built that on top of multifeed. Tried to do a diagram but it gets pretty ugly pretty quick. Using DIDs. Resolve to a DID doc with services. One of them would be a data hub that could point to IPFS things. Separates away the identity from the data and the app. If you want to use with a different identity system you could, or if you want to point to something that isn't IPFS, you could. Made PeerPiper which is HyPNS running. Asks people for their favorite color, which is just a metaphore for whatever data you want to point to. Then adds it to the history. Running on localhost, but can run in Chrome. E.g. we have two people that want to exchange something like favorite colors, eventually through the dat-sdk it shows up. Works nicely on the same network. Wrote a superpeer for when you can't connect because of a NAT. Pins it for when you're offline and acts as a hop between peers. Know of glitch thanks to Jim's shopping cart app. Using svelte now. With Glitch you can remix a project and can get a new server. Can fork it and make your own / have independent ecosystem. Kinda like a happy medium between doing everything locally and having do download vs having it on web vs depending on other peoples servers. Instead of your favorite color you can put your IPFS CID root hash, if you put that in there you can point your public key to whatever that is. With the dat-sdk you gotta close all your connections when you're done. Instead I pushed that into a component, so when the window is unloaded or the component is destroyed, it closes the node and all connections. Trying to offload remembering to close the connection every time. Trying to slide in progress when I can.
- Jim: This is amazing. Tried to use IPNS, the final step was pinning to IPFS, but had a stateless pinning service on Heroku. Tried to do it with IPNS but it was like a single pointer. Last year the DHT was very buggy, sometimes when Heroku went away it all cleared. Sometimes it would just get the wrong one. Most people didn't see it because it was once in a while, but I was pinning every half hour so I was getting random stuff back. because I was working on Dat I really missed the append only log thing. Was dreaming of combining the two technologies. You made it multwriter too.
- Doug: My goal is to just hand out my public key or DNSLink to public key (human friendly form), if you hand out the mutlwirtiter then whenever anything changes it's all up to date. You can point to anything
- Jim: Textile has something similar called Threads. It's GO only. There's a JS imple coming up. was talking about integrating into Go IPFS. Hasn't happened yet. This is more real.
### Kevin's Blog thing
- Kevin: I have a demo for people that have Beaker installed. Version 1.1 is the current version.
- Kevin: hyper://67faabfa405ba9c578f26fcbde53a472ab5ff9651f4ed961c949c8dd960c98e9/#/DLOG/Kevin~67faab.fa405ba9c578f26fcbde53a472ab5ff9651f4ed961c949c8dd960c98e9/posts
- Kevin: Has anyone got the link I posted earlier to resolve? If not I can post it from my machine.
- Jim: I got it
- Kevin: This is a minimal blogger. Dlog. Jim navigated to my hyperdrive, it rendered an index.html, then the rest is the info the page is getting from the URL. On mine I can edit any of my posts. Jim can follow me. If you click follow it'll do an install and a follow.
- Jim: *creates a new hyperdrive*
- Kevin: What it did was clone an installation drive on Beaker and navigated to the same blog. Shows the same posts as before but now shoews that you're following. If you type a name in that box and press save then you'll get a name. So now you can write a new post at the top.
- Jim: *writes a new post* "This is just like twitter"
[hyper://510715164dd49b719251f15289fd759bc8fd0688a1d239df2745392d781789db/#/DLOG/Jims_DLOG~510715.164dd49b719251f15289fd759bc8fd0688a1d239df2745392d781789db/posts/post/p51071516-2020dec17-89ccc10b](hyper://510715164dd49b719251f15289fd759bc8fd0688a1d239df2745392d781789db/#/DLOG/Jims_DLOG~510715.164dd49b719251f15289fd759bc8fd0688a1d239df2745392d781789db/posts/post/p51071516-2020dec17-89ccc10b)
- Kevin: You can edit your post.
- Jim: One of my friends was an engineer at twitter, edting was one of the features he wants.
- Kevin: Now I'll switch to my screen and show how it works.
- Jim: Was there gossip to see how I followed you?
- Kevin: There is not. Everyone can see who you follow, but not who follows you. Before you install, you're using somebody else's feed reader. Any feed reader can render any posts. Most of the time the two are the same, you're reading somebody's posts on their blog, but that doesn't ahve to be the case. The app is using vue JS for composing the page and doing DOM diffs. All the JS is loaded remotely so I can do an update so everyone's DLOG fork will point to this file, you can copy the files into your own hyperdrive and stop getting updates. Right now it's easiest to add new features from here. Adds a settings.js file which contains title of your blog and some other metadata. Posts are a JS file with yaml in it. If you followed me I can only find that out out of band. I can't navigate to the app and see who followed me. There re some drawbacks and benefits. It's harder to spam in this system, somebody you trust would ahve to become a spammer. You can fork it, change a title and propogate through the app. You can add CSS to just your own installation. It'd be cool if then somebody could do things you haven't seen before and things could still be compatible.
- Jim: Is it evaling the JS file?
- Kevin: kinda, wanted to make it possible to do fom a local server.
- James: I use vue everywhere too. Thought of getting it into Beaker seemed hard. What I've just seen makes it look possible.
### Conclusions
- James: I think this it's important to think about the p2p stack to compare to the web stack
- Micah: Could be cool to talk more about CRDTs
---