lgierth changed the topic of #ipfs to: Current release: go-ipfs v0.4.4 on dist.ipfs.io | Dev chatter: #ipfs-dev | IPFS, the InterPlanetary FileSystem: https://github.com/ipfs/ipfs | FAQ: https://git.io/voEh8 | Logs: https://botbot.me/freenode/ipfs/ | Code of Conduct: https://git.io/vVBS0 | Sprints: https://git.io/voEAh
<whyrusleeping> kevina: SGTM!
<kevina> okay, gotta run, be back online in 30 minutes or do
<kevina> "or so"
* kevina can't type
shizy has quit [Ping timeout: 245 seconds]
pfrazee has quit [Remote host closed the connection]
pfrazee has joined #ipfs
<lgierth> i'm hearing of the measure datastore for the first time
captain_morgan has quit [Ping timeout: 258 seconds]
pfrazee has quit [Ping timeout: 258 seconds]
galois_d_ has joined #ipfs
<whyrusleeping> lgierth: oh, well we have a datastore that records metrics about disk latency stuff
galois_dmz has quit [Ping timeout: 260 seconds]
DiCE1904 has quit [Ping timeout: 246 seconds]
<kumavis> on a wild debugging adventure through the ipfs ecosystem
<kumavis> like 12 modules deep
<lgierth> whyrusleeping: ah ok, and then that can be scraped or whatever
zbyte64 has joined #ipfs
<whyrusleeping> kumavis: haha, go-ipfs?
<whyrusleeping> or js-ipfs?
<kumavis> js
wallacoloo_ has joined #ipfs
jholden has joined #ipfs
Mateon1 has quit [Remote host closed the connection]
<kumavis> something is returning "true" into the error-first callback
<kumavis> and its a total js-y problem
<kumavis> and its happening in a headless browser bundle so its being tricky to debug
domanic has quit [Ping timeout: 243 seconds]
fleeky_ has joined #ipfs
clownpriest has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
ola has joined #ipfs
galois_d_ has quit [Remote host closed the connection]
galois_dmz has joined #ipfs
fleeky has quit [Ping timeout: 268 seconds]
herzmeister has quit [Quit: Leaving]
herzmeister has joined #ipfs
<whyrusleeping> kumavis: i'm so glad i have types
<kumavis> yeah es6 etc is adding all this stuff
<kumavis> how about some fucking type system
<whyrusleeping> seriously
<whyrusleeping> even optional types would be nice
<kumavis> yeah
<kumavis> and js'ers present?
<kumavis> is it expected behavior for pull-streams to emit (true) on drain?
<whyrusleeping> kumavis: i think its pretty far past midnight for all those types
<whyrusleeping> PST for the win
<kumavis> blargh
clownpriest has joined #ipfs
zbyte64_ has joined #ipfs
zbyte64 has quit [Ping timeout: 260 seconds]
bastianilso__ has quit [Quit: bastianilso__]
<kumavis> this was triggered by iceConnectionState-> failed
pfrazee has joined #ipfs
zbyte64_ has quit [Remote host closed the connection]
zbyte64 has joined #ipfs
FrozenFox has quit [Quit: Segmentation fault]
zbyte64 has quit [Ping timeout: 260 seconds]
ivo_ has quit [Ping timeout: 245 seconds]
ola has quit [Quit: QUIT]
clownpriest has quit [Quit: Textual IRC Client: www.textualapp.com]
ivo_ has joined #ipfs
zbyte64 has joined #ipfs
jholden has quit [Ping timeout: 252 seconds]
cwahlers has quit [Ping timeout: 248 seconds]
cwahlers has joined #ipfs
zbyte64 has quit [Ping timeout: 256 seconds]
ugjka has quit [Ping timeout: 246 seconds]
ugjka has joined #ipfs
apiarian has quit [Quit: Textual IRC Client: www.textualapp.com]
mildred1 has joined #ipfs
mildred has quit [Ping timeout: 256 seconds]
dignifiedquire has quit [Quit: Connection closed for inactivity]
se3000 has quit [Quit: My iMac has gone to sleep. ZZZzzz…]
robattila256 has joined #ipfs
mguentner has quit [Ping timeout: 258 seconds]
robattila256 has quit [Ping timeout: 244 seconds]
<kumavis> damnit this rabbit hole is a bit too deep
dmr has joined #ipfs
mguentner has joined #ipfs
slothbag has left #ipfs [#ipfs]
robattila256 has joined #ipfs
apiarian has joined #ipfs
Codebird has quit [Read error: Connection reset by peer]
Codebird has joined #ipfs
Codebird has quit [Client Quit]
jholden has joined #ipfs
<whyrusleeping> kumavis: come back to the light!
* whyrusleeping extends a hand full of types
<kumavis> having trouble writing a test for a module some what responsible for sending me on this goose chase
<kumavis> but not really related to actually solving the original problem
jholden has quit [Ping timeout: 260 seconds]
rgrinberg has quit [Ping timeout: 260 seconds]
mguentner has quit [Quit: WeeChat 1.6]
mguentner has joined #ipfs
zbyte64 has joined #ipfs
captain_morgan has joined #ipfs
pfrazee has quit [Remote host closed the connection]
pfrazee has joined #ipfs
pfrazee has quit [Ping timeout: 246 seconds]
cubemonkey has quit [Remote host closed the connection]
jholden has joined #ipfs
zbyte64 has quit [Remote host closed the connection]
zbyte64 has joined #ipfs
jholden has quit [Ping timeout: 240 seconds]
reit has quit [Ping timeout: 256 seconds]
ylp has quit [Ping timeout: 260 seconds]
ylp has joined #ipfs
zbyte64 has quit [Ping timeout: 260 seconds]
chris613 has quit [Quit: Leaving.]
zbyte64 has joined #ipfs
robattila256 has quit [Ping timeout: 252 seconds]
apiarian has quit [Ping timeout: 260 seconds]
apiarian has joined #ipfs
robattil1 has joined #ipfs
kode54 has quit [Remote host closed the connection]
JayCarpenter has quit [Quit: Page closed]
<kumavis> ok i feel slightly accomplished
kode54 has joined #ipfs
jholden has joined #ipfs
jholden has quit [Ping timeout: 265 seconds]
captain_morgan has quit [Ping timeout: 250 seconds]
ylp has quit [Ping timeout: 260 seconds]
ylp has joined #ipfs
herzmeister has quit [Ping timeout: 260 seconds]
tmg has quit [Ping timeout: 256 seconds]
abuss has left #ipfs [#ipfs]
herzmeister has joined #ipfs
zbyte64 has quit [Remote host closed the connection]
zbyte64 has joined #ipfs
zbyte64 has quit [Remote host closed the connection]
zbyte64 has joined #ipfs
captain_morgan has joined #ipfs
ulrichard has joined #ipfs
lkcl has quit [Ping timeout: 244 seconds]
captain_morgan has quit [Ping timeout: 244 seconds]
lkcl has joined #ipfs
captain_morgan has joined #ipfs
ygrek has quit [Ping timeout: 244 seconds]
reit has joined #ipfs
<haad> thanks kumavis for debugging and the PRs!
jholden has joined #ipfs
kaotisk has quit [Read error: Connection reset by peer]
kaotisk has joined #ipfs
jholden has quit [Ping timeout: 245 seconds]
dignifiedquire has joined #ipfs
captain_morgan has quit [Ping timeout: 268 seconds]
bastianilso__ has joined #ipfs
zbyte64 has quit [Remote host closed the connection]
zbyte64 has joined #ipfs
zbyte64 has quit [Ping timeout: 248 seconds]
bastianilso__ has quit [Quit: bastianilso__]
chovy has quit [Ping timeout: 256 seconds]
bastianilso__ has joined #ipfs
polezaivsani has joined #ipfs
<polezaivsani> good morning interplanetary folks!
mvollrath has quit [Ping timeout: 268 seconds]
ylp1 has joined #ipfs
ianopolous has quit [Ping timeout: 260 seconds]
s_kunk has quit [Ping timeout: 260 seconds]
<dignifiedquire> good morning
kaotisk has quit [Read error: Connection reset by peer]
kaotisk has joined #ipfs
Mateon1 has joined #ipfs
rendar has joined #ipfs
<haad> morning o/
<geoah> good morning people! :D
maxlath has joined #ipfs
herzmeister has quit [Quit: Leaving]
herzmeister has joined #ipfs
<daviddias> morning! :)
s_kunk has joined #ipfs
<daviddias> haad: even better is to continue in IRC
<haad> yeah :)
<daviddias> even better ist o continue in github * :D
<haad> daviddias: so do you have strong objection to keep it in a class
<daviddias> nevertheless, quick answer is that you don't need a class to have access to other functions
<haad> no, let's discuss here instead of github (it's too async, want to talk this through real-time :))
<daviddias> haad: it is a style change, there is no benefits which sounds the bikeshed alert
<haad> daviddias: it's not just a style change, it adds bunch of boilerplate
<daviddias> and we use the module.exports pattern for functions everywhere
<haad> daviddias: how would you export multiple functions? module.exports = { function1: {}, function2: {}, ... }?
<haad> the benefit with a class is exactly that: the functions are wrapped in one place and they're all exported instead of having to wrap them into ^
<daviddias> it is just an object, what I see as a pattern is exports = module.exports and then
<daviddias> exports.create = function create () ...
<daviddias> exports.func2 = ...
lindybrits has joined #ipfs
<dignifiedquire> are you going to call new on it, and is it going to carry meaningful state?
<haad> daviddias: that then requires the user to export everything individually which imo is not a good pattern for a module (ie. better way is to const DAGNode = require('dag-node) vs. create = require('dag-node).create)
<haad> dignifiedquire: nope, hiding "new"
<haad> dignifiedquire: ah nvm
<haad> dignifiedquire: no, no new on it
<daviddias> with what I'm saying (and what we do everywhere
<dignifiedquire> then no class
<daviddias> it still is const dagPB = require('ipld-dag-pb')
<daviddias> and then you can get all of those functions under dagPB.factory for example
<daviddias> this is just syntax, underneath is the same thing
jholden has joined #ipfs
<haad> fine I'll change that
<haad> it's unnecessary boilerplate imo
<haad> daviddias: pushed
<haad> daviddias: renamed dag-node-factory to dag-node-utils as "factory" doesn't make sense anymore
jholden has quit [Ping timeout: 268 seconds]
<daviddias> did you see my remaining CR?
espadrine has joined #ipfs
domanic has joined #ipfs
<lindybrits> truffle build
<lindybrits> f* wrong screen again sorry
lindybrits has quit [Quit: Page closed]
<dignifiedquire> :D
<dignifiedquire> make install lindybrits
<haad> daviddias: replied to rest of the CR comments
<dignifiedquire> daviddias: are you around?
<daviddias> +-
<dignifiedquire> are you working on getting bitswap finished?
<daviddias> that is one of my goals for this week,now that there are no million PR's floating :D
<dignifiedquire> lol
<dignifiedquire> sounds good, I have enough million things I want to get done
<dignifiedquire> did I tell you about how fast my cbor library is :D
wallacoloo_ has quit [Quit: wallacoloo_]
arcalinea has quit [Quit: leaving]
cemerick has joined #ipfs
arcalinea has joined #ipfs
<daviddias> dignifiedquire: yeah, I've been checking! :D
<daviddias> And asking how you did it so that I can learn your methods :D
<dignifiedquire> I will try and write up my secret sauce when I'm finished
<daviddias> dignifiedquire: do have in mind though, that independently of what are the million things
<daviddias> items on https://github.com/ipfs/js-ipfs/blob/master/ROADMAP.md should take always precedence
<dignifiedquire> yep
<daviddias> dignifiedquire: thanky ou :)
<daviddias> thank you :)
<dignifiedquire> been thinking also lots about the documentation
<dignifiedquire> need to make a decision about that soon, so we can start working onit
<daviddias> haad was not happy with documentation.js, but I believe you have some ideas about theming, the best is to show people how it works in a project
<daviddias> btw, in order to call the 'bundling JS' complete, it would be greate to have https://github.com/ipfs/js-ipfs/issues/429#issuecomment-260361076
jholden has joined #ipfs
<dignifiedquire> we can also use jsdoc3 directly like async does
<daviddias> you probably can get those two examples in less than 20 minutes and it will help a tooooon of people
<dignifiedquire> for js-ipfs-api those examples exist
<dignifiedquire> victorbjelkholm: PRed the webpack one and in master there is one with browserify
<dignifiedquire> daviddias: decoder being written in hand rolled asm.js :D https://github.com/dignifiedquire/fast-cbor/blob/perf/lib/decoder.asm.js
tmg has joined #ipfs
<daviddias> every line?
<daviddias> you didn't compile a first pass?
<dignifiedquire> every line
<haad> daviddias: pushed one more change to address the "util" comment.
<dignifiedquire> I tried compiling but it really doesn't work for a serizalier that is so language specific
<dignifiedquire> because it has has to understand all the javascript types
<daviddias> dignifiedquire: brave!
<daviddias> haad: checking ;)
<dignifiedquire> I also made an experiment where I compiled rust-cbor to asm.js using emscripten
<dignifiedquire> but as I said for cbor you really need to understand the types of the language
<haad> daviddias: I think generally there's room for improvement to the APIs (IPLD and DAGNode's case) but I'm not gonna bikeshed it now as it's not gonna get us closer to releasing this.
jholden has quit [Ping timeout: 268 seconds]
rendar has quit [Quit: std::lower_bound + std::less_equal *works* with a vector without duplicates!]
rendar has joined #ipfs
trn has joined #ipfs
<haad> dignifiedquire: latest aegir doesn't fix the problem. beta.27 throws the same error as beta.26 re. the json loader (see https://github.com/ipld/js-ipld-dag-pb/pull/7#discussion_r88213307)
<haad> sorry, not json loader but some loader
<dignifiedquire> haad: I fixed that exact error with the new aegir relese, hmm
<dignifiedquire> are you sure you have the latest aegir version?
<haad> dignifiedquire: what is the latest version? 9.1.2?
<dignifiedquire> yes
<dignifiedquire> wow so many comments on one PR
<dignifiedquire> haad: just ran a test on master of it, with webpack 27 and all passes fine for me
<haad> dignifiedquire: I just did fresh npm install, aegir 9.2.1 and webpack beta.27, tests don't run
<haad> browser tests
<dignifiedquire> haad: I don't understand oO why does it work on my machine and not on yours
<dignifiedquire> can you gist me the full output of npm ls?
<daviddias> !pin QmcehfS7vbgtqxD5TZtg2rPX6W76Ncy1qrEm7baPk7r63m tadsummit-presentation
<pinbot> now pinning /ipfs/QmcehfS7vbgtqxD5TZtg2rPX6W76Ncy1qrEm7baPk7r63m
<haad> dignifiedquire: gimme a sec
<haad> dignifiedquire: http://pastebin.com/c8V9tqhj
<haad> daviddias: I'd like to discuss the IPLD format API (https://github.com/ipld/interface-ipld-format#ipld-format-utils). is that the repo to open the issue in? is there a discussion somewhere where the API was discussed and the reasoning behind it?
<dignifiedquire> haad: you are missing a depency, buffer-loader it is listed in package.json but not in that dep tree https://github.com/ipld/js-ipld-dag-pb/blob/master/package.json#L54
<haad> I see. wonder where that was dropped...
<haad> ok, pushed again. let's do one more round of CR daviddias dignifiedquire?
<daviddias> haad: to change interface-ipld-format now is opening an issue and going through review of everyone
bastianilso__ has quit [Quit: bastianilso__]
sametsisartenep has joined #ipfs
<haad> daviddias: ok, then before I do that, can you explain what you mean in this comment https://github.com/ipld/js-ipld-resolver/pull/60#issuecomment-254094608 with "I realized that we only (and benefit from) having an interface for serialize, deserialize and cid detached from the format class". I don't quite understand why the serialize/deserialize/cid are in util instead of the class?
<daviddias> it is the only functions that IPLD Resolver needs
<daviddias> and we don't want to have instances of every IPLD format
<daviddias> some formats are just a binary packed thing
<daviddias> and we need to operate over them in a 'functional like api'
<daviddias> serialize (dagNodeWhichCanBeAnyFormat)
<daviddias> deserialize(binaryBlob)
<daviddias> also deserialize never made sense to be part of the class
robattil1 has quit [Quit: WeeChat 1.6]
<haad> but the resolver is coupled with the util, so it can't really do decoupled serialization?
<daviddias> ??
tmg has quit [Ping timeout: 256 seconds]
<haad> for example in dag-pb, the resolver calls dag-pb.util.serialize
<haad> so the resolver is couple with that specific serialization function
<daviddias> yep
<haad> *coupled
<daviddias> because we know the type through the CID
<haad> ??
robattila256 has joined #ipfs
<haad> daviddias: I don't understand what you're saying. from what I can tell: we need to now the type of the IPLD object in order to know what resolver to use, and the resolver is coupled with the format, so there's no need to tie the serialize/deserialize functions to the util API, ie. we don't use them anywhere else - just the resolver uses them. no?
<daviddias> you can't assume that every IPLD Format is going to have a instance in JavaScript
<daviddias> for example
<daviddias> dag-cbor is just json objects
<daviddias> if serialize and cid were in the class
<daviddias> then every json object had to be converted to a class
<daviddias> which is really annoying, people will want to add json objects direclty to IPFS
<daviddias> which is one of the value offers
<haad> wouldn't that go through a json resolver or "type"?
tmg has joined #ipfs
<daviddias> if a thinglike dag-json existed
<daviddias> we could use the same strategy that we have for dag-cbor
<daviddias> or go with what you are saying and then say to everyone "hey, this is the dag-json format, but you can't use JSON, you have to create instances and put json inside of those instances, because we need to add some functions to it"
robattila256 has quit [Ping timeout: 268 seconds]
<haad> hmmm... I'm missing a lot of context here, but all that doesn't sound right. are you saying that to add an IPLD object to IPFS, one can say add({ json data here }) or add(DAGNode.create(...)) or add(ETHBlock.create(data))?
<haad> ie. the user defines what type of an object it is?
<daviddias> yep
<daviddias> with the dag API
<daviddias> that is correct
<daviddias> that is one of the main points of IPLD
<haad> and how does IPLD then know which resolver/serializer to use inside add() function?
<daviddias> you tell it
<haad> how?
<daviddias> on the function call
<haad> I as a user tell it smth like add(DAGNode.create(data), "protocol buffers")?
<haad> or add(ETHBlock.create(data), "ethereum bloc")?
<daviddias> that is a c&p from go-ipfs cli on master
<haad> ah ok, so basically if I wanted to put a json object, I would say add({...}, "json"), correct?
<daviddias> you probably would do
<daviddias> add(<json object>, 'dag-cbor')
<daviddias> so that it gets serialized to cbor
<graffen> Hi guys, quick question, when I pin add /ipns/<domain> and it pins the current hash, I'm guessing I have to pin again if I publish new stuff under that ipns?
<daviddias> so it is faster in the wire
<daviddias> graffen: yeah it doesn't follow the changes
<haad> daviddias: ok so, but basically the user tells what type it is and IPFS will resolve/serialize it based on that, correct?
<daviddias> graffen: might be a good feature to add though :)
<daviddias> haad: yep
<haad> daviddias: if so, then what prevents us having a json resolver? the user doesn't have to convert json to any other type, so I'm not quite following what you said earlier that it's really annoying that you have to convert them to another type
<graffen> daviddias: Cool, thanks, I gathered as much. I tried looking through the github issues about the subject but there never really was any conclusion on how it would work exactly. Sorry for the interruption in your convo :)
<haad> brb -->
<daviddias> we can have a json resolver
<daviddias> dag-json
<daviddias> you can make it today
<daviddias> and then when you serialize it
<daviddias> you JSON.stringify, cause that is the 'wire format of json'
<daviddias> it will be super slow, but you can do it, IPFS supports it all
<daviddias> we favour cbor for having a 1:1 mapping to JSON
robattila256 has joined #ipfs
<daviddias> so you get the convience and experience of JSON with a format that is good for passing on the wire that doesn't require a schema (like protobufs do)
<daviddias> graffen: hey, no problem at all, feel free to ask questions anytime :)
maxlath has quit [Ping timeout: 248 seconds]
M-cameron has joined #ipfs
<graffen> daviddias: Thanks!
<richardlitt> morning friends
maxlath has joined #ipfs
Alaura has joined #ipfs
<daviddias> good morning richardlitt :D
bastianilso__ has joined #ipfs
chovy has joined #ipfs
<Alaura> Gday.
<victorbjelkholm> graffen: worth to keep in mind is that you'll need to republish the IPNS record once every 24h if you want it to stick around
<victorbjelkholm> good morning richardlitt! Still in japan?
<graffen> victorbjelkholm: Ah, that's good to know! And also explains why my website had a habit of dropping off the internet :D I'll probably set up a cron job on that machine to keep re-publishing it just to be sure
<victorbjelkholm> graffen: been there as well so thought I mentioned it :p
<graffen> Pretty nifty though, just being able to publish my site from an rpi at home and have it show up on the internet without much more work than that. This IPFS thing is growing on me, for sure!
<bronger> Am I right that there is one IPNS name per node, and from here, one can resolve more deeply with IPLD?
<polezaivsani> bronger, yep, that's right
<Alaura> Question, does anyone know how to fix IPFS crashing the router by chance?
jholden has joined #ipfs
<victorbjelkholm> bronger: there is a tool you can use to publish more IPNS names per node. https://github.com/whyrusleeping/ipns-pub
<victorbjelkholm> Alaura: we do have a open issue for this: https://github.com/ipfs/go-ipfs/issues/3320
<r0kk3rz> Alaura: same thing happens with bittorrent, some cheapy routers dont like having loads of simultaneous connections
<Alaura> When i use Qbittorrent, everything goes fine, but it only happens when i use IPFS
anonymuse has joined #ipfs
jholden has quit [Ping timeout: 256 seconds]
robattila256 has quit [Ping timeout: 246 seconds]
<keks> lgierth: you there?
<keks> when you are, can you take a look at ipfs/go-ipfs#3304?
keroberos has joined #ipfs
kerozene has quit [Ping timeout: 258 seconds]
keroberos is now known as kerozene
tmg has quit [Ping timeout: 250 seconds]
robattila256 has joined #ipfs
jholden has joined #ipfs
<dignifiedquire> daviddias: haad started testing out documentation for js-ipfs-api ^^
anonymuse has quit [Remote host closed the connection]
mildred1 has quit [Ping timeout: 268 seconds]
anonymuse has joined #ipfs
appa has quit [Ping timeout: 248 seconds]
zombu2 has quit [Ping timeout: 245 seconds]
kshlm[m] has joined #ipfs
pfrazee has joined #ipfs
anonymuse has quit [Ping timeout: 256 seconds]
zombu2 has joined #ipfs
ligi has joined #ipfs
zbyte64 has joined #ipfs
mildred1 has joined #ipfs
appa has joined #ipfs
ligi has quit [Client Quit]
maxlath has quit [Ping timeout: 256 seconds]
zbyte64 has quit [Ping timeout: 268 seconds]
<victorbjelkholm> dignifiedquire: hohoho, looking good! Is generated or manually?
<victorbjelkholm> seems manual, judging by the amount of methods
<victorbjelkholm> looks sweet though
<dignifiedquire> victorbjelkholm: it's jsdoc, so yes you have to manually add comments to the methods
maxlath has joined #ipfs
<dignifiedquire> and in js-ipfs-api you have to override a lot of stuff manually because how the code is structured, but in situations where we use es6 classes for example the boilerplate is less
<dignifiedquire> victorbjelkholm: some more details here: https://github.com/ipfs/community/issues/149#issuecomment-260955205
anonymuse has joined #ipfs
DiCE1904 has joined #ipfs
<victorbjelkholm> dignifiedquire: ah, semi-automatic I would call it then
<victorbjelkholm> cool though, would be really useful to have
<victorbjelkholm> Github is having hiccups, or just me?
<victorbjelkholm> 15:50 CET
<victorbjelkholm> Major service outage.
<victorbjelkholm> :/
<victorbjelkholm> !pin Qma2GMXdMWLRvDxVh9H2U9VpxAQVhiDYgwL4a6CNSv527X ipld.io
<pinbot> now pinning /ipfs/Qma2GMXdMWLRvDxVh9H2U9VpxAQVhiDYgwL4a6CNSv527X
<dignifiedquire> victorbjelkholm: it's a bit slow for me
<dignifiedquire> victorbjelkholm: well we promised to deliver awesome api docs this quarter so I gotta get somewhere sooner rather than later :)
anonymuse has quit [Remote host closed the connection]
<pinbot> [host 3] failed to grab refs for /ipfs/Qma2GMXdMWLRvDxVh9H2U9VpxAQVhiDYgwL4a6CNSv527X: Post http://[fc4e:5427:3cd0:cc4c:4770:25bb:a682:d06c]:5001/api/v0/refs?arg=/ipfs/Qma2GMXdMWLRvDxVh9H2U9VpxAQVhiDYgwL4a6CNSv527X&encoding=json&stream-channels=true&r=true&: read tcp [fc82:e2d7:bdff:45f3:dd95:bb22:fce9:1ffb]:42301->[fc4e:5427:3cd0:cc4c:4770:25bb:a682:d06c]:5001: read: connection reset by peer
mildred2 has joined #ipfs
<dignifiedquire> will also work on the template to make it better, but for now I'm just trying to get a decent chunk of documentation so I have something to experiment with
<victorbjelkholm> haha, true dat! Looking cool though, know a lot of people waiting for proper api docs
anonymuse has joined #ipfs
<victorbjelkholm> btw, minor thing, just making sure I didn't miss anything but we said we're gonna do callbacks for our examples, right?
<dignifiedquire> technically we should have examples for both given that we expose both apis
<dignifiedquire> imo
<dignifiedquire> but promise examples are shorter to write and easier to read.. ;)
<victorbjelkholm> that would be a hassle though, we should chose one a stick with it and I have a feeling that people used to callbacks would have a harder time to convert examples from promises to callbacks than people used to using promises converting it to callbacks
taaem has joined #ipfs
<victorbjelkholm> + it would waste space on the page, if we need to duplicate the examples just because callbacks/promises
mildred1 has quit [Ping timeout: 245 seconds]
<victorbjelkholm> otherwise maybe we can do what pouchdb does: https://pouchdb.com/api.html#fetch_document
<victorbjelkholm> switch between callbacks/promises/async
<victorbjelkholm> but would add to the effort, might not even be worth it
<dignifiedquire> that is super nice
ylp1 has quit [Read error: No route to host]
ylp1 has joined #ipfs
<dignifiedquire> will at least think about an option like this when doing the template
anonymuse has quit [Ping timeout: 248 seconds]
<dignifiedquire> victorbjelkholm: fixed^^:P
ashark has joined #ipfs
<dignifiedquire> it's really hard to document callbacks/promises though
<dignifiedquire> but haven't seen any system that handles that well yet :/
<dignifiedquire> async just describes them in words http://caolan.github.io/async/docs.html#eachLimit
Boomerang has joined #ipfs
<victorbjelkholm> I'm thinking that pouchdb has to have a automatic way of generating the versions
<victorbjelkholm> but can't see it, Github is too darn slow to check
<dignifiedquire> yeah wanted to view the source but got a unicorn instead
<victorbjelkholm> yeah, I think just callbacks would be good enough for now, switch between them would be nice to have
<victorbjelkholm> isn't unicorns better than most sourcecode out there anyways? :D
<dignifiedquire> true
<dignifiedquire> victorbjelkholm: nothing automated, all hand rolled: https://github.com/pouchdb/pouchdb/blob/master/docs/_includes/api/fetch_document.html#L26-L53
Nekit[m] has joined #ipfs
shizy has joined #ipfs
maxlath has quit [Ping timeout: 265 seconds]
<dignifiedquire> documentationjs does a better job of documenting callbacks
anonymuse has joined #ipfs
<dignifiedquire> it also links to nodejs and mdn for builtin types which is nice
maxlath has joined #ipfs
<victorbjelkholm> dignifiedquire: wow, can't believe that. Must be a huge time-waster. Maybe the api doesn't change that much anymore though
<victorbjelkholm> ah, sweet with the signature in the callback, a must-have
bastianilso__ has quit [Quit: bastianilso__]
ELLIOTTCABLE has quit [Ping timeout: 252 seconds]
ELLIOTTCABLE has joined #ipfs
anonymuse has quit [Ping timeout: 246 seconds]
anonymuse has joined #ipfs
Mizzu has joined #ipfs
mvollrath has joined #ipfs
ugjka is now known as Jim_Lahey
Jim_Lahey is now known as Lahey
apiarian_work has joined #ipfs
apiarian_work has quit [Quit: Textual IRC Client: www.textualapp.com]
<haad> dignifiedquire: that ^ looks better! did you find a way to describe what a Promise resolves to? that was one of the downsides I remember (telling it returns a Promise doesn't help much if you don't what that promise resolves to)
pfrazee has quit [Remote host closed the connection]
<dignifiedquire> haad: yeah there is this gigantic thread on the jsdoc repo about promise support, no integrated solution yet though as far as I understand
<haad> hmmm ok
pfrazee has joined #ipfs
<haad> dignifiedquire: async all the things, then :) no more of that problem
<haad> *await all the things
<dignifiedquire> that still needs to describe promises
<dignifiedquire> as that is the return value of those functions
<haad> sure, but you could bypass that by pretending they don't return a promise but a value :)
<dignifiedquire> lol
<dignifiedquire> pretending much these days are we ;)
bastianilso__ has joined #ipfs
ulrichard has quit [Remote host closed the connection]
polezaivsani has quit [Remote host closed the connection]
Lahey is now known as ugjka
pfrazee has quit [Ping timeout: 260 seconds]
<haad> with javascript you have to pretend everything
<dignifiedquire> :D
<haad> which reminds me, did you see, Visual Studio for Mac :O
apiarian has quit [Ping timeout: 248 seconds]
<dignifiedquire> well there are ways to do very little pretending: https://github.com/dignifiedquire/fast-cbor/blob/master/src/decoder.asm.js
<haad> only c#, f# and asp.net support and mobile for now
<dignifiedquire> yeah the language support didn't blow me away
<dignifiedquire> and I switched back to emacs from vscode because it was eating way too much resources on my small macbook
<haad> oh well, perhaps in the future
<haad> haha
apiarian has joined #ipfs
<haad> I went from 10+ years with VS to Sublime, used JetBrains IDE for a while, but using Sublime pretty much exclusively now. VS (at least on windows) is still the best editor I've ever used...
<haad> and debugger
<dignifiedquire> haad: as you can see by the link you can make javascript
<dignifiedquire> *fast
anonymuse has quit [Remote host closed the connection]
<haad> absolutely
<dignifiedquire> yeah I still use vscode for the debugger especially with the new chrome debugger extension in node
<haad> it's worth to load up vscode?
<haad> I should try that
<dignifiedquire> yeah
bastianilso__ has quit [Quit: bastianilso__]
PseudoNoob has joined #ipfs
<haad> dignifiedquire: does the intellisense work well for js in vscode?
<dignifiedquire> very well it uses typescript under the hood so you can improve it if you want to
<dignifiedquire> with installing type defs
grosscol has joined #ipfs
zbyte64 has joined #ipfs
anonymuse has joined #ipfs
bastianilso__ has joined #ipfs
ylp1 has quit [Quit: Leaving.]
espadrine has quit [Ping timeout: 250 seconds]
kenshyx has joined #ipfs
domanic has quit [Ping timeout: 250 seconds]
zbyte64 has quit [Ping timeout: 260 seconds]
zbyte64 has joined #ipfs
ugjka is now known as therealugjka
<kenshyx> hello, latest js-ipfs-api doesnt work on electron :)
<daviddias> dignifiedquire: nice!
<daviddias> looks good
<kenshyx> because of sha3 package from multihashing-async
<daviddias> I like the "opt",
<Igel> whats this multihashing-async
<kenshyx> a dependency used by a dependency of js-ipfs-api
<kenshyx> :))
<Igel> ok -- i'll peak
<daviddias> lgel it is multihashing, but using async API so that it is WebCrypto friendly
<daviddias> kenshyx: can you open an issue with a error log?
<kenshyx> its not even throwing an error
<kenshyx> i can't instantiate the ipfsApi
<kenshyx> it blocks
zbyte64 has quit [Ping timeout: 260 seconds]
<daviddias> kenshyx: which platform?
<kenshyx> I played a bit with the imports and it seems that electron doesn't like that native module
<kenshyx> linux-mint(ubuntu 14.04)
<daviddias> haad: last mile https://github.com/ipld/js-ipld-dag-pb/pull/7#issuecomment-260995828 we can do this💪 :D
<daviddias> which version of Node.js?
<daviddias> I know that haad uses js-ipfs-api with electron as is fine
<kenshyx> its electron, it uses 6.3
<daviddias> however, we know for a fact that the install can look scary now https://github.com/libp2p/js-libp2p-crypto/issues/31
zbyte64 has joined #ipfs
zbyte64 has quit [Remote host closed the connection]
<kenshyx> in which package he uses js-ipfs-api?
<kenshyx> I tried to rebuild sha3 package and it fails ...
therealugjka is now known as therealtherealug
therealtherealug is now known as therealizedugjka
zbyte64 has joined #ipfs
Boomerang has quit [Ping timeout: 245 seconds]
cubemonkey has joined #ipfs
zbyte64 has quit [Ping timeout: 250 seconds]
maxlath has quit [Ping timeout: 260 seconds]
se3000 has joined #ipfs
maxlath has joined #ipfs
anonymuse has quit [Remote host closed the connection]
<daviddias> victorbjelkholm: how is the libp2p.io coming along?
errl has joined #ipfs
<Kubuxu> !pin QmNafAGBU21iQmLudMT2z1kqgEGhjUrNoK9a3v4azd8ei4 go-libp2p-swarm 0.1.5 (gexpin can't pin)
<pinbot> now pinning /ipfs/QmNafAGBU21iQmLudMT2z1kqgEGhjUrNoK9a3v4azd8ei4
<Kubuxu> !pin QmNafAGBU21iQmLudMT2z1kqgEGhjUrNoK9a3v4azd8ei4 go-libp2p-swarm 0.1.5 (gexpin can't pin)
<pinbot> now pinning /ipfs/QmNafAGBU21iQmLudMT2z1kqgEGhjUrNoK9a3v4azd8ei4
espadrine has joined #ipfs
therealizedugjka is now known as ugjka
<hsanjuan> !pin QmSVZV2pn2BAm2suWqpq4JhnjCMQeJjEF5n84uYYWfHXCw go-libp2p-raft 0.0.1 (gexpin can't pin)
<pinbot> now pinning /ipfs/QmSVZV2pn2BAm2suWqpq4JhnjCMQeJjEF5n84uYYWfHXCw
errl has quit [Quit: WeeChat 1.6]
<hsanjuan> !pin QmcK72RvKhX2nv6TZMAyE5bqmX1jZ7r5WXGQLpcokf9DT8 go-libp2p-raft 0.0.2 (gexpin can't pin)
<pinbot> now pinning /ipfs/QmcK72RvKhX2nv6TZMAyE5bqmX1jZ7r5WXGQLpcokf9DT8
ola has joined #ipfs
<dignifiedquire> victorbjelkholm: deleted ipfs/ipld.io
<dignifiedquire> kenshyx: multihashing-async relies on being run through a bundler that understands the "browser" field in package.json when used in the browser
<dignifiedquire> kenshyx: so if you are using it in the renderer process you will have to use a bundler like webpack or browserify to preprocess it
<dignifiedquire> if you use it in the node process it should work just fine
<kenshyx> I'm using it from main process
<dignifiedquire> hmm then file a bug with sha3 that sounds like a bug on their side then
<kenshyx> I tried to rebuild all the native modules with the electron headers
<dignifiedquire> did that help?
<dignifiedquire> on the other hand it's not super well maintained :/ https://github.com/ipfs/react-ipld
<kenshyx> it always fails on make: *** [Release/obj.target/nodessl/src/rsa/rsa_oaep.o] Error 1
<kenshyx> make: Leaving directory `/projects/app/node_modules/node-webcrypto-ossl/build'
<hsanjuan> richardlitt: do the notes links get added later? https://github.com/ipfs/pm/issues/258
<hsanjuan> richardlitt: should I add agenda points in a comment?
<dignifiedquire> last commit over a year ago and not much response
<dignifiedquire> kenshyx: can you use it on the same machine from regular node?
<kenshyx> it works from node
<kenshyx> my tests run from node
<dignifiedquire> hmm :/
<kenshyx> just on electron it fails
<dignifiedquire> maybe ask on the electron issue tracker? they have pretty good response times
<hsanjuan> richardlitt: nvm just saw your other comment where you are waiting for feedback on hackmd
no_sleep has joined #ipfs
<dignifiedquire> kenshyx: maybe this helps https://github.com/electron/electron/pull/7775/files
<kenshyx> I tried to rebuild using all the methods possible
<kenshyx> ;_;
<dignifiedquire> :/
<richardlitt> hsanjuan: Add in a comment, for now
<kenshyx> manual, electron-rebuild and the npm way
<richardlitt> I'll add the notes links in a bit, waiting for feedback, you're right
Boomerang has joined #ipfs
bastianilso__ has quit [Quit: bastianilso__]
kenshyx has quit [Remote host closed the connection]
ylp has quit [Quit: Leaving.]
kenshyx has joined #ipfs
bastianilso__ has joined #ipfs
pfrazee has joined #ipfs
<hsanjuan> richardlitt: its ok I can wait and saves net work
pfrazee has quit [Ping timeout: 246 seconds]
cubemonk2y has joined #ipfs
pfrazee has joined #ipfs
galois_d_ has joined #ipfs
cubemonkey has quit [Ping timeout: 245 seconds]
maxlath has quit [Ping timeout: 258 seconds]
galois_dmz has quit [Ping timeout: 260 seconds]
ulrichard has joined #ipfs
<kenshyx> I managed to rebuild all the native modules
<kenshyx> still the problem remains, I can't init ipfsApi('/ip4/127.0.0.1/tcp/5001') it blocks :(
ianopolous has joined #ipfs
bastianilso__ has quit [Quit: bastianilso__]
bastianilso__ has joined #ipfs
ygrek has joined #ipfs
bastianilso__ has quit [Client Quit]
bastianilso__ has joined #ipfs
no_sleep has quit [Ping timeout: 260 seconds]
anonymuse has joined #ipfs
rendar has quit [Ping timeout: 268 seconds]
bastianilso__ has quit [Client Quit]
bastianilso__ has joined #ipfs
Encrypt_ has joined #ipfs
maxlath has joined #ipfs
bsm1175321 has quit [Remote host closed the connection]
s_kunk has quit [Ping timeout: 256 seconds]
apiarian has quit [Ping timeout: 268 seconds]
apiarian has joined #ipfs
bsm1175321 has joined #ipfs
Encrypt_ has quit [Quit: Quit]
zbyte64 has joined #ipfs
zbyte64 has quit [Ping timeout: 260 seconds]
maxlath has quit [Quit: maxlath]
rendar has joined #ipfs
<kumavis> js pull-stream peeps, please comment on this undefined pull-reader behavior https://github.com/dominictarr/pull-reader/issues/5#issuecomment-260945234
<kumavis> dignifiedquire: daviddias ^
kenshyx has quit [Quit: Leaving]
DiCE1904 has quit [Ping timeout: 245 seconds]
kaotisk has quit [Ping timeout: 260 seconds]
wlp1s1 has quit [Quit: jeffl35 has quit (Quit: jeffl35 has quit (Quit: jeffl35 has quit (Quit: jeffl35 has quit ...]
galois_d_ has quit [Remote host closed the connection]
iczero has joined #ipfs
galois_dmz has joined #ipfs
Boomerang has quit [Quit: Leaving]
Alaura has quit [Ping timeout: 258 seconds]
Alaura has joined #ipfs
iczero is now known as wlp1s1
sametsisartenep has quit [Quit: brb]
zbyte64 has joined #ipfs
maxlath has joined #ipfs
zbyte64 has quit [Remote host closed the connection]
zbyte64 has joined #ipfs
<daviddias> kumavis: replied, seems like the right behaviour to me
<daviddias> it would be painful to develop wire protocols if any read call would like a random about of bytes
<daviddias> it would force everyone to add their own caching, each time a read misses the right byte count
anonymuse has quit [Remote host closed the connection]
espadrine has quit [Ping timeout: 260 seconds]
Mizzu has quit [Quit: WeeChat 1.6]
Mizzu has joined #ipfs
<frood> is there a standard way to link from an IPFS object to an external resource?
<frood> like a web address?
<kumavis> daviddias: dont really understand your response -- my assumption is that pull-reader does cache - is this correct?
<kumavis> this is my first time using pull-streams
<kumavis> its my assumption that is the role of pull-reader
<kumavis> > it would be painful to develop wire protocols if any read call would like a random about of bytes
<kumavis> sources' read fn dont take in a size, so this must be the case
anonymuse has joined #ipfs
s_kunk has joined #ipfs
zbyte64 has quit [Remote host closed the connection]
zbyte64 has joined #ipfs
zbyte64 has quit [Ping timeout: 260 seconds]
wallacoloo_ has joined #ipfs
kenshyx has joined #ipfs
barndon has joined #ipfs
anonymus_ has joined #ipfs
anonymuse has quit [Ping timeout: 256 seconds]
barndon has quit [Client Quit]
ygrek has quit [Remote host closed the connection]
bastianilso__ has quit [Quit: bastianilso__]
anonymus_ has quit [Ping timeout: 260 seconds]
jholden has quit [Ping timeout: 256 seconds]
ulrichard has quit [Ping timeout: 244 seconds]
kenshyx has quit [Quit: Leaving]
chris613 has joined #ipfs
Encrypt_ has joined #ipfs
arpu has quit [Ping timeout: 244 seconds]
anonymuse has joined #ipfs
ulrichard has joined #ipfs
sametsisartenep has joined #ipfs
<hsanjuan> frood: you mean opening example.com and have it show ipfs/Qojasofuareoihfaer.... ?
zbyte64 has joined #ipfs
anonymuse has quit [Ping timeout: 240 seconds]
jholden has joined #ipfs
ygrek has joined #ipfs
zbyte64 has quit [Ping timeout: 260 seconds]
arpu has joined #ipfs
<frood> no, I mean have /ipfs/Qojasofuare.... link out to www.example.com in a standardized way.
robattila256 has quit [Ping timeout: 245 seconds]
soloojos has quit [Ping timeout: 245 seconds]
Encrypt_ has quit [Quit: Quit]
anonymuse has joined #ipfs
Alaura has quit [Ping timeout: 260 seconds]
anonymuse has quit [Client Quit]
anonymuse has joined #ipfs
se3000 has quit [Quit: My iMac has gone to sleep. ZZZzzz…]
ianopolous has quit [Ping timeout: 256 seconds]
palkeo has joined #ipfs
palkeo has quit [Changing host]
palkeo has joined #ipfs
bastianilso__ has joined #ipfs
se3000 has joined #ipfs
soloojos has joined #ipfs
<frood> ola: not exactly what I'm looking for. Is there a way to put a link to an external resource in an ipld object, where I would typically put a hash link?
<frood> and allow clients to decide whether/how to handle that?
grosscol has quit [Quit: Leaving]
zbyte64 has joined #ipfs
ianopolous has joined #ipfs
cemerick has quit [Ping timeout: 256 seconds]
maxlath has quit [Ping timeout: 252 seconds]
cwahlers has quit [Quit: Textual IRC Client: www.textualapp.com]
cwahlers has joined #ipfs
maxlath has joined #ipfs
maxlath has quit [Client Quit]
rendar has quit [Quit: std::lower_bound + std::less_equal *works* with a vector without duplicates!]
tmg has joined #ipfs
zbyte64 has quit [Read error: Connection reset by peer]
zbyte64 has joined #ipfs
sametsisartenep has quit [Quit: zZz]
ylp has joined #ipfs
zbyte64 has quit [Read error: Connection reset by peer]
jholden has quit [Ping timeout: 256 seconds]
jholden has joined #ipfs
PseudoNoob has quit [Remote host closed the connection]
zbyte64 has joined #ipfs
jholden has quit [Ping timeout: 256 seconds]
zbyte64 has quit [Read error: Connection reset by peer]
zbyte64 has joined #ipfs
Bat`O has quit [Ping timeout: 260 seconds]
Bat`O has joined #ipfs
se3000 has quit [Quit: My iMac has gone to sleep. ZZZzzz…]
se3000 has joined #ipfs
cwahlers has quit [Quit: Textual IRC Client: www.textualapp.com]
cwahlers has joined #ipfs
ashark has quit [Ping timeout: 248 seconds]
pfrazee has quit [Remote host closed the connection]
pfrazee has joined #ipfs
ulrichard has quit [Remote host closed the connection]
se3000 has quit [Quit: My iMac has gone to sleep. ZZZzzz…]
danemacmillan has left #ipfs ["WeeChat 1.0.1"]
pfrazee has quit [Ping timeout: 252 seconds]
Oatmeal has quit [Ping timeout: 240 seconds]
galois_d_ has joined #ipfs
Kane` has quit [Remote host closed the connection]
galois_dmz has quit [Ping timeout: 260 seconds]
maxlath has joined #ipfs
ylp has quit [Ping timeout: 260 seconds]
dmr has quit [Quit: Leaving]
ylp has joined #ipfs
zbyte64_ has joined #ipfs
zbyte64_ has quit [Read error: Connection reset by peer]
zbyte64 has quit [Ping timeout: 260 seconds]
zbyte64 has joined #ipfs
Mizzu has quit [Quit: WeeChat 1.6]
zbyte64 has quit [Ping timeout: 245 seconds]
se3000 has joined #ipfs
anonymuse has quit [Remote host closed the connection]
zbyte64 has joined #ipfs
bastianilso__ has quit [Quit: bastianilso__]
palkeo has quit [Quit: Konversation terminated!]
<lgierth> whyrusleeping: know how we're using strings as path arguments to the new coreapi funcs? i'd like to accept cid.Cid and possibly other types for paths. one option is to accept interface{}, and let a new cid.Parse() or so func for making it into a proper Cid
zbyte64 has quit [Ping timeout: 265 seconds]
<whyrusleeping> hrm... yeah
<lgierth> does that sounds obviously stupid? it's kinda throwing out the type system of course
<whyrusleeping> could accept an interface
<whyrusleeping> then you could handle a string, a Path, and a Cid
<whyrusleeping> type Ref interface{}
<lgierth> and datastore keys or whatever
<whyrusleeping> or something
<whyrusleeping> datastore keys? that one seems weirder
<lgierth> yeah that one probably doesn't make much sense
<lgierth> anyhow, cool
Oatmeal has joined #ipfs
mildred3 has joined #ipfs
rgrinberg has joined #ipfs
mildred2 has quit [Ping timeout: 252 seconds]
<lgierth> from a pure api standpoint, i think it will actually be useful in the future to be able to use arbitrary things as lookup keys
<lgierth> implementations MUST understand cid and /ipfs paths
<lgierth> implementations SHOULD understand /ipns (it implies having a namesys)
<lgierth> ideally everything fits in cid obviously
<lgierth> but who knows, coreapi impls could understand how to resolve a banana to a canonical cid
zbyte64_ has joined #ipfs
<lgierth> or use some local service, etc.
<mguentner> what is the purpose of "MimeType" in unixfs?
<lgierth> mguentner: it's a placeholder for future handling of file metadata, but none of that is implemented
<lgierth> i think there's timestamps and permissions in there too somewhere
<mguentner> well...I am coming from the design flaw that (go-)ipfs has no execute bit which would be kinda useful when building a unixfs :).So I am trying to figure out how to add/fix that. Now this MimeType confused me a bit...
<lgierth> yep executable bit is definitely the most painful to not have
<lgierth> there was a discussion about unixfs metadata, let me see
<lgierth> help is most welcome
<mguentner> yeah...so the choice is either to build something nasty (tar) around the delivery system or instead fixing it where it should be fixed
<lgierth> ok that's not a lot: https://github.com/ipfs/notes/issues/60
<lgierth> it basically involves making wrapper objects around the actual file object
<lgierth> the wrapper object holds the metadata and points to the file object
<lgierth> directory objects point to the metadata object
<lgierth> this will be easier with IPLD -- so it would be neat to have the next iteration of unixfs using IPLD
<lgierth> right now unixfs is a protobuf structure on the merkledag graph format
<lgierth> (ipld unifies these)
<lgierth> so yeah if you have ideas, feel most welcome to write them down even if they're incomplete
<mguentner> okay. I want this feature rather fast, so fixing this iteration seems to be the thing to do
se3000 has quit [Quit: My iMac has gone to sleep. ZZZzzz…]
<mguentner> I guess just adding the attributes to the current .proto is the easiest way to do in order to avoid hard breaks, right?