dread-alexandria has quit [Quit: dread-alexandria]
notduncansmith has joined #ipfs
notduncansmith has quit [Read error: Connection reset by peer]
rht__ has joined #ipfs
notduncansmith has joined #ipfs
notduncansmith has quit [Read error: Connection reset by peer]
williamcotton has joined #ipfs
williamcotton has quit [Ping timeout: 256 seconds]
dread-alexandria has joined #ipfs
Wallacoloo has quit [Ping timeout: 256 seconds]
gendale_ has joined #ipfs
Encrypt_ has joined #ipfs
<zignig_>
whyrusleeping: PING !
mildred has joined #ipfs
rht__ has quit [Quit: Connection closed for inactivity]
kbala has quit [Quit: Connection closed for inactivity]
domanic has joined #ipfs
mildred has quit [Read error: Connection reset by peer]
mildred has joined #ipfs
Guest28662 is now known as Luzifer
Luzifer has quit [Changing host]
Luzifer has joined #ipfs
Luzifer has joined #ipfs
Encrypt_ is now known as Encrypt
<cryptix>
whyrusleeping: not much.. got frustrated with commands pkg and couldnt get further
<cryptix>
i think there is a nicer way than forcing <-chan interface{} on SetOutput() (like <-chan StatusUpdae{} - inside you can still have a field (Data interface) but i didnt assess what else it is used for
<cryptix>
i also noticed that this chan is buffered.. which always tingles my gopher-sense
<cryptix>
it might not be related but i massivly tripped over this while trying to debug how the progress is actually transfered
<cryptix>
wouldn't it be much simpler btw to just count how much the cli has written to the api socket on the way to the server? all this reminds me of how php sides did upload progress in the 90s when there were no decent js apis to get the progress... :-/
Encrypt has quit [Quit: Quitte]
tilgovi has joined #ipfs
williamcotton has joined #ipfs
williamcotton has quit [Ping timeout: 255 seconds]
tilgovi has quit [Ping timeout: 265 seconds]
www has joined #ipfs
<gendale_>
i have kind of a dumb question
<gendale_>
I don't understand how updating works in ipfs
<gendale_>
for example, if I have the hash of a folder and i give that to somebody, they then have the contents of that folder
<gendale_>
but if I add the file to that folder, the hash would then change, correct?
<gendale_>
would I then have to distribute the new hash in order for them to get the updates?
<gendale_>
and if that were the case, is there a mechanism to handle file deletion or moved files?
nsh has joined #ipfs
nsh has quit [Changing host]
<reit>
>would I then have to distribute the new hash in order for them to get the updates?
<reit>
yes, that's correct
<reit>
>is there a mechanism to handle file deletion or moved files?
<reit>
yes, this is what IPNS (note the 'n') would handle
<gendale_>
ah OK. i need to read about ipns. all I know is that it's supposed to provide human friendly naming
<reit>
ehh...
<reit>
not exactly
<reit>
my understanding is it still takes the form of a hash
<gendale_>
oh. I'm trying to remember where i was reading about it. is that in the whitepaper?
<reit>
for human readable names? i'm not really sure any part of ipfs tries to tackle that
<gendale_>
no just ipns
<reit>
oh, as in how ipns works?
<gendale_>
yes
<reit>
i'll try to find it, there was a good walkthrough somewhere
<cryptix>
soon we will only communicate by hashing each word... :p
<gendale_>
lol
<reit>
but basically you can 'publish' a value to the DHT using your own public key
<cryptix>
gendale_: if that leaves any open questions, post them there or ask here and we will add it
<gendale_>
thanks.
<cryptix>
gendale_: always feel free to ask here too - didnt mean to send you away :)
<gendale_>
no, you're find
<gendale_>
fine
<gendale_>
So, ipfs is basically a way of publishing a hash that's associated with your peerID, right?
<gendale_>
and you can update and replace it without issue, which solves the distribution problem?
<cryptix>
s/ipfs/ipns/
<cryptix>
yea.. you can publish /ipns/$peerPubKeyHash/some/thing/i/choose - and that path resolves to an immutable ipfs hash that you want
<gendale_>
i see
<cryptix>
and later you can update the path to a new ipfs hash
<cryptix>
(the path stays the same but it points to a new hash)
<gendale_>
so lets say somebody runs ipns get HASH1
<gendale_>
which contains fileA fileB and fileC
<gendale_>
and then I decide fileC sucks, so I publish HASH2 containing fileA and fileB
<gendale_>
and then they run ipns get HASH2
<gendale_>
fileC would still be present, correct?
<cryptix>
nope - the hash2 you publish would be a directory only containing file A and B
<cryptix>
(you could implement all this different than unixfs files, but lets not make it more complicated for the moment)
<cryptix>
if they still have the old hash (and can resolve the files inside) they would still be able to acquire fileC if you didnt burn down all nodes that had it
<gendale_>
but would the files redownload? or would ipfs just delete fileC?
<gendale_>
i'm trying to imagine a dropbox type usecase
<cryptix>
yup - i'm with you. fileA and B are unchanged in this example, right?
<gendale_>
yes
<cryptix>
they would still be the same and thus have the same hash
<gendale_>
right, right of course
<cryptix>
the thing is.. fileC would still be inside your ipfs daemon's repo just not displayed under the new hash
<cryptix>
so if you have the old hash to the dir containing A,B and C - you can still get C
<gendale_>
gotcha
<cryptix>
deletion is a tricky subject in an immutable network :)
<reit>
gendale_, you could still transfer private data through ipfs if that's what you're after, however you'd want to encrypt it locally first
<cryptix>
reit: +1 yup
<cryptix>
reit: are you rht on github? i've been away to often recently
<reit>
no, i haven't committed anything yet here
<reit>
soon, hopefully
<cryptix>
oh np
<gendale_>
reit: right
* cryptix
is soo bad with names
<gendale_>
thank you both for your help
<cryptix>
gendale_: you're very welcome :) let us know if you hit any issues
<cryptix>
from docu hiccups to operational issues
domanic has quit [Ping timeout: 248 seconds]
<reit>
one thing i've been toying with is the idea of doing what MEGA does and concatenating decryption keys to the ipfs hash to build encryption into the system for exactly this sort of use case, has anyone else been thinking along these lines?
<cryptix>
yup. i think the keystore spec also goes into that direct. someday we want to have something like tahoe-lafs where you get different keys for read and write (if i recall jbenet correctly)
<gendale_>
ok I am running into a bit of an issue where ipfs add -r hangs
<cryptix>
what OS and how much did you add?
<gendale_>
freebsd
<gendale_>
I started with a very large add initially, and then began paring it down
<gendale_>
it seems to be hanging on single files
<cryptix>
hrmm.. lets see..
<gendale_>
in this particular case, an encrypted coin wallet
<cryptix>
can you check if there is still IO going on? (systat -io 1)
<gendale_>
there does not appear to be
<cryptix>
hmmm thats weird
<cryptix>
there is this neat little trick to crash a go application and print the stacktrace
<cryptix>
if you are sure it totally hangs..
<cryptix>
ctrl+
<cryptix>
lol
<cryptix>
damn you irc.. its ctrl+/
<cryptix>
whats wrong with me?!... its ctrl+/
<cryptix>
god.. damnit...
<cryptix>
\
<cryptix>
ctrl+\ < that quits a go runtime and gives you the stack trace
<cryptix>
before you do that - maybe try to see if 'ipfs cat' of a small file still works
<cryptix>
i just wonder where it hangs.. totally or just the add.. etc
<gendale_>
i don't know what you mean by 'ipfs' of a small file.
<gendale_>
add and cat generally work fine.
<gendale_>
but when i add -r this particular folder, it always hangs at the same place
<cryptix>
i wondered if the daemon is still operational once it hangs
<gendale_>
ah I see
<cryptix>
(assuming the daemon is online, in the first place)
<cryptix>
in any case, i'm sure whyrusleeping would like to see the stacktrace
<cryptix>
siiigh.. viedeostreaming sides that obfuscate their tech till infinity.... whyyyy
williamcotton has quit [Ping timeout: 255 seconds]
<gendale_>
ahh I just finally installed i3 on my linux mint machine
<cryptix>
i use i3 too :)
<gendale_>
floating windows are the dumbest. i'm so happy now
<cryptix>
gendale_: btw if it always blocks on the same file.... can you add _just_ that file?
<gendale_>
oh good question
<gendale_>
it would appear so
<gendale_>
BUT
<gendale_>
when it hangs, the progress bar disappears, as does the indication of which file it's adding
<gendale_>
I only knew which file it was because I had gone through the directory it was adding and deleted all other files
<gendale_>
so I added the last file, and now when I add -r it works
<cryptix>
very weird...
<gendale_>
yeah.
<cryptix>
hrm.. can you tar up these files for me? i'd like to see if i can reproduce it
besenwesen_ has joined #ipfs
sindresorhus_ has joined #ipfs
ladekjaer_ has joined #ipfs
<cryptix>
and - maybe you can try to add the full dir again with no daemon running? you might need to create a new repo (you can use 'IPFS_PATH=tests/repo_location ipfs init' to use that'
<gendale_>
um, hah, let me tar the next one up for you
<gendale_>
i may have discovered that this wallet was not in fact encrypted
besenwesen_ has quit [Changing host]
besenwesen_ has joined #ipfs
besenwesen has quit [Disconnected by services]
<gendale_>
it's the fourth one I ran into though, so I'm guessing it will happen again
<cryptix>
you shouldnt add anything to ipfs that you arnt willing to post to twitter as a pastebin
<cryptix>
(we should make this more clear)
besenwesen_ is now known as besenwesen
<gendale_>
yeah, it was in a subfolder that I forgot about
<gendale_>
embarrassing
<cryptix>
:) been there
Wkter_ has joined #ipfs
Luzifer_ has joined #ipfs
<cryptix>
it's really easy to build a tool that just listens for provides-advertisments and fetchs it.. would be expensive as the net grows but still possible
null_rad- has joined #ipfs
<gendale_>
provides-advertisments?
<cryptix>
if you have add something to ipfs your nodes tell the network 'i have $hash'
<cryptix>
then nodes can ask you for it
sharky has quit [*.net *.split]
sindresorhus has quit [*.net *.split]
rschulma- has quit [*.net *.split]
mquandalle has quit [*.net *.split]
Luzifer has quit [*.net *.split]
ladekjaer has quit [*.net *.split]
vonzipper has quit [*.net *.split]
nsh has quit [*.net *.split]
robmyers has quit [*.net *.split]
null_radix has quit [*.net *.split]
Wkter has quit [*.net *.split]
Igel has quit [*.net *.split]
rschulman has joined #ipfs
<gendale_>
ah i see
Luzifer_ is now known as Luzifer
sindresorhus_ is now known as sindresorhus
<gendale_>
if I'm not running the daemon, it shouldn't upload anything, right?
<gendale_>
i was going to sic add -r on a config file directory and see if I can reproduce that
<gendale_>
i'm probably going to delete this ipfs install after this experiment
<cryptix>
yup - but when you startup the daemon it does the 'i porvide' of everything in its repo
<cryptix>
yup :) you should
<gendale_>
ok
<gendale_>
oh, I'm also sometimes getting this error:Error: open /home/roerick/route/laptop/.thunderbird/989pbf2i.default/lock: no such file or directory
Igel has joined #ipfs
<cryptix>
wat
<cryptix>
whyrusleeping: o/
<gendale_>
seems weird to get with the -r command right?
<cryptix>
jbenet: o/
vonzipper has joined #ipfs
ladekjaer_ is now known as ladekjaer
<cryptix>
which version are you running? did you build it from source?
<gendale_>
I ran go get, that pulls binaries, right?
<cryptix>
(i assumed latest master until now)
<cryptix>
nope it builds the latest master
<gendale_>
hrm
<gendale_>
welp
<cryptix>
(i <3 go compliation speed)
<cryptix>
this is alpha after all :)
<gendale_>
my coding skill is pretty much, i've written a couple while loops. ;)
<gendale_>
and i've never worked with go
nsh has joined #ipfs
<cryptix>
no worries
<cryptix>
i have no idea why it would require a lock inside thunderbird
<gendale_>
bsd. it's an archive from an old broken laptop running linux
<gendale_>
maybe it's a ownership thing?
<cryptix>
i'm confused about the + on the port number from that ls
<gendale_>
yeah me too, i have no idea what that means
<cryptix>
can you lsof -i and see if that goes anywhere?
<gendale_>
lsof
<gendale_>
oops
nsh has joined #ipfs
<gendale_>
is port 15848 a ipfs port?
<cryptix>
not a default one
<cryptix>
4001 is the swarm 5001 and 8080 are the api and gw http
spikebike has quit [Ping timeout: 265 seconds]
<cryptix>
we dont do file<>network magic though.. and not on a lock file
<cryptix>
afaik
sbruce has quit [Ping timeout: 265 seconds]
pinbot has quit [Ping timeout: 265 seconds]
barnacs has quit [Ping timeout: 265 seconds]
<gendale_>
doesn't seem to show up using lsof
<wking>
gendale_: I may have missed it in the scrollback, but you asked about readable names. Besides /ipns/{node's-ID-in-multihash}, you can use /ipns/{domain-name-for-dnslink} or /ipns/{node's-ID-in-proquint}
<cryptix>
it might be a dead oversight
sbruce has joined #ipfs
<cryptix>
over..left over was the word i was looking for
<cryptix>
like a named unix pipe going nowhere or something?
<cryptix>
hi wking :)
<wking>
See 'ipfs dns --help' for notes on the DNS-link TXT records
<wking>
hi :)
barnacs has joined #ipfs
<cryptix>
i wonder.. how do we add named pipes anyway..
<cryptix>
yup.. that blocks until you write something into it
<gendale_>
thanks wking
<cryptix>
but it works.. i guess a dead named pipe in a dir will block indefinetly
<gendale_>
so I'm not sure i understand what was happening there still... thunderbird was piping a lockfile across the network?
<cryptix>
gendale_: can you open up two issues about this? if only summarize and link to the irc discussion on https://botbot.me/freenode/ipfs/
<cryptix>
gendale_: it was localhost, so...
<gendale_>
oh right.
<cryptix>
gendale_: i have a similar lockfile in my dir
<cryptix>
its a link file
<gendale_>
localhost is 127.0.0.1, i thought, wasnt' that 1.1? or are they both localhost?
<cryptix>
all off 127.0.0.0/8 is loopback
<cryptix>
(or should be on a sensible system)
<cryptix>
gendale_: i think thunderbird 'abuses' links to just store the addresses as a string (no idea why)- on my system its a broken symlink not a socket or pipe file.
<cryptix>
did you add that dir? i cant think of a reason why ipfs would try to aquire a lock there..
<wking>
what we should be doing for dead named pipes now is checking the FileMode and crashing if we hit types we can't (yet) represent in IPFS
<cryptix>
wking: yup agreed
<wking>
Currently that's just IsDir() and IsRegular() that should get through
<cryptix>
wking: it does that right now
<wking>
so why is it hanging on a named pipe?
<cryptix>
i'm just not sure what do to with valid, not written to pipes.. timeout flag i guess?
<wking>
they will be neither IsDir or IsRegular, so why timeout?
<wking>
just crash
<cryptix>
(i just came up with this named pipes stuff - i'm not sure its related to gendale_ report)
<cryptix>
wking: def the better thing to do than undefined behav
<wking>
mkdir x
<wking>
mkfifo x/a
<wking>
ipfs add -r x
<wking>
^hangs
<cryptix>
echo hello > x
<cryptix>
completes
<cryptix>
so it can be used but.. tricky
<wking>
so I think we're missing a mode check
<wking>
using it is broken
<cryptix>
yea
<wking>
folks trying to add a filesystem to IPFS should get that filesystem added, and not have named pipes magically converted to files if they happened to have data in them
<gendale_>
just to clarify, the named pipe issue triggered a "file or directory not found", it did not cause a freeze
<cryptix>
gendale_: thought so, thanks
<wking>
that's strange, it hung for me
<cryptix>
gendale_: can you check for the file types in your dir? find . -type p for pipe (s socket, l link)
<ipfsbot>
[go-ipfs] wking created tk/check-for-non-file-or-dir-modes (+1 new commit): http://git.io/vLD7o
<ipfsbot>
go-ipfs/tk/check-for-non-file-or-dir-modes 9f464bb W. Trevor King: importer/importer: Check for modes that aren't regular files or directories...
<wking>
no tests, propper writeup, or audit for other broken only-IsDir checks, but maybe that fixes the hang I'm seeing^
besenwesen has quit [Quit: ☠]
<wking>
ah, doesn't compile ;)
<wking>
but that's the idea. I'll fix it later if nobody beats me to it
<wking>
bye for now
<cryptix>
thanks cya wking
<gendale_>
it only showed the lock file under -type l
besenwesen has joined #ipfs
besenwesen has joined #ipfs
<cryptix>
it should error out with 'no such file' on that one
<cryptix>
error message might be confusing but its somewhat correct
<cryptix>
ie there is 'no such file' where it is pointing too
<cryptix>
but this wasnt the dir it hangs on, right?
williamcotton has joined #ipfs
<gendale_>
oh, no it wasn't, this was the file not found
<gendale_>
hang on
<gendale_>
no response from find
<cryptix>
btw zfs or ufs?
<gendale_>
zfs
williamcotton has quit [Ping timeout: 265 seconds]
<cryptix>
stating the obvious here but if find hangs, too this might not be an ipfs issue
<gendale_>
find works, just not with those flags?
<gendale_>
the .dat file is the only file present
spikebike has joined #ipfs
<cryptix>
are there maybe 'hidden' files starting with a . ? (ls -a)
<cryptix>
very strange case
pfraze has joined #ipfs
<gendale_>
nope
<ipfsbot>
[go-ipfs] wking force-pushed tk/check-for-non-file-or-dir-modes from 9f464bb to dc06c98: http://git.io/vLyfs
<ipfsbot>
go-ipfs/tk/check-for-non-file-or-dir-modes dc06c98 W. Trevor King: importer/importer: Check for modes that aren't regular files or directories...
<wking>
^ now it compiles, but this catch doesn't seem to fix the hang, so I suspect a parallel adder codepath somewhere
ralphthe1inja is now known as ralphtheninja
<cryptix>
g2g now - l8ters
<cryptix>
gendale_: i'm sure jbenet and whyrusleeping will nag you about this once they are up :)
gendale__ has joined #ipfs
gendale_ has quit [Ping timeout: 276 seconds]
sandymac has joined #ipfs
<sandymac>
Does ipfs cache remotely fetched content?
williamcotton has quit [Read error: Connection reset by peer]
williamcotton has joined #ipfs
williamc_ has joined #ipfs
williamcotton has quit [Read error: Connection reset by peer]
<daviddias>
whyrusleeping jbenet : Indutny is going to win the awesome person award again, not only he speeded up the dev of node-spdy (check feature/http-2 branch), but he also made spdystream as a separate module https://github.com/indutny/spdy-transport (missing only stream prioritisation and push streams), this is going to speed things a lot :)
williamcotton has joined #ipfs
williamc_ has quit [Ping timeout: 264 seconds]
williamcotton has quit [Ping timeout: 264 seconds]
<avalo>
I'm looking for an example of an app that uses ipfs to get started
<avalo>
is there a directory somewhere?
<ipfsbot>
[go-ipfs] wking pushed 1 new commit to tk/check-for-non-file-or-dir-modes: http://git.io/vLSmH
<ipfsbot>
go-ipfs/tk/check-for-non-file-or-dir-modes cb46869 W. Trevor King: commands/files: Make Stat() part of the File interface...
<wking>
I haven't had time to figure out the hang, but this is closer to real Stat/Mode handling^
ghutzriop has joined #ipfs
tilgovi has joined #ipfs
mildred has quit [Quit: Leaving.]
avalo has quit [Ping timeout: 250 seconds]
mildred has joined #ipfs
inconshreveable has joined #ipfs
www has joined #ipfs
Guest67539 has quit [Ping timeout: 256 seconds]
Guest67539 has joined #ipfs
williamc_ has joined #ipfs
williamcotton has quit [Read error: Connection reset by peer]
Wallacoloo has joined #ipfs
mildred has quit [Quit: Leaving.]
williamc_ has quit [Ping timeout: 264 seconds]
inconshreveable has quit [Remote host closed the connection]
inconshreveable has joined #ipfs
kbala has joined #ipfs
inconshreveable has quit [Remote host closed the connection]
<cryptix>
is it me or is it quite here today
<whyrusleeping>
cryptix: its fathers day in the US
<cryptix>
aaaah
<whyrusleeping>
yeeeep
<whyrusleeping>
wking: your branch names.
<whyrusleeping>
crest: every program uses sigquit that way
<whyrusleeping>
programs compiled with gcc will core dump
<whyrusleeping>
java dumps a stack trace as well
www has quit [Ping timeout: 264 seconds]
* whyrusleeping
goes back to cities skylines
www has joined #ipfs
patcon has joined #ipfs
dread-alexandria has quit [Quit: dread-alexandria]
cjb17 has joined #ipfs
cjb17 is now known as cjb
www has quit [Remote host closed the connection]
Encrypt has quit [Quit: Sleeping time!]
williamcotton has joined #ipfs
<jbenet>
whyrusleeping i think both grendale_ and wking ran into the "ipfs doesnt like {symlinks, pipes, fifos, ...} yet" problem.
* jbenet
is in palo alto now.
m3s has quit [Remote host closed the connection]
m3s has joined #ipfs
<jbenet>
crest: every _go_ program uses SIGQUIT that way
<ghutzriop>
initially I thought ipfs is supposed to achieve something similar to freenet( minus the anonymity). however, I'm not sure if a way to distribute the files to other nodes is implemented or planned, so that the files are still accessible when the original node is offline.
<cryptix>
ohi jbenet :)
Aaron1011 has quit [Ping timeout: 272 seconds]
Aaron1011 has joined #ipfs
Aaron1011 has joined #ipfs
<jbenet>
ghutzriop: there's a lot to say about that but the short version is this: the problem is broken down into two parts. IPFS is the transport + tooling for defining + moving the data _but does not guarantee its persistence on its own_ -- then, other services can be hired to keep it around (pinners/providers). for many reasons, ipfs **must not** force any node
<jbenet>
to download things that node doesn't explicitly request. to hire a network as a service to back things up, take a look at Filecoin (one of our projects), or other similar networks (maidsafe) or well known providers (s3, google).
<jbenet>
cryptix: o/
<ghutzriop>
jbenet: thanks, that answers my question quite well.
ghutzriop has quit [Quit: Leaving]
<cryptix>
jbenet: i think the new index should be alright. there already was a test for basic listing and i added a simple 404 check while i looked at it. you just need to merge the new hash to ipfs/infra
dread-alexandria has joined #ipfs
equim1 has quit [Ping timeout: 276 seconds]
dread-alexandria has quit [Quit: dread-alexandria]
equim has joined #ipfs
<jbenet>
cryptix: sounds good. maybe we should create a github pinbot, and once certain files get pushed (even before merged), it pins them or something.
tilgovi has quit [Ping timeout: 252 seconds]
<whyrusleeping>
jbenet: that would be interesting
<jbenet>
whyrusleeping: yeah i think we can do it easily with a webhook on push
<jbenet>
that alone-- btw-- might be a very nice dev tool to make,
<jbenet>
if it has a nice webui to see all the pins.
<jbenet>
as krl says, we should have small web ui / console modules. so people interested in making a really good pinner webui can do that and we can plug it into the main webui
patcon has quit [Ping timeout: 246 seconds]
<ipfsbot>
[go-ipfs] wking force-pushed tk/check-for-non-file-or-dir-modes from cb46869 to 6dd2fb5: http://git.io/vLyfs
<ipfsbot>
go-ipfs/tk/check-for-non-file-or-dir-modes 6dd2fb5 W. Trevor King: commands/files: Make Stat() part of the File interface...
williamcotton has quit [Ping timeout: 252 seconds]
ogd has joined #ipfs
<zignig_>
o/
dread-alexandria has joined #ipfs
<zignig_>
whyrusleeping: pull request of go-tftp for astralboot goodness.
<whyrusleeping>
zignig_: sweet :)
<whyrusleeping>
i'll get to it soon
<zignig_>
no worries , my local testing checked out and I'm going to load test it today with ~20 machines concurrentlt booting.
<whyrusleeping>
o.o
<whyrusleeping>
whoa
<zignig_>
the web server is hopefully going to be the choke point ( coreos image ~ 160Mb )
<whyrusleeping>
oooh, yeah
<cryptix>
zignig_: you could boot them of each other in a circle :p
<zignig_>
I've thought abou that.
<zignig_>
or have a two machines and ping pong a boot server between them.