<cryptix>
its more about replacing the go tool to have a sane way to work with vendored imports - the pkg management comes on top
<whyrusleeping>
alright, so the raspberry pi 2 running ipfs on wifi, pull around 480ma
notduncansmith has joined #ipfs
notduncansmith has quit [Read error: Connection reset by peer]
<cryptix>
are giving it any work?
anshukla has joined #ipfs
<whyrusleeping>
no, just running the dht
<cryptix>
okay - i wonder how much 'load' you would pull from the pi by requesting N blocks every X, etc. when i played with the metrics stuff a while back, I saw that we produce a lot of garbage under activity
<cryptix>
i mean, its cleaned up (most of the time.. ;) but on a embedded device thats all overhead thats also pulling on the battery, right?
<whyrusleeping>
yeah...
<whyrusleeping>
i think the biggest drain was the disk activity
<cryptix>
the wifi is over usb right? i wonder how much they differ in quality during load/low reception
<whyrusleeping>
yeah, its usb
<whyrusleeping>
thats a good question
<whyrusleeping>
i'm getting an intel edison in a few week
<whyrusleeping>
s
<whyrusleeping>
it has wifi built into the chip
<cryptix>
no idea what that is. even less power? :)
<whyrusleeping>
some tests ive seen say it pulls 40-50ma idle
<whyrusleeping>
where the pi B+ pulls 270ma idle
<cryptix>
wow
<whyrusleeping>
(and the pi 2 is more than the pi B+ because quad core)
<whyrusleeping>
yeah
<whyrusleeping>
it should be able to run ipfs too
<whyrusleeping>
its a dual core atom at 500Mhz
<whyrusleeping>
x86
<cryptix>
the mainframe in your backpocket..
<whyrusleeping>
lol
<cryptix>
crayz stuff man
<whyrusleeping>
its also about as big as an SD card
notduncansmith has quit [Read error: Connection reset by peer]
neoteo has joined #ipfs
Evermore has quit [Ping timeout: 246 seconds]
neoteo has quit [Ping timeout: 272 seconds]
Evermore has joined #ipfs
nessence has joined #ipfs
notduncansmith has joined #ipfs
notduncansmith has quit [Read error: Connection reset by peer]
nessence has quit [Ping timeout: 265 seconds]
pfraze has quit [Remote host closed the connection]
pfraze has joined #ipfs
<wking>
whyrusleeping: are you around to talk about the Docker-registry storage driver? Or sometime tomorrow?
notduncansmith has joined #ipfs
notduncansmith has quit [Read error: Connection reset by peer]
<whyrusleeping>
wking: im here!
notduncansmith has joined #ipfs
notduncansmith has quit [Read error: Connection reset by peer]
kyledrake has joined #ipfs
EricJ2190 has quit [Ping timeout: 258 seconds]
<wking>
whyrusleeping: Mostly I'm just trying to close the loop with you because you asked me to checkin before I started ;)
<wking>
So anything that you feel will speed me on my way... ?
tilgovi has quit [Ping timeout: 256 seconds]
<whyrusleeping>
sorry for the delay
<whyrusleeping>
so, the docker registry driver
<whyrusleeping>
how are you thinking of tackling this?
<whyrusleeping>
there are a few different ways
<whyrusleeping>
the easiest, is to just use the filesystem, mounted on /ipns/local
<whyrusleeping>
i had that working pretty well
<whyrusleeping>
but its kindof a hack and relies on fuse
<whyrusleeping>
the other way you can do it is to implement their interface with an ipfs driver
<whyrusleeping>
at which point you have two options, to bundle the daemon, or to use the http api
<whyrusleeping>
i would recommend using the http api in that case
<whyrusleeping>
although an argument could be made either way
<wking>
If you're going to make an IPFS registry backend, I think you're skipping FUSE
<wking>
I'd expect pointing the builtin filesystem backend at FUSE would work, but jbenet was concerned about (a) the stability of the FUSE implementation and (b) the increased depth of such a software stack (which now includes a round-trip through the kernel)
<whyrusleeping>
very much agreed
<wking>
HTTP API works for me, since it's easy to point to an existing local IPFS node
<wking>
back in a minute
nessence has joined #ipfs
<whyrusleeping>
cool, so i have started an http api in go. if you want to work using that
<kyledrake>
Using IPNS for signed package management. My goodness, what a thought that is.
<whyrusleeping>
kyledrake: im in love with that idea
notduncansmith has quit [Read error: Connection reset by peer]
<wking>
so the simplest API I can think of takes a path to the parent directory and a reader or File for the added object.
<wking>
And then bubbles the changes up through each segment in the (normalized, de-symlinked) path and spits out the new tip hash
<wking>
*hash -> node
<wking>
that's going to be more complicated if you have several parents you want to update. E.g. a and d by adding an entry to c with both a/b/c and d/e/c.
neoteo has joined #ipfs
kyledrake has quit [Ping timeout: 246 seconds]
<wking>
But we can always add a high-level wrapper that figures that out later on.
<whyrusleeping>
well, thats how ipnsfs works right now
<whyrusleeping>
buts not super efficient
<whyrusleeping>
and is basically what i have implemented already
<wking>
the efficiency gains can also come in a wrapper that delays the full bubble until later on.
<whyrusleeping>
thats not something you can really wrap though...
<wking>
And this should be "replace a/b/c with c'" and "remove a/b/c", since it's not really about adding
neoteo has quit [Ping timeout: 272 seconds]
<wking>
why not? session wrapper looks like "keep track of a/b/c's original hash and the current replacement hash, to be flushed/bubbled when they call commit"
<wking>
although I guess all you need is the path and replacement hash, not the original hash
<wking>
In any case, landing the simple case will let me get started now, and we can land the shiny, efficient version later on ;)
<whyrusleeping>
yeah, thats true
notduncansmith has joined #ipfs
notduncansmith has quit [Read error: Connection reset by peer]
hellertime has quit [Quit: Leaving.]
<ipfsbot>
[go-ipfs] whyrusleeping pushed 1 new commit to feat/bitswap-speed: http://git.io/vkGJ4
<cryptix>
jbenet: writing out he api addresses to another lock file can happen in a latter pr - if you ask me
PayasR has joined #ipfs
daviddias has quit [Remote host closed the connection]
daviddias has joined #ipfs
notduncansmith has joined #ipfs
notduncansmith has quit [Read error: Connection reset by peer]
daviddias has quit [Read error: No route to host]
daviddias has joined #ipfs
<krl>
cryptix: i'm good!
<krl>
any progress any progress on port binding magic?
<cryptix>
no - got hit by some flu-ish ickyness after the conf.. i just pinnged jbenet about it above :)
<cryptix>
i think the pr is good as is - /tcp/0 didnt work before, so moving the 'write out current address to IPFS_PATH and letting subsequent CLI calls use that' to a 2nd PR seems fine to me
<cryptix>
krl: you just depended on the 'Listening on...' print right?
<krl>
at this point yes
<krl>
which is already kind of a hack..
<krl>
making the js-api understand multiaddr at least
<krl>
cryptix: you fixed the issues with 1287?
<cryptix>
yea.. i guess i could just throw a .json into IPFS_PATH with API and Gateway as keys for the addresses but i'd like to hear from jbenet what he preverse first
<cryptix>
the weird unmarshall error? wasnt able to reproduce it yet
<krl>
ok
<PayasR>
Cryptix, krl: I've put this on github too... Are there any plans for java or cpp-ipfs?
therealplato has joined #ipfs
daviddias has quit [Ping timeout: 264 seconds]
<PayasR>
I really want to help out but Go.. I'm stuck there.
<cryptix>
PayasR: i dont speak for the core team but i dont think there is enough power right now to drive other implementations
<cryptix>
some parts of the community are starting on a nodejs impl - that should tell us a lot about how good the specs are
<jbenet>
PayasR: it's pretty easy to learn, from cpp background. it's very opinionated, some things are very annoying, but overall it's a great language
notduncansmith has joined #ipfs
notduncansmith has quit [Read error: Connection reset by peer]
<cryptix>
PayasR: well.. i hope you like it :) sorry if that came off rude..
<PayasR>
jbenet: well for mass adoption Go still has a long way to go.. But yeah, I'm willing to learn, no issues with that. A week of brain exercise should do me good :) but isn't it a memory hog!?
<jbenet>
PayasR: btw, a cpp/java impl is certainly good things to have. +1 on that. though the protocol isn't stable enough that people can rely on it not changing yet.
<whyrusleeping>
jbenet: yo, wheres my spec?
nessence has quit [Ping timeout: 240 seconds]
<PayasR>
cryptix: it is fine :)
<PayasR>
jbenet: so at this time whatever implementation starts, will have to follow go-ipfs for all the changes along the way.. I get it
<PayasR>
But i think this is a good time to start building the bits and pieces of it.. It will take a long time to catch up later if we wait for the specs to finalize.. Yes it can be difficult to follow, but alpha is here... So we must have gotten some things right
<jbenet>
PayasR: absolutely. only the protocols will change. all the sub-libraries (multihash, multiaddr, merkledag, etc) can be done now
<PayasR>
I'm willing to help with anything pertaining to java or CPP... Or I'll go and learn Go.
<whyrusleeping>
i think having a c++ impl will be good
<whyrusleeping>
especially if we want to aim at a low memory version for embedded apps
<cryptix>
jbenet: o/ commented on 1287
<PayasR>
Exactly. The code can be ported to tizen, android and all the mobile platforms
<cryptix>
PayasR: depends if you are more interested in the data structure or the networking side, i guess. i'd prefere the former and start with multihash and some of the chunking/dag construction stuff
<cryptix>
PayasR: the networking layer is kind of icky (we might swap out the transport and muxing for instance, so thats work you could be spared of)
<whyrusleeping>
PayasR: i would read up on the protocol, get your bearings
notduncansmith has joined #ipfs
<whyrusleeping>
we are going to be changing the muxing library to SPDY very soon
notduncansmith has quit [Read error: Connection reset by peer]
<whyrusleeping>
so i would find a SPDY muxer in C++
<whyrusleeping>
figure out how that all works
lgierth has joined #ipfs
<PayasR>
That code we can get directly from the chromium source
<whyrusleeping>
awesome
<PayasR>
They're building SPDY anyway
<whyrusleeping>
so, other things we will need are an implementation of multihash, and multiaddr
<cryptix>
jbenet: i'd like to purpose a sharness rule - don't reuse 'expect' and 'actual' filenames
<whyrusleeping>
cryptix: +1
<cryptix>
so annoying...
<PayasR>
I'm pretty sure cpp has enough libraries for hashes. Anything standardised, it'll be there. It's still the godfather. :P though with an annoying build system
nessence has quit [Remote host closed the connection]
<whyrusleeping>
PayasR: c++ doesnt have a multihash lib
<whyrusleeping>
its a standard we are pushing for
<whyrusleeping>
along with multiaddr
<whyrusleeping>
they are self describing hashes, tagged with the hash type and length
<ipfsbot>
[go-ipfs] cryptix pushed 1 new commit to feat/httpApiTcpPort0: http://git.io/vkcaB
<ipfsbot>
go-ipfs/feat/httpApiTcpPort0 89f29a8 Henry: don't persist api address to config - we want a volatile file in IPFS_PATH for that
<cryptix>
whyrusleeping: thx :)
<cryptix>
jbenet: PR1287, PR1297 should also just fly through, imho.
<cryptix>
jbenet: also, wanted to do some godeps maintainance for chriscool - i stumbled over the two unchecked once from this https://github.com/ipfs/go-ipfs/pull/1156
<cryptix>
jbenet: if hashicorp doesnt want to update it i'd be down to vendor in my fork - i def want to get code.goog out of our deps
<jbenet>
cryptix: yeah just vendor it
<cryptix>
jbenet: on the uuid pkg.. well.. i guess i'll just pick any of the 1000 github forks with the most stars
<jbenet>
sgtm
kyledrake has joined #ipfs
<cryptix>
qool - will do (after making burgers and some couch time :)
<cryptix>
jbenet: btw is test_all_commits correctly setup on jenkins?
<cryptix>
'curl is required to run tests. please install it'
notduncansmith has joined #ipfs
notduncansmith has quit [Read error: Connection reset by peer]
daviddia_ has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz…]
<whyrusleeping>
lol....
daviddias has joined #ipfs
kyledrake has quit [Ping timeout: 255 seconds]
payasrajan has joined #ipfs
PayasR has quit [Read error: Connection reset by peer]
neoteo has quit [Ping timeout: 245 seconds]
notduncansmith has joined #ipfs
notduncansmith has quit [Read error: Connection reset by peer]
notduncansmith has quit [Read error: Connection reset by peer]
therealplato has joined #ipfs
<whyrusleeping>
google IO today
<whyrusleeping>
talking IoT right now
PayasR__ has joined #ipfs
mquandalle has joined #ipfs
PayasR__ has quit [Client Quit]
notduncansmith has joined #ipfs
notduncansmith has quit [Read error: Connection reset by peer]
saebekassebil has joined #ipfs
<whyrusleeping>
jbenet: so the patch command is great for working with dag nodes, but its pretty much not helpful at all for working with unixfs stuff
notduncansmith has joined #ipfs
notduncansmith has quit [Read error: Connection reset by peer]
<whyrusleeping>
oh wait... nvm. there isnt any extra metadata on the directory objects
<whyrusleeping>
carry on
<whyrusleeping>
wking: jbenet thoughts on where the underlying code for the patch command should live?
<whyrusleeping>
somewhere in core?
tilgovi has joined #ipfs
<wking>
whyrusleeping: maybe core/edit? With package name 'edit' or 'coreedit'?
<whyrusleeping>
ah, edit is good
notduncansmith has joined #ipfs
<wking>
Although if it's a patch command, maybe core/patch ;)
notduncansmith has quit [Read error: Connection reset by peer]
<whyrusleeping>
hrmmmm
<wking>
So I don't really care edit vs. patch, but we should be consistent ;)
<wking>
edit is maybe more accessible to non-devs, but I find it hard to imagine this particular plumbing being particularly accessible to non-devs regardless of how you name it ;)
<jbenet>
i feel "edit" implies changing the same thing, fundamentally a merkledag can't do that. can only patch it into a different one.
<jbenet>
"patch" is a bit more cumbersome than "edit" but it doesn't lie?
<whyrusleeping>
i'm okay with patch
<whyrusleeping>
its actually easier to type imo
<whyrusleeping>
anyone else watching I/O ?
<wking>
cow? ;)
<wking>
'ipfs object cow ...' is fun to say, but patch is probably better ;)
<jbenet>
objectifying cows? cows are people too. :D
<wking>
I don't share your impression of "patch" as "create a new, altered version, but leave the original alone", but I'm on the fence, so I'm ok with patch ;)
<whyrusleeping>
jbenet: i think we should get the next migration ready
<whyrusleeping>
and then make it happen automatically
<jbenet>
yeah +1
<whyrusleeping>
or at least try
PayasR has joined #ipfs
daviddia_ has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz…]
<whyrusleeping>
OH!
<whyrusleeping>
so, we need to add a --timeout flag to the base ipfs command
<whyrusleeping>
and have it create a timeout context that gets put in the command context
<whyrusleeping>
so req.Context().Context will be reliable for commands to use
mildred has joined #ipfs
notduncansmith has joined #ipfs
notduncansmith has quit [Read error: Connection reset by peer]
<jbenet>
whyrusleeping: that would be very nice
<whyrusleeping>
also, does anyone have any recommendations on which vr headset to buy?
<whyrusleeping>
i want to get an oculus
<headbite>
didn't google do a knock off cardboard thing you could hook a phone up to?
<mmuller_>
headbite: yep. "cardboard"
<whyrusleeping>
yeah, but i want a real headset
<mmuller_>
hopefully the Rift is a little better :-)
<whyrusleeping>
the rift devkit 2 looks nice
notduncansmith has joined #ipfs
notduncansmith has quit [Read error: Connection reset by peer]
<whyrusleeping>
jbenet: since we need sizes in the link, should we fetch the node we are adding a link to? or should we accept size as an option?
pfraze has quit [Ping timeout: 256 seconds]
pfraze has joined #ipfs
<jbenet>
whyrusleeping: fetch the node. I'd disable creation of a link without the other nose being present. (Or maybe allow it with a -f and size flag. Or just leave it up to them to manually create it
notduncansmith has joined #ipfs
notduncansmith has quit [Read error: Connection reset by peer]
saebekassebil has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
saebekassebil has joined #ipfs
<whyrusleeping>
okay
anshukla has quit [Ping timeout: 255 seconds]
Perkol has joined #ipfs
<whyrusleeping>
krl: any reason why node.AddRawLink needed to take the links name?
lgierth has quit [Quit: Ex-Chat]
kyledrake has joined #ipfs
<Perkol>
Is it possible to build decentralised websites based on ipfs?
notduncansmith has joined #ipfs
notduncansmith has quit [Read error: Connection reset by peer]
Wallacoloo has joined #ipfs
pfraze has quit [Ping timeout: 256 seconds]
<whyrusleeping>
Perkol: yeap
<whyrusleeping>
as long as you build what people refer to as "native" web apps, you can ship them no problem on ipfs
<whyrusleeping>
where a native webapp is one where all the logic is done by javascript on the client side
pfraze has joined #ipfs
<whyrusleeping>
and any content you need to pull is static
<Perkol>
Is it possible to create dynamic websites like blogs, messageboards, etc?
<Perkol>
I mean, is such features planned?
<whyrusleeping>
Perkol: yeah, you can do dynamic content through ipns
<whyrusleeping>
like blogs and messageboards, etc
<cryptix>
re
<whyrusleeping>
but things like sql queries would need to be done differently
<cryptix>
whyrusleeping: love the idea of a global --timeout flag
<whyrusleeping>
cryptix: :D i want someone to write it for me because i'm lazy
<cryptix>
hehe
<kyledrake>
Is the gateway.ipfs.io stalling out for anyone?
<kyledrake>
Might need to get kicked
<whyrusleeping>
kyledrake: yeah, might need to kick them
<kyledrake>
Could be the node on my server not sharing properly too
<kyledrake>
Any other nodes I can try out?
<kyledrake>
oop, there it goes
<whyrusleeping>
mars.i.ipfs.io:8080
<kyledrake>
I'm writing up the blog post today
<whyrusleeping>
awesome!
<ipfsbot>
[go-ipfs] cryptix force-pushed feat/httpApiTcpPort0 from 89f29a8 to 002b6b9: http://git.io/vkWm3
<ipfsbot>
go-ipfs/feat/httpApiTcpPort0 352c356 Henry: httpGw: make /tcp/0 work...
<ipfsbot>
go-ipfs/feat/httpApiTcpPort0 3e42909 Henry: tcp0: use proper helper for multiaddr construction
<ipfsbot>
go-ipfs/feat/httpApiTcpPort0 66ffe32 Henry: tcp0: move socket Listen calls into 'ipfs daemon' so that we can print afterwards
anshukla has joined #ipfs
<Perkol>
It's implemented in interesting way in ZeroNet, another P2P project. Basically there is .json file used as database, and you can download updated one with permission of site-owner.
<kyledrake>
For the love of god please don't add it, a pipe is more than sufficient.
<whyrusleeping>
kyledrake: i was writing a tool that would mirror a page into ipfs
<whyrusleeping>
but i ended up going down the rabbit hole of parsing css and js imports for deps and its now sitting on my todo list
<kyledrake>
There's spidering tools you can use to download sites that could pretty easily be fed into it
<cryptix>
the day i find out why the our fuse tests always bork my system, i will be a happy gopher
<wking>
whyrusleeping: you should build a proxy server that caches to IPFS ;)
<kyledrake>
Really you could make a three liner, psuedocode: TMPUUID=`uuid` spidertool -r -o /tmp/`TMPUUID` https://site.com/page && ipfs add -r /tmp/`TMPUUID` && rm -rf /tmp/`TMPUUID`
<kyledrake>
nice
<whyrusleeping>
kyledrake: any recommendations on spidering tools?
<whyrusleeping>
i was working on writing my own, mostly for fun
<kyledrake>
Haven't used one in a long time, but I do know that there's a lot of them out there, so it's likely easier to use them than to reinvent that wheel.
<whyrusleeping>
yeah
<kyledrake>
You'd need to use an HTTP parser, and it's actually pretty hard to find parsers that will handle bad HTML correctly
notduncansmith has joined #ipfs
notduncansmith has quit [Read error: Connection reset by peer]
<ipfsbot>
[go-ipfs] cryptix created maint/godeps (+1 new commit): http://git.io/vkWl4
<kyledrake>
In fact, at my insistence Yorick supposedly made it work with this, and it's the only one for Ruby that will even try: https://github.com/YorickPeterse/oga
<kyledrake>
whyrusleeping if you want a demo, try to feed this index.html into a parser and watch the lulz ensue (warning, sound: http://fauux.neocities.org/index.html)
<whyrusleeping>
apparently i dont have unicode support
<whyrusleeping>
but those are pretty colored empty boxes
<kyledrake>
I had to put a hack into our nginx file to make that page load correctly, it should be displaying the font right, if not let me know.
<whyrusleeping>
oh look, crashed my laptop.
<whyrusleeping>
>.>
cjb has joined #ipfs
<whyrusleeping>
kyledrake: theres something wrong with that webpage, lol
<whyrusleeping>
i opened up the view source browser in chrome and my entire computer froze
<kyledrake>
lol
<cryptix>
nice
<kyledrake>
curl it and you'll see how screwed up that file is
<cryptix>
whyrusleeping: does jenkins run fuse
<cryptix>
?
<whyrusleeping>
cryptix: yes
<cryptix>
thats comforting
<whyrusleeping>
kyledrake: what the hell is happening
<cryptix>
there was an api change and i didnt want to rely on my intuition alone
<whyrusleeping>
ah, we should make Tv` do it :P
<fleeky>
apparently ipfs is a good idea, cause there are already lots of people replicating the idea without knowing it https://youtu.be/V9knGfbHID8?t=16m56s
<cryptix>
kyledrake: you should mix in some Z̖̫̤̫ͪa͉̬͈̗l͖͎g̳̥o̰̥̅!̣͔̲̻͊̄ ̙̘̦̹̦.
<whyrusleeping>
lol, zalgo
<kyledrake>
Well for one, there are several body elements in the page, and they're not closed properly
<ogd>
fleeky: we know about ipfs :)
<fleeky>
ogd , so that was yall ?
<kyledrake>
They used <body> like a <div>
<ogd>
fleeky: yep
<kyledrake>
My firefox renders it
<fleeky>
so why not just work on ipfs then
<kyledrake>
It's one of our most popular sites :{P
<fleeky>
or do you also
<cryptix>
whyrusleeping: liieezzzz
<whyrusleeping>
cryptix: hum?
<whyrusleeping>
does jenkins not test fuse?
<cryptix>
whyrusleeping: TEST_NO_FUSE=1 is exported on jenkins
<cryptix>
yea
<whyrusleeping>
wow. so cassi runs those tests really fast
<whyrusleeping>
27 seconds for a go test
<whyrusleeping>
if you want me to manually test a certain branch i can
<cryptix>
that would be nice, thx. maint/godeps
<whyrusleeping>
export GOMAXPROCS=40
<cryptix>
i think we could simplify a lot of the Attr() code now that we get one that we can modify - i just have no idea what the defaults are
notduncansmith has quit [Read error: Connection reset by peer]
<whyrusleeping>
got it
<PayasR>
and btw, who made the linux distributions available on ipfs.io?
<PayasR>
the install.sh doesn't work
<PayasR>
it's trying to mv a file that doesnt exist
<PayasR>
linux_x86.zip
<whyrusleeping>
PayasR: either jbenet or Luzifer would be the point of contact on that
<whyrusleeping>
mind filing a bug on github.com/ipfs/go-ipfs/issues?
<PayasR>
i'll do that
hellertime has quit [Quit: Leaving.]
<whyrusleeping>
thanks!
<whyrusleeping>
cryptix: all tests passed on cassi
<G-Ray>
Why not to set up erasure coding on ipfs ?
<cryptix>
whyrusleeping: <3 thx
<whyrusleeping>
G-Ray: what would you gain by that?
<jbenet>
G-Ray: I can be done above and below merkledag. Ie can do it in the replication (exchange) or in the application.
<whyrusleeping>
(i worked at a filesystems company on the team responsible for the systems reed solomon implementation)
<whyrusleeping>
i'm just curious what use case youre looking at
<G-Ray>
whyrusleeping: redoundancy and very high bandwidth by using multiple nodes at a time. This way bandwidth is not a bottleneck
<jbenet>
Can do faster bitswap, similar to how it's used in wireless
<whyrusleeping>
G-Ray: erasure coding doesnt save you any bandwidth though
<PayasR>
the issue was trivial.. but i raised it on github anyway
<whyrusleeping>
PayasR: +1
<jbenet>
No issue is too trivial to not make an issue
tilgovi has quit [Ping timeout: 258 seconds]
<PayasR>
+1 on that
<G-Ray>
I mean, splitting files in chunks of 1MB for instance, like what maidsafe do. And by storing these chunks on multiple nodes, you could aggragate multiples sources in order to retrieve your files faster
<whyrusleeping>
G-Ray: we do that
notduncansmith has joined #ipfs
notduncansmith has quit [Read error: Connection reset by peer]
PayasR has quit [Quit: Ex-Chat]
<G-Ray>
whyrusleeping: really ? It's not explained in th ewhitepaper then ?
<whyrusleeping>
one sec, ill find the relevant section
<whyrusleeping>
G-Ray: 3.6.7
<G-Ray>
thanks
<whyrusleeping>
its small
<G-Ray>
But what is the necessity to pin then ?
<whyrusleeping>
G-Ray: pinning is to prevent objects from being garbage collected
<ipfsbot>
[go-ipfs] whyrusleeping created feat/patch (+1 new commit): http://git.io/vkWis
<ipfsbot>
go-ipfs/feat/patch 33c5ce0 Jeromy: implement an ipfs patch command for modifying merkledag objects
<G-Ray>
I thought ipfs does not ensure replication, so I do not see when it split files into chunks and distribute these chunks
<whyrusleeping>
replication and file chunking are two separate issues
<G-Ray>
Okay, I think I have not explained what I mean in the right way :P
<G-Ray>
If I correctly understood what Maidsafe will try to do : Files are splitted into chunks, and those chunks are then replicated on storage nodes. By this way, when one node request the whole file, all nodes storing at least ONE chunk (not the whole file), will transmit its chunk(s)
<G-Ray>
This way, we save many storage space, and we can aggregate the upload bandwidth of all nodes
<whyrusleeping>
yeah, so ipfs is a trustless system, no sigle node has to trust any other node
<whyrusleeping>
because we cant trust other nodes, we cannot tell them to store anything for us
<whyrusleeping>
we have to rely on them to pull content from us to store
<jbenet>
G-Ray please search the logs on this channel
<jbenet>
the more time we spend answering questions, the less time we have to actually build any of it
<G-Ray>
jbenet: Thanks, I will
<jbenet>
if we answer the same question multiple times, it's bad for everyone else
<G-Ray>
Do you work full time on ipfs ?
<G-Ray>
jbenet: T hought my question was uncommon but it's ok
www1 has quit [Read error: Connection reset by peer]
www has joined #ipfs
<Tv`>
cryptix, whyrusleeping: heads up, there's another fuse api change coming to Attr; it's gonna be Attr(ctx context.Context, attr *fuseAttr) error very soon
<Tv`>
might deal with both at once
<whyrusleeping>
yeah, thanks for the heads up!
<whyrusleeping>
cryptix: lets hold off on merging that
<jbenet>
G-Ray all questions are uncommon only once. but they all still feel uncommon. sorry-- i don't intend to be a jerk- i just want to use our time wisely.
<whyrusleeping>
ive downloaded the same file 7 times
<whyrusleeping>
its on my computer, 7 times
<whyrusleeping>
my browser isnt smart enough to realize ive already downloaded this
<whyrusleeping>
and just open my local copy
<jbenet>
oh of course not.
<jbenet>
everything's just cobbled together :) it's hard to do things right
anshukla has quit [Remote host closed the connection]
<whyrusleeping>
if i visit a link on a page in ipfs that ive viewed before, it pulls my local copy
notduncansmith has joined #ipfs
<whyrusleeping>
so nice
anshukla has joined #ipfs
notduncansmith has quit [Read error: Connection reset by peer]
<whyrusleeping>
in the same browser that i normally use too
<Evermore>
whyrusleeping: what bookmarks should hvae been the whole time
<whyrusleeping>
Evermore: exactly! a bookmark should really just be an ipfs pin
<Evermore>
I wanted to try backing up Homestar Runner to IPFS (it's about 500 MB - 1GB apparently) but a lot of their links are in Flash so I'd have to get the link graph first from someone, then scrape their site
<whyrusleeping>
Evermore: i would love to have a homestar backup on ipfs
kyledrake has quit [Ping timeout: 272 seconds]
mildred has quit [Ping timeout: 256 seconds]
<Evermore>
Okay it might be illegal but I'll go for it
<Evermore>
thing is like
<whyrusleeping>
just try emailing chapman
<Evermore>
I might have to recompile the Flash files or something cause they're expecting /sbemail306.html not /qHASHHASHHASH
Wallacoloo has quit [Quit: Leaving.]
<Evermore>
Or can I put it in ipns?
<whyrusleeping>
Evermore: ipfs can have named links you know
<Evermore>
whyrusleeping: Well like when you click on an email, it's from the swf file linking to sbemail99.html, so how does Flash handle that
<Evermore>
also it's flash... actually that's why I haven't been there in years, I don't have Flash installed
anshukla has quit [Ping timeout: 272 seconds]
<cryptix>
Tv`: thx for the heads up :)
<Evermore>
Well if it's only 1 GB or so I can start downloading the files and putting them in IPFS, and think about linking later
<whyrusleeping>
Evermore: would be cool if someone could cross compile flash to html5
<Evermore>
whyrusleeping: I think Mozilla has at least one project for that but I'm not sure how mature it is
<Evermore>
or maybe it's just a JS Flash player
<Evermore>
whyrusleeping: what did you mean by named links?
therealplato1 has quit [Ping timeout: 258 seconds]
notduncansmith has joined #ipfs
notduncansmith has quit [Read error: Connection reset by peer]
<anshukla>
whyrusleeping: the way downloads work currently makes it hard for your browser to tell if the file is identical without downloading it entirely
<anshukla>
if only files could be associated with hashes, or something....
<ipfsbot>
[go-ipfs] whyrusleeping pushed 1 new commit to feat/patch: http://git.io/vklkr
<whyrusleeping>
anshukla: yeah, browsers need to be a little smarter
<whyrusleeping>
ipfs gateways should also put the hash of the object requested in the response header
<whyrusleeping>
(that might already happen)
notduncansmith has joined #ipfs
notduncansmith has quit [Read error: Connection reset by peer]
daviddias has joined #ipfs
<Tv`>
cryptix, whyrusleeping: the fuse Attr change is pushed
G-Ray has quit [Quit: Konversation terminated!]
<whyrusleeping>
Tv`: you da best
notduncansmith has joined #ipfs
notduncansmith has quit [Read error: Connection reset by peer]
www1 has joined #ipfs
www has quit [Ping timeout: 258 seconds]
<cryptix>
Tv`: thanks for the perl one-liner, too :))
notduncansmith has joined #ipfs
notduncansmith has quit [Read error: Connection reset by peer]
anshukla has quit [Remote host closed the connection]
<whyrusleeping>
installing the new android m
<ipfsbot>
[go-ipfs] cryptix pushed 1 new commit to maint/godeps: http://git.io/vklWW
<ipfsbot>
go-ipfs/maint/godeps 1a4a151 Henry: fuse: Attr() now has a Context param
<cryptix>
whyrusleeping: can you run that branch again?
<whyrusleeping>
cryptix: can do
<cryptix>
thx
<cryptix>
Attr() now returns an error, i did that in places where we previously couldnt - not how that changes behaviour but previously we just pretended to work and logged some error, so..
domanic has quit [Ping timeout: 244 seconds]
<Tv`>
and that'd be why it now can return an error
<Tv`>
beware though, funky things happen when the kernel doesn't know what type a file is
<Tv`>
it's all handled "right" but your users might be might confused about that "ls -l" listing
<Tv`>
*mighty
<cryptix>
yea i thought about that too
<whyrusleeping>
cryptix: clean bill of health on gotests
<whyrusleeping>
running sharness now
<cryptix>
not sure if we want to support listing non-unixfs files.. we would need a way to map attributes than anyway
<whyrusleeping>
Tv`: yeah, ive used your testutil before (we might still be using it in the go tests)
EricJ2190 has quit [Ping timeout: 264 seconds]
<Tv`>
whyrusleeping: yeah sure but sharness isn't really the same thing
<Tv`>
whyrusleeping: but you need something similar
<Tv`>
there's no "unmount when not busy anymore" functionality
<whyrusleeping>
i think our tests are just... wrong
<whyrusleeping>
somehow
<whyrusleeping>
cryptix: take a look at line 30 of t0030-mount.sh
<whyrusleeping>
i dont know what we are expecting there or why
<Tv`>
something like "./a_fuser_thing mnt & ls mnt; fusermount -u mnt" is not safe; there might be leftover references that prevent the unmount at that time
<cryptix>
whyrusleeping: yea.. thats... wow.. it looks copied together. thats def testing for failure output
notduncansmith has joined #ipfs
notduncansmith has quit [Read error: Connection reset by peer]
<cryptix>
whyrusleeping: it's just testing if the used mountpoint flags are in the output
<whyrusleeping>
but thats not even the right output?
<ipfsbot>
[go-ipfs] cryptix created maint/mdns (+1 new commit): http://git.io/vklgU
<ipfsbot>
go-ipfs/maint/mdns 261933c Henry: mdns: use my fork of hashicorp/mdns...
<cryptix>
okay.. wanted to finish that first
<cryptix>
whyrusleeping: test_should_contain is an egrep wrapper iirc
notduncansmith has joined #ipfs
notduncansmith has quit [Read error: Connection reset by peer]
<ipfsbot>
[go-ipfs] cryptix force-pushed maint/mdns from 261933c to 13a7d27: http://git.io/vklgH
<ipfsbot>
go-ipfs/maint/mdns 13a7d27 Henry: mdns: use my fork of hashicorp/mdns...
<cryptix>
whyrusleeping: i got t0030 to pass on master and also got that fusermount error on my branch but... i still don't trust the fuse tests on this because i always get these strange root-owned mountpoints laying arounds
<cryptix>
which is a long way of saying 'idk whats happening'
<cryptix>
ok guys - gotta cave in and get some sleep. cy
<cryptix>
a
inconshreveable has quit [Remote host closed the connection]
notduncansmith has joined #ipfs
notduncansmith has quit [Read error: Connection reset by peer]