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
<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
<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>
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.
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
<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]
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
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>
`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
<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]