<ReactorScram>
Hey does IPFS keep bandwidth usage logs somewhere? My server's moving a lot of data and I wonder if it's because I left IPFS turned on
captain_morgan has quit [Ping timeout: 246 seconds]
<ReactorScram>
Someone complained that my Homestar mirror was down so I had to turn it back on
pfraze has joined #ipfs
<ipfsbot>
[go-ipfs] lgierth created prometheus-http (+1 new commit): http://git.io/vcMTF
<ipfsbot>
go-ipfs/prometheus-http dd20f48 Lars Gierth: daemon: instrument the gateway and api HTTP handlers...
captain_morgan has joined #ipfs
<ipfsbot>
[go-ipfs] lgierth opened pull request #1799: daemon: instrument the gateway and api HTTP handlers (master...prometheus-http) http://git.io/vcMkg
amstocker has joined #ipfs
Spinnaker has joined #ipfs
voxelot has quit [Ping timeout: 264 seconds]
coffeecup has joined #ipfs
saltylicorice has joined #ipfs
coffeecup has quit [Quit: leaving]
sstangl has joined #ipfs
<sstangl>
oh wow, this is a much larger channel than I expected to join.
<sonatagreen>
welcome!
lidel has quit [Ping timeout: 264 seconds]
lidel has joined #ipfs
coffeecup has joined #ipfs
saltylicorice has left #ipfs [#ipfs]
<achin>
someone should start tracking the size of #ipfs to the size of the ipfs network :D
<ReactorScram>
Would be neat to estimate how many bytes are stored on IPFS
<sleepycat>
When I run ipfs daemon, I am contributing some amount of my drive space to the DHT... is that right? If that is correct, how do I know/adjust how much?
<achin>
that's not quite right
<achin>
your IPFS node will not automatically download or host anything that you don't explicitly ask for
<achin>
if you download a file (with "ipfs get <hash>"), a copy will be cached on your node
<mappum>
achin: it won't host any content, but it will store DHT records automatically
<achin>
if you add a file ("ipfs add <file>") or pin a file ("ipfs pin <hash>"), the content will be stored on your drive forever (until you un-pin it, and then garbage collect)
<achin>
mappum: good point, yes
devbug has quit [Ping timeout: 268 seconds]
<mappum>
the DHT records make up a minimal amount of storage though, a few megabytes at most
<sleepycat>
achin: so its only the act of getting something that causes me to store something?
<achin>
sleepycat: yes, that's right. or if you add something
<achin>
IPFS puts all of its data in $HOME/.ipfs (by default, i think you can change that location)
Guest73396 has joined #ipfs
<sleepycat>
achin: So the total capacity of the DHT is the sum of all the things added and pinned on all the nodes and increases only by volunteering more drive space via adding and pinning. Is that right?
voxelot_ has joined #ipfs
<achin>
i don't think you mean "capacity", i think you mean "size"? you seem to be describing how to find the total amount of bytes used by all IPFS nodes
technomad has joined #ipfs
<sleepycat>
achin: Yup, good correction.
devbug has joined #ipfs
<mappum>
sleepycat: the DHT only stores records which list the nodes that possess an object, it doesn't actually contain any of the data itself
<mappum>
the actual data only lives on any node that retrieved it, and if they pin it they are choosing to keep it stored and available on their node until they unpin it
<sleepycat>
mappum: OK, so pinning would be conceptually like deciding to seed a torrent after downloading?
<mappum>
exactly
Guest73396_n has joined #ipfs
<mappum>
but additionally, your node might get rid of the data during a GC if it is unpinned, whereas torrent clients don't delete the downloaded files
Guest73396 has quit [Ping timeout: 252 seconds]
<sleepycat>
It seems like it would make a good CDN for static assets if I add and then link via the gateway. Is this mostly what people are doing with this now? How are people using it with existing websites?
<sleepycat>
mappum: OK. This is getting clearer. :)
<mappum>
sleepycat: neocities integrated IPFS: https://neocities.org/permanent-web. they run their own nodes/gateways to seed their content, but it can also be accessed through any other ipfs nodes
achin has quit [Ping timeout: 250 seconds]
* zignig
reads techcrunch
* zignig
notices that it is on the frontpages of ycombinator
amstocker_ has joined #ipfs
<sonatagreen>
if i want to use git with ipfs, how smart will it be about using old hashes in newer version history?
<sonatagreen>
like, if i update from A->B to A->B->C (i.e., push C) will it reuse the existing A and B?
amstocker has quit [Ping timeout: 244 seconds]
amstocker_ has quit [Ping timeout: 255 seconds]
voxelot_ has quit [Ping timeout: 240 seconds]
achin has joined #ipfs
<M-davidar>
sonatagreen (IRC): unmodified files will have the same hash
<sonatagreen>
yes but i mean
<M-davidar>
Dealing with modifications would probably require a smarter chunker
<sonatagreen>
if i want to push the /repository/
<sonatagreen>
i.e. upload the entire history to ipfs
<sonatagreen>
then when i later upload a newer version of the entire history with more commits in it, will it reuse the old one as far as it goes
<M-davidar>
So long as you haven't repacked the objects in .git, I would think so
<sonatagreen>
ok, nice
<jbenet>
as usual, thanks to everyone for holding down the fort and answering questions for new-comers here! :)
<multivac>
[WIKIPEDIA] NSA | "The National Security Agency (NSA) is an intelligence organization of the United States government, responsible for global monitoring, collection, and processing of information and data for foreign intelligence and counterintelligence purposes – a discipline known as signals intelligence (SIGINT). NSA..."
<yuvipanda>
how would I go about it
<yuvipanda>
there would be no search...
<yuvipanda>
a single 'catalog' page maybe?
<yuvipanda>
will be pretty big
ygrek has joined #ipfs
<yuvipanda>
maybe you hash the title and look it up
<jbenet>
hey newlog -- about to head out, but basically, we chose Go because it's really good for networking and cli tools. it's not fantastic, but way better than c/c++ for a large codebase with lots of different contributors and various levels of experience. Go makes code look very uniform, and it's really good property. there's other wins, too. And yes, rust was
<jbenet>
not ready yet. Go seems also a way easier language to learn + prototype with. anyway, plan is to have other impls and so on.
<whyrusleeping>
rust wouldnt have been a good language
<jbenet>
once we clean up ipfs and make a separate libp2p too, much of the ipfs core could be implemented relatively quickly.
<whyrusleeping>
in my experience it doesnt make it easy to develop quickly
<locusf>
heheh
<newlog>
cool! Thanks for the answer
<locusf>
rust is for making the code not crash horribly (I hope)
<jbenet>
anyway, i'm going to eject out of the languages discussion, and go to sleep.
<newlog>
Makes sense
<jbenet>
o/
<newlog>
hahahaha
<whyrusleeping>
locusf: yeap! (i like rust, it has its purposes)
<jbenet>
(everyone be nice. everyone likes different languages.)
<newlog>
Trolling was not my intention, of course :)
<locusf>
its not for comfort
<jbenet>
newlog i know, i just know language discussions tend to easily devolve into contests.
<davidar>
jbenet: oh cool, didn't realise libp2p was happening for go too
<jbenet>
so i'm trying to avert that
<_fil_znc>
what does it mean? “IPFS also archives important public-record content, and can easily store important, public-record content.”
<jbenet>
anyway, welcome to the channel, hang out, check our repos and enjoy.
<jbenet>
later o/
<ipfsbot>
[go-ipfs] jbenet deleted prometheus-http at dd20f48: http://git.io/vcMr3
<newlog>
how would you start taking a look to the project, guys? Is big and hard to know from where to start (if I had to, however I don't have a lot of time right now)
<newlog>
But I'd like to take a look whenever I have more free time
<whyrusleeping>
jbenet: i wouldnt put too much effort into libp2p until we're actually ready to do the switchover
<whyrusleeping>
maintaining both that and the ipfs net lib would not be fun
<_fil_znc>
@newlog install it and try to create a static website
jhulten_ has quit [Ping timeout: 246 seconds]
<locusf>
https://libraryofbabel.info/ <- idea: transfer the pages from here, let peers do the calculation and extract data from the strings in a page
<newlog>
Also I suspect there's a lot of low level concepts to learn before seriously looking to the code, isn't it? dht, bittorrent, block chain algorithms, etc
<locusf>
basically, just base-2 to the base-29
Bedlamb has quit [Quit: Leaving.]
Bedlamb has joined #ipfs
<ipfsbot>
[go-ipfs] whyrusleeping force-pushed feat/utp from 430b9df to e75c69a: http://git.io/vcXyV
<ipfsbot>
go-ipfs/feat/utp e75c69a Jeromy: refactor creation of dialers and listeners in swarm...
<zignig>
whyrusleeping: go-ipfs-api should have a pull request soon...
<whyrusleeping>
zignig: will i have to look at it upside down?
<zignig>
sorry , yes.
<whyrusleeping>
ah, damn. I just tightened my monitor mount
<whyrusleeping>
gonna make things difficult
<zignig>
i use an upside font to read the rest of the internet.
<whyrusleeping>
mmm, thats smart!
<zignig>
:)
<zignig>
whyrusleeping: is there a way to get an IPNS record as json ?
* sonatagreen
waves vaguely at the api?
<whyrusleeping>
zignig: probably like /api/name/resolve
<whyrusleeping>
or something
<zignig>
ipfs name fetch <nodeid>
<whyrusleeping>
yeah, i'm pretty sure its resolve, lol
<davidar>
zignig (IRC): aw-right buddy, no arguing with Mr Sleeping
<zignig>
whyrusleeping: not what it resolves to , but the record itself.
<zignig>
davidar: Mr Sleeping.
<zignig>
hehe
konubinix has quit [Ping timeout: 252 seconds]
<sonatagreen>
Y. R. U. Sleeping, Esq.
<davidar>
haha
<davidar>
sonatagreen (IRC): what do the initials stand for? :p
<sonatagreen>
Yolanda Roland Uriel
<davidar>
wow, that was an amazingly fast response
* zignig
thinks sonatagreen may be a bot.
<davidar>
whyrusleeping (IRC): i hope you like your new name ;)
akhavr has quit [Quit: akhavr]
<davidar>
botsnack!
rozap has joined #ipfs
<sonatagreen>
om nom nom
<davidar>
sonatagreen (IRC): this sentence is false
<OutBackDingo>
davidar: im hunting version 4 ... :)
Bedlamb has quit [Quit: Leaving.]
Bedlamb has joined #ipfs
<davidar>
OutBackDingo (IRC): I'm still confused :/
* davidar
suspects he's missed a reference somewhere
<OutBackDingo>
davidar: yupp you probably did
<OutBackDingo>
though i can tend to confuse people easily with random thoughts
<zignig>
that's becuase all your ideas are upside down.
<davidar>
zignig (IRC): how dare y--- wait a second...
* davidar
shifty eyes
<OutBackDingo>
zignig: nope your all upside down
<ipfsbot>
[go-ipfs] whyrusleeping force-pushed feat/utp from e75c69a to 7177615: http://git.io/vcXyV
<ipfsbot>
go-ipfs/feat/utp 7177615 Jeromy: refactor creation of dialers and listeners in swarm...
<zignig>
i'm not , I the correct way up like you.
* davidar
though we were all in the same hemisphere...
<davidar>
s/though/thought/
<multivac>
davidar meant to say: thought we were all in the same hemisphere...
mildred has joined #ipfs
<davidar>
anywho
<OutBackDingo>
not unless your all also south of the equator
<davidar>
OutBackDingo (IRC): yup
* zignig
is in Perth.
* OutBackDingo
is in Melbourne
<zignig>
davidar is in denial.
<OutBackDingo>
LOL
* davidar
is in the state without miserable weather ;)
<davidar>
.w the nile
<multivac>
[WIKIPEDIA] Nile | "The Nile (Arabic: النيل, Eg. en-Nīl, Std. an-Nīl; Coptic: ⲫⲓⲁⲣⲱ, P(h)iaro; Ancient Egyptian: Ḥ'pī and Iteru) is a major north-flowing river in northeastern Africa, generally regarded as the longest river in the world. It is 6,853 km (4,258 miles) long. The Nile is an "international" river as its water..." | https://en.wikipedia.org/wiki/Nile
<OutBackDingo>
i was just in Queensland last week
<davidar>
OutBackDingo (IRC): i know, we were talking about it :)
<OutBackDingo>
davidar: yupp yupp
<OutBackDingo>
was nice and warm
<OutBackDingo>
though it has finally broken 30 here in Melbourne just today
<davidar>
spring, the awesomest of seasons
<OutBackDingo>
hah 4 seasons a day down here as they say
Sargun has joined #ipfs
<davidar>
lol
<OutBackDingo>
all the way back down to a high of 18 on wed/thurs
<davidar>
32 31 29 27 26 27 27 28
<davidar>
that's what i like to see :)
<davidar>
.weather
<multivac>
I don't know where you live. Give me a location, like .weather London, or tell me where you live by saying .setlocation London, for example.
<zignig>
davidar: have you thought about putting Machine Learning data into ipfs ?
<OutBackDingo>
hah 33 33 18 22 27
<Sargun>
Hey, I have some basic IPFS questions, I imagine this is the community room. -- I'm curious, if I post a link to gateway.ipfs.io/ipfs/<MYHASH>, will it always download from my node / peer? Or does the gateway mirror it?
<davidar>
OutBackDingo (IRC): lol
<OutBackDingo>
low of 8 overnight tueday
<Sargun>
Where have I seen OutBackDingo before?
<OutBackDingo>
fsck me
<davidar>
zignig (IRC): yeah, definitely :)
<zignig>
Sargun: the gateway mirrors it for a while and then cleans it up.
<OutBackDingo>
Sargun: im everywhere
<Sargun>
OutBackDingo: Riak stuff?
<OutBackDingo>
Sargun: Yupp
<zignig>
Sargun: the gateway will try to get it from any node that has it.
<NeoTeo>
As suggested in the ipfs troubleshooting section I've moved my old .ipfs directory and re inited. Is there a way to get at the data from the old data store to the new one? Some kind of import or transition tool?
<livegnik>
Just wanted to say I love ipfs.pics already. :)
Bedlamb has quit [Quit: Leaving.]
Bedlamb has joined #ipfs
<Sargun>
Is the IPFS.pics "database" centralized?
<davidar>
NeoTeo (IRC): you should be able to copy .ipfs/blocks across
<davidar>
Sargun (IRC): not sure, ipfs.pics is a separate project (but the authors are in here sometimes)
<NeoTeo>
davidar ok, I'll try. Thx.
<NeoTeo>
0.8.3-dev has been acting very strange on me, hence the re-init.
<davidar>
NeoTeo (IRC): please report any bugs you encounter, it's still alpha software :)
<NeoTeo>
Sure thing. The problem is the issues are intermittent so it's hard to reproduce.
<NeoTeo>
davidar are you saying I should copy the whole .ipfs/blocks directory across?
<NeoTeo>
(or rather its contents as I don't want to overwrite the existing one)
<davidar>
NeoTeo (IRC): yes, merge it in with the current directory rather than overwriting
mildred has quit [Quit: Leaving.]
<NeoTeo>
Interesting: never seen this one before: Failed to execute process '/bin/cp'. Reason:
<NeoTeo>
The total size of the argument and environment lists 359kB exceeds the operating system limit of 359kB.
<NeoTeo>
Try running the command again with fewer arguments.
edrex has quit [Ping timeout: 246 seconds]
edrex has joined #ipfs
mildred has joined #ipfs
<NeoTeo>
But anyways, in general it feels like the daemon is running really slowly. pinning takes for ever and the same goes for resolving ipns hashes – instant when the server is off, takes 8-10 seconds with it on.
<Sargun>
Okay, so there are IPFS blocks, and IPFS edges
<Sargun>
What's a multihash?
<Sargun>
Can I ask IPFS, "What's everything that links to multihash X?"
<davidar>
NeoTeo (IRC): are you pinning content already in your cache? ipns still has a lot of work to do
<davidar>
zero-ghost1 (IRC): what problems are you having?
shyamsk has quit [Ping timeout: 246 seconds]
rossjones has joined #ipfs
<zero-ghost1>
in Crunchbang++ (debian 8), i moved the directory to /usr/local/bin/ipfs
<zero-ghost1>
but i cant run the ipfs command normally
<zero-ghost1>
i have to run it from that directory with ./ipfs
<davidar>
zero-ghost1 (IRC): directory?
<zero-ghost1>
is that correct or did i miss something?
<zero-ghost1>
i have to go to /usr/local/bin/ipfs
shyamsk has joined #ipfs
<zero-ghost1>
and run ./ipfs
<davidar>
/usr/local/bin/ipfs shouldn't be a directory, it should be a binary
<zero-ghost1>
ok then i did it wrong
<Sargun>
davidar: Is there a append-only primitive in IPFS?
<davidar>
Sargun (IRC): I'm not exactly sure what you mean?
<davidar>
as in, append to a file without having to download it?
<zero-ghost1>
so now is there some site i can test or something?
<NeoTeo>
davidar not sure I understand your Q. Some pinned content that has been published through my peer id is resolving immediately when the ipfs daemon isn't running but lagging badly when it is running.
<davidar>
NeoTeo (IRC): yeah, there's currently some performance issues with the daemon
<davidar>
for the moment it's easier to kill the daemon while you're doing offline stuff like adding, etc
<NeoTeo>
davidar fair enough :) There's an update due today, no?
<Sargun>
davidar: So, blocks are immutable. Sets of links are immutable. And IPNS allows for total mutability.
Bedlamb has quit [Quit: Leaving.]
<Sargun>
davidar: An interesting intermediate possibility would be the addition of an append-only primitive
Bedlamb has joined #ipfs
zero-ghost1 has left #ipfs [#ipfs]
<davidar>
NeoTeo (IRC): yeah, and whyrusleeping has promised me he'll look into some of the performance issues after this release is out the door :)
<Sargun>
davidar: Is whyrusleeping the lead on IPFS?
zero-ghost1 has joined #ipfs
<davidar>
Sargun (IRC): i still don't understand what you're asking for, you can't restrict people to only appending to a file, and if all you want to do is append to a file, you can do that with ipns
<davidar>
Sargun (IRC): jbenet is the lead, whyrusleeping does a lot (most?) of the coding for go-ipfs though
<Sargun>
davidar: But, with IPNS you can take a peer address and totally change what's underneath it
<Sargun>
davidar: Like, does IPFS have the idea of a grow-only set?
<NeoTeo>
davidar cool. I take it this release's focus was ipns, but not performance as such.
<davidar>
NeoTeo (IRC): i believe the focus for this release was udt and mfs, as well as some minor ipns improvements
<davidar>
i believe more ipns improvements are in the pipeline though
<davidar>
Sargun (IRC): you can only change your own ipns
<zero-ghost1>
how can i start the daemon headless?
<zero-ghost1>
just wanna add another voice ;-P i2p is king
<davidar>
zero-ghost1 (IRC): ipfs over tor is already being worked on
<torpor>
davidar: thanks forthat, very useful
<NeoTeo>
Well, if you look at the ipfs github there are node-ipfs-api, python-ipfs-api and java-ipfs-api. I'd like to add a Swift one.
<torpor>
ok
<davidar>
NeoTeo (IRC): brilliant, announce it on that thread when you do :)
<torpor>
i'll do lua
<NeoTeo>
which thread is that davidar?
<davidar>
torpor (IRC): cool :)
<davidar>
NeoTeo (IRC): the github issue i just linked
<NeoTeo>
davidar Right. Didn't see that.
<zero-ghost1>
does opening any ports for IPFS dramtically help the network at all?
<davidar>
I've started on Haskell bindings, but they're languishing a little atm :/
<davidar>
zero-ghost (IRC): 4001
<davidar>
zero-ghost1 (IRC): ^
<zero-ghost1>
it helps a lot or it must be open?
<davidar>
zero-ghost1 (IRC): helps, but not mandatory
<NeoTeo>
That's why I don't want to formally announce anything until I'm getting there - life gets in the way.
<zero-ghost1>
if i just open 4001 and let the daemon sit am i actually helping the network i any meaningful way?
<davidar>
NeoTeo (IRC): yeah
erikj_ is now known as erikj
erikj has quit [Changing host]
erikj has joined #ipfs
<davidar>
zero-ghost1 (IRC): yes, without the port open people behind a nat can't connect to you
<zero-ghost1>
but i mean if i'm not hosting a site and don't configure any storage what is my node doing for the network? just routing?
erikj has quit [Quit: kfonx]
erikj has joined #ipfs
erikj has quit [Changing host]
erikj has joined #ipfs
<davidar>
zero-ghost1 (IRC): if you're not hosting anything, it's probably not helping too much atm, later on nodes will be able to help with routing
<zero-ghost1>
ah ok
slothbag has joined #ipfs
<zero-ghost1>
i get '404 page not found' when going to 127.0.0.1:8080, isnt that supposed to be the web interface?
<shyamsk>
"even if a file is moved, as long as there's at least one computer on the Internet that has it on IPFS, it's never going to get lost." So essentially nothing can be deleted? So redundant data can exist? or would the DAG automatically remove it if its not needed? Also would I be able to decide that I wanted a pervious version of the site? Say I wanted to see a site's version from two weeks back. Possible?
<shyamsk>
since it said its sorta like Git, I presume that there would be some cleaning up at some point. Deleting the old redundant data and what not. No?
<NeoTeo>
zero-ghost1 the port is 5001 for the webui
r1k0 has joined #ipfs
Bedlamb has quit [Quit: Leaving.]
Bedlamb has joined #ipfs
ilyaigpetrov has joined #ipfs
<davidar>
shyamsk (IRC): that's what permanent means :). ipfs deduplicates data. see `ipfs repo gc --help`. yes, so long as someone is still hosting the old version (e.g. archive.org )
SDr has joined #ipfs
<SDr>
hello beautiful persons
<SDr>
are there any ways to crawl existing content of ipfs?
<DavidBurela>
you saying you want to Swiftify IPFS or the IPFS API bindings?
<Sargun>
davidar: Commented on it. Hopefully people tell me things.
<DavidBurela>
I've been trying to find a way to get IPFS embedded in .Net apps. But can't think of a way to do it. (API bindings is easy)
<davidar>
Sargun (IRC): thanks, will take a look
legobanana has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
Bedlamb has quit [Quit: Leaving.]
<davidar>
Sargun (IRC): replied :)
Bedlamb has joined #ipfs
<shyamsk>
davidar: so how do secure sites work? those parts wont get cached right (maybe JS and CSS alone get cached)? since another person in the local network won't access my account
<davidar>
shyamsk (IRC): ipfs doesn't automatically cache websites, you have to add the content to ipfs first
<davidar>
shyamsk (IRC): the same way bittorrent doesn't cache websites you visit, only files you download over bittorrent
<ilyaigpetrov>
What is the state of naming for mutable state? Is it in the roadmap, paper sketch or already implemented?
<ilyaigpetrov>
agh, I should read the spec more carefully, there is something on it.
<Sargun>
Any harm to setting GOMAXPROCS > 1?
bedeho has quit [Ping timeout: 260 seconds]
<davidar>
ilyaigpetrov (IRC): see `ipfs files --help` on a recent build (only just landed in the last few days)
<davidar>
ilyaigpetrov (IRC): also ipns more generally
<davidar>
Sargun (IRC): not sure, I guess you can try and see what breaks :/
* davidar
bbiab
ei-slackbot-ipfs has quit [Remote host closed the connection]
ei-slackbot-ipfs has joined #ipfs
torpor has quit [Quit: Leaving.]
Bedlamb has quit [Quit: Leaving.]
Bedlamb has joined #ipfs
<shyamsk>
davidar: uhm... guess I don't really understand how IPFS would work in a non-static application
voxelot_ has joined #ipfs
krl has joined #ipfs
torpor has joined #ipfs
Guest73396 has quit [Ping timeout: 255 seconds]
legobanana has joined #ipfs
akhavr has quit [Ping timeout: 252 seconds]
<shyamsk>
davidar: so say I have a Java application (front-end and back-end in one jar) I would have to separate this out into a REST API jar that I would deploy somewhere and then add the static files (UI side) to IPFS to have that part cached. Am I understanding this correctly?
voxelot_ has quit [Ping timeout: 244 seconds]
akhavr has joined #ipfs
<ilyaigpetrov>
davidar: this one: `ipfs file - Interact with ipfs objects representing Unix filesystems` ?
<DavidBurela>
Question: What is the purpose of having a Swift/iOS app that calls the IPFS API? IPFS would need to be running on another machine (in local network?), and by default CORS wouldn't let the iOS app call it. Is there a part of this that I'm missing? (I'm asking because I had the same thought of calling the API from a phone and realised it would have that issue)
Bedlamb has quit [Quit: Leaving.]
Bedlamb has joined #ipfs
<davidar>
ilyaigpetrov (IRC): yeah, should include mutable fs now too
<davidar>
shyamsk (IRC): centralised backends aren't recommended with ipfs, most of the logic should be pushed into the client
<davidar>
DavidBurela (IRC): I think there will be mobile ipfs nodes at some point, but still a while off
<davidar>
DavidBurela (IRC): the public gateways will soon have writeable API endpoints too
r04r has joined #ipfs
<ion>
That sounds scary.
goregrind has joined #ipfs
mildred has quit [Ping timeout: 265 seconds]
torpor has quit [Quit: Leaving.]
<davidar>
@freenode_ion:matrix.org: with API tokens, and rate limits, etc. Ask jbenet about it
nikor has joined #ipfs
Bedlamb has quit [Quit: Leaving.]
Bedlamb has joined #ipfs
Spinnaker has joined #ipfs
slothbag has quit [Quit: Leaving.]
hellertime has joined #ipfs
mildred has joined #ipfs
<ion>
Ah
<achin>
davidar's client does the weirdest nick tabcompletions :P
<clever>
ive never seen a client do it like that
* DavidBurela
just discovered tab autocomplete from this convo v_v;;
<DavidBurela>
and here I was typing the names out manually like an animal
<clever>
ive had people call me cleaver, even in text chat
<davidar>
achin (IRC): ;)
<clever>
the spelling is right there infront of you, how can you get things mixed up?
<ion>
&local_universe:local_group:milky_way:sol:earth:achin: Huh, I don't see anything weird.
<shyamsk>
davidar: uhm... so say its an application that shows recommendations based on your Youtube watching habits. So how would one push that logic into the client? Wouldn't the client (assuming JS and HTML) become heavy?
<achin>
how do you know that i'm actually on earth, hmm??
<clever>
achin: response times are a pretty big hint
<achin>
damnit. busted by the speed of light!
<davidar>
shyamsk (IRC): yes, fortunately that's less of an issue now than it used to be
<davidar>
shyamsk (IRC): but it's also possible to have a more hybrid system if necessary
<ion>
100 s • 3e8 m/s / 2 = 1.5e10 m. What's within that distance?
<davidar>
It just kind of defeats the point of ipfs
<shyamsk>
davidar: I don't understand. Less of an issue?
<davidar>
@freenode_ion:matrix.org: iss, probably
<davidar>
shyamsk (IRC): heavy clients
croqaz has joined #ipfs
<davidar>
Browsers cope with them better now
<shyamsk>
ah... but it (hybrid system) would be required if there is something like pentabytes of data requiring processing.
kdlv has joined #ipfs
<davidar>
shyamsk (IRC): yeah, that's an interesting issue in itself
<davidar>
shyamsk (IRC): does the entire dataset need to be processed at once, or only a small piece at a time?
<croqaz>
hi all, sorry to bother. I am to ask just a few questions, if someone can answer
<ion>
That seems to be roughly a tenth of the distance to the sun. So achin must be within that takes.
<achin>
ion: the moon is only ~4e8 meters away!
<davidar>
achin (IRC): aha, secret moon base!
* zignig
has two sleeping mini humans
<croqaz>
hei, so I'm working on some software, something about distributed public documents;
<croqaz>
so I would need some domains, each domain would be a IPFS folder
<davidar>
zignig (IRC): homunculi?
<croqaz>
so i would want to access them at a static link like /ipns/whatever1
<zignig>
.w homunculi
<multivac>
[WIKIPEDIA] Homunculus | "A homunculus (Latin for "little man", plural: "homunculi"; from the masculine diminutive form of homo, "man") is a representation of a small human being. Popularized in sixteenth century alchemy and nineteenth century fiction, it has historically referred to the creation of a miniature, fully formed..." | https://en.wikipedia.org/wiki/Homunculus
<croqaz>
/ipns/whatever2, etc
<zignig>
croqaz: how many docs ?
<zignig>
davidar: yes. 2, 1 of each.
<croqaz>
yeah, the /ipns/whatever1, 2, 3, that part might have 1000+ names
<croqaz>
each, forwarding to the latest version of a specific folder
<croqaz>
the documents, 10-100 documents in each folder - HTML files mostly
<shyamsk>
davidar: its all hypothetical. it may require processing of say a stream of data. Sensor data, tweets what ever. I was just wondering where it would fit in this IoT/BigData world
<shyamsk>
davidar: I'll read through that
<zignig>
croqaz: the latest version thing can be done but the naming is still being worked on
<croqaz>
yes, i know that IPNS names look just like the IPFS hashes ... ugly ...
<zignig>
croqaz: it's the only way to do it.
<davidar>
zignig (IRC): :)
<davidar>
croqaz (IRC): you can also use DNS names
<croqaz>
ipfs dns something ?
<croqaz>
or the classic DNS ?
<davidar>
eg ipfs.io/ipns/ipfs.io
* zignig
has though a *.ipfs bridge that runs as a local dns proxy.
<davidar>
Classic DNS currently
clever-bnc has joined #ipfs
<croqaz>
ok, it's allright
<zignig>
croqaz: both , to get a hash you ask for a TXT dns record and a client will forward dns names.
<davidar>
Namecoin and such in the future
<croqaz>
ok, i'll look into that
<clever>
davidar: ive seen a presentation about single bit errors happening in the domain names, the guy bought a bunch of domains with single bit errors, and got an abnormaly high amount of traffic
<zignig>
davidar: _any_ form linear providence. not just block chains.
<croqaz>
zignig: where can i find a roadmap for the IPFS development?
<davidar>
clever (IRC): haha, yeah I saw that too, was pretty cool
<davidar>
But then he let the domains expire :(
<clever>
that kind of thing can cause pretty major problems very easily
<zignig>
croqaz: you are on the road map ( here on IRC ) , github.com/ipfs/ has heaps of stuff on it.
<multivac>
davidar: I last saw jbenet at 2015-10-05 - 05:35:00 in here, saying later o/
<ion>
.seen davidar
<multivac>
ion: I last saw davidar at 2015-10-05 - 13:04:34 in here, saying .seen jbenet
<davidar>
.seen ion
<multivac>
davidar: I last saw ion at 2015-10-05 - 13:07:40 in here, saying .seen davidar
<davidar>
.seen multivac
<multivac>
Sorry, I haven't seen multivac around.
<davidar>
Hehe
<ion>
It's not self-aware yet.
torpor has joined #ipfs
<davidar>
.ask multivac if he's self aware
<multivac>
davidar: I'm here now, you can tell me whatever you want!
<davidar>
@freenode_ion:matrix.org: looks self aware to me ;)
<achin>
ok but seriously. what is up with "freenode_ion:matrix.org" ?
<davidar>
.w multivac
<multivac>
[WIKIPEDIA] Multivac | "Multivac is the name of a fictional supercomputer in many stories by Isaac Asimov. According to his autobiography In Memory Yet Green, Asimov coined the name in imitation of UNIVAC, an early mainframe computer. Asimov had assumed the name "Univac" denoted a computer with a single vacuum tube (it actually..." | https://en.wikipedia.org/wiki/Multivac
<achin>
my curiosity can't take it any more!
<davidar>
achin (IRC): yeah, not sure why ion in particular does that
<davidar>
achin (IRC): it's the matrix.org irc bridge
<achin>
who's on matrix.org? you or ion?
rschulman has joined #ipfs
<davidar>
Me
<davidar>
Also see chat.ipfs.io
torpor has quit [Client Quit]
<davidar>
@freenode_gorhDroid:matrix.org: can we help, or are you looking for those two in particular?
<achin>
there's another one!
<achin>
slowly, we are gathering enough data to reverse engineer davidar's client
<davidar>
Matthew, Erik, why does that happen?
<M-matthew>
hm?
<M-matthew>
i don't have IRC scrollback in here, so hard to see what's going on
<M-erikj>
davidar: Hmm, looks like some of the fake Matrix IRC users haven't had their display name set
<davidar>
Matthew: achin (IRC) vs @freenode_ion:matrix.org
* M-matthew
defers to Erik
Encrypt_ has joined #ipfs
revolve_ is now known as revolve
<M-erikj>
I think that might be because they were provisioned before the display name support in the IRC bridge?
* M-erikj
bugs the perpetrator
<M-matthew>
seems unlikely; we bridged IPFS quite recently
<achin>
also, it seems a little silly to label everyone as on IRC -- where else could they be?
<davidar>
achin (IRC): on matrix :)
<M-erikj>
Like me! :D
<achin>
not for any of us, though. you are chatting with an IRC channel, so you can assume we are all on IRC
<M-erikj>
but yes, its a bit annoying from a tab completion perspective
<M-erikj>
davidar: Looks like my theory is correct, I'll go and see if I can go and manually add missing display names
<achin>
if davidar tabcomplese M-erikj will it say (Matrix) or (IRC) ?
<davidar>
achin (IRC): technically I'm chatting with a matrix room, which happens to be bridged to irc
<davidar>
It's just Erik for me
<M-erikj>
Technically it would be "Erik" (It looks like I forgot to change my irc nick to erikj)
<M-erikj>
Bridging IRC rooms to other protocols is surprisingly hard :(
<achin>
ah, i see
Encrypt_ has quit [Ping timeout: 264 seconds]
<davidar>
Erik: the matrix irc bridge still works better than the xmpp irc bridges :)
od1n has quit [Ping timeout: 244 seconds]
<M-erikj>
:D
<M-erikj>
I wish I could take credit, but instead I'll pass it on to kegan :)
<achin>
on your end, does the brige appear as a single entity in your matrix chat room? or can it make it appear that my messages are actually coming from someone named "achin" ?
<davidar>
achin (IRC): yeah, you are an individual user, just with (IRC) attached to your name
<davidar>
achin (IRC): technically you are @freenode_achin:matrix.org
<M-erikj>
^ is roughly what it looks like (in this particular client)
reit has quit [Quit: Leaving]
<achin>
neat
<davidar>
achin (IRC): join us :)
reit has joined #ipfs
<M-erikj>
We have multi client support! Mobile apps! You'll never be able to escape IRC ever again
<ion>
How do you tell apart the user bar_baz on the foo IRC network from the user baz on the foo_bar network?
<achin>
i admit, i'm not quite sure what the TLDR of matrix.org is
<achin>
is it just for chat?
<davidar>
@freenode_ion:matrix.org: it would be something like @mozilla_ion:matrix.org instead
<davidar>
oh, i see what you mean
<davidar>
don't put _ in the irc name i guess
<davidar>
Matthew: matrix.org spiel :)
<davidar>
achin (IRC): i think the homepage explains it pretty well though?
Bedlamb has quit [Quit: Leaving.]
<achin>
let me get back to you. it's kinda lame of me to say "explaint it please" without myself explaining what i didn't understand from the homepage
<davidar>
hehe, ok
<davidar>
anyway, getting late, night all :)
<M-erikj>
Night! :)
Bedlamb has joined #ipfs
<M-erikj>
achin: Feel free to ping me (or matthew) with questions. We also hang out in #matrix
<achin>
will do. i'm currently just getting into the office and am being forced to give IRC/web a very small slice of my braincycles
Encrypt_ has joined #ipfs
od1n has joined #ipfs
Guest73396 has joined #ipfs
<rschulman>
I had been wondering why so many people in here had "M-" in front of their names... :)
dysbulic has joined #ipfs
<M-erikj>
Yup, you can tell the irc bridge what IRC nick to use but it will default to 'M-' prefix (though there is an embarrassing bug atm where the bridge forgets that over restarts)
<rschulman>
so what's the ipfs matrix room called?
<zero-ghost1>
does anyone use Tox? and if so have you been following the developments with the groupchats that will be a potential IRC killer :-p and would you be interested in maintaining a Tox IPFS channel?
<M-matthew>
#matrix:matrix.org
<M-matthew>
rschulman ^
<M-matthew>
i've been too busy building Matrix to play with Tox much
<M-matthew>
but the more decentralisation the better :)
<achin>
IRC has been around for a while. could there really be an IRC killer out there?
<zero-ghost1>
look at those features, and just remember: truly p2p + fully end-to-end encrypted
<M-matthew>
hybrid p2p has value too, imo - and matrix can be fully e2e encrypted too :)
<M-matthew>
but tox & matrix have very different architectures; each have pros and cons
<M-matthew>
it's not always a black & white choice... :)
Spinnaker has quit [Ping timeout: 252 seconds]
<zero-ghost1>
i hear ya :-p (full disclosure Tox is my main follow and I shill it pretty hard)
<zero-ghost1>
Tox, i2p, everything p2p, things like IPFS
Spinnaker has joined #ipfs
<ion>
achin: s/IRC/HTTP/
<multivac>
ion thinks achin meant to say: HTTP has been around for a while. could there really be an IRC killer out there?
<ion>
multivac: THANK YOU
<M-matthew>
competition between decentralised open communication technologies is a bit of an own goal imo ;)
<M-matthew>
or a contradiction in terms
<M-matthew>
much better to work out how to cooperate and bridge
clever-bnc has quit [Quit: leaving]
<M-matthew>
ion: well, matrix tries quite hard to be one, and seems to work pretty well
<zero-ghost1>
yea of coarse we all need all the banding together we can get in times of war like these
<achin>
ion: you missed the /g flag :P
<ion>
achin: No, i used a dialect where /g is the default.
<M-matthew>
unlike tox, it's only p2p between the servers - but in return it means you get a really simple client-server http api
<zero-ghost1>
and Tox needs to take on some minor centralization points anyway to get big into things like mobile
od1n has quit [Ping timeout: 256 seconds]
<M-matthew>
and unlike tox, matrix is all about replicating convo history
<zero-ghost1>
true offline messages will need a distributed storage type network
<M-matthew>
but i'd love there to be a matrix<->tox bridge
<M-matthew>
heh, perhaps tox could use matrix as its distributed storage network, given we have one already. or IPFS for that matter :)
<zero-ghost1>
i'd be willing to run a bridge bot between Tox IPFS channel and whatever else IRC/matrix
<achin>
bridge all the things \o/
<zero-ghost1>
i've been needing a reason to leave my Crunchbang++ VM running all the time in the background ;)
dysbulic has quit [Ping timeout: 246 seconds]
<achin>
awww, matrix on the weaknesses of IRC: "just an archaic TCP line protocol". but we love that archaic TCP line protocol!
<M-matthew>
did we say that about IRC?
<M-matthew>
i love IRC too!
<achin>
in the FAQ
<M-matthew>
and +1 to "bridge all the things"
<M-matthew>
oops, i don't remember saying that. but it is pretty archaic ;)
<zero-ghost1>
how about matrix in i2p?
<M-matthew>
you could layer matrix on i2p or gnunet or whatever.
<zero-ghost1>
:-x getting too offtopic for IPFS channel sry
<rschulman>
brb, installing synapse M-matthew :)
<M-matthew>
feel free to argue merits of tox/matrix etc over at #matrix (or #matrix:matrix.org via Matrix). sorry for spamming up #ipfs with it
<M-matthew>
rschulman: woo :)
Bedlamb has quit [Quit: Leaving.]
<zero-ghost1>
yea i'm gonna hit you up more when i dont have 50 things i need to be doing
<rschulman>
its only a raspberry pi, so we'll have to see how it does
<zero-ghost1>
i wanna see more bridges!
<zero-ghost1>
(but i cant program anything at all)
<achin>
M-matthew: this is all neat stuff, i will for sure check out matrix in more detail later
Encrypt_ has quit [Ping timeout: 250 seconds]
Bedlamb has joined #ipfs
<zero-ghost1>
someone already wrote a Tox<>IRC bridge bot so maybe that will cover it or just needs a little tweaking
<zero-ghost1>
anyway next time :-p
<M-matthew>
if there's Tox<->IRC, then Tox<->Matrix would be pretty easy
<zero-ghost1>
then soon it shall be tried
od1n has joined #ipfs
torpor has joined #ipfs
dysbulic has joined #ipfs
M-rschulman has joined #ipfs
HostFat has joined #ipfs
Guest73396 has quit [Ping timeout: 255 seconds]
pfraze has joined #ipfs
Bedlamb has quit [Quit: Leaving.]
Encrypt has joined #ipfs
Bedlamb has joined #ipfs
Robbie has quit [Ping timeout: 250 seconds]
croqaz has quit [Quit: Leaving]
doei has joined #ipfs
sseagull has joined #ipfs
Mandy_ has joined #ipfs
khuevu has joined #ipfs
pfraze has quit [Remote host closed the connection]
Soaps has joined #ipfs
khuevu has quit [Remote host closed the connection]
<Soaps>
Greetings. I just learned about IPFS last night. I'm running a node. I know it's alpha, but I was wondering if there is any practical use for IPFS, right now. In practical use, I mean as a home user, not a developer of any kind.
Bedlamb has quit [Quit: Leaving.]
Bedlamb has joined #ipfs
voxelot_ has joined #ipfs
<doei>
Soaps, archiving something you deem interesting
<doei>
it's hard to answer this question putting any kind of development aside atm
<Soaps>
I was just wondering if it was like cloud storage, in a sense
<Soaps>
Storj is interesting for that
<doei>
the filecoin sister project of ipfs is gonna provide some incentives for people to store arbitrary data
<doei>
but at the moment people will choose which content they'll serve "permanently"
<Soaps>
So, if I run a node from my RPi2, will I be storing information for the other nodes? Space is an issue for the Pi
<Soaps>
I think I uploaded a short video I made, just for fun.
<doei>
you store only what you explicitely tell your node to store (you "pin" it)
<Soaps>
okay, that is a little confusing then. Lets say no one pins anything... Where dos it go?
sleepycat has quit [Quit: leaving]
<doei>
if you just run a node some data will be stored for helping peers connect together, but nothing will stay more than 24 hours
<nikor>
Soaps: it goes away
<Soaps>
Hmmm. Interesting project. and I hope it grows fast. I'm going to run a node on my Pi. I have nothing else for it, anyways. But I don't know if I could use it, as it is now. I'm going to watch this closely.
<doei>
What's your use case?
<Soaps>
don't have one. Just found the site form reddit last night. Watched the videos, and decided to run a node.
<Soaps>
I'm just trying to figure it out
<doei>
if you run a node, you do help the network a little :) and you can enjoy the content that's already there
amitp has joined #ipfs
mildred has quit [Ping timeout: 250 seconds]
<nikor>
Does anybody know where i can find the protocol names ipfs uses
<nikor>
in swarm.dial i mean
<whyrusleeping>
Gooood mornin
<multivac>
whyrusleeping: 2015-10-05 - 09:19:25 <davidar> tell whyrusleeping less sleeping, more coding :p
<whyrusleeping>
davidar: I do what i want!
ogmious has quit [Ping timeout: 246 seconds]
rjeli has quit [K-Lined]
<amitp>
sleep is good
<achin>
sleep is for the weak! and the sleepy!
rjeli has joined #ipfs
Bedlamb has quit [Quit: Leaving.]
Bedlamb has joined #ipfs
bedeho has joined #ipfs
atgnag has quit [Ping timeout: 256 seconds]
atgnag has joined #ipfs
voxelot_ is now known as voxelot
Mandy_ has quit [Remote host closed the connection]
voxelot has quit [Changing host]
voxelot has joined #ipfs
Duffy has joined #ipfs
<Soaps>
doei, is there a way to browse the content?
<CaioAlonso>
I think you need to already know the hash in order to get some content
<CaioAlonso>
Soaps, made this the other day, /ipfs/QmbKxNNCxBox7Cmv3jiUZbiG3zpzmtnYzVUuKHxfAjvpyH/
Soaps has left #ipfs ["Leaving"]
<CaioAlonso>
welp
bedeho has quit [Ping timeout: 256 seconds]
Bedlamb has quit [Quit: Leaving.]
pfraze has joined #ipfs
Bedlamb has joined #ipfs
<whyrusleeping>
CaioAlonso: lol
<richardlitt>
Igel: yo! You live in Boston?
<ansuz>
ohai Igel
<ansuz>
hyperboria takin over
<ansuz>
represent
<rschulman>
haha
<rschulman>
ansuz: Don't call it a comeback.
<CaioAlonso>
wow, fc00.org is even bigger than last time I checked
<voxelot>
whats the random tab on ipfs.pics do? site's not laoding pics for me
<voxelot>
scan their gateway for a pic in the refs?
<CaioAlonso>
voxelot they have a manually curated list of public images uploaded to their site
<CaioAlonso>
so not everything that has been uploaded there will show up on random
<M-rschulman>
Yeah, ipfs.pics is not really decentralized that much. They use ipfs to store the pics in the background, but they know everything that's been uploaded.
M-oddvar has joined #ipfs
<nikor>
is it posible to get the node-libp2p-swarm
<voxelot>
ahh thanks, i just added ethereum into my stupid permawall app, couldn't think of any other way to get decentralized consensus on the current data object hash
<nikor>
to talk to go ipfs
<voxelot>
like an IPNS name anyone could resolve
<voxelot>
^ *ID
<whyrusleeping>
nikor: it can talk to version 0.4.0 of go-ipfs
<whyrusleeping>
we're on the path to that transition, but its gonna require a lot of testing and careful upgrades
<nikor>
whyrusleeping: ahh thank you :)
<nikor>
whyrusleeping: so 0.4.0 and 0.3.* not compatible?
<whyrusleeping>
nikor: nope, we've revamped the wire protocol in 040
<whyrusleeping>
its a good deal better
<lgierth>
CaioAlonso: it shows you a random pic which was uploaded to ipfs.pics
<Monokles>
now i'm new to ipfs so don't laugh too hard if this is a really silly question but
<Monokles>
what if ipfs.pics wanted to implement a search functionality for all content uploaded to their site
<Monokles>
it being a normal site now I can imagine it wouldn't be too much of a problem, but if the site itself was published through IPFS, how would you search through content?
<whyrusleeping>
Monokles: search on a static DB is easy, right?
<whyrusleeping>
so the only 'hard' part is updating that db
<Monokles>
yeah that's what I figured
<whyrusleeping>
so they can update the db on every upload (or every few)
<voxelot>
well QmY8VUFM3HxbENPUMy1FEtyehK9bpw4H1vUqLy2m6nQmPc != puggle.jpg, do we have file name metadata in the object?
<lgierth>
CaioAlonso: ok thnx. that passport looks like a sample though
<voxelot>
err in ipfs.pics they are getting the file first so they have the name
<Monokles>
yeah but if the site is spread through ipfs, then how do you keep track of the db
<voxelot>
Monokles, i just built a small app using ethereum to keep track
<voxelot>
but other solutions would be better
<whyrusleeping>
Monokles: you can use ipns to update dynamic content
Bedlamb has quit [Quit: Leaving.]
<lgierth>
richardlitt: gotta run, i'll be a bit late for sync. start without me
<lgierth>
o/
simpbrain has joined #ipfs
<Monokles>
voxelot, wouldn't that get rather slow once you start performing more 'interesting' queries?
Bedlamb has joined #ipfs
<voxelot>
whyrusleeping: can IPNS object be resolved and published to by others? also could one node handle that
<CaioAlonso>
Monokles I think every service has to find a balance between a completely local code/db and completely remote
<voxelot>
uhmm, yeah i'm still testing performance, ether shouldn't block but will take at least 12 seconds to see your data update
gamemanj has joined #ipfs
<CaioAlonso>
Monokles you could have a /ipns/<hash>/uploads.db indexing everything and that file gets updated on every (or every few) upload like whyrusleeping said
<voxelot>
but that's not truely decentralized
<Monokles>
then you're still relying on a central node though
<Monokles>
oh, too slow
<voxelot>
:p
<CaioAlonso>
yeah, not really decentralized
<CaioAlonso>
I don't think we'll see only fully distributed services, but more of a spectrum
<gamemanj>
hmm... an invite-only chat system could probably be decentralized, but unless you have a fixed list of participants, you'd need anyone doing the inviting to be a relay node for the invited members.
<CaioAlonso>
in the case of ipfs.pics, you could build a distributed js client that simply adds the image to your local IPFS, and when connectivity is available syncs up what you have uploaded so far to a central index
<voxelot>
CaioAlonso: yup, exactly what i'm doing, and the central index is ethereum, most distributed way i could think of atm
<gamemanj>
Hang on... what stops someone from posting a random public and private IPNS key, that isn't associated with any peer? Can that be done?
<voxelot>
gamemanj: you can't resolve the hash from other IPNS ID's atm
<voxelot>
or at least not in js, get a bad path error, might be able to in CLI i think
<voxelot>
not sure, but either way a flag to let the IPNS ID be public or private would be nice
<CaioAlonso>
voxelot I like how now we'll have the ability to decide on a case by case basis how much dependence we'll have on central nodes
<gamemanj>
Note that I specify the private key as well as the public - for a public-access system to be built, a central relay point has to be established. And there needs to be a way to write to it.
<gamemanj>
Note that said relay point doesn't have to be a real relay host, it could just be a virtual IPNS point.
<gamemanj>
That has to somehow be world-writable.
<Monokles>
and then someone comes along and replaces your genome project DB with a cat picture?
<Monokles>
or would that not be possible in that case? :P
<CaioAlonso>
fun times
<gamemanj>
That would be possible, but if all other members enforced the "correct" chain...
<gamemanj>
that is, if someone tries to wipe out the hash of history, they corrected it.
HastaJun has joined #ipfs
binaryatrocity has joined #ipfs
<gamemanj>
Ofc, this is a natural fit for the merkle-dag, since you can have every entry in the message system refer to the previous, and have the clients memorize the last hash they've seen.
<gamemanj>
If they can't trace it back to what they've seen, someone tried to wipe out history.
torpor has quit [Quit: Leaving.]
<Monokles>
but in your case every node has a full copy of the DB right?
<Monokles>
databases can be big..
<gamemanj>
I'm not talking about a database, BTW. But besides, they don't need one - rolling it back simply requires knowing the hash of the last correct state.
Spinnaker has quit [Ping timeout: 256 seconds]
<gamemanj>
(The person who was talking about a database was someone else, but this might work for that purpose.)
<Monokles>
oh I must've mixed up names somewhere th en
<gamemanj>
I was thinking about some sort of chat-over-IPFS.
<jbenet>
richardlitt: let's start 15m after the hour, as that's technically the time in /pm (if we want to be more on the dot we should change it on the repo for the next times)
<whyrusleeping>
richardlitt: i'm alive!
<richardlitt>
I'll change it on the Repo.
<whyrusleeping>
hrm... i'm ssh'ed into a computer that has an open vim session on a differenty tty
<whyrusleeping>
i want to cause that vim buffer to save
<whyrusleeping>
it has code i was working on
* noffle
<-- lives
<richardlitt>
huh, looks like it already is changed on /pm Readme. cool.
<richardlitt>
So, 15 minutes ya'll.
bsm1175321 has joined #ipfs
* whyrusleeping
is still disappointed the repo isnt called 'mgmt' anymore
<richardlitt>
whyrusleeping: pm me about it.
<richardlitt>
whyrusleeping: never mind, that's too confusing.
<rschulman>
whyrusleeping: Did you figure out that vim question?
<rschulman>
interesting one
<ansuz>
cp .file.swp newfile
<ansuz>
vim newfile
<ansuz>
:w ?
<rschulman>
in the future, though, tmux
<ansuz>
^
<rschulman>
oh, that's a good thought, ansuz
<ansuz>
whatever the question is, the answer is tmux
<rschulman>
truth
<ansuz>
rip screen, we hardly knew ye
Bedlamb has quit [Quit: Leaving.]
Guest73396 has joined #ipfs
<whyrusleeping>
i dont use swap files, lol
<whyrusleeping>
otherwise that would probably work
Bedlamb has joined #ipfs
<whyrusleeping>
tmux actually wouldnt help since i like using gvim >.>
<rschulman>
is there any way to ssh into a tty?
<rschulman>
I don't think so
<ansuz>
no swapfiles?
<ansuz>
eep
<whyrusleeping>
i'm trying to see what signals vim responds to
<mmuller>
rschulman: you can ssh in and write stuff to the tty :-)
<whyrusleeping>
vim --serverlist
<whyrusleeping>
vim --servername FOO --remote-send '<C-\><C-N>:wqa<CR>'
<mmuller>
so, echo ":wq" >/dev/tty-Running-vim might work :-)
<achin>
in theory you could sigkill it and rely on the swap file to recover
<whyrusleeping>
the above commands totally worked
<rschulman>
woo!
<mmuller>
sure, if you want to do it like your "supposed to" ;-)
Guest73396 has quit [Ping timeout: 240 seconds]
<rschulman>
my version of vim doesn't know about --serverlist
ygrek has joined #ipfs
<whyrusleeping>
it apparently has to be compiled with +clientserver
<ansuz>
why no swap?
<whyrusleeping>
which mine is because i use gvim (pretty colors!)
<whyrusleeping>
swapfiles bother me, i always end up with them lingering for one reason or another, or accientaly committing them because i havent set up a gitignore
<whyrusleeping>
or getting the ugly popup message asking me what to do with them
<whyrusleeping>
and the answer is always 'delete that shit, yo'
<achin>
you can set up a global gitignore, so they will be forever ignores
<whyrusleeping>
- [x] short guide to hacking on go-ipfs
<whyrusleeping>
- [x] fix windows builds
<whyrusleeping>
this week has been a lot of work on a smaller number of tasks
<achin>
- [x] successfully vimmed
<whyrusleeping>
^
<whyrusleeping>
we have a more stable ipns, which is pretttty coooool
<jbenet>
what;s missing on utp?
<whyrusleeping>
jbenet: tests and that weird halting issue
<jbenet>
yeah more stable ipns is cool. i havent tested it out yet
<richardlitt>
Cool.
<whyrusleeping>
ipfs files api is fun to mess around with
<whyrusleeping>
i mi
<whyrusleeping>
i might revive my file browser
<jbenet>
whyrusleeping: chunking/layout algo, repobench not yet, right?
<whyrusleeping>
nope, those got pushed to the sidelines
<jbenet>
makes sense
<whyrusleeping>
athough the chunking/layout algo is nearly done
<jbenet>
where are we on udt
<whyrusleeping>
i have a commit or two locally
simonv3 has joined #ipfs
<whyrusleeping>
udt, we're waiting on a restructure of multiaddr-net
<jbenet>
(like where we left off)
<jbenet>
right
<whyrusleeping>
which i beelive might happen as a result of the utp stuff
<jbenet>
do we want exo-transport before udt? to avoid cpluspocalypse on main go-ipfs bin?
<whyrusleeping>
nah
<jbenet>
ok
<richardlitt>
Alright; next?
<richardlitt>
jbenet, since you're here?
<Sargun>
Life is more exciting with C++ segfaults.
<jbenet>
and reducing dialing concurrency-- yeah let's talk about that today. (same with the api issue
<whyrusleeping>
i would like to propose that we do sprints on mumble next week :D
<jbenet>
richardlitt: sorry, still prepping my update. if someone else wants to go - go for it
<richardlitt>
noffle?
<jbenet>
whyrusleeping: logs are useful.
<noffle>
sure, sec
<whyrusleeping>
jbenet: hrm... right
<Sargun>
btw, any reason why you guys don't target go1.5?
<jbenet>
richardlitt: it helps to ask who's ready and let them say they are
<noffle>
- [ ] ipget (https://github.com/noffle/ipget) - [?] tests + travis ci (need to chat about how to test this) - [x] support godep - [x] smarter default filename when given a x/y/z path - [^] logging with github.com/Sirupsen/logrus (bailed: not convinced logrus isn't overkill for a CLI utility) - [x] plan out work toward 'ipfs get' feature parity (tl;dr it's just archive saving)
<noffle>
eek, newlines :'(
<whyrusleeping>
Sargun: we know our code is stable on 1.4, and havent pushed 1.5 that hard yet
<noffle>
godep and better filenames were easy
<noffle>
I bailed on logrus for now; I'm not sold that it's useful for a CLI tool vs a deeper system (like go-ipfs)
<whyrusleeping>
i dont like logrus
<noffle>
turns out 'ipfs get' feature parity is just archiving, so that was basically a no-op
<richardlitt>
jbenet: got it.
<noffle>
I was hoping to chat /w someone about testing. ipget is kind of a heavy CLI tool, so I'm having trouble figuring out how to do small unit tests.
<jbenet>
chriscool is the person to talk to about that
<jbenet>
it takes some time to get used to it, but it's magic for cli's because it really forces you to use nothing but sh.
<noffle>
I don't want to have to rely on our core bootstrap nodes being online for tests to work though :(
<noffle>
do have a light/dumb/mock ipfs node for testing?
<whyrusleeping>
noffle: you can try using iptb
<jbenet>
noffle: if you have feedback on the ipfs programmatic api, would be sweet. in an ideal world, the go-ipfs command themselves could be built as separate cli tools as well as into the go-ipfs binary, without changing much code, (but that's an _ideal_ world. we're far from that)
<Sargun>
whyrusleeping: There's some significant performance gains I noticed from bumping GOMAXPROCS
<whyrusleeping>
Sargun: we already bumped GOMAXPROCS
<richardlitt>
ams, mappum, davidar, daviddias, rht__, whyrusleeping. I don't know if diginifiedsquire is here today.
<jbenet>
daviddias is on a plane i think
<jbenet>
whyrusleeping went. rht__ hangs out in github more than irc. davidar is likely asleep in australia. mappum ??
<whyrusleeping>
mappppppum
<jbenet>
(i'll be ready shortly)
<richardlitt>
I can go
<whyrusleeping>
go richardlitt go!
<richardlitt>
- [ ] (all of it)
JasonWoof has quit [Ping timeout: 264 seconds]
<richardlitt>
I did not have a productive week regarding IPFS.
JasonWoof has joined #ipfs
<richardlitt>
I'm not sure what to do about this. A couple of things came up this week - some research opportunities, a grant proposal, and work with my friend cinjon on a new project, and work on Beagle.
<mappum>
sorry, running behind schedule, i'll be able to share in 20m
<richardlitt>
I need to think on how to better think about my role here. It's too easy for me to not work on a given day.
Bedlamb has quit [Quit: Leaving.]
<richardlitt>
:/ I'm feeling guilty about it.
Bedlamb has joined #ipfs
<whyrusleeping>
richardlitt: lets have a hangouts chat later
<richardlitt>
whyrusleeping: Ok!
thelinuxkid has left #ipfs [#ipfs]
<jbenet>
ok im ready
thelinuxkid has joined #ipfs
Soft has quit [Read error: Connection reset by peer]
<richardlitt>
jbenet: whenever you're ready, I'm pretty much done.
<jbenet>
This week i had a bunch of small things. Lots of CR upkeep, figuring out various issues, lost of discussions with people.
<jbenet>
- [x] make issue about ipfs-update -- finishing this up, will post in a bit.
<jbenet>
yeah utp is the last piece, right whyrusleeping?
<jbenet>
that and maybe constraining the dials?
<jbenet>
whyrusleeping: we need to fix the stupid api fails. it's killing me. is that fd problems, or what?
NeoTeo has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
<whyrusleeping>
yeap, utp is the last piece
<whyrusleeping>
the api fails are the 1.5 trailers thing
<whyrusleeping>
0.3.8 could require 1.5.1.... >.>
<noffle>
(aside: oh, and I put in some time on rht@'s ipget PR, too)
<richardlitt>
Cool, thanks jbenet.
<jbenet>
whyrusleeping: ok let's talk about it today. it's a major annoyance for users, so let's figure it out.
<jbenet>
if anyone still has reservations about moving to go 1.5.1 today's the time to speak -- let me know.
<richardlitt>
I think that just leaves... amstocker_? And mappum.
<whyrusleeping>
jbenet: yeah. its really bad
<amstocker_>
hey
<jbenet>
whyrusleeping: yeah it's awful. im not sure what's up, like an older binary i have does not have this problem at all.
<richardlitt>
hey amstocker_.
<whyrusleeping>
jbenet: yeah, we didnt do trailers before
Encrypt has quit [Ping timeout: 268 seconds]
<amstocker_>
ok:
<amstocker_>
python-ipfs-api:
<whyrusleeping>
jbenet: that older binary doesnt properly report errors that happen on streaming commands
<amstocker_>
- [~] chunked file-streaming almost done
<jbenet>
whyrusleeping: are you sure? my older bin is post trailers, early 0.3.8-dev i think.
<amstocker_>
- [x] now support ipfs get for large files
<whyrusleeping>
wait, really?
<amstocker_>
- [~] documentation/readthedocs.org page almost done
<jbenet>
i think i accidentally deleted it when i was figuring out why utp failed. let me check (sorry for speaking in the middle amstocker_)
<amstocker_>
and thats about it for last week
<amstocker_>
no worries jbenet
<jbenet>
+1 for readthedocs! + streaming
* lgierth
here
<lgierth>
typing update
<whyrusleeping>
amstocker_: good stuff! yay more api bindings!
<ion>
“<@whyrusleeping> swapfiles bother me, i always end up with them lingering for one reason or another, or accientaly committing them because i havent set up a gitignore” You should be able to add them to your global gitignore once and for all.
<ion>
Oh, achin already said that.
<amstocker_>
thanks guys :)
<jbenet>
richardlitt: do you have time to figure out the api docs thing this week? it's a high impact thing to do.
bedeho has joined #ipfs
<richardlitt>
jbenet: Yes. I will 100% commit to this.
Soft has joined #ipfs
<richardlitt>
I'll look at it Thursday night, Friday night, and I'll be focusing on it exclusively next Saturday.
<jbenet>
there's probably a lot to discuss on that. when's a good time? thu then?
<jbenet>
everyone: i'll be at andyetconf.com this week, so will be less on irc. still on github and everything though.
<richardlitt>
Thursday night is a good time.
<noffle>
(I won't be around for face-to-face planning stuff, fyi)
<richardlitt>
I'm going to Maine tomorrow morning for a couple of nights, driving back Thursday.
<richardlitt>
Will be AFK; climbing Mt. Katahdin before it gets too cold.
<achin>
nice!
<achin>
forgive the personal question, but are you from the area? i grew up in Maine and always get existed when i hear about my home state :)
<ansuz>
> get existed
<ansuz>
D:
<amstocker_>
lol
<richardlitt>
achin: haha, nope! I'm from Connecticut, living in Boston. I haven't been to main in many years since I canoed down the Allagash, very excited to be going back.
<richardlitt>
BUT!
<richardlitt>
I think... that is it for the sprint?
<mmuller>
richardlitt: awesome. I hiked the edge mid-August.
<richardlitt>
Or the sync, rather
<amstocker_>
I'm also from CT and lived in Boston for 4 years! :)
<lgierth>
- [x] gc'd the gateways before the techcrunch article hit
<lgierth>
c+p eof
<whyrusleeping>
lgierth: have time to chat about inf handoff today?
<whyrusleeping>
i'm available from 7UTC on
<lgierth>
cool
<lgierth>
i'm having dinner with my flatmates but 9pm++ is cool
<lgierth>
i'm trying to snap a screenshot of the peers graph, there's a nice bump since the techcrunch article yesterday
<richardlitt>
lgierth: hand of what? Infrastructure?
<lgierth>
yeah finally increase the bus factor to n > 1
<achin>
(ps, Allagash is a very good brewery in Portland)
<jbenet>
whyrusleeping and i can probably take care of the infra. i think richardlitt's focus best spent on the api things. (and cryptix is afk this week i think)
<richardlitt>
no worries. you're the last for this sprint, if you're up for it?
<dignifiedquire>
yeah sure
<dignifiedquire>
not much to be honest in terms of progress, still working on the welcome screen. I finally have a design I'm happy with now just need to implement it
<dignifiedquire>
will post screens in the issue later
jhulten_ has joined #ipfs
bedeho has quit [Ping timeout: 264 seconds]
<richardlitt>
dignifiedquire: cool
dignifiedquire_ has joined #ipfs
<richardlitt>
Well
<richardlitt>
I'm going to declare this done. Post your issues on the Etherpad
<richardlitt>
Everyone is welcome, not just contributors mentioned in this sync. I'll open issue#36 in ipfs/pm tomorrow morning, so contribs, please add your to dos for this week!
<richardlitt>
Hack the planet! ~~o/ EOF
<jbenet>
thanks richardlitt!
<richardlitt>
np. Back in ten, headed to coworking space
<jbenet>
dignifiedquire: i didn't see the earlier mention about bootstrap. i understand the desire to break out and do something really cool and custom. totally get that. but the problem is that now only you know how to modify stuff, and it will take a lot of work for someone to get up to speed on custom styling.
<jbenet>
the value of bootstrap (and derived things) is defining the closest thing we have to a modular UI language in the web.
<jbenet>
it's like a UI/UIKit for HTML5.
<jbenet>
bootstrap is actually very, very hackable. it's not difficult to achieve the styling you want on top of it.
<dignifiedquire>
Yes I understand that, but when you are using react you are not constrained to using only bootstrap anymore because you just write your own modular components that you can reuse everyhwere without having to know bootstrap or a lot about the system
<jbenet>
it can be done without blowing up all the valuable utility we get from having a common language.
<dignifiedquire>
for example, if I have a finished style for an input, you just have to write sth like <Input type=“text” value={this.state.myVal} /> and be done with it
shoman5 has joined #ipfs
<jbenet>
maybe i'm missing something -- afaik, the modular components in react, all the css in them, is still embedded in the same page, still follows styling rules, and should fit a common application theme. (i.e. the best modules will delegate styling to the top of the application, which can redefine and chnage the style by changing some top level css rules)
<dignifiedquire>
no the styling is not defered to the top level anymore, they are defined where they are needed
NeoTeo has joined #ipfs
<jbenet>
well, suppose that styling needs to be redone in the future.
<dignifiedquire>
except for global resets, and defaults, like font color et
<jbenet>
now we'd have to step into every single module and modify it.
<jbenet>
instead of modifying global styling rules.
Eudaimonstro has joined #ipfs
<dignifiedquire>
yes, but that the thing is that for real style changes what you would have is a file/section in a gigantic file where you say: here are all styles for inputs, so when you want to change the whole style you have to go into each of these sections and customize them. If you instead take the styles and put them right in the input component you can just go there and customize it there.
<dignifiedquire>
Which ends being much easier and straight forward because you have a small scope to care about (just the input) and you see immediately the html parts of it. At the end it’s the same argument why react puts the templates inside the script file because these things actually belong together and you have to touch the styling code anywhere.
<dignifiedquire>
There is of course a place for configurable things and globals/configuration files for things like primary color, font family, etc
<jbenet>
sure that makes sense, i dont see why this is incompatible with bootstrap-- for example, you can imagine a reactified bootstrap that puts all the components into its own react module, following the pattern you describe.
<dignifiedquire>
Yes and there is a port of bootstrap components for react, which you can use of course
<jbenet>
but that still is customizable to a great degree by a few global rules (yep, like color schemes all over) that often apply to a whole family of components, not just one
<dignifiedquire>
the thing is why I didn’t do that, is that we don’t need 98% of that code
<jbenet>
the concern i have is more around the ability to use these components. like for example, if i want to go and add something new, like a textarea, i no longer can easily.
<dignifiedquire>
why not?
<jbenet>
what component would i use? are you going to make a full library of custom components as extensive as bootstraps?
<jbenet>
i cant use bootstrap's as now the style would be all off and wonky
Yeelk has joined #ipfs
<dignifiedquire>
That depends on your needs, but if you just need a textarea you just put in the default html textarea, hook it up to react as needed and add a style depending on where you put it.
<dignifiedquire>
If the element wasn’t used before yes a new style definition has to be done, but that is a good thing because one should think about that when adding a new UI element and how it fits into the current interface.
<jbenet>
i think what would happen is that people not deep into frontend dev would no longer be able to modify the UX of the codebase. it's already hard as is, but gets increasingly harder. sorry, i dont mean to complain
<dignifiedquire>
well they would need to know some basic html, css and react yes, but that was the case before as well wasn’t it?
<jbenet>
the misalignment i'm trying expess is that, while i understand that it is more cumbersome to follow the constraints imposed by bootstrap, the important thing is to keep very long-term maintainable and malleable components, without much overhead to using them. like, there's not guarantees at all that this new style will be the right thing in the long term, or
<jbenet>
that you'll even want to keep contributing to it in the future. Lots of PRs in go-ipfs introduce abstractions what are highly custom and not very maintainable, and we have to fight hard to keep things as easy to maintain for as broad of a base as we can.
<jbenet>
like, even one of Go's fundamental values is reducing that sort of complexity, coming up with "idiomatic Go" as a thing is to ensure as many people as possible stick to "one way of doing things" because as the months and years go by, and as dozens of people come and go, the codebases stay and evolve little bits by bits.
<dignifiedquire>
Yes, which I totally understand. Of course you want this to be workable longterm, which is for me the reason I’m against bootstrap. I’m working on a project right now where bootstrap was used in the beginning for the exact same reasons (no react though, just jquery + bootstrap) and this projects is now > 2 years old and it’s horrible, you have to work around bootstrap all the time when trying to fix things and change
<dignifiedquire>
the design when it doesn’t fit into the bootstrap scheme of things
<jbenet>
is that misuse of bootstrap? in my experience it's always been relatively easy to modify and re-style. way, way easier than the customized layouts pre-bootstrap (i've been dabbling with html5 for a long time and remember the horrible pain of getting UIs right before bootstrap)
Bedlamb has quit [Quit: Leaving.]
<jbenet>
(and again, here im using "bootstrap" as one instance of a "uikit-style-thing", a common language that's well understood, well supported, comprehensive and robust, and well tested across a variety of devices. bootstrap is so far the most popular of these, but ofc others exist.
Bedlamb has joined #ipfs
<dignifiedquire>
It’s a mixture of misuse of bootstrap, and boostrap just being the wrong tool for the job in that case. Boostrap is a great thing and it makes a lot of things easier, but with modern browsers and flex layout you know have a basis where the browser actually brings most things you wanted from bootstrap in the first place. And for this electron app because we know we target only one single browser with excellent support for
<dignifiedquire>
these things you can write things just straight forward down in css.
<jbenet>
customized styles to me, sound like moving away from this, and liable to (as the customized styles start piling up) a big mess where every person that comes in adds different rules in different ways making the whole thing much harder to maintain in general. (for this reason too, im pretty strict in go-ipfs when people start breaking common abstractions, and
<jbenet>
introducing one-offs that make things easy now, but harder to maintain in the long run).
edsu_ is now known as edsu
ygrek has quit [Ping timeout: 268 seconds]
<jbenet>
hmmm. maybe i dont know what i'm talking about. you likely know this stuff better than me. i just worry about moving in a direction that's very hard to move out of, it's happened before in other parts of our codebases and it makes it very expensive in time to undo or to move through. (one example is the init/main part of go-ipfs. it's a quagmire)
<dignifiedquire>
I just feel a whole ui framework like bootstrap is much harder to maintain in the long run and an unneeded abstraction. We could easily write a couple of guidelines and document the components we have to give people an easy way in to using it
<dignifiedquire>
*them
HostFat has quit [Read error: Connection reset by peer]
<jbenet>
ok maybe propose it that way, and show how easy it would be for someone else to come in and use or add a new component to the mix.
<dignifiedquire>
Okay, I’ll do that, as soon as things are properly working
<ion>
Let's simply create an abstraction over bootstrap/flexbox! :-P
<jbenet>
ok sounds good -- the sooner the better as decreases time investment in that direction (i really hate having to be like "hmmm this doesn't work, we need to redo in some other way" it sucks for everyone)
<dignifiedquire>
jbenet: oh yes, it’s one of the greates discoveries I made in the last year
<jbenet>
dignifiedquire: anything else to discuss on electron-app front atm? richardlitt: anything on your end?
akhavr1 has joined #ipfs
<richardlitt>
jbenet: you in the hangout?
<dignifiedquire>
jbenet: no I’m good from my side, if you are happy with my jellyfish
akhavr has quit [Ping timeout: 246 seconds]
akhavr1 is now known as akhavr
<richardlitt>
jbenet: I'm not doing anyhting on electron-app at the moment, and I'm waiting for krl to come back to help with starlog, I don't understand polymer enough and am not sure where to jump in.
wopi has quit [Read error: Connection reset by peer]
darain has joined #ipfs
Bedlamb has quit [Quit: Leaving.]
wopi has joined #ipfs
darain has left #ipfs [#ipfs]
Bedlamb has joined #ipfs
mildred has quit [Ping timeout: 246 seconds]
<richardlitt>
OMG that jellyfish is beautiful.
<rschulman>
Ooh, thanks for the unsplash link.
M-matthew has quit [Quit: node-irc says goodbye]
M-matthew has joined #ipfs
M-matthew has quit [Client Quit]
M-matthew has joined #ipfs
M-matthew has quit [Client Quit]
M-matthew has joined #ipfs
M-matthew has quit [Client Quit]
<jbenet>
whyrusleeping: let's talk go-ipfs in ~15min. talk infra later when lgierth returns and node-ipfs when daviddias arrives (plane)
<whyrusleeping>
sounds good
M-matthew has joined #ipfs
M-matthew has quit [Client Quit]
M-matthew has joined #ipfs
M-matthew has quit [Client Quit]
M-matthew has joined #ipfs
Spinnaker has quit [Ping timeout: 256 seconds]
Spinnaker has joined #ipfs
akhavr has quit [Ping timeout: 252 seconds]
legobanana has joined #ipfs
<dignifiedquire>
richardlitt: thanks
<dignifiedquire>
rschulman: you are welcome :)
jimbeam has joined #ipfs
<jimbeam>
Hey anyone in nyc and interested in meeting up?
mildred has joined #ipfs
<jimbeam>
Gtg -- will be back to ask again later
<whyrusleeping>
jimbeam: i beleive that jbenet is usually in NYC
<jimbeam>
oh cool
<jbenet>
jimbeam: yep, i'm here. i've been meaning to start a meetup here. need to find a good regular loc, and some help organizing (i've too much on my hands atm)
HostFat has joined #ipfs
elasticdog has joined #ipfs
<jimbeam>
Awesome I will get in touch again soon!!
NeoTeo has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
captain_morgan has joined #ipfs
Eudaimonstro has joined #ipfs
<amstocker_>
however, now if I do `nc -l 5002 &` and then `ipfs --api /ip4/127.0.0.1/tcp/5002 add -r test` it hangs
Bedlamb has quit [Quit: Leaving.]
dignifiedquire has quit [Quit: dignifiedquire]
livegnik has quit [Quit: No Ping reply in 180 seconds.]
Bedlamb has joined #ipfs
livegnik has joined #ipfs
<jbenet>
sorry lurkers, we devolved to random bitching about the network stack :)
<ion>
No problem, it was all interesting.
<doei>
same ^
<CaioAlonso>
yeah
<shoman5>
i got a question -- how would dynamic content work?
qgnox has joined #ipfs
<nikor>
shoman5: i think you would use ipns
qgnox has quit [Client Quit]
<shoman5>
like say i've got an app that you can log in to, or post comments with -- it would have to use both ipfs and .. sockets to my server?
<nikor>
do you want to have the comments stored on the server or on ipfs?
Yeelk has quit [Ping timeout: 246 seconds]
jhulten_ has joined #ipfs
bedeho has quit [Read error: Connection reset by peer]
<shoman5>
maybe comments was a bad example -- how about something like a bulletin board where users can view specific content based on what rank they are
<shoman5>
all the formatting of the page and structure would be hosted on ipfs and the actual content .. elsewhere?
qgnox has joined #ipfs
tsenart has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
<nikor>
you could definitely do that
bbfc has left #ipfs [#ipfs]
tsenart has joined #ipfs
<shoman5>
is there anything already like that (any type of dynamic content) that has examples i can take a look at?
<nikor>
you might be able to have the content locked with a differet private key based on rank..
<doublec>
shoman5: it discusses some of the ways of dealing with dynamic content
funny has joined #ipfs
jfis has quit [Quit: s]
<lgierth>
whyrusleeping: o/
<lgierth>
let me boot that laptop (it has a mic)
<lgierth>
whyrusleeping: we can do another day too, as i said i'm here, just not taking new tasks for these two weeks. we're definitely not going to benin next week btw :)
<whyrusleeping>
lgierth: lol, okay
<whyrusleeping>
we can do a text walkthrough of the inf stuff if youd like
<whyrusleeping>
i left my headphones at my apartment accidentaly
tsenart has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
<lgierth>
whyrusleeping: i know it sucks that you have to do the cjdns setup dance in order to access metrics.i.ipfs.io :( we'll have a little node cli for all that soon
<lgierth>
solarnet readme is up-to-date
qgnox has quit [Ping timeout: 264 seconds]
<whyrusleeping>
lgierth: awesome
<whyrusleeping>
and i needed to figure out cjdns anyways
Bedlamb has quit [Quit: Leaving.]
Bedlamb has joined #ipfs
tsp has joined #ipfs
<whyrusleeping>
actually having read through the readmes now, everything makes sense
<tsp>
I'm playing with IPFS. I added a file with ipfs add test.txt and got a hash, and was able to successfully read it on ipfs.io.
<tsp>
ipfs pin ls doesn't show it, but i can still ipfs cat it after I ran ipfs repo gc. What am I missing? I'm expecting it to disappear since I didn't pin it, and I'm now offline so it can't get it from another peer.
<achin>
try ipfs pin ls --type=recursive
<lgierth>
whyrusleeping: sorry,a ctually the updated readme is in the PR
<achin>
ipfs is just being silly: when you pin something it, by default, is a recursive pin. but when you try to list the pins by default ipfs doesn't show recursive pins
<achin>
tsp: you can't, since the hash only contains the file contents
<tsp>
Then how does hash/readme work? I know I got one when I ran ipfs init.
<lgierth>
that hash's content is a unixfs-directory, in that case, with a link "test.txt" to the file's content
<lgierth>
so it's /ipfs/<hash>/test.txt
<tsp>
Can I tell that something is a directory by examining the hash?
<achin>
try "ipfs ls <hash>"
<achin>
or more advanced: ipfs refs --format "<dst> <linkname>" <hash>
faddat has joined #ipfs
<tsp>
Thanks. Running ipfs cat on a directory hash somehow tells it's a directory.
qgnox has joined #ipfs
<achin>
there are a few levels of abstraction that are hidden from you, but that ipfs knows about. running "cat" on that hash caused ipfs to download and notice that it was marked with type=Directory
<jbenet>
sorry, blame me for the pin UX. this will change in the future.
<achin>
but this data isn't easily exposed. if you run "ipfs object get QmPXME1oRtoT627YKaDPDQ3PwA8tdP9rWuAAweLzqSwAWT" you can see a "data" field with some binary data
<achin>
this data is actually a serialized protobuf structure that contains some info about this object
* rschulman
throws stones at jbenet.
<tsp>
Sorry for all the newbie questions, I'm just trying to understand this.
<achin>
no problem
<achin>
are you familiar with protocol buffers?
<tsp>
Not really.
<achin>
if so, there are two files that might help a lot. if not, then they might confuse a lot :)
<tsp>
Wait, objects have a name. So can't I get that back?
<tsp>
But it's optional, so might not be there.
<tsp>
Oh, that's links.
<achin>
the Name is part of the PBLink
pfraze has quit [Remote host closed the connection]
<dansup>
rschulman, you still on hyperboria?
<tsp>
So if the object has links, it's a directory?
<achin>
a directory (unless it is empty) always has links
<achin>
but if something has links, it is not always a directory
<tsp>
To put IPFS to a more practical purpose, say I wanted to upload my relatively small fanfiction archive. I have about 740000 files, would I just pin each one? How would I then handle updates to those files?
<achin>
for example, QmTGZeqJpxeCbwuxQfiaVfSgJyJwg745h253Kt5uJzKmD8 has 2 links, but this is a file
<sonatagreen>
You probably want to recursively add the directory containing all of them.
<sonatagreen>
When some of them have updated, re-add the directory; it'll intelligently reuse the unchanged files.
<achin>
QmTGZeqJpxeCbwuxQfiaVfSgJyJwg745h253Kt5uJzKmD8 was a large file, so it was split up into two chunks (two PBNodes). you can see the size of each by running "ipfs ls" on that hash
<achin>
recursively adding a directory ('ipfs add -r') will add everything, and then "recursively pin" the directory. this means the hash of the directory will have a pin type of "recursive" and each thing linked from that directory witll have a pin type of "indirect"
Bedlamb has quit [Quit: Leaving.]
<tsp>
If I re-add the directory, will others have to pin the new directory hash?
<tsp>
Then how can they delete pins of older versions that aren't in that directory?
<achin>
there isn't a good story at the moment on how to easily unpin the old version of the directory
<achin>
right now you would have to write down the hash of the directory and then run "ipfs pin rm -r <hash>"
Bedlamb has joined #ipfs
<jbenet>
what we need is pins on ipns addresses directly, that will improve a lot of this ux.
<achin>
but IPFS is smart enough to know that if the same file is in both the old directory and the new directory, it'll stay pinned (because the new directory indirectly pins it)
<achin>
and yes, once you add/pin the new directory, others will have to pin it to make the content available if your node goes offline
<tsp>
Does ipfs pin also get the content in the background?
<achin>
no
<achin>
"ipfs pin" will continue to run until everything has been downloaded
<achin>
there isn't a good UI right now (no progress bars or ETAs), but that will improve in the future
<tsp>
What happens if I interrupt it in the middle? Can I rerun to resume?
<achin>
yes, i believe so. i've not heard of any reports of that breaking anythinh
<tsp>
If I remove a file from a directory, I assume ipfs add won't remove that file, so I'd have to track that manually?
<sonatagreen>
I've occasionally had to kill and restart the daemon after interrupting a long-running pin command
<achin>
if you remove a file from a directory, you'll want to re-run "ipfs add -r" on that directory. the result will be a different hash (since the directory contents are different)
<achin>
recall that in IPFS, all objects are immutable. they can't be changed (ever)
<achin>
you can only add new objects
<sonatagreen>
so after you change something, you'll need to tell people the new hash
<sonatagreen>
(ipns exists for this purpose)
<tsp>
So the directory is a snapshot of its contents as it existed when I added it. If I remove or otherwise modify something and re-add, the directory gets a new hash.
<achin>
yup
<tsp>
So the next logical step up from that is to say ok, I want to call this hash tsp-fanfiction. Unpin the old one recursively, reset the pointer of tsp-fanfiction to the new one because it just got updated and re-pin.