#ipfs

/

      • cryptix
        hmm jenkins is still borked :<
      • whyrusleeping: maybe we can use something like this to daemonise ipfs after the http sockets are open? would remove the need for 'wait n seconds' in the shareness tests
      • domanic joined the channel
      • pfraze joined the channel
      • domanic has quit
      • semi-suprisingly my issues with shareness came from having a peer running when starting it
      • whyrusleeping: did you allready start on the shareness tests for 'ipfs ls'? i can do them now
      • whyrusleeping
        cryptix: i didnt start
      • cryptix
        okay cool
      • i hate duplicating work :)
      • whyrusleeping
        also, i dont know if we need to do the wait n seconds thing anyways
      • oh wait... nvm
      • for some reason i thought that it did daemonize already
      • hodor
      • cryptix
        :)
      • can i cat << EOF > actual in a shareness command?
      • ehm expected
      • oh. forgot to paste the link on the daemonize thingy: https://github.com/sevlyar/go-daemon
      • whyrusleeping
        sharness stuff is just shell scripts
      • chriscool has quit
      • cryptix
        okay, will try
      • whyrusleeping
        btc___: do you know off the top of your head how to re-enable fuse testing on the jenkins boxes?
      • krl
        whyrusleeping: how will you keep the tree of a growing file balanced, like a logfile?
      • whyrusleeping
        krl: a couple different things im doing
      • so, any writes over the currently allocated file will just overwrite the blocks that already exist
      • this breaks a couple things (like rabin fingerprinting) but nothing too bad
      • for appends, Im going to use the same code i use to create the trees
      • just have it be smart and fast forward to the end of the tree and continue
      • one issue im not dealing with right now, is that if the append-writes are really small, it will result in a bunch of excess nodes.
      • this is something I can address later, right now i just want it to work
      • one fun (and probably pretty easy) optimization i can do is to append a bunch of 'zero blocks' to every file created
      • the zero blocks wont take any extra space (because content addressing!) and will make 'append' work really quickly and efficiently later on down the road
      • krl
        ok interesting. also, if i'm thinking of trying to write some datastructures ontop ipfs, where would i start?
      • say, a balanced tree
      • pfraze has quit
      • i guess i could look at how ipfs add/unixfs does it?
      • whyrusleeping
        I would get familiar with the merkledag package, its pretty simple, you have two fields: Data and Links
      • if you want examples of me building a tree, look in importer
      • its fairly abstracted though, i should probably make a really basic example/tutorial for building custom dag structures
      • krl
        don't expect results anytime soon though, never wrote any go before :)
      • whyrusleeping
        add/unixfs uses the unixfs datastructures (built on top of the raw dag)
      • its entirely not necessary for building your own stuff
      • krl
        btw, would it make sense to use the api to build custom dag structures?
      • whyrusleeping
        of course! (if by API you mean writing go and importing our packages)
      • krl
        ok i'll play around a bit
      • pfraze joined the channel
      • whyrusleeping
        tperson: where was that dag example you were working on?
      • you should show krl
      • btc___
        whyrusleeping: in the job config. At the bottom where the execution script is specified. Change/remove the environment variable
      • whyrusleeping
        btc___: awesome, thanks!
      • now i need to make sure they all have fuse installe
      • d
      • domanic joined the channel
      • tperson
        I'll look for it.
      • cryptix
        krl: if you want to learn some go, take the tour(.golang.org) and afterwards you might find http://golang-challenge.com/go-challenge1/ interesting
      • tperson
        Not at my computer, I know it's linked in chat someplace
      • domanic has quit
      • patcon has quit
      • ipfsbot
        [go-ipfs] cryptix force-pushed trailingDirSlash from 2226059 to b2034b4: http://git.io/xkuM
      • go-ipfs/trailingDirSlash 1a2346d Henry: beautify 'ipfs ls' and 'ipfs object links' (updates #799)
      • go-ipfs/trailingDirSlash b2034b4 Henry: newIpfsLs: add shareness test
      • [go-ipfs] cryptix pushed 1 new commit to springClean: http://git.io/xcvq
      • go-ipfs/springClean 6559b5b Henry: we can drop go-humanize if we use shareness Makefile to fetch the random utility
      • patcon joined the channel
      • cryptix
      • btc___
        cryptix: the inflect PR is merged. feel free to vendor upstream (inflect)
      • cryptix
        ah perfect
      • ipfsbot
        [go-ipfs] cryptix force-pushed springClean from 6559b5b to 5a53706: http://git.io/xctQ
      • go-ipfs/springClean 5a53706 Henry: godep: changed back to inflect upstream
      • [go-ipfs] cryptix force-pushed springClean from 5a53706 to 3a7f3e2: http://git.io/xctQ
      • go-ipfs/springClean 3a7f3e2 Henry: godep: changed back to inflect upstream
      • cryptix
        yey, jenkins is back
      • zooko joined the channel
      • ipfsbot
        [go-ipfs] cryptix force-pushed updateFuseToCtxs from 6aa49fd to e9deea2: http://git.io/xkrJ
      • go-ipfs/updateFuseToCtxs e9deea2 Henry: added implements check for root types and fixed remaining interfaces on nodes
      • [go-ipfs] cryptix force-pushed trailingDirSlash from b2034b4 to 9d5d6f3: http://git.io/xkuM
      • go-ipfs/trailingDirSlash 9d5d6f3 Henry: newIpfsLs: add shareness test
      • tperson
      • ipfsbot
        [go-ipfs] cryptix force-pushed trailingDirSlash from 9d5d6f3 to 0ca206d: http://git.io/xkuM
      • go-ipfs/trailingDirSlash 0ca206d Henry: newIpfsLs: add shareness test
      • [go-ipfs] cryptix force-pushed updateFuseToCtxs from e9deea2 to 55d9196: http://git.io/xkrJ
      • go-ipfs/updateFuseToCtxs 1a2a019 Henry: implements check and fixed argument ordering
      • go-ipfs/updateFuseToCtxs 55d9196 Henry: added implements check for root types and fixed remaining interfaces on nodes
      • whyrusleeping
        can anybody transfer any of their focus to me?
      • i keep getting distracted
      • patcon joined the channel
      • cryptix
        yea, you can have mine. i need to sleep anyway :)
      • tperson
        That has been me all day
      • I haven't got anything done.
      • cryptix
        distraction can be a subconcious part of the process imho
      • at least sometime
      • oh lol
      • so my computer doesnt want to sleep either
      • [36174.923887] Freezing user space processes ...
      • [36194.915903] Freezing of tasks failed after 20.008 seconds (4 tasks refusing to freeze, wq_busy=0):
      • 100 random hashes to anyone guessing which process this is
      • cryptix 2402 0.1 0.0 0 0 ? ZNl 02:16 0:09 [readonly.test] <defunct>
      • patcon has quit
      • jbenet
        evening! loads to catch up on--
      • whyrusleeping o/ -- jenkins was out?
      • tperson
        One of the build server I believe was down due to a network hickup
      • (I believe)
      • jbenet
        mmm
      • whyrusleeping senses an impending jbenet text wall
      • patcon joined the channel
      • headbite has left the channel
      • techfreek has quit
      • whyrusleeping
        if anyone wants something to do, tracking down these would be super cool: https://github.com/jbenet/go-ipfs/issues/836
      • patcon has quit
      • Blame: you around?
      • patcon joined the channel
      • tperson
      • What do you think of that for visualizing peer connections of the network?
      • jbenet
        iiiiiincoming
      • blame: on webrtc-- it's a planned transport. there will be full ipfs nodes in just javascript running on the browser using websockets and webrtc to communicate. This depends on efforts like https://github.com/webrtcftw -- also, this introduces complexity for the routing system. relay must be in place, because many nodes just wont be able to talk to one
      • another.
      • tperson ducks behind chair
      • dPow: great! +1 on collecting all the things. would be useful to have it accessible on the ipfs.io site too. Will make it available this week when i move everything to protocol/
      • whyrusleeping gets in the bunker
      • tperson, whyrusleeping: we should get steam to use ipfs for updates. would seriously help in LANs. do either of you know if they do any p2p at all?
      • whyrusleeping: yes magsafe <3
      • compleatang: that's great! (2gather) Will check it out shortly!
      • hrjet: "if two different peers add a file each into ipfs, and the files have many blocks in common, then the common blocks will have the same addresses?" correct. though this depends heavily on how the datastructures are made. hence the importance of content-based blocking (rabing fingerprints based chunking).
      • luzifer: awesome re build logs
      • cryptix: re "ipfs node" vs "dag node" -- this is an unfortunate name clash, but i really want to be able to say "run your ipfs node" or "a network of N ipfs nodes". I've been using "object" to mean "dag node", because it also evokes the notion of OOP, or message passing (smalltalk, erlang, etc) to agents. for now i've had success with people when i specify
      • "ipfs node" and "dag node", but it is indeed verbose.
      • blame: i'm sorry, that really sucks (re your hands). Type less. ergonomic kbs. etc. See also: https://www.youtube.com/watch?v=8SkdfdXWYaI -- the best attempt at this sort of thing i've seen.
      • krl: play with bin/graphmd in go-ipfs. i'll make an example of how to use it ~~tonight~~ riight now: http://gateway.ipfs.io/ipfs/QmTkzDwWqPbnAh5YiV5... -- it makes graphs like this:
      • whyrusleeping: if `ipfs add -t=true` working? produces the same dag output for me. (needs sharness testtt) -- I want to add it to the example
      • whyrusleeping: here! have some focus: http://gateway.ipfs.io/ipfs/QmbVgMdE932mAAkeg8L...
      • whyrusleeping: you were right!! not too big though-- most time spend on the example. (feedback pls)
      • tperson: that's awesome! that globe is a bit slow, but it's pretty sweet. i've a friend who is _amazing_ with webgl. we can poke him to help us.
      • tperson
        jbenet whyrusleeping: We actually talked about that when we were at a lan. I had to download a massive game that was sitting on whyrusleeping desktop right next to me.
      • whyrusleeping
        jbenet: the -t option doesnt work yet, not sure how that happened...
      • jbenet
        lol
      • whyrusleeping
        jbenet: what was i right about? "not too big though"
      • jbenet
        the incoming wall
      • whyrusleeping
        oh!
      • lol
      • also, the hyperconnected network is starting to stress my pis
      • well, for the first time in six hours, things build
      • i dont dare run the tests yet...
      • jbenet
        lol writable ipns?
      • whyrusleeping
        yeah, thats what im working on
      • im first pass code complete for the dagmodifier rewrite
      • now for a bunch of tests, and making it actually work
      • then maybe refactor