<ipfsbot>
[go-ipfs] whyrusleeping force-pushed fix/prov-store from 2030d22 to abb85fc: http://git.io/vkD9w
<ipfsbot>
go-ipfs/fix/prov-store abb85fc Jeromy: fix rampant memory leak in providers records storage...
<jbenet>
yay.
<JasonWoof>
jbenet: you want me to write up a proposal for using a custom service / feature where you can have friends mirror (download+pin) stuff you publish?
<JasonWoof>
might be getting ahead of myself a bit here, I haven't run ipfs yet
<JasonWoof>
I'm worried that I'm jumping right to the "what can't it do?" stuff before using that it does well
<whyrusleeping>
can someone add a large file and tell me how long it takes?
<tperson>
whyrusleeping: Ya, how big you thinking?
<whyrusleeping>
tperson: like, 500MB-1GB
<whyrusleeping>
i feel like something regressed
grncdr has joined #ipfs
grncdr1 has quit [Ping timeout: 252 seconds]
<tperson>
700mb ~ 51 seconds
grncdr has quit [Quit: Leaving.]
<whyrusleeping>
okay, maybe i fucked something up locally then
<whyrusleeping>
tperson: was that daemon online or offline?
<ipfsbot>
[go-ipfs] jbenet pushed 1 new commit to master: http://git.io/vkDNc
<ipfsbot>
go-ipfs/master c9ad7a9 Juan Batiz-Benet: Merge pull request #1315 from ipfs/fix/prov-store...
<tperson>
online
<whyrusleeping>
oh, okay
<whyrusleeping>
thats good
lgierth_ is now known as lgierth
guest965 has quit [Ping timeout: 272 seconds]
Wallacoloo has joined #ipfs
notduncansmith has joined #ipfs
notduncansmith has quit [Read error: Connection reset by peer]
guest965 has joined #ipfs
<lgierth>
who was that with the git repos hosted in ipfs?
<whyrusleeping>
i was doing that
Blame has quit [Quit: Connection closed for inactivity]
<lgierth>
i would think that any package manager that works with a local $repo can work with ipfs
<lgierth>
lol lets dig github's grave
<cjb>
jbenet: nice!
<cjb>
would that give you swarming downloads of shared chunks, too?
<tperson>
lgierth: Nah, just surgery. Github can still exist, it just needs to use ipfs :)
<lgierth>
yeah a glorified UI for ipfs :)
<lgierth>
is ipfs actually ready to work with large numbers of objects?
neoteo has joined #ipfs
williamcotton has quit [Ping timeout: 244 seconds]
<lgierth>
A way to statically host your git repos in ipfs. For now, these are read only.
<lgierth>
ok that means they're not incremental yet
<lgierth>
will be really exciting when they are
<jbenet>
tperson, bengl: next we need a ipfs-blob-store
notduncansmith has joined #ipfs
<jbenet>
cjb: "would that give you swarming downloads of shared chunks, too?" yep
<jbenet>
cjb: even across repos ;)
<cjb>
ahhhhhh I want it
Bioblaze has quit [Remote host closed the connection]
notduncansmith has quit [Read error: Connection reset by peer]
alexandria-devon has quit [Quit: alexandria-devon]
neoteo has quit [Ping timeout: 245 seconds]
<jbenet>
cjb: different repos? ipfs dont care! the merkle-pando!
<whyrusleeping>
lgierth: ipfs can handle a lot of objects right now
<jbenet>
merkle-pando-tree!
<cjb>
:)
<lgierth>
coolio
<jbenet>
cjb help us make it!
<cjb>
yeah, it does sound like I should spend the next week or so studying ipfs/go
<jbenet>
cjb we're kicking off node-ipfs development this week if you prefer node. more to do there-- so if you want to get to something working, go straight to go-ipfs
<cjb>
nice, anywhere other than here I should read to follow along?
<jbenet>
relevant repos at github.com/ipfs
<jbenet>
whyrusleeping what's next to merge?
<whyrusleeping>
the food i'm cooking into my stomache
<tperson>
What is the difference between Supernodes vs Bootstraps in the config?
<tperson>
I noticed none of the super nodes are QmSoL nodes.
Luzifer has quit [Quit: Listen to VoxNoctem.com if you like dark music...]
Luzifer has joined #ipfs
<jbenet>
tperson: that should be renamed "delegated routing" -- what it does is randomly query a set of "delegate nodes" randomly, and use the first results that return.
<jbenet>
tperson: (doesn't query all, one by one)
<JasonWoof>
cjb: nice work on gittorrent! would be amazing to have your help on this project
<jbenet>
tperson: the idea is that you have "something else" run routing for you-- useful when you cant run a dht or whatever. the problem with it is it leeches on the delegates AND the delegates have a lot of power over your records. it's meant to work within trust-- i.e. my watch uses my phone or my computer as a delegate, etc.
<jbenet>
JasonWoof yep +1 :)
<tperson>
ah alright
<tperson>
I assume on first boot up right now the bootstrap nodes give back a list of delegates, and at a later point this might be configureable?
<tperson>
(In the case of the phone/watch)
<whyrusleeping>
jbenet: did patch get merged?
<whyrusleeping>
cjb: join us and help us conquer the world (or something like that)
<tperson>
Make pictures of cats load really really fast.
notduncansmith has joined #ipfs
notduncansmith has quit [Read error: Connection reset by peer]
<jbenet>
fix* fix the world.
bengl has joined #ipfs
<tperson>
I'm not sure how useful this will really be, but when there start to be a bunch of implementations of ipfs, might be a good idea to have a repo with all the protobuf files localized.
<bengl>
i'm not sure it will ever make sense to require/load modules directly from ipfs in node-land
<tperson>
The advantage I can see, is it will reduce the duplications of packages.
<JasonWoof>
slow?
<bengl>
JasonWoof: ^
<bengl>
lifecycle scripts are a huge deal
<tperson>
Good point
<bengl>
some modules even have different lifecycle scripts depending on whether they are in a node_modules directory or not :S
<bengl>
(or at least switching logic based on that inside the scripts)
<tperson>
bengl: Does npm use the abstract-blob-store?
<bengl>
no
<bengl>
but it could
<JasonWoof>
hmmm... I was imagining using require() to pull a node module of a particular version (by hash) and it would grab its dependancies, also by hash
<JasonWoof>
'course this requires that all modules do their requires this way
<bengl>
JasonWoof: you'd also need (at the very least) platform, as there are *many* modules using C/C++ addons
<JasonWoof>
(in order to get a particular tree of module dependancies, via your original hash)
<bengl>
and even that might not work in all cases, because lifecycle scripts
<JasonWoof>
bengl: yeah, my thing would only work for pure js modules
<JasonWoof>
mmm, yeah, no lifecycle scripts
Bioblaze has joined #ipfs
<JasonWoof>
so we'd be creating another thing that's like npm, except can't do native compilation or lifecycle scripts
<JasonWoof>
never mind :)
<JasonWoof>
you can just use npm as normal, dump everything into ipfs, and it'll dedup the common files
<JasonWoof>
(depending on what you're doing)
<JasonWoof>
thanks for helping me think this through. I'm a little new at this
<bengl>
npm has a dedupe command as well
<bengl>
and npm@3 will install modules in a much more dedupe'd manner
kbala_ has quit [Read error: Connection reset by peer]
robmyers has quit [Read error: Connection reset by peer]
niran has quit [Read error: Connection reset by peer]
<bengl>
JasonWoof: no prob
kbala_ has joined #ipfs
oleavr has quit [Read error: Connection reset by peer]
feross has quit [Read error: Connection reset by peer]
robmyers has joined #ipfs
Muis has quit [Read error: Connection reset by peer]
richardlitt has quit [Read error: Connection reset by peer]
tibor has quit [Read error: Connection reset by peer]
henriquev has quit [Read error: Connection reset by peer]
bret has quit [Read error: Connection reset by peer]
ffmad has quit [Read error: Connection reset by peer]
rubiojr has quit [Read error: Connection reset by peer]
kumavis has quit [Read error: Connection reset by peer]
hosh has quit [Read error: Connection reset by peer]
zrl has quit [Read error: Connection reset by peer]
<JasonWoof>
I've only used npm a couple times
niran has joined #ipfs
notduncansmith has joined #ipfs
feross has joined #ipfs
notduncansmith has quit [Read error: Connection reset by peer]
oleavr has joined #ipfs
harlan_ has quit [Quit: harlan_]
Muis has joined #ipfs
<cjb>
whyrusleeping: JasonWoof: thanks for the welcome :) Got lots more Go to learn..
richardlitt has joined #ipfs
henriquev has joined #ipfs
bret has joined #ipfs
hosh has joined #ipfs
kumavis has joined #ipfs
zrl has joined #ipfs
guest965 has quit [Ping timeout: 272 seconds]
<jbenet>
hey ogd, i found the class of devices we'd want to run software on _now_ that we have to be very conservative about space on wireless routers. some have less than 1MB of space to preload (firmware). and have ~20MB of ram
<jbenet>
ogd: i have a tp-link mesh network in my car, i'll bring it to portland to play with when i'm there
rubiojr has joined #ipfs
tibor has joined #ipfs
ffmad has joined #ipfs
headbite has quit [Quit: Leaving.]
guest965 has joined #ipfs
<JasonWoof>
cjb: I hope you enjoy go. I experimented with it a few years back (played at making a mandelbrot generator) and had fun with it.
nell has joined #ipfs
<nell>
hello
<whyrusleeping>
nell: hey!
<JasonWoof>
hi nell
<nell>
I was just curious if anyone has dockerized ipfs
<nell>
so that it can run on windows
nessence has quit [Remote host closed the connection]
<cjb>
JasonWoof: have done one project (Paxos implementation) but debugging goroutines and mutexes was very tough
<ogd>
jbenet: write up a post on /internet3000
<jbenet>
ogd: will do! love the repo btw.
<jbenet>
nell: yes, there's a Dockerfile in go-ipfs root.
<nell>
:)
<nell>
how new is ipfs
<jbenet>
ogd: add tron (the original) somewhere ("i fight for the users!")
<ogd>
haha
<jbenet>
nell: it was a paper a year ago.
<nell>
:)
notduncansmith has joined #ipfs
<nell>
cool
notduncansmith has quit [Read error: Connection reset by peer]
<JasonWoof>
cjb: Oy... though I can't imagine debugging async issues is fun in any language.
inconshreveable has quit [Ping timeout: 258 seconds]
alexandria-devon has joined #ipfs
notduncansmith has joined #ipfs
notduncansmith has quit [Read error: Connection reset by peer]
pfraze has quit [Remote host closed the connection]
notduncansmith has joined #ipfs
notduncansmith has quit [Read error: Connection reset by peer]
Bioblaze has quit [Remote host closed the connection]
Wallacoloo has quit [Ping timeout: 256 seconds]
neoteo has joined #ipfs
neoteo has quit [Ping timeout: 252 seconds]
www1 has quit [Ping timeout: 256 seconds]
notduncansmith has joined #ipfs
notduncansmith has quit [Read error: Connection reset by peer]
<bengl>
tperson: ping
<tperson>
hey
<tperson>
I can seem to resolve every website except nodejs.org, is that down for anyone else?
<mappum>
tperson: yep, appears to be down
<bengl>
tperson: i haven't done much at all on ipfs-blob-store, but the basic idea i was going for was that the constructor would take in an ipns keypair, and then just have it proxy keys through to to that.
<bengl>
err, admittedly, i'm not sure at all how ipns works, so bear with me if that didn't make much sense
<bengl>
so blobStore.createReadStream({key: '/path/under/ipns/namespace'}) would work
<bengl>
and refer to /ipns/<hash>/path/under/ipns/namespace
<tperson>
Alright cool, do we want to be able to store any meta as well?
<tperson>
From reading the spec it sounded like that first argument is also suppose to be stored?
<bengl>
you mean metadata in the abstract-blob-store spec?
<tperson>
ya
<tperson>
"If opts is a string it should be interpreted as a key. Otherwise opts should be an object with any blob metadata you would like to store, e.g. name"
Wallacoloo has joined #ipfs
<bengl>
the metadata in the example i just provided would just be {key: '/path/under/ipns/namespace'}
<bengl>
so really, what i'm describing is an ipns-blob-store and not an ipfs-blob-store ;)
notduncansmith has joined #ipfs
notduncansmith has quit [Read error: Connection reset by peer]
<bengl>
i think i'm going to hash this out a little more clearly on that github issue.
<tperson>
We could probably write both, absence of a key would simple return the hash has the key (just like in mafintosh example above), but we could also do ipns.
<tperson>
kk
<bengl>
right, bake both use-cases into one module?
sharky has quit [Ping timeout: 264 seconds]
sharky has joined #ipfs
<bengl>
alright i put a comment on that thread. i'm a tad tired so excuse me if i didn't make much sense
notduncansmith has joined #ipfs
notduncansmith has quit [Read error: Connection reset by peer]
inconshr_ has quit [Remote host closed the connection]
inconshreveable has joined #ipfs
tilgovi has quit [Ping timeout: 264 seconds]
inconshreveable has quit [Ping timeout: 265 seconds]
inconshreveable has joined #ipfs
notduncansmith has joined #ipfs
notduncansmith has quit [Read error: Connection reset by peer]
guest449 has joined #ipfs
guest965 has quit [Ping timeout: 256 seconds]
guest4491 has joined #ipfs
guest965 has joined #ipfs
guest449 has quit [Ping timeout: 272 seconds]
notduncansmith has joined #ipfs
notduncansmith has quit [Read error: Connection reset by peer]
inconshr_ has joined #ipfs
inconshreveable has quit [Ping timeout: 256 seconds]
guest449 has joined #ipfs
guest4491 has quit [Ping timeout: 256 seconds]
Blame has quit [Quit: Connection closed for inactivity]
guest4491 has joined #ipfs
notduncansmith has joined #ipfs
notduncansmith has quit [Read error: Connection reset by peer]
neoteo has joined #ipfs
guest449 has quit [Ping timeout: 256 seconds]
neoteo has quit [Ping timeout: 255 seconds]
alexandria-devon has quit [Quit: alexandria-devon]
notduncansmith has joined #ipfs
notduncansmith has quit [Read error: Connection reset by peer]
notduncansmith has joined #ipfs
notduncansmith has quit [Read error: Connection reset by peer]
mildred has joined #ipfs
<ipfsbot>
[go-ipfs] travisperson opened pull request #1319: Text under `ipfs name --help` incorrect (master...bug/name-help-fix) http://git.io/vkSTt
zabirauf has joined #ipfs
notduncansmith has joined #ipfs
notduncansmith has quit [Read error: Connection reset by peer]
guest9651 has joined #ipfs
guest965 has quit [Read error: Connection reset by peer]
guest965 has joined #ipfs
guest9651 has quit [Read error: Connection reset by peer]
notduncansmith has joined #ipfs
notduncansmith has quit [Read error: Connection reset by peer]
neoteo has joined #ipfs
<ipfsbot>
[go-ipfs] jbenet pushed 2 new commits to master: http://git.io/vkSOU
<ipfsbot>
go-ipfs/master 1178019 Travis Person: Text under `ipfs name --help` incorrect...
<ipfsbot>
go-ipfs/master 7fbfecf Juan Batiz-Benet: Merge pull request #1319 from travisperson/bug/name-help-fix...
nessence has joined #ipfs
mildred has quit [Quit: Leaving.]
mildred has joined #ipfs
reit has joined #ipfs
nessence has quit [Ping timeout: 265 seconds]
<tperson>
What causes `ipfs name publish` to take so long?
inconshr_ has quit [Remote host closed the connection]
<jbenet>
tperson: not sure-- it's putting to the dht, but it shouldn't take so long
<tperson>
I'm seeing about 10-15 seconds. Seems long, maybe it's not though.
notduncansmith has joined #ipfs
notduncansmith has quit [Read error: Connection reset by peer]
<jbenet>
that's a ton.
<jbenet>
we should be getting that down to a couple seconds.
<jbenet>
there's a _ton_ to optimize
rht_ has joined #ipfs
<jbenet>
rht_ o/
<rht_>
eh what's going on
<jbenet>
just saying hello :)
<rht_>
oh (still, catching up if I miss sth)
<rht_>
!help
<rht_>
!?
<rht_>
!friends
<pinbot>
my friends are: whyrusleeping jbenet tperson
Tv` has quit [Quit: Connection closed for inactivity]
<jbenet>
we can add you over at github.com/whyrusleeping/pinbot
inconshreveable has joined #ipfs
notduncansmith has joined #ipfs
notduncansmith has quit [Read error: Connection reset by peer]
<tperson>
Is there a command that given a path `/ipns/<peer_id>/some/path` will resolve it down to an `/ipfs/<hash>`?
<tperson>
I was thinking `ipfs resolve` would do this but that appears to be the same as `ipfs name resolve`, which only does `ipns` stuff.
inconshreveable has quit [Remote host closed the connection]
<jbenet>
tperson it should do ipfs stuff too
<jbenet>
tperson if not it's not finished
<rht_>
jbenet: I'm checking out if there is new shiny bot around. also I still owe u guys a bot.
<jbenet>
us* :)
<rht_>
yeah, this week the soonest
<jbenet>
no worreis
notduncansmith has joined #ipfs
notduncansmith has quit [Read error: Connection reset by peer]
inconshreveable has joined #ipfs
inconshreveable has quit [Remote host closed the connection]
inconshreveable has joined #ipfs
<ipfsbot>
[go-ipfs] travisperson opened pull request #1320: Fully resolve ipfs paths down to its final hash (master...feat/full-path-resolve) http://git.io/vkSgC
inconshreveable has quit [Remote host closed the connection]
inconshreveable has joined #ipfs
notduncansmith has joined #ipfs
notduncansmith has quit [Read error: Connection reset by peer]
mildred has quit [Quit: Leaving.]
mildred1 has joined #ipfs
notduncansmith has joined #ipfs
notduncansmith has quit [Read error: Connection reset by peer]
null_radix has quit [Ping timeout: 252 seconds]
Wallacoloo has quit [Ping timeout: 256 seconds]
mildred1 has quit [Ping timeout: 246 seconds]
mildred has joined #ipfs
guest965 has quit [Ping timeout: 265 seconds]
null_radix has joined #ipfs
inconshreveable has quit [Ping timeout: 265 seconds]
inconshreveable has joined #ipfs
guest965 has joined #ipfs
<rht_>
btw chromium just moved to go-logging from logrus https://codereview.chromium.org/1149313002/. the reason was go-logging is more lightweight (+ has less dependencies) than logrus
notduncansmith has joined #ipfs
notduncansmith has quit [Read error: Connection reset by peer]
zabirauf has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
<rht_>
I will still reduce the backend to just logrus (since we have already been using it)
<cryptix>
hey guys
<rht_>
hey cryptix, you once said "hmm i see two things blocking us from replacing go-logging with logrus as it stands. 1) logrus only has 6 log levels (no Notice) 2) logrus doesn't have subsystem concept in itself." -- does this still ring true?
zabirauf has joined #ipfs
zabirauf has quit [Client Quit]
notduncansmith has joined #ipfs
notduncansmith has quit [Read error: Connection reset by peer]
inconshreveable has quit [Ping timeout: 265 seconds]
zabirauf has joined #ipfs
<cryptix>
rht_: sorry got distracted
<cryptix>
rht_: actually no. i talked with jbenet about 1), we can just scratch that level
<cryptix>
rht_: that way you always have a "module" field on each entry you subsecenty log with that logger
<cryptix>
which works for my usecases and i think it should work with ipfs too (cc whyrusleeping jbenet)
zabirauf has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
notduncansmith has joined #ipfs
notduncansmith has quit [Read error: Connection reset by peer]
nessence has joined #ipfs
nessence has quit [Ping timeout: 250 seconds]
<cryptix>
rht_: re chromium: also interesting.. didnt see them using go in there yet
guest965 has quit [Ping timeout: 256 seconds]
JasonWoof has quit [Ping timeout: 255 seconds]
reit has quit [Read error: Connection reset by peer]
domanic has joined #ipfs
www has joined #ipfs
reit has joined #ipfs
notduncansmith has joined #ipfs
notduncansmith has quit [Read error: Connection reset by peer]
JasonWoof has joined #ipfs
guest965 has joined #ipfs
lgierth has joined #ipfs
notduncansmith has joined #ipfs
notduncansmith has quit [Read error: Connection reset by peer]
<ralphtheninja>
morning
<cryptix>
hey ralphtheninja :)
<daviddias>
hey :)
<cryptix>
hey daviddias! 3 days left... :o :)
hellertime has joined #ipfs
notduncansmith has joined #ipfs
notduncansmith has quit [Read error: Connection reset by peer]
<rht_>
cryptix: actually it is their 'infra' tools to support chromium dev. the bulk of chromium itself is still c++
<cryptix>
yea thought so. still an interesting sign
<cryptix>
also with the shared modules stuff coming in 1.5 i wonder where this will go
nessence has joined #ipfs
<rht_>
cryptix: and, chromium (go), firefox (rust)? who requested the shared modules the most?
pfraze has joined #ipfs
<cryptix>
rht_: i havnt learn rust yet. i really shoudl but i allready have too much projects
<daviddias>
hey :) that is right :)
sharky has quit [Read error: Connection reset by peer]
<daviddias>
cryptix I've started doing some algorithm challenges with Rust just to get the hang of the language. It has a lot of things that make sense (0 cost abstractions), but it is such a verbose language
<daviddias>
Not a fan of the ".unwrap" calls
<daviddias>
ah, but I still have to speed myself up on Rust 1.0 release :)
<rht_>
daviddias: how do you find the ownership/borrowing concept?
<cryptix>
i took a look at some projects some time ago but got hung up on 'this needs experimental toolchain branch xyz'.. to much overhead at that time. yea i guess now that rust 1.0 is out i could take a look again.. _just_ need more time.... >_<
sharky has joined #ipfs
sharky has quit [Max SendQ exceeded]
<rht_>
cryptix: they (rust) are looking to build some gc mechanism iirc, if this is your thing
sharky has joined #ipfs
sharky has quit [Changing host]
sharky has joined #ipfs
sharky has quit [Remote host closed the connection]
sharky has joined #ipfs
<rht_>
cryptix: (and my question was more about the macro trajectory of go/rust as an ecosystem)
<daviddias>
rht I liked the "compiler driven development" (:P) mindset that ownership/borrowing gives you
notduncansmith has joined #ipfs
notduncansmith has quit [Read error: Connection reset by peer]
<rht_>
daviddias: you mean the compiler emits the most errors on object ownership than everything else?
<rht_>
A language that requires a GC is a language that opts into a larger, more complex runtime than Rust cares for. Rust is usable on bare metal with no extra runtime. Additionally, garbage collection is frequently a source of non-deterministic behavior. Rust provides the tools to make using a GC possible and even pleasant, but it should not be a requirement for
<rht_>
implementing the language.
guest965 has quit [Ping timeout: 272 seconds]
notduncansmith has joined #ipfs
notduncansmith has quit [Read error: Connection reset by peer]
guest965 has joined #ipfs
sjamayee has joined #ipfs
sjamayee has quit [Quit: Page closed]
zigguratt has joined #ipfs
zigguratt has left #ipfs [#ipfs]
zigguratt has joined #ipfs
notduncansmith has joined #ipfs
notduncansmith has quit [Read error: Connection reset by peer]
zigguratt has left #ipfs [#ipfs]
zigguratt has joined #ipfs
pfraze has quit [Remote host closed the connection]
pfraze has joined #ipfs
mildred has quit [Remote host closed the connection]
mildred has joined #ipfs
guest965 has quit [Ping timeout: 245 seconds]
mildred has quit [Client Quit]
bmcorser has quit [Quit: Connection closed for inactivity]
notduncansmith has joined #ipfs
notduncansmith has quit [Read error: Connection reset by peer]
guest965 has joined #ipfs
chriscool has joined #ipfs
mildred has joined #ipfs
notduncansmith has joined #ipfs
notduncansmith has quit [Read error: Connection reset by peer]
williamcotton has joined #ipfs
chriscool has quit [Ping timeout: 258 seconds]
reit has quit [Ping timeout: 265 seconds]
notduncansmith has joined #ipfs
notduncansmith has quit [Read error: Connection reset by peer]
<ralphtheninja>
first I thought that ipfs was really awesome, but now I have realized it's even more awesome combined with ipns ;)
<ralphtheninja>
decentralized package manager is basically a solved problem .. unless I'm missing something
<mmuller_>
ralphtheninja: well, I think IPNS is still pretty flakey.
<ralphtheninja>
mmuller_: flakey in what way?
<mmuller_>
in that IPNS addresses don't always resolve
<ralphtheninja>
mmuller_: ok, well there might be bugs and things like that .. but the idea is solid :)
<mmuller_>
(devs can jump in and correct me if this is has been fixed)
<mmuller_>
yes, the idea is great
<mmuller_>
but I don't think we could call package management based on it a "solved problem" until it's reasonably solid :-)
<ralphtheninja>
hehe it's just me being crazy excited :D
<mmuller_>
yeah, it's cool. Been there ;-)
nessence has quit [Remote host closed the connection]
reit has joined #ipfs
guest449 has joined #ipfs
notduncansmith has joined #ipfs
guest4491 has quit [Ping timeout: 245 seconds]
notduncansmith has quit [Read error: Connection reset by peer]
williamcotton has quit [Read error: Connection reset by peer]
williamcotton has joined #ipfs
guest965 has quit [Ping timeout: 252 seconds]
therealplato has quit [Ping timeout: 255 seconds]
therealplato has joined #ipfs
inconshreveable has joined #ipfs
guest965 has joined #ipfs
notduncansmith has joined #ipfs
notduncansmith has quit [Read error: Connection reset by peer]
reit has quit [Ping timeout: 272 seconds]
notduncansmith has joined #ipfs
notduncansmith has quit [Read error: Connection reset by peer]
hellertime has quit [Quit: Leaving.]
hellertime has joined #ipfs
<whyrusleeping>
gooood morning friends
domanic has quit [Remote host closed the connection]
<daviddias>
helloo whyrusleeping :)
<whyrusleeping>
daviddias: hey! hows it goin?
<daviddias>
Doing pretty good :) and you?
domanic has joined #ipfs
<daviddias>
Well to be more accurate, I'm living on a limbo mind state during this week where I know I'm ready to do my final thesis presentation this Friday, however I can't put my mind off of with with excitement and anxiety, which makes it hard to focus on other stuff well. But soon it will be done, so its cool :)
_fil__ is now known as _fil_
<daviddias>
btw, I've been "compiling" with jbenet mappum and krl a list of things in order to get node-ipfs usable, you might wanna give your insights :) https://github.com/ipfs/node-ipfs/issues/13 Mostly, let me know if having a "communication test" would be feasible, if I understand correctly, that has been one of the challenges (using the same streams parser in
<daviddias>
both ends)
<whyrusleeping>
yeah, we want them to be able to talk
<whyrusleeping>
the issue right now is we cant find a good stream parser that both languages have implemented
<daviddias>
is spdy a candidate on the table?
<whyrusleeping>
yeah it is
<whyrusleeping>
but good spdy implementations are hard to come by
<whyrusleeping>
dockers implementation deadlocks
<daviddias>
which one is that, spdystream?
<whyrusleeping>
yeah
guest4491 has joined #ipfs
<www>
does somebody have a keybase invite for me?
<daviddias>
lmc
<daviddias>
I have, email?
guest449 has quit [Ping timeout: 272 seconds]
nessence has joined #ipfs
inconshreveable has quit [Remote host closed the connection]
<whyrusleeping>
yeah, ive got a bunch too
guest965 has quit [Ping timeout: 256 seconds]
mildred has quit [Ping timeout: 252 seconds]
guest965 has joined #ipfs
inconshreveable has joined #ipfs
Tv` has joined #ipfs
inconshreveable has quit [Remote host closed the connection]
inconshreveable has joined #ipfs
inconshreveable has quit [Remote host closed the connection]
cjdmax has joined #ipfs
tilgovi has joined #ipfs
<lgierth>
whyrusleeping: jbenet: krl: could you invite to that channel again?
lgierth is now known as lgierth_
lgierth_ is now known as lgierth
therealplato has quit [Read error: Connection reset by peer]
therealplato has joined #ipfs
<tperson>
whyrusleeping: Does your patch command resolve paths under the root hash, or does it only modify that hash itself?
guest965 has quit [Ping timeout: 250 seconds]
guest965 has joined #ipfs
inconshreveable has joined #ipfs
inconshreveable has quit [Remote host closed the connection]
<whyrusleeping>
i think you must have had a really old binary installed
<cjb>
huh
<whyrusleeping>
i dont recognize those config keys
* whyrusleeping
is super confused
<cjb>
ohh, you're saying that a long time ago I had a binary that created this ~/.ipfs, and then I installed the newer binary and tried to ipfs init and it barfed on the old ~/.ipfs
<whyrusleeping>
yeah
<whyrusleeping>
thats likely
<cjb>
haha, it could even have been the node impl
<whyrusleeping>
oh maybe!
hellertime has quit [Quit: Leaving.]
<whyrusleeping>
cjb: yeap, youre right
<whyrusleeping>
it was from the node impl
<cjb>
wow ok :) no worries, sorry for distracting you
<whyrusleeping>
thats totally okay, its good to know about things people run into
mildred has quit [Ping timeout: 240 seconds]
mildred has joined #ipfs
Blame has joined #ipfs
<jbenet>
cryptix, rht_: on logger vs logrus -- logger is fine. btw we want to move the event-logging to a route on the API. (i.e. so it doesn't write to disk, or write at all if there is no http client). -- maybe we should put this on an issue somewhere.
<jbenet>
ralphtheninja: hello! o/
<jbenet>
rht_ i think rust will be a great language. i look forward to implementing rust-ipfs and related tools :)
<jbenet>
ralphtheninja: re "decentralized package managment is a solved problem" EXACTLY!!!!!!
<jbenet>
mmuller_ IPNS is particularly an area that is _not_ finished. we're working on IPNS robustness now. the Records spec landed last week-- we're implementing this week and next.
<jbenet>
cjb: sorry about thenode-ipfs crap. the code out there atm is no good
<ralphtheninja>
jbenet: :)
<ralphtheninja>
jbenet: assuming everything works of course ;)
<ralphtheninja>
how many are hacking on ipfs now?
<mmuller_>
@jbenet, yes understood. Also, w00t!
<ralphtheninja>
aah perfect timing for me to start learning rust!
Bioblaze has joined #ipfs
<PayasR>
rust, cpp, node, go... way to go people :)
<cjb>
jbenet: the timestamp on my ~/.ipfs/config is July 23 2014, so that's when I was trying it :)
<PayasR>
ralphtheninja: you currently code in?
<ralphtheninja>
PayasR: node
<jbenet>
ralphtheninja: a lot of people, it's hard to keep track. i'd look at the activity on github.com/ipfs
<whyrusleeping>
jbenet: patch is ready to be looked at again
<jbenet>
okay will get on it shortly-- handling notifs
<lgierth>
the sprint pad hasn't been made an issue yet right? so i can add to it
<wking>
checkin: I responded to jbenet's feedback on go-ipfs#1291 and spun off the adder-spec into a version-controlled branch in #1321. No further progress on the Docker storage, but that's my main target at the moment
<whyrusleeping>
sprint checkin: patched up the patch command pending CR, moved util.Key to key.Key
guest965 has quit [Read error: No route to host]
<lgierth>
checking: i'm getting familiar with the gateway infrastructure, getting ansible to work, taking care of leaking docker containers
<lgierth>
lol
<lgierth>
checkin: i'm getting familiar with the gateway infrastructure, getting ansible to work, taking care of leaking docker containers
<jbenet>
thanks sprintbot! -- I'm working on pushing out interfaces and wire specs for node-ipfs interop, code reviewing things, and lots of admin stuff. -- yesterday CRed and merged various things in prep for next release (we should cut that today or tomorrow), wrote up/prepped issues, and met with node-ipfs team and kbala about bitswap ml
<wking>
There's also some discssion on the command-line resolver API (go-ipfs#1320, which I think depends on further spec clarification in go-ipfs#1307)
guest9651 has joined #ipfs
<whyrusleeping>
i think 1320 is RFM
<whyrusleeping>
after tests get pushed
<jbenet>
wking: ok awesome. it's getting a bit hard for me to keep track of various things so if i don't respond within 12 hrs, either just ping me again or assign issues to me, or use https://github.com/jbenet/todo/issues
<Tv`>
jbenet: fwiw if you're willing to live with field names everywhere, msgpack and specifically https://github.com/philhofer/msgp is *really* hard to beat
<jbenet>
Tv` oh awesome i was looking for something like msgp!
<jbenet>
(code gen)
<jbenet>
Tv` the names arent a problem because we can hack them out, replace them with tags like in protobuf and have the first message include a reference to its spec, which maps tags to names.
<Tv`>
the format sounds fairly sane, and does pretty much exactly that; you agree on a schema up front
<Tv`>
jbenet: i've benchmarked (the go lib for) capnp and was both disappointed in performance and horrified by the api
<Tv`>
capnp boasts "infinitely fast unmarshaling" but that lie crumbles as soon as you actually access the fields
<jbenet>
in c++ it's true. not anywhere else
<Tv`>
and the construct/access api is just horrible
<Tv`>
well it's "true" in the sense that there's no real unmarshal step
<Tv`>
it just stays a []byte
<jbenet>
in c++ they made it access the actual fields directly from the serialized memory.
<jbenet>
and have casting work right
<Tv`>
the huge downside is that accessing the fields is miserable
<jbenet>
but this is infeasible to get working on every language
<jbenet>
(because memory layouts are different)
<jbenet>
manu bson-ld ubjson-ld or something like it is easily doable. i'll send you a better doc at some point, but we can have 1:1 json (and json-ld) interop for full machine readability, content addressing, and human-friendliness (1:1 json mapping, so can always print out a wire format in json
<jbenet>
manu maybe this time next year the rifts between human-readability, linked-data, and fast-wire-formats will be patched.
Wallacoloo has quit [Ping timeout: 265 seconds]
<jbenet>
manu self-describing wire protocol (that does not require fetching from the network) is the last thing missing, and we can get that with content addressing.
* manu
reading backlog, jbenet
notduncansmith has joined #ipfs
<tperson>
What timezone is krl in?
notduncansmith has quit [Read error: Connection reset by peer]
<tperson>
whois krl
<manu>
jbenet: I'm missing some context - re: bson-ld - sounds good, understand and we were theorizing the same sort of thing
<manu>
jbenet: good to know you agree - was this in response to a question I had asked previously (that I have now completely forgotten :P)
<manu>
jbenet: also, how'd your meetings at MIT/W3C and Ripple go? Hopefully helpful?
<jbenet>
manu bson is not good. ubjson is much better (has both length prefixed and streaming support, and is 1:1 json (bson is not, has a bunch of mongo-specific stuff). I'll make a short doc comparing them (and others) later
<whyrusleeping>
tperson: krl is GMT + 2
<whyrusleeping>
(our time + 9)
<manu>
jbenet: not much there to look at for you, but we've abstracted the "decentralized storage" bits so we can make progress on the non-storage portions of the protocol.
<jbenet>
manu not a response to question but figured it was something you have been thinking about too :)
<manu>
jbenet: re: ubjson - good to know, we'll focus on that if we have to use binary JSON formats.
<jbenet>
manu meetings went great!! Thanks so much for intros and will follow up with you re results. In part w3c one opened a good channel
<manu>
jbenet: glad it opened a channel for you :)
<jbenet>
manu cool will take a look at identity creds stuff later this week
<jbenet>
manu: will write more on the doc but ubjson is a bit under-supported because of lack of use. It's the better format though and that sort of tools are not hard to write
<manu>
jbenet: don't yet - I'll let you know when we have something better for you to look at - probably in 2 weeks
<manu>
jbenet: I don't want you to waste your time trying to piece stuff together
<jbenet>
manu: ok sounds good!
<manu>
we haven't had time to document properly, most of the good stuff exists in code and isn't easy to navigate.
<jbenet>
manu haha thanks appreciate that
<jbenet>
manu story of all our lives :)
<manu>
haha, yeah - tell me about it :P
<jbenet>
tperson: though note that krl has sleep patterns independent of solar hegemony like me
<manu>
jbenet: those are the sorts of documents we'd want to store in the decentralized storage solution
<manu>
they're basically a "decentralized identity document"
<whyrusleeping>
jbenet: i have the sinking feeling one of my commits from a bitswap PR got dropped somewhere...
<jbenet>
whyrusleeping: oh uh. Not so good
<manu>
they tell you where a particular DID (decentralized identifier) can be access via the Web.
<manu>
s/access/accessed/
<manu>
'accessControl' says which other 'identities' and keys can update the decentralized document
<manu>
'publicKey' says which public keys are associated with the decentralized ID.
<jbenet>
manu that looks good to me!
<manu>
jbenet: in any case - I'll be able to show you more in a few weeks - mostly to demonstrate the flow of how this stuff works and where/how it hits the decentralized storage mechanism.
<jbenet>
manu we need a similar thing. Great! Actually we should discuss making all of w3id.org content addressed
<jbenet>
manu so that we can have specs that are authoritative and signed without having to hit an http endpoint to check
<whyrusleeping>
jbenet: remember asking me to change the bitswap message from just New(bool) to NewFull and NewPartial ?
<jbenet>
manu (ofc also want mutable pointers but having immutable ones possible is important in -LD land)
<whyrusleeping>
that commit appears to no longer exist
<manu>
jbenet: yep, that would be super helpful (also, will need a fallback/forward to http - because not using it makes people nervous :P)
<whyrusleeping>
and also i think a bug i had addressed in that same timeframe is back...
<jbenet>
whyrusleeping: damn. Does GitHub have a reflog?
<whyrusleeping>
i dont know
<manu>
in any case - gotta run - but excited about the stuff I've seen coming out of IPFS lately - I read the backlog in this channel from time to time.
* manu
afks.
<grawity>
it does, but generally not accessible to users
* whyrusleeping
grumbles about stupid rebasing
<grawity>
though don't you have a reflog yourself
<jbenet>
manu: thanks! See you around!
<jbenet>
whyrusleeping: :/ sorry prob my fault.
<jbenet>
whyrusleeping: what bitswap pr? And irc has the reflog worst case (thanks ipfsbot)
<whyrusleeping>
:/ i dont even remember what PR that was...
<whyrusleeping>
i think maybe 'bitswap-speed' ?
<whyrusleeping>
nope
<whyrusleeping>
not that one
<jbenet>
bbiab
<wking>
whyrusleeping: #1218 (says notmuch looking for "NewPartial"
<wking>
)
<wking>
so branch "refactor/bitswap"
<whyrusleeping>
wking: thanks
<wking>
np
<whyrusleeping>
jbenet: git command to diff against the point where a branch diverged from master?
guest965 has joined #ipfs
notduncansmith has joined #ipfs
notduncansmith has quit [Read error: Connection reset by peer]
<whyrusleeping>
jbenet: okay, my local commit for that branch is 7f3bb79b7e50d91a192def8e85e0d560888f9179
alexandria-devon has quit [Quit: alexandria-devon]
alexandria-devon has joined #ipfs
PayasR has quit [Quit: Ex-Chat]
<whyrusleeping>
jbenet: halp
notduncansmith has joined #ipfs
notduncansmith has quit [Read error: Connection reset by peer]
guest9651 has joined #ipfs
guest965 has quit [Read error: Connection reset by peer]
inconshreveable has joined #ipfs
guest965 has joined #ipfs
guest9651 has quit [Read error: Connection reset by peer]
* whyrusleeping
gives up hope
* whyrusleeping
decides to become a blueberry farmer instead of a programmer
www1 has joined #ipfs
guest965 has quit [Ping timeout: 272 seconds]
www has quit [Ping timeout: 240 seconds]
alexandria-devon has quit [Quit: alexandria-devon]
guest965 has joined #ipfs
hellertime has joined #ipfs
notduncansmith has joined #ipfs
notduncansmith has quit [Read error: Connection reset by peer]
guest965 has quit [Read error: No route to host]
guest965 has joined #ipfs
pfraze has quit [Remote host closed the connection]
<whyrusleeping>
Tv`: thoughts on having the flatfs datastore synchronize writes to disk?
<whyrusleeping>
my cpu load goes to the moon whenever i'm doing a large request because we have so many different threads waiting on disk IO
<Tv`>
whyrusleeping: a better api would be something with a concept of a batch
<Tv`>
whyrusleeping: but that's an api change
guest965 has quit [Ping timeout: 250 seconds]
<Tv`>
whyrusleeping: invisibly, it could do a thing where multiple near-concurrent puts have their dir syncs combined, but that requires a *concurrent* workload, which ipfs add probably isn't currently
<Tv`>
(also, a good kernel fs will do that combining anyway)
<Tv`>
what you're describing sounds like a classic extN design wart
www1 has quit [Ping timeout: 272 seconds]
<Tv`>
p.s. larger objects would work better (guess why bazil is tuned that way ;)
grncdr has joined #ipfs
guest965 has joined #ipfs
notduncansmith has joined #ipfs
notduncansmith has quit [Read error: Connection reset by peer]
guest965 has quit [Ping timeout: 264 seconds]
<barnacs>
speaking of which, i still need volunteers to test concurrent add :/
<jbenet>
whyrusleeping: sorry in transit. git cherry and derivatives?
<jbenet>
whyrusleeping: no that's commit based. Some diff thing
grncdr has quit [Read error: Connection reset by peer]
grncdr has joined #ipfs
<whyrusleeping>
jbenet: oh well, i dont think that caused the bug i'm seeing...
<whyrusleeping>
it works if i revert to the merge commit from that PR
notduncansmith has joined #ipfs
notduncansmith has quit [Read error: Connection reset by peer]
<jbenet>
whyrusleeping: we should get a list of missing commits though
<whyrusleeping>
i dont think any are missing, i just think you ate a commit that i rebased/ammended
<whyrusleeping>
Tv`: 'ipfs add' isnt concurrent, but 'ipfs get/cat/refs' all are
<whyrusleeping>
anything coming in from the network is concurrent
<whyrusleeping>
barnacs: did you file a PR?
<whyrusleeping>
cryptix: according to git bisect, your godeps update broke bitswap >.>
mildred has quit [Quit: Leaving.]
<Tv`>
whyrusleeping: but those ipfs get etc aren't writes, only add or pin are, riight?
<whyrusleeping>
no, they all write to disk
<whyrusleeping>
every time get get a block we put it to the disk so its cached until the next gc
<Tv`>
ah ok
guest965 has joined #ipfs
<barnacs>
whyrusleeping: no PR yet, it's nowhere near ready to be merged and i don't want to pollute PRs with such things. would that help to get it benchmarked by people?
notduncansmith has joined #ipfs
notduncansmith has quit [Read error: Connection reset by peer]
<barnacs>
for all i know it might even make performance worse with different os/filesystem/physical storage setups
guest965 has quit [Ping timeout: 255 seconds]
<whyrusleeping>
barnacs: no harm in filing a PR. it makes it easier for people to test and report their findings
headbite has quit [Ping timeout: 276 seconds]
EricJ2190 has joined #ipfs
Wallacoloo has joined #ipfs
<whyrusleeping>
jbenet: ping
notduncansmith has joined #ipfs
notduncansmith has quit [Read error: Connection reset by peer]
<kyledrake>
Is it possible to distinguish between an IPFS and IPNS hash?
<whyrusleeping>
kyledrake: nope
<kyledrake>
Interesting.
<whyrusleeping>
an ipns hash is just the hash of a public key
<whyrusleeping>
so in ipfs, it would point to the public key
<kyledrake>
right.
<whyrusleeping>
(currently doesnt because we dont store public keys in ipfs yet)
<kyledrake>
I was thinking of making building a proxy that uses subdomains of hashes to deal with the Origin issue
inconshreveable has quit [Ping timeout: 256 seconds]
<whyrusleeping>
subdomains? like <hash>.ipfs.io?
<kyledrake>
right.
<whyrusleeping>
that would be neat
<whyrusleeping>
it would upset jbenet
<whyrusleeping>
but its a cool idea IMO
<tperson>
lol
<kyledrake>
It's not really a choice. I can't safely serve up sites with the same origin policy
<kyledrake>
Going domain.com/ipfs/* means that any site you load can mess with the cookies on that domain
<tperson>
ah
<kyledrake>
Neocities would look more like Mad Max without this policy in place :)
<tperson>
Where do you need to distinguish ipfs vs ipns?
* whyrusleeping
doesnt see anything wrong with mad max
<kyledrake>
lol
<kyledrake>
tperson if I wanted to do HASH.domain.io, i would need to know which to route it to.
<kyledrake>
Or try both, I guess.
<kyledrake>
The other solution is of course to use the TXT record. BTW that's going to be a problem too, the TXT record is usually used for SPF filtering for mail servers.
ei-slackbot-ipfs has quit [Remote host closed the connection]
<tperson>
SO you want to support <directory-hash>.domain.io, as well as <peer-id>.domain.io?
ei-slackbot-ipfs has joined #ipfs
<kyledrake>
The alternative would be to do something like <directory-hash>.ipfs.domain.io and <peer-id>.ipns.domain.io, but wildcard certs don't sub-sub domain like that.
<ipfsbot>
[go-ipfs] whyrusleeping created revert-godeps-update (+1 new commit): http://git.io/vk5aG
<ipfsbot>
go-ipfs/revert-godeps-update 546415b Jeromy: Revert "godeps: update everything to master"...
<kyledrake>
So you lose your SSL capabilities then.
<whyrusleeping>
kyledrake: a hack could be <hash>-ip[nf]s.domain.io
<kyledrake>
that would work, yeah.
<wking>
kyledrake: you can have two TXT records (one for SPF and another for a DNS-link) on the same domain.
<wking>
and I'd prefer ip[fn]s-<hash>.domain.io to be more obviously similar to /ip[fn]s/<hash>
<kyledrake>
wking A lot of DNS SaaS doesn't allow that, including AWS.
<ipfsbot>
[go-ipfs] whyrusleeping opened pull request #1323: Revert "godeps: update everything to master" (master...revert-godeps-update) http://git.io/vk5wk
<kyledrake>
Wasteland, indeed. ;)
guest965 has joined #ipfs
<tperson>
kyledrake: Are you sure you can't have multiple? I think you just have to set them all at once (you can pass mutiple values)
<wking>
kyledrake: RFC 4408 also clearly discusses how to handle multiple TXT records (https://tools.ietf.org/html/rfc4408#section-4.5), so if your DNS-provider doesn't support it, I think that's just on you to get a better DNS provider
kyledrake has quit [Read error: Connection reset by peer]
<wking>
^ for SPF
guest965 has quit [Ping timeout: 244 seconds]
zrl has quit [Ping timeout: 276 seconds]
jonl has quit [Ping timeout: 276 seconds]
daviddias has quit [Ping timeout: 276 seconds]
ehd has quit [Ping timeout: 252 seconds]
notduncansmith has joined #ipfs
notduncansmith has quit [Read error: Connection reset by peer]
mquandalle has quit [Ping timeout: 276 seconds]
Muis has quit [Read error: Connection reset by peer]
richardlitt has quit [Read error: Connection reset by peer]
<whyrusleeping>
jbenet: youre not allowed to not be on irc
inconshreveable has joined #ipfs
headbite has joined #ipfs
kumavis has quit [Ping timeout: 256 seconds]
mikolalysenko has quit [Ping timeout: 252 seconds]
alexandria-devon has joined #ipfs
G-Ray has joined #ipfs
henriquev has quit [Ping timeout: 256 seconds]
grncdr has quit [Quit: Leaving.]
<rht_>
whyrusleeping: tried swapping crypto/rand with math/rand. no noticeable change in both test_go_expensive and test_sharness_expensive. I did swap everything else except for rsa.go and key.go (perhaps they are the main bottleneck?). a deterministic math/rand-based rand.Reader will be a planned feature however, ref: https://github.com/golang/go/issues/8330