RangerMauve
    • Create new note
    • Create a note from template
      • Sharing URL Link copied
      • /edit
      • View mode
        • Edit mode
        • View mode
        • Book mode
        • Slide mode
        Edit mode View mode Book mode Slide mode
      • Customize slides
      • Note Permission
      • Read
        • Only me
        • Signed-in users
        • Everyone
        Only me Signed-in users Everyone
      • Write
        • Only me
        • Signed-in users
        • Everyone
        Only me Signed-in users Everyone
      • Engagement control Commenting, Suggest edit, Emoji Reply
    • Invite by email
      Invitee

      This note has no invitees

    • Publish Note

      Share your work with the world Congratulations! 🎉 Your note is out in the world Publish Note

      Your note will be visible on your profile and discoverable by anyone.
      Your note is now live.
      This note is visible on your profile and discoverable online.
      Everyone on the web can find and read all notes of this public team.
      See published notes
      Unpublish note
      Please check the box to agree to the Community Guidelines.
      View profile
    • Commenting
      Permission
      Disabled Forbidden Owners Signed-in users Everyone
    • Enable
    • Permission
      • Forbidden
      • Owners
      • Signed-in users
      • Everyone
    • Suggest edit
      Permission
      Disabled Forbidden Owners Signed-in users Everyone
    • Enable
    • Permission
      • Forbidden
      • Owners
      • Signed-in users
    • Emoji Reply
    • Enable
    • Versions and GitHub Sync
    • Note settings
    • Note Insights New
    • Engagement control
    • Make a copy
    • Transfer ownership
    • Delete this note
    • Save as template
    • Insert from template
    • Import from
      • Dropbox
      • Google Drive
      • Gist
      • Clipboard
    • Export to
      • Dropbox
      • Google Drive
      • Gist
    • Download
      • Markdown
      • HTML
      • Raw HTML
Menu Note settings Note Insights Versions and GitHub Sync Sharing URL Create Help
Create Create new note Create a note from template
Menu
Options
Engagement control Make a copy Transfer ownership Delete this note
Import from
Dropbox Google Drive Gist Clipboard
Export to
Dropbox Google Drive Gist
Download
Markdown HTML Raw HTML
Back
Sharing URL Link copied
/edit
View mode
  • Edit mode
  • View mode
  • Book mode
  • Slide mode
Edit mode View mode Book mode Slide mode
Customize slides
Note Permission
Read
Only me
  • Only me
  • Signed-in users
  • Everyone
Only me Signed-in users Everyone
Write
Only me
  • Only me
  • Signed-in users
  • Everyone
Only me Signed-in users Everyone
Engagement control Commenting, Suggest edit, Emoji Reply
  • Invite by email
    Invitee

    This note has no invitees

  • Publish Note

    Share your work with the world Congratulations! 🎉 Your note is out in the world Publish Note

    Your note will be visible on your profile and discoverable by anyone.
    Your note is now live.
    This note is visible on your profile and discoverable online.
    Everyone on the web can find and read all notes of this public team.
    See published notes
    Unpublish note
    Please check the box to agree to the Community Guidelines.
    View profile
    Engagement control
    Commenting
    Permission
    Disabled Forbidden Owners Signed-in users Everyone
    Enable
    Permission
    • Forbidden
    • Owners
    • Signed-in users
    • Everyone
    Suggest edit
    Permission
    Disabled Forbidden Owners Signed-in users Everyone
    Enable
    Permission
    • Forbidden
    • Owners
    • Signed-in users
    Emoji Reply
    Enable
    Import from Dropbox Google Drive Gist Clipboard
       Owned this note    Owned this note      
    Published Linked with GitHub
    • Any changes
      Be notified of any changes
    • Mention me
      Be notified of mention me
    • Unsubscribe
    # 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 ---

    Import from clipboard

    Paste your markdown or webpage here...

    Advanced permission required

    Your current role can only read. Ask the system administrator to acquire write and comment permission.

    This team is disabled

    Sorry, this team is disabled. You can't edit this note.

    This note is locked

    Sorry, only owner can edit this note.

    Reach the limit

    Sorry, you've reached the max length this note can be.
    Please reduce the content or divide it to more notes, thank you!

    Import from Gist

    Import from Snippet

    or

    Export to Snippet

    Are you sure?

    Do you really want to delete this note?
    All users will lose their connection.

    Create a note from template

    Create a note from template

    Oops...
    This template has been removed or transferred.
    Upgrade
    All
    • All
    • Team
    No template.

    Create a template

    Upgrade

    Delete template

    Do you really want to delete this template?
    Turn this template into a regular note and keep its content, versions, and comments.

    This page need refresh

    You have an incompatible client version.
    Refresh to update.
    New version available!
    See releases notes here
    Refresh to enjoy new features.
    Your user state has changed.
    Refresh to load new user state.

    Sign in

    Forgot password

    or

    By clicking below, you agree to our terms of service.

    Sign in via Facebook Sign in via Twitter Sign in via GitHub Sign in via Dropbox Sign in with Wallet
    Wallet ( )
    Connect another wallet

    New to HackMD? Sign up

    Help

    • English
    • 中文
    • Français
    • Deutsch
    • 日本語
    • Español
    • Català
    • Ελληνικά
    • Português
    • italiano
    • Türkçe
    • Русский
    • Nederlands
    • hrvatski jezik
    • język polski
    • Українська
    • हिन्दी
    • svenska
    • Esperanto
    • dansk

    Documents

    Help & Tutorial

    How to use Book mode

    Slide Example

    API Docs

    Edit in VSCode

    Install browser extension

    Contacts

    Feedback

    Discord

    Send us email

    Resources

    Releases

    Pricing

    Blog

    Policy

    Terms

    Privacy

    Cheatsheet

    Syntax Example Reference
    # Header Header 基本排版
    - Unordered List
    • Unordered List
    1. Ordered List
    1. Ordered List
    - [ ] Todo List
    • Todo List
    > Blockquote
    Blockquote
    **Bold font** Bold font
    *Italics font* Italics font
    ~~Strikethrough~~ Strikethrough
    19^th^ 19th
    H~2~O H2O
    ++Inserted text++ Inserted text
    ==Marked text== Marked text
    [link text](https:// "title") Link
    ![image alt](https:// "title") Image
    `Code` Code 在筆記中貼入程式碼
    ```javascript
    var i = 0;
    ```
    var i = 0;
    :smile: :smile: Emoji list
    {%youtube youtube_id %} Externals
    $L^aT_eX$ LaTeX
    :::info
    This is a alert area.
    :::

    This is a alert area.

    Versions and GitHub Sync
    Get Full History Access

    • Edit version name
    • Delete

    revision author avatar     named on  

    More Less

    Note content is identical to the latest version.
    Compare
      Choose a version
      No search result
      Version not found
    Sign in to link this note to GitHub
    Learn more
    This note is not linked with GitHub
     

    Feedback

    Submission failed, please try again

    Thanks for your support.

    On a scale of 0-10, how likely is it that you would recommend HackMD to your friends, family or business associates?

    Please give us some advice and help us improve HackMD.

     

    Thanks for your feedback

    Remove version name

    Do you want to remove this version name and description?

    Transfer ownership

    Transfer to
      Warning: is a public team. If you transfer note to this team, everyone on the web can find and read this note.

        Link with GitHub

        Please authorize HackMD on GitHub
        • Please sign in to GitHub and install the HackMD app on your GitHub repo.
        • HackMD links with GitHub through a GitHub App. You can choose which repo to install our App.
        Learn more  Sign in to GitHub

        Push the note to GitHub Push to GitHub Pull a file from GitHub

          Authorize again
         

        Choose which file to push to

        Select repo
        Refresh Authorize more repos
        Select branch
        Select file
        Select branch
        Choose version(s) to push
        • Save a new version and push
        • Choose from existing versions
        Include title and tags
        Available push count

        Pull from GitHub

         
        File from GitHub
        File from HackMD

        GitHub Link Settings

        File linked

        Linked by
        File path
        Last synced branch
        Available push count

        Danger Zone

        Unlink
        You will no longer receive notification when GitHub file changes after unlink.

        Syncing

        Push failed

        Push successfully