ipfs / team-mgmt

IPFS Team Planning, Management & Coordination threads
https://github.com/ipfs/team-mgmt/issues
Other
267 stars 97 forks source link

Sprint: March 7-20 #97

Closed RichardLitt closed 8 years ago

RichardLitt commented 8 years ago

Sprint March 7th -- 20th

Sprint Goals

Sprint Discussions

Schedule

Please take notes in a separate pad, if you can, and link it here.

Endeavour Lead Time (PDT - UTC/Z - CET) Pad
sync @RichardLitt 9:00pDT 17:00Z 18:00CET IRC: #ipfs on Freenode
apps on ipfs @dignifiedquire 10:30PDT 18:30Z 19:30CET https://public.etherpad-mozilla.org/p/ipfs-mar-7-apps-on-ipfs
infrastructure @lgierth 11:00PDT 19:00Z 20:00CET https://public.etherpad-mozilla.org/p/ipfs-mar-7-infrastructure
libp2p @diasdavid 11:30PDT 19:30Z 20:30CET https://public.etherpad-mozilla.org/p/ipfs-mar-7-libp2p
js-ipfs @diasdavid 12:00PDT 20:00Z 21:00CET https://public.etherpad-mozilla.org/p/ipfs-mar-7-js-ipfs
go-ipfs @whyrusleeping 12:30PDT 20:30Z 21:30CET https://public.etherpad-mozilla.org/p/ipfs-mar-7-go-ipfs

Please add the Agenda to the Pad before the endeavour sprint starts.

Sprint Deliverables

dignifiedquire commented 8 years ago

Apps on IPFS

Lead: @dignifiequire

Participants

Agenda

Notes

daviddias commented 8 years ago

Library Peer to Peer!

Lead: David Dias - @diasdavid

Participants

Agenda

Update

Next

daviddias commented 8 years ago

IPFS JavaScript Implementation

Lead: David Dias - @diasdavid

Participants

Agenda

Update

Next

ghost commented 8 years ago

Infrastructure

Lead: @lgierth

Participants

Agenda

Notes

daviddias commented 8 years ago

DAVID DIAS TODO

js-ipfs

js-ipfs-api

libp2p

npm on IPFS

IPLD

webui

specs

extra

haadcode commented 8 years ago

@haadcode sprint goals - 7-20 Mar

Summary

I'll be working on integrating orbit-db (1) to Orbit (2) in order to make sure orbit-db provides an easy embeddable p2p database for apps on IPFS. It also means I can refactor a huge bunch of the Orbit code and simplify the "backend" logic of the app as well as refactor the UI to a more manageable state. The overall goal is to make Orbit a little cleaner so that others can start contributing to is.

1) https://github.com/haadcode/orbit-db 2) https://github.com/haadcode/anonymous-networks

Tasks

Orbit
Pubsub
dignifiedquire commented 8 years ago

@dignifiedquires TODO

RichardLitt commented 8 years ago

Summary

I am going to focus on copy editing some of our blog posts that need to go out, because we should publish them and I think a little elbow grease will get them out the door. I will also be diving into js-ipfs and seeing if I can help out with building ipfs block there. Along with these I am going to be generally working through my backlog of issues and things to do.

Tasks

hackergrrl commented 8 years ago

@noffle Sprint Goals

Summary

I want to make headway on the "init" process for js-ipfs: this means getting a clear understanding of what initializing a repo means with respect to IPFS, resolving any non-existant dependencies, and implementing the initialization logic. I don't have a clear view yet on the full dependency graph for this, so I'll try and update this list as the amount of work involved becomes clearer.

I'd also like to build hyperarray: an ordered list CRDT built on a hyperlog. This will form the underlying document model for an ipfs-pad document. I've been largely inspired by r-array's design and API.

Tasks

js-ipfs

ipfs-pad

pm

nginnever commented 8 years ago

Summary

I want to continue to make progress with my understanding of IPFS. I feel I am at around 70% knowledge and this is keeping me from awnsering some of the bigger questions about data importing like what structures should a browser be able to use in lack of an fs.. yet should we use unixfs and such. I will be moving towards more defined tasks from the go implementation like building out more commands. Also starting to take a look at libp2p and networking. And spending some time with react and the webui to keep my application development chops in line.

P.S. Also want to work with those geniuses up there on pub/sub and CRDT systems

TODO

ghost commented 8 years ago

@lgierth todo

jbenet commented 8 years ago

@nicola and I will be having a hangout about IPLD this monday 3/14. interested researchers feel free to join. time TBD, probably after the general hangout. (@richardlitt if you can assign a time that would be great) cc @mildred if interested

nicola commented 8 years ago

@rychipman will join the IPLD meeting ^

RichardLitt commented 8 years ago

Set up for 3pm Eastern Time (Should be 8 CET, 7GMT) on Monday. In the calendar.

RichardLitt commented 8 years ago

Note: tomorrow is a mid-fortnight sprint. We will have a Google Hangout at 1pm EST, 6PM CET. Link will be posted in IRC.

nicola commented 8 years ago

@RichardLitt @jbenet could we shift the meeting on IPLD just about 30 minutes? (@rychipman can only make then)

mildred commented 8 years ago

I will join the IPLD meeting. Is it still 7pm UTC?

RichardLitt commented 8 years ago

@nicola Sure! Which way - forwards or backwards?

nicola commented 8 years ago

@RichardLitt 3:30 EST :)

RichardLitt commented 8 years ago

Done. Note: daylight savings affected the states. That mean sprint hangout will follow the calendar: 1pm EST, 10am PST, 5pm GMT, and 6pm CET.

RichardLitt commented 8 years ago

IPFS Sprint Mid-week hangout Notes

@diasdavid

Focus on Libp2p, interop with go-p2p. Work on libp2p swarm. The api has completely changed. Before, I was exposing a simple API like dial, and then internally it would figure out which transport to use. Now, instead, we expose these internal steps as different function calls. You still have the nice high-level API to the other peer, but there's a lot more stuff exposed. There's more tests, too, making swarm less brittle. So on that, you now have a swarm version ready. What I'm working now is getting the websocket transport to the new transport scheme, which resulted from this upgrade on p2p swarm.

https://github.com/diasdavid/js-libp2p-swarm/issues/24

This week

Go-p2p and js-p2p interop. Getting that done. If that goes well, he'll go into Bitswap. I might build bitswap on js-land, just to have some example code.

@dignifiedquire

@dignifiedquire has worked on the webui. He's got peers working, and all of the geolocation data is now fetched all through IPFS again. Mostly, he's been working on the files API. You can delete stuff, create files and folders.

Preview works: You can view text files, images, and videos. Anything that the browser could play for you, you can use in the webui.

This week

Getting the webui polished and finished. Also, fixing config. It was PRed by @sucha (TODO), who also worked on tests, and then Friedel broke it a bit.

@haad

Haads been working on Orbit and Orbit-db. Got it integrated into IPFS, so that's all working quite nicely on both sides. The turn around times are fairly good. It works, it loads.

There's a lot of bugs and things that need to be worked on. Thanks @noffle for bouncing ideas and giving feedback.

This week

Work on orbit; test @noffle's prototype and give feedback. No blockers.

@lgierth

Been sick recently, but everything that he's started is in progress. Not really finished yet, but getting there. Friday he's flyin go to New York.

Week in three words

Multireq, metrics, pages.

@nginnever

Lots of browser testing this week, for js-ipfs data importing and for js-merkledag. Everything is ok, except for one issue of not being able to find a function, although it works on @dignifiedquire's machine, but @diasdavid should be able to help. Also, writing tests for containers for the webui.

Next Week

Nat testing.

@noffle

Focused on ipfs-init working with js-ipfs. @noffle wrote a spec-like document showing how that works. He's also been thinking a lot of about the structure of distributed apps on top of IPFS. So, he's making a quick prototype of a distributed IPFS-powered wiki. If you're a reader, you just look through a gateway; if you're a publisher, you just publish a new root hash of the wiki. Might work well for a lot of applications. Inspired after playing with zeronet.

This Week

Finish this prototype, possibly work on the IPFS-Etherpad prototype.

@RichardLitt

PRed some things - went over all of the PRs in http-api-spec. Revieweed 0.4.0 blogpost and I need to do that again. Published the weekly. Started work on ipfs-block; also perused all of /faq and /support. Also hung out with @jbenet.

This week

Going to keep work on ipfs-block.

@whyrusleeping

Fixed a bug where IPFS would hang for large files; it was a multiplexer bug, in the end. There's a bug in Yamux which hasn't been fixed, where if you have too many in flight open streams, the connection will hang. If you raise that limit, the open ones will close down. The limit has been raised to around 16k, and merged that in, but there's still more to do there

This week

Ship 0.4.0. @RichardLitt needs to review stuff; Everyone to review the changelog. Other than that, should be pretty silent. Distributions to be updated, too.

daviddias commented 8 years ago

DAVID DIAS CHECK IN

following the summary check in format. For a complete task list done during this sprint, check https://github.com/ipfs/pm/issues/97#issuecomment-193680854.

This last sprint I had the chance to give a lot of time to js-ipfs and libp2p, with the goal of getting js-ipfs working on the browser and exchanging blocks with other js-ipfs nodes and go-ipfs nodes. I've made a lot of contributions and updates to: js-libp2p-ipfs, js-ipfs-data-importing, js-multiaddr, js-mafmt, js-peer-id, js-ipfs-repo, js-libp2p-swarm, js-libp2p-tcp, js-libp2p-utp, js-libp2p-websockets, js-libp2p-multiplex. These changes bubbled up to js-ipfs.

I've found some (really nasty) rabbit wholes when using spdy over websockets which I will explain more at the libp2p hangout, which made a good hit at my time planning.

Also had a good time hacking with @xicombd, good discussions and remote hacking/debugging with @nginnever, good conversations with @dignifiedquire and @nginnever which resulted in the understanding of the new IPFS JavaScript Project guidelines, and last but not the least, the IPLD hangout with a bunch of IPLD enthusiasts.

I've also got the chance to write and submit the paper for ICWE and organize and host the first Research & Development meetup in Lisbon.

RichardLitt commented 8 years ago

Summary

I feel my work has been a bit slow the past two weeks. I worked on the http-api-spec, some more, redoing ipfs object and opening a lot of PRs on go-ipfs. I also went through go-ipfs and added defaults to all of the options, which I think will help out in the future, and am getting a bit more comfortable with reading go. I've sent out two weeklies, and spent a lot of time helping organize the IPFS trip to New York for next week, and I spent a good amount of time going through ipfs/faq and ipfs/support checking up on all of the old issues which weren't updated. I did not get to help review the 0.4.0 ship, nor did I do significant work on js-ipfs block, which I am unhappy about. Hoping to get more work done this coming sprint, especially with the in-person coding time ahead.

Tasks

Extra

dignifiedquire commented 8 years ago

@dignifiedquire Update

My main focus this time was the webui. I have made some good progress on the files explorer interface, refactoring some code and writing more tests. I'm now working on cleaning up the UI, preparing mockups and plans for the final phase of the implementation.

After a some discussions and issues with our JavaScript setups I've started to create dignified.js which is going to be the module to help us have a unified testing, linting and building solution in all our JavaScript projects. This is an ongoing effort that I'm working on together with @diasdavid and @nginnever.

Also in addition after the great IPLD hangout last week I've started implementing parts of it in rust with the goal of finding a typesafe and general interface on how to define mappings between raw IPLD and higher level abstractions like unix-fs.

ghost commented 8 years ago

@lgierth sprint update

The past few weeks Berlin has been a huge drag on me, tons of org stuff to take care of, and was generally very easily distracted. My task list is testament to that :) I made a bit of progress on everything, but wasn't able to focus on any particular task very well. I feel quite energized though now that I'm in NYC, so I am to finish all of last sprint's stuff, and maybe a thing or two more.

My focus is still: v03x/v04x multireq stability, metrics, pages deployment, and cleaning up the mess which is the infrastructure repo.

We still seem to have subtle issues with v03x/v04x and multireq, which I haven't quite tracked down yet. One of them is timeouts, for which we have UptimeBuddy and Pingdom alerts in place now, as well as nginx-level metrics which are about to be ready. The other is performance/latency. I've taken the saturn host out of ipfs.io DNS for now, it's in DigitalOcean's Singapore datacenter which doesn't have the best connectivity it seems.

nginnever commented 8 years ago

@nginnever Update

This past week I continued to work on web testing the data-importing and merkle-dag modules. This kicked off conversation about new ways to handle our tests so that in the future things will be more consistent. Having this taken care of is allowing me to make much more progress now on jsipfs core.

I also began working on an export function for data-importing on a branch that will unMarshal our hashes and begin to pipe together streams of dag linked data for our files get and files cat commands.

Worked a bit with the webui but still need to study that type of react structure more to feel useful.

hackergrrl commented 8 years ago

Summary

Lots of reading and a few PRs this week some libp2p modules -- mostly usability improvements. Big accomplishment of the week is that the majority of the ipfs initialization logic for js-ipfs is now written.

Several of us (haad, jbenet, whyrusleeping, nginnever) discussed approaches to pubsub in more detail, and I did some further background reading on previous discussions across ipfs/* repos.

Last weekend I wrote a prototype wiki powered by IPFS. A few pieces are written so far, but the overall goal is to gain a better understanding of the functionality still missing in IPFS to make apps like these relatively simple.

Tasks

haadcode commented 8 years ago

@haadcode Sprint End Summary

I integrated orbit-db into Orbit and it's working nicely. Sending messages feels instantenous and responsive. With that, the "backend" code of Orbit is now a lot smaller and manageable. I was able to refactor the UI code of Orbit a little along the way but it still needs quite a bit of work. Orbit now has a nice new app icon for the desktop app and as a favicon in the browser. I refactored orbit-db a little by taking out the append-only log functionality into its own module (https://github.com/haadcode/ipfs-log) so that it can be used more easily as a building block in other apps, or eg. as a transport data structure for CRDTs.

Highlights

Tasks

Orbit
Pubsub
Extra
whyrusleeping commented 8 years ago

Spent most of my effort on getting 0.4.0 ready to ship. This involved lots of testing work, and also a lot of organizational stuff. I also did a large amount of performance analysis and have good ideas for improving perf overall moving forward. My list of weekly accomplishments feels short, many of these are rather large items.