lgierth changed the topic of #ipfs to: go-ipfs 0.4.13 is out! Please try out: https://dist.ipfs.io/go-ipfs/v0.4.13 | Also: #libp2p #filecoin #ipfs-dev | IPFS, the InterPlanetary FileSystem: https://github.com/ipfs/ipfs | Logs: https://botbot.me/freenode/ipfs/ | Forums: https://discuss.ipfs.io | Code of Conduct: https://git.io/vVBS0
weez17 has quit [Remote host closed the connection]
weez17 has joined #ipfs
aananev has joined #ipfs
<AphelionZ> brandon76: I believe its similar in that it's data model is a "directed acyclic graph" aka DAG but not a blockchain
<AphelionZ> like I think if it were a venn diagram DAG would be the big circle and blockchain and IPFS would be inside it
<AphelionZ> "US-IP detected, participation not allowed" :(
<brandon76> i think you just can't buy EOS coins right now
<brandon76> they don't allow china or US america to buy them
<AphelionZ> so are they running their own thing on top of Ethereum?
<brandon76> i'm not sure tbh
<AphelionZ> yeah, right on
<Fess> no, its different
<AphelionZ> why does it say this though:
<Fess> they have an eth token
<Fess> but the network isn't eth blockchain based
<brandon76> if you use Opera browser which includes a free VPN, you can pretend you're in canada
<AphelionZ> Depending on the Ethereum network traffic, figures may be delayed.
<AphelionZ> ohh ok
<Fess> it's confusing
<AphelionZ> brandon76: yeah i'm not curious enough to technically commit SEC fraud
<AphelionZ> our boy MikeFair was talking to me about how building your own mini-blockchain doesnt take a ton of computing power
<AphelionZ> especially if you use scrypt or whatever
newhouse has quit [Read error: Connection reset by peer]
<Fess> also I don't think EOS is DAG based like IOTA
<AphelionZ> oh, a blockchain in general is not a DAG?
<Fess> might be wrong
<AphelionZ> i thought it was
<Fess> it relies on Delegated Proof of Stake
<Fess> I think that rules out DAG based approaches but I'm not sure
<AphelionZ> i wish i knew more about that stuff
<MikeFair> hey all; someone rang?
<AphelionZ> yeah can you scroll up or do you not have that bit
<AphelionZ> we're just S.T.S-ing about eos.io and block.one
<AphelionZ> "Bitcoin’s rise into popularity resulted in it being categorized as Blockchain 1.0. With Ethereum making waves as a decentralized platform for applications that run exactly as programmed, more and more people began to categorize Ethereum as Blockchain 2.0. Now the market is battling to see who will be named Blockchain 3.0. Direct Acyclic Graph or DAG may be it." says Forbes.com
<Fess> doesn't mention EOS does it?
<AphelionZ> so not all DAGs are Blockchains, nor are all Blockchain's DAGs
<AphelionZ> nah it doesnt mention EOS
<MikeFair> It's hard for to picture anything that qualifies as a "Block" "Chain" not being a DAG
<AphelionZ> yeah thats where i was getting caught up
<MikeFair> Obviously nonoe of this stuff is well defined
<AphelionZ> looks like a blockchain to me? idk
<Fess> all blockchains are DAGs but not all DAGs are blockchains
ccii1 has joined #ipfs
<MikeFair> But Block Chains imply immutable history of journaled changes resulting in present state
<MikeFair> Each change represented as a "block"
<AphelionZ> maybe its those arrows that skip blocks in the Wikipedia pictures
<MikeFair> the blocks linked to create a proveable jounral "chain"
<AphelionZ> maybe in some the blocks just go in a straight linear line from one to the next and in some they skip blocks like the arrows imply
<MikeFair> A DAG generally speaking is "a bunch of stuff that has the abiltiy to refer to other "stuff" but no references can make a loop"
ccii has quit [Ping timeout: 246 seconds]
<AphelionZ> yeah
<MikeFair> AphelionZ, that's still a DAG though; a singlely linked list is a DAG
<AphelionZ> yeah so that Forbes article is just plain wrong
<MikeFair> The only restriction is links can't refer to "prior" data
<Fess> it has a bunch of inaccurate stuff
<AphelionZ> "They might make the next blockchain a DAG" :smugcat:
<MikeFair> I think that actually makes given some ofthe things I thnk it needs to be
<AphelionZ> but you just said that all blockchains were DAGs O_o
<MikeFair> basically the idea would be you can "fork the chain" to take a bunch of accounts or assets private and then "remerge" it later
<AphelionZ> this is where I get all messed up because half of this is just us making up crap as we go along
<AphelionZ> mmm
<MikeFair> OH I see what you're saying
<MikeFair> Yeah
<MikeFair> They are all DAGs
<MikeFair> but mostly just linked lists
<MikeFair> Which is still technically a DAG
<AphelionZ> right, this is just like Super DAG
<MikeFair> but doesn't really act like a DAG in the "Graph" sense
<AphelionZ> we got stuff pointing all over the place, just never backwards
<MikeFair> exactly
<AphelionZ> got it
<MikeFair> That's where the "A" comes from (Acyclic)
<MikeFair> And a DAG is a specialized form of A DG (which can have cycles -- and what happens when I'm able to work in my "mutable namespaces" or "ipns links" to IPLD)
tglman has quit [Ping timeout: 252 seconds]
<brandon76> i feel like only an actual learned mathematician should try to read this stuff *and also teach it to the rest of us *
<brandon76> rotfl
<MikeFair> hehe --- it's easier with circles and pictures
apollon[m] has left #ipfs ["User left"]
<MikeFair> brandon76, You're genealogy tree is a DAG
<MikeFair> err your
<MikeFair> You can't "point" to one of your ancestors
<brandon76> i actually did understand the pedigree collapse thing
<brandon76> because i'm an avid genealogist
<MikeFair> But multiple parent "nodes" can "point" to the same "descendants" without issue
<MikeFair> So humanity is an example of a blockchain ;)
<brandon76> i still have hard time picturing "a blockchain"
<MikeFair> To existing blocks come together in a transaction to produce a new block ;)
<MikeFair> brandon76, It's just data, like an email thread
<MikeFair> and there's elements of the data that enable you to prove the history
<brandon76> right i understand that, but then saying that makes it sound like almost nothing special
<MikeFair> (like genetic markers)
<Fess> every block points the the block before it
<brandon76> i was reading about zero proofs earlier today and i think i understand it
<MikeFair> brandon76, Block Chains aren't anything special
<brandon76> so why do ppl keep saying they are changing everything
<MikeFair> brandon76, What's special is the alogrithm that enabled a whole host of independent machiens to agree on "Which Blocks" are the right ones
<brandon76> what is the algorithm called
<MikeFair> Each "Block Chain" implementation has their own; -- some are "Proof of Work"; some are "Proof of Stake"; some are "Proof of Storage"; some are "Consensus"
<MikeFair> BitCoin was among the first public demonstrations of an alogorithm that actually worked combined with an actual application
<Fess> The point with blockchain is to allow consensus of different nodes which don't need to trust eachother at all
<brandon76> using zero proofs?
<Fess> not usually
<brandon76> so how do they reach consensus
<Fess> depends on the chain, lets use bitcoin as an example
<Fess> in bitcoin you use Proof of Work
<brandon76> i'm too tired right now for bitcoin
<MikeFair> In BitCoin; the first one to produce the right blcok with the right checksum and has all the required signatures in the proposed transactions "is accepted"
<brandon76> i just want to know if EOS will make my life better or worse
<Fess> can't say, its interesting but ETH might eat it alive
<Fess> if they manage to complete their roadmap
<brandon76> everipedia and a bunch of other new projects are all hopping onto EOS as soon as it's finished
<MikeFair> brandon76, In other words, "we all agree that the first machine to produce a block that solves the hashing problem wins"
<MikeFair> brandon76, I haven't looked at EOS yet; but I have it from some folks I trust that it's worth looking at
<brandon76> well, i kinda knew that already
<brandon76> hehe
<Fess> I heard, but eth (when its done) has better security, more developers, and more potential use cases
<MikeFair> I personally am looking at Stellar
<MikeFair> not wor what it is
<brandon76> ?
<MikeFair> but I think we can add consensus to the IPFS
<Fess> to do what?
<MikeFair> and Ilike the general framework of the Stellar Consensus Protocol
<MikeFair> okay; I'm actually overdue somewhere else
<MikeFair> bbl
<MikeFair> Fess enable distibuted applications to use consensus to track their own internal state machines
<MikeFair> (so each node can have a reasonable "image" for the current distributed machine state)
<Fess> that's sort of outside of the scope of IPFS's stated goals as a distributed file system
infinity0_ has joined #ipfs
infinity0 has quit [Ping timeout: 240 seconds]
infinity0_ has quit [Changing host]
infinity0 has joined #ipfs
brandon76 has quit [Quit: Leaving]
randomstrangerb has quit [Ping timeout: 256 seconds]
randomstrangerb has joined #ipfs
tglman has joined #ipfs
onabreak has joined #ipfs
gdeverlant has joined #ipfs
<gdeverlant> @stbalien
<gdeverlant> I'm here for an issue on github
<gdeverlant> can we do a live session for wireshark
<gdeverlant> because it seems that wireshark is not capturing HTTP requests
<gdeverlant> coming eitheir Chrome or from my app
<MikeFair> okay back
<MikeFair> Fess, It's inside the goals of libp2p and libp2p-consensus; PubSub and IPLD are outside the goals of a "FileSystem"
<gdeverlant> Fess in France people will laugh at your nickname
<Fess> probably
<gdeverlant> you know its meaning ?
<gdeverlant> Try Fesse google translate
<Fess> I vaguely remember someone mentioning it before
<gdeverlant> ;D I'm not trying to be an ass
<gdeverlant> Just want to notice you
joocain2_ has joined #ipfs
joocain2 has quit [Remote host closed the connection]
kandi has joined #ipfs
<deltab> Fess: there's IPFS the filesystem, and then there's IPFS the project, which is the filesystem and libp2p, ipld, pubsub, etc.
ericxtang has joined #ipfs
ericxtang has quit [Remote host closed the connection]
<deltab> gdeverlant: you might like to try Fiddler, which is an http-level debugging proxy: https://www.telerik.com/fiddler/
<gdeverlant> does wireshark the same job
<deltab> similar, but at a much lower level
<deltab> wireshark works down to the ethernet level, and through to IP, TCP, and HTTP
<deltab> to piece an HTTP transaction, select a packet from it and choose 'Follow TCP stream'
<deltab> ^piece together
<deltab> Fiddler is close to what browser network panels have, but Fiddler's not limited to a browser's own traffic
<gdeverlant> ok
<deltab> you configure a program or OS to use it as a proxy, and it logs what's sent through it
trn has quit [Excess Flood]
trn has joined #ipfs
lordpiep has joined #ipfs
lord| has quit [Ping timeout: 264 seconds]
dimitarvp has quit [Read error: Connection reset by peer]
lordpiep is now known as lord|
espadrine_ has quit [Ping timeout: 248 seconds]
vivus has quit [Quit: Leaving]
colatkinson has joined #ipfs
ericxtang has joined #ipfs
TryToReboot has joined #ipfs
l2d has quit [Remote host closed the connection]
l2d has joined #ipfs
}ls{ has quit [Quit: real life interrupt]
TryToReboot has quit [Ping timeout: 264 seconds]
TryToReboot has joined #ipfs
jayemar has quit [Quit: ERC (IRC client for Emacs 25.3.1)]
cunctipotent has joined #ipfs
cunctipotent has quit [Remote host closed the connection]
kandi has quit [Read error: Connection reset by peer]
<stebalien> gdeverlant: sorry, didn't get the ping (stebalien, not stbalien).
<gdeverlant> sorry
<gdeverlant> im in the middle of rocket League
<gdeverlant> i ll be back in 510 mins
<gdeverlant> 10
jaboja has quit [Ping timeout: 248 seconds]
TryToReboot has quit [Ping timeout: 256 seconds]
clemo has quit [Ping timeout: 265 seconds]
colatkinson has quit [Quit: colatkinson]
<gdeverlant> stebalien: you there ?
<stebalien> gdeverlant: yep
kandi has joined #ipfs
larpanet has joined #ipfs
larpanet has quit [Remote host closed the connection]
larpanet has joined #ipfs
kandi has quit [Quit: Leaving]
randomstrangerb has quit [Ping timeout: 260 seconds]
randomstrangerb has joined #ipfs
jesse22 has joined #ipfs
ericxtang has quit [Remote host closed the connection]
ericxtang has joined #ipfs
<MikeFair> stebalien, I wanted to ask how "difficult" is adding a new namespace type to ipfs?
<stebalien> MikeFair: given the state of the resolvers, painful (in go at least). Sorry, the first step there would be to make a dispatching resolver that keeps track of known namespaces and dispatches resolution to that namespace's resolver.
* MikeFair nods.
<MikeFair> On a somewhat related point, I was thinking given the state of Git/Ethereum/BitCoin IPLD; it seems there should be a "DNS" explorer too (though DNS isn't immutable)
ericxtang has quit [Ping timeout: 260 seconds]
jesse22_ has joined #ipfs
jesse22 has quit [Ping timeout: 256 seconds]
<MikeFair> The first step you're thinking is to make some kind of mapping dictionary in the main resolver code to "register" new resolver
<MikeFair> then when "resolve" is called it would dispatch to the appropriate resolver
<gdeverlant> stebalien: im back
<gdeverlant> sorry
<gdeverlant> we can check your request on wireshark together
<gdeverlant> i will launch my VM vbox
<gdeverlant> im ready stebalien:
<stebalien> Got it.
<gdeverlant> my vm is running
randomstrangerb has quit [Ping timeout: 256 seconds]
randomstrangerb has joined #ipfs
<stebalien> So, what's your setup. Are you running IPFS in a VM and your program on your local host?
engdesart has joined #ipfs
<stebalien> And what is the VM running?
<stebalien> (OS)
saki has quit [Quit: saki]
<gdeverlant> win 7
<gdeverlant> no all on VM
<gdeverlant> you want to connect with Teamviewer ?
<gdeverlant> i got wireshark on vm and host installed
<stebalien> Not really. This should be fairly straight forward.
<gdeverlant> i got 2 monitor
<stebalien> One sec.
<stebalien> I'd run wireshark in the VM, not the host.
larpanet has quit [Ping timeout: 260 seconds]
<gdeverlant> it is running
<gdeverlant> i choose local area network
<gdeverlant> local area connection
<stebalien> Can you not make it listen on all?
<stebalien> That's probably the easiest. You won't have to send me the dump, just the API call.
<gdeverlant> I have only 2
<gdeverlant> Local Area Network
<gdeverlant> and UBPCap1
<stebalien> UBPCap1 or USBCap1?
<gdeverlant> USBPcap1
<stebalien> Local Area Network it is.
<gdeverlant> it is listening
<stebalien> So, in wireshark, apply the `tcp.proto == 5001` filter.
<stebalien> That'll filter to only show API calls to ipfs.
<stebalien> Then, try making an API call from curl and see if anything shows up.
<gdeverlant> it is red
<stebalien> What is?
<gdeverlant> the filter is red
<stebalien> The filter box?
<gdeverlant> yes
<stebalien> (no quotes)
<stebalien> Nevemrind, `tcp.port == 5001`
<stebalien> Sorry.
<gdeverlant> nothing
<stebalien> After running the API request?
<gdeverlant> yep
<gdeverlant> from my app
<gdeverlant> and from the browser
<gdeverlant> there is nothing shown
<gdeverlant> the filter is green
<gdeverlant> funny there is nothing
<gdeverlant> even with curl
<gdeverlant> but curl receive the result
<stebalien> Hm. Sounds like an issue with wireshark.
<stebalien> (well, the configuration)
<gdeverlant> curl http://localhost:5001/api/v0/version?all=true {"Version":"0.4.14-dev","Commit":"429ab6369","Repo":"6","System":"amd64/windows","Golang":"go1.9.2"}
<gdeverlant> promiscous mode ?
leebyron has joined #ipfs
<deltab> are you running wireshark inside the VM?
<gdeverlant> yes
<gdeverlant> VirtualBox
<stebalien> Would you mind running wireshark as administrator? It may not have permission to capture packaets.
<gdeverlant> ok
<gdeverlant> did it nothing
<stebalien> Did you see any additional interfaces on which you could listen?
<gdeverlant> no
<gdeverlant> only the same 2
<stebalien> Damn. Is there any way to ask your HTTP library to log its headers?
<gdeverlant> There are lots of packets
<stebalien> What library are you using again?
<gdeverlant> but no 5001
<gdeverlant> what do you mean ?
leeb has quit [Ping timeout: 264 seconds]
<stebalien> Is there any form of verbose logging in your HTTP library?
<stebalien> Something that will tell it to write debugging information to standard out?
<stebalien> (or, if you tell me what the library is, I'll ask google)
<gdeverlant> yes there are the different steps
<stebalien> Wait, you're doing this from flash?
<gdeverlant> no from Adobe AIR
<gdeverlant> Desktop App Development with Actionscript
<stebalien> Got it.
<gdeverlant> these events are trackable
<gdeverlant> Perkeep has a similar api like ipfs
<gdeverlant> which works well
<gdeverlant> no modification at all
<stebalien> Yes but perkeep probably doesn't have the same security checks.
<gdeverlant> I get nothing in the response header
<gdeverlant> only 403 Permission denied
<deltab> Flash has its own (pre-CORS) way of controlling access across origins, using crossdomain.xml; might that be relevant?
<gdeverlant> yes
<gdeverlant> But this is only valid in browser
<gdeverlant> Not in AIR for Desktop
<gdeverlant> Flash is not AIR
* deltab nods
<deltab> as Adobe describes it, "in Flash Player and in AIR application content in security sandboxes other than then application security sandbox"
<stebalien> Yes, but it looks like air may be sending something like an origin header.
<deltab> I take it you're using the application security sandbox
<deltab> or none
<gdeverlant> lol if I use Security.allowDomain("*");
<gdeverlant> AIR cannot use this api
<gdeverlant> i get error
<gdeverlant> SecurityError: Error #3207: Application-sandbox content cannot access this feature. at flash.system::Security$/allowDomain() at IPFSBundle()[G:\programming\multiverses\NativeProcessExplorer\src\IPFSBundle.as:64] at NativeProcessExplorer/onCreationComplete()[G:\programming\multiverses\NativeProces
<gdeverlant> There is no application sandbox in AIR Desktop APP
<stebalien> gdeverlant: could you try changing the URL you're making the request against to https://requestb.in/16wndhf1
<gdeverlant> ok
<stebalien> That'll log the request and allow me to debug it.
<gdeverlant> var request:URLRequest = new URLRequest("https://requestb.in/16wndhf1");
<stebalien> yep
<gdeverlant> it works
<gdeverlant> i get ok
<gdeverlant> did u get the log ?
<stebalien> Hm. No. Could you try again?
<gdeverlant> ok
<stebalien> (lots of random requests by IRC clients automatically requesting that URL...)
<gdeverlant> done
<gdeverlant> should i add some params ?
<gdeverlant> to the request
<stebalien> No. Could you try making that request without adding any additional parameters?
colatkinson has joined #ipfs
<gdeverlant> ok
<gdeverlant> done
<gdeverlant> i got ok TEXT
<stebalien> Hm. I think I'm hitting some rate limit. Try this one but remove the space: https://requ estb.in/1dm1kf01
<stebalien> That way, we won't get a bunch of random requests from IRC clients...
<gdeverlant> ok
<gdeverlant> done
<stebalien> Ah! Got it.
leebyron has quit [Quit: Leaving...]
<gdeverlant> any tip ?
<stebalien> Yeah, the issue si that you're sending a referer `app:/NativeProcessExplorer.swf`.
<stebalien> You could add that to the allowed hosts or figure out how to get AIR to not send it.
<gdeverlant> I can inject my own agent
<deltab> it's in Referer, not User-Agent
<stebalien> It's not the agent, it's the Referer header.
<gdeverlant> i can add my own
<gdeverlant> should i try
<gdeverlant> what should i put as value
<stebalien> Nothing, preferably
<stebalien> I'm not sure if this is fixable: https://forums.adobe.com/thread/886527
<gdeverlant> check now
<gdeverlant> i sent Agent and Referer
<stebalien> No change.
<gdeverlant> did you get
<gdeverlant> ahhh crap
<gdeverlant> lol without space
<gdeverlant> give me a new one
<stebalien> A new what?
<gdeverlant> url
<gdeverlant> you will get hit by bots
<stebalien> Uh. Yes, oops.
<gdeverlant> give me a new url
<stebalien> So, are you making the request from within hte application security sandbox?
<stebalien> If so, I believe you can set the header.
<gdeverlant> yes I can set my headers
<gdeverlant> give me a new url
<gdeverlant> with space
<stebalien> https://requ estb.in/13gptdz1
<gdeverlant> ?inspect
<stebalien> Yeah, you hsould be able ot add a Referer header to the requestHeaders array.
<stebalien> Yes.
<stebalien> (?inspect allows you to inspect the requests)
<gdeverlant> ok
<gdeverlant> it works
<gdeverlant> check
<gdeverlant> the headers are there
<stebalien> Yep, got http://somewhere
<gdeverlant> Referer: http://somewhere/ User-Agent: Hacker/1.0
<stebalien> So, can you remove that?
<stebalien> (blank it out)
<stebalien> Or, set it to the API endpoint (http://localhost:5001)
<gdeverlant> yeah
<gdeverlant> ill try
leebyron has joined #ipfs
<gdeverlant> requestHeaders.push( new URLRequestHeader('Referer', "")); requestHeaders.push( new URLRequestHeader('User-Agent', "Hacker/1.0"));
<gdeverlant> httpStatusHandler: [HTTPStatusEvent type="httpStatus" bubbles=false cancelable=false eventPhase=2 status=403 responseURL=null]
<gdeverlant> not working
<gdeverlant> doesnt change anything
Rusty78 has joined #ipfs
<Rusty78> e
<stebalien> What about "http://localhost:5001"?
ryjen has quit [Ping timeout: 276 seconds]
<stebalien> That should work.
<gdeverlant> yay!!!!!
<gdeverlant> it works
<stebalien> Awesome!
<gdeverlant> Can you document this new discovery
<stebalien> This is really a bug in adobe AIR. no other system does this.
<stebalien> (programming language)
<stebalien> Browsers set the referer but then, users expect to have to deal with CORs.
<stebalien> However, we should still probably document it.
<stebalien> Just in case...
<gdeverlant> Sweet
<gdeverlant> i created other issues on github
<gdeverlant> are they fixed ?
<gdeverlant> i still canot access webui
<gdeverlant> with my build
<gdeverlant> or get peers
<stebalien> We had a chain of PRs blocking eachother.
<gdeverlant> one of your colleague gave me another binary
<gdeverlant> which worked
<stebalien> I believe I gave you that one. Does that not still work?
<gdeverlant> i lost it
<gdeverlant> do you have a recent one ?
<stebalien> It's still in that issue.
<stebalien> I can build a new one. Give me a sec.
<gdeverlant> woth the one you gave me it was working
<gdeverlant> webui and peers
<gdeverlant> but the webui was sucking 69% of my cpu
<stebalien> Windows, 64bit?
<gdeverlant> yes
<gdeverlant> I'm also creating a sort of IPFS
<gdeverlant> with RTMFP and Perkeep
<gdeverlant> much more easy
<gdeverlant> and performant than IPFS
<stebalien> That won't be fixed. If you visit the peers page, it'll kill your CPU (because it tries to render them on a unoptimized webgl globe).
<gdeverlant> I'm using MonaServer as rendez-vous server
<gdeverlant> Then it should be removed
<gdeverlant> from the UI
<gdeverlant> my rendez-vous server is weighting 2.5 MB in ram instead of 500MB for ipfs
<stebalien> gdeverlant: we know. However, nobody has had time to work on the webui lately (although that's changing)
<stebalien> Build: ipfs.io/ipfs/QmWezhAsqcMaHKvCVacAFrLpRHDcufcH17yh6vMogXp7jt
<stebalien> go-ipfs is significantly more complicated... It shouldn't use as much memory as it does but it'll never be that light weight.
<gdeverlant> I think that ipfs is too much overload
<gdeverlant> monaserver is supporting rtmfp or webrtc
<gdeverlant> runs on all platform
<gdeverlant> the tiny version is 1mb
ONI_Ghost has joined #ipfs
leebyron has quit [Remote host closed the connection]
<gdeverlant> is this normal
<gdeverlant> ERROR - 06:34:51.644 ERROR  bitswap: Error writing block to datastore: Access is denied. bitswap.go:317 ERROR - 06:34:51.935 ERROR  bitswap: Error writing block to datastore: Access is denied. bitswap.go:317 ERROR - 06:
<gdeverlant> wow ipfs is sucking 60% of my cpu
<gdeverlant> 350 MB
<gdeverlant> ok now it went to 00%
<gdeverlant> now back to 60%
<gdeverlant> I don't know how you are going to fix this
<Rusty78> gdervlant: is your project open sourced?
<gdeverlant> too much overhead
<gdeverlant> not yet
<Rusty78> gdervlant: how far along is it? I am genuinely curious because the CPU load kills my potential applications on mobile
<gdeverlant> I combine rtmfp for p2p, perkeep for the Merkle tree
<gdeverlant> and Adobe AIR as the UI
<gdeverlant> it runs on mac linux and windows
<gdeverlant> I didn't test on mobile
<gdeverlant> but I know that the p2p rendez-vous server is not on the pc or mobile
<gdeverlant> it is external
<Rusty78> Ahh
<gdeverlant> running on arm4
<gdeverlant> arm64
<gdeverlant> the ui compiles on android and ios
<gdeverlant> I've created an API to run serverless micro services through rtmfp in p2p
<gdeverlant> you can stream video audio data in multicast
<gdeverlant> so basically if the rendez-vous server runs on android or ios it will take 3 MB ram maximum
<gdeverlant> can be games apps
larpanet has joined #ipfs
Guest65057 has joined #ipfs
<MikeFair> gdeverlant, I'm curious about what you wrote too
<gdeverlant> Actually it is exactly the same as IPFS
<gdeverlant> but without all the expertise of ipfs
<gdeverlant> a one man show
<MikeFair> I've been thinking a nice little "service" that can aggregate the p2p discovery, and allow apps to create "zones"
<gdeverlant> It is a realtime video editing platform
<gdeverlant> which has a market place
<gdeverlant> and people can browse through apps with their domain name
<gdeverlant> which are free
<gdeverlant> they can buy apps to add on the timeline
<gdeverlant> to enrich the video editor
<gdeverlant> the part for ipfs I implemented Perkeep
<gdeverlant> so I don't need to code any MErkle DAG
<gdeverlant> the guys did it for me
<gdeverlant> I just use it
<gdeverlant> and it weights 35 MB in ram
<gdeverlant> instead of 500 MB
<gdeverlant> the p2p server is 2.5 MB in ram
<gdeverlant> the UI is 50 MB
<gdeverlant> I'Ve created the Request Response layer like HTTP but as p2p
<gdeverlant> you just have to add your class in the router
<gdeverlant> and the calls are all handled automatically
<gdeverlant> like Servlets in Java
<gdeverlant> it's backed with a custom implementation of OSGi in Actionscript 3
<gdeverlant> for the modular aspect of the Video Editor
<gdeverlant> It works really well
skywavesurfer has joined #ipfs
skywavesurfer has quit [Excess Flood]
<gdeverlant> I doubt that IPFS will survive
<gdeverlant> Too many problems I had with it
<gdeverlant> and the bugs keep pilling
<gdeverlant> I hope that this works
colatkinson has quit [Quit: colatkinson]
<gdeverlant> but I abandonned the idea of using IPFS
<gdeverlant> maybe sometime in the future if all the performance things and lightweight are fixed
<gdeverlant> I will implement it inside of my Video Editor
larpanet has quit [Ping timeout: 264 seconds]
inxri[m] has joined #ipfs
ONI_Ghost has quit [Quit: Leaving]
inxri[m] has left #ipfs [#ipfs]
<gdeverlant> thank you for your help stebalien:
<gdeverlant> i will maybe use ipfs in the future if things get better
quake has joined #ipfs
leebyron has joined #ipfs
ulrichard has joined #ipfs
ryjen has joined #ipfs
quake has quit [Client Quit]
leebyron has quit [Ping timeout: 276 seconds]
ryjen has quit [Ping timeout: 240 seconds]
gdeverlant has quit [Remote host closed the connection]
ryjen has joined #ipfs
ryjen has quit [Ping timeout: 256 seconds]
ylp has joined #ipfs
anewuser has quit [Ping timeout: 240 seconds]
roygbiv has joined #ipfs
roygbiv has quit [Client Quit]
deetwelve has quit [Ping timeout: 240 seconds]
Alpha64 has quit [Read error: Connection reset by peer]
deetwelve has joined #ipfs
inetic has joined #ipfs
leebyron has joined #ipfs
leebyron has quit [Ping timeout: 252 seconds]
hellyeah has joined #ipfs
<hellyeah> hey there
<hellyeah> it is my first day i met ipfs
<hellyeah> so what is the deal here? new file system
<voker57> more like data transfer protocol
<MikeFair> hellyeah, bittorrent reimangined as a file sharing network and placed on steroids for making distributed applications easier to author
<MikeFair> that tries to feel a bit more like "DRopBox"
<MikeFair> But it's all decentralized hosting
<hellyeah> make sense
<hellyeah> i feel excitement here
<MikeFair> It's definitely a WIP
leebyron has joined #ipfs
<hellyeah> what does WIP mean?
<MikeFair> Work In Progress
<hellyeah> sorry for my english
<MikeFair> no worries
<hellyeah> i see
<MikeFair> But it does what it currently can do pretty well
<hellyeah> well i m sorry if it is stupid question
<hellyeah> we are still using dockers?
<hellyeah> docker
<MikeFair> Many people use Docker; I don't
<hellyeah> hmm so docker is not mandatory for using ipfs
<MikeFair> It's not "that heavyweight" an application
<hellyeah> is that correct?
<MikeFair> correct
<hellyeah> okey
<hellyeah> what do you use for ipfs?
<MikeFair> It's primarily a command line program
<hellyeah> hmm okay
<hellyeah> you send data from one place to another from command line
<MikeFair> I'm using some of the more experimental features of its distributed database and p2p pubSub stuff
<MikeFair> But the things that work best are you "add Files"
<MikeFair> You get back a long code
<MikeFair> Anyone can use that code to download that file
leebyron has quit [Ping timeout: 246 seconds]
<hellyeah> so in ipfs you just store data or whole thing contains script, csv file for example
<MikeFair> raw data
<MikeFair> mostly files
<MikeFair> The files and directories get broken down into smaller blocks and stored on the network
<MikeFair> err stored on your local computer
<MikeFair> Then when someone asks for the "CID" (i.e that long code) they can get the file back
<MikeFair> The content of the file itself determines its ultimate filename
<MikeFair> Therefore, that code can only ever return that version of that specific file
<hellyeah> so
<hellyeah> push, merge etc.
<hellyeah> may be more advanced
<MikeFair> All of those operations make new codes
<hellyeah> but some part of it is like github
<hellyeah> is it?
<MikeFair> Well, you can use the immutability to make something like GitHub on top
<MikeFair> You can also use it to make something like the Internet Wep Page Archive
<hellyeah> i guess i will figure out everything
<hellyeah> imutability
<hellyeah> like
<hellyeah> just handling everything in one instance?
<hellyeah> oh good
<hellyeah> i see the picture
<MikeFair> immutabilty means the data can not be changed
<MikeFair> once you've added the file; the code you get will always be unique to that file
<MikeFair> or to that entire directory
<hellyeah> hmm
<hellyeah> that doesnt sound good
<MikeFair> So if you add an entire directory, you get a CID for that directory
<hellyeah> web page archive seems more doable
<MikeFair> and it always mean that version of that directory
<MikeFair> and its contents
<hellyeah> okey so version control is handier i assume
<MikeFair> Then there's other features that allow you to have a code you can change
<hellyeah> is that what you meant right with archive?
<MikeFair> yep
<MikeFair> and with Git
<hellyeah> good i like it
<MikeFair> And BlockChains
<hellyeah> etherium
xzha has joined #ipfs
<hellyeah> hmm
<hellyeah> i am really new on that technology
<hellyeah> well i suppose i will dig into really soon
xzha has quit [Client Quit]
Fess has quit [Quit: Leaving]
xzha has joined #ipfs
<MikeFair> it's got a flexible architecture so it can be "taught" to read data directly from other places like the Ethereum and Bitcoin networkss
<MikeFair> But that's kind of the more "cutting edge" stuff
<hellyeah> sounds cool
<MikeFair> the "structured data" explorer tool
<MikeFair> If you think about it; a "file system" is just another form of structured data
<MikeFair> (directories and files which are described by the filesystem's data structures)
<MikeFair> So they took the FS concept and genericized it a bit so that IPFS can be taught to read any kind of structured data it can get access to
<MikeFair> And that's all accessible in a p2p decentralied way
<MikeFair> certain nodes "provide" the data ; other nodes "want" or request the data
<hellyeah> okey so
<hellyeah> we will build one to many server here right
<hellyeah> data come and go with stnchronization
<MikeFair> can be many to many
<hellyeah> ah okay
<MikeFair> (the "provides" are all the nodes that "provide" that content)
<hellyeah> okey this center nod or nods is just filesys that holds everything
<MikeFair> kind of, the "center nodes" are only the "center nodes" for _that specific_ data; all nodes are providing some things and wanting others
<MikeFair> but no nodes have "everything"
<MikeFair> for example, if you add hello_world.txt
<MikeFair> the your node provides that content
<MikeFair> if someone else requests it; it's likely they'll keep in their local cache; so they'll also provide it
<MikeFair> The more requested content gets more providers over time
<MikeFair> So it's more like these "center nodes" are "seeds" for the data
<MikeFair> If no one else requests it; then it doesn't go anywhere
<MikeFair> If everyone requests it, then it ends up being copied everywhere
<MikeFair> (and because it can't be changed (it's immutable) there is no chance for it to expire or get invalidated)
<MikeFair> A changed file would produce a new code; and so people would begin requesting that new code
<MikeFair> But the "old code" is still "around"
<MikeFair> It makes some things way easier; and other usually easy things much more difficult
<MikeFair> But as time goes by; the difficult things are getting easier and easier all the time
<MikeFair> As an example; here's a file I just uploaded:
<MikeFair> (I was experimenting on otherthings and this was just a file I had handy)
Rusty78 has quit [Ping timeout: 240 seconds]
rendar has joined #ipfs
<hellyeah> let me read
<hellyeah> MikeFair, if you do some changes
<hellyeah> can i see that change without refreshing the page?
<MikeFair> no
<MikeFair> well not on that website
bomb-on has quit [Quit: zzz]
<MikeFair> that's another personal project I have going to make IPFS blocks available via HTTP
<hellyeah> i see
<hellyeah> so
<MikeFair> (so you don't have to run a full daemon to retrieve data)
<hellyeah> nodes can request a file
<hellyeah> they can have it
<hellyeah> when you change something on that file
<hellyeah> they can see it by requesting it
<hellyeah> or they will see automatically (synced)
<MikeFair> they can see it by requesting the new code
<hellyeah> okay
<hellyeah> so
<hellyeah> the logic is like browser thing
<hellyeah> you know there ia a node package
<hellyeah> when you change something on html it is autoımatically loaded
<MikeFair> Everything is tied to things called "CID" or "Content IDentifier"
<hellyeah> it will understand the change on the web site
<hellyeah> is logic close to that?
<MikeFair> There are parts of IPFS that make it work like that because that makes it useful; but the underlying tech works very different from that
<MikeFair> When you add a file, you get a CID
<MikeFair> thing of it as a named version of that file
<MikeFair> that CID can only ever return that version
<hellyeah> is CID like hashkey?
<MikeFair> when you make changes and add the newly changed file, you get a new CID
<MikeFair> exactly
<hellyeah> okey good
<hellyeah> so checkout thing will work
<MikeFair> (that's exactly what it is, plus some other information for extensibility)
<hellyeah> each version is kept under hashkey
<hellyeah> so structure is really similar
<MikeFair> yeah - I mean it's better to thing of the HashKey as the actual name of the file
<hellyeah> that makes learning curve easier
<hellyeah> for security reason?
<MikeFair> for mental comprehension
<MikeFair> the thing the network understands is the hashke
<hellyeah> hmm okey
<MikeFair> it doesn't understand the file name exactly; though you can request a hashkey of a directory and see things that are the file names
<hellyeah> it is like common protocol between nodes
<MikeFair> exactly
<hellyeah> or it is like binary number that computer understand
<r0kk3rz> its addressed by content, and hash is a universal way a computer can understand content
<hellyeah> good i understand
<hellyeah> so let me guess
<hellyeah> blockchain comes in place now
<r0kk3rz> ? no blockchain
<hellyeah> bhmm
<hellyeah> okey sorry
noresult has quit [Read error: Connection reset by peer]
leebyron has joined #ipfs
<hellyeah> i just think to use blockchain for transferring hash key from one node to other
<MikeFair> hellyeah, The strucured data stuff (where the blockchain readers are) is a different part of the IPFS project
<r0kk3rz> hashes are deterministic, so you dont need any consensus stuff
<MikeFair> there is no block chain in IPFS
<hellyeah> i see
<MikeFair> The hashkeys have a technique to help the nodes "locate" which peer nodes have the data they are wanting
<hellyeah> i see
<hellyeah> that is easy to grasp
<MikeFair> So they talk to each other announcing what they "provide" and what they "want" and "who they know" (other peers)
<hellyeah> okay
<hellyeah> so ipfs has its own structure for that
<hellyeah> make sense
<MikeFair> That's kind of the core definition of what makes IPFS IPFS
<MikeFair> There's then a UNIX Style file system built on top of that to make it easy to access and use in a familiar way
<hellyeah> so actually we can say ipfs is a spesific file system
jungly has joined #ipfs
<hellyeah> MikeFair, NFS?
<hellyeah> Network File System?
<MikeFair> yeah; something akin to an NFS -- but exceedingly different at the same time
<MikeFair> like in NFS you can rewrite a file; in IPFS you can't
<MikeFair> You can only make a new file
<MikeFair> IPFS has algorithms to break the files down into smaller chunks and reuse those chunks
<r0kk3rz> well, you change a file, its contents changes, ergo it gets a new content address
leebyron has quit [Ping timeout: 256 seconds]
* MikeFair agrees with r0kk3rz "A more accurate and simpler way to say it"
<hellyeah> should i need to learn about NFS?
<hellyeah> so
<hellyeah> IPFS like it is cloning NFS but with some different configurations
<r0kk3rz> not really
<r0kk3rz> they arent related in any way
<hellyeah> so when you change file just content changes. File wont be created again and again
<hellyeah> that sounds immutability in file
<hellyeah> so effective memory management
<hellyeah> i am not lost it right?
vmx has joined #ipfs
<MikeFair> hellyeah, but the old version of the file and the new version exist until your node decides to purge the old file from its cache
<hellyeah> r0kk3rz, sorry for my newbie assumption btw i am just in the beginning of the road
<MikeFair> both addresses will continue to work
<hellyeah> event if server purge it
<hellyeah> ?
<MikeFair> if your local server purges it
<MikeFair> and there are no other nodes in the network that have it
<MikeFair> then it's gone
<hellyeah> okay let me clarify something
<hellyeah> pls allow me in that point
<hellyeah> you have 20 nodes
<hellyeah> each nodes are managed by spesific port right
<hellyeah> all nodes in localhost and it is accessible with port number
<hellyeah> so actually localhost is center nodes here and keep everything
<hellyeah> so when localhost purges something
<hellyeah> it effects other nodes immediately
<MikeFair> sure, there's actually multiple ports it can connect on, but just say one for making it simple
<hellyeah> i will be all synced at the end
<MikeFair> no
<MikeFair> not at all
<hellyeah> yeah thats what i am trying to say
<MikeFair> All nodes are master nodes
<hellyeah> each node have its own ports
<hellyeah> hmm i see
<MikeFair> they all have different data
<hellyeah> so each nodes is actually localhost
<hellyeah> okay i understand the deal here
<hellyeah> that make more sense now
<MikeFair> then they all talk to each other about what they have (what they "provdide") and what they "want"
<hellyeah> so nodes have their own thing
<hellyeah> and do something
Caterpillar has joined #ipfs
<hellyeah> when other nodes request content from spesific nodes
<hellyeah> they will have it
<MikeFair> yes
<hellyeah> MikeFair, I see
<hellyeah> make sense perfectly
<MikeFair> then once the new nodes gets it, they likely keep it, which means they can now "provide" it to other nodes too
<r0kk3rz> its very similar to a torrent swarm in this regard
<r0kk3rz> so long as seeders for a file exist on the network, the file is retrievable
Davidj has joined #ipfs
bomb-on has joined #ipfs
<hellyeah> this is llike kind of merge mechanism if the node that request the file, has old files
<hellyeah> is that correct?
<hellyeah> i mean the thing i dont like to see is merge conflict
<hellyeah> is it the case here?
<hellyeah> i guess you mention it keep all files
<hellyeah> past files, present file all together right?
<MikeFair> no
<MikeFair> the CIDs are different, the data is different
<MikeFair> they are tracked in different files
<MikeFair> nothing ever merges
<MikeFair> (but the files are broken up so portions of the file that are the same can be reused)
<MikeFair> oh right, so yes, all files are kept together
<hellyeah> good
<hellyeah> good to hear
<MikeFair> (but they don't all have to be on the same nodes)
<hellyeah> it is all good my ear
<hellyeah> I see
<hellyeah> structure is not hard to comprehend
<MikeFair> yep, it's simple and elegant
<hellyeah> lets hit the road then :)
<MikeFair> The challenge becomes sharing what the CIDs are with everyone who is wants to find the content
<r0kk3rz> hellyeah: theres a number of videos around that describe ipfs, you're probably better off watching them
<r0kk3rz> and then asking questions
<hellyeah> i found something on youtube
<hellyeah> but if you suggest me video series that is/are hosted on youtube or ecourse site
<hellyeah> thats fine
<hellyeah> i have some vids already but thanks for all answers and sharing your times with me MikeFair and r0kk3rz
<r0kk3rz> any of the talks from juan benet are fine
<hellyeah> juan benet let me chec
<r0kk3rz> a lot of them have very similar content
<hellyeah> let me take a closer look to Juan Benet's videos
ryjen has joined #ipfs
leebyron has joined #ipfs
ryjen has quit [Ping timeout: 255 seconds]
<fil_redpill> how does the ipfs: thing work in FF59?
leebyron has quit [Ping timeout: 255 seconds]
bauruine has quit [Quit: ZNC - http://znc.in]
<r0kk3rz> i think it still needs a plugin
Hory has joined #ipfs
bauruine has joined #ipfs
raynold has quit [Quit: Connection closed for inactivity]
<victorbjelkholm> fil_redpill: ipfs thing? You'll have to be more specific of what part of IPFS you mean
<victorbjelkholm> js-ipfs should work fine, ipfs-companion should work as well. go-ipfs you can reach via HTTP so should work in every single browser that supports HTTP requests
<r0kk3rz> FF announced a protocol handler thing in FF59
<r0kk3rz> which presumably means ipfs-companion can register itself as a ipfs:// handler
<victorbjelkholm> ah, the "ipfs://" thing :D yeah, the issue and PR for that is here: https://github.com/ipfs-shipyard/ipfs-companion/issues/164 & https://github.com/ipfs-shipyard/ipfs-companion/pull/359
ryjen has joined #ipfs
<Michcioperz[m]> >newly approved protocols
<Michcioperz[m]> so like uhh you can't bodge any other protocols in?
chowie has joined #ipfs
ryjen has quit [Ping timeout: 265 seconds]
<victorbjelkholm> Michcioperz[m]: you need to prefix them with "web+". Before we add to do "web+ipfs://" for example
<victorbjelkholm> s/before we add/before we had
<Michcioperz[m]> riiight
Davidj has quit [Ping timeout: 248 seconds]
Hory has quit [Quit: Leaving]
<MikeFair> So how did that look? ipfs://ipfs/CID?
* MikeFair is wondering how you did ipns addresses
<victorbjelkholm> supposedly ipfs://$HASH or dweb://ipfs/$HASH - ipns would be ipns://$KEY or dweb://ipns/$KEY
leebyron has joined #ipfs
leebyron has quit [Ping timeout: 240 seconds]
reit has joined #ipfs
ryjen has joined #ipfs
}ls{ has joined #ipfs
}ls{ has quit [Changing host]
}ls{ has joined #ipfs
ryjen has quit [Ping timeout: 252 seconds]
hellyeah has quit [Read error: Connection reset by peer]
<lgierth> dweb:/ only with one slash
<lgierth> with two slashes it means that the following segment is the authority or host, and dweb: doesn't have that concept
<lgierth> put a different way: ipfs:// ipns:// dat:// are URLs, dweb: is a URI
<Michcioperz[m]> is dweb to be a generic prefix for all similar protocols or just IP..?
<r0kk3rz> its just d'Web innit?
<JCaesar> lgierth: Hm, that means file:///foo is nonsense and it should be file:/foo?
<lupine> no, it makes sense enough
<lgierth> JCaesar: no, file:// is a clusterfuck in its own right ;) it's largely unspecified and each browser does it slightly differently
<JCaesar> "clusterfuck in its own right" :D
<lgierth> can you say it like that? i'm not a native english speaker :]
<lgierth> "by reason of one's own ability or ownership etc." -- yeah i guess that works
<Michcioperz[m]> yeah, file:// + absolute unix path is most common right?
<lgierth> yeah
<JCaesar> My native language is German, too. I just love the way you said it.
<lgierth> anyway, dweb: is meant to be a namespace for cryptography-defined addresses (i.e. mostly content-addressing, but also key-addressing and other schemes)
<lgierth> i'm working on a document for that
<lgierth> for now there's only dweb:/ipfs and dweb:/ipns, but there's also room for dweb:/dat and others
<Michcioperz[m]> seems sensible
<lgierth> a shared namespace among other things means: leaving room for others and for disagreement
<lgierth> and leaving room for disagreement is the base for interoperability and collaboration
Guest65057 has quit [Ping timeout: 256 seconds]
dimitarvp has joined #ipfs
plexigras has quit [Quit: WeeChat 2.0.1]
plexigras has joined #ipfs
leebyron has joined #ipfs
ryjen has joined #ipfs
clemo has joined #ipfs
ralphthe1inja has joined #ipfs
ralphthe1inja is now known as ralphtheninja2
leebyron has quit [Ping timeout: 252 seconds]
ryjen has quit [Ping timeout: 265 seconds]
Gytha has joined #ipfs
toxync01 has quit [Ping timeout: 256 seconds]
toxync01 has joined #ipfs
plexigras has quit [Quit: WeeChat 2.0.1]
plexigras has joined #ipfs
toXel has quit [Remote host closed the connection]
toXel has joined #ipfs
dolphy has joined #ipfs
toXel has quit [Client Quit]
toXel has joined #ipfs
Gytha has left #ipfs [#ipfs]
leebyron has joined #ipfs
leebyron has quit [Ping timeout: 256 seconds]
ryjen has joined #ipfs
hellyeah_ has joined #ipfs
tsglove has joined #ipfs
hellyeah_ has left #ipfs [#ipfs]
jaboja has joined #ipfs
jaboja has quit [Remote host closed the connection]
ryjen has quit [Ping timeout: 276 seconds]
plexigras has quit [Quit: WeeChat 2.0.1]
plexigras has joined #ipfs
lord| has quit [Quit: WeeChat 2.0.1]
rngkll has joined #ipfs
rngkll_ has joined #ipfs
rngkll has quit [Read error: Connection reset by peer]
ericxtang has joined #ipfs
ericxtang has quit [Ping timeout: 240 seconds]
chowie has quit [Ping timeout: 256 seconds]
leebyron has joined #ipfs
leebyron has quit [Ping timeout: 276 seconds]
roygbiv has joined #ipfs
newhouse has joined #ipfs
larpanet has joined #ipfs
Alpha64 has joined #ipfs
ericxtang has joined #ipfs
ericxtang has quit [Remote host closed the connection]
larpanet has quit [Ping timeout: 256 seconds]
ericxtang has joined #ipfs
rodolf0 has joined #ipfs
Mateon3 has joined #ipfs
ruby32 has quit [Ping timeout: 256 seconds]
ruby32 has joined #ipfs
Mateon1 has quit [Ping timeout: 240 seconds]
Mateon3 is now known as Mateon1
jayemar has joined #ipfs
ruby32 has quit [Remote host closed the connection]
ruby32 has joined #ipfs
georgenewcloud[m has joined #ipfs
ruby32_ has joined #ipfs
tglman has quit [Ping timeout: 246 seconds]
quinine has joined #ipfs
konubinix has quit [Ping timeout: 256 seconds]
ruby32__ has joined #ipfs
ruby32 has quit [Ping timeout: 268 seconds]
dethos has joined #ipfs
jayemar has quit [Ping timeout: 240 seconds]
konubinix has joined #ipfs
tglman has joined #ipfs
<AphelionZ> lgierth: thats a great way of putting it irt "leaving room" for disagreement
randomstrangerb has quit [Ping timeout: 264 seconds]
randomstrangerb has joined #ipfs
ryjen has joined #ipfs
reit has quit [Quit: Leaving]
shizukesa has joined #ipfs
ryjen has quit [Ping timeout: 252 seconds]
redfish has joined #ipfs
vyzo has quit [Ping timeout: 260 seconds]
bauruine has quit [Quit: ZNC - http://znc.in]
bauruine has joined #ipfs
James_Epp has joined #ipfs
leebyron has joined #ipfs
chowie has joined #ipfs
Neomex has joined #ipfs
mtodor has joined #ipfs
rngkll has joined #ipfs
Alpha64 has quit [Ping timeout: 256 seconds]
ZaZ has joined #ipfs
rngkll_ has quit [Ping timeout: 268 seconds]
ryjen has joined #ipfs
newhouse has quit [Read error: Connection reset by peer]
saki has joined #ipfs
ryjen has quit [Ping timeout: 255 seconds]
ZaZ1 has joined #ipfs
ruby32__ has quit [Quit: Leaving]
ruby32_ has quit [Quit: Leaving]
ruby32 has joined #ipfs
ZaZ has quit [Ping timeout: 268 seconds]
shizukesa has quit [Ping timeout: 240 seconds]
Alpha64 has joined #ipfs
<AphelionZ> btw I'm building IPFS support into one of my Shopify apps right now lol
ulrichard has quit [Remote host closed the connection]
dpl has joined #ipfs
raktajino has left #ipfs ["WeeChat 1.0.1"]
bauruine has quit [Quit: ZNC - http://znc.in]
bauruine has joined #ipfs
leebyron has quit [Remote host closed the connection]
frrist[m] has joined #ipfs
dgrisham has joined #ipfs
<dgrisham> ipfs-dev
<dgrisham> (whoops)
leebyron has joined #ipfs
Ronsor has quit [Ping timeout: 252 seconds]
Ronsor has joined #ipfs
Ronsor is now known as Guest89287
ONI_Ghost has joined #ipfs
dolphy has quit [Ping timeout: 260 seconds]
leebyron has quit [Ping timeout: 252 seconds]
Alpha64 has quit [Ping timeout: 256 seconds]
vyzo has joined #ipfs
Guest89287 has quit [Ping timeout: 260 seconds]
Alpha64 has joined #ipfs
leebyron has joined #ipfs
xzha has quit [Ping timeout: 264 seconds]
ericxtang has quit [Remote host closed the connection]
mtodor has quit [Ping timeout: 268 seconds]
ericxtang has joined #ipfs
JayCarpenter has joined #ipfs
maxzor has joined #ipfs
ryjen has joined #ipfs
ericxtang has quit [Remote host closed the connection]
ericxtang has joined #ipfs
gdeverlant_ has joined #ipfs
gdeverlant_ has quit [Client Quit]
gdeverlant has joined #ipfs
gdeverlant_ has joined #ipfs
Ronsor_ has joined #ipfs
rngkll has quit [Remote host closed the connection]
roygbiv has quit [Quit: ™]
rngkll has joined #ipfs
<Powersource> fuck yeah better documentation
<Powersource> mr0grog isn't in here?
pcardune has joined #ipfs
<whyrusleeping> I'll see if we can
<whyrusleeping> t get him to hang out here
<Powersource> nice. is the slack he was talking about private?
<whyrusleeping> yeah, its a protocol labs slack. We keep company related discussion there, and keep ipfs related talk on irc, youre not missing anything
shizukesa has joined #ipfs
bomb-on has quit [Quit: zzz]
colatkinson has joined #ipfs
Jesin has joined #ipfs
raynold has joined #ipfs
Caterpillar has quit [Quit: You were not made to live as brutes, but to follow virtue and knowledge.]
Mr0grog has joined #ipfs
Caterpillar has joined #ipfs
dpl has quit [Ping timeout: 240 seconds]
dantrevino[m] has joined #ipfs
Ronsor_ has quit [Ping timeout: 256 seconds]
JayCarpenter has quit [Quit: Page closed]
Encrypt has joined #ipfs
Ronsor has joined #ipfs
Ronsor is now known as Guest28621
kants[m] has joined #ipfs
quinine has quit [Ping timeout: 252 seconds]
rodolf0 has quit [Remote host closed the connection]
rodolf0 has joined #ipfs
chowie has quit [Ping timeout: 268 seconds]
Alpha64 has quit [Ping timeout: 264 seconds]
l2d has quit [Read error: Connection reset by peer]
Guest28621 has quit [Ping timeout: 260 seconds]
l2d has joined #ipfs
bomb-on has joined #ipfs
gdeverlant has left #ipfs ["ByrdIRC"]
gdeverlant_ has quit [Quit: ByrdIRC]
inetic has quit [Ping timeout: 256 seconds]
jaboja has joined #ipfs
newhouse has joined #ipfs
Encrypt has quit [Quit: Quit]
rngkll has quit [Remote host closed the connection]
droman has joined #ipfs
ONI_Ghost has quit [Read error: Connection reset by peer]
ONI_Ghost has joined #ipfs
Ronsor_ has joined #ipfs
pran[m]1 has joined #ipfs
rngkll has joined #ipfs
Ronsor_ has quit [Ping timeout: 240 seconds]
Ronsor_ has joined #ipfs
colatkinson has quit [Quit: colatkinson]
jared4dataroads has joined #ipfs
Alpha64 has joined #ipfs
Alpha64 has quit [Ping timeout: 260 seconds]
Ecran has joined #ipfs
Alpha64 has joined #ipfs
Ronsor_ has quit [Ping timeout: 260 seconds]
Ronsor has joined #ipfs
<Poeticode> hm, I'm using a TXT record to show my IPFS site. But it's not updating with the newest TXT record change :/ using a DNS lookup tool, it shows the correct value. Tried flushing the DNS on all my devices, but no dice
Ronsor is now known as Guest12184
Alpha64_ has joined #ipfs
<gozala> vmx: Hi
<gozala> do you have a moment ?
<gozala> vmx: I could use some help in outlining the goals & scope with https://github.com/ipfs/community/issues/278
Alpha64 has quit [Ping timeout: 240 seconds]
dillonmenefee[m] has joined #ipfs
jaboja has quit [Ping timeout: 264 seconds]
Guest12184 has quit [Ping timeout: 256 seconds]
Ronsor_ has joined #ipfs
<gozala> vmx: I guess our timezones don’t really align, I’ll try to write up it in the issue instead it would probably more productive.
<vmx> gozala: sorry i was in a meeting. i'm here now
<gozala> oh cool
<gozala> it would be easier here as I don’t get in the loop of trying to make my expressions clear
<gozala> :)
<vmx> yes sure, i agree
<gozala> vmx: so I think I’d agree with order in which daviddias listed libs, given that entyping leaves usually makes it eaier
<gozala> otherwise you need to revisit things again once deps are entyped
<vmx> gozala: yes, sure. i haven't thought about that. i've just been talking what i know best ;)
<gozala> vmx: with that I have few questions that I think are important
<gozala> vmx: I’ll number it so it’s easier to refer
<gozala> 1. Nominal typing
<vmx> gozala: i think the order that david posted is good (top to bottom)
<gozala> So flow provides facility for nominal typing, that can be super helpful or painful depends on where and how it’s used I guess
<gozala> and for me it’s hard to judge where they would make sense in ipfs libs and when they would halp
<gozala> *harm
ylp has quit [Quit: Leaving.]
<gozala> vmx: let me give you a specific example
<gozala> you could encode it simply as `Buffer -> string` but the fact that it’s `B58String` encoded is lost
<gozala> what you could do instead is use nominal types to preserve that knowledge
<gozala> so say something like
colatkinson has joined #ipfs
<gozala> export opaque type B58String:string = string
<gozala> toB58String : Buffer -> B58String
<vmx> gozala: i see
<gozala> vmx: what that gives you is in other modules you could have functions that take
<gozala> `B58String` type
<gozala> and type checker would not let you just pass a string
<gozala> although you’d be able to pass `B58String` where one expects string
<vmx> gozala: that sounds like a detail to me
<vmx> gozala: i think at the moment it is more important to get the workflow and tooling right
<gozala> vmx: it is, but I think it’s worthy of a though one
jaboja has joined #ipfs
<gozala> *thought
<vmx> gozala: it is worth thinking about it, but to me it sounds a lot like it depends on experience
<vmx> i certainly don't have that experience
<gozala> vmx: so I observed ton of places where you do take B58String for instance
rodolf0 has quit [Remote host closed the connection]
<gozala> but then you kind of have to validate it actually is B58String just to be sure
<vmx> gozala: then it should be a B58String
<gozala> using something like that would sort of free you from there
rodolf0 has joined #ipfs
<gozala> instead you’d have two functions
<gozala> 1. to turn arbitrary string to B58String
<gozala> or fail
<gozala> and other functions that just take B58String instead
<vmx> gozala: that sounds pretty cool. though i think it's the next step, not the first one
<gozala> vmx: I guess actual question is whether checking the input type everywhere is preferable over just making user to do that extra step
<gozala> vmx: ok fare enough
<gozala> vmx: how about then we do following
<gozala> we use something like
<vmx> it shows how beneficial types can be. but first you need to show that it doesn't get into someones way too badly
<gozala> type B58String = string; toB58String : Buffer -> B58String;
<vmx> if it's a common type (as it seems) that sounds like a good idea
<gozala> which is essentially just making a different name for string
<vmx> oh ic
<gozala> later we can incorporate nominally if we find it to be useful
<vmx> exactly
<vmx> that sounds like a good approach. start small :)
<gozala> ok moving to the 2nd question
<gozala> I can’t recall specific cases of this but I did see in many places when going through the code
<gozala> like you’d have some interface (actually CID) might be one
colatkinson has quit [Quit: colatkinson]
<gozala> and a class implementing it
<gozala> and then function that can take either interface A or interface B
<gozala> or rather instance that implements A or B
<gozala> and the way those are handled is usually by
<vmx> so you mean something like: a function takes a CID, but it could be a string, buffer or cid object?
<gozala> isA(v) ? … : isB(…)
<gozala> vmx: I think CID isn’t a great example but it also falls into this to some degree
<gozala> so problem is `if (isA(x)) { … }`
<gozala> does not refine type of `x` to `A`in under the if block
rngkll has quit [Read error: Connection reset by peer]
<gozala> I can get into details why is that a case if you want me to, but more importantly is that there is an alternative way
reit has joined #ipfs
<gozala> that type checker can understand
<gozala> which is something along the lines of interface A { commonProp: ‘A’ }; interface B { commonProp: ‘B’ };
Ronsor_ has quit [Ping timeout: 252 seconds]
Lantana has joined #ipfs
mtodor has joined #ipfs
<gozala> then you if you have if (x.commonProp === ‘A’) { … }
<gozala> type checker refines type of `x` from `A|B` to `A`
Ronsor_ has joined #ipfs
<gozala> vmx: for primitive types you don’t need that `typeof(x)` is enough
<gozala> vmx: so if you had something like `string|CID` you could do
<gozala> if (typeof(x)) { x is string } else { x is CID }`
<gozala> oops I meant if (typeof x === “string”) ...
<vmx> ok
<vmx> i think i'm slowly getting it, please go on
<gozala> vmx: so this is one alternative to do type refinement
<gozala> vmx: there is also alternative, that might be closer to `isFoo` options
<gozala> vmx: there is also alternative, that might be closer to `isFoo` option
<gozala> with would be `matchFoo: mixed -> null|Foo`
<gozala> so instead of asking `isFoo(x)`
<gozala> you could do `const foo = matchFoo(x); if (foo) { foo is Foo }`
Ronsor_ has quit [Ping timeout: 248 seconds]
<gozala> vmx: later is less preferable to be honest
Guest68504 has joined #ipfs
<gozala> as to implement such function you’d have to disable type checker
<gozala> like likely it would be something like
<gozala> const matchFoo = (x:mixed):?Foo => isFoo(x) ? (x:any) : null
Lantana has quit [Remote host closed the connection]
<vmx> gozala: i guess for cases that need heavy code restructuring it would make sense to open an issue for one specific case to discuss it
<gozala> where `isFoo` does all the duck-type checking it currently does
<gozala> vmx: how about for cases library provides `isFoo` function
<gozala> I also export `const toFoo = (x:mixed):?Foo => isFoo(x) ? (x:any) : null`
mtodor has quit [Remote host closed the connection]
<gozala> so that typed code could use that and later on we can revisit whether adding common field would make sense
<vmx> gozala: i think i'd need to see actual examples that illustrates what it currently is like and why it is bad. and why proper types would make it better
<gozala> vmx: well consider `CID.isCID` as example
Guest68504 has quit [Ping timeout: 248 seconds]
<gozala> any code that does if (CID.isCID(cid)) { … cid.multihash }
<gozala> would not type check
<gozala> because string nor Buffer has .multihash property
<vmx> ic
<gozala> so type checker will tell you that string nor Buffer has such property
Alpha64_ has left #ipfs [#ipfs]
bomb-on has quit [Quit: zzz]
<gozala> vmx: to be clear it only occurs when argument can have multiple types
<gozala> but it’s all over
<vmx> and it certainly is a source for bugs
rngkll has joined #ipfs
<gozala> yeah type checker would definitely help there but would also force some discipline :)
<gozala> vmx: so with that would `CID.toCID` be an ok option ?
<gozala> or maybe CID.validate
<gozala> which already exists I guess it just throws or succeeds
<gozala> but if instead it would return `CID` that would workout great
<gozala> or not quite actually, I guess you don’t really want to throw on type refinement
Ronsor_ has joined #ipfs
<gozala> vmx: I would actually also have to do something about `Buffer.isBuffer(x)` as well
<gozala> either by defining some `toBuffer(x)` function
<vmx> gozala: in the CID example, i wonder how it turns out once types are used. often it would already be the proper type given the function parameters
<gozala> or changing that to x instanceof Buffer
<vmx> you would probably disallow to pass in to many different types
<gozala> vmx: well type unions aren’t uncommon actually
<gozala> but for CID instance I’d probably recommend against that
<vmx> gozala: but isn't a buffer only a single type?
<gozala> vmx: take a look here
<gozala> `version` there is either CID, string, or Buffer
<gozala> you have runtime checks in place to figure which one
<gozala> it’s just those runtime checks (other than of string) aren’t really understood by flow
<gozala> so you could either change an API to avoid that like:
<gozala> CID.fromCID(CID):CID
<gozala> CID.fromBuffer(Buffer):CID
<vmx> ic. i guess that's a a case of typecheckers vs. having a nice api
<gozala> CID.fromBS58String
<gozala> vmx: I could argue this API is nicer and easier to make sense what’s being passed around but that’s besides the point here
<gozala> there is no reason you could not have both
<gozala> or keep the same API
<gozala> vmx: just matter of providing more type friendly type checks
<vmx> yes sure, having a constructor that calls out to the individual functions sounds good to me
<gozala> so it could be validate(mixed):?Thing
<gozala> or even validate(mixed):Thing|Error
<gozala> or I don’t know there are ton of options
<gozala> but something
<gozala> vmx: or actually you know you could even just make
<gozala> isCID(mixed):false|CID
<gozala> which would be backwards compatible I guess
<gozala> but when using in typed code you’de be doing
<gozala> const cid = CID.isCID(x) if (cid) { cid.multihash... }
<gozala> vmx: important bit is that in the if you use cid vs x
<vmx> i guess, you'd probably would want `isXYZ()` functions to actually check a single type only
<gozala> vmx: oh I assumed that was a case :)
<vmx> so it would be interesting where in the code base it's actually needed to support all types
<gozala> I did not get the last bit sorry
<vmx> especially with CIDs i guess there's a lot of back and forth conversion throughout the code
<gozala> vmx: can you elaborate, I’m not foll
<gozala> *follownig
<vmx> i think the current way of CIDs having several types is bad and probably grown
jesse22_ has quit [Ping timeout: 246 seconds]
<gozala> vmx: +1
bomb-on has joined #ipfs
<vmx> so having them most of the time as a proper CID object makes sense
<vmx> and then `isCID()` will only check for this object
<gozala> vmx: that’s exactly what I meant by type system guides you towards better API design
<gozala> vmx: well vmx if things were taking just `CID` objects type checker would not even care or require isCID(x) checks
<gozala> it would actually know
<vmx> right
<gozala> and rise issues it was not
<vmx> alright, now to your next question
<gozala> vmx: it also kind of pushes casting to the edges
<gozala> vmx: so 3.
<gozala> well actually before we switch to 3 can I we conclude what to do here
<gozala> can we either change isFoo so it returns instance instead of `true` ?
<gozala> or add alternative function that could be used ?
<gozala> I would not want to change APIs from how they are now
<gozala> but adding something would be necessary
<gozala> I guess I could workaround that by if (isFoo(x)) { const foo:Foo = (x:any); … }
<gozala> but that won’t be ideal and will end all over the place vs just having it in one spot
<vmx> gozala: do things incrementally. first starting with it being ugly for the typechecker and then building up until it's nice for the typechecker and (totally) different code
<vmx> so it'll be easy to see on the commits where the problems/not so easy parts are
<gozala> vmx: can you be more specific which of the listing options is ok ?
ericxtang has quit [Remote host closed the connection]
Neomex is now known as Pie
<gozala> vmx: like in order it to type-check it would have to do something it’s just matter of deciding what you’d be comfortable with
rendar has quit []
<gozala> vmx: or I could just go ahead with a pull and we can discuss there
ericxtang has joined #ipfs
<vmx> gozala: i'd go for the simple things first and get the tooling right
<gozala> vmx: I guess it probably makes most sense as it would be more visible there
<vmx> then build up from there
<gozala> vmx: ok let move on to 3
<vmx> small commits, incrementally. then those can indeed be discussed on the prs
Pie is now known as what
<gozala> vmx: so there is this multibase and few other libs as far as I recall
what is now known as Guest79324
ralphtheninja2 has quit [Quit: leaving]
<gozala> that mostly provide mapping from name to implementation
Guest79324 is now known as who
<vmx> gozala: keep in mind that people need to be convinced that adding types is an overhead that pays off. if feat that if it's too intrusive some won't be convinced
<gozala> or rather prefix I guess
who is now known as fail-o-tron
<gozala> vmx: anyway what I was going to ask was
fail-o-tron is now known as barkos
barkos is now known as Escobark
<gozala> there are two options which is to provide mapping from string -> base
<victorbjelkholm> Poeticode: you probably just have to wait a while. What's the TTL for your record?
<gozala> actualName -> base
<victorbjelkholm> and can you put the exact format of your records?
<gozala> vmx: where later won’t accept arbitrary property name but only a name defined in multibase
<Poeticode> victorbjelkholm: ah sorry, I totally figured out my issue. My apache config was pointing to an older domain I was using, which had an older dnslink txt record >_<
ericxtang has quit [Ping timeout: 240 seconds]
<vmx> gozala: the later one would be really cool
<gozala> vmx: cool
<victorbjelkholm> Poeticode: glad to hear you got it working :)
<gozala> vmx: thanks, I think that’s all for now
<gozala> vmx: I’ll start with one of the libs and we can see from there
ericxtang has joined #ipfs
Ronsor_ has quit [Ping timeout: 256 seconds]
<vmx> gozala: cool. sorry for not being super helpful. but i think we'll get there
Escobark is now known as LouisGuddog
jesse22 has joined #ipfs
<gozala> vmx: you were helpful!
ryjen has quit [Ping timeout: 265 seconds]
Ronsor_ has joined #ipfs
<vmx> gozala: if there's anything else, feel free to ping me on irc
LouisGuddog is now known as Pawdilla
goiko has quit [Ping timeout: 256 seconds]
<gozala> vmx: tnx, I will & probably will have
ryjen has joined #ipfs
Pawdilla is now known as okitsboringnow
colatkinson has joined #ipfs
okitsboringnow is now known as Neomex
<gozala> vmx: oh there was actually one more thing
<vmx> sure
<gozala> vmx: how do you folks feel about https://prettier.github.io/
<gozala> I guess it moved to https://prettier.io/
ryjen has quit [Ping timeout: 240 seconds]
<victorbjelkholm> gozala: is basically `standard --fix` no?
<vmx> gozala: we follow standard js and have linting which sounds pretty close
<gozala> victorbjelkholm: except it never fails to fix
<victorbjelkholm> yeah, just missing the --fix flag
<victorbjelkholm> oh
<victorbjelkholm> gozala: does it work with standard?
<gozala> victorbjelkholm: you can configure it very close to standard I think
<gozala> victorbjelkholm: or that’s what I’ve being using anyway
<gozala> victorbjelkholm: there might be some subtle diffs but I have not noticed
<victorbjelkholm> if we can get it to match 100% with standard it might be worth, otherwise no
<gozala> victorbjelkholm: I think standard was more permissive
<gozala> in a sense that it would allow multiple diff ways to format the same thing
<gozala> prettier just prints out formatted code regardless how it was written in first place
<gozala> victorbjelkholm: I personally never want to look back, I don’t even try to format code anymore just let editor do it
ryjen has joined #ipfs
<gozala> victorbjelkholm: I think there is also that standard did not worked with type annotations out of the box
goiko has joined #ipfs
<gozala> I had standard-flow but then moved to prettier as it just worked and produced output that I could not at least distinguish from standard
ZaZ1 has quit [Read error: Connection reset by peer]
<gozala> victorbjelkholm: I guess standard also catches some pitfalls through linting, but those were also things that type checker did better job at catching so I didn’t cared about that bi
<gozala> vmx: what does aegir build do ?
ryjen has quit [Ping timeout: 276 seconds]
dpl has joined #ipfs
dpl_ has joined #ipfs
vmx has quit [Ping timeout: 248 seconds]
MDude has quit [Quit: Going offline, see ya! (www.adiirc.com)]
dpl has quit [Ping timeout: 260 seconds]
vmx has joined #ipfs
dpl has joined #ipfs
pcardune has quit [Remote host closed the connection]
dpl_ has quit [Ping timeout: 260 seconds]
pcardune has joined #ipfs
vmx has quit [Client Quit]
ryjen has joined #ipfs
leebyron has quit [Remote host closed the connection]
ryjen has quit [Ping timeout: 240 seconds]
MDude has joined #ipfs
ryjen has joined #ipfs
<MikeFair> Hey all; what cli tools, if any, are avaliable to easily calculate what the CID of a file would be using Python?
ryjen has quit [Ping timeout: 256 seconds]
<MikeFair> I've written a small CGI script in Python to help with relaying data to the IPFS network and work on "shared hosting" websites
<MikeFair> s/written/am writing/
leebyron has joined #ipfs
pcardune has quit [Remote host closed the connection]
Neomex has quit [Read error: Connection reset by peer]
<Bat`O> MikeFair: ipfs add --only-hash (file) ?
<MikeFair> Bat`O, that requires a node
<MikeFair> oh wait
* MikeFair tests
leebyron has quit [Remote host closed the connection]
leebyron has joined #ipfs
<MikeFair> Yeah "api not running"
<Bat`O> add --local ?
<MikeFair> same
<MikeFair> There is no ipfs service running
colatkinson has quit [Ping timeout: 256 seconds]
<MikeFair> For now my intention is that browsers will jsut upload the raw blocks from their own local node
<MikeFair> So they'll have the CID and can name the file
<Bat`O> hmmm, just checking, do you need the hash of the file on disk or the cid when its inside ipfs ?
<MikeFair> but it's pretty hacky/cheazy/insecure to rely on that
<MikeFair> the resulting CID someone on IPFS would request
<MikeFair> I'm calling it the DIMWIT
<MikeFair> Each DIMWIT node is HTTP only, it keeps track of CIDs, peers, want_list, and provides_list
<Bat`O> how could you have the file but not the cid ? why not add it if you want to share it ?
colatkinson has joined #ipfs
<MikeFair> a cron job wakes up ever few minutes and "pumps" the algorithm
<MikeFair> Bat`O, becaue my shared web hosting provider won't let me run an IPFS daemon service (nor node.js, nor long lived processes)
<MikeFair> And the browser can't share CIDs with Go nodes
<MikeFair> And permanent Go nodes on the internet are scarce
<MikeFair> (Even JSON based Node.js IPFS nodes on the Internet are scarce)
<MikeFair> THere's a bazillion websites out there
<MikeFair> and "unlimited" shared hosting providers are cheap (not that they're truly unlimited)
ryjen has joined #ipfs
<MikeFair> So writing a "poor man's IPFS" to get some fixed internet infrastructe to provide file store backing for IPFS nodes and a cheap/easy way for browsers to pin stuff makes sense
<MikeFair> Instead of making everyone on the planet start a Go/Node.js daemon service; have everyone with a shared webshosting provider add this small script and run a little IPFS file caching service
a13xmt[m] has left #ipfs ["User left"]
<MikeFair> I'd use an IPFS service if I could; but I can't
<r0kk3rz> get a vps then :)
<MikeFair> More people have shared webhosts
<MikeFair> This is totally solveable using just HTTP
<MikeFair> why get a full blown machine when a "simple script" will do the job?
<MikeFair> What I have is a shared webhost; there's tons of wordpress sites out there
<gozala> vmx victorbjelkholm how do I figure out what auger is running ? I can’t find any config file for it
<MikeFair> I see no reason this couldn't transalte into becoming a wordpress plugin
<gozala> or rather how do I alter what it’s donig
<MikeFair> Then every wordpress site can become part of the global IPFS file store
pcardune has joined #ipfs
<MikeFair> Simply by adding the plugin module
<r0kk3rz> it'd be better to do that with js-ipfs
<MikeFair> But js-ipfs nodes are long lived
<MikeFair> when the HTTP session terminates; access to them goes away
<MikeFair> It runs js-ipfs on the browser side
<MikeFair> This simply for downloading/uploading/transferring CID blocks
<MikeFair> The websites are simply providing block storage
<MikeFair> The browser adds the file locally using js-ipfs and gets the CID(s) of the file/data; it can then upload them to a DIMWIT
<r0kk3rz> it still sounds like a really roundabout way of doing things just because you dont want a vps
<MikeFair> r0kk3rz, it's not because i don't want a vps; it's because what everyone has is a shared webhost
<MikeFair> if everyone had a vps; then I'd use a vps
<MikeFair> but what most people are things like wordpress sites
<MikeFair> s/people//people have/
<MikeFair> Enabling those WordPress websites to be used as a file cache for their browser js-ipfs nodes is a big win
<r0kk3rz> sure, because they're serving websites
<r0kk3rz> and shared hosts are cheap for doing that
<MikeFair> r0kk3rz, and some of those websites are things like photo albums and file sharing services
<MikeFair> I have a photo like thing to share too; it's called a CID block
bomb-on has quit [Ping timeout: 240 seconds]
MDude has quit [Quit: Going offline, see ya! (www.adiirc.com)]
<MikeFair> these website would have no "online intelligence" they are just the CID filestore
<MikeFair> They talk to other DIMWIT nodes and build a database of what CIDs are available at which HTTP servers
<MikeFair> s/filestore/blockstore
<r0kk3rz> yeah thats the part where it starts to sound weird
<MikeFair> eaach DIMWIT server has its own peer id like thing, and in my mind's eye, they use "cron" to periodically migrate blocks to get them closer to the XOR peer they should be hosted at
<MikeFair> r0kk3rz, thing about it though; you wouldn't have a problem with an IPFS node hosting its blockstore on a USB attached storage drive right?
<MikeFair> s/thing/think
<r0kk3rz> theres no rule that says you cant store things outside the block store
<MikeFair> What's the difference to the IPFS node if that CID block store is on a USB drive or retrived via an HTTP download?
<MikeFair> (You'll obviosuly want to do some extra "checking" on the thing you downloaded to make sure it is what you expect it to be; but aside from that; the difference is immaterial)
<MikeFair> This gives everyone with a shared webhost the ability to contribute their disk storage to IPFS
<MikeFair> And the browser nodes can use these DIMWIT servers to "pin" content
<MikeFair> s/servers/scripts
jesse22_ has joined #ipfs
Ronsor_ has quit [Ping timeout: 240 seconds]
Ronsor has joined #ipfs
Ronsor is now known as Guest96162
jesse22 has quit [Ping timeout: 252 seconds]
MikeFair has quit [Read error: Connection reset by peer]
reit has quit [Ping timeout: 240 seconds]
Fessus has joined #ipfs
randomstrangerb has quit [Ping timeout: 252 seconds]
randomstrangerb has joined #ipfs
leeola has joined #ipfs
tglman has quit [Quit: WeeChat 1.9.1]
tglman has joined #ipfs
MikeFair has joined #ipfs
raynold has quit [Quit: Connection closed for inactivity]
Ecran has quit [Quit: Going offline, see ya! (www.adiirc.com)]
ONI_Ghost has quit [Ping timeout: 240 seconds]
clemo has quit [Ping timeout: 248 seconds]
espadrine_ has joined #ipfs
MDude has joined #ipfs
raynold has joined #ipfs
leebyron has quit [Remote host closed the connection]
Jesin has quit [Quit: Leaving]
randomstrangerb has quit [Ping timeout: 256 seconds]
colatkinson has quit [Quit: colatkinson]
randomstrangerb has joined #ipfs
leebyron has joined #ipfs
jakobvarmose has joined #ipfs
baikal has quit [Ping timeout: 260 seconds]
ONI_Ghost has joined #ipfs
newouse has joined #ipfs
webdev007 has joined #ipfs
newhouse has quit [Ping timeout: 248 seconds]
baikal has joined #ipfs
rodolf0 has quit [Remote host closed the connection]
newhouse has joined #ipfs
rodolf0 has joined #ipfs
ryjen has quit [Ping timeout: 240 seconds]
newouse has quit [Ping timeout: 240 seconds]
anastiel has quit [Quit: EliteBNC - http://elitebnc.org (Auto-Removal: idle account/not being used)]
Cheeky-Celery has quit [Ping timeout: 260 seconds]
lord| has joined #ipfs
Cheeky-Celery has joined #ipfs
Mr0grog has quit [Ping timeout: 240 seconds]
newouse has joined #ipfs
newhouse has quit [Ping timeout: 240 seconds]
rodolf0 has quit [Ping timeout: 240 seconds]
maxzor has quit [Remote host closed the connection]
sz0 has joined #ipfs
Guest96162 is now known as Ronsor
Ronsor has quit [Changing host]
Ronsor has joined #ipfs
pcardune has quit [Remote host closed the connection]
newouse has quit [Ping timeout: 240 seconds]
clemo has joined #ipfs
webdev007 has quit [Quit: Leaving]
ONI_Ghost has quit [Ping timeout: 256 seconds]
leebyron has quit [Remote host closed the connection]
dpl has quit [Ping timeout: 260 seconds]
rcat has quit [Remote host closed the connection]
ryjen has joined #ipfs
ryjen has quit [Ping timeout: 256 seconds]
bomb-on has joined #ipfs
guideline has quit [*.net *.split]
dexter0 has quit [*.net *.split]
rozie has quit [*.net *.split]
SOO7 has quit [*.net *.split]
zinovi[m] has quit [*.net *.split]
exyi[m] has quit [*.net *.split]
kevindetry[m] has quit [*.net *.split]
MrShepard[m] has quit [*.net *.split]
cranau[m] has quit [*.net *.split]
sigmaister[m]1 has quit [*.net *.split]
gravydigger[m] has quit [*.net *.split]
janosberghorn[m] has quit [*.net *.split]
senwang[m] has quit [*.net *.split]
mog has quit [*.net *.split]
PyroLagus has quit [*.net *.split]
fractex has quit [*.net *.split]
metaphysician has quit [Ping timeout: 240 seconds]
infinisil has quit [Ping timeout: 260 seconds]
erikj has quit [Ping timeout: 260 seconds]
infinisil has joined #ipfs
erikj has joined #ipfs
erikj has quit [Changing host]
erikj has joined #ipfs
metaphysician has joined #ipfs
guideline has joined #ipfs
zinovi[m] has joined #ipfs
cranau[m] has joined #ipfs
dexter0 has joined #ipfs
SOO7 has joined #ipfs
rozie has joined #ipfs
exyi[m] has joined #ipfs
sigmaister[m]1 has joined #ipfs
MrShepard[m] has joined #ipfs
kevindetry[m] has joined #ipfs
senwang[m] has joined #ipfs
gravydigger[m] has joined #ipfs
mog has joined #ipfs
janosberghorn[m] has joined #ipfs
fractex has joined #ipfs
PyroLagus has joined #ipfs
ericnoan has quit [Ping timeout: 260 seconds]
ericnoan has joined #ipfs