<A124>
Oh and the performance... with cgroups I am now able to run ipfs alltime. The only severe glitch I found is pinning (pinning one thing blocks the next pin)
<whyrusleeping>
A124: mind reporting that one?
<whyrusleeping>
we can probably get that fixed pretty readily
<A124>
whyrusleeping Not sure what to write about that, and someone stole or somehow my credentials locked up, sorry.
WardCunningham has quit [Quit: WardCunningham]
<A124>
My life is a string of single points of failure, that's why I am going all in into distributed.
<whyrusleeping>
A124: okay, any other info on that then?
<whyrusleeping>
i can report the issue for you if you want
thufir has quit []
Oatmeal has joined #ipfs
em-ly has quit [Quit: Connection closed for inactivity]
<A124>
whyrusleeping You should test yourself first. Scenario: Linux, ipfs, pin add hash & (background). Doing that multiple times. The it seems one pin waits for other. So a recursive pin (default) on a tree of directories and files (some stuff missing and not online on network), then doing another pin at at same time for s single picture that is 100% resolvable and retrievable (and even likely already [...]
<A124>
[...] cached as I viewed it) does nothing.
<whyrusleeping>
oooooooh, i know whats going on
<whyrusleeping>
the pin lock is being taken...
<A124>
Had to kill the daemon, pin the image then pin again the recursive, which I believe hangs till today (did not check). So it might concern both better (parallel) handling of pinning, as well a way to postpone missing resources.
chris613 has quit [Read error: Connection reset by peer]
<A124>
killing (sigterm) the pin add alone did not solve it.
uzyn has quit [Quit: uzyn]
WardCunningham has joined #ipfs
WardCunningham has quit [Quit: WardCunningham]
WardCunningham has joined #ipfs
captain_morgan has joined #ipfs
<kvda>
i'd be interested in making the a version of instant.io type thing for ipfs
<kvda>
*-the
<A124>
kvda as in you would do it?
<kvda>
yea it doesn't seem to do much client side, if js-ipfs-api can make the calls to a ipfs node it should be pretty simple
<kvda>
i'm not sure if you'd want that functioanlity under a different domain, or just as a section of ipfs.io?
<kvda>
drop.ipfs.io?
<kvda>
new.ipfs.io?
<A124>
kvda well if javascript is your thing. I would just focus on the code, making it, then solving next steps.
<A124>
There is already the javascript ipfs player, maybe that also could be used
<A124>
Oh, and one thing I was missing, Download button.
<kvda>
A124, you're probably right, but it would be good to know where it would live, it might affect how it's designed
<A124>
I had to run webtorrent-hybrid just to fetch the file. As the browser part supports websocket or something, that goes through instant.io servers? Or webRTC, not sure.
<kvda>
but anyway yea the functionality will stay the same so i can work on that
<A124>
And the only person seeding it was using webtorrent-hybrid without open bittorent port, so regulat client did not work.
<A124>
kvda As a separate thing (on reddit) there was making pages autodetect local gateways, and then using protol handlers to select appropriate gateway, even without the need for the addons. Just a thought.
matoro has joined #ipfs
rgrinberg has quit [Ping timeout: 276 seconds]
ulrichard has joined #ipfs
IlanGodik has joined #ipfs
kode54 has quit [Quit: ZNC 1.6.3+deb1 - http://znc.in]
herzmeister has quit [Ping timeout: 244 seconds]
kode54 has joined #ipfs
kaotisk has quit [Read error: Connection reset by peer]
kaotisk has joined #ipfs
lidel has quit [Remote host closed the connection]
lidel has joined #ipfs
mildred has joined #ipfs
rendar has joined #ipfs
cubemonkey has quit [Read error: Connection reset by peer]
peterix has joined #ipfs
matoro has quit [Ping timeout: 264 seconds]
_mak has joined #ipfs
JesseW has quit [Ping timeout: 264 seconds]
lidel has quit [Ping timeout: 272 seconds]
wuch has joined #ipfs
lidel has joined #ipfs
TheNain38 has joined #ipfs
<r0kk3rz>
kvda: make an IPFS JS gateway, using something like mod_rewrite
robogoat has quit [Ping timeout: 276 seconds]
<A124>
And now I got problem with video.
TheNain38 has quit [Quit: I'm going away]
<A124>
Not sure if its incompatibility with video format, naming, or trickle dag, but the video player example does not work for my mp4 video
<Kubuxu>
Not yet, but the main URI that IPFS will be using is: `fs:/`
<Kubuxu>
to provide compatibility between gateway, browser extension and canonical addressing
<lgierth>
fs:
<lgierth>
number of slashes makes a significant difference
<pawal>
I know, I read that. But short term we also really need ipfs: - fs is way to generic for a lot of things.
<Kubuxu>
ipfs: doesn't work with websites that work also on gateways
<Kubuxu>
On gateways you have to use `/ipfs/Qm...AAA` form
<Kubuxu>
which means that it doesn't work with `ipfs:` unless you introduce nasty ambiguities
<pawal>
I know. But an app registered for ipfs: will take care of that if it uses a certain gateway (maybe its own)
<pawal>
References to gateways till use HTTP URIs anyway.
<pawal>
s/till/will/
chungy has quit [Ping timeout: 265 seconds]
<pawal>
I want to specify ipfs: asap, based on RFC6920 and just be done with it. fs: seems like it might take some time...
<Kubuxu>
I mean websites: for example bin.ipfs.ovh requests files as `/ipfs/QmAAA.AAA/file.c`, now if you place it under ipfs: you get ipfs:/ipfs/Qm...
<whyrusleeping>
kevina: ah, i'll elaborate a bit more
<kevina>
Okay, thanks do it on the pull request...
<whyrusleeping>
yeap
chungy has joined #ipfs
cemerick has joined #ipfs
doesntgolf has quit [Ping timeout: 264 seconds]
matoro has joined #ipfs
chungy has quit [Ping timeout: 272 seconds]
keks has quit [Ping timeout: 272 seconds]
Pornmod has joined #ipfs
chungy has joined #ipfs
Peeves has quit [Ping timeout: 276 seconds]
Pornmod is now known as Peeves
<whyrusleeping>
kevina: still typing, got distracted for a second
keks has joined #ipfs
lidel has quit [Ping timeout: 272 seconds]
lidel has joined #ipfs
chungy has quit [Ping timeout: 272 seconds]
<richardlitt>
Any idea how to use xargs but to pause it if my command has a prompt, and give me the ability to respond?
<kevina>
whyrusleeping: thanks, still not 100% sure, I am just going to implement something and see if it is what you hand in mind.
<whyrusleeping>
kevina: what i'm really saying is that i don't want the linkservice and dagservice to be two separate objects
keks has quit [Ping timeout: 272 seconds]
keks has joined #ipfs
chungy has joined #ipfs
<kevina>
I get that. I am just going to implement what I had in mind before I even asked you for clarification. I ping you when I am done in hour or so...
<whyrusleeping>
lol, alright
<richardlitt>
got it.
ulrichard has joined #ipfs
chungy has quit [Ping timeout: 272 seconds]
The_8472 has quit [Ping timeout: 248 seconds]
rgrinberg has quit [Ping timeout: 244 seconds]
The_8472 has joined #ipfs
Tadeusz has quit [Remote host closed the connection]
<kevina>
This is why I have LinkService as a separate object that does nothing but provides links.
<kevina>
Not sure how to fix this, but maybe provide an Offline() method to dag service so that it will clone it self with an offline exchange.
<kevina>
whyrusleeping: Any Ideas? If something is unclear let me know.
chungy has quit [Ping timeout: 272 seconds]
* whyrusleeping
thinks
structuralist has joined #ipfs
chungy has joined #ipfs
<whyrusleeping>
kevina: i think you just need to construct that pinner with your linkservice
<whyrusleeping>
or....
<whyrusleeping>
hrm
<whyrusleeping>
because inside that GC function it constructs an offline dagservice
<whyrusleeping>
but all it really needs is the linkservice
<kevina>
All it really needs is a linkservice, but it has to be offline.
ulrichard has quit [Remote host closed the connection]
wak-work has quit [Remote host closed the connection]
<kevina>
I'm not sure how to make what I think you what work. Without providing an Offline() or similar method.
<lgierth>
the good thing about a night-heavy sleep schedule is... i can have super tasty cappuccino in the evening
wak-work has joined #ipfs
<kevina>
whyrusleeping: if LinkService and DAGService is the same, than there is no way to construct an offline LinkService as the parts to construct it are not available....
<kevina>
I hope this is making sense.
galois_d_ has quit [Remote host closed the connection]
galois_dmz has joined #ipfs
kyledrake has quit [Ping timeout: 272 seconds]
kyledrake has joined #ipfs
rgrinberg has joined #ipfs
zorglub27 has joined #ipfs
structur_ has joined #ipfs
soloojos has quit [Ping timeout: 258 seconds]
structuralist has quit [Ping timeout: 244 seconds]
<whyrusleeping>
kevina: yeah, i get it now
<whyrusleeping>
Alright, we should make it easy for the linkservice and the dagservice to be the same object. But they don't necessarily have to be
<whyrusleeping>
because for the normal case of not having any special logic there, passing that around all over gets really funky
matoro has quit [Ping timeout: 244 seconds]
<kevina>
whyrusleeping: you don't really need to pass linkservice around much, you can use the new GetLinks() method in the normal
<kevina>
DAGService.
<whyrusleeping>
right
cemerick has quit [Ping timeout: 272 seconds]
<whyrusleeping>
but you want to make sure that the linkservice has the same method signature for getting links
<whyrusleeping>
right now its just `Get` afaik
<whyrusleeping>
it should be `GetLinks` to match the dagservice
zorglub27 has quit [Quit: zorglub27]
<kevina>
okay, but the context will be unused
<whyrusleeping>
only in your case
<whyrusleeping>
other implementors of the linkservice will definitely want a context
<kevina>
all right I will try again, and ping you in a bit :)
<whyrusleeping>
woop! thanks :)
gmcquillan__ has joined #ipfs
<kevina>
whyrusleeping: If I do what you suggest, how do we know for sure that the LinkService passed to the GC() function will be offline?
<kevina>
someone could pass in a DAGService object and the GC() function won't know the difference.
gmcquillan___ has quit [Ping timeout: 264 seconds]
<kevina>
unless I add an IsOffline() method it could call and check, or something similar.
soloojos has joined #ipfs
kobigurk has quit [Ping timeout: 244 seconds]
structur_ has quit [Remote host closed the connection]
akofink has joined #ipfs
Stebalien has joined #ipfs
Mizzu has joined #ipfs
krzysiek1 has quit [Read error: Connection reset by peer]
<kevina>
whyrusleeping: okay so implementing something, IsOffline() is WithBlockservice() so that we can tell if the LinkService is part of the DAGService or more basic
captain_morgan has quit [Ping timeout: 245 seconds]
<lgierth>
mmh, maybe an IPNS glitch
Stebalien has joined #ipfs
matoro has joined #ipfs
matoro has quit [Max SendQ exceeded]
matoro has joined #ipfs
Stebalien has quit [Ping timeout: 264 seconds]
Stebalien has joined #ipfs
krzysiek1 has joined #ipfs
<whyrusleeping>
kevina: hrm... do we really care if the gc routines have an offline or an offline dagservice?
<lgierth>
offline dagservice as in read-only mode?
<whyrusleeping>
lgierth: yeah
<whyrusleeping>
i'm not sure how best to expose this interface honestly
<whyrusleeping>
lgierth: any ideas?
<lgierth>
nope :)
<lgierth>
not before 23:59
<whyrusleeping>
lgierth: lame, go have fun writing shit
Mizzu has quit [Quit: WeeChat 1.5]
<kevina>
whyrusleeping: I think so, you don't want it to attempt to fetch anything from the net...
<kevina>
I'm almost done...
<whyrusleeping>
ooooh, right. because of the best effort roots stuff
keks has quit [Ping timeout: 264 seconds]
WardCunningham has joined #ipfs
<whyrusleeping>
kevina: i also think that EnumerateLinks would be cleaner if the paramter passed in was a cid
<whyrusleeping>
instead of some links
captain_morgan has joined #ipfs
keks has joined #ipfs
<whyrusleeping>
kevina: and the gc ColoredSet and Descendants functions only need to take the dagservice
<whyrusleeping>
er
<whyrusleeping>
linkservice
<whyrusleeping>
so I don't even think we need to construct an offline dagservice in Gc
ylp has joined #ipfs
oleavr has quit [Ping timeout: 272 seconds]
oleavr has joined #ipfs
WardCunningham has quit [Ping timeout: 264 seconds]
<kevina>
If GetLinks() can be supplied via the normal DAG service we still need to be sure that what is passed to the GC() is not an online DAGService
<whyrusleeping>
do we though?
<kevina>
I thought we just established that for the BestEffort pins.
<kevina>
And in any case it is a really good idea.
<whyrusleeping>
yeah... i'm just not really sure that we need to make it a hard requirement like that
<whyrusleeping>
(and by not sure, i really mean i could go either way)
<kevina>
I don't want any think that is GarbageCollector to accidentally add more content
<kevina>
or hang
<whyrusleeping>
hahaha
<kevina>
etc.
<whyrusleeping>
"i ran a gc and it doubled the size of my repo"
<whyrusleeping>
fine
<whyrusleeping>
but can we guarantee that every implementation of the linkservice will be 'offline' as well?
<whyrusleeping>
Because the current code only makes that distinction in a single place, you can pass an online dagservice into Descendants with 'best effort' set
<whyrusleeping>
and it won't really be 'best effort' anymore
<kevina>
whyrusleeping: I am almost done, let me post something before we discuss this more, okay :)
<whyrusleeping>
pffft, fiiiiiiiine
* whyrusleeping
angrily closes vim
anonymuse has quit [Remote host closed the connection]
<kevina>
whyrusleeping: I'm sorry if I just annoyed you. :(
<kevina>
whyrusleeping: I am just having a very hard time following what you are after.
<kevina>
whyrusleeping: and I don't think what you want is exactly what I have in mind.
<whyrusleeping>
kevina: lol, no i'm joking
<whyrusleeping>
do your thing, i'm hacking on gx stuff in the meantime