jbenet changed the topic of #ipfs to: IPFS - InterPlanetary File System - https://github.com/jbenet/ipfs -- channel logged at https://botbot.me/freenode/ipfs/ -- code of conduct at https://github.com/ipfs/community/blob/master/code-of-conduct.md -- sprints + work org at https://github.com/ipfs/pm/ -- community info at https://github.com/ipfs/community/
<jbenet> yeah the go type system isnt made for this type of polymorphism.
<jbenet> you can do it, but have to work around things
tilgovi has joined #ipfs
ashleyis has quit [Quit: WeeChat 1.2]
ashleyis has joined #ipfs
zabirauf has joined #ipfs
<whyrusleeping> well, the go type system handles it just fine, but i just wasnt using it right
<whyrusleeping> the BatchingDatastore needs to be derived from the standard Datastore
<whyrusleeping> also, constructor methods should try and return concrete types if they can, it makes this stuff easier
<whyrusleeping> that way i dont have to type check a NewFlatFS() call up to a BatchingDatastore if it just returns a Datastore
zabirauf has quit [Ping timeout: 265 seconds]
<jbenet> makes sense
<jbenet> whyrusleeping: take a look at https://github.com/ipfs/go-ipfs/pull/1428 -- trying to modularize things
<jbenet> whyrusleeping: also, down to go over all the PRs whenever-- maybe thats a good thing to do before modularizing
tilgovi has quit [Remote host closed the connection]
patcon has joined #ipfs
zabirauf has joined #ipfs
Wallacoloo has joined #ipfs
zabirauf has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
hellertime has quit [Quit: Leaving.]
temet has quit [Ping timeout: 244 seconds]
temet has joined #ipfs
<whyrusleeping> jbenet: wanna do that in the morning?
<whyrusleeping> i'll be downtown at 8ish
chriscool has joined #ipfs
patcon has quit [Ping timeout: 265 seconds]
sharky has quit [Ping timeout: 246 seconds]
gunn has joined #ipfs
sharky has joined #ipfs
chriscool has quit [Ping timeout: 264 seconds]
reit has quit [Ping timeout: 252 seconds]
Wallacoloo has quit [Ping timeout: 250 seconds]
mildred has joined #ipfs
pfraze has quit [Remote host closed the connection]
mildred has quit [Client Quit]
mildred has joined #ipfs
zabirauf has joined #ipfs
mildred has quit [Client Quit]
mildred has joined #ipfs
zabirauf has quit [Ping timeout: 244 seconds]
zabirauf has joined #ipfs
zabirauf has quit [Ping timeout: 246 seconds]
temet has quit [Quit: Leaving]
stackmutt has quit [Remote host closed the connection]
stackmutt has joined #ipfs
domanic has joined #ipfs
konubinix has quit [Quit: ZNC - http://znc.in]
ashleyis has quit [Ping timeout: 246 seconds]
therealplato1 has quit [Quit: Leaving.]
<lgierth> gm
konubinix has joined #ipfs
domanic has quit [Ping timeout: 265 seconds]
MatrixBridge has quit [Remote host closed the connection]
MatrixBridge has joined #ipfs
MatrixBridge has quit [Remote host closed the connection]
MatrixBridge has joined #ipfs
hellertime has joined #ipfs
MatrixBridge has quit [Remote host closed the connection]
MatrixBridge has joined #ipfs
<ipfsbot> [webui] aral opened pull request #67: Updated README to fix the clone URL. (master...patch-1) http://git.io/vtw8d
m0ns00n has joined #ipfs
<m0ns00n> Yo peeps!"
uhhyeahbret has quit [Ping timeout: 252 seconds]
<lgierth> daviddias: jbenet: whyrusleeping: ralphtheninja: camp tickets are on sale *now*, should i order 5 and let jbenet do the wiring?
<lgierth> "Tickets reserved on the presale system have a payment deadline of 10 days, after which they go back into the ticket pool."
uhhyeahbret has joined #ipfs
<m0ns00n> Have you guys seen our video yet? For FriendUP?
<m0ns00n> I think this could be a great platform for users to use IPFS
<lgierth> krl: cryptix: you too ^
reit has joined #ipfs
therealplato has joined #ipfs
mildred has quit [Read error: No route to host]
mildred has joined #ipfs
<daviddias> morning :)
<daviddias> m0ns00n: which video?
<daviddias> :)
<m0ns00n> Coming up! :)
<m0ns00n> After get the whole picture
se3000 has joined #ipfs
domanic has joined #ipfs
lgierth has quit [Quit: WeeChat 1.0.1]
pfraze has joined #ipfs
MatrixBridge has quit [Remote host closed the connection]
MatrixBridge has joined #ipfs
lgierth has joined #ipfs
lgierth has quit [Client Quit]
ashleyis has joined #ipfs
MatrixBridge has quit [Remote host closed the connection]
MatrixBridge has joined #ipfs
se3000 has quit [Quit: se3000]
barnacs has quit [Ping timeout: 272 seconds]
<ralphtheninja> lgierth: thanks for letting me know, I'll check it out
lgierth has joined #ipfs
lgierth has quit [Quit: WeeChat 1.0.1]
lgierth has joined #ipfs
pfraze has quit [Remote host closed the connection]
pfraze has joined #ipfs
ashleyis_ has joined #ipfs
ashleyis has quit [Quit: WeeChat 1.2]
ashleyis_ has quit [Quit: ZNC - http://znc.in]
ashleyis has joined #ipfs
<whyrusleeping> m0ns00n: is your video in ipfs yet? :P
<m0ns00n> whyrusleeping: That'd be awesome! But no. I don't have a working setup yet - too little time on my hands right now. But my other developers are looking into ipfs for sure
<m0ns00n> whyrusleeping: I think the combo with a distributed desktop, using ipfs, would be great
<whyrusleeping> m0ns00n: once ipns is solid i'm going to try using ipfs as my home directory and see how it goes.
<whyrusleeping> might be difficult to actually have my primary users homedir on ipfs though, i would have to start ipfs as a root level daemon before login...
MatrixBridge has quit [Remote host closed the connection]
MatrixBridge has joined #ipfs
Taek has quit [Quit: No Ping reply in 180 seconds.]
<m0ns00n> whyrusleeping: did you see a screenshot of our desktop?
<m0ns00n> whyrusleeping: it has some cool features
Taek has joined #ipfs
<m0ns00n> whyrusleeping: working on the gnome and mac and windows themes now
<m0ns00n> Also need to get a "browser like" folder navigation implemented
MatrixBridge has quit [Remote host closed the connection]
<m0ns00n> The target is for a december release, with a linux X session version for some months after
MatrixBridge has joined #ipfs
mildred has quit [Ping timeout: 272 seconds]
<whyrusleeping> m0ns00n: yeah, i've seen it. some pretty cool stuff! although i dont claim to understand the system very well, where is the compute hosted?
Taek has quit [Quit: No Ping reply in 180 seconds.]
MatrixBridge has quit [Remote host closed the connection]
MatrixBridge has joined #ipfs
<bret> anyone know what this error means?
Taek has joined #ipfs
<bret> a bunch of them were emitted from the daemon
jibber11 has joined #ipfs
<m0ns00n> whyrusleeping: on your own computer - or if you want access to an already setup cluster, at friendos.com
<whyrusleeping> bret: thats an interesting one
<whyrusleeping> what it means is that your node has a connection to (or information about a peer), but the addresses you know for that peer have expired
<whyrusleeping> so your node is basically saying "i know about this peer, but i have no idea how to contact them anymore"
<m0ns00n> whyrusleeping: so our commercial strategy is to make available already setup clusters, but if you want to be totally private, or have all control. you just download it and install it on your own computer
<bret> whyrusleeping: heh interesting
<whyrusleeping> m0ns00n: interesting, how well does a remote cluster perform latency-wise?
<whyrusleeping> bret: yeah, its more NAT busting fun
<bret> i put the ipfs node in front of my NAT in theory
<m0ns00n> whyrusleeping: That depends what you're doing. Our kernel server taps into services, depending on what you want
<bret> as a default host
<whyrusleeping> yeah, its not NAT busting for you, its NAT busting for everyone else basically
<m0ns00n> whyrusleeping: but if you're just using file activity, it's very fast
<whyrusleeping> youre choosing not to send potentially bad addresses to people to dial
<whyrusleeping> m0ns00n: okay, to access the cluster, i assume i run some sort of client program locally, right?
<m0ns00n> whyrusleeping: you run a server locally, that connects to the other servers. Each server can also be a client
<m0ns00n> whyrusleeping: and if you connect through a web browser to localhost, you get a desktop environment where you can set things up
<m0ns00n> whyrusleeping: or you can just ssh into it
<m0ns00n> whyrusleeping: and get into it's own dos environment
<m0ns00n> whyrusleeping: the server treats everything like file systems
<whyrusleeping> m0ns00n: okay, neat. i'm assuming you would *prefer* the local server for things that are latency sensetive, yeah?
<m0ns00n> whyrusleeping: so you can use it through the web gui, or command line through ssh, or even through the command line in the desktop environment
<m0ns00n> whyrusleeping: yes, or on the lan
<m0ns00n> whyrusleeping: we're experimenting with this until october, when the early access is opened to pledgers
<whyrusleeping> awesome, i've been thinking about a system like that for a long time.
<whyrusleeping> i've always wanted a single desktop computer made up of many different computers
<m0ns00n> whyrusleeping: Yes me too :) that's why we're building it. and it has the same dos syntax on each OS :)
<m0ns00n> whyrusleeping: we're abstracting everything this way
<whyrusleeping> are you going to be able to migrate processes to other machines if theyre long running enough?
<m0ns00n> whyrusleeping: our "dos drivers" are abstracting all subsystems in a coherent way
<m0ns00n> whyrusleeping: yes one of the features we're focusing on is to have mobile apps, that can be moved between servers
<whyrusleeping> thats fantastic
<m0ns00n> whyrusleeping: and our highlevel language will give you the ability to restructure apps while they are running
<whyrusleeping> so you can set machine affinity of threads just like you set cpu affinity now?
<m0ns00n> whyrusleeping: because the app to app messaging system is scriptable in JS or other languages
<m0ns00n> you're talking low level - this might be possible, but we're focusing on apps running in virtual, mobile environments right now
<m0ns00n> so you don't have to rewrite the apps
<m0ns00n> but scripted apps will be easy to move
<m0ns00n> did you look at our movie?
<m0ns00n> You'll be able to do: var f = new File( 'Facebook:contacts/john/lastmessage' ); var string = f.read();
<m0ns00n> And many other things
<m0ns00n> So we're making everything available in the dos layer
<whyrusleeping> m0ns00n: i think i saw it, yeah. the one on kickstarter?
<m0ns00n> you'll mount anything, program with everything
<m0ns00n> Yes
<m0ns00n> whyrusleeping: Super early preview of the responsive design: http://pasteboard.co/1AsZhIAh.jpg
<m0ns00n> whyrusleeping: So you'll gracefully get your apps automatically made responsive
<m0ns00n> whyrusleeping: so if you make a friendup app, it will be available for all web engines, all devices (mobile, TV, etc) - with different themes
<whyrusleeping> m0ns00n: interesting
<m0ns00n> if you like it; help us on the kickstarter and buy "us a beer" :) hehe
<m0ns00n> we'll need it =)
<mmuller_> m0ns00n: this sounds a lot like something I've been thinking of lately, what's your kickstarter page?
<m0ns00n> To be honest, we need input on how to best explain this. Because it's different things for different people. And many people react negatively to the aspects they don't need, even though there are aspects they do need :)
<whyrusleeping> m0ns00n: i clicked the green button :P
<m0ns00n> whyrusleeping: I think I love you now ;)
<whyrusleeping> hahaha, get hacking! i want my portable OS now
<m0ns00n> Working day and night my friend :)
<m0ns00n> Greatly appreciated
<m0ns00n> Perhaps you guys can help us to get the best out of ipfs
<m0ns00n> We're usually hanging around in #friendup
<whyrusleeping> i think i could idle there
<m0ns00n> Awesome! You're very welcome :)
<mmuller_> yeah, this looks very much like something I've been visualizing. Thanks for implementing it for me :-)
<m0ns00n> :)
<m0ns00n> Hehe
<m0ns00n> Ok
<m0ns00n> dinner time
<m0ns00n> I will be on later :)
m0ns00n has quit [Quit: Leaving]
jonl has quit [Excess Flood]
jonl has joined #ipfs
jonl has quit [Excess Flood]
jonl has joined #ipfs
PayasR has joined #ipfs
<PayasR> hi!
<whyrusleeping> PayasR: heyo
uhhyeahbret has quit [Quit: WeeChat 1.2]
patcon has joined #ipfs
Encrypt has joined #ipfs
<jbenet> hey lgierth o/ -- re ccc, yeah that sounds good. let's figure out by email maybe?
<lgierth> jbenet: ok i'll send you the details
<lgierth> bbiab
<jbenet> sounds good!
dread-alexandria has joined #ipfs
mildred has joined #ipfs
notduncansmith has joined #ipfs
notduncansmith has quit [Read error: Connection reset by peer]
mildred has quit [Ping timeout: 256 seconds]
<jbenet> \\ sprint planning beginning in 8min //
jibber11 has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
<krl> o/
<whyrusleeping> \o
<lgierth> i'm here
<jbenet> roll call: daviddias cryptix wking chriscool rht harlantwood
notduncansmith has joined #ipfs
notduncansmith has quit [Read error: Connection reset by peer]
<daviddias> I'm here
* whyrusleeping feels left out
<jbenet> okay, last week we thought that we could all look over our stuff and prepare our update so this part goes faster
jibber11 has joined #ipfs
<jbenet> so, take a couple min to look over last week, prep update and then i'll start in order of the etherpad (whyrusleeping first) -- etherpad for this week: https://etherpad.mozilla.org/kKFTHJz4xu
<lgierth> k give me 3... guess who forgot about that part
<lgierth> ahyup
<jbenet> Okay whyrusleeping want to go?
<whyrusleeping> sure thing
<whyrusleeping> So, this week i implemented a --only-hash option on ipfs add, to provide a quick way to rehash a file
<whyrusleeping> I implemented a mark and sweep garbage collection for our blockstore so we can not have to deal with indirect pins anymore
<whyrusleeping> i have a WIP batching interface for the datastore, and the flatfs implementation gets a nearly 3x perf boost on my SSD :)
<whyrusleeping> go-multistream integration didnt progress much this week
<whyrusleeping> aaand then i went camping and it was great!
<jbenet> on the gc-- did you get a chance to write up the doc/comment explaining the algo?
<whyrusleeping> yeap!
<whyrusleeping> its pushed
<jbenet> sgtm, will CR today
<whyrusleeping> +1
<jbenet> on the batching, how long will it take from here to have it in?
mildred has joined #ipfs
<whyrusleeping> could be done by noon with CR
<jbenet> sgtm, and go-multistream, what's the blocker on that?
<whyrusleeping> uhm, you were going to take a look at the integration next i beleive
<jbenet> ah right \o/
<whyrusleeping> lol
<whyrusleeping> jbenet: youre blocking me!
<jbenet> i'll TAL today
<jbenet> ok sounds good. anything else?
* whyrusleeping tries to think
<whyrusleeping> oh, i pushed a PR to remove an unused package
<jbenet> whyrusleeping ok sounds good.
<jbenet> ok next, krl?
<krl> ok
<krl> so, addressed most of the CR for electron html menu, made an issue about the last one
<krl> started working on ipfs-app, which will be a tool library you can npm import to write apps for ipfs
<krl> latest starlog proposal with mockups: https://gist.github.com/krl/db3f08263bcb63327258
<krl> that's about it. will be going on with ipfs-app, turning the webui, and the single webui components into ipfs-apps
<jbenet> great! sgtm -- anything waiting on the CR? or am i good to merge?
<krl> nothing waiting atm
<jbenet> ok cool, i'll merge it.
<krl> cool, over and out
<jbenet> on ipfs-app, sounds great, maybe we can write up a short interface in an github.com/ipfs/notes or in its own repo or something, so we can comment up front on things?
<krl> yep, it's not completely clear exactly how the interface will work yet, but i've abandoned the js global approach
<krl> the idea is that the app has a .init: function (ipfs, mountpoint) { }
<krl> where ipfs is the full api, or a subset thereof
<krl> (auth, readonly, etc)
<jbenet> ah sounds good
<krl> then browserify turns it into something you can fetch over ipfs and execute in context
<krl> did this before for funboot with good results
<jbenet> great!
<jbenet> re: starlog, looking good -- maybe we can make it an issue in a repo somewhere and discuss more + make task list for people. (i can do some of the design + looking around for blog tools we can reuse)
<krl> yeah, i did the mock with quill, which seems pretty solid.
<jbenet> i think we should have something ready there that people can use before CCC. we can get more people interested in this is there's too much to do
<krl> we have to think about what format we want to use also, general html is probably not a good idea. not sure
<krl> agreed
<krl> keystore would be a blocker for starlog though
<jbenet> yeah, we should look at what flexibility other tools provide. i suspect {markdown + wysiwyg + basic css styling} is 80% of what people expect
<lgierth> [snip]
<jbenet> {keystore, dht, ipns} triple threat
<krl> and of course, we need custom formats for quotes and such
<jbenet> thanks lgierth yep
notduncansmith has joined #ipfs
<jbenet> ok lets carry on this discussion later
<jbenet> anything else krl?
notduncansmith has quit [Read error: Connection reset by peer]
<krl> nop
<lgierth> :)
<jbenet> sgtm. cryptix around?
<lgierth> probably on the way from fusion festival (or still there)
<jbenet> ok lgierth \o/
<lgierth> k c&p incoming
<lgierth> - monitoring of gateway.ipfs.io nodes: 1) established a secure channel between the nodes by peering them via cjdns, so that metrics can be exposed safely, to whitelisted nodes only, 2) prepared go-ipfs to expose metrics via prometheus, 3) prepared one gateway node to run the prometheus daemon which collects the metrics and serves graphs
<lgierth> - 1 is done, 2 is reviewed and pending an update from my side, about to be done, and 3 is work-in-progress
<lgierth> - also fixed a bug in how nginx.conf referenced its upstream, which came up on jupiter whose hostname is not jupiter :)
<lgierth> - on more pending task is the publishing of the gateway ansible scripts, everything's prepared
<lgierth> - on the cjdns front, at least a bit happened, the gateways are now peered to the hyperboria network, via my cjdns nodes in amsterdam
<lgierth> - i didn't get to pick up "discover peers from cjdns" again yet (https://github.com/ipfs/go-ipfs/pull/1316)
<lgierth> - what's the place to talk about cjdns? i assume protocol+spec?
<lgierth> c&p eof
<jbenet> all sounds great!
<jbenet> anything blocking on 2/3 ?
<jbenet> +1 on the bugfix. we can switch the hostname back to what it's supposed to be (jupiter) -- it should be consistent.
<lgierth> not really. https://github.com/protocol/infrastructure/pull/68 could use a CR, it depends on the the PR in go-ipfs though
<jbenet> and on cjdns, i think it's relevant to discuss free form in github.com/ipfs/notes and push to a spec once there's something semi concrete
<lgierth> i'll assign to you
<lgierth> also +1 on fixing the hostname itself, good point :)
<jbenet> sounds good
<lgierth> re cjdns, i'd like to take a week or two and document what cjdns actually speaks
<lgierth> cause there's no up-to-date documentation on that at all
<ipfsbot> [go-ipfs] whyrusleeping force-pushed feat/batching-ds from 666bfd5 to 05d7b90: http://git.io/vtlzk
<ipfsbot> go-ipfs/feat/batching-ds 05d7b90 Jeromy: WIP: use batching transaction interface from datastore...
<lgierth> and thus not really a solid base for discussion
<jbenet> yeah that'd likely be useful -- in particular, interested in in-app (embedded cjdns) use cases.
<jbenet> sounds good. anything else?
<lgierth> nop
<jbenet> ok jbenet
headbite has joined #ipfs
<jbenet> I CRed all the things people asked for (listed on my todos)
<jbenet> In process of making a listing + diagrams for the various IPFS modules and how they fit together https://github.com/ipfs/specs/pull/15/files which will be pretty important for understanding how ipfs works + implementing node-ipfs
<jbenet> improved github.com/whyrusleeping/multiaddr-filter
<jbenet> also setup ipfs basecamp in seattle for july (whyrusleeping, daviddias and i are here)
<jbenet> on the listing + diagrams, i should do one more pass and make sure it's all there, (things are missing)
<jbenet> modularizing can wait until after we merge the tons of outstanding PRs
<whyrusleeping> +1
<jbenet> and i started on making the iprs records package, (to demonstrate how it's meant to work AND implement it)
<jbenet> but didnt get far.
<jbenet> ok next. wking, around?
<jbenet> chriscool - rht - harlantwood ?
<jbenet> (will catch up with you guys as you arrive)
<jbenet> daviddias i think you're up
<daviddias> sure :)
<wking> I haven't done much since the module graphic (specs#13)
<jbenet> (wking: ok, maybe we can discuss them later today)
<wking> sure
<daviddias> So, after coming from MediterraneaJS, I've been working on the SPDY interop thing. The go client (based on docker/spdystream) can successfully connect the node.js server and write to the stream, however, there is still something missing when the server tries to reply back (the go client never gets it)
<daviddias> both node client and server seem to be communicating fine (just now)
<daviddias> there are somethings that we need to be aware when using spdy-transport, since it is not only "the framing layer" but actually the full thing with the option to "bring your own socket"
<daviddias> spdy-transport still expects things like methods and paths to be passed upon a request
<jbenet> nice, good to hear.
<jbenet> ok maybe we can discuss more + debug that later today
<jbenet> sounds good, anything else?
dread-alexandria has quit [Quit: dread-alexandria]
<daviddias> been working in spdy parser tests - https://github.com/indutny/spdy-transport/pull/3
<daviddias> one thing to note is that due to the compromisse of having a full abstraction over all spdy versions + http2, frames are not actually parsed as they should be
<daviddias> for example, a "SYN_STREAM" is parsed into a "HEADERS"
<daviddias> this is abstracted by the connection.js object (but took me time to figure out that)
<jbenet> let's maybe discuss all this more in depth at node-ipfs section + end the "sprint planning" part
<jbenet> (but yeah, that's interesting to know/discuss)
<daviddias> right! :)
<jbenet> ok anyone else?
Tv` has joined #ipfs
<jbenet> (daviddias is the last one listed on the sprint)
<daviddias> The other thing I worked on was the DHT spec (since I was blocked a bit on the spdy land) - https://github.com/ipfs/specs/pull/14
<jbenet> daviddias: ah nice! i'll take a look again and try to answer any parts.
<daviddias> still need to make it more complete (diagrams, API calls descriptions )
<jbenet> let's maybe discuss routing + records and how they fit into the dht
<daviddias> sgtm :)
<jbenet> ok, great. anything else from anyone for sprint planning?
notduncansmith has joined #ipfs
<jbenet> ok, looks like we're done
notduncansmith has quit [Read error: Connection reset by peer]
<jbenet> sprint discussion times here: https://github.com/ipfs/pm/#sprint-discussion-schedule with one change, the bitswap-ml chat will likely be at 17:30PDT this week.
<lgierth> jbenet: do you wanna discuss spec'ing cjdns or should i just write down what i wanna spec in notes.git, and go ahead?
<jbenet> krl: we may want to fix times for the "remaining to schedule" parts
<jbenet> lgierth: maybe throw something onto notes and we can discuss from there? (either in gh or realtime)
<lgierth> ack
<krl> jbenet: my preference would be to have the video call for us europeans first
stackmutt has quit [Remote host closed the connection]
stackmutt has joined #ipfs
<jbenet> krl: yeah that makes sense. want to propose changes to the schedule?
<lgierth> i'm fine pushing infrastructure back a bit if there's need for an early slot
<ipfsbot> [go-ipfs] whyrusleeping force-pushed feat/batching-ds from 05d7b90 to 2001251: http://git.io/vtlzk
<ipfsbot> go-ipfs/feat/batching-ds 2001251 Jeromy: WIP: use batching transaction interface from datastore...
<krl> change would be tack the three unscheduled things either before or aftor infrastructure, and node-ipfs
<jbenet> krl: we could add one of them before, two may be pushing it, sometimes we run into this time
<krl> i think ipfs node app, and apps on ipfs could be pretty much one slot also
tilgovi has joined #ipfs
<jbenet> krl: maybe we can split a 30min slot for both electron + ipfs apps
<jbenet> yep yep +1
<jbenet> ok let's put that _before_ infrastructure
<jbenet> do we need a data structs chat this week?
<jbenet> (my guess is no)
<krl> i'm up for skipping it
<krl> i have some ideas brewing that i need to write up soon though
<jbenet> ok sounds good!
<lgierth> <ansuz> up to 214 unique nodes since yesterday
<krl> (more and more convinced of streamstack)
<lgierth> <larsg> ok so ipfs.io is officially ~4 % of the network
<jbenet> lgeirth: a) im not sure net diag works 100%, b) lots of nodes come in and out per day (gateway/bootstrapper metrics will help fix that), and c) i'm aware of several private networks.
<jbenet> krl: sounds good
<jbenet> krl: want to push a change to github.com/ipfs/pm adding your slot/
<lgierth> jbenet: oh that's hyperboria
<jbenet> ojhhhh
<jbenet> ok
<jbenet> :D
<lgierth> :)
<jbenet> lgierth: +1 on being 4% of the network
<jbenet> <3
Encrypt has quit [Quit: Quitte]
<krl> jbenet: yep
<jbenet> ok, whyrusleeping daviddias and i are getting food. bbiab (i'll be back before our chat krl)
<krl> hmm, in 15m?
kbala has joined #ipfs
stackmut_ has joined #ipfs
barnacs has joined #ipfs
notduncansmith has joined #ipfs
notduncansmith has quit [Read error: Connection reset by peer]
stackmutt has quit [Ping timeout: 272 seconds]
jibber11 has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
jibber11 has joined #ipfs
notduncansmith has joined #ipfs
notduncansmith has quit [Read error: Connection reset by peer]
<krl> back in 20.
<jbenet> Ok back
<jbenet> krl: sry- went to get food. back now, but looks like you're afk now.
domanic has quit [Read error: Connection reset by peer]
<bret> has anyone written a babies first merkle dag? or a merkle-dag handbook?
<jbenet> bret: not yet! we totally should
<krl> here now
<krl> jbenet:
<jbenet> btw krl: if audio keeps being bad, we can type
domanic has joined #ipfs
jibber11 has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
domanic_ has joined #ipfs
notduncansmith has joined #ipfs
notduncansmith has quit [Read error: Connection reset by peer]
<sprintbot> Sprint Checkin! [whyrusleeping jbenet cryptix wking lgierth krl kbala_ rht__ daviddias dPow chriscool gatesvp]
<lgierth> jbenet: ack
<jbenet> sprintbot: you're late
<lgierth> there was this bot thing right
<jbenet> whyrusleeping: maybe we can make sprintbot special case monday.
<jbenet> whyrusleeping: yeah come into infra to discuss bots
<whyrusleeping> sprint checkin: changed interface for batching datastores to be separate
jibber11 has joined #ipfs
notduncansmith has joined #ipfs
notduncansmith has quit [Read error: Connection reset by peer]
domanic_ has quit [Quit: Leaving]
www1 has quit [Ping timeout: 246 seconds]
uhhyeahbret has joined #ipfs
www has joined #ipfs
domanic has quit [Ping timeout: 264 seconds]
notduncansmith has joined #ipfs
notduncansmith has quit [Read error: Connection reset by peer]
Encrypt has joined #ipfs
atrapado has joined #ipfs
atrapa has joined #ipfs
atrapado has quit [Disconnected by services]
atrapa is now known as atrapado
jibber11 has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
jibber11 has joined #ipfs
notduncansmith has joined #ipfs
notduncansmith has quit [Read error: Connection reset by peer]
<jbenet> whyrusleeping and I will be a few min late to go-ipfs hangout
atrapado has quit [Ping timeout: 264 seconds]
mildred has quit [Ping timeout: 255 seconds]
atrapado has joined #ipfs
jibber11 has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
jibber11 has joined #ipfs
notduncansmith has joined #ipfs
notduncansmith has quit [Read error: Connection reset by peer]
mildred has joined #ipfs
notduncansmith has joined #ipfs
notduncansmith has quit [Read error: Connection reset by peer]
mildred has quit [Ping timeout: 264 seconds]
headbite has quit [Quit: Leaving.]
jibber11 has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
jibber11 has joined #ipfs
<jbenet> testing + ci hangout https://plus.google.com/hangouts/_/gwn656w2cihn7lekdarfzhaquea (if anyone's interested)
<spikebike> somewhat, kinda busy now though. Triggering jenkins to build/test on each commit is working well for me
headbite has joined #ipfs
dread-alexandria has joined #ipfs
notduncansmith has joined #ipfs
notduncansmith has quit [Ping timeout: 246 seconds]
<whyrusleeping> great... it looks like multiplex uses a custom varint format
<jbenet> whyrusleeping take a look at modules/components/components.004.jpg in the link above \o
<whyrusleeping> no
<jbenet> that's how we resolve the "circular" problem with making the records be merkledag objects
notduncansmith has joined #ipfs
notduncansmith has quit [Read error: Connection reset by peer]
mildred has joined #ipfs
<jbenet> hey kbala -- we had sprint planning earlier today (see https://github.com/ipfs/pm/pull/16) -- and as a consequence moved the hangout to be earlier too. im ok with keeping it at 17:30 though, whatever is best for you
mildred has quit [Ping timeout: 246 seconds]
<jbenet> lgierth krl whyrusleeping daviddias wking and so on, dont forget to update the etherpad with new issues: https://etherpad.mozilla.org/kKFTHJz4xu
<lgierth> there was this bot thing right
<lgierth> oops wrong console
<lgierth> yep!
Encrypt has quit [Quit: Quitte]
notduncansmith has joined #ipfs
notduncansmith has quit [Read error: Connection reset by peer]
<kbala> jbenet the earlier time works good, so the talk is now at 14:30?
<lgierth> awww prometheus why!? why has the metrics endpoint to be at /metrics? :/
<lgierth> that's mean
<jbenet> lgierth: that's silly :(
<lgierth> looking for some conf setting...
<lgierth> ipfs_p2p_peers_total{peer_id="QmW3UhWb9a79PquifrA9r37ji6RAojpLBPkzgf7cmnwjov"} 6
<jbenet> lgierth: is that from the consumer? we could proxy with nginx if need be, but it's certainly annoying
<jbenet> kbala: yep i guess now. give me 5 min, was finishing something. so maybe let's say 14:45. let's do 14:30 from now on?
<lgierth> ah ok, [ metrics_path: <path> | default = /metrics ]
* lgierth happy
<kbala> jbenet: sounds good!
<lgierth> yeah on the consumer side
domanic has joined #ipfs
<jbenet> kbala o/
www has quit [Ping timeout: 256 seconds]
<jbenet> prometheus is meant to work with things like http://grafana.org/
<lgierth> yeah this is gonna be so awesome
<lgierth> alerts too
<jbenet> +9001
dread-alexandria has quit [Quit: dread-alexandria]
notduncansmith has joined #ipfs
notduncansmith has quit [Read error: Connection reset by peer]
dread-alexandria has joined #ipfs
<dread-alexandria> question - do you guys plan to implement some level of anonymity in IPFS - ie, encrypt outgoing traffic so that someone could not use a hash to find out the IP address of all of it’s seeders?
<dread-alexandria> or even is that already implemented in some way im simply not aware of
<whyrusleeping> dread-alexandria: https://github.com/ipfs/faq/issues/12
<dread-alexandria> gracias ;)
<whyrusleeping> let me know if that clears it up, if you still have questions that means we need to update our answers :)
<lgierth> jbenet: there's something wrong. ipfs_p2p_peers_total is 44 while ipfs swarm peers is 22
<lgierth> any chance that the connect notifier fires twice?
<lgierth> i'm note sure i've ever seen ipfs_p2p_peers_total at an odd number
<jbenet> lgierth: it's possible that the notifier fires twice-- hmmm.
<lgierth> it's per-notifee eh?
<jbenet> kbala: https://github.com/ipfs/go-ipfs/issues/1418#issuecomment-116860539 (btw lgierth kbala will want some metrics for https://github.com/ipfs/bitswap-ml and https://github.com/heems/bssim so he can help you add some into go-ipfs)
<jbenet> lgierth: yeah its per-notifeee
<jbenet> notifiee*
<lgierth> kbala: yeah have a look at https://github.com/ipfs/go-ipfs/pull/1422 to see how this is currently thought to work
se3000 has joined #ipfs
<lgierth> kbala: do you already have concrete metrics inmind?
<kbala> lgierth: got it, and yeah the metrics in this issue https://github.com/ipfs/bitswap-ml/issues/1
<lgierth> jbenet: i'll make it a third notifee
<lgierth> kbala: mh i don't know if prometheus is good for this. that's kind of inner-ipfs business logic isn't it?
<lgierth> we can of course count all these, and reuse some of prometheus' collection code
<whyrusleeping> mafintosh: whats this black magic? https://github.com/maxogden/multiplex/blame/master/index.js#L201
<jbenet> lgierth kbala: yeah i think we use prometheus just to collect them + expose them in an easy way for graphana?
<jbenet> whyrusleeping: pretty sure that's a protobuf varint
<whyrusleeping> jbenet: read closer
<whyrusleeping> hes using the varint module for the actual encoding i think
<whyrusleeping> not sure what the rest of the function is doing
<lgierth> kbala: if it's about graphs then it'll work great. depending on how many peers you graph this for, graph queries might become slow-ish
<lgierth> i don't have values from experience
<jbenet> whyrusleeping: you mean the bitshifting? that's protobuf typing
<jbenet> protobuf puts extra stuff in the number to save space
jibber11 has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
<whyrusleeping> this._buf[this._ptr++] = data[offset]
<kbala> lgierth: yeah i think it's mainly about graphs and seeing the relationships between the metrics
<whyrusleeping> thats copying something for some unspecified reason
<jbenet> whyrusleeping i think that's indexing the protobuf
<whyrusleeping> indexing?
<jbenet> whryusleeping like this._buf[10] = data[1324], ? not sure
<lgierth> kbala: coolio, i hope to have graphana up tomorrow or wednesday, fed by the gateway nodes
notduncansmith has joined #ipfs
notduncansmith has quit [Read error: Connection reset by peer]
<dread-alexandria> @whyrusleeping, sorry i disappeared, it absolutely answered my question, thanks :)
<lgierth> prometheus also comes with a graphing console of its own for adhoc queries, graphana is merely for dashboards
<jbenet> dread-alexandria: so certainly dont assume ipfs distros are anonymous. go-ipfs isn't today. but some will be in the future.
<jbenet> dread-alexandria: nothing in the protocol impedes it.
<jbenet> dread-alexandria: also traffic is already encrypted, so a passive eavesdropper can't pick it up, but this is far from anonymous and doesn't account for providing. etc.
ehmry is now known as emery
emery is now known as ehmry
www has joined #ipfs
<jbenet> lgierth: oh that's nice (the prometheus console for adhoc queries)
<dread-alexandria> by a passive eavesdropper, do you mean someone simply monitoring a node’s traffic?
<kbala> jbenet sorry my internet died, but i'll get to work on that stuff
<jbenet> kbala: i lost you i think, was there anything else to discuss?
<dread-alexandria> that is, if im running IPFS and i have a hash, i can currently find out the IP addresses of the nodes that are sharing it
<jbenet> kbala: no worries, sounds good. dont forget to add things to https://etherpad.mozilla.org/kKFTHJz4xu
<dread-alexandria> but you’re saying that if someone was monitoring all of my internet traffic, they could not deduce from it what files im sharing
<dread-alexandria> correct?
<jbenet> right, they'd have to get past the encryption. the one caveat is that things that are _provided_ are shared on the dht.
<lgierth> iirc we're still using 2048 bit rsa keys, which are not nsa-safe
<jbenet> a providing record is saying "I have X, and I'm willing to serve it".
<jbenet> which is very much a strong statement, but it is how you coordinate nodes to download things together quickly.
<dread-alexandria> cool
<jbenet> _providing records_ however, dont need to go over the dht, this is what the different swapping routing systems are for
<dread-alexandria> muchos gracias, that makes sense
<dread-alexandria> kk
<jbenet> and are described more in https://github.com/ipfs/faq/issues/18#issuecomment-96303862 and the irc logs of this channel
<jbenet> so you can construct an ipfs node whose routing system is _trusted explictly_
<jbenet> i.e. you only say "i have X and i'm willing to serve it" to nodes you already _explicitly trust_. this is not today's code, but the protocol is made to make that possible.
<jbenet> whyrusleeping daviddias: i think we should host ipfs meetups on the weekends (or close to the weekends)
<daviddias> I'm like the idea
<jbenet> would once a week be too much? it may be a good forcing function to get the "Weekly Community Hangout" (see https://github.com/ipfs/community/issues/28) organized finally.
<jbenet> and a good forcing function to demo cool stuff.
domanic has quit [Quit: Leaving]
<daviddias> As said, also brought my mic, cam and super fast drive if needed to record and edit any meetup or demo videos :)
<daviddias> ah understood it wrong, thought you were saying while we are here in Seattle
<daviddias> The folks from Meteor London (Oli, Alan, Alex and Chris) developed quite a recipe for a successful meetup. It is once a month and it is always show and tell
<daviddias> hacks, apps and demos of new features of the framework
<jbenet> daviddias: i was meaning while here in seattle
<jbenet> we could make the community hangout more real
<jbenet> for now
<jbenet> (and maybe livestream it or whatever
<daviddias> http://2015.cascadiajs.com/ is next week
<jbenet> i'd love to make it possible to have simultaneous hangouts, like project a portal to another room. but that may be more trouble than we have time for atm.
<daviddias> we could prep a pre or after cascadiaJS event
<daviddias> lots of folks will be in town for it
cryptix has joined #ipfs
notduncansmith has joined #ipfs
notduncansmith has quit [Read error: Connection reset by peer]
<jbenet> yep, sgtm!
<daviddias> looking at the proposed Travel schedule http://2015.cascadiajs.com/travel/
<daviddias> most people should be able to do an afternoon thing (although a meetup in the afternoon might be odd) on the 7th, or a evening meetup on the 11th
<lgierth> get together with the seattle meshnet people
<whyrusleeping> ^
<cryptix> hi ppl - finally back home - sad i couldnt make it to the sprint meetup - had to wait 4hrs in an endless line for train tickes. just arrived home after 15hrs of travel... maybe we can check up tomorrow
tilgovi has quit [Read error: Connection reset by peer]
tilgovi has joined #ipfs
<lgierth> oh word cryptix :D the same every year
<jbenet> lgierth: yeah \o/ good idea.
<jbenet> cryptix: get some rest! :)
<jbenet> wishlist push "https://mirage.io unikernel running ipfs"
<lgierth> i told https://github.com/thefinn93, we'll see :)
thefinn93 has joined #ipfs
<thefinn93> boop
<jbenet> thefinn93 beep
<lgierth> ohai
<thefinn93> ohai
<lgierth> so we thought about making hack'n'tell-like meetups
<lgierth> my own trip over there will be a bit later than i though, october
<thefinn93> oh
<thefinn93> dude
<thefinn93> you gotta come to SeaGL then
<thefinn93> the Seattle GNU/Linux fest
<lgierth> :]
<thefinn93> rumor has it RMS is speaking
<lgierth> !
<whyrusleeping> o.o
<thefinn93> yeah
<lgierth> october 23rd/24th
<lgierth> sounds good
<lgierth> whyrusleeping: call for papers deadline is july 26th, are we gonna do something? :)
atrapado has quit [Quit: Leaving]
<lgierth> thefinn93: same for you of course!
<lgierth> i recently learned to do handstands so that's probably gonna be my demo :/
<whyrusleeping> lgierth: that would be pretty fun... i might do something
<jbenet> sounds fun, we should
<lgierth> jbenet: i can already see RMS asking about ipfs' license
<jbenet> hahahaha
notduncansmith has joined #ipfs
notduncansmith has quit [Read error: Connection reset by peer]
<whyrusleeping> its not GPLed, were boned
<jbenet> lgierth: it's ok. i'll bring up what rms told me when i decided he'd gone off the deep end.
<lgierth> now i'm all ears :P
<jbenet> lgierth: through an escalating series of questions we got to: "me: ok, ok, suppose a child is in the middle of a desert in africa. he will starve to death, unless he uses an apple iPhone that he happens to carry, to get directions and get out. should he use it, or starve? -- rms: morally, he shouldn't use it. he should starve."
<lgierth> mean question :P
<whyrusleeping> lol
<jbenet> not really, he was decrying people for using any apple products, and i started probing with much simpler things. we only escalated to this point because i was incredulous he would seriously recommend this
<whyrusleeping> i mean, how did this child get into the middle of a desert in africa in the first place?
<lgierth> "Food is the first thing. Morals follow on"
<whyrusleeping> and how does he have an iPhone, but no food?
<lgierth> by using the iphone
<whyrusleeping> ^ lol
<jbenet> surely, in this situation it would be okay. but no-- and he said it in earnest too, he wasn't making allowance for "ok maybe he should use it, even if it's morally wrong and bad, to survive and then maybe bring down apple". it was a flat "no, that's morally wrong. die instead." the conversation couldn't progress.
<whyrusleeping> idk, i'm a little dubious about this iPhone wielding child in the middle of the desert
<lgierth> :>
<jbenet> clearly up to no good :)
<whyrusleeping> honestly, if you walk out into the middle of the desert with no food or water, and have no way out other than calling somebody with your apple iPhone (tm), that might just be natural selection
<thefinn93> lgierth: sorry, 5 conversations at once + supposed to be coding. does this mean you'll be at SeaGL?
<thefinn93> tht'd be sweet
<spikebike> jbenet: heh, I've had similar quite frustrating discussions with RMS
<lgierth> thefinn93: given october stands and i get my visa: sure thing!
<thefinn93> sweet
<lgierth> yeah! :)
<lgierth> whyrusleeping: but natural selection doesn't happen on the individual level
<lgierth> (i sometimes wish it did)
<spikebike> jbenet: one was my use of Linux instead of GNU/Linux.
<lgierth> can someone point me to a concrete swarm notifiee?
notduncansmith has joined #ipfs
notduncansmith has quit [Read error: Connection reset by peer]
<jbenet> (type hackery to keep these functions isolated and not on the main DHT interface (which is already huge)
<lgierth> perfect
<lgierth> thanks
<jbenet> krl: the electron-app menu comes up blank on osx. if i run it with "npm start" i get "[16155:0629/144752:WARNING:dns_config_service_posix.cc(292)] Failed to read DnsConfig."
<lgierth> i'll fix that PR first thing tomorrow, going to bed
<lgierth> nighty o/
<jbenet> night!
notduncansmith has joined #ipfs
notduncansmith has quit [Read error: Connection reset by peer]
dandroid has joined #ipfs
<dandroid> hey guys, i have a question about go-ipfs implementation. do we have a specific data type that represents the list object as described in the IPFS paper or do we just implement that with a merkledag.Node?
tso has joined #ipfs
<jbenet> hey dandroid the list object is abandoned per-se, and replaced by the unixfs file. so the objects as described in the paper, morphed into unixfs datastructure (dir + file (both can be indirect with fanout))
<jbenet> so if you `ipfs add <big-file>` you'll get multiple merkledag.Nodes
<jbenet> well, you'll see one output hash, but it points to many.
<jbenet> with graphmd (https://github.com/ipfs/go-ipfs/blob/master/bin/graphmd) you can visualize it
<dandroid> cool, thanks
notduncansmith has joined #ipfs
notduncansmith has quit [Read error: Connection reset by peer]
<dandroid> 1 more: can a merkle dag Link point to a data blob (there a Block data type for that), instead of another merkle Dag Node (referring again to merkledag.Node)? reason i am asking is because the merkledag.Link has a pointer inside it to the merkledag.Node, was wondering if that implies that it can only be that
<jbenet> dandroid: so far it can _only_ point to merkledag.Nodes
<ipfsbot> [go-ipfs] heems opened pull request #1431: Add latency and bandwidth options to mocknet (master...master) http://git.io/vtizw
<jbenet> dandroid: but we've discussed allowing leaves to be _just_ data. we haven't made that jump yet, as it's a big one.
<dandroid> understood
<dandroid> so data blocks are free floating right now they can never be bart of a more complex data structure
<dandroid> part*