<cryptix>
spikebike: hope you didnt google that for me.. :) thanks though looks like a good starter
<spikebike>
cryptix: heh, I did, but I was curious anyways
<spikebike>
although if I jump in to something like that it will be on android
<spikebike>
distributed/p2p widgets and handling iOS/android has been an interest of mine
<cryptix>
spikebike: :) also interesting (also gomobile :D)
<cryptix>
for android id have to learn all that api and JNI and ... _java_ :x had enough anrdoid for a spin with my thesis lately
<spikebike>
ah, yeah, wonder how hard it would be to write an android service with gomobile that handled intents from android apps
<cryptix>
yup :) that would be it also
<cryptix>
also the intent hooks are everywhere possibly
<dansup>
Igel, fancy seeing you here
<cryptix>
id like to pinbot with a tap basically
hellertime has joined #ipfs
<zignig>
whyrusleeping: are you there ?
<zignig>
o/ cryptix :)
<cryptix>
hey zignig :D
<zignig>
what's cooking ?
<cryptix>
technical part of my thesis is done! now i have to get through the writing part.. besides that: to much braincrack and unfinished project ideas ^^
<whyrusleeping>
zignig: sup
<spikebike>
cryptix: write down your ideas and save them for post thesis.
<zignig>
YAY! , writing a thesis is brain melting. I had to watch kids TV do almost nothing for months after I finished mine.
<zignig>
otherwise my brain would hurt.
<spikebike>
I find it much easier to stop thinking about something interesting if I know it's in the queue
<cryptix>
zignig: yea.. cant wait for that :)
<cryptix>
spikebike: doing that :))
<zignig>
whyrusleeping: ipfs ls <BIG HASH> appears to try to download the whole hash.
<zignig>
shouldn't it just get the top level object and list the refs ?
<dansup>
anyone on hyperboria? I am experimenting with ipfs support for one of my services
<dansup>
hi ansuz
<ansuz>
hi
<cryptix>
dansup: lgierth is
doublec_ is now known as doublec
<ansuz>
lgierth and larsg are like clark kent and superman
<ansuz>
totally not the same person
<ansuz>
one wears glasses
<dansup>
heh
<dansup>
I will admit I was skeptical of ipfs at first, but it does have its uses, especially for sharing files
<zignig>
dansup: it still needs a lot of work , but people making 'services' ( like you ) is the best way forward for making it better.
<dansup>
zignig, sounds good. its not a hugely popular service but it has over 10k (mostly public) files on the hyperboria network
simonv3 has quit [Quit: Connection closed for inactivity]
<dansup>
and adding a "download via ipfs" link should be easy if I can run an ipfs instance and seed them
bedeho has quit [Ping timeout: 265 seconds]
<zignig>
yes and once there is a large number of active node ( and bitswap is a little more optimized ) it will just get faster.
<zignig>
mainline is a great example of a HUGE dht that has scaled remarkably well.
<dansup>
i might setup a hyperboria gateway eventually, but i think I will use the ipfs one for now (if people need it)
<davidar>
zignig (IRC): o/
<dansup>
would something like gnu/social - a gnu twitter clone be feasible with ipfs? I imagine it would require some ipfs aware client to build the timeline and such
<davidar>
spikebike (IRC): +1 ipfs for android
<davidar>
dansup (IRC): I have a hyperboria node, but lgierth is definitely the one to talk to
<dansup>
oh I know lars, I was wondering if any of you guys operated a cjdns node. Have you considered it?
<spikebike>
davidar: heh, yeah, something like that. IPFS is a bit of a moving target at the moment, but IMO battery operated phones/tablets need a client node that doesn't require being awake/online all the time. Or if you prefer the opposite view is some IPFS nodes could be supernodes (assumed to be online for long periods with cheap/free cpu/power.
<spikebike>
ideally they could share an identity though.
<zignig>
davidar: o/
<davidar>
cryptix (IRC): good luck with the writing, I empathise :)
<davidar>
spikebike (IRC): mobile ipfs nodes for local p2p, full nodes while charging on WiFi to pay for leaching during the day
<cryptix>
davidar: thx :))
bedeho has joined #ipfs
<davidar>
dansup (IRC): haven't really found much use for cjdns yet though tbh :(
<spikebike>
generally anything distributed/p2p/dht related seems inappropriate as a android/ios service.
<spikebike>
however it could talk to IPFS nodes via the same over the wire protocol/api
<cryptix>
dansup: is gnu/social part of the gnunet project? that would need a special client (if you are into that you might want to bring some of them folks over to the recent tor/multiaddr plugging discussion)
<spikebike>
that way a client could say get <hash> and the IPFS node would get it even if not locally cached/pinned.
<cryptix>
(also run a cjdns node but lost my key in the vm crash and setting it up was a bit weird (first use bias maybe) i like how it blends in with the tun interface in the system simply
<dansup>
cryptix, gnu/social is not a part of gnunet, it is a typical php/mysql webapp
<cryptix>
dansup: ah... just lost interest :X
<spikebike>
I've been tracking p≡p, was surprised that they plan to use gnunet as a transport
<cryptix>
(just the php part, a twitter clone would be awesome on i2p)
<cryptix>
aeh ipfs**
captain_morgan has quit [Ping timeout: 246 seconds]
<cryptix>
i need sleep.. /ipfs/QmdrX2NDR2LZprkGaNa4rx3kad56C5Qnkjzy3Xg6yH59dg
<cryptix>
zignig: also like the idea of ratelimited 'ipfs refs'
<dansup>
cryptix, nothing wrong with modern php :) Anyways, I imagine it would be a bit difficult to vet authenticity in the current implementation of gnu/social
<cryptix>
yea - you need to think it up from the ground like ssbc
<davidar>
spikebike (IRC): I dunno, I think mobile nodes would be useful, they'd just operate differently
<cryptix>
cant wait for them to lunch..
<zignig>
cryptix: you could have a big hash downloading in the background and still get specificly requested files at full speed.
domanic has quit [Ping timeout: 246 seconds]
<spikebike>
davidar: even a few packets a minute would be painful on a phone/tablet. Unless it's directly because of something the user needs right hen.
<zignig>
cryptix: cute bunny
<davidar>
spikebike (IRC): you wouldn't do that on mobile (unless it's plugged in)
<cryptix>
zignig: yup! and sometimes i'd like a log of what am i seeding or if it is just dht influx.. traffic spikes can be weird. rate limites per system or peer might be handy
<spikebike>
davidar: sure, or even bettter plugged in + wifi.
<cryptix>
every torrent clinet has a choke mode - ipfs will need that sooner or later as well
<davidar>
spikebike (IRC): local p2p over Bluetooth, etc would be very useful for saving data/power
<davidar>
spikebike (IRC): that's exactly what I said 10min ago ;)
<spikebike>
not sure p2p makes sense any more with newer wifi, pretty sure wifi beats bt by a fair bit on bytes per watt.
<davidar>
spikebike (IRC): OK, WiFi direct, or whatever
<cryptix>
spikebike: did anybody try to rebuild that apple wifi sidechannel stuff?
<davidar>
Whatever kids these days use :p
<cryptix>
otherwise id guess bt is easier to mesh?
<davidar>
Ipfs using *all the radio frequencies* :p
pfraze has quit [Remote host closed the connection]
<cryptix>
davidar: we cant be picky on mars... :P
<spikebike>
cryptix: there's a wifi direct effort that's still moving forward afaik, that should make connecting directly over wifi much easier
<davidar>
spikebike (IRC): also what I just said...
<cryptix>
davidar: is there an ipfs matrix node now? i can't keep up with gh notifications currently
<cryptix>
(not native ipfs but different from the matrix.org gateway - think there was something planned)
<davidar>
cryptix (IRC): not yet, waiting for lgierth to sort out ipv6 addresses
<cryptix>
(the recent jabber.ccc.de crash taught me again to distribute more.. :)
<cryptix>
s/crash/downtime/
<multivac>
cryptix meant to say: (the recent jabber.ccc.de downtime taught me again to distribute more.. :)
<cryptix>
lol davidar: actually dont now how to feel about multivac doing that.. would be nice if it would edit history... :P
<davidar>
cryptix (IRC): hehe, soon multivac will correct you before you've even said anything :p
<cryptix>
challenge accepted :P
<ansuz>
davidar: what's the issue with ipv6 addresses?
<davidar>
Actually, where is lgierth? Here's been offline for a while...
<davidar>
ansuz (IRC): the irc bridge needs a unique ipv6 address per user
<davidar>
To prevent abuse, etc
<davidar>
Apparently digital ocean has crap ipv6 support
<kandinski>
is there a cli app like git for managing IPFS trees?
<cryptix>
kandinski: there is git-remote-ipfs ;)
<kandinski>
of course
<cryptix>
(need to get back on that, i know..)
<cryptix>
kandinski: for direct dag manipulation, there is the 'ipfs files' tooling incoming
<davidar>
cryptix (IRC): I think whyrusleeping is working on a staging area or something
<kandinski>
so I was thinking how I would publish a blog on IPFS, and the answer is "use your favourite static blog, and use git-over-ipfs"
<davidar>
Oops, @freenode_kandinski:matrix.org
<cryptix>
davidar: yea i'm reviewing the PR right now :)
<davidar>
cryptix (IRC): sorry, wrong nick :p
<davidar>
kandinski (IRC): don't even need git to host static html
<kandinski>
but I guess I do need to publish the hash for any document that's changed
<cryptix>
kandinski: just re-add the generated html
<kandinski>
davidar: for managing changing documents
<davidar>
kandinski (IRC): you publish the new root hash, yes
ei-slackbot-ipfs has quit [Remote host closed the connection]
ei-slackbot-ipfs has joined #ipfs
<vanila>
is there any project to make a discussion board or something with ipfs?
mildred has joined #ipfs
<ion>
Are any of the ipfs.pics folks here?
Marty__ has joined #ipfs
hellertime has joined #ipfs
danslo has quit [Remote host closed the connection]
crainbf has joined #ipfs
<crainbf>
I’m going through the getting-started page. ‘ipfs cat /ipfs/QmPXME1oRtoT627YKaDPDQ3PwA8tdP9rWuAAweLzqSwAWT/quick-start’ returns ‘Error: merkledag: not found’.
<crainbf>
Does somebody know what I’m missing?
<crainbf>
Ah now I ran ‘ipfs daemon’ in another terminal and it worked.
<cryptix>
hmm crainbf hmm thats interesting. usually the local node comes with the most recent 'wecome data'
<cryptix>
ipfs.io might be out of sync with the version you are running
<crainbf>
I just downloaded it so it should be the latest
<ilyaigpetrov>
May I ask not on non-ipfs but on distributed architecthure in general here?
<cryptix>
jup - ipfs.io might be older too.. was it from the 'ipfs init' output?
<crainbf>
It was from ipfs.io
<cryptix>
ilyaigpetrov: asking is for free here :)
<cryptix>
crainbf: yea - all the older version are pinned on the global swarm. so running 'ipfs daemon' allowed you to fetch it from the net. the beauty of content addressing for you.. :))
<crainbf>
I don’t totally follo
<crainbf>
w
<cryptix>
crainbf: sorry
<cryptix>
crainbf: without running 'ipfs daemon' you only access what is fetched locally already
<crainbf>
okay
<crainbf>
And the local files were not in sync with what it says on ipfs.io?
<cryptix>
yea. you might wan
* cryptix
sighs
<cryptix>
you might want to compare the hash on the side with the output from 'ipfs init' (you need to delete $HOME/.ipfs now to run init again) as an educational tour. they should have different root hashes
<ilyaigpetrov>
Is latency a problem with DHT? Will be DHT-based IRC as fast as freenode?
<crainbf>
Ok deleted it and ran ipfs init again.
<vrs>
ilyaigpetrov: depends on your dht implementation and I wouldn't straight map irc to ipfs
<crainbf>
You mean this hash: ipfs cat /ipfs/QmVtU7ths96fMgZ8YSZAbKghyieq7AjxNdcqyVzxTt3qVe/readme
<crainbf>
(Different indeed from the website)
<vrs>
ilyaigpetrov: for example how'd you represent join/part in a medium that is fundamentally public? by crypto?
<cryptix>
crainbf: yup. /ipfs/$hash/some/dir/structure < $hash is what we usually call the root hash here
<cryptix>
vrs: the people at matrix.org are currently figuring all that out and might switch to ipfs :)
<vrs>
"decentralised persistent communication"
<vrs>
"persistent"
<vrs>
doing it wrong
<ilyaigpetrov>
vrs: channel names are keys, userlist is kept as DHT[key] -> { userlist: [...] }. I don't know dht very well.
<ilyaigpetrov>
vrs: persistent? I'm not going to keep logs
<vrs>
ilyaigpetrov: but the ipfs layer does
<crainbf>
Cool. Great. I’ve been going through the getting started bit and did all the foo/bar stuff. Then I did ipfs ls [hash] which works. But when I run ipfs ls [hash] again it says merkle dag not found. How come?
<vrs>
(quoting from matrix.org)
<ilyaigpetrov>
vrs: ah, yep, I just don't know any other channel for distributed stuff on the freenode, so I ask here.
<vrs>
unless the chatting goes over something specialized?
<cryptix>
vrs: not sure what part that is facing. ipfs has a rest-ish api too
<cryptix>
vrs: might want to pick davidars brain about it - i'm just pointing in directions.. :)
<cryptix>
crainbf: did you stop your daemon? we need better errors. the one indicates 'i didnt find it locally' the other one is 'i couldnt find it on the global swarm'
<ilyaigpetrov>
vrs: I don't get it, what do you mean. Chatting is not specialized, it should work as irc/freenode
<cryptix>
(the same hash should work instantly..)
<vrs>
I wonder how they do message ordering?
<crainbf>
I didn’t stop the demain, but it is returning an error message “ too many open files, retrying in %dms200 “
<cryptix>
vrs: i think M-matthew is deep into matrix.org
<cryptix>
crainbf: yea 'daedline exceeded' is the timeout error i meant when it looks on the net
<crainbf>
Why is that happening?
<ilyaigpetrov>
vrs: message ordering may be done by client, whether by timestamps in message body or by time of arrival
<cryptix>
(i also started seeing the to many open files' error recently more and more... :-/ cc whyrusleeping jbenet)
<cryptix>
crainbf: if you are requesting the same address, it shouldnt. if you are requesting another path with the same root hash, that might indicate that your local node hasnt yet fetched all the content under the root hash yet
<cryptix>
crainbf: you can use 'ipfs refs -r $rootHash' to do that
<vrs>
ilyaigpetrov: that already makes it very much unlike irc; while irc has no canonic message ordering it has certain bounds on it (in practice)
<cryptix>
that also has no timeout - if it doesnt advance (output hashes) that might indicate that you cant reach any node on the net that has any of it
<cryptix>
crainbf: yea.. i hope you saw the node about alpha software... :))
<cryptix>
crainbf: its an irc bot we use to keep data available
<crainbf>
Sure ;)
<crainbf>
We’re recording a podcast with Juan on Sunday so want to get to know ipfs a bit beforehand
<cryptix>
oh cool - for what show is that?
* cryptix
is an podcast addict
<crainbf>
Epicenter Bitcoin
<crainbf>
cool ;)
<cryptix>
i'll check it out
<crainbf>
Great. Let us know what you think. Should get out on 10/12
<cryptix>
and if you have any questions - ask away :)
<cryptix>
i'm on holidays in two days but i will when i'm back
<crainbf>
I definitely will. Thanks for your help!
crainbf has quit [Quit: crainbf]
* daviddias
subscribed! :)
captain_morgan has quit [Ping timeout: 240 seconds]
alu has quit [Quit: WeeChat 1.3-dev]
captain_morgan has joined #ipfs
akhavr has quit [Ping timeout: 264 seconds]
akhavr has joined #ipfs
dignifiedquire has quit [Read error: Connection reset by peer]
akhavr has quit [Ping timeout: 246 seconds]
akhavr has joined #ipfs
konubinix has quit [Ping timeout: 240 seconds]
akhavr has quit [Remote host closed the connection]
konubinix has joined #ipfs
akhavr has joined #ipfs
danslo has joined #ipfs
crainbf has joined #ipfs
ilyaigpetrov has quit [Read error: Connection reset by peer]
<lgierth>
.
<multivac>
lgierth: 2015-09-30 - 03:32:47 <M-davidar> ask lgierth to split the raid on Pollux
<cryptix>
.
<cryptix>
:[
DrPete has joined #ipfs
<ion>
.ask cryptix the ultimate question about life, the universe and everything
<multivac>
ion: I'll pass that on when cryptix is around.
DrPete_ has quit [Ping timeout: 256 seconds]
<cryptix>
hehe
<multivac>
cryptix: 2015-10-01 - 13:12:05 <ion> ask cryptix the ultimate question about life, the universe and everything
pfraze has joined #ipfs
voxelot has joined #ipfs
sonatagreen has joined #ipfs
<afdudley>
ipfs doesn't have auth yet, right? but I can put it behind a https proxy?
voxelot has quit [Ping timeout: 246 seconds]
bashrc_ has joined #ipfs
akhavr has quit [Ping timeout: 264 seconds]
akhavr has joined #ipfs
nrtga has joined #ipfs
captain_morgan has quit [Ping timeout: 246 seconds]
dlight has joined #ipfs
crainbf has quit [Quit: crainbf]
crainbf has joined #ipfs
Encrypt has joined #ipfs
nrtga has quit [Quit: Leaving]
sseagull has joined #ipfs
mildred has quit [Ping timeout: 272 seconds]
svetter_ has quit [Remote host closed the connection]
<ion>
afdudley: If i wanted to provide an https gateway, i’d serve https using e.g. nginx and have it proxy requests to the locally running ipfs daemon.
<ion>
You could also configure a frontend server to require HTTP auth.
<_p4bl0>
hey, I was thinking, if I add something on IPFS, is there a way to know that I am the one who added it (e.g., to retrieve my node's id)? I guess the answer is yes but I want to be sure
bedeho has joined #ipfs
voxelot has joined #ipfs
pfraze has quit [Remote host closed the connection]
ygrek_ has joined #ipfs
hellertime has quit [Read error: Connection reset by peer]
<cryptix>
_p4bl0: yup - your node advertises that it has something
<_p4bl0>
ok thx
hellertime has joined #ipfs
od1n has quit [Ping timeout: 246 seconds]
pfraze has joined #ipfs
od1n has joined #ipfs
bedeho has quit [Ping timeout: 264 seconds]
Tv` has joined #ipfs
jhulten has quit [Ping timeout: 246 seconds]
NeoTeo has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
bedeho has joined #ipfs
akhavr has quit [Remote host closed the connection]
dlight has quit [Remote host closed the connection]
jfred has joined #ipfs
akhavr has joined #ipfs
NeoTeo has joined #ipfs
jhulten has joined #ipfs
<whyrusleeping>
_p4bl0: you cant really tell that you are the one who originally added it
<vanila>
is there any project to make a discussion board or something with ipfs?
<rschulman>
vanila: Yes, a few of us have been thinking about it.
<rschulman>
no concrete designs yet.
<vanila>
cool I'd like to join in
<sonatagreen>
merkledag seems like an excellent structure for a discussion board
<sonatagreen>
each comment is a node, links to zero or more parents
mildred has joined #ipfs
<vanila>
it seems hard to make it so that people can post to it
<vanila>
and extra difficult to make it distributed
<rschulman>
yes, the pub/sub side is the tough nut to crach
<rschulman>
crack*
cblgh has quit [Quit: Bye for now! ^_^]
cblgh has joined #ipfs
<sonatagreen>
I suspect this will get a bit easier once ipns gets cleaned up
<sonatagreen>
but it seems like it would basically have to be f2f
<sonatagreen>
to avoid spam
<sonatagreen>
either that or PoW
mildred has quit [Ping timeout: 255 seconds]
jfis has joined #ipfs
<whyrusleeping>
distributed forum is a really hard question
<whyrusleeping>
the primary issue in my mind is how you get a consistent view of the forum
<Xe>
PoW?
<whyrusleeping>
proof of work
<Xe>
I know overchan works via emulating an NNTP server network
<whyrusleeping>
but i'm starting to think that it might be cool to have an inconsistent view of the forum, and just see a collection of things that youre able to grab
<revolve>
distributed chat is easier
<whyrusleeping>
and maybe have the page flow as new content is discovered
<vanila>
maybe it would be fine to just implement whatever works best on ipfs
<sonatagreen>
afaict, the viable models are bitmessage or retroshare
<vanila>
if it needs to be consistent ok, if it's better to be inconsistent that is fine
<vanila>
my understanding is that as far as clients go, ipfs has GET
<vanila>
but what about POST?
<vanila>
would people have to run their own ipfs daemon in order to post
devbug has joined #ipfs
<sonatagreen>
that, or have a gateway that supports the forum
<vanila>
oh the gateways could be normal sites?
<sonatagreen>
i mean
<vanila>
but setting up a new gateway would be easy since all the data would be stored inside ipfs?
<sonatagreen>
maybe? dunno
<sonatagreen>
but like
<sonatagreen>
implementation aside, what do you want to accomplish
<sonatagreen>
assume pub/sub is solved; how are you going to address the issue of censorship vs. spam control?
<vanila>
very loosely: a distributed discussion forum/bulliten board - i can think of a lot of specifics but they could all be subject to change
<sonatagreen>
spam is the big question
ygrek_ has quit [Ping timeout: 272 seconds]
chriscool has joined #ipfs
<vanila>
you could require an account to post
<vanila>
and make it people have to get invited
<whyrusleeping>
how would you do distributed accounts?
cblgh has quit [Quit: Bye for now! ^_^]
cblgh has joined #ipfs
<sonatagreen>
public keys, obvs
<whyrusleeping>
but i can make as many of those as i want
<sonatagreen>
so?
<sonatagreen>
vanila, invited by who?
<sonatagreen>
mods? centralized. any user? either invites soon become available to all&sundry, or you're describing f2f.
<whyrusleeping>
okay, ignoring the spam problem. How do other users see what i post?
<vanila>
yeha that is a bad idea
<sonatagreen>
yru, presumably they pull updates from your ipns
atrapado has joined #ipfs
<whyrusleeping>
how do they know to pull from my ipns?
<sonatagreen>
new user introduction is the hard part, yes
<whyrusleeping>
yeah, and distributed moderation also becomes hard
<whyrusleeping>
unless anyone has a better idea, we have to depend on a single private keypair at some point in the system
<whyrusleeping>
that keypair can sign other keypairs to 'trust' them
captain_morgan has joined #ipfs
<whyrusleeping>
but thats still pretty centralized
<sonatagreen>
pretty sure that's not the model we want. very centralized.
<whyrusleeping>
yeah
<whyrusleeping>
so, one thought:
<whyrusleeping>
we use the dht provides system to announce participation in the system
<whyrusleeping>
if you have content for the forum, you provide the block containing 'forumnameorsomething'
<sonatagreen>
what about something more like tumblr? people have blogs, and we make it easy to reblog-with-reply
<sonatagreen>
you subscribe to people you want to hear from
<whyrusleeping>
then to load the forum, you can look for providers of that block, and then pull their /ipns/.../forum/ content
<whyrusleeping>
well, tumblr style is really easy to do
<whyrusleeping>
but theres no collaboration to it
<sonatagreen>
what do you mean by collaboration?
<vanila>
i want to go with ipfs on its own terms, not force my own ideas about what a distributed form would be onto it incase they might not mesh nicely
<sonatagreen>
i mean, in tumblr style, a theme blog is basically the same as a moderated forum
<sonatagreen>
the moderator reblogs/accepts posts that fit the theme
<sonatagreen>
=are on topic
<sonatagreen>
if it's easy, maybe that indicates it's a good fit for the platform?
<whyrusleeping>
well, its not really any better than just hosting static websites
<whyrusleeping>
i want to be able to have conversations
<whyrusleeping>
being able to have a comment thread is the key part
<sonatagreen>
...people totally have conversations on tumblr
domsch has joined #ipfs
<vanila>
sounds like ipfs tumblr is the most natural thing to make
<whyrusleeping>
hm, you can tell i've never spent any time there. My impression was it was just a series of independent blog posts
<sonatagreen>
when you reblog, you can add further text
<vanila>
people have to host their own tumble blogs by running the ipfs demon
<sonatagreen>
which results in long comment chains
<vanila>
but then you could also subscribe to other tumblers
<vanila>
and reblogging their post would just include its hash in your stream
<vanila>
a conversation could happen by people reblogging each others messages with a message added-
bsm1175321 has joined #ipfs
cojy has joined #ipfs
<whyrusleeping>
now you need a mechanism for discovering that someone has 'reblogged' your things
<sonatagreen>
spaaaaaaaaam
<vanila>
each tumbler would have their own domain name with ipns, which you would choose to subscribe to
<vanila>
if one of them is a spammer you'd just unsub
<whyrusleeping>
but how would you know how to subscribe to them in the first place?
<vanila>
that could be left out of scope of the system perhaps - then in practice you'd have to either use a search engine or have them link you it in IRC or something
<vanila>
oh i misread <whyrusleeping> now you need a mechanism for discovering that someone has 'reblogged' your things
<whyrusleeping>
yeap
<vanila>
that sounds like a hard problem
<sonatagreen>
also, when someone you follow reblogs someone you don't, you thereby find out that the someone you don't exists
<whyrusleeping>
its basically the same problem we were having earlier with a more traditional forum
<sonatagreen>
which in practice is how one tends to find new blogs on tumblr also
<tsenart>
lgierth: Waat. You're working at Protocol Labs??
<tsenart>
Long time no see!
<ipfsbot>
[go-ipfs] whyrusleeping created feat/no-symlink (+1 new commit): http://git.io/vcErP
<ipfsbot>
go-ipfs/feat/no-symlink fe66290 Jeromy: replace imports with absolute path instead of using symlink...
<daviddias>
richardlitt: nice :)
<ipfsbot>
[go-ipfs] whyrusleeping opened pull request #1773: replace imports with absolute path instead of using symlink (master...feat/no-symlink) http://git.io/vcEog
danielrf1 has joined #ipfs
svetter_ has quit [Remote host closed the connection]
tsenart has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
<spikebike>
interesting, sounds kinda like ipfs
<spikebike>
or at least potentially mutally beneficial
<blame>
when you add a file, and have a list of blocks to store, how does the node locate every location in the list?
<blame>
does it do a lookup for each item or batch them?
simonv3 has joined #ipfs
solarisfire1 has joined #ipfs
solarisfire has quit [Ping timeout: 255 seconds]
<whyrusleeping>
Blame: we do a query for each block to store the provides records
<blame>
we can do a LOT better than that
<whyrusleeping>
i would love your thoughts on how to make that more efficient
<blame>
up for a chat?
<whyrusleeping>
right now? sure
od1n has quit [Ping timeout: 255 seconds]
* blame
's internet just imploded. 1 min
legobanana has joined #ipfs
<whyrusleeping>
lol, okay
justarandomguy has joined #ipfs
<blame>
the basics are: You can overlap the work of placing multiple blocks
<blame>
rather than doing a query, use GetPeers (which hopefully returns all the peers)
od1n has joined #ipfs
CarlWeathers has quit [Read error: Connection reset by peer]
crainbf has joined #ipfs
crainbf has quit [Client Quit]
voxelot has quit [Ping timeout: 240 seconds]
crainbf has joined #ipfs
od1n has quit [Ping timeout: 240 seconds]
sonatagreen has quit [Ping timeout: 240 seconds]
NeoTeo has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
tsenart has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
<jbenet>
whyrusleeping Blame: we can obviously do better, and we will. but please note that's not going to change now or soon. and remember that we _require_ lots of things out of this, including random access to every block, _we do NOT_ dictate where blocks are stored at all, any node which has a block and is willing should be able to serve it (i.e. should be able
<jbenet>
to direct others to it) without implying storage of anything more than that block (prevent useless queries).
<whyrusleeping>
just discussing more efficient ways to do the same operations we're already doing
<whyrusleeping>
basically a way to do batch provides
<whyrusleeping>
and make fewer rpcs to acheive the same result
justarandomguy has quit [Quit: Bye!]
CaioAlonso has joined #ipfs
<ipfsbot>
[go-ipfs] jbenet pushed 1 new commit to master: http://git.io/vcuk4
<ipfsbot>
go-ipfs/master 5b2d2eb Juan Benet: Merge pull request #1739 from ipfs/ipns/patches...
<jbenet>
ipns landed ✈️
<whyrusleeping>
o.o
<ion>
\o/
chriscool has quit [Ping timeout: 246 seconds]
<jbenet>
(( for the listeners, this isnt our "full support" yet, this is a temporary patch to improve things, still not up to where we want to get to soon ))
captain_morgan has quit [Ping timeout: 240 seconds]
<whyrusleeping>
but now we dont feel so bad about telling people to use ipns
<whyrusleeping>
it should pretty much 'work' now
<ion>
How often does gobuilder do a build?
<spikebike>
whyrusleeping: cool, is there a tutorial/example showing the new ipns functionality?
<jbenet>
whyrusleeping: no, i still doubt that.
<jbenet>
whyrusleeping it will be better, but it's not close to the robustness i want.
<vanila>
what is the best place to read about the details of IPNS?
<jbenet>
whyrusleeping the robustness i want will involve much stronger guarantees for dht records in general.
<blame>
:D
<jbenet>
ion: our interface to gobuilder is broken because of godeps. i triggered a build just now, so should appear soon.
<ion>
ok, thanks
<blame>
jbenet: What sort of costs are you willing to look at for increasing dht record robustness?
<jbenet>
Blame: it depends on what runs the dht. meaning that in the long run, we will have multiple dht implementations to suit different use cases. the largest public network dht should be pretty robust but light on resource usage. yes, hard to do, but doable if we think carefully.
<jbenet>
(i know "pretty robust" and "light on resource usage" are not at all concrete :) )
<blame>
1 hop p2p backup is cheap and essentially squares the loss chance
<achin>
i still wish i had a way to know exactly what version of ipfs i was running !
<CaioAlonso>
achin, amen
<jbenet>
achin: you mean, git hash style? yeah i want that too.
zen|merge has quit [Read error: Connection reset by peer]
<achin>
yeah. i want a way to answer the question: "does my version have the new IPNS code?"
<whyrusleeping>
I'll write up a better tutorial on ipns now
<jbenet>
achin: re git hash it's not doable with "go get" but we can do it with our makefile.
<ehd>
mhm, the first paragraph makes me want to grab popcorn. i have no popcorn. i am sad and will continue reading the rest of the document.
<jbenet>
ehd: yeah the rest of the spec doesn't really deliver on that first paragraph. :)
<jbenet>
1 AU may have been too much ;P
<jbenet>
like, 1 AU-- all the crypto breaks. all things brute forced. brb removing that.
<ehd>
jbenet: high latency response: working on publishing the ipfs prosemirror stuff! i'd really like to learn about other p2p collaborative writing pads if anyone knows any
<ehd>
ahh. yes
<ehd>
you can even use an absolute timestamp
<jbenet>
OHH wait, no 1AU is totally fine.
<ehd>
0 BCB - before crypto breaks ;)
<ion>
% ipfs name publish QmWNV9fkZQNV4YiHJZfvnXRk9pzsRxUwmcP59nXDYGm1az
<ion>
Error: expired record
<ehd>
yeah, that's just distance
NeoTeo has joined #ipfs
<jbenet>
ion: hahaha --- whyrusleeping did you even test it?
Encrypt has quit [Ping timeout: 246 seconds]
<jbenet>
ehd: yeah i meant, for a second i thought 1AU was much larger. nvm
<achin>
i'm sorry if i'm being dense (or blind), but i recall hearing that a single node would eventually be able to publish to several different names (instead of the single name [peerid] of today's impl). is that still a planned goal? feel free to not bother answering until i've read the IPRS paper
bsm1175321 has quit [Remote host closed the connection]
<ehd>
ah.
<whyrusleeping>
totally tested this on iptb multiple times
<whyrusleeping>
although, i didnt test it on a network whose nodes had older code
<jbenet>
whyrusleeping: should i revert then?
<whyrusleeping>
i was just able to publish something on two of my nodes after updating
<whyrusleeping>
let me play with it for a little bit
<jbenet>
ion want to explain more? o/
<whyrusleeping>
oh, i know what the issue is
<whyrusleeping>
if your node has an old record locally
<whyrusleeping>
dammit
jfis has joined #ipfs
<jbenet>
not enough testing
Encrypt has joined #ipfs
domanic has joined #ipfs
alu has joined #ipfs
crainbf has quit [Quit: crainbf]
Encrypt has quit [Quit: Quitte]
captain_morgan has quit [Ping timeout: 256 seconds]
hellertime has quit [Quit: Leaving.]
pfraze has quit [Ping timeout: 265 seconds]
pfraze has joined #ipfs
pfraze_ has joined #ipfs
pfraze has quit [Ping timeout: 265 seconds]
ygrek_ has quit [Ping timeout: 256 seconds]
<ehd>
jbenet: i've been doing this prosemirror thing partly to have a framework for starting by writing down ideas and getting to a working program with tests and nice documentation. kind of reminds me of the ipfs process where things start with lots of notes in gh issues
<ehd>
*starting projects/modules
CaioAlonso has quit [Quit: Leaving]
akhavr has quit [Ping timeout: 265 seconds]
jfis has quit [Read error: Connection reset by peer]
captain_morgan has joined #ipfs
CaioAlonso has joined #ipfs
pfraze_ has quit [Ping timeout: 264 seconds]
pfraze has joined #ipfs
dignifiedquire has quit [Quit: dignifiedquire]
atrapado has quit [Quit: Leaving]
pfraze has quit [Ping timeout: 264 seconds]
<daviddias>
whyrusleeping: the seq number on records is just interesting for IPNS, right? ( for e.g not needed for provider records )
<whyrusleeping>
daviddias: yeah
legobanana has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
<daviddias>
Cool, just wanted to make sure I was getting it right
<whyrusleeping>
yeah, that sequence number is part of the ipns record, not the dht record
<CaioAlonso>
I think ipfs.io Access-Control-Allow-Origin headers are misconfigured
<whyrusleeping>
CaioAlonso: oh?
<CaioAlonso>
currently it is returning a whitelist of domains
<daviddias>
Might be good to formalize these different schemes for records, as in saying Record with a ipns scheme or with a provider scheme. IPRS has a ordering function as part of the spec that is influenced by the record scheme
<daviddias>
whyrusleeping: cool :)
<CaioAlonso>
whyrusleeping, so instead of sending all the domains you allow, it seems the right way is to return the value of the Origin header if allowed or null if not allowed
<daviddias>
CaioAlonso: you are right, someone opened that issue, let me find it :)
<CaioAlonso>
oh, thanks, daviddias
<daviddias>
Thank you for letting a us know anyway :)
<ipfsbot>
[go-ipfs] whyrusleeping created fix/ipns-old-record (+1 new commit): http://git.io/vcuMB
<ipfsbot>
go-ipfs/fix/ipns-old-record 2cd0cb6 Jeromy: dont error out if prexisting record is bad, just grab its sequence number...
ygrek_ has joined #ipfs
simonv3 has quit [Quit: Connection closed for inactivity]
dawny has joined #ipfs
svetter_ has quit [Remote host closed the connection]
faleidel has joined #ipfs
<ipfsbot>
[go-ipfs] whyrusleeping force-pushed fix/ipns-old-record from 2cd0cb6 to 9b32223: http://git.io/vcuQB
<ipfsbot>
go-ipfs/fix/ipns-old-record 9b32223 Jeromy: dont error out if prexisting record is bad, just grab its sequence number...
legobanana has joined #ipfs
sonatagreen has joined #ipfs
bedeho has quit [Ping timeout: 255 seconds]
bedeho has joined #ipfs
<ipfsbot>
[go-ipfs] whyrusleeping force-pushed fix/ipns-old-record from 9b32223 to 989a5ed: http://git.io/vcuQB
<ipfsbot>
go-ipfs/fix/ipns-old-record 989a5ed Jeromy: fix publish fail on prexisting bad record...
<ipfsbot>
[go-ipfs] whyrusleeping opened pull request #1775: fix publish fail on prexisting bad record (master...fix/ipns-old-record) http://git.io/vcudt
devbug has quit [Remote host closed the connection]
devbug has joined #ipfs
NeoTeo has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
rendar has quit []
bedeho has quit [Ping timeout: 240 seconds]
<faleidel>
How come there is a way to add a file but I can't stop serving it?
bedeho has joined #ipfs
<achin>
you can un-pin the file from your node, which means the next time you run a gc, you'll stop serving it
<faleidel>
ipfs pin rm <hash> give me : Error: QmRTFLZqae5KF65xBcvXEhuNpMxev7zDRRgLkvHyHEcKqE is pinned recursively. What does recursive pinning even do?
<vanila>
pin it and its children, and their children, and ..
<achin>
"ipfs pin rm -r <hash>" will allow to recursively unpin something
<faleidel>
Cool. -r works. I wonder why a simple small text file was "recursively" pinned.
<whyrusleeping>
faleidel: everything is pinned recursively by default
<faleidel>
But why was ipfs pin ls returning nothing?
<achin>
because ipfs is silly :)
<achin>
you want "ipfs pin ls --type=recursive" (or maybe --type=all)
reit has quit [Ping timeout: 264 seconds]
<whyrusleeping>
yeah...
<whyrusleeping>
this is a thing i disagree with
<whyrusleeping>
every single person whos messed with pinning has had problems with it
<whyrusleeping>
recursive needs to be the default
<whyrusleeping>
you know what. i'm gonna submit a PR to do just that.
<faleidel>
Or a least documenting -r
<achin>
ipfs has pretty solid built-in docs. run "ipfs pin --help" for example
bedeho has quit [Ping timeout: 240 seconds]
<faleidel>
But it does not mention that ipfs pin rm support -r
<faleidel>
Oh ipfs pin rm --help does...
bedeho has joined #ipfs
faleidel has quit [Ping timeout: 246 seconds]
<jbenet>
ehd: any chance you could give us (me and whoever else is interested) a quick demo of prosemirror and so on (whenever works for you)? i think it may be higher throughput than looking at it. plus have various questions about direction.
<jbenet>
whyrusleeping: yes, im now convinced we should deviate from unix expectations. (gathered enough data i think)
<ehd>
jbenet: sounds good. krl was at the meetup btw and gave an awesome ad-hoc short intro to ipfs :)
<jbenet>
faleidel: our docs can be a lot better. please PR for that if you can improve them. (docs are as tricky as code though)
<jbenet>
ehd krl awesome! \o/
<ehd>
next week would work for me. traveling this weekend. wednesday maybe?