<whyrusleeping>
we resurrected an old macbook and found the hashes laying around
<whyrusleeping>
turned on an ipfs daemon
<whyrusleeping>
and they loaded up everywhere else :D
tilgovi has joined #ipfs
<lgierth>
:D
<lgierth>
good morning
<lgierth>
i was expecting it'd be wednesday morning when i'd wake up, now i'm a bit confused
<Kubuxu>
lgierth: better than me once when I was sick, I want to bed early, woke up in the night, I've held the watch upside down and I thought it was night of next day instead of very early morning
<Kubuxu>
like 3am vs 9 pm
bwerthmann has joined #ipfs
<lgierth>
:D
athan has joined #ipfs
<lgierth>
time for some late night supermarket shopping
skeuomorf has joined #ipfs
<whyrusleeping>
gooood morning lgierth <3
<AphelionZ>
What tine zones are y'all in?
<AphelionZ>
Time*
<AphelionZ>
Im in Boston, GMT-5 or some such daylight thing
<zignig_>
GMT+8
<whyrusleeping>
PST
<whyrusleeping>
AKA, UTC-9
<whyrusleeping>
er
<whyrusleeping>
UTC-8
<Kubuxu>
if you think about it, it is "morning" in CET
<Kubuxu>
whyrusleeping: this should fix tests on OSX
<lgierth>
tl;dr yes ipfs://$cid, and in the midterm dweb:/$path, where path could be /ipfs/$cid, /dat/$hash, /foo/$bar
<pawn>
So the ultimate goal would be a NURI structure: /protocol/path?
<lgierth>
yes but that's not very likely to become popualar anytime soon
<pawn>
I'm sure there has been much discussion about URIs and domains, but maybe I might have some ideas to add.
<pawn>
My idea would be that the link remains obfuscated
<pawn>
whether that be /ipfs/$hash or just simply /$hash in a browser address bar.
<lgierth>
yeah we haven't thought about the UI details in browsers much yet
<pawn>
Second, for domains, rather than using something like namecoin or some kind of distributed domain name registry, what if content named itself?
<lgierth>
it's very likely though that browsers won't let you have path-only addresses in the foreseeable future
<pawn>
lgierth: I know it might be jumping the gun a bit, but indulge me.
<lgierth>
s/don't/will/
<lgierth>
sure sure
<pawn>
Wait, clarify... They "will" or "wont"?
<lgierth>
ok i messed up won't and will, corrected: it's very likely though that browsers WON'T let you have path-only addresses in the foreseeable future
<lgierth>
(it was correct in the first place)
<pawn>
got it
<pawn>
Continuing on...
<pawn>
What if content named itself?
<pawn>
What I mean is, if a file wants to be named Google, it could be named Google.
<lgierth>
someone has to make sure there's only one file with that name when you request it
<pawn>
When a user types Google into their browser, it'll remember the last resource named Google and it'll open it.
<lgierth>
ah got it, kind of like bookmarks
<lgierth>
or pet names
<pawn>
lgierth: Yeah, like bookmarks only automatic.
bwerthmann has joined #ipfs
<lgierth>
but on the first load, how do you decide which file to pick
<pawn>
Now to prevent phishing (spoofing, whatever you want to call it)...
<pawn>
lgierth: If you haven't visited a resource named Google, then it should resort to searching.
<pawn>
And that brings me to another topic: distributed search indexes (dsearch engine)
<pawn>
Google's PageRank is a big part of their algorithm. It has a lot to do with how many links point to a resource. What's nice about IPFS is that popularity of a resource can be determined by how many other machines have a copy of that resource (along with other factors).
<pawn>
But I digress...
<pawn>
Back to talking about "petnames"
<pawn>
To prevent malicious spoofing, the browser should alert the users in a non-obtrusive way when a second resource is sharing a name of an already visited resource.
bwerthmann has quit [Ping timeout: 258 seconds]
<pawn>
It should show the user its identicon along and give them the option to use as the primary petname (the one that opens by default when entered in the address bar).
<lgierth>
yeah sounds good
* lgierth
all for it
<pawn>
This way, there is no domain name authority and no need to spend money to create content and a thing in the web (domains are expensive lol)
<pawn>
lgierth: Nice. No questions on security or problems you see with it?
<lgierth>
search is hard -- you have to make damn sure that the right stuff shows up and it can't be easily gamed
<lgierth>
of course the initial link doesn't neccessarily have to come from search
<pawn>
correct
<lgierth>
and you can use your existing petnames as a kind of web of trust to judge new links
<pawn>
yes
<lgierth>
i'd love for someone to build good UI around that
anaptrix has quit [Ping timeout: 255 seconds]
<pawn>
lgierth: I just might. I have an idea to fork Beaker and do this with it
<pawn>
Just had an idea
<lgierth>
hah go for it
<pawn>
In fact this is an old idea (2013 old), but I just remembered it...
<pawn>
I wanted to reinvent the URI schema with just a forward slash.
tperson has quit [Ping timeout: 276 seconds]
<lgierth>
we'll have proper /http multiaddrs soon
<pawn>
So, I shall make it a psuedo-standard: The Petname Schema. Petnames begin with a slash and are followed by an all-lowercase name with no spaces allowed (and possibly other characters). So a domain like google.com or wikipedia.org would simply be /google or /wikipedia respectively.
<lgierth>
just generally addressing, no full plan yet how to make use of it
<pawn>
Oh you're talking about the multiaddr standard.
<lgierth>
yeah
<lgierth>
no standard yet, just a thing
<pawn>
How well would the petname format fit in the multiaddr standard?
<pawn>
s/standard/nonstandard
<lgierth>
well you want something like /pet/foobar to resolve to /ipfs/somehash, just like /ipns
<lgierth>
addressing-wise it's relatively straightforward, it's an address that resolves to a different address(es)
<pawn>
Here is the reasoning behind why I think the "new domain names" should be formatted with a slash as a prefix and nothing else: When people talk about websites they usually know a website when they hear someone say "dot com". Sometimes they may recongnize "dot org" or "dot net", rarely "dot design" or "dot io" (unless your tech savvy). For this reason, the COM TLD is so valuable. It is generally understood to mean "websit
<pawn>
e". I'd like to reinvent that idea with "slash google" or "slash duckduckgo". When people hear the word "slash" followed by another word, they should know they are talking about a petname.
tperson has joined #ipfs
anaptrix has joined #ipfs
<pawn>
lgierth: Hmm, in order to follow more closely with multiaddr, I suppose it could be //foobar -> /pet/foobar -> /ipfs/somehash -> ...
<lgierth>
yeah your slash thinking is pretty in line with NURIs
<pawn>
link to the main explanation about NURIs?
<lgierth>
the browser knows how to wrap /example.net with other multiaddr protocols to form the full address
<lgierth>
we haven't summarized that into a quick doc yet -- generally the path addressing as in the issue comment i pasted earlier
<lgierth>
and eventually multiaddrs and these paths should be merged into one concept
<pawn>
I feel like "double slash foobar" is harder to verbally say.
<pawn>
lgierth: So it's not necessarily set in stone yet, multiaddr?
<lgierth>
it is pretty much -- we just haven't ever actually combined multiaddrs and paths
<pawn>
I see how multiaddr is attempting to combine multiple address schemas into one standard though. I feel like petnames would conflict with it a bit if they were simply proceeded with a single forward slash.
<lgierth>
for example /http/ipfs.io/ipfs/hash and /ipfs/hash reference the exact same thing
<lgierth>
it's just that the former contains a bit more connection information
<pawn>
lgierth: Right, one is more of a shorthand.
<pawn>
Or, actually one does the same thing through a different connection pipe-line
<lgierth>
i don't see pet names conflicting really -- /example.net is what it looks like on the UI layer, then more context gets added until its enough context to actually go and fetch that data
<lgierth>
e.g. /example => /pet/example => /ipfs/hash
<lgierth>
that's the N in NURI (nestable)
<lgierth>
you add more context to the address to signal certain ways of accessing the data
<pawn>
lgierth: but how will the browser know if /example/index.html is a petname of example and a path of index.html and not the protocol example and the extra information index.html?
<pawn>
I thought N in NURI meant "Non" haha
<lgierth>
for example it could simply not accept petnames conflicting with protocol names
<lgierth>
it's a UI problem
<pawn>
lgierth: So a blacklist of petnames? It could be done, but it would limit the protocol namespace.
<lgierth>
or you'd say your browser supports only petname addresses
shibacomputer_ has joined #ipfs
<lgierth>
no doesn't need be part of the spec. just your local browser having a list of the protocols it supports
<lgierth>
it's a UI problem
<pawn>
I see.
<lgierth>
petnames aren't valid globally
<pawn>
So the petname isn't apart of the spec necessarily.
arkimedes has quit [Ping timeout: 268 seconds]
<pawn>
Sure, it works for me. :)
<lgierth>
i'll be off for a bit, got errands to run
shibacomputer_ is now known as shibacomputer
<lgierth>
thanks for explaining your idea
<pawn>
Another alternative thought would be to call petnames "hashtags" and then allow names to look like #foobar
<pawn>
lgierth: Thanks for rubber ducking! Good luck with errands (almost typed "Google luck" haha). I'm off to bed too.
<pawn>
I think the problem with calling them hashtags is that they are already generally known as a categorical taxonomy, and it would be expected that a resource could have multiple hashtags (therefore not right for a single name for a resource).
pawn has quit [Remote host closed the connection]
rendar has joined #ipfs
Caterpillar has joined #ipfs
bwerthmann has joined #ipfs
bwerthmann has quit [Ping timeout: 268 seconds]
bren2010_ has quit [Ping timeout: 260 seconds]
ShalokShalom_ has joined #ipfs
noffle has quit [Ping timeout: 258 seconds]
zabirauf has quit [Remote host closed the connection]
zabirauf has joined #ipfs
ShalokShalom has quit [Ping timeout: 264 seconds]
bren2010 has joined #ipfs
tmg has quit [Ping timeout: 258 seconds]
zabirauf has quit [Ping timeout: 260 seconds]
zabirauf has joined #ipfs
_whitelogger has joined #ipfs
noffle has joined #ipfs
zabirauf has quit [Ping timeout: 240 seconds]
_whitelogger has joined #ipfs
_whitelogger has joined #ipfs
ZaZ has joined #ipfs
_whitelogger has joined #ipfs
zabirauf has joined #ipfs
zabirauf_ has joined #ipfs
zabirauf has quit [Ping timeout: 240 seconds]
aquentson has joined #ipfs
ylp has joined #ipfs
bwerthmann has joined #ipfs
s_kunk has quit [Ping timeout: 256 seconds]
Foxcool has joined #ipfs
bwerthmann has quit [Ping timeout: 240 seconds]
<whyrusleeping>
working on some cool UI updates to ipfs-pack
ShalokShalom_ has quit [Read error: Connection reset by peer]
zabirauf has quit [Ping timeout: 240 seconds]
arcaline1 has quit [Ping timeout: 240 seconds]
ShalokShalom has joined #ipfs
nausea has joined #ipfs
nausea has joined #ipfs
nausea has quit [Changing host]
arcalinea has joined #ipfs
maxlath has quit [Quit: maxlath]
maxlath has joined #ipfs
nu11p7r has quit [Ping timeout: 256 seconds]
nu11p7r has joined #ipfs
ianopolous has quit [Ping timeout: 246 seconds]
bwerthmann has joined #ipfs
s_kunk has joined #ipfs
robattila256 has quit [Quit: WeeChat 1.7]
bwerthmann has quit [Ping timeout: 240 seconds]
bwerthmann has joined #ipfs
bwerthmann has quit [Ping timeout: 240 seconds]
<haad>
whyrusleeping: looking great!
tmg has joined #ipfs
FrankPetrilli has quit [Ping timeout: 256 seconds]
ecloud is now known as ecloud_wfh
<whyrusleeping>
(note, that revision was trying to mimic ngrok)
FrankPetrilli has joined #ipfs
FrankPetrilli is now known as Guest31577
zabirauf has joined #ipfs
zabirauf has quit [Ping timeout: 240 seconds]
<cblgh>
alu: ipfs can run on the first raspberry pi (model b tho) just fine
<cblgh>
i'm trying to get docker + ipfs + pc running at the same time on one, which is proving interesting with the RAM it has
<gruu>
Am I understanding ipfs-pack right, if I want to do a one time send of some data to a friend I could use ipfs-pack to serve it instead of adding it to a normal ipfs node? And he could then download it throught his ipfs-go node for example?
Guest1703 has quit [Remote host closed the connection]
<gruu>
Kubuxu: Nice. Is ipfs-pack standalone or does it need a go-ipfs node running?
<Kubuxu>
it is stand alone, it runs its own ipfs node
<cblgh>
woah that's rad
<gruu>
Kubuxu: Cool.
<cblgh>
Kubuxu: so when you close ipfs-pack, nodes won't be able to get that data from you anymore?
<Kubuxu>
yes
<cblgh>
real neat
qbi has left #ipfs [#ipfs]
zabirauf has joined #ipfs
zabirauf_ has joined #ipfs
robattila256 has joined #ipfs
chrisdickinson has quit [Ping timeout: 260 seconds]
chrisdickinson has joined #ipfs
zabirauf has quit [Ping timeout: 268 seconds]
M-erwin is now known as ekroon
gmcabrita has joined #ipfs
ekroon_ has joined #ipfs
<gruu>
Does ipfs-pack make duplicates of the files or just a pack with hashes and then "seed" from the original file location?
<lemmi>
gruu: have a look at the readme, i think it covers that
<gruu>
lemmi: Looks like I somehow missed that when reading the readme earlier as it clearly states "avoids duplicating data". Thank you.
wallacoloo_____ has quit [Quit: wallacoloo_____]
<victorbjelkholm>
there is any place to help people who want to contribute but don't know where? Like a simple document outlining where people can help out
Foxcool has quit [Ping timeout: 240 seconds]
zabirauf_ has quit [Remote host closed the connection]
zabirauf has joined #ipfs
zabirauf has quit [Ping timeout: 268 seconds]
Foxcool has joined #ipfs
bwerthmann has joined #ipfs
bwerthmann has quit [Ping timeout: 268 seconds]
zabirauf has joined #ipfs
zabirauf has quit [Ping timeout: 260 seconds]
ShalokShalom has quit [Remote host closed the connection]
<Kubuxu>
whyrusleeping: they use the poller for os.File now
<Kubuxu>
so it is solved :D
<Kubuxu>
we can create our socket and use their poller if I understand it right
aquentson1 has quit [Ping timeout: 264 seconds]
<Kubuxu>
or not
<Kubuxu>
IDK
* whyrusleeping
shrugs
maxlath has quit [Ping timeout: 240 seconds]
jkilpatr has quit [Ping timeout: 260 seconds]
bwerthmann has joined #ipfs
bwerthmann has quit [Ping timeout: 240 seconds]
palkeo has joined #ipfs
tmg_ has quit [Ping timeout: 240 seconds]
jkilpatr has joined #ipfs
mdom has quit [Quit: Reconnecting]
mdom has joined #ipfs
nu11p7r has quit [Ping timeout: 268 seconds]
andoma_ is now known as andoma
jkilpatr has quit [Ping timeout: 264 seconds]
Guest45369 has quit [Ping timeout: 256 seconds]
bwerthmann has joined #ipfs
bwerthmann has quit [Ping timeout: 258 seconds]
bwerthmann has joined #ipfs
<NeoTeo>
Hey guys :) Any examples/documentation of the new `ipfs key` stuff other than what comes up in the client? The keystore proposal seems like a good starting point but I’m thinking more high-level stuff like what’s it for. These are not like ipns hashes right?
<seharder>
test-lab standup meeting will be at 19:00 UTC
nu11p7r has joined #ipfs
bwerthma1n has joined #ipfs
bwerthmann has quit [Ping timeout: 264 seconds]
Guest45369 has joined #ipfs
skeuomorf has joined #ipfs
dbri3 has quit [Remote host closed the connection]
ashark has joined #ipfs
dbri has joined #ipfs
shizy has joined #ipfs
aquentson1 has joined #ipfs
ShalokShalom has quit [Read error: Connection reset by peer]
ShalokShalom has joined #ipfs
Guest3823 has quit [Ping timeout: 268 seconds]
peasant is now known as vapid
pfrazee has joined #ipfs
ivo_ has joined #ipfs
corvinux has joined #ipfs
maxlath has joined #ipfs
ylp has quit [Quit: Leaving.]
ivo_ has quit [Quit: Leaving]
corvinux has quit [Ping timeout: 256 seconds]
__ has joined #ipfs
__ is now known as Guest16833
aquentson1 has quit [Ping timeout: 240 seconds]
jkilpatr has joined #ipfs
jkilpatr has quit [Ping timeout: 268 seconds]
Encrypt has joined #ipfs
ZaZ1 has joined #ipfs
gruu has quit [Ping timeout: 260 seconds]
ZaZ1 has quit [Read error: Connection reset by peer]
ZaZ has quit [Read error: Connection reset by peer]
ZaZ has joined #ipfs
bwerthma1n has quit [Ping timeout: 240 seconds]
ebel has quit [Ping timeout: 256 seconds]
ebel has joined #ipfs
aquentson1 has joined #ipfs
Guest16833 has quit [Ping timeout: 258 seconds]
ygrek has joined #ipfs
Foxcool has quit [Ping timeout: 240 seconds]
maxlath has quit [Ping timeout: 240 seconds]
skeuomorf has quit [Ping timeout: 240 seconds]
anewuser has joined #ipfs
maxlath has joined #ipfs
anewuser_ has quit [Ping timeout: 246 seconds]
ygrek has quit [Ping timeout: 256 seconds]
anewuser has quit [Ping timeout: 240 seconds]
anewuser has joined #ipfs
palkeo has quit [Ping timeout: 240 seconds]
s_kunk has quit [Ping timeout: 240 seconds]
skeuomorf has joined #ipfs
aquentson has joined #ipfs
aquentson1 has quit [Ping timeout: 240 seconds]
ZaZ has quit [Read error: Connection reset by peer]
A124 has quit [Quit: '']
A124 has joined #ipfs
galois_d_ has joined #ipfs
Mizzu has joined #ipfs
galois_dmz has quit [Ping timeout: 256 seconds]
ygrek has joined #ipfs
<seharder>
test-lab standup at 19:00 UTC
ianopolous has joined #ipfs
Encrypt has quit [Quit: Quit]
s_kunk has joined #ipfs
s_kunk has quit [Changing host]
s_kunk has joined #ipfs
galois_d_ has quit [Remote host closed the connection]
rendar has quit [Quit: std::lower_bound + std::less_equal *works* with a vector without duplicates!]
dimitarvp has joined #ipfs
ianopolous_ has quit [Ping timeout: 260 seconds]
dgrisham has quit [Quit: WeeChat 1.7]
wallacoloo_____ has joined #ipfs
espadrine has quit [Ping timeout: 240 seconds]
skeuomorf has quit [Ping timeout: 240 seconds]
skeuomorf has joined #ipfs
Encrypt has joined #ipfs
pawn has joined #ipfs
<pawn>
Hello! Collisions in secure hash algorithms are rare, but possible. What does the IPFS protocol do with collisions if and when they happen?
gmoro has joined #ipfs
<lgierth>
nothing
<lgierth>
too unlikely to bother
<lgierth>
when algorithms get weakened over time (like sha1 just did spectacularly), multihash allows us to migrate to a different algorithm without hassle
<mildred3>
daviddias: hello, care to talk about allocating a CID code for DHT records?
Guest31577 is now known as FrankPetrilli
mildred3 is now known as mildred
FrankPetrilli is now known as Guest86174
tmg has joined #ipfs
<daviddias>
hey mildred3 mildred sure
<daviddias>
I'm around
<mildred>
I have a problem with IPRS as it is defined currently
<mildred>
validation schemes must be deployed on the whole network
<mildred>
before they can be used
ashark has quit [Ping timeout: 260 seconds]
<mildred>
The solution I found to work around that requires that records with specific validation schemes only be stored on nodes that understand the scheme
<mildred>
My code does store these records only on nodes that advertise the record
<daviddias>
that is correct, it requires us to support multiple types of records, ones being the legacy
<daviddias>
new nodes will understand both
<daviddias>
old nodes won't understand new ones
<mildred>
if the network does not completely understand the new records/validation schemes, how can you use it?
<daviddias>
It is a migration
<mildred>
when you try to put the record, if the peer that has an id that is closest to what you want to advertise is too old, your PUT will be rejected
skeuomorf has quit [Ping timeout: 240 seconds]
<mildred>
ok, then admitting the network migrates to the new schemes rapidly
<daviddias>
we really haven't put into words what the migration plan will be
<mildred>
there is no room for testing new validation schemes
<daviddias>
but following our standard practices, we will probably have some migration period where both types of records are put (legacy and IPRS ones) with new nodes favouring IPRS
<daviddias>
and once the nodes in the network are using the latest version of IPFS
<daviddias>
then we switch off the old record scheme
<mildred>
yes, but if you want to invent a new IPRS validation scheme, you need to update the specification and roll out a new migration of the network
<mildred>
What I'm trying to do is to hack around this and have an application specific validation scheme on the existing network
<mildred>
so I don't need a migration, neither now nor with the new IPRS scheme (that would miss my validation scheme)
<daviddias>
you mean, lifting the record system to the application level?
<daviddias>
That should be also doable
<mildred>
I suppose, yes
<jbenet>
mildred: "validations must be on the network" what if the validity function is defined in a small language whose code is pointed at by the record? like some pure, functional, non-turing complete language that provably terminates
<mildred>
I'm already doing it in fact, and it works
<daviddias>
I believe we just have to have that in consideration and have an API call that lets the retrieval of the record without trying to reason about it
<mildred>
jbenet: that's possible, a bit more complicated though
<jbenet>
or we let ipfs reason about arbitrary records :]
<mildred>
and it put complexity to every peer of the DHT
<mildred>
but doable
<jbenet>
definitely. but a lot less of a pain to manage, if we get it right. this is a good research Q.
<mildred>
How I'm doing it on the current network that refuses records it can't understand
<mildred>
(rightly so)
<mildred>
I'm only storing these application specific records on the application specific peers
<kythyria[m]>
anarch3: Don't post that access_token
<kythyria[m]>
Anyone with that is able to impersonate you
<anarch3>
well, im really confused with the vector, so im just going to stick with freenode
<whyrusleeping>
i'm not even sure why we have that at chat.ipfs.io
bwerthmann has quit [Ping timeout: 240 seconds]
<Kubuxu>
whyrusleeping: re:fsbs, I will try to get blockstore interface onto it tomorrow and bench it
akkad has quit [Excess Flood]
<whyrusleeping>
sweet :)
<Kubuxu>
there are neat tricks that can be done with page locking (so they are always in ram) but I would probably have to switch to different mmap lib.
<Kubuxu>
also does current allocator work alright or should I know about something?
<jedahan>
hey ya'll, i'm about to run a little ipfs introduction at my work, and besides awesome-ipfs, does anyone have any cool demos they have run in the past or new tools I should show off?