<jbenet>
whyrusleeping: i suspect utp will help a lot with this actually, can maintain connections open longer. and quick (0-RTT secure handahske!!)
<achin>
(btw, 60 second IPNS lookups seem to actually be quite rare)
<jbenet>
whyrusleeping oh maybe dropping the RTTs on our stupid auth handshake would help a ton here
<jbenet>
whyrusleeping: maybe even TLS is faster
<whyrusleeping>
yeah... theres a lot we can do
<whyrusleeping>
but its best to hold off until we get 0.4.0 in
<ion>
whyrusleeping: Not URL-encoding the input, eh? :-P
<whyrusleeping>
as it changes a lot of these things too
<jbenet>
agreed.
mondkalbantrieb has quit [Read error: Connection reset by peer]
<whyrusleeping>
ion: meh, also not using a nice cli framework yet either
<kpcyrd>
is there a way to `ipfs ls Qmsomething | ipfs ...` to recreate the hash?
mondkalbantrieb has joined #ipfs
<achin>
given Qmsomething you want to... recreate the hash Qmsomething ?
<kpcyrd>
yes
<achin>
but you already have the hash? /me confused
<kpcyrd>
ipfs ls Qmsomething | sed s/foo/bar/ | ipfs ...
<achin>
you can pipe data into "ipfs add"
<achin>
echo "hello world" | ipfs add
<achin>
is that what you mean?
<ion>
He wants to modify a directory object.
<kpcyrd>
^
<ion>
I think the future ipfs files API will help here.
<achin>
ahh.
<achin>
if you just want to rename something, you'd have to rm-link then add-link. so there's no one-liner to do this
* whyrusleeping
thinks maybe adding a 'rename' to patch wouldnt be a bad idea
<achin>
as i've been working on this irc viewer, i've been adding the html file to ipfs and then testing it -- i must have like 500 copies of this file pinned at this point
e-lima has joined #ipfs
<ion>
achin: IIRC someone has been meaning to add ipfs add --no-pin.
<achin>
:D
<ion>
When I have been doing something like that, I have just unpinned the previous version whenever adding.
<achin>
i haven't bothed to keep track
<achin>
i think eventually i am just going to blow away my blockstore
<jbenet>
cryptix: you around?
<kpcyrd>
can somebody link me to documentation on creating custom directories?
<achin>
maybe this is along the lines of what you're trying to do
domanic has quit [Ping timeout: 240 seconds]
<kpcyrd>
achin: I think this is what I was looking for. do you know if the new objects get pinned?
<achin>
they don't. you'll note that i manually pin a few of the directories
<ion>
ipfs object patch should probably support multiple operations in a single invocation.
<kpcyrd>
achin: do you need to pin the last ROOTHASH or is ipfs name publish enough to keep it on gc?
<achin>
if i was doing this in something other than bash, i would build up the JSON object and feed it in on invocation to "ipfs object put"
jo_mo has quit [Quit: jo_mo]
<achin>
kpcyrd: probably. but i don't gc, so i ahven't worried about it yet
<kpcyrd>
achin: I need to gc or my disk would fill up quickly, therefore all the questions
<kpcyrd>
I was trying to use ipfs.put from js-ipfs-api, but I'm either doing it wrong or something is broken
<kpcyrd>
Error: vinyl will not accept: [object Object]
<kpcyrd>
*ipfs.object.put
<achin>
in taht case, you'll want to pin everything that you have locally
mondkalbantrieb has quit [Read error: Connection reset by peer]
<achin>
(note, though, that you should not use the -r flag to pin in this case)
<ion>
pin add defaults to -r.
mondkalbantrieb has joined #ipfs
<kpcyrd>
1) run rsync 2) run script to update db on what has changed, exec `ipfs add --no-pin` on new files 3) create directory tree from db 4) pin new hash, `ipfs name publish` 5) unpin old hash, `ipfs repo gc`
<kpcyrd>
the directory is too big for `ipfs add -r`
<achin>
ah, then pin add --recursive=false ?
Matoro has quit [Ping timeout: 260 seconds]
NightRa has quit [Quit: Connection closed for inactivity]
domanic has joined #ipfs
amstocker has quit [Ping timeout: 244 seconds]
anticore has quit [Read error: Connection reset by peer]
<jbenet>
sooooo http://www.2ality.com/2015/06/web-assembly.html <--- bytecode exposed as tree, can make it into an mdag, for the "internet of code" project but in wasm. (funny how the web is inching towards the OS and the OS is inching towards the web all the time. need to just unify alraedy)
<amstocker>
yeah pretty much
<mappum>
jbenet: yo, I'm around
<mappum>
Webasm is going to be sweet
<mappum>
It'll be fun to hand-code stuff, or make weird new languages
<achin>
hehe "“For some people, like me, the signal comes to my tree"
mrcstvn has joined #ipfs
<ion>
“The weekend outage was a learning experience, and now Sutton is considering leaving the backup radio on the water tower permanently in case the system needs to fail over to the second radio on the mainland.” So that was a possibility all along and they didn’t do it in the first place?
mrcstvn has quit [Read error: Connection reset by peer]
amstocker has quit [Ping timeout: 265 seconds]
Oatmeal has quit [Ping timeout: 264 seconds]
<ipfsbot>
[go-ipfs] eminence opened pull request #1926: Add testcase for issue reported in #1925 (master...1925test) http://git.io/vl0es
nessence has quit [Remote host closed the connection]
nessence has joined #ipfs
Oatmeal has joined #ipfs
nessence has quit [Ping timeout: 240 seconds]
sonatagreen has quit [Ping timeout: 255 seconds]
kode54 has quit [Quit: WeeChat 1.3]
kode54 has joined #ipfs
nessence has joined #ipfs
<daviddias>
jbenet: the interface didn't change, but now we officially support it running on the browser and explain how, so I would say bump minor
<daviddias>
jbenet: whyrusleeping I remember going through the DHT code with you back in July and then back with Juan in August, and there was a 'write to every peer that appears in from of me during the query rule', is that still in place?
<ipfsbot>
[js-ipfs-api] diasdavid deleted solid-tests at 106ee29: http://git.io/vl0Io
steve_ has joined #ipfs
Eudaimonstro has quit [Ping timeout: 255 seconds]
<whyrusleeping>
huh?
<whyrusleeping>
achin: ping
<achin>
ohi
<whyrusleeping>
are you working on a fix for that patch issue? or should i take it up?
<achin>
i'm not working on it. i poked at the code, but nothing stood out to me at the culprit (except maybe the handling stuff for the --create flag)
<whyrusleeping>
yeah... very bizarre that it works with a unixfs-dir
<achin>
yeah, very weird
<achin>
(the actualy data doesn't matter, though. if you set-data on an empty PBNode, you'll then be able to add a link to it)
<M-davidar>
jbenet (IRC): like some kind of... webOS? :p
vx has joined #ipfs
<vx>
Hello people. Ive been reading alot about ipfs in the last few days. Just a note/comment: I think to be widely adopted, ipfs needs to support commercial webservices as well, i.e. online shop. Is that comfortably possible in the current design of the ipfs protocol?
<M-davidar>
vx (IRC): with something like bitcoin, sure
<jbenet>
could even have traditional APIs + the websites on ipfs
<vx>
So i guess in case of a online shop you have a nearly centralised network? Because the shopowner needs to be able to change prices and pictures and stuff as he wants to
<jbenet>
incremental steps up are fine
<jbenet>
vx no the changes can go over IPFS too.
<vx>
Oh ol.
<vx>
Ok
<vx>
So something like amazon would work in ipfs as well?
amstocker has joined #ipfs
<vx>
I know, amazon is absolutely not cool and i dont like ot either. But i think for a wide adaption of ipfs we will need support by the big players
<jbenet>
yep
<vx>
Or alternatives to the big players with good ux design :)
<vx>
Oh and what is the most comfortable way to enter a ipfs url? Is there a way to enter a traditional human readable name without the hash?
<vx>
Because i think its so important that people can go to ipfs://somewebsite.com
<vx>
Will that work?
legobanana has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
<achin>
eventually, if browsers add support for an "ipfs" protocol handler (or maybe via an add-on)
Guest73396 has quit [Ping timeout: 264 seconds]
<achin>
whyrusleeping: if you don't mind giving me some pointers/direction, i'd be happy to try to debug that patch add-link issue\
<whyrusleeping>
achin: i was just about to start a git bisect on it
<whyrusleeping>
to see if this is a new issue, or if its just never worked
<achin>
i tried back at far as ~0.3.6 and it still had it
<achin>
to be percise, i tried as far back as 8b6ec6600e12c2fffc4db93e4d1fe36e0553b3ec (which is only august 1st)
<achin>
if you're on a roll, don't let me stop you :) i'm heading offline to bed now, so i wont be looking at it for at least a day
<whyrusleeping>
achin: alright! gnite! (lets hope i make it somewhere)
<whyrusleeping>
we do the validation and ordering stuff
<daviddias>
so, from what I'm understanding, it is really hard to use the dht command, because we would have to pass a valid and signed record as an argument
<daviddias>
following the pseudo record spec that go-ipfs currently uses
<whyrusleeping>
hard to use the dht put command manually, yes
<daviddias>
should I just warn users of that in js-ipfs-api and not recommend them to use it ?
<whyrusleeping>
at least for now
<whyrusleeping>
i'll look at lifting that restriction, or something
<whyrusleeping>
i'm not sure what we really want to do there
<whyrusleeping>
ah, i remember now (go easy on me, brain has no functionality today)
<whyrusleeping>
if a dht key does not have a prefix (i.e. /X/Y
<whyrusleeping>
then it treats it like normal
<whyrusleeping>
the selectorfunc thing is a bug...
<whyrusleeping>
'bug'
cryptotec has joined #ipfs
<daviddias>
(no worries) aaaaaah
<whyrusleeping>
so the puts work just fine
<whyrusleeping>
but when get is run, it collects the values
<whyrusleeping>
and then fails when it tries to 'pick the best one'
<daviddias>
got it got it :)
<daviddias>
well, adding notes of that all over the place
cryptotec has quit [Ping timeout: 256 seconds]
<daviddias>
but will consider that since the rest of the functionality is working, specially ipns, that the thing is good for now
<daviddias>
so that we can move forward with things that depend on this js-ipfs-api update
<daviddias>
sounds good?
Transisto2 has joined #ipfs
<whyrusleeping>
woooo!
<whyrusleeping>
sounds good to me
<ipfsbot>
[js-ipfs-api] diasdavid pushed 3 new commits to tests-update: http://git.io/vl0AE
<ipfsbot>
js-ipfs-api/tests-update 1ef3dae David Dias: make tests pass
<ipfsbot>
js-ipfs-api/tests-update 883c4c7 David Dias: update readme
<ipfsbot>
js-ipfs-api/tests-update 6916e4d David Dias: missing module
NightRa has joined #ipfs
steve_ has quit [Ping timeout: 268 seconds]
Eudaimonstro has joined #ipfs
mildred has joined #ipfs
<jbenet>
daviddias whyrusleeping: sorry to be the bearer of bad news, but that wont fly long run. the dht is not for arbitrary values-- else it is a great vector of attack. the dht is for values following a validity scheme known to the clients. we _can_ make a "arbitrary data here" record (equivalent of a TXT in dns) but then we have to have some security around
<jbenet>
that, like make them signed and limiting such records per peer id and/or have a large proof of work associated. (note that the current ipns records and provider records are not limited yet, but provider will eventually be limited by an (expensive) proof of retrievability, and the ipns records probably will need some PoW limitation or some other thing.
Guest73396 has joined #ipfs
legobanana has quit [Read error: Connection reset by peer]
<jbenet>
(note that this is super tricky-- there is a reason DNS works so well: you run your own dns server (or pay someone to do so) and only propagate your records to _requesters_.
<jbenet>
a dht inverts that model, using the network to store for you, but this is a big vector for DOS. (we already should be limiting the dht storage size and haven't yet)
<jbenet>
daviddias: for putting to the dht, just make util functions to craft records for the user.
vx has quit [Quit: Connection closed for inactivity]
mrcstvn has joined #ipfs
<daviddias>
I agree with all your points. However there is a delta between what we have now and what we will have, and I proposed for what we have now.
<daviddias>
on having a util to craft records, that is something available for libp2p, since go-ipfs doesn't respect IPRS yet, it is hard to come up with a tool that does that (which will be replaced after)
<jbenet>
daviddias: well "that wont fly long run" -- and maybe shouldnt teach users to depend on something we will take away soon.
<jbenet>
we should just make go-ipfs respect IPRS correctly.
<jbenet>
Stskeeps: like every other spec i write, it starts strong and trails away leaving much unanswered.
<jbenet>
daviddias dont mean to add more annoyance atm but also dont want to take something away from users. maybe just add them but maybe document that the use will change over time, and not depend on it
<Stskeeps>
jbenet: well, your track record is pretty good so far ;)
<jbenet>
Stskeeps: hah thanks. some day i'll write something IETF worthy
<jbenet>
daviddias: sounds good re commenting out that test
<daviddias>
jbenet: should we have a 'considerations' section in go-ipfs for these kind of things
<daviddias>
?
<daviddias>
feels like it would be a good idea
cryptotec has joined #ipfs
<jbenet>
idk. i think usually the "doc" for something should say it so it's right there (godoc and/or cli docs)
<jbenet>
but yeah sure. i'm wary of creating too many docs separate from the code because then it becomes hard to keep them all in sync, but if you have a good idea, go for it
<ianopolous>
hi guys, quick question: Using the object.put command do I have to use json or protobuf or is there a raw byte[] option without any wrapper?
<jbenet>
ianopolous it has to be a valid merkledag object. the json turns into protobuf
<jbenet>
ianopolous recommend using json for the interface and let go-ipfs turn it into protobuf for you. -- try using `ipfs object get` to inspect stuff added with `ipfs add`
<ianopolous>
jbenet: okay thanks. I'm trying to minimize the overhead for raw 128KiB byte[] fragments. If I use the JSON api then that data has to be encoded to hex no? and use twice the space? presumably not?
<jbenet>
ianopolous i believe the hex (or is it base64?) is decoded by go-ipfs. not sure atm. let me look
<ianopolous>
even base 64 is a linear size expansion over raw though.
<revolve>
jbenet: do you get to work on ipfs full time?
<jbenet>
revolve privately. i raised money from people who care about these problems being solved + who agree with our plan's for making a sustainable company around protocols like filecoin and others. i don't discuss more publicly.
<jbenet>
ianopolous: though we will still support reading + writing the old format just fine. (sorry for the flexibility here, but found better way of doing it)
<ianopolous>
jbenet: I haven't looked in detail at IPLD. Will that enable a constant (ideally 0) overhead storage of raw byte arrays?
<victorbjelkholm>
Oh, the first thing I see in the morning is pastel de nata... Dammit daviddias, I'm not even in Lisbon yet!
<jbenet>
ianopolous: the storage is constant already-- there is no blowup at all, any blowup is purely on encoding/decoding from json.
<jbenet>
ianopolous: no blowup on storage*
<ianopolous>
ok so protobuf should be fine then?
<jbenet>
ianopolous yep.
<jbenet>
you can just write to the data field.
s_kunk has quit [Ping timeout: 268 seconds]
<ianopolous>
jbenet: awesome. thank you.
<jbenet>
but again if you're storing unix files, strongly recommend using unixfs proto (it's a datastruct on top of merkledag.Node) because that will give you files + dirs.
<jbenet>
(though maybe step by step)
<jbenet>
(the unixfs datastruct is a small constant overhead (has things like file types, etc)
<ianopolous>
I expect the unixfs object exposes way to much metadata for our use case
<jbenet>
whyrusleeping: do we have a doc explaining unixfs anywhere?
<ianopolous>
we've got our own directory structure inside a crypto structure, so literally i just need a (hash -> raw byte[]) lookup.
<daviddias>
ahahah :D it is part of my master plan, show people the pastries and they will come to Lisbon :D
<ianopolous>
jbenet: the idea for us is that the network can't see the file directory tree structure at all
<jbenet>
ianopolous: ah yep. good call. (we eventually will allow "exporting a whole dag into a stream, encrypt stream, then add back to ipfs (rechunking the encrypted bytes, but this hides the structure entirely)
<ianopolous>
daviddias: you should show them the port as well! :-)
<jbenet>
(but we haven't yet)
<daviddias>
ianopolous: ahaha good point! :D
martinkl_ has joined #ipfs
legobanana has joined #ipfs
rendar has joined #ipfs
<victorbjelkholm>
daviddias, you're a very clever man. I bet it's very effective
<ianopolous>
jbenet: Is there any chance of a version of object.put that just takes a raw byte byte array and does the protobuf encoding for you? It adds significant complexity to have to recreate the protobuf format correctly in the application code.
dignifiedquire has joined #ipfs
<ipfsbot>
[js-ipfs-api] diasdavid pushed 1 new commit to master: http://git.io/vlE9G
<ipfsbot>
js-ipfs-api/master cc9ec51 David Dias: Merge pull request #96 from ipfs/tests-update...
<jbenet>
ianopolous: indeed. we could make that a flag.
<jbenet>
maybe file an issue on go-ipfs describing the need?
<ianopolous>
jbenet: that would be awesome maybe I could make an attempt and do a pull req?
<jbenet>
sure!
* ianopolous
looks forward to diving into some Go
mrcstvn has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
<ianopolous>
I best head to the office now, adios!
dignifiedquire_ has joined #ipfs
jo_mo has joined #ipfs
dignifiedquire has quit [Ping timeout: 250 seconds]
dignifiedquire_ is now known as dignifiedquire
jo_mo has quit [Client Quit]
<jbenet>
o/
<ipfsbot>
[js-ipfs-api] diasdavid closed pull request #92: [discuss] Switch to superagent instead of raw http.request (master...superagent) http://git.io/vWxEq
s_kunk has joined #ipfs
<ipfsbot>
[js-ipfs-api] diasdavid pushed 2 new commits to master: http://git.io/vluIE
<ipfsbot>
js-ipfs-api/master 13dc3bc David Dias: ipfsd update
<ipfsbot>
js-ipfs-api/master 17c0b24 David Dias: add tests to pre-commit
<ipfsbot>
[js-ipfs-api] diasdavid tagged v2.6.0 at ea7d101: http://git.io/vluL4
<ipfsbot>
[js-ipfs-api] Dignifiedquire opened pull request #98: Add babel to the browser build (master...babel) http://git.io/vluO3
<dignifiedquire>
daviddias: I’m afraid you’ll have to do another release
multivac has quit [Remote host closed the connection]
<daviddias>
oh, I see, it is ok :)
<ipfsbot>
[js-ipfs-api] diasdavid pushed 3 new commits to master: http://git.io/vluGf
<ipfsbot>
js-ipfs-api/master 16f9560 dignifiedquire: Setup babel for browser build
<ipfsbot>
[ipfs] RichardLitt opened pull request #117: Touched up contribute, linked to community docs (master...feature/fix-up-contribute) http://git.io/vlujp
<cryptix>
that video.. 9:05
<cryptix>
i thought i lost it at the floppy drives but oh wow
* cryptix
goes back to bed
<jbenet>
and people are worried about energy reactors.
dignifiedquire has joined #ipfs
<jbenet>
its silly-- everyone's freaking out about nuclear and not using the valuable side, while we have all the downsides anyway.
<jbenet>
<jbenet>
and everyone else.
<M-davidar>
cryptix: lol, i've only just gotten to the floppy drives bit :/
<M-davidar>
yeah, i don't get the whole thing against nuclear power
<M-davidar>
yes, it's a lot more obvious when it kills people
<M-davidar>
but on average it's still quite safe
<M-davidar>
so long as you have competent people running it :/
<ipfsbot>
[go-ipfs] RichardLitt created feature/edit-contribute (+3 new commits): http://git.io/vlzLm
<ipfsbot>
go-ipfs/feature/edit-contribute dd72eb6 Richard Littauer: Moved email juan to ipfs/contribute...
<ipfsbot>
go-ipfs/feature/edit-contribute 01a7958 Richard Littauer: Small edits...
<ipfsbot>
go-ipfs/feature/edit-contribute be334f3 Richard Littauer: Added commit sign off section...
<victorbjelkholm>
"Work towards Swarm accounting & incentive mechanisms being finalized along with a whitepaper on results of research. Initial integration of Swarm with IPFS as data store are beginning in the clients"
<NeoTeo>
hm...but clicking the url seems to return an object...
nessence has quit []
<alterego>
NeoTeo: what is the exact command line you're using. Have you quoted the URL?
<NeoTeo>
alterego from the curl to the final & is copied directly from the command line.
Guest73396 has joined #ipfs
<NeoTeo>
not quoted url, that was it :/
<alterego>
;)
<alterego>
shell's use & to put the command in the background, so the first appearance of & causes a new command "arg=..." to be executed whilst your actual curl command is truncated.
<NeoTeo>
Thanks :) I did know this so no excuse really. That returned hash should not have empty links though, should it?
<alterego>
What does /ipfs/QmZcix7cv1pWJCJABsaVahCNQK4U65dijGcse6m2C84y2X look like?
<NeoTeo>
It doesn't resolve. Ipfs just sits there trying to do a stats or cat.
<alterego>
weird
<NeoTeo>
Indeed, not what I expected.
<NeoTeo>
Ok, it seems to be related to the new object I'm passing it. Investigating further. Thanks for your help.
<alterego>
np :)
hellertime has quit [Quit: Leaving.]
martinkl_ has joined #ipfs
hellertime has joined #ipfs
Matoro has quit [Ping timeout: 260 seconds]
mildred has quit [Ping timeout: 260 seconds]
<ipfsbot>
[go-ipfs] RichardLitt force-pushed feature/security from 807c5f8 to cdcf457: http://git.io/vla2Y
<ipfsbot>
go-ipfs/feature/security cdcf457 Richard Littauer: Added a security section...
anticore has quit [Quit: bye]
SDr has left #ipfs [#ipfs]
<NeoTeo>
alterego For reference, it seems to be a problem (not sure its a bug or just me not fully grokking the command) when you create a new object without specifying it as a unixfs-dir.
<ipfsbot>
[go-ipfs] RichardLitt created feature/remove-crypto-notes (+1 new commit): http://git.io/vlar5
<ipfsbot>
go-ipfs/feature/remove-crypto-notes 97ef77f Richard Littauer: Moved TODO doc to issue #1929...
<ipfsbot>
[go-ipfs] RichardLitt opened pull request #1930: Moved TODO doc to issue #1929 (master...feature/remove-crypto-notes) http://git.io/vlarx
Matoro has joined #ipfs
<alterego>
NeoTeo: Ah, yes. Otherwise the system can't see it as a directory. I presumed you already had a working dir object.
e-lima has quit [Ping timeout: 265 seconds]
<NeoTeo>
Ok, so that is how it's supposed to work?
NightRa has joined #ipfs
cemerick has joined #ipfs
mildred has joined #ipfs
dignifiedquire has joined #ipfs
<alterego>
NeoTeo: yes
<NeoTeo>
alterego What I don't quite get is that I'm creating a new unixfs dir object (say QmA) and I'm passing it to object.patch with a hash of something I want it to link to, yet when I do an object stat on QmA I get NumLinks: 0. What is that new object actually used for?
<alterego>
When you using object new, it creates an empty directory. No links, then when you patch it, it augments that empty directory and then creates a whole new hash to the new directory.
<alterego>
A patched object is a new object, like a new revision in a RCS
<NeoTeo>
Ok, got it. What happens to the old obj? Just hangs around until gc?
<alterego>
Indeed
dignifiedquire has quit [Client Quit]
<NeoTeo>
Cool. Thanks again for your time. I appreciate it.
<alterego>
Also, remember to pin the object you want to keep around.
* cryptix
does the history channel meme with "content addressing"
<alterego>
:)
Matoro has quit [Ping timeout: 260 seconds]
<alterego>
Think I've found a bug.
<alterego>
When I create an IPFS node, using: `ipfs init -e' then immediately after run `ipfs refs local', there is a single entry being displayed, an empty directory. Is that meant to be there?
<cryptix>
alterego: sharing is caring ;)
<alterego>
It's pinned too, is that the actual unixfs directory template?
<alterego>
Hrm, well, somewhere a directory is being created, which shouldn't be there, imo
<Blame>
The "things that might be a problem with this" section is still too short
dignifiedquire has quit [Quit: dignifiedquire]
hellertime has quit [Quit: Leaving.]
<cryptix>
Blame: the idea sounds like tahoe
<Blame>
daviddias: not right the second, but I'd like to pick your brain on libp2p
<cryptix>
(leaving out all that erasure encoding for now
patcon has quit [Ping timeout: 240 seconds]
* cryptix
needs to check with his friend if his bachelor thesis paper is public now
<daviddias>
sounds good :)
<cryptix>
because he wrote it about exactly that idea
hellertime has joined #ipfs
<Blame>
its not that big a change to modify bitswap and the DHT to utilize it IFF it is worth it
cryptotec has joined #ipfs
kyledrake has joined #ipfs
vonzipper has joined #ipfs
null_radix has joined #ipfs
<Blame>
tahoe looks like it lets the user pick the key, rather than it be deterministic from file content.
pfraze has joined #ipfs
kitcambridge has joined #ipfs
voxelot has joined #ipfs
* Blame
is wrong. Found where they talk about it in docs
circinately has joined #ipfs
<cryptix>
:) got me googling there for a sec
mikolalysenko has joined #ipfs
dignifiedquire has joined #ipfs
<ipfsbot>
[js-ipfs-api] diasdavid pushed 1 new commit to return-streams: http://git.io/vlV9a
<ipfsbot>
js-ipfs-api/return-streams aca18cf David Dias: fix streaming
dignifiedquire has quit [Client Quit]
amade has joined #ipfs
water_resistant has joined #ipfs
circinately has quit [Ping timeout: 264 seconds]
<stick`>
how do i run and stop daemon via ipfsd-ctl (npm pkg)?
<stick`>
i want to start it when my electron app starts and kill it when it stops
Guest73396 has quit [Ping timeout: 260 seconds]
<stick`>
i just need the gateway functionality in my app
<ipfsbot>
[js-ipfs-api] diasdavid pushed 1 new commit to master: http://git.io/vlVjO
<ipfsbot>
js-ipfs-api/master b7382d4 David Dias: Merge pull request #99 from ipfs/return-streams...
<ipfsbot>
[js-ipfs-api] diasdavid pushed 1 new commit to master: http://git.io/vlVjM
<ipfsbot>
js-ipfs-api/master 122446a David Dias: Release v2.6.2.
<alterego>
Are there any instructions on how to hack on go-ipfs? Not sure how to build the sources from a git clone. I'm new to Go as well, so not entirely sure what I'm doing ^_^
<cryptix>
stick`: daviddias should know - there also is ipfs/station maybe see what that does
<richardlitt>
daviddias: what is the latest update for the js-ipfs-api docs?
<cryptix>
alterego: i can give you starting help :)
<richardlitt>
I see you're going through and closing a lot of issues, not sure if it is on a branch or not
<alterego>
cryptix: that'd be great, I'm running ubuntu 15.10, got Go 1.5.1 installed, can build ipfs from go get -u ...
<alterego>
But not go build from local clone
<daviddias>
stick`: have you looked at ipfs/station as cryptix suggested? should be a pretty good template for what you are doing (hint: it is an electron app that runs a ipfs node :) )
<cryptix>
alterego: 'go get' gives you a clone under $GOPATH/src/github..
<ion>
daviddias: When importing it to Google Calendar, I got to decide what kind of notifications I want.
<stick`>
:D
<daviddias>
ion: ah, so they weren't propagate
<lgierth>
i didn't get a notification. can i enable that in the calendar?
* cryptix
would like a ipns url for that .ical :)
Oatmeal has quit [Ping timeout: 246 seconds]
<daviddias>
s/propagate/propagated
<daviddias>
cryptix: you don't use any calendar app to subscribe for things?
<daviddias>
I'm a `fantastical` fan, it is fantastic!
<ion>
lgierth: Probably, depends on your calendar software.
<cryptix>
daviddias: i do just my antigoog showing through :)
<cryptix>
should be easy to poll and mirror that feed
hellertime has quit [Quit: Leaving.]
<lgierth>
daviddias: i'm confused about the meeting times in the calendar -- are they utc? or does google change that to my timezone? sprintsync says 6pm which is my local time
hellertime has joined #ipfs
<lgierth>
mh it says it's 6pm utc...
<cryptix>
i think i got my sprint notes ready for the first time
atrapado has joined #ipfs
<daviddias>
lgierth: I've added them to the calendar, based on ipfs/pm UTC times
<daviddias>
5pm UTC for you is 6pm
<lgierth>
ok got it
Guest44599 has joined #ipfs
<ion>
lgierth: Any reasonable calendar software should handle the timezones correctly.
anticore has quit [Remote host closed the connection]
<lgierth>
ion: yeah google calendar seems to do it fine -- and i remember it also does notifications if you want to
<richardlitt>
"Any reasonable calendar software" is a good one.
Oatmeal has joined #ipfs
<cryptix>
reading all this, im sure DST still saves lots of work.. ^^
Rylee has quit [Ping timeout: 272 seconds]
patcon has joined #ipfs
<lgierth>
yeah DST are great!!
<ansuz>
dear protocol labs, since you're already doing great work and fixing the world, please kill DST
<ansuz>
thanks, ansuz
<lgierth>
also really happy that it gets dark in the afternoon already
* ansuz
would rather just wake up earlier
<lgierth>
ansuz: i'm sure we can come with some sort of multitimezone
<ansuz>
lol
cemerick has quit [Ping timeout: 250 seconds]
dansup has quit [Ping timeout: 255 seconds]
<cryptix>
hahaha im sure jbenet would love that
<ipfsbot>
[js-ipfs-api] diasdavid pushed 3 new commits to feat/files-api: http://git.io/vlwEv
<ipfsbot>
js-ipfs-api/feat/files-api 1fb1faf David Dias: before merge
<ipfsbot>
js-ipfs-api/feat/files-api eb2ac01 David Dias: Merge branch 'master' of github.com:ipfs/js-ipfs-api into feat/files-api
<ipfsbot>
js-ipfs-api/feat/files-api 76ee9d8 David Dias: get files API working again
<lgierth>
- [ ] add notes about cdnjs ipfs/archives#35
<lgierth>
eof
<lgierth>
dmca/refs drowned a bit in the middle of figuring out the zfs/raidz setup, it's complete and works, but i didn't get to properly committing it...
<lgierth>
there's only a WIP commit, which needs a couple of git add -p
<jbenet>
cryptix thanks for castor stuff! will be v useful for both daviddias and davidar
<jbenet>
errrr lgierth*
* jbenet
is still half asleep
* whyrusleeping
too
<daviddias>
blame DST :P
<lgierth>
it was the first time setting up ZFS for me, so next time it should take much less than 2 days
<jbenet>
whyrusleeping let's find the mem leak so we can add massive archives \o/ -- i'll be visiting the internet archive this week and want to show some of that work.
<whyrusleeping>
zfs is <3
<jbenet>
yay zfs :)
<daviddias>
lgierth: it would be good to have that documented :)
<whyrusleeping>
jbenet: cool, i'll prioritize that
* Blame
sometimes considers changing his handle to avoid getting random messages. But also gets a lot of joy from trying to figure them out without context.
<lgierth>
not automated for now
Rylee has quit [Ping timeout: 272 seconds]
<daviddias>
lgierth: sweeet!
s_kunk has quit [Ping timeout: 246 seconds]
<daviddias>
ok, so, all good? next? whyrusleeping :)
<jbenet>
lgierth: so refs lists is very close? think can be shipped this week?
<whyrusleeping>
- [ ] rebase 0.4.0 (after utp merges!)
<whyrusleeping>
EOF
<daviddias>
sweeeet
<daviddias>
halloween is a nice feature
Guest44599 has quit [Ping timeout: 240 seconds]
<jbenet>
lgierth: yay -- kyledrake should be able to get the dmca pages on website together, and ship out all the stuff next week then.
<daviddias>
rebase 0.4.0, does this mean that 0.4.0 doesn't have 0.3.9 goodies yet?
<jbenet>
btw, maybe we should have a page describing the service (maybe even with a short FAQ), with a link to dmca form, etc.
<whyrusleeping>
no, it wasnt
<cryptix>
visualize dht? sounds interesting
<whyrusleeping>
daviddias: nope, it does not yet
<jbenet>
whyrusleeping: awesome, good stuff making all the 0.3.9 bugfixes + changes !
<whyrusleeping>
cryptix: it should be :D
Cirratulidae has joined #ipfs
<daviddias>
whyrusleeping: ok, keep me posted on that, not sure if my ipfs-blob-store is going to blow up due to different IPFS api changes from 0.4.0 and 0.3.9
anticore has joined #ipfs
<whyrusleeping>
daviddias: will do!
<whyrusleeping>
i can do it sooner than the utp merge if you need
<daviddias>
just rebased latest js-ipfs-api into my files-api branch, need to update ipfs-blob-store and try registry-static again
<daviddias>
well, the ndjson change will be enough to make it weird, but it might also work, need to try it
<jbenet>
whyrusleeping ipfs-update works now, yeah?
<whyrusleeping>
jbenet: yeah! it works
<daviddias>
that is sweet
<jbenet>
sweet. is it gobuildered? we should set that up to make it easy to install
<daviddias>
btw, olizilla was just reporting to me that "FYI I installed from `go get` and got `0.3.10-dev` which is not surprising, but then I went and grabbed the pre-built for osx listed on the ipfs website, and it's also `0.3.10-dev` which is a little surprising."
<daviddias>
was like 5 mins ago so I haven't confirmed myself yet
<jbenet>
daviddias: probably because the website links to `master` and not to `release`
<whyrusleeping>
jbenet: did you not tag the right commit?
<jbenet>
(need a release tag, basically)
<whyrusleeping>
we have a release branch
<jbenet>
or "stable"
<jbenet>
whyrusleeping: oh yeah?
<jbenet>
i didn't walk it up-- also not sure gobuilder builds branches-- so far i see tags only
<daviddias>
re: ipfs update, one of the things we are getting with ronin for our Node.js cli, is auto warning for update (like nice things like zsh do), it would be sweet to have something like that on ipfs <command> call
<jbenet>
we should probably have the website 302 to the right version number so that the downloaded binary tarball carries the version number.
<jbenet>
(instead of "release" or whatever)
<jbenet>
ok next?
<alterego>
jbenet: have you tried just sticking the branch name instead of the tag? :)
<richardlitt>
i'm happy to go
<daviddias>
next up is kyledrake
<daviddias>
we are following the gh update order
<richardlitt>
k
<daviddias>
kyledrake: you ready?
<kyledrake>
- [x] IPFS interview questions
<kyledrake>
- [x] Run IPFS on a VPS blog post
<kyledrake>
- [ ] OVH feedback on IPFS usage (contacted, pending response from business development team)
<kyledrake>
- [x] DMCA info/takedown contact page for ipfs.io
<kyledrake>
- [x] Document ARIN SWIP process for IPFS nodes
<kyledrake>
- [ ] Improvements to libp2p site
pfraze has joined #ipfs
captain_morgan has joined #ipfs
<kyledrake>
The blog post is PRing in a little bit
<kyledrake>
Also are we doing sprints at 9AM PDT now, or is my clock really off
<daviddias>
kyledrake: we follow UTC, and because DST, it starts now at your 9am
<daviddias>
I've added all of the meetings to the community calendar, so it is easy to keep track
<daviddias>
anyone has any comment? otherwise I'm going next
<daviddias>
This week sprint update goes by endeavours (helps keep things organised).
<kyledrake>
Two conferences this week for me. Going to be a busy one. Okay I'm done
yosafbridge` has quit [Ping timeout: 240 seconds]
<daviddias>
- libp2p
<daviddias>
- [x] Decide in which papers + surveys should be written for libp2p with Juan
<daviddias>
- [~] Speed Jeromy up on libp2p - I didn't have the opportunity to formally do it, but @whyrusleeping went through the newly merged specs for libp2p and liked it, so I consider that there was indeed some knowledge transfer
<daviddias>
- [~] Get webrtc-explorer as one of the transports - I worked on this and got it on its path (even received some really nice emails and tweets of people excited about its development), however, the fact that node-webrtc is broken in Node.js 4.0.0 and above is blocking me a bit (also consuming my time to figure it out)
<daviddias>
- npm's registry on IPFS - got a bit slowed down by the IPFS release and js-ipfs-api update stravaganza, didn't manage to finish the thing.
<daviddias>
- [ ] download the entire npm
<daviddias>
- [ ] install modules via IPFS using reginabox+registry-static
<daviddias>
- js-ipfs - this is a new endeavour that will take the approach of starting ipfs.js from the top (exposing the desired API by using js-ipfs-api and then replacing its internals till it is a complete node. A great part of this is ensuring that every module runs well in the browser
<daviddias>
- [x] CR and merge PR 'here and there'
<daviddias>
- [0] Edit SF meetup recordings - Unfortunately, it is impossible to see the screen and since everything is demos... Really disappointed with the quality, I'm going to start bringing my whole backpack for these events, including my video capture box.
<daviddias>
- [x] rename javascript projects to js-name instead of node-name. Write an issue explaining the motivation and link all the projects to that issue. https://github.com/ipfs/node-ipfs/issues/32
<daviddias>
- community
<daviddias>
- [x] sync with meetup.com and learn about their plans and pro features (we had a quick discuss and decided not to go the meetup.com pro route)
<kyledrake>
Oh, they finally got around to browser assist crypto? I remember complaining about that a few years ago to the browser people :)
<cryptix>
wow - hope that webrtc thing gets resolved soon
<lgierth>
how many GB is npm?
_p4bl0 has joined #ipfs
<richardlitt>
daviddias: maybe there's a better way to do recordings?
<lgierth>
better start downloading soon :)
<daviddias>
kyledrake: webcrypto is a module I'm pushing to enable a common crypto API in Node.js and in Browser
<mappum>
kyledrake: not yet, unfortunately :(
<richardlitt>
daviddias: I read your issue about better meetup organization. I'm going to respond to that this week, I recently helped papers-we-love overhaul their organization too.
<daviddias>
right now it is using a JS implementation of Node.js Crypto, but hopefully it will use WebCryptoAPI when available
<daviddias>
or even TweetNaCL for perf boost :)
<kyledrake>
ah. Yeah, that's an unusually complex API for their standards. I just assumed it would take several years for any progress there.
<krl>
+1 nacl
amstocker has joined #ipfs
<daviddias>
it is going to be like the jquery of crypto
<daviddias>
same API, works everywhere
<daviddias>
lgierth: lots of them ahah I should start downloading it tonight :)
<whyrusleeping>
JQUERY
<cryptix>
hope that anology wont also give us lots of bad websites :X
<daviddias>
LOOOL
<daviddias>
jquery was really good in the beginning
<cryptix>
sorry, i know
<ion>
Ah, yes, the jQuery monad.
<daviddias>
richardlitt: well, there is a better way, and I have the equipment, just have bbeen trying to travel light, and now I'm sad and mad with me for not being able to do a good job without my video capture box
<richardlitt>
daviddias: aye
<richardlitt>
Aight My tern?
<daviddias>
(also, I thought I would be staying in the US 3 days, which transformed to 3 weeks, I'm just going to start packing for ad eternum time each time I'm meeting jbenet :D )
<daviddias>
richardlitt: your turn , yes :)
<richardlitt>
- [~] Go-IPFS HTTP API Documentation. I worked on this, starting to manually going through and filling out answers according to the Swagger schema. I would like to automatically generate them from the ipfs docs, but I'm not sure that the API would be the same - my strategy right now is to go through and test curling each different command. It'll take a
<richardlitt>
while. :/
<richardlitt>
- [x] Worked on contributing docs across repositories.
<richardlitt>
- [x] Made security documentation a bit tighter.
<richardlitt>
- [x] Finally grokked IPNS
<richardlitt>
- [x] Worked on IPFS-textbook by making a glossary.
<richardlitt>
- [x] Double checked and cleaned up project-directory.md
<richardlitt>
- [x] Added a list of contributors who it is OK to follow up on for the sync and the GitHub issues, at https://github.com/ipfs/pm#active-contributors. Please add or remove yourself if you would like to be on this list!!
<richardlitt>
EOF
<jbenet>
Sorry subway makes it hard to be on irc.
<ion>
jbenet: I understand, they have a lot of carbohydrates.
<whyrusleeping>
jbenet: a tasty sandwich is a good excuse
<jbenet>
kyledrake: yay on interview and blog post etc
<jbenet>
daviddias: yay on ... All the things wow awesome! :)
<cryptix>
richardlitt: <3 for going thorugh the api docu
<richardlitt>
Goal for this week: spend 15 hours on HTTPs API docs. I figure if I just sit and start at it long enough, something will start happening faster. Timed goals work better for me than telictic ones.
<jbenet>
No subway in nyc
<jbenet>
Metro
<richardlitt>
cryptix: Don't do it yet, still working on it. :/
<daviddias>
jbenet: only subways in NYC, here we have 3G :P (which is a very interesting story, when they installed the infrastructure it was made only for phonecalls and years later, when they flipped the switch for data, it simply worked, it was a really cool piece of engineering)
<daviddias>
thank you
<kyledrake>
jbenet They have cell service on subways in China. It will hurt your brain when you learn this is possible and nobody is doing it. :)
<richardlitt>
jbenet: What line are you on?
<whyrusleeping>
chinas subway system is actually really nice
<daviddias>
kyledrake: Portugal has that too :)
<cryptix>
richardlitt: in theory we should be able to generate the docu from the code, the way the commands package is setup
<richardlitt>
On topic people. :/
<richardlitt>
cryptix: yeah. I'm going to look into that, still working out the schema
<whyrusleeping>
richardlitt: thank you for being the cat herder
<richardlitt>
Should be possible. Will open an issue to talk about it, victorbjelkholm said he could help
<kyledrake>
Making IPFS work on the L train is on-topic IMHO
<jbenet>
(Ok am out for a mtg till later. I may not be able to make the first couple hangout or two sry. Will put up agendas before mine though
<ion>
* [~] Posted https://github.com/ipfs/go-ipfs/pull/1921 “Gateway: Add Cache-Control/max-age and ETag to IPNS requests”. It works, but needs to be rebased onto master after 1887 is merged. Needs a CR.
<ion>
EOF
<whyrusleeping>
alterego: pin add is fast if you have the data already
<kumavis>
is there a meeting in progress?
<richardlitt>
kumavis: yeah, our weekly sync
<daviddias>
github.com/ipfs/pm kumavis
<lgierth>
yes the sprint sync
<alterego>
whyrusleeping: I'm pinning data I've created with "object put"
<cryptix>
kumavis: every monday :)
<whyrusleeping>
alterego: you may have encountered a bug reported last night
<jbenet>
hey daviddias there used to be 30min buffer before hangouts -- did that get eaten? (Or not sure if I said we should remove it)
<jbenet>
(Used to have 1.5 hr before first hangout)
<richardlitt>
daviddias: added my follow up for people
<alterego>
whyrusleeping: I can't use the -r argument with pin add ..
<whyrusleeping>
alterego: what happens?
anticore has quit [Remote host closed the connection]
Matoro has joined #ipfs
<alterego>
"Error: pin: invalid ipfs ref path"
<whyrusleeping>
alterego: what command are you running?
<richardlitt>
Alright. I'm out. Will be around for later
<alterego>
ipfs pin add --recursive false QmA...
<whyrusleeping>
alterego: --recursive=false
<alterego>
Damnit :P
<alterego>
Would the short hand be -r=false ?
<whyrusleeping>
yeap!
<alterego>
Because it didn't work with -r either ;)
<whyrusleeping>
the UI on those flags is hard, because you want them to be able to be used without an arg, to mean 'true'
<alterego>
Maybe making the help docs a bit more informative then.
<whyrusleeping>
yeap, agreed
<alterego>
whyrusleeping: also I ran into something today, if you do: ipfs init -e; then the node actually has one ref, which is a completely empty unixfs dir
<alterego>
The ref is also pinned.
<kyledrake>
whyrusleeping quick update on IPNS? I know there was some discussion there
<alterego>
whyrusleeping: using --recursive=false fixed my issue, I created this object without actually pushing anything to the IPNS, which hasn't been published.
<alterego>
(The IPNS was a Link of the object I was trying to pin)
e-lima has joined #ipfs
<ion>
alterego: Posting a pull request adding a sharness test that checks that nothing is pinned after init -e would be the most helpful thing to do apart from fixing it yourself.
<alterego>
ion: I was actually looking in to fixing it myself.
<alterego>
Just installed go and grabbed git sources, and looking through the init command atm to see what might do it.
<ion>
nice
<alterego>
I think I found a possibility but got side tracked by my day job :P
<whyrusleeping>
alterego: thats on purpose. its added when you do anything for convenience
<whyrusleeping>
kyledrake: the caching PR should be ready
<whyrusleeping>
i dont think its waiting on anything
<alterego>
whyrusleeping: how is it convenient? Using it as a template for new directories by just modifying it?
<alterego>
whyrusleeping: but then -e doesn't actually mean empty does it :P
<ion>
Wouldn’t the right way to get an empty directory object be to generate one, not to hope to find one among the pinned objects?
<whyrusleeping>
the empty directory is created when your ipns entry is initialized on daemon startup
<alterego>
ion: an empty directory is THE empty directory. The hashes will be identical.
<ion>
alterego: I know
<alterego>
whyrusleeping: well, the daemon was never run.
<whyrusleeping>
kyledrake: lol, i wish it worked that way
<alterego>
ion: so you'd never be creating a new empty directory, because it'll always be the same.
<alterego>
There can be only one empty directory :)
<ion>
alterego: yes
<alterego>
"There can be only one ... " :)
<ion>
By “to generate one” I meant running ipfs object new unixfs-dir or making the appropriate API call.
<kyledrake>
whyrusleeping what's next steps?
<alterego>
ion: well, there's no point, if you already have an empty dir (which seemingly every one does)
<whyrusleeping>
kyledrake: finishing review
<alterego>
ion: the quickest way would just me adding links to the empty directory hash.
<alterego>
s/me/be
<whyrusleeping>
need ion and cryptix to sign off (since they were reviewers) and jbenet to give a final okay
<ion>
alterego: Hardcording the hash to an empty dir seems worse to me than asking the IPFS implementation for an empty dir object.
<ion>
whyrusleeping: Oh, i didn’t realize.
<alterego>
ion: Programatically sure, but if you're doing it yourself, you can rely on the fact that the empty dir hash is the empty dir hash, it's pinned in your node and always there.
<alterego>
And that is how you build directories, with that hash, no matter whether you use "ipfs object new" because ipfs object new doesn't actually create a new directory, ever.
NeoTeo has quit [Quit: ZZZzzz…]
<ion>
whyrusleeping: I wonder if the commit history should be tweaked given that the same pull request now contains a commit that adds cachelife and another that removes cachelife?
<whyrusleeping>
ion: oh yeah, i'll squash
<kyledrake>
whyrusleeping what's next steps on finishing the review, does someone specifically need to review it? Sorry for the pedantic questions, I'm just looking to get that moved forward
<whyrusleeping>
kyledrake: needs jbenet to give a final thumbs up
<daviddias>
ok, Apps on IPFS sprint meeting done
<alterego>
whyrusleeping: could you enlighten me as to what the pinned empty dir object is actually for?
<whyrusleeping>
kyledrake: and no worries, always good to have someone pushing for things to get done
<victorbjelkholm>
whyrusleeping github.com/victorbjelkholm/ipfschat but don't laugh!
<victorbjelkholm>
NeoTeo, my thinking as well! Started working on it yesterday, when I saw the IRC vs Slack debate
<victorbjelkholm>
jbenet, it is indeed! Distributed chat ftw
dignifiedquire has quit [Quit: dignifiedquire]
<jbenet>
tilgovi -- cool -- manu do you want to include us in this? -- i'm going to straight up say that the beginnings of the doc read as a spec for decentralized identity creation, not a DHT -- and it is _critical_ to cleanly separate the two (or don't call it webdht). the other is that you will want a very compressed version of messages for the dht -- and JSON is
<jbenet>
not a good candidate. we've done work on mapping JSON (and thus JSON-LD) _with merkle links_ and cryptographic artifacts into cbor (cbor.io), so that you have a nice JSON interface but it can be moved in the wire efficiently. More, we've done work in constructing a "record system" for arbitrary cryptographic artifacts (like your credentials) that layers
<jbenet>
cleanly over a variety of storage possibilities (not just DHTs, but faster or more permanent things too).
<victorbjelkholm>
alterego, basically, every peer publishes their list of messages. The client find peers via dht findprovs (based on my unique app-id ) and then fetches their messages, merges everything in the client
<victorbjelkholm>
whyrusleeping, heh, I see now that the readme is not very up-to-date
<victorbjelkholm>
basically, "npm install" then "electron ."
<victorbjelkholm>
crashes is your own fault
<alterego>
victorbjelkholm: that's really clever, I never thought about using findprovs in that way.
<alterego>
Must make a note of it! :)
<victorbjelkholm>
alterego, yeah, I'll make an smaller example on how you can use it as well
<jbenet>
@everyone -- are people interested in the "protocols / specs" hangout? im happy to start holding it now that we're running these quickly
<chriscool>
jbenet: yeah we can have a hangout and discuss testing and golang/build stuff but I haven't set up the microphone yet
<victorbjelkholm>
now IPNS just have to be a bit faster and the chat will actually be usable
<alterego>
jbenet: definitely interested
<whyrusleeping>
victorbjelkholm: using the special block service discovery trick?
<jbenet>
chriscool: ok let me know if you want it to work, else can just chat over text
<chriscool>
yeah I think it's better if we just chat over text for now
<ipfsbot>
[go-ipfs] whyrusleeping force-pushed feat/ipns-cache from 9957772 to c7fb7ce: http://git.io/vWWp5
<ipfsbot>
go-ipfs/feat/ipns-cache c7fb7ce Jeromy: cache ipns entries to speed things up a little...
<jbenet>
alterego: ok, but note that the hangout is not meant for explanations or review. it is meant to iron out designs (sometimes worth discussing parts of protocol realtime to define it but there's nothing on the agenda to discuss realtime atm) and as a way to drive spec work.
<alterego>
jbenet: more interested from an educational perspective at the moment.
Rylee has joined #ipfs
<alterego>
I'll just listen in, if I join. My home internet has just died so I'm using 3G atm.
<jbenet>
victorbjelkholm i aim to make IPRS flexible enough for you to be able to define records with cryptographic requirements (like have to include some proof that can be easily verified, etc). that may make it easier for these records. another option is to just use pub/sub records (which still need to be defined)
<jbenet>
alterego: i dont think others are interested atm.
<victorbjelkholm>
whyrusleeping, not sure what that is
<chriscool>
jbenet: so I think golang/build right now is kind of hardcoded to work with Gerrit and Google App Engine
dansup has joined #ipfs
<jbenet>
chriscool yes, this is what we need to abstract out
simonv3 has joined #ipfs
<chriscool>
ok it might be easier though if we first abstract out the Gerrit part and then the App Engine part
<chriscool>
rather than trying to do both at the same time
<whyrusleeping>
victorbjelkholm: creating a block with a special value in it and adding it, then running findprovs on its hash to find other peers interested in a given service
<jbenet>
chriscool that makes sense. re bradfitz i dont think so? what would we ask? i think we should fork build and start to outline all of the things to change in github issues, and if questions come up, ask him there.
<jbenet>
chriscool: he is super busy, so we should only bother him with very concrete questions, which can probably be over github.
<chriscool>
right now the golang/build config is managed using Google App Engine and the config system of the dashboard relies on the Datastore Viewer in the App Engine
<whyrusleeping>
ooooh, okay
<manu>
jbenet tilgovi: re: WebDHT - yes, /very/ interested in having you guys participate in this and agree with all your points.
cryptotec has joined #ipfs
<chriscool>
ok I will write notes on there
<manu>
jbenet tilgovi: we published the spec mostly because we didn't have /anything/ written down on it, so just put it together and pushed it out there so that we could have /something/ to talk around. No idea where it is going yet, other than it being the underlying implementation of https://authorization.io/ atm
<tilgovi>
manu: cool. I remember you mentioning it a year ago at TPAC. Saw you post it to the payments cg and so I echoed it here because I thought ipfs people would be interested.
<ion>
jbenet: If there are protocol/specs hangouts, I’ll be interested to at least listen in.
Rylee has quit [Ping timeout: 255 seconds]
<tilgovi>
So, just connecting everyone.
<tilgovi>
Glad to see something on (digital) paper.
<jbenet>
tilgovi many ok would be great to work on all this together
<jbenet>
manu*
<manu>
jbenet tilgovi: yeah, there is a lot of overlap, so good thinking about connecting the two communities - jbenet and I have been discussing it off and on for some time now. We've mostly been waiting for me to write something down and put it out there.
<jbenet>
manu: i think its important to make this effort an IETF effort too. web browsers and js are great, but the web should be usable by anything, with or without http. (or at least we're headed in that way)
<jbenet>
manu: great!
<ion>
jbenet: Btw, who is the “major browser vendor” you alluded to in your Stanford talk? :-)
<jbenet>
ion: can't talk about it
<manu>
jbenet tilgovi: For the larger effort, I agree - but much of W3C doesn't worry too much about non-HTTP stuff (for better or worse) - and we need something minimal that can get a toe-hold at W3C.
<manu>
jbenet tilgovi: So, while I agree that the "right thing to do long term" would be to be protocol agnostic, the first cut is going to have to be Web-centric (URLs, HTTP) to be able to get the ball rolling. We have to be careful about ensuring that we can future proof into a protocol agnostic mode (for example, separate messages from protocol)
<jbenet>
manu: the point is that HTTP is precisely not what you want for these kinds of protocols :/ -- it may be an ok medium for a REST-like api, but none of the URIs of the artifacts can be over HTTP, so im not sure what the point is (beyond making it easily accessible to browsers, which is fine and good to have but not a reason to restrict the spec to be so HTTP
<jbenet>
and HTTP-doc model laden)
<jbenet>
i.e. this thing should work with protocols that are not that complicated.
<manu>
jbenet: right, again - I agree - but we have to start somewhere that gets us massive deployment using clients that already speak something natively - HTTP does that for us.
<manu>
jbenet: I'm all for protocol agnostic
<jbenet>
manu: that's fine and you can layer a protocol over http without making it http specific
<jbenet>
ok i think we agree then
* manu
nods
<manu>
jbenet: yes, as I said - the spec is fantastically rough - needs polish / separation
<ipfsbot>
[go-ipfs] djdv opened pull request #1933: Fix path parser in add command (master...master) http://git.io/vloXf
<manu>
jbenet: but now that we have text down, people can point to spec text and discuss what needs to be changed.
<jbenet>
sounds good! happy to contribute thoughts to all that
<manu>
jbenet: great!
<manu>
jbenet: would love to have the IPFS folks input!
ipfs_intern has joined #ipfs
<manu>
jbenet tilgovi: exchanges like the one we just had are vital to ensuring that we solve the problem in the right way... or at least, understand the trade-offs in design choices and then make the right decisions.
Rylee has quit [Ping timeout: 240 seconds]
<jbenet>
manu: sounds great. feel free to add me to mailing lists as you see fit (i can always filter + unsubscribe). or point me to them as relevant ones come up
<manu>
jbenet tilgovi: Will do - I have no idea where the discussion around WebDHT is going to happen - will let you know once I do. It's being incubated in the Open Credentials Community Group (which is definitely the wrong place to have the discussion)
<jbenet>
great use case though
<manu>
yeah, that's why it's starting there :) - but we don't have the expertise in that group to develop the spec further.
<victorbjelkholm>
whyrusleeping, yes, that is exactly what I'm doing
<manu>
jbenet tilgovi: We may create another Community Group for the work - haven't decided yet, but will let you know when we do.
<whyrusleeping>
victorbjelkholm: its a pretty solid method i think. Global discovery, minimal effort :)
Rylee has joined #ipfs
ygrek has quit [Ping timeout: 268 seconds]
OutBackDingo has quit [Quit: Leaving]
cryptotec has quit []
<victorbjelkholm>
whyrusleeping, it is indeed, bottleneck right now seems to be ipns
Rylee has quit [Ping timeout: 240 seconds]
Encrypt has joined #ipfs
<whyrusleeping>
yeah, its rather slow right now
<whyrusleeping>
i'm working on it
<achin>
where is your hat, whyrusleeping
<whyrusleeping>
o.o
<ion>
whyruopless
<whyrusleeping>
i have a hat?
<whyrusleeping>
OH SHIT
OutBackDingo has joined #ipfs
<whyrusleeping>
dude
<whyrusleeping>
chanserv insists that #ipfs isnt a channel
<achin>
are you sure you're talking to freenode's chanserv?
<whyrusleeping>
ffs
<whyrusleeping>
right
<achin>
hat!
<whyrusleeping>
my irc box apparently had a rough weekend
<whyrusleeping>
my server buffers got all out of whack
<whyrusleeping>
got banned from a few channels for trying to autojoin >.>
<achin>
if you're in the US, maybe it didn't like the time change
<whyrusleeping>
oooo, could be
<achin>
"it was 2am twice in a row?! wahhhhlajslja"
<whyrusleeping>
lol
<M-rschulman1>
This sunday morning I was thinking about how credit card companies handle purchases made in the missing hour. What time do you put down for a transaction paid for during the second 1:24 am?
<achin>
i'm not sure if computers can have conniptions, but if they could, i bet it would sound like "wahhhhlajslja"
<lgierth>
davidar rht mikolalysenko: hey o/ if you added any stuff to the storage hosts that you'd like to keep, please add it to the respective files in https://github.com/ipfs/refs-solarnet-storage
HoboPrimate has quit [Quit: HoboPrimate]
<ion>
Is everything that has been !pinned going to be added in there?
dansup has joined #ipfs
HoboPrimate has joined #ipfs
Nukien has joined #ipfs
Rylee has joined #ipfs
<jbenet>
lgierth: some will be source material worth keeping for a while. i think davidar will be doing processing on things for some time. will be useful to have a way to specify directories on the machine to keep too.
<lgierth>
jbenet: oh yeah it's only about hashes, i won't touch the homedirs of people
<lgierth>
before doing anything in terms of cleaning up, i want an inventory
<lgierth>
ion: yeah i think i'd want the pinned items there too
elima_ has joined #ipfs
<lgierth>
i don't know
<jbenet>
oh sounds good
<lgierth>
i'm thinking of refs-solarnet-storage as less of an index and more of a refs-to-seed file, like the one in ipfs/infrastructure (which can be removed then)
<lgierth>
so that we can easily move stuff around, copy hosts, etc.
<ion>
It would be cool if the entire pin set of a node was a refs file you could choose to annotate and publish over IPNS.
e-lima has quit [Ping timeout: 265 seconds]
<alterego>
ion: annotate RDF style :)
<alterego>
With metadata
<ion>
I would be okay with per-hash comments.
yosafbridge has joined #ipfs
anticore has joined #ipfs
pfraze has joined #ipfs
sonatagreen has quit [Ping timeout: 272 seconds]
ipfs_intern has quit [Quit: Page closed]
ygrek has joined #ipfs
<alterego>
Is it possible to generate a node private key, and node id using openssl?
<alterego>
Or use a node's private key in openssl?
simpbrain has joined #ipfs
<tilgovi>
alterego: I think they're RSA keys, so yeah, sure
<alterego>
tilgovi: yeah, I know they're RSA keys, but for some reason I can't get openssl to read the private key in the IPFS node config :/
<alterego>
Something wrong with the format, though from what I can tell in the code, it's meant to be PKCS1.5 DAR
<tilgovi>
ah, okay. You're on the right track and ahead of me.
<tilgovi>
:)
<tilgovi>
I would be surprised if you can't load it.
* jbenet
the refs list can just be an ipfs object itself :), but a bit tricky to edit. we could come up with a nice format for it though, or make a yaml --to-> ipld importer
<alterego>
jbenet: got any ideas how I can import the private key from IPFS node to use in OpenSSL?
thisisatest has joined #ipfs
wtbrk has quit [Ping timeout: 250 seconds]
thisisatest has quit [Client Quit]
fingertoe has quit [Ping timeout: 246 seconds]
M-rschulman1 is now known as rschulman
zeroish has quit [Read error: Connection reset by peer]
sonatagreen has joined #ipfs
martinkl_ has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
fingertoe has joined #ipfs
donpdonp has joined #ipfs
OutBackDingo has quit [Quit: Leaving]
cemerick has quit [Ping timeout: 260 seconds]
martinkl_ has joined #ipfs
<whyrusleeping>
alterego: not easily
<whyrusleeping>
the key data in your config is a base64 encoded protobuf
<whyrusleeping>
if you decode it, and parse the protobuf, you can get the raw key data
<whyrusleeping>
which you should be able to write back out in a base64 PEM format (or whatever)
<whyrusleeping>
and then import that into openssl
<achin>
is it a crypto.pb.PrivateKey ?
<whyrusleeping>
yeah
<achin>
should be only a few lines of code
<achin>
alterego: i'll try this tonight, if you don't want to dig into protobufland
<alterego>
achin: I might just write my first go app ;)
<alterego>
Take the protobuf key in, and blurt out PEM format
<alterego>
I've dug around the go-ipfs sources and think I can knock it up.
<ion>
IPFS makes people learn Go
<richardlitt>
daviddias jbenet lgierth mappum whyrusleeping kyledrake: this is a reminder to please put your todos in https://github.com/ipfs/pm/issues/46 tonight. Thanks.
<achin>
\o/
<alterego>
It really does ..
<alterego>
ion: :)
<whyrusleeping>
richardlitt: didnt I?
OutBackDingo has joined #ipfs
* whyrusleeping
checks
<richardlitt>
whyrusleeping: are the go-ipfs action items yours?
<alterego>
ion: If I had more time, I'd implement qt-ipfs, but meh :D
<richardlitt>
If so, cool. Thanks! You're awesome!
<whyrusleeping>
richardlitt: no, i had another comment i thought i posted
<alterego>
ion: if I get it to work, I might even add a command to go-ipfs called dumpkeys or something :D
simonv3 has quit [Quit: Connection closed for inactivity]
amade has quit [Quit: leaving]
<jbenet>
whyrusleeping: also what happened when you increased KValue to 20?
<lgierth>
oh ok
<stoopkid>
hi, i'm trying to do 'ipfs resolve /ipns/<peer-id>/file-name' and it tells me it can't resolve the name, is there a command i can use to resolve one of these relative links to it's IPFS link?
<stoopkid>
also, if you 'ipfs get' on a directory, does it get the whole directory?
<victorbjelkholm>
stoopkid, you would only resolve the ipns link, if you want to see the `filename`, just do ipfs cat /ipns/peer-id/file-name
<ion>
jbenet: If noöne gets to it faster than me, I’ll try to manage to write some tomorrow.
<stoopkid>
hm, now it's saying 'multihash length inconsistent'
<M-davidar>
jbenet (IRC): as in, sending a small amount to an address to prove you have a document at a certain time?
martinkl_ has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
<jbenet>
M-davidar and including a link in the txn
<M-davidar>
jbenet (IRC): I'm familiar with the idea, but haven't actually done it myself
anticore has quit [Quit: bye]
<M-davidar>
lgierth (IRC): I only have stuff pinned on the daemon in my home dir, but generally soaking it's anything linked from ipfs/archives
<M-davidar>
s/soaking/speaking
<ion>
Heh, GitHub shows the commits in the wrong order.
<ion>
Hmm, has jbenet’s Stanford talk been unpinned from the SoL servers? I don’t see them in ipfs dht findprovs QmPkPwNx4rr9X9oma5BsMev6YT2GF9u6y1gDtLxG7NyPJq
<jbenet>
ion github fails with rebases
<jbenet>
i've filed that so many times
<jbenet>
they always say "works as intended" -- "you realize this is NOT the ancestry chain, right?" -- "yes. works as intended." -- "wat."
<pinbot>
now pinning /ipfs/QmPkPwNx4rr9X9oma5BsMev6YT2GF9u6y1gDtLxG7NyPJq
<ion>
lgierth: Yes, I saw you pin it.
<lgierth>
i'm getting it fine from 178.62.158.247
<ion>
I streamed a short bit of it from the public gateway after saying that comment.
<ion>
And that node shows up in findprovs now.
<pinbot>
[host 6] failed to pin /ipfs/QmPkPwNx4rr9X9oma5BsMev6YT2GF9u6y1gDtLxG7NyPJq: unknown ipfs-shell error encoding: text/html - "<html>\r\n<head><title>502 Bad Gateway</title></head>\r\n<body bgcolor=\"white\">\r\n<center><h1>502 Bad Gateway</h1></center>\r\n<hr><center>nginx/1.9.3</center>\r\n</body>\r\n</html>\r\n"
<jbenet>
hey everyone-- does the webui work for you?
<jbenet>
its not working for me on 0.3.10
<ion>
jbenet: Whoops, I had misread the “and only if it's /ipfs!” comment as belonging to the TODO and being about the headers being unimplemented for IPNS paths. I’ll go through the function and figure out the right thing to do.
<jbenet>
-dev
<lgierth>
meh that pinbot nginx timeout is not supposed to happen anymore
<jbenet>
but works on 0.3.9. hmmm
* achin
is confused by ipfs command line parsing
<ion>
webui doesn’t seem to be loading for me either.
pinbot has quit [Ping timeout: 252 seconds]
<achin>
how do i add a Bool option that can accept the form --foo=true or --foo=false
<lgierth>
wow pinbot what the hell
<jbenet>
yeah webui is broken on master apparently
<jbenet>
lgierth: lol
<lgierth>
high five, two things totally broken, at once? :)
<jbenet>
o/
Encrypt has quit [Quit: Sleeping time!]
<ion>
lgierth: Bad things come in threes.
<ion>
Webui finally loaded for me. It just took a while.
<lgierth>
let me have a look at instrumentation, lol
<ipfsbot>
[go-ipfs] jbenet pushed 1 new commit to master: http://git.io/vlKXT
<ipfsbot>
go-ipfs/master e90bd93 Juan Benet: Merge pull request #1928 from ipfs/feature/security...
<achin>
ooh, hm. there seems to have been a small "regression" in the CLI parsing in the dev40 branch
<ipfsbot>
[go-ipfs] jbenet deleted feature/security at cdcf457: http://git.io/vlKXO
<ion>
jbenet: I wonder if the following errors should have the headers, though. Shouldn’t the error be cached for the same reason a success would have been cached? The error is not likely to go away much faster than a successful result would change, is it?
<ion>
Ditto for the 302 from foo to foo/
<jbenet>
ion: no, the caching on /ipfs is supposed to be permanent or as permanent as we can.
<jbenet>
lots of temp errors can happen, like fail to resolve, 500s, etc