Skip to content

Latest commit

 

History

History

POSTER_PROJECTS

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

📃 Poster Projects

Description

Poster Projects are one of the all time favorite IPFS events. These sessions are designed to propagate knowledge by having small teams of people explore one of the many pieces of the IPFS stack together, with the goal to understand it so well that they can present it to the whole group aided by a poster.

This session is inspired by the famous Feynman Technique, developed by Richard Feynman himself. The technique is simple and powerful, it suggests that for one to understand something well, they need to be able to explain it.


even more posters here

These sessions are a lot of fun, and enable you to meet new friends, learn in depth DWeb topics and overall boost your knowledge as a builder.

Instructions

Overview

  • Objective: Get people to learn some part of the code base in depth and through that process of learning, create materials that can be used by others to learn that part of the code base. Promote collaboration, knowledge transfer through deep dives and generation of materials that can be used by others in the future.
  • Activity: These sessions consist on gathering people into small groups (2~4) to explore and understand in depth one of the selected topics. At the end of the session, everyone should have a poster ready (this will be fun!). At the end of each day, all of the poster groups will give a one-minute presentation of their poster.
  • Outcome: The posters and discussions will then be converted into a blog post and published to https://blog.ipfs.io/.

How

Have fun working in small groups to create posters and other documentation, then give a one-minute presentation of your work.

  • Purpose: Get people to learn some part of the code base in depth and through that process of learning, create materials that can be used by others to learn that part of the code base.
  • Length: 1:45h
  • Details: During this session, use your time to learn some part of the code base in depth together with a small team of collaborators. Together, create a poster that others can use to learn about that part of the code base.

Some of the things to do during this session together with the other people on your poster team:

  • Review any formal documentation relevant to the topic you've chosen
  • Find and read all the "pseudo-specs" -- gather and read through all the partial documentation that's floating around. Discuss it together.
  • Look through the related code
  • Look for relevant reference materials: papers, recordings of talks, etc.
  • Clarify and test your understanding by discussing all of this information
  • Interact with experts in the room - people like Tech Leads will be circulating around the groups
  • Compile all of this information into something that's easy to consume (a poster)
  • Plan how this information can be incorporated into the existing documentation and repositories.
  • Choose who will present your poster.
  • If you have time, submit a PR with your new info into the corresponding repository.

At the end of the day, each group will have 1 minute to present their poster. Make sure to choose in advance who will be presenting.

How you will choose which poster to work on

Poster teams should have a maximum of 4 people and a minimum of 2. People will choose which poster to work on using this process:

  • For this event we have a list of topics below.
  • The meeting organizers will draw a spot on the ground for each of the poster topics.
  • Before the start of the session, everyone must stand on the poster topic they want to work on. If more than five people try to join a topic, you must re-balance people to other topics.
  • When everyone has chosen a topic and no topics have more than five people, write down the list of participants for that topic.
  • Take a flip chart, markers, etc and work wherever you want to work.

Topics

Topic Owner Description
Unixfs mikeal @mikeal Unixfs is the data format used to represent unix-like data in IPFS.
The design of the IPFS Repo dignifiedquire @dignifiedquire A repo is the storage repository of an IPFS node. It is the subsystem that actually stores the data IPFS nodes use.
Swarming (concept) mburns @mburns Swarming is a software method that takes advantage of multiple peers (the "swarm") to fulfill a task which may be easily distributed.
Bitswap jacobheun @jacobheun Bitswap is the data trading module for IPFS. Its purpose is to request blocks from and send blocks to other peers in the network.
Pinning & GC on IPFS Kubuxu @Kubuxu IPFS nodes treat the data they store like a cache, meaning that there is no guarantee that the data will continue to be stored. Pinning a CID tells an IPFS server that the data is important and mustn’t be thrown away.
HTTP gateways autonome @autonome An IPFS Gateway acts as a bridge between traditional web browsers and IPFS.
go-ipfs Infrastructure stebalien @stebalien This topic should cover what it takes to initialize a go-IPFS node, and connect it to a public P2P network.
js-ipfs Infrastructure alanshaw @alanshaw This poster should cover what it takes to initialize a go-IPFS node, and connect it to a public P2P network.
Mutable File System (MFS) leshokunin @leshokunin Mutable File System (MFS) is a tool built into IPFS that lets you treat files like you would a normal name-based filesystem.
KeyStore gozala @gozala A secure and simple way of storing and managing keypairs (for IPFS services).
IPFS Nodes carsonfarmer @carsonfarmer A general overview of what it means to be/implement an IPFS node.
Rendezvous Protocol stefanhans @stefanhans The Rendezvous protocol is intended to provide a lightweight mechanism for generalized peer discovery.
Libp2p Connection Flow raulk @raulk Libp2p uses a multitude of techniques and protocols to connect peers together.
Circuit Relay ianopolous @ianopolous The circuit relay is a means to establish connectivity between libp2p nodes (e.g. IPFS nodes) that wouldn't otherwise be able to establish a direct connection to each other.
IPFS DHT gpestana @gpestana IPFS uses a Distributed Hash Table (DHT) to keep track of various types of data, such as content provider records.
IPNS aschmahmann @aschmahmann IPNS is a system for creating and updating mutable links to IPFS content.
IPFS/Libp2p content routing bigs @bigs The IPFS routing system utilizes "content provider records" hosted on a distributed key-value store to resolve content providers.
IPFS/libp2p PubSub whyrusleeping @whyrusleeping Publish-Subscribe, called ‘pubsub’ for short, is a pattern often used to handle events in large-scale networks.
IPFS Cluster meiqimichelle @meiqimichelle IPFS Cluster is a stand-alone application and a CLI client that allocates, replicates, and tracks pins across a cluster of IPFS daemons.
IPFS HTTP API libs hugomrdias @hugomrdias IPFS nodes expose an API that developers can use to quickly change between a local and a remote node without having to change their applications.
Core API & ipfsx olizilla @olizilla New API's that are similar to the HTTP APIs but are higher level and not dependant on a single IPC method.
CRDTs parkan @parkan A "Conflict-free replicated data type" is a data structure which can be replicated across multiple computers in a network, without conflicts!
PeerPad internals jimpick @jimpick PeerPad is a decentralized editor that allows concurrent writing of text.
Textile internals andrewxhill @andrewxhill Textile is a set of tools and trust-less infrastructure for building censorship resistant and privacy preserving applications.
IPLD Resolver lanzafame @lanzafame IPLD resolvers handle IPLD formatted objects via a common interface, allowing for cross compatibility between formats and resolvers.
IPLD Selectors maparent @maparent IPLD Selectors are expressions that identify ("select") a subset of nodes in an IPLD dag. i.e. subsets of IPLD objects.
DAG walking facilities in IPLD warpfork @warpfork The goal of IPLD is to enable decentralized data-structures that are universally addressable and linkable.
Graphsync b5 @b5 A protocol to synchronize graphs across peers.
The intricacies of DWeb Addressing lidel @lidel Systems like IPFS use hashes of data to reference content by itself, rather than by an arbitrary location/name. With this comes compatability and human concerns around referencing data.
NPM-on-IPFS achingbrain @achingbrain Let's take NPM and put it on IPFS.

Topic description template

(If you would like to propose a topic, add them under camp/POSTER_PROJECTS/topic-<topic-name>.md)

# <TOPIC NAME>

<Topic description: what it is, where it gets used, etc.>

## Questions to Answer

<Series of questions to which the group should look answers for>

## Where to learn about it

<List of websites, code repos, communities, notes, etc.>

Example:

# Inter-Planetary File System (IPFS)

A peer-to-peer hypermedia protocol to make the web faster, safer, and more open.

## Questions to Answer

What is IPFS? What can I use it for? How does it impact various peoples and tasks?

## Where to learn about it

https://ipfs.io/
https://github.com/ipfs/
https://docs.ipfs.io/#community
IRC: #ipfs, #ipfs-dev