Kubuxu changed the topic of #ipfs to: go-ipfs 0.4.14 is out! Try out all the new features: https://dist.ipfs.io/go-ipfs/v0.4.14 | Also: #libp2p #ipfs-cluster #filecoin #ipfs-dev | IPFS, the InterPlanetary FileSystem: https://github.com/ipfs/ipfs | Logs: https://botbot.me/freenode/ipfs/ | Forums: https://discuss.ipfs.io | Code of Conduct: https://git.io/vVBS0"
weez17 has quit [Remote host closed the connection]
weez17 has joined #ipfs
shizy has joined #ipfs
droman has quit [Quit: WeeChat 2.1]
infinity0_ has joined #ipfs
infinity0_ has quit [Changing host]
infinity0 has joined #ipfs
infinity0 has quit [Killed (tolkien.freenode.net (Nickname regained by services))]
pcardune has quit [Remote host closed the connection]
pcardune has joined #ipfs
pcardune has quit [Ping timeout: 260 seconds]
bwerthmann has joined #ipfs
colatkinson has joined #ipfs
cwahlers has joined #ipfs
pcardune has joined #ipfs
djdv has quit [Ping timeout: 248 seconds]
pcardune has quit [Remote host closed the connection]
pcardune has joined #ipfs
pcardune has quit [Read error: Connection reset by peer]
djdv has joined #ipfs
scaphe has joined #ipfs
<scaphe> hello
drrty2 has quit [Ping timeout: 256 seconds]
scaphe has quit []
shizy has quit [Ping timeout: 240 seconds]
Chowie has quit [Ping timeout: 260 seconds]
MDude has joined #ipfs
<lord|> is there a recursive `ls` in ipfs
<lord|> or something like running `find` in a directory
<lord|> but that also displays hashes
colatkinson has quit [Ping timeout: 248 seconds]
chjk6x_ has quit [Ping timeout: 256 seconds]
<lord|> oh I think I found what I need
<lord|> ipfs refs --format "<src> <dst> <linkname>" --recursive --unique /ipns/ipfs.io
<lord|> not gonna worry about having a full path
<lord|> just need a way to record this information for later use (e.g. a node holding a directory goes down, but some of the files might still be up)
<lord|> wait wat
<lord|> my understanding of ipfs shattered again
<lord|> nevermind, I thought I was running that command on a file when it was a directory
<lord|> and it gave two different hashes
<lord|> I'd just like to quickly explain my use case to see if my understanding of ipfs is correct
<lord|> I am going to be running a community for sharing ipfs hashes
<lord|> and I want to require every hash to be a directory
<lord|> even if it's just a single file
<lord|> so I want to require users to provide the full information for how to reconstruct the directory given the files it's composed of
<lord|> the output of the command above should be enough to allow a full re-construction of any directory object, right? given the files
bwerthmann has quit [Quit: leaving]
pcardune has joined #ipfs
pcardune has quit [Ping timeout: 255 seconds]
<djdv> you may also like the output of `ipfs object get $HASH`, you can get it and recurse through the Hash entries with their Names
chrios has joined #ipfs
chrios_ has quit [Ping timeout: 264 seconds]
moet has quit [Ping timeout: 248 seconds]
<lord|> djdv: that would offer more flexibility though I'd like to leave the task up to the user and not require them to install extra software
<lord|> the command I posted is outputting hashes that start with 0x82 ("zb2"), what are these?
<lord|> I think it's only happening for things that I don't have fully pinned
<lord|> oh, those are the full CIDs
* lord| needs to further research IPLD
moet has joined #ipfs
nicu has quit [Quit: nicu]
yhwh has quit [Ping timeout: 260 seconds]
pcardune has joined #ipfs
user51 has joined #ipfs
pcardune has quit [Ping timeout: 264 seconds]
user_51 has quit [Ping timeout: 260 seconds]
pcardune has joined #ipfs
reit has quit [Quit: Leaving]
<lord|> now I am very confused
<lord|> for some files, its children (chunks) have hashes starting with zb2
<lord|> for other files, the children are normal ipfs hashes
<lord|> and for some files, they have no children???
ericxtang has joined #ipfs
lnostdal has quit [Ping timeout: 256 seconds]
anewuser has joined #ipfs
lnostdal has joined #ipfs
MDude has quit [Ping timeout: 276 seconds]
lord| has quit [Ping timeout: 260 seconds]
ericxtang has quit [Remote host closed the connection]
ericxtang has joined #ipfs
ericxtang has quit [Remote host closed the connection]
ericxtan_ has joined #ipfs
MDude has joined #ipfs
risciii has joined #ipfs
pcardune has quit [Remote host closed the connection]
raynold has quit [Quit: Connection closed for inactivity]
lord| has joined #ipfs
<lord|> my workaround was simply to ignore links with the name ""
<lord|> just hacked together a small script to walk a DAG tree
<lord|> now just gotta make it prettify the output
<lord|> and by the way, should I be hammering the ipfs daemon with requests and processing them in async like this: https://ipfs.io/ipfs/QmZp1QT2GphZkvYfhZuFvykShPTCUuEaAB7YKeTdxqd4eu
<lord|> I think bluebird supports starting promises in batches, I'll probably use that if the ipfs daemon memory usage shoots up upon encountering a huge directory
pcardune has joined #ipfs
pcardune has quit [Ping timeout: 240 seconds]
TrUsT_n1 has quit [Remote host closed the connection]
<lord|> DAG link names will never have "/" in them, right?
<lord|> djdv:
<tperson> lord|: Depending on how the dag is constructed, leaf nodes will have no links, as they are just pure data blocks.
Chowie has joined #ipfs
pcardune has joined #ipfs
<djdv> lord|: I'm not actually sure, I was wondering that recently.
* lord| cries and hope insane people don't make DAGs with / in names
<tperson> lord|: Also with regard to the zb2 thing, that is the new CID format that supports IPLD. You can read more about it in the CHANGELOG
<piajesse[m]> so I don't exactly understand how ipns works
* lord| also wants to understand how ipns works
<lord|> djdv: but escape sequences, tabs, newlines are perfectly desirable paths, you shouldn't be using an inferior operating system
<lord|> "/" or 0x00 on the other hand
<lord|> is when you should panic
<JCaesar> lord|: Oh, but there's other fun stuff, too…
<JCaesar> SHIFT-JIS in paths. ♥
ericxtan_ has quit [Remote host closed the connection]
ericxtang has joined #ipfs
<piajesse[m]> for one I can't figure out how to add files to it...
<piajesse[m]> and I also can't figure how it resolves it, does it still resolve the files if that host is down?
<djdv> how I learned to love mojibake and dfgdhtrwhtrgfht
<lord|> piajesse[m]: you update the files by attaching a new hash to the ipns address
border0464 has quit [Ping timeout: 260 seconds]
border0464 has joined #ipfs
<lord|> and I don't think it will resolve if all nodes with the private key for it are down
<lord|> but I haven't tested that or researched
pcardune has quit [Remote host closed the connection]
<piajesse[m]> so you can have the private key on multible servers?
<lord|> if not I'm not sure how ipfs would go about finding the latest version without waiting for an arbitrarily long timeout
<lord|> piajesse[m]: actually...
<lord|> I think the key is tied to the node, right?
<lord|> so you couldn't transfer it
<piajesse[m]> thats why i thought xD
<lord|> but maybe it is possible to have two nodes with the exact same public key...
<djdv> keys are stored in the keystore
<lord|> idk what insanity that would cause but
ericxtang has quit [Ping timeout: 268 seconds]
<piajesse[m]> well, I was wondering because of an idea i had would heavily relie on ipns, even when that host is down, but the files are pinned else where
<djdv> ipfs key gen -t ed25519 testkey
engdesart has joined #ipfs
<djdv> will place 'testkey' in your .ipfs/keystore
risciii has quit [Ping timeout: 248 seconds]
<djdv> and you can just transfer that around and publish with it if you want, ipfs name publish -k testkey
<piajesse[m]> so does ipns use a a hash for every name publish, or for the whole node?
smuten has joined #ipfs
<lord|> djdv: ah, so it's not perma-fused with the node's keypair?
<lord|> piajesse: not sure what you mean
<djdv> no, 'self' is only the default for your node
<djdv> `ipfs key list` will show what keys are available to use
<djdv> ipfs name publish <hash> will use self
<lord|> piajesse: ipns addresses correspond to whatever ipfs hash the author is choosing to publish at the time
<djdv> unless you specify -k
<piajesse[m]> alright, so how does ipns resolve hashes?
<lord|> it's a mystery to me
<lord|> I don't even know how I'd begin to come up with a distributed algorithm to reliably do that
<djdv> soon through pubsub I guess
<lord|> I'd assume it's just pushing out ECC signatures onto the DHT
<lord|> ECDSA*
<lord|> not sure how old signatures are marked as old though
<djdv> you set the lifetime
<lord|> but you can't verify timestamps
<lord|> you just trust that everyone has a good clock..?
<djdv> I'm less familliar with the details of IPNS than the applications of it
<piajesse[m]> well if you set it for 1 year lifetime, with a date 9 months agos, it will just last 3 months...
<piajesse[m]> so i don't really see that as an issue
<lord|> lol, I published an ipns address a while ago, I forgot to set --lifetime so I guess it expired 24 hours after publishing it
<lord|> wonder if that means other nodes will wait a really long time to timeout and use the outdated signature
<lord|> meh doesn't matter, I don't publish anything on my website
<lord|> other than the north korean flag with the FCC symbol in the middle
<piajesse[m]> so if you set it with a lifetime with 1 week, and you have to change data in it 2 hours later, what happens?
nhh^ has quit []
<lord|> piajesse: I assume other nodes will stop searching as soon as they see the first non-expired record
<lord|> or else the ipfs daemon would hang every time you resolve an address
hph^ has joined #ipfs
<djdv> I vaugley remember something about that being configurable but I don't know if that was just discussion
<lord|> which I think is exactly what my ipns hash is doing :)
moet has quit [Ping timeout: 248 seconds]
<piajesse[m]> man, so ipns is kinda slow for changing content...
<lord|> piajesse: I'm sure it depends on how integrated you are with peers
<lord|> and how often you're willing to re-sign it
<lord|> but yeah it's probably not suitable for everything
<piajesse[m]> well I was thinking if you have to change content every couple of minutes, then stop for 15 hours with the host down
<piajesse[m]> how reliable would it be, lol
<djdv> look forward to this
<lord|> piajesse: yeah, don't do that
<lord|> maybe it's possible using pubsub
<lord|> but it would still kinda suck I imagine
<piajesse[m]> well a little delay is ok, but I was hoping to set up something that would actually work cross world xD
<djdv> I know of Orbit for chat over IPFS and the people doing the Rust port had something too
pcardune has joined #ipfs
<djdv> exciting stuff
<djdv> there's some Rust libp2p stuff, I don't know if there's a full daemon being worked on right now
<lord|> ah yeah
<lord|> good thing go is pretty much perfect for ipfs though
<lord|> I would like to see the work on rust-ipfs-api be a little accelerated though
<lord|> that should be a pretty easy task, getting all of the ipfs API functions into a rust lib
<piajesse[m]> what exactly is rust?
<djdv> I'm off to bed
<piajesse[m]> besides iron-oxide xD
pcardune has quit [Ping timeout: 240 seconds]
<lord|> piajesse: it is a type of fungus that is robust, distributed, and parallel
<lord|> it is also a programming language that is really good for writing parallel code
<lord|> would definitely recommend checking it out, maybe learning a bit
<lord|> it's got some pretty unique ideas about making low-level programming safer and easier to deal with than using C/C++ and getting random segfaults every 5 seconds
<piajesse[m]> well with a dapp I'm making, I was thinking c++, or python, or even java. then someone suggested go, and I like that idea of that, but rust might be a good idea too xD
<lord|> yeah rust might be a cool option
<lord|> it's probably the fastest growing lang at this point
<lord|> so you'll encounter some hype-hiccups
<lord|> but it's also maturing quite fast
<piajesse[m]> or run as source like python
<lord|> it is compiled
<lord|> and uses LLVM so gets a handful of clang's optimizations out of the box
<lord|> and unlike Go, it has no GC
<piajesse[m]> gc?
<lord|> garbage collection
<lord|> it infers types, does a pretty good job at inferring lifetimes (when stuff is deallocated), and has some cool high level language stuff
<piajesse[m]> i mean have you seen how much java takes in memory 🙄
<lord|> also has what OOP should have been :)
<lord|> of course,
<piajesse[m]> does open build service support rust?
<lord|> incremental compilation just got finalized into rust so that is improving re-compiling `debug` builds
<piajesse[m]> because if so, i don't care xD
<lord|> is that an opensuse thing
raynold has joined #ipfs
<lord|> cause it looks like opensuse is already distributing rust software https://build.opensuse.org/package/show/Base:System/exa
<lord|> what is it like in opensuse land anyways
<lord|> haven't touches SUSE in forever
<lord|> touched*
<piajesse[m]> yeah I don't really like thier disto that much, but I do like some of thier ideas and other things, like OBS
lnostdal has quit [Ping timeout: 256 seconds]
lnostdal has joined #ipfs
<lord|> also for anyone reading these logs in the future and just did what I did (recursively walk something with insanely huge directories, and make thousands of requests in parallel)
<lord|> don't do that
<lord|> will eat your memory
lnostdal has quit [Max SendQ exceeded]
lnostdal has joined #ipfs
<lord|> I'm sure Go can handle it if you have enough RAM though
<lord|> lol
user51 has quit [Ping timeout: 256 seconds]
ericxtang has joined #ipfs
eddb has quit [Quit: exit]
eddb has joined #ipfs
reit has joined #ipfs
eddb has quit [Quit: exit]
eddb has joined #ipfs
ericxtang has quit [Ping timeout: 248 seconds]
Chowie has quit [Ping timeout: 260 seconds]
grvhi_ has joined #ipfs
grvhi has quit [Ping timeout: 248 seconds]
<bwerthmann[m]> Put all the work in goroutines and have a work queue
<lord|> bwerthmann: I'm working from a process connecting to the ipfs daemon
Oatmeal has quit [Quit: Suzie says, "TTFNs!"]
<lord|> which is in node.js
rendar has joined #ipfs
ericxtang has joined #ipfs
Adbray has quit [Disconnected by services]
Adbray_ has joined #ipfs
lnostdal has quit [Ping timeout: 260 seconds]
lnostdal has joined #ipfs
lnostdal has quit [Max SendQ exceeded]
lnostdal has joined #ipfs
ericxtang has quit [Ping timeout: 268 seconds]
Oatmeal has joined #ipfs
sim590 has quit [Ping timeout: 256 seconds]
sim590 has joined #ipfs
vyzo has quit [Ping timeout: 276 seconds]
vyzo has joined #ipfs
smuten has quit [Ping timeout: 260 seconds]
ericxtang has joined #ipfs
pcardune has joined #ipfs
pcardune has quit [Ping timeout: 248 seconds]
<bwerthmann[m]> Oh.
<bwerthmann[m]> JS is the work of the devil
<bwerthmann[m]> :)
border0464 has quit [Ping timeout: 248 seconds]
<lord|> bwerthmann: well, it works perfectly well for a small command line utility to generate a list of files in an ipfs directory
<lord|> as 99.99% of the time is spent on waiting for IO
elevated has quit [Quit: bye]
elevated has joined #ipfs
toxync01 has quit [Ping timeout: 264 seconds]
ericxtang has quit [Ping timeout: 268 seconds]
toxync01 has joined #ipfs
sebastianheinig[ has joined #ipfs
Oatmeal has quit [Ping timeout: 240 seconds]
<kivutar> sounds more like a task for golang
<kivutar> ah, I didn't read the backlog xD
ericxtang has joined #ipfs
clemo has joined #ipfs
ericxtang has quit [Ping timeout: 256 seconds]
<piajesse[m]> does anyone have a diagram for how ipns actually works?
<piajesse[m]> the white paper didn't really cover it that well
Oatmeal has joined #ipfs
smuten has joined #ipfs
geoah has joined #ipfs
ylp has joined #ipfs
ylp has quit [Client Quit]
mildred has quit [Quit: mildred]
ilyaigpetrov has joined #ipfs
ericxtang has joined #ipfs
jojeyh has left #ipfs ["Ex-Chat"]
moet has joined #ipfs
moet has quit [Ping timeout: 256 seconds]
rektide has quit [Ping timeout: 240 seconds]
dyskon[m] has joined #ipfs
nicu has joined #ipfs
tpircs has joined #ipfs
smuten has quit [Ping timeout: 268 seconds]
ericxtang has quit [Ping timeout: 256 seconds]
anewuser has quit [Ping timeout: 260 seconds]
elevated has quit [Quit: bye]
elevated has joined #ipfs
ericxtang has joined #ipfs
vyzo has quit [Ping timeout: 276 seconds]
vyzo has joined #ipfs
lnostdal has quit [Ping timeout: 248 seconds]
lnostdal has joined #ipfs
newhouse has joined #ipfs
pcardune has joined #ipfs
risciii has joined #ipfs
pcardune has quit [Ping timeout: 255 seconds]
arnau[m] has joined #ipfs
ericxtang has quit [Ping timeout: 268 seconds]
geoah has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
c_dub_ has joined #ipfs
jonnj has joined #ipfs
tombusby has quit [Remote host closed the connection]
tombusby has joined #ipfs
ericxtang has joined #ipfs
rj0ta[m] has joined #ipfs
textile[m] has joined #ipfs
lnostdal has quit [Ping timeout: 240 seconds]
gmcabrita has joined #ipfs
smuten has joined #ipfs
newhouse has quit [Read error: Connection reset by peer]
lnostdal has joined #ipfs
chjk6x has joined #ipfs
kaotisk has quit [Quit: ZNC 1.6.6 - http://znc.in]
Chowie has joined #ipfs
kaotisk has joined #ipfs
injuriousness has joined #ipfs
ericxtang has quit [Ping timeout: 264 seconds]
DJ-AN0N has joined #ipfs
kaotisk has quit [Quit: ZNC 1.6.6 - http://znc.in]
skywavesurfer_ has joined #ipfs
kaotisk has joined #ipfs
border0464 has joined #ipfs
skywavesurfer has quit [Ping timeout: 256 seconds]
grvhi has joined #ipfs
grvhi_ has quit [Ping timeout: 276 seconds]
dimitarvp has joined #ipfs
espadrine has quit [Ping timeout: 256 seconds]
tpircs has quit [Quit: My iMac has gone to sleep. ZZZzzz…]
Encrypt has joined #ipfs
elevated has quit [Quit: bye]
elevated has joined #ipfs
c_dub_ has quit [Ping timeout: 256 seconds]
}ls{ has joined #ipfs
toxync01- has joined #ipfs
toxync01- is now known as toxync01_
Chowie has quit [Remote host closed the connection]
Chowie has joined #ipfs
toxync01 has quit [Ping timeout: 264 seconds]
toxync01_ is now known as toxync01
bitspill_ has quit []
bitspill has joined #ipfs
infinity0 has quit [Remote host closed the connection]
Chowie has quit [Remote host closed the connection]
Chowie has joined #ipfs
Chowie has quit [Read error: Connection reset by peer]
Chowie has joined #ipfs
injuriousness has quit [Remote host closed the connection]
chjk6x has quit [Remote host closed the connection]
chjk6x has joined #ipfs
espadrine has joined #ipfs
rngkll_ has joined #ipfs
rngkll_ has quit [Remote host closed the connection]
chjk6x has quit [Ping timeout: 264 seconds]
hph^ has quit [Ping timeout: 256 seconds]
Chowie has quit [Ping timeout: 240 seconds]
chjk6x has joined #ipfs
pcardune has joined #ipfs
gmcabrita has quit [Quit: Connection closed for inactivity]
c_dub_ has joined #ipfs
hph^ has joined #ipfs
DJ-AN0N has quit [Ping timeout: 260 seconds]
anewuser has joined #ipfs
shizy has joined #ipfs
anewuser has quit [Disconnected by services]
anewuser_ has joined #ipfs
smuten has quit [Ping timeout: 240 seconds]
rngkll_ has joined #ipfs
hph^ has quit [Ping timeout: 260 seconds]
rngkll_ has quit [Ping timeout: 256 seconds]
xavivives[m] has joined #ipfs
pecastro has joined #ipfs
eyewash has joined #ipfs
c_dub_ has quit [Quit: Leaving]
danielc has joined #ipfs
danielc has quit [Client Quit]
<pecastro> Hi all. Is ipfs supposed to be able to run in standalone mode ? e.g. no bootstrap peers ?
<Icefoz> pecastro: It needs at least one bootstrap peer but you can set the bootstrap list to whatever you want.
<Icefoz> It would be interesting to be able to find peers by querying the link-local network, but not always desirable by default.
<Icefoz> So I don't know if that's an option.
<pecastro> Icefoz: I don't think it works very well. I'm starting ipfs with an empty bootstrap list by removing the default peers from the init generated config ...
<pecastro> It hangs and stops responding ...
<Icefoz> Yes, because you need at least one bootstrap peer.
<Icefoz> It asks that peer what other nodes it knows about, then asks those nodes, and so on.
<Icefoz> But it needs to be able to find that first node.
<pecastro> Ah ok. Let me try instantiating another one frmo scratch to see how it fares ...
<pecastro> That means it requires a minimum of two nodes to work then. So the right answer becomes "whatever you want except an empty list and a minimum of one peer" :)
risciii has quit [Ping timeout: 256 seconds]
risciii has joined #ipfs
Chowie has joined #ipfs
chjk6x has quit [Ping timeout: 260 seconds]
shizy has quit [Ping timeout: 268 seconds]
pcardune has quit [Remote host closed the connection]
nicu has quit [Ping timeout: 256 seconds]
hph^ has joined #ipfs
chjk6x has joined #ipfs
pcardune has joined #ipfs
Encrypt has quit [Quit: Quit]
pcardune has quit [Ping timeout: 264 seconds]
Fessus_ has quit [Quit: Leaving]
raynold has quit [Quit: Connection closed for inactivity]
anewuser_ has quit [Quit: anewuser_]
moet has joined #ipfs
<lord|> what's a good filesystem for the ipfs directory?
pcardune has joined #ipfs
<lord|> it seems the average file size is 9KiB
<lord|> .ipfs/blocks has a crap ton of ~8KiB files, .ipfs/datastore has a handful of 1.5MiB files
<lord|> heard mixed things about XFS
rngkll_ has joined #ipfs
smuten has joined #ipfs
rngkll_ has quit [Ping timeout: 260 seconds]
ToxicFrog has joined #ipfs
<ToxicFrog> When an object that doesn
<ToxicFrog> When an object that doesn't exist is requested, how do I get the gateway to return a 404 or similar rather than very slowly timing out?
<ToxicFrog> I'm running a private swarm (which currently only has one node), so it should know more or less instantly whether it has the object or not.
<lord|> ToxicFrog: probably some way to adjust the timeout
smuten__ has joined #ipfs
<ToxicFrog> lord|: my point is I don't want it to time out; I want it to definitively report that it doesn't have the object.
<lord|> I don't think that's possible
<lord|> don't think there's anything in ipfs that will allow it to know if it has contacted every single peer
<lord|> or at least, every peer out of a list of peers
ebarch has quit [Quit: Ping timeout (120 seconds)]
lvlinux has quit [Ping timeout: 264 seconds]
ebarch has joined #ipfs
<pjz> You can probably set the timeout really low
<lord|> yeah if you can reasonably assume ipfs will have scanned your network's entire dht
smuten_ has quit [Ping timeout: 264 seconds]
bauruine has quit [Ping timeout: 264 seconds]
<lord|> within a certain time
<lord|> dunno what option that is or if it even exists though
eyewash has quit [Ping timeout: 264 seconds]
lvlinux has joined #ipfs
wmoh1 has quit [Ping timeout: 276 seconds]
<ToxicFrog> lord|: even if it's in private network mode and the bootstrap list is empty?
Aphroditeum has joined #ipfs
<lord|> yeah ipfs just doesn't have such an optimization
<lord|> you'd have to go digging through the source code to implement it yourself
<lord|> most of the time you're connected to an uncountable number of peers so it's reasonable to assume you'll never search everywhere
<ToxicFrog> Aah
<pjz> directly connected to a handful or a few hundred. indirectly to some much larger number.
<lord|> ^
bauruine has joined #ipfs
geoah has joined #ipfs
lupine has quit [Ping timeout: 240 seconds]
<ToxicFrog> Makes sense.
ygrek has joined #ipfs
lupine has joined #ipfs
chjk6x has quit [Ping timeout: 240 seconds]
adgtl has quit [Quit: bye]
wmoh1 has joined #ipfs
chjk6x has joined #ipfs
lupine has quit [Ping timeout: 255 seconds]
adgtl has joined #ipfs
adgtl has quit [Changing host]
adgtl has joined #ipfs
adgtl has joined #ipfs
rendar has quit []
Caterpillar has joined #ipfs
ygrek has quit [Ping timeout: 268 seconds]
Caterpillar has quit [Quit: You were not made to live as brutes, but to follow virtue and knowledge.]
lupine has joined #ipfs
Aphroditeum has quit [K-Lined]
Chowie has quit [Remote host closed the connection]
mildred has joined #ipfs
elevated has quit [Quit: bye]
elevated has joined #ipfs
<lgierth> lord|: about the filesystem question, we've had good experiences with btrfs -- one way or the other use something that doesn't track inodes
lupine has quit [Ping timeout: 260 seconds]
shizy has joined #ipfs
lupine has joined #ipfs
smuten has quit [Ping timeout: 260 seconds]
colatkinson has joined #ipfs
rngkll_ has joined #ipfs
rngkll_ has quit [Ping timeout: 240 seconds]
Encrypt has joined #ipfs
colatkinson has quit [Ping timeout: 255 seconds]
rmilve[m] has joined #ipfs
lnostdal has quit [Ping timeout: 264 seconds]
lnostdal has joined #ipfs
mildred has quit [Quit: mildred]
mildred has joined #ipfs
mildred has quit [Client Quit]
mildred has joined #ipfs
hph^ has quit [Ping timeout: 256 seconds]
pcardune has quit [Remote host closed the connection]
colatkinson has joined #ipfs
Caterpillar has joined #ipfs
ilyaigpetrov has quit [Quit: Connection closed for inactivity]
pcardune has joined #ipfs
moet has quit [Ping timeout: 240 seconds]
facia has joined #ipfs
pcardune has quit [Ping timeout: 264 seconds]
facia has left #ipfs [#ipfs]
facia has joined #ipfs
shakalaka has quit [Ping timeout: 268 seconds]
mildred has quit [Quit: mildred]
mildred has joined #ipfs
mildred has quit [Client Quit]
mildred has joined #ipfs
adgtl has quit [Quit: bye]
pcardune has joined #ipfs
colatkinson has quit [Quit: colatkinson]
<ToxicFrog> Hmm.
<ToxicFrog> I'm trying to `ipfs add -r` a small (50MB, 300 files) directory.
Ecran has joined #ipfs
<ToxicFrog> It gets a few MB in and then dies with "use of closed connection".
<ToxicFrog> I found a bug about this, but it seems to be about ipfs not properly reporting permission errors, which is definitely not the case here.
pcardune has quit [Ping timeout: 248 seconds]
smuten has joined #ipfs
jkrone has joined #ipfs
geoah has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
fariba[m] has joined #ipfs
ashark has joined #ipfs
chjk6x has quit [Ping timeout: 256 seconds]
<LcSmith[m]> Anybody know how to switch myself to online? I've been offline since I got riot.im and I have no idea how to switch it to online...
santamanno has joined #ipfs
fredthomsen1 has joined #ipfs
adgtl has joined #ipfs
adgtl has quit [Changing host]
adgtl has joined #ipfs
adgtl has joined #ipfs
daMaestro has joined #ipfs
fredthomsen1 has quit [Quit: Leaving.]
nicu has joined #ipfs
aef7esahm3[m] has joined #ipfs
smuten has quit [Ping timeout: 260 seconds]
Encrypt has quit [Quit: Quit]
elevated has quit [Quit: bye]
elevated has joined #ipfs
elevated_ has joined #ipfs
raynold has joined #ipfs
shizy has quit [Ping timeout: 255 seconds]
elevated has quit [Ping timeout: 260 seconds]
elevated_ is now known as elevated
chjk6x has joined #ipfs
pcardune has joined #ipfs
ashark has quit [Ping timeout: 268 seconds]
pcardune has quit [Ping timeout: 256 seconds]
Mateon1 has quit [Ping timeout: 248 seconds]
Mateon1 has joined #ipfs
rngkll_ has joined #ipfs
ashark has joined #ipfs
archagon has joined #ipfs
archagon_ has joined #ipfs
rngkll_ has quit [Ping timeout: 248 seconds]
<archagon_> Howdy! I published a long article on an interesting new type of CRDT a few days ago — anyone interested in taking a look? http://archagon.net/blog/2018/03/24/data-laced-with-history/
<archagon_> Very interested in applying this new-found knowledge to decentralized pursuits...
ashark has quit [Ping timeout: 264 seconds]
<LcSmith[m]> Just to help my small brain- what does crdt stand for?
archagon has quit [Ping timeout: 260 seconds]
archagon_ is now known as archagon
<archagon> Conflict-free replicated data types: special data structures that can automatically merge with any of their revisions.
<archagon> It’s a strong eventual consistency scheme. The other approach is called operational transformation (and it’s what Google Docs uses, to a degree) but it has a lot of problems and high complexity.
clemo has quit [Ping timeout: 248 seconds]
<LcSmith[m]> Sounds cool, I'll take a look
pcardune has joined #ipfs
archagon has left #ipfs [#ipfs]
archagon has joined #ipfs
pcardune has quit [Ping timeout: 256 seconds]
<Kythyria[m]> I've never quite understood any of this stuff, which is a shame because the applications are so interesting.
<LcSmith[m]> Yea, I don't understand it either, but I read the first paragraph or this article and I'm already interested lol
<archagon> I spent way too many months trying to get my head around this stuff, epsecially not knowing a thing about distributed systems at the start… but I think it was really worth it, because now I have a powerful tool in my programmer’s toolbox to help network my future apps in a very robust way.
<Kythyria[m]> Managing it with dumb servers is interesting too.
<Kythyria[m]> I'm interested in two cases:1) the server understands message
<Kythyria[m]> gah
<Kythyria[m]> 1. the server understands just enough to do history with everyone seeing the same order
<Kythyria[m]> 2. the server can do history with everyone seeing *roughly* the same order, but only roughly.
<LcSmith[m]> 2*
<LcSmith[m]> Sorry
joocain2 has quit [Remote host closed the connection]
joocain2 has joined #ipfs
dimitarvp` has joined #ipfs
dimitarvp has quit [Ping timeout: 260 seconds]
<Kythyria[m]> It's a nasty problem, such as dealing with tombstones.
<Kythyria[m]> How do you determine what can be collected when you never have a quorum.
jkrone has quit [Read error: Connection reset by peer]
ansuz has quit [Ping timeout: 240 seconds]
pcardune has joined #ipfs
pcardune has quit [Ping timeout: 256 seconds]
<LcSmith[m]> This article is really really interesting archagon
<archagon> Thanks! I hope it makes sense.
<lgierth> nice article, i'll hand it on
<lgierth> archagon: are you aware of the crdt work and db work on ipfs?
<archagon> Yes, although I need to refresh my memory. I definitely looked into it a few months ago.
<lgierth> and i think orbit also has cdrt pieces https://github.com/orbitdb
<LcSmith[m]> I sorta understand it, but as I said earlier, I'm pretty much new to all of this stuff so it's giving me a better understanding
<archagon> Yeah, I definitely remember PeerPad from when it showed up on HN.
mildred has quit [Read error: Connection reset by peer]
dimitarvp` has quit [Quit: Bye]
mildred has joined #ipfs
mildred has quit [Remote host closed the connection]
Taoki has quit [Read error: Connection reset by peer]
mildred has joined #ipfs
geoah has joined #ipfs
Taoki has joined #ipfs
pcardune has joined #ipfs
colatkinson has joined #ipfs
pcardune has quit [Ping timeout: 256 seconds]
colatkinson has quit [Ping timeout: 248 seconds]
colatkinson has joined #ipfs
Ecran has quit [Quit: Going offline, see ya! (www.adiirc.com)]
Taoki has quit [Read error: Connection reset by peer]
mildred has quit [Quit: mildred]
<ToxicFrog> How long is `ipfs name publish` expected to take? I figured it would be more or less instant.
border0464 has quit [Ping timeout: 260 seconds]
border0464 has joined #ipfs
<lgierth> ToxicFrog: it connects to a bunch of nodes in the network (based on your and their peerID) and writes ipns entries to them
<lgierth> so it can take a few seconds
<lgierth> but not toooo long
<ToxicFrog> lgierth: in this case there is only one node, it's a private swarm
<ToxicFrog> And it took about 40 seconds
<piajesse[m]> oh so ipns isn't just stored on the host that added it?
<ToxicFrog> Maybe it just had to page something in from disk first, this machine has really slow disks -- I'll see if subsequent publishes are any faster.
<piajesse[m]> cool 😀
pcardune has joined #ipfs
<piajesse[m]> how big was the file
<lgierth> ToxicFrog: well it tries to find more nodes to connect to i guess :)
<piajesse[m]> wait nevermind, thats for adding it to the network, not adding it to dns
<piajesse[m]> ipfs*
<piajesse[m]> ipns*
<piajesse[m]> lol
<lgierth> but admittedly it should probably be smart and at some point decide there's nowhere else to look
<ToxicFrog> lgierth: yeah, that sounds like a bug.
<ToxicFrog> In other wierdness: ipfs add -r -Q --progress works fine except that it doesn't display a total size, just ?
<ToxicFrog> Drop the -Q and I get total size along with all the other output not having -Q implies.
Taoki has joined #ipfs
<LcSmith[m]> Weird
<lgierth> could you report that one on the issue tracker too? :) (try go-ipfs master first)
pcardune has quit [Ping timeout: 240 seconds]
<ToxicFrog> lgierth: switching to master is going to be kind of a pain, I'm installing it from the package manager right now
<ToxicFrog> But if I do get around to that I will be sure to file bugs
<piajesse[m]> is there a way to auto seed files added to an ipns address?
<ToxicFrog> ...what's the longest you can declare an IPNS record for? I just now noticed that they only last 24 hours by default, which is...not at all what I want
<ToxicFrog> piajesse[m]: "seed"?
<LcSmith[m]> He meant send
<LcSmith[m]> I believe
<piajesse[m]> nope I meant seed
<piajesse[m]> seed as in download it, and offer to upload it to anyone that wants it
colatkinson has quit [Quit: colatkinson]
<ToxicFrog> piajesse[m]: isn't that what `ipfs pin` does?
<LcSmith[m]> Ohh. This seems to be the only application that sends me notifications even when I only have mobile data on, I need to figure out why the others don't...
<piajesse[m]> so like if a youtuber (or just a video maker in this case) uploads a new video, you download and add to the upload quota for everyone else
<ToxicFrog> Presumably you can just resolve the ipns name and then `ipfs pin` the object it resolves to.
<piajesse[m]> that does only the files right? not the muteable content?
<lgierth> ToxicFrog: i looked through the commits since the last release, it looks like the `ipfs add` progress thing is probably still in master
<lgierth> the ipns thing definitely is i guess
<ToxicFrog> piajesse[m]: what do you mean?
<piajesse[m]> first off, what does the pin command actually pin, the current files in the ipns hash, or will it keep an eye on the ipns content, and download the new content if it changes?
santamanno has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
<ToxicFrog> You can't pin IPNS paths, only IPFS paths, which is why I mentioned resolving it first. You will have to periodically re-pin.
<lgierth> piajesse[m]: only the current state -- it won't currently follow changes
<lgierth> ToxicFrog: you can, but the /ipns path will get resolved to its current /ipfs path before pinning
<lgierth> i.e. you can do ipfs pin /ipns/ipfs.io, but that'll only pin the current version
<lgierth> there's an `ipfs name follow` command in the works
<piajesse[m]> alright
<piajesse[m]> so you can tell it to repin ever 15 minutes or so
<piajesse[m]> with crontab, etc...
<lgierth> yep
<piajesse[m]> alright thanks, I have use cases for ipfs that will rely heavily on ipns
colatkinson has joined #ipfs
pcardune has joined #ipfs
MDead has joined #ipfs
pcardune has quit [Remote host closed the connection]
pcardune has joined #ipfs
<ToxicFrog> Is there a way to unpublish something you've done with `ipfs name publish`, or do you just have to wait for it to time out?
<lgierth> publish something else
<lgierth> can be an empty directory
<piajesse[m]> can you only publish one thing?
<lgierth> with your peerID key yes, but you can make more keys with `ipfs key` and then pass `-k <keyname>` to publish
MDude has quit [Ping timeout: 264 seconds]
<ToxicFrog> Speaking of `ipfs key`, is there a good programmatic way to get the ipns id of a key given the key name?