<zorun>
eternaleye: it's a bit old (in particular, MPTCP has massively improved since then), but they seemed to have a prototype multipath HIP implementation
<daviddias>
jbenet: thanks, added more context
dlight has joined #ipfs
domanic_ has joined #ipfs
<daviddias>
jbenet: solved, thank you
voxelot has quit [Ping timeout: 265 seconds]
mildred has quit [Quit: Leaving.]
zabirauf has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
mildred has joined #ipfs
zabirauf has joined #ipfs
compleatang has quit [Remote host closed the connection]
dignifiedquire has quit [Quit: dignifiedquire]
therealplato1 has joined #ipfs
therealplato has quit [Ping timeout: 260 seconds]
<Luzifer>
jbenet: do you have a little time to review a PR? (it implements building of specific commits / tags)
compleatang has joined #ipfs
<jbenet>
Luzifer prepping a talk, can CR right after (~3hr)
<Luzifer>
mentioned you inside the PR…
domanic_ has quit [Ping timeout: 246 seconds]
hellertime has joined #ipfs
hellertime has quit [Read error: Connection reset by peer]
hellertime has joined #ipfs
pfraze has joined #ipfs
domanic_ has joined #ipfs
tilgovi has joined #ipfs
Eudaimonstro has quit [Ping timeout: 260 seconds]
pfraze has quit [Remote host closed the connection]
pfraze has joined #ipfs
mildred has quit [Quit: Leaving.]
pfraze has quit [Remote host closed the connection]
pfraze has joined #ipfs
mildred has joined #ipfs
domanic_ has quit [Ping timeout: 256 seconds]
pfraze has quit [Ping timeout: 244 seconds]
mildred has quit [Client Quit]
thelinuxkid has joined #ipfs
tilgovi has quit [Ping timeout: 240 seconds]
pfraze has joined #ipfs
thelinuxkid has quit [Quit: Leaving.]
<cryptix>
has anybody experimented with crdts? id like to prototype a all-ipfs page like http://netzpolitik.us wich should be fine with a simple set impl
dignifiedquire has joined #ipfs
<rschulman>
morning folks
<rschulman>
cryptix: I’ve never heard of crdts, what is it?
<lgierth>
Luzifer: the non-stream video will be available right after
<Luzifer>
lgierth: yep… but… youtube… germany…
<lgierth>
yeah it's only about the stream
<cryptix>
put the gema on fire, they deserve it more anyway
<lgierth>
agree: re gema/youtube/streaming
<rschulman>
haha, yeah, I don’t think that youtube is the party at fault in this particular case. :)
<rschulman>
hm, yeah, I wonder when RFC time is.
<rschulman>
re Juan’s comment a moment ago
<cryptix>
how far of is the nodejs impl? i think one the interop works and the specs are updated with the knowledege from that process asking for more comments makes sense?
<rschulman>
I think the nodes connect but they haven’t done the DHT yet?
<cryptix>
ill take a look into the last sprints
<cryptix>
yup - looks like dht is next. awesome
yosafbridge has quit [Ping timeout: 240 seconds]
<rschulman>
has anyone made a gist equivalent in IPFS?
<rschulman>
a tool to take whatever is in the clipboard, insert it into ipfs and put the hash back in your clipboard?
notduncansmith has quit [Read error: Connection reset by peer]
<eternaleye>
zorun: There are a couple of HIP implementations; both InfraHIP and OpenHIP are runnable. That presentation looks to be from near the tail-end of the HIPv1 days, though
<eternaleye>
zorun: OpenHIP doesn't support HIPv2 yet, and InfraHIP only has an early draft of it
<eternaleye>
zorun: (2011/2012 was when people began work on speccing HIPv2 based on what they'd learned from HIPv1)
voxelot has quit [Ping timeout: 246 seconds]
<eternaleye>
zorun: Ah, yeah, seems they used HIPL, which is an old name for InfraHIP
<eternaleye>
(Back when it was part of the "HIP 4 Linux" project)
<whyrusleeping>
gmornin everyone
<cryptix>
hey whyrusleeping
<cryptix>
got coffee already? :))
<whyrusleeping>
lol, i'm sipping on some water right now
<whyrusleeping>
havent found coffee yet
<rschulman>
morning, whyrusleeping
<whyrusleeping>
rschulman: heyo!
<rschulman>
how goes?
<whyrusleeping>
doin alright. i need to get off the couch to go get coffee, but i'm too tired to do that right now
<whyrusleeping>
its a very vicious cycle
<cryptix>
you could prepare some coffee in a thermos jug
<rschulman>
damn, sounds like you’re stuck there for the day then.
xelra has joined #ipfs
<whyrusleeping>
yeah, i'm pretty much trapped here
<whyrusleeping>
i wish hipster seattle coffee shops delivered
vijayee_ has joined #ipfs
<cryptix>
dude.. just get a coffee machine
<whyrusleeping>
i have multiple
<whyrusleeping>
i ran out of beans last friday
notduncansmith has joined #ipfs
notduncansmith has quit [Read error: Connection reset by peer]
MatrixBridge has quit [Remote host closed the connection]
M-staplemac has quit [Remote host closed the connection]
M-hash has quit [Remote host closed the connection]
M-mistake has quit [Remote host closed the connection]
M-prosodyContext has quit [Remote host closed the connection]
<rschulman>
hehe
MatrixBridge has joined #ipfs
<rschulman>
whyrusleeping: Amazon prime?
atrapado has joined #ipfs
therealplato1 has quit [Ping timeout: 240 seconds]
M-staplemac has joined #ipfs
M-hash has joined #ipfs
M-prosodyContext has joined #ipfs
M-mistake has joined #ipfs
therealplato has joined #ipfs
therealplato1 has joined #ipfs
therealplato has quit [Ping timeout: 255 seconds]
<whyrusleeping>
rschulman: i managed to venture downtown and get some coffee
<rschulman>
phew
<rschulman>
btw - rust-ipfs-api now does “ls”
<rschulman>
but its UGLY
<whyrusleeping>
rschulman: hell yeah!
<rschulman>
and needs cleaning up
<whyrusleeping>
make it prettier!
<rschulman>
parsing JSON in rust, I will admit, is hacktastic
<rschulman>
though that’s true of any statically typed language, I think.
<whyrusleeping>
rschulman: its pretty nice in go
<cryptix>
_if_ the json is well formed..
<cryptix>
conversions are annoying.. like i want this string field as a number
<whyrusleeping>
cryptix: yeahhhh
<whyrusleeping>
anyone here even mildly javascripty?
<whyrusleeping>
i have a question about react stuff
<whyrusleeping>
cant seem to find an answer on the internet
<cryptix>
very strongly diluted
<cryptix>
love the cultre but everytime i see a 'cant call x on undefined' or something like that i just tableflip
<whyrusleeping>
cryptix: lol
<whyrusleeping>
i'm trying to add a drag and drop handler to an element created by react using feross's drag-drop module
<whyrusleeping>
the problem is i think i have to call the module to register the handle every time react does a render, which i'm not so sure about the right way to do
thelinuxkid has joined #ipfs
* cryptix
hides
silotis has quit [Quit: No Ping reply in 180 seconds.]
<whyrusleeping>
cryptix: i dont blame you
<cryptix>
i hope the js community doesnt get fragmented over the 'react way to do things'
silotis has joined #ipfs
<whyrusleeping>
cryptix: hmm... all of my react experience has been acquired yesterday
<whyrusleeping>
but i do really like it so far
<rschulman>
whyrusleeping: how does Go do it? Go is also strongly statically typed, no?
<whyrusleeping>
and i think that if i wasnt using react, i would still structure things in a similar way
<whyrusleeping>
rschulman: its strongly statically typed, but we have nice reflection
<cryptix>
yup.. just hard to mix in old-style stuff (like this event handler disappearing)
thelinuxkid has quit [Quit: Leaving.]
<rschulman>
yeah
<rschulman>
rust generally dislikes reflection, in my experience.
<cryptix>
whyrusleeping: do you call type switches reflection as well? (just curious)
<whyrusleeping>
cryptix: i do them a little differently
<whyrusleeping>
i actually do a normal switch
voxelot has joined #ipfs
<whyrusleeping>
using reflect types
<whyrusleeping>
so like t := reflect.TypeOf(i)... switch t { case X, Y, Z }...
<whyrusleeping>
because generally i already have the type in a variable if i'm doing reflection stuff
<whyrusleeping>
rschulman: go actually does reflection really nicely, and its not super janky either
thelinuxkid has joined #ipfs
Tv` has joined #ipfs
<cryptix>
whyrusleeping: sure - i just meant to ask how you consider them from a language perspective.. is 'v, ok := absr.(MyInterface)' reflection for you?
<cryptix>
im not sure how to differentiate that but database/sql goes very far before it needs to import reflect
<whyrusleeping>
go's reflection is very inline and fast
<whyrusleeping>
since all types are just represented by a number, checks and assertions and casts are all easy to do
<whyrusleeping>
i'm not sure what the mechanism for interface checks is though
<cryptix>
interfaces are just types too, no?
<cryptix>
so you know which concrete T implements which I at compile time
notduncansmith has joined #ipfs
notduncansmith has quit [Read error: Connection reset by peer]
<whyrusleeping>
cryptix: yeah, thats nice in that case, but imagine i have a function that accepts an interface{}
<whyrusleeping>
and in that function i do a check like 'i.(MyOtherInterface)'
<cryptix>
hrm.. i'd guess all call-sites are again known at compile time and thus which types bleed into your function but i never designed a compiler
<whyrusleeping>
cryptix: yeah, thats the part i'm uncertain about too
<whyrusleeping>
so i try to avoid interface to interface conversions
<whyrusleeping>
(i really should just go look at how they do them)
therealplato1 has quit [Ping timeout: 250 seconds]
dignifiedquire has quit [Quit: dignifiedquire]
domanic_ has quit [Ping timeout: 246 seconds]
notduncansmith has joined #ipfs
notduncansmith has quit [Read error: Connection reset by peer]
<rschulman>
am I right that the only calls that can return/take protobuf are object get and put?
<cryptix>
everything that has an --encoding param IIRC
<cryptix>
ok i'm out for the day.. harvest some photons
dignifiedquire has joined #ipfs
<rschulman>
yeah, just looks like the ipfs object commands.
tilgovi has joined #ipfs
notduncansmith has joined #ipfs
notduncansmith has quit [Read error: Connection reset by peer]
Eudaimonstro has joined #ipfs
<whyrusleeping>
rschulman: i think those are the only ones that work with protobuf input i think
<rschulman>
yeah
<rschulman>
too bad
<whyrusleeping>
yeah?
<rschulman>
back to json!
<rschulman>
protobufs are actually probably easier to work with
<rschulman>
but not sure, since I haven’t tried.
<rschulman>
:)
Encrypt has joined #ipfs
<cryptix>
i thought we support it everywhere where you can get json
<rschulman>
cryptix: Don’t think so, just a couple.
<whyrusleeping>
cryptix: i think we only support it in places where we have protobuf schemas for the data
<rschulman>
although I suppose I could implement ls by getting a protobuf of the hash from object get
notduncansmith has joined #ipfs
notduncansmith has quit [Read error: Connection reset by peer]
therealplato has joined #ipfs
tilgovi has quit [Ping timeout: 255 seconds]
notduncansmith has joined #ipfs
notduncansmith has quit [Read error: Connection reset by peer]
domanic_ has joined #ipfs
<rschulman>
huh
Encrypt has quit [Quit: Quitte]
<rschulman>
the merkledag.proto file references a code.google.com project that doesn’t exist.
null_radix has quit [Excess Flood]
<rschulman>
now on github
Eudaimonstro has quit [Ping timeout: 264 seconds]
null_radix has joined #ipfs
notduncansmith has joined #ipfs
notduncansmith has quit [Read error: Connection reset by peer]
<voxelot>
so i want to learn ipfs from the ground up, learning go is a good place to start right
<whyrusleeping>
voxelot: what context do you want to learn ipfs in?
<whyrusleeping>
like, understanding the codebase?
<voxelot>
right
<voxelot>
i'd like to help with cjdns if possible
<whyrusleeping>
yeah, learning go is gonna be a prereq
<voxelot>
cool, on it :)
<whyrusleeping>
the best way to get the hang of it is probably just to help out with some bugfixes
<voxelot>
sounds good
<rschulman>
whyrusleeping: Do you know why the merkledag.proto file requires the gogoproto project? It just looks like a normal proto file as far as I can tell.
<rschulman>
or better to ask jbenet?
<whyrusleeping>
rschulman: i'm not sure why it requires that...
<whyrusleeping>
it should just be an array of links and data
<whyrusleeping>
theres nothing fancy about it..
<whyrusleeping>
rschulman: yeah, you can delete the import thing and all of those options
<rschulman>
deleting! :)
simonv3 has joined #ipfs
notduncansmith has joined #ipfs
notduncansmith has quit [Read error: Connection reset by peer]
Eudaimonstro has joined #ipfs
notduncansmith has joined #ipfs
notduncansmith has quit [Read error: Connection reset by peer]
pfraze has quit [Remote host closed the connection]
<whyrusleeping>
daviddias: ping
<daviddias>
whyrusleeping: what's up?
jedahan has joined #ipfs
<whyrusleeping>
i'm trying to update the package.json for node-ipfs-api to point to the new published version of vinyl
<whyrusleeping>
instead of the exact sha commit
<whyrusleeping>
and i did that just fine
<whyrusleeping>
but now on commit, its complaining about formatting stuff in the test file
<whyrusleeping>
which i havent touched
<daviddias>
Because of standard?
<whyrusleeping>
yeah
<daviddias>
Does npm run lint work?
<whyrusleeping>
that fails too
<daviddias>
Run ./node_modules/.bin/standard --format
<whyrusleeping>
and it didnt when i made my last commit
<whyrusleeping>
i mean it 'runs' and reports a bunch of formatting stuff is wrong
<daviddias>
Yeah, you probably did the last commit without the precommit module really installed
<whyrusleeping>
running standard --format throws an error
<daviddias>
So when you did the PR, you never did lint
<daviddias>
An error ? Which one ?
<daviddias>
--format will fix every Code style it can
<daviddias>
The ones it can't, you have to fix yourself
<daviddias>
Weird
<daviddias>
Can you 'rm -r node_modules && npm I'
<daviddias>
npm i *
<daviddias>
and try to run the --format thing again
<whyrusleeping>
/home/whyrusleeping/code/node-ipfs-api/test/test.js:237:2: Unexpected use of comma operator.
<daviddias>
Just that ?
<whyrusleeping>
and one complaining about an error needing to be handled
<whyrusleeping>
which i know how to fix
<daviddias>
Cool :)
<daviddias>
The comma operator is probably because some "comma first" style
<daviddias>
Which standard doesn't like
<whyrusleeping>
the line is "it('id', function () {"
<daviddias>
Also, change in the package.json the lint script to the --format one
<daviddias>
Probably that never got caught because that npm script is catching latest changes and if it got added after the tests, standard was never ran in the tests folder. Best practice is just letting standard go through the whole code
<whyrusleeping>
how do i fix the comma thing?
<daviddias>
sorry for not going after the code directly, I'm replying from my phone on a 2G/3G internet
<whyrusleeping>
mmkay
<daviddias>
Could you copy a lil more of the code ?
<daviddias>
Doesn't seem wrong from me
<whyrusleeping>
i got it, there was a comma at the very end of the statement
<whyrusleeping>
but for some reason it put the error on the first line of the statement
<daviddias>
Great :)
notduncansmith has joined #ipfs
notduncansmith has quit [Read error: Connection reset by peer]
<daviddias>
Yeah, that is why having standard is great, having those things in production can do really crazy things
<daviddias>
You can also get standard + syntactic for vim
<whyrusleeping>
syntastic is annoyingly slow
<whyrusleeping>
i prefer having those checkers only run when i want them to
<daviddias>
But "it works"
<daviddias>
:)
<whyrusleeping>
lol
<whyrusleeping>
daviddias: is there an easy way to check that a package ive changed works in another package?
<whyrusleeping>
like, i want to test my changes to the node-ipfs-api in my other app
clever has quit [Ping timeout: 250 seconds]
<jedahan>
I wish aether used ipfs underneath...
<whyrusleeping>
jedahan: i've looked at aether a couple times, i think that would be a cool thing to have
<jedahan>
yeah it is, but right now it is really unreliable in connecting and updating
<whyrusleeping>
if the aether devs are interested in using us as their transport layer, i would be down to help out
<jedahan>
whereas i just installed ipfs and everything (at least in the start guide) ... it works like a dream
<jedahan>
it really makes me want to build on top of ipfs
<whyrusleeping>
jedahan: do it :)
<jedahan>
I need to learn a bit more about the system
<whyrusleeping>
that would be a good guide for us to write...
<whyrusleeping>
'a hackers intro to ipfs'
<jedahan>
:D
* whyrusleeping
writes that on his TODO list
<jedahan>
Well, documentation is always a great way to get to learn a project
notduncansmith has joined #ipfs
notduncansmith has quit [Read error: Connection reset by peer]
<whyrusleeping>
we could definitely use help on documentation :)
<whyrusleeping>
if youre up to it
<jedahan>
Always
<jedahan>
What do you think of this idea: I make a blogging client. Something that people can just have drafts or publish a simple article. It gives them back an ipfs:// and http:// link. Now someone who is reading the article, if they really like it, can press 'pin' or 'like'. If they have the client installed, this will permanently store and be part of the swarm/peers that can share it. In this way, we are promoting content creators through disk space/bandwidth
<jedahan>
(a form of currency). It makes the article easier to share, and easier to read offline...
Encrypt has joined #ipfs
<whyrusleeping>
jedahan: hell yeah!
<whyrusleeping>
i would love that
<jedahan>
It at least can help offset the cost of hosting (which is small these days), but a first step to a non-advertisement/tracking based economy that can still help people who create content...
<whyrusleeping>
that would be really cool to have
<whyrusleeping>
it makes it really easy to have stuff hosted and permanent
<whyrusleeping>
especially articles and blogs, which are very small, and people dont mind donating that much of their disk space to others
<jedahan>
alright, i'll sketch up a few UI designs, and then figure out how difficult it would be to bundle the ipfs binary in the client application. I want people who have no idea about computers, to be able to write something resilient and shareable. It should be as easy as logging in to medium.com and hitting publish. If its any harder, then it fails
<jedahan>
Exactly, even with a few pictures it should be OK
<jedahan>
Version 1 I think will be text/markdown only...
<whyrusleeping>
you can take a look at how we do it there
<whyrusleeping>
what we want to get good at though, is checking if there is a daemon running already, and using that if its available, and spawning our own otherwise
<jedahan>
wow so many peers are up this is awesome
<jedahan>
ahh! thats exactly the path I was thinking of going!
<jedahan>
re: electron
<whyrusleeping>
wow, 102 peers
<whyrusleeping>
nice!
<jedahan>
has anyone made a mini docker image?
<jedahan>
I also dream that one day people can just install resin on their raspberry pi, and use it as a node
<whyrusleeping>
jedahan: i think we have a small docker image
<whyrusleeping>
yeah, its based on alphine linux
<jedahan>
also, maybe create a pinboard daemon that every time you pin something, it shows up in your files :)
<jedahan>
so many good ideas on top of ipfs
* whyrusleeping
writes things down
voxelot has quit [Ping timeout: 246 seconds]
pfraze_ has joined #ipfs
notduncansmith has joined #ipfs
notduncansmith has quit [Read error: Connection reset by peer]
therealplato has quit [Read error: Connection reset by peer]
<ipfsbot>
[go-ipfs] whyrusleeping pushed 3 new commits to feat/mfs: http://git.io/vO1UW
<lgierth>
those who are annoyed can add a filter rule to their .git/config
<jbenet>
kbala i'll be there in a sec
atrapado has quit [Ping timeout: 260 seconds]
<jbenet>
Luzifer: took a look at PR-- the Go looks ok to me, but honestly i don't know-- dont know the codebase well enough to make this not take a long time. maybe cryptix can help ?
<Luzifer>
hmm okay…
<Luzifer>
yeah sadly the codebase is growing quite fast
SouBE has quit [Quit: leaving]
pfraze_ is now known as pfraze
<whyrusleeping>
jbenet: changing the codebase to use the splitter interface with 'Next() (io.Reader, error)' is going to be a massive bitch
<whyrusleeping>
like, a few thousand lines at least
<whyrusleeping>
do you want me to just push the rabin package by itself? or do you want the full integration asap?
<Luzifer>
kewl. someone just downloaded ipfs referred from the docs :D (just implemented http-logging in the frontend)
jedahan has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
notduncansmith has joined #ipfs
notduncansmith has quit [Read error: Connection reset by peer]
simonv3 has quit [Quit: Connection closed for inactivity]
<jbenet>
Luzifer: nice! :) -- wish i could help more with the PR :/ -- the Golang looks fine to me.
<cryptix>
hey ppl :)
<Luzifer>
maybe I'll just merge it after I got back from the doc tomorrow (today... in <10h... I should sleep...) and see what happens :D
<Luzifer>
boom-driven-development :D
<jbenet>
hah
<jbenet>
whyrusleeping: not sure when it would get done then?
<jbenet>
it may just end up blocking us from making other chunking modules
<whyrusleeping>
yeah, i'll try and compromise a little
<whyrusleeping>
after throwing out my first attempt i feel better about the refactor
<Luzifer>
gn8 everyone!
<whyrusleeping>
Luzifer: gnite!
<voxelot>
so i get 403 forbidden when trying to cat a file with the api, after allowing CORS access to my local web server
<kyledrake>
jbenet hostname-safe-base32: base32, and you replace the padding (=) with zeroes. It'll work as long as it's under 63 chars (it is for sha-256 multihashes)
notduncansmith has joined #ipfs
notduncansmith has quit [Read error: Connection reset by peer]
<rschulman>
jbenet: I thought they were protobuf related too, but when I merge they’re coming through into the string.
<rschulman>
its the \u0008\u0002 etc if you do object get on /ipfs/QmR6XorNYAywK4q1dRiRN1gmvfLcx3ccBv68iGtAqon9tt
<whyrusleeping>
rschulman: thats unixfs framing
<rschulman>
ah
<voxelot>
any thoughts on why im getting 403 back from ipfs?
<whyrusleeping>
voxelot: how are you making your request?
<voxelot>
if i enter the get request directly into browser it loads up
<voxelot>
from the api
<voxelot>
and local node server on port 3000
<jbenet>
kyledrake makes sense!
<rschulman>
whyrusleeping: best to just strip those out then? Are they always the same?
null_radix has quit [Excess Flood]
<voxelot>
in the ipfs.cat(hashs, function(err, res) call
<voxelot>
hashs is just a string right
<rabble>
has anybody tried bundling up ipfs to run within an app on ios/android like with gomobile bind?
<voxelot>
var hashs = "hash address";
<rabble>
maybe this has been answered but i didnt' find it
simonv3 has joined #ipfs
null_radix has joined #ipfs
* rabble
sees ios ipfs stuff on github but the android stuff has warnings like "Don't use this. Just don't. Please."
notduncansmith has joined #ipfs
notduncansmith has quit [Read error: Connection reset by peer]
<kyledrake>
jbenet cool, last chance to read me the riot act, I'm implementing it this week.