lgierth changed the topic of #ipfs to: go-ipfs v0.4.6-rc1: https://dist.ipfs.io/go-ipfs | Week 7+8: 1) Web browsers https://git.io/vDyDE 2) Private networks https://git.io/vDyDh 3) Cluster https://git.io/vDyyt | Roadmap: https://waffle.io/ipfs/roadmaps | IPFS, the InterPlanetary FileSystem: https://github.com/ipfs/ipfs | FAQ: https://git.io/voEh8 | Logs: https://botbot.me/freenode/ipfs/ | Code of Conduct: https://git.io/vVBS0
<lidel> Unless you find someone with deep knowledge about Firefox and XUL internals, it may not be cost-effective to learn deprecated ecosystem
<lgierth> yeah
<lgierth> let me test your fs: faking code a bit more
<lgierth> about fs: faking not working with /ipns, is that just that some regexp doesn't include ipns, or does it hint at a proper bug?
<lidel> lgierth, I think ipns was disabled on purpose
<lidel> let me check
<lidel> lgierth, i think I got it: fs:/ipns/ipfs.git.sexy does not work but fs:/ipns/ipfs.git.sexy/ works, right? this is a bug reported at: https://github.com/lidel/ipfs-firefox-addon/issues/87 and recently picked up by flyingzumwalt at https://github.com/ipfs/in-web-browsers/issues/8
<lidel> :)
<lidel> in short, gateway makes redirect to a parth with / at the end, if you did not had one
<lidel> *path
<lgierth> ah. aah!
<lidel> ok, its 1:18AM here, time for me to get some shut eye ;) good luck!
<lgierth> lidel: thanks so much -- good night
<lidel> lgierth, btw, The_8472 is here, he wrote most of this fs: code, and has more experience with legacy XUL than I do ;)
<lidel> anyway, cheers
<MikeFair> lgierth: I was wondering if for the protocol handlers; fs://SomeHash/ could act as a base rooting id (probably out of the ipns namespace)
dimitarvp has quit [Quit: Bye]
<MikeFair> ipns://SomeHash/ perhaps
<lgierth> yeah that would be the second solution (which would definitely work), ipfs://$base32hash/some/path and ipns://same
<lgierth> the reconstruct the actual path before speaking to the ipfs api
<lgierth> *then
* MikeFair nods.
<lgierth> it's problematic because it rips the path apart, and a user can't easily copy-paste the hash from the path
<lgierth> (because base32)
<lgierth> it'd work though. (although the option which keeps the path intact is ideal)
<MikeFair> I know it might ruffle some feathers; but what if the other tools were taught URL speak
<lgierth> yeah i could definitely live with it
<MikeFair> why does /ipns/hash have to be the way you copy paste? why not ipns://hash
<lgierth> and you can also have ipfs emit base32 CIDs, we're about to flip over the default there anyhow
<lgierth> hostnames are case-insenstive
<MikeFair> right
<lgierth> so it has to be base16 or base32
<MikeFair> what's the actual byte length again?
<lgierth> whyrusleeping: this just occured to me ^ if we have to go with ipfs://$base32hash/some/path for web browsers, that might have implications on the CIDs ipfs emits
<whyrusleeping> lgierth: we shouldnt have to switch to base32 in the urls
<lgierth> whyrusleeping: it might be useful to just emit hostname-safe CIDs by default (i.e. base32)
<whyrusleeping> just for the suborigin stuff
<whyrusleeping> we can convert b58 to b16 or 32 on the fly
<MikeFair> For some reason my gut raction really likes base16 (I think it just speaks to the "easy to see/convert to the numeric bytes" in me)
<lgierth> yes, but that has severe UX implications imho -- a user can't easily make an ipfs://$base32 url out of a regular fs path
<MikeFair> A user can't easily make a hash path "."
<lgierth> (i'm just trying to grasp the implications of the two options, to write it down)
<MikeFair> I mentally think of a hashcode as ipfs' version of an ip address
<lgierth> whyrusleeping: and for a base conversion we might need a CID type which "contains another CID", so we can retain type information about the original CID so that we can convert back
<whyrusleeping> why do we need to convert back?
<whyrusleeping> its purely a UI thing
<lgierth> mh, to reconstruct the path. it's unfortunate if toPath(toUrl("/ipfs/Qmfoo")) == "/ipfs/notQmfoo"
<lgierth> it looks innocent but it will bite, promise
<lgierth> trying to retain info of the original CID has its own complications, agreed
<lgierth> the fact that ipfs://$b32hash has UX issues is a pretty good argument in making the case with browser vendors, though :)
matoro has quit [Ping timeout: 268 seconds]
<MikeFair> lgierth: Another thing this hilites is the point being having an address translation service
<MikeFair> s/being/of
<MikeFair> fwiw, /ipfs/Qmfoo is really unusable to me for anything but the most basic of single use purposes
<MikeFair> Just the process of republishing changes to the directory that contains my website is a fairly cumbersome one...
<MikeFair> ipfs add -r /local/path/on/system; ipfs files cp /ipfs/QmAddCmd /domain.dom; ipfs files stat --hash /domain.dom; ipns name publish -k domain.dom /QmStatCmd
<lgierth> yes it needs better tooling
<MikeFair> for instance; one though I keep having is: ipfs root /ip[fn]s/QmHash
<MikeFair> that then goes into a file in ~/.ipns
matoro has joined #ipfs
<MikeFair> and all my other commands then just prepend that hash
<MikeFair> (or use it as the case may be)
<MikeFair> I gues it's ipfs cd /ipfs/Qm...
<lgierth> yes
<lgierth> the good thing is, such as with git, it's easy to write new tools which plug the existing ones together in new ways
ruby-ruby has quit [Ping timeout: 260 seconds]
<lgierth> most of the time it's as easy as a shell script -- these kinds of little tools are great for informing the ui direction
<MikeFair> I can't recall if you were here for the discussion where I was exploring the benefits of giving links in IPLD a "type" so that different processing could take place; but I later kind of realized what I'm talking about could be a form of | for ipfs
<MikeFair> lgierth: Shell script assumes you're on an OS that has that; though I think you could safely require powershell and then just make mobile deal with an SDK/API
ruby-ruby has joined #ipfs
<lgierth> sorry, no mental capacity right now to dive into this further
<MikeFair> no worries
n0z has joined #ipfs
<AphelionZ> did y'all see the first SHA-1 collision
<MikeFair> We'll leave it at "I'm liking your recommendations on the file protocol stuff; and would prefer to teach the tools ip[fn]s://$base[16|32]/ then squeeze case sensitive host names" :)
<MikeFair> AphelionZ: Yes, it was good, at least the first publicized anyway; and still took insane resources to produce ;)
<AphelionZ> makes me feel good about sha-256
zeus1 has quit [Ping timeout: 260 seconds]
<AphelionZ> hmmm im having trouble bootstrapping peers in my js implementation
aquentson1 has quit [Ping timeout: 240 seconds]
aquentson has joined #ipfs
gmoro has quit [Ping timeout: 268 seconds]
ianopolous has joined #ipfs
cemerick has joined #ipfs
matoro has quit [Ping timeout: 260 seconds]
tilgovi has quit [Remote host closed the connection]
matoro has joined #ipfs
n0z has quit [Quit: .]
n0z has joined #ipfs
espadrine has quit [Ping timeout: 268 seconds]
ligi_ has quit [Ping timeout: 260 seconds]
ligi has joined #ipfs
ligi has joined #ipfs
ligi has quit [Changing host]
wallacoloo_____ has quit [Quit: wallacoloo_____]
Foxcool has joined #ipfs
seagreen has quit [Ping timeout: 240 seconds]
noderunner has joined #ipfs
fleeky has quit [Ping timeout: 240 seconds]
fleeky has joined #ipfs
<AphelionZ> any javascript folks around?
ligi has quit [Quit: leaving]
tmg has quit [Ping timeout: 260 seconds]
seagreen has joined #ipfs
nuxlli[m] has joined #ipfs
PrinceOfPeeves has quit [Quit: Leaving]
ruby-ruby has quit [Ping timeout: 268 seconds]
<MikeFair> AphelionZ: how goes it?
matoro has quit [Ping timeout: 260 seconds]
<AphelionZ> eh.
<AphelionZ> I have two issues right now that I need to tackle before I do the final versioning piece
<MikeFair> what's up?
tilgovi has joined #ipfs
ruby-ruby has joined #ipfs
<AphelionZ> 1. My browser-based app using ipfs-js doesnt seem to be truly going online
<AphelionZ> I bootstrap it with peers and then "goOnline" or I "goOnline" and then bootstrap peers and I get no peers either wy
<AphelionZ> secondly if I try to use an existing repo it barfs so I need to create new repo every time, which seems nonsensicl
<MikeFair> Did you change the js api source you were using?
<AphelionZ> ...no?
<AphelionZ> do you mean did I edit the ipfs-js code?
<MikeFair> My version seems to connect to a local repo; and I manually submitted some of the URLs to http://ipfs.io/api/v0/.... and they seemed to work ok
<MikeFair> AphelionZ: Not "edit" per se but switch to a different git repo or version of the js-api resources
<AphelionZ> no but here's the important distinction
<AphelionZ> I'm not using ipfs-js-api
<AphelionZ> I'm using ipfs-js
<AphelionZ> I'm essentially running a node in the browser
<AphelionZ> or trying to
<MikeFair> were you ever using ipfs-js-api (is that the code I have)?
<AphelionZ> I was, yes
<AphelionZ> but I switched because I want everything to be in the browser for people
<MikeFair> I remember hearing someone say there's no bridge between the js-api nodes and the go-ipfs nodes (and that was on the roadmap to get done)
<AphelionZ> ah, interesting
<AphelionZ> so there's a chance my bootstrapping IS working, its just trying to connect to a bunch of go-ipfs peers
<MikeFair> Or trying to connect a bunch of ipfs-js peers whose broswers are currently closed
<AphelionZ> innnnnteresting
<MikeFair> Does ipfs-js work using a Node.js script
<MikeFair> Could there be Node.js daemons running out there?
<AphelionZ> it's meant to work as a node script and in the browser
<AphelionZ> kind of amazing, the latter
<MikeFair> Right; but if there's nothing to peer with?
<AphelionZ> kind of useless :)
ygrek has quit [Ping timeout: 260 seconds]
<AphelionZ> lemme just open two tabs and see what happens
<MikeFair> So I was imagining it'd be easier for "fixed point" ipfs-js node.js daemons to bridge to ipfs-go daemons ;
<AphelionZ> well the end-all-be-all implementation would be starting a browser node and having it peer seamlessly
<AphelionZ> i'm trying to give my users full control over their data
<MikeFair> AphelionZ: PTTC (Preaching to the Choir) :)
<AphelionZ> hahah well i'm also trying to preach to the dev team
<AphelionZ> in the hopes that I can at least get workaround for the time being
dignifiedquire has quit [Quit: Connection closed for inactivity]
<MikeFair> AphelionZ: What do you see them missing? atm
<MikeFair> AphelionZ: Or is it just 'how do I make this happen/work' kind of stuff
<AphelionZ> I'm hoping more the latter
<AphelionZ> I need to know how to:
<AphelionZ> 1) Connect to the same indexedDB database every time instead of creating a new one each reload
<AphelionZ> 2) Peer from the browser
<AphelionZ> then you and I can bang out heads against dag/ipld/ipns versioning schema
<AphelionZ> THEN I can put away my toy pastebin and move on to the "real" application that I'm here for
<MikeFair> It'd be a little bit of a different path; but I think if you used PouchDB as your "frontend API" that'd take care of a lot of that
matoro has joined #ipfs
<MikeFair> You can then use pubsub on a PouchDB database id
<AphelionZ> ah I see
<AphelionZ> Pouch in the front, ipfs in the back
<AphelionZ> nahhh I'm _so_ close
<MikeFair> and use the built-in PouchDB syncronization protocols to copy/update all the data
<AphelionZ> and i feel like a lot of this stuff is either stuff I don't know how to do, or stuff that is gonna land in the master branch in like, 4 days
<MikeFair> It doesn't change the work you're doing; which is still required for the backend; it'd be a huge boost to everyone; and it does the IndexDB thing alrady
<AphelionZ> it'd be a huge boost to everyone - what's "it"
<AphelionZ> PouchDB?
<MikeFair> The Pouch/ipfs combo
<MikeFair> Pouch needs to sync with something "out there"
<MikeFair> it can sync between Pouch nodes; but those are pretty transient (in-browser only)
<MikeFair> and there's no real p2p find other browsers protocol
<AphelionZ> well there would be if browser nodes talked to nodejs nodes talked to go nodes
<MikeFair> It present a JSON document data store; with indexing and map/reduce functions that ipfs isn't even contemplating providing atm
<MikeFair> AphelionZ: But that's an ipfs thing; not a PouchDB thing (which makes the combo nice and juicy)
<AphelionZ> haha you're really pushing hard on Pouch here
<AphelionZ> I think having a consistent data layer API is a good thing, no doubt
<AphelionZ> but unfortunately I need to get past the "My app loads the first time but I can't refresh my browser without either losing all my files or throwing an error" thing
<MikeFair> AphelionZ: It obviates a number of limitations of the changing ipfs layer; instead of having to remember hash entries; hash entries are used for syncing between nodes; then forgotten
<AphelionZ> Any ORM would do that, and Pouch certainly looks like a very good one
<AphelionZ> ipfs-js already talks directly to IndexedDB... which is actually part of my problem
<MikeFair> I think your IndexDB problems are related to host server scope limitations
<MikeFair> because you need a "different" IndexDB repo?
<AphelionZ> every time I call ipfs.init it tries to create an IndexedDB database
<AphelionZ> if it already exists, it throws an error
<AphelionZ> that's the entirety of my problem.
<AphelionZ> im just gonna open an issue
<MikeFair> Why don't you open it first; then init if that fails
<MikeFair> I'd expect init to error if there's already a db there
<AphelionZ> but what if I want ipfs to just use an existing db and not create a new one
<AphelionZ> create "pastebin" database if it doesnt exist, otherwise just connect to it
<AphelionZ> that's not unreasonable
<MikeFair> right do that by "connect to pastebin database ; if it doesn't exist {create ; connect to pastebin database;}
<kevina> whyrusleeping: around?
<MikeFair> You're looking for "OpenOrCreate database" :)
<MikeFair> AphelionZ: here's what I was looking for:
<MikeFair> To create your first database, simply attempt to open it. Since it doesn’t exist yet, the upgradeneeded event will be triggered – which you handle in order to create your object store(s).
<AphelionZ> I know that though. If i try and create it then i have my code and ipfs- js code both doing open or create. Except ipfs only seems to do create and not open
<MikeFair> UpgradeNeeded seems a rather poor name for the "Database doesn't exist" event; but apparently "That's the way it works"
<AphelionZ> It wont connect if it exists
<AphelionZ> Theres even an emptyRepo flag which has no effect
<MikeFair> var request = indexedDB.open('todos');
<MikeFair> ^--- taht throws an error if it exists you're saying
<AphelionZ> NO
<AphelionZ> ipfs.init
<AphelionZ> Ipfs.init does not at all like existing databases
stevenaleach has joined #ipfs
<MikeFair> AphelionZ: That should only be called when the upgradedneeded event is fired
<AphelionZ> that won't work because by the time upgradeneeded is fired, the database exists and it's too late
<MikeFair> At least that's how I envision it working
noderunner has quit [Ping timeout: 260 seconds]
<AphelionZ> because open is actually openOrCreate
<AphelionZ> that is without question fairly stupid
<AphelionZ> but... i feel like there must surely be a way to ipfs init an existing DB
<MikeFair> actually; that site I referenced has this as their first line of actual do something code in their upgradeneeded handler:
<MikeFair> if (idb.objectStoreNames.contains('todo')){idb.deleteObjectStore('todo');}
<MikeFair> That's just wrong ;)
<AphelionZ> agreed.
<AphelionZ> but in my case, by the time that event is fired the db exists
<MikeFair> But it fits the situation
<AphelionZ> if i call ipfs.init at that point, it will fail
<AphelionZ> it doesnt though, that's what im trying to tell you
<MikeFair> AphelionZ: That's what I'm saying: The first they do is delete it
<AphelionZ> doesn't*
<AphelionZ> but even then
<MikeFair> Then it doesn't exist and then you can init it
<AphelionZ> i dont want to delete it, i want to keep it
<MikeFair> Not when upgradeneeded is called
<AphelionZ> i can't connect to an existing database.
<MikeFair> Correct me if I'm wrong but init should only ever be called once; the first time the db is made
<AphelionZ> see, thats what I thought but it was breaking when I was just calling open
<AphelionZ> ok testing again
<AphelionZ> pastebin ipfs DB created successfully
<AphelionZ> ohhhhhhh shit! you were right hahah
<AphelionZ> I was being dense. sorry!
<MikeFair> ok; I'd need to look at the API more to understand how it gets a reference to the db
<AphelionZ> let me wire up what you suggested
<MikeFair> oh cool! :)
Guest44283 has joined #ipfs
<AphelionZ> lemme wire up that tragically dumb chain of:
<MikeFair> lol (I get it)
<AphelionZ> window.indexedDB.open -> opupgrade needed -> delete db -> ipfs init
<MikeFair> You can use that site I posted for reference (if you don't already have a link/it open )
<AphelionZ> now... what do I do if it *does* exist
<AphelionZ> onupgradeneeded won't be called
<MikeFair> The thing that triggered the upgradeneeded would have succeeeded
<MikeFair> yeah
<MikeFair> What do you do with the reference to the DB after you call init?
<MikeFair> You should just do that after the open call
<AphelionZ> that's my code right now
<MikeFair> It looks like: request.onsuccess = function(e) { /* add, update, delete, ... */ };
<MikeFair> request.onerror = function(e) { /* handle error */ };
<MikeFair> canarydb.onsuccess = function (e) {canarydb is now open }
<AphelionZ> ok cool
mguentner has quit [Quit: WeeChat 1.7]
mguentner has joined #ipfs
<AphelionZ> agh its getting late
<MikeFair> any successs?
<AphelionZ> this doesnt work:
* MikeFair is working on base encoding conversions and encrypting data without leaking info :)
<AphelionZ> this does:
<AphelionZ> MikeFair: niiice
<AphelionZ> keep it up
cemerick has quit [Ping timeout: 255 seconds]
<AphelionZ> i need the first timeout so I can later cancel it, and i need the second one, maybe, because the deleteDatabase call doesn't happen fast enough
<AphelionZ> but right now it just console.logs init and loadIpfs is never called
<AphelionZ> found out aboutu the log parameter though
<MikeFair> AphelionZ: SO emptyRepo: false doesn't work against an already existing db then?
<MikeFair> Or is that an instruction to have it emty the repo during init
<AphelionZ> more the latter
<AphelionZ> adds default stuff to the db
<MikeFair> So I didn't see an "onsuccess" call
<MikeFair> Nor do I see repoName as a parameter to init
<AphelionZ> onsuccess was getting called every time, no matter what
<AphelionZ> repoName is a param to the Ipfs constructor
<MikeFair> ahh
<MikeFair> I'd expect the constructor to do this part for you then
<AphelionZ> ok... this _kinda_ works
glnro[m] has joined #ipfs
<AphelionZ> THANK YOU MikeFair
mguentner2 has joined #ipfs
caiogondim has quit [Quit: caiogondim]
stoopkid has quit [Quit: Connection closed for inactivity]
mguentner has quit [Ping timeout: 240 seconds]
wallacoloo_____ has joined #ipfs
wallacoloo_____ has quit [Client Quit]
muvlon has joined #ipfs
wallacoloo_____ has joined #ipfs
caiogondim has joined #ipfs
cemerick has joined #ipfs
<dryajov> hey lgierth: with the browser addon, are you guys trying to basically make ipfs work with the fs:// web:// addresses?
caiogondim has quit [Quit: caiogondim]
Guest2735 has joined #ipfs
matoro has quit [Ping timeout: 240 seconds]
ruby-rub1 has joined #ipfs
ruby-ruby has quit [Ping timeout: 240 seconds]
cemerick has quit [Ping timeout: 260 seconds]
Guest2735 has quit [Quit: Ухожу я от вас (xchat 2.4.5 или старше)]
gmcabrita has quit [Quit: Connection closed for inactivity]
<dryajov> lgierth: I remember you saying that there were some issues with passing things around from the extenstion to the window/page, you didn’t go into details as to what it was, but I’m thinking that you are trying to have an ipfs node running in the extention and shovel some data back and forth (a.k.a serialization), it just ocurred to me (as I’m sure it
<dryajov> has to you) that you don’t actually have to run the ipfs node in the extension, it can run in the page and the extension simply handles the address translation/convertion part and sends/messages that to the page, the extention can also inject the IPFS bootstrap code into the page when loaded… so any page should work
cemerick has joined #ipfs
matoro has joined #ipfs
wallacoloo_____ has quit [Quit: wallacoloo_____]
wallacoloo_____ has joined #ipfs
pfrazee has quit [Remote host closed the connection]
DiCE1904 has joined #ipfs
aquentson has quit [Ping timeout: 268 seconds]
DiCE1904 has quit [Remote host closed the connection]
DiCE1904 has joined #ipfs
mgord has joined #ipfs
mgord has quit [Quit: Page closed]
<ShalokShalom> did you think about one page for all distributed services?
<ShalokShalom> to meet and share?
tmg has joined #ipfs
chris613 has quit [Quit: Leaving.]
<dryajov> dignifiedquire: lgierth: can you get js-libp2p-relay-transport repo created
tmg has quit [Ping timeout: 240 seconds]
muvlon has quit [Ping timeout: 240 seconds]
ruby-rub1 has left #ipfs [#ipfs]
aquentson has joined #ipfs
muvlon has joined #ipfs
<lidel> dryajov, the problem with running node in page (WebExtension content script) is that every page would have a separate one
<dryajov> lidel: true… didn’t think about that… however, how bad is that?
<lidel> instead, we want to run it in WebExtension's background script, which is a singleton and runs as long the browser is open
<lidel> dryajov, if have 20 tabs and every tab had node process running == not good for performance at all
<lidel> *has
<dryajov> yeah… I’m also thinking along the lines of web applications that would want to package their own ipfs in the future… I think thats a valid use case…
<dryajov> yeah, but chrome will strart throtling those heavilly pretty soon, so maybe not that bad…
<lidel> dryajov, chrome is not the only browser ;)
<dryajov> also, not sure how that would work with the extension, but, my original idea was having ipfs running in a serviceworker, and basically proxy those calls… its going to be one per origin, which is the same thing more or less…
<dryajov> lidel: for demo purposes, if that is one of the goals, it might be just good enogh :)
<lidel> dryajov, yes, for PoC it may be fine, but I am talking about using it in https://addons.mozilla.org/en-US/firefox/addon/ipfs-gateway-redirect/ ;-)
<lidel> dryajov, as for running node in WebExtension, no need for serviceworker, there is https://developer.mozilla.org/en-US/Add-ons/WebExtensions/Anatomy_of_a_WebExtension#Background_scripts
<dryajov> also, for performance, have you checked pouchdb out?
tmg has joined #ipfs
<dryajov> they have a somewhat similar performance impact I’m guessing...
<lidel> dryajov, i think puchdb is out of scope, it is something website developer chooses to use on top of ipfs
<dryajov> :), I understand… I’m saying that it _may_ have a similar performance impact as ipfs in the browser
<dryajov> so your concern might be a little overblown...
<dryajov> also, I think metamask does exactly that?
<lidel> dryajov, trust me, running a few MB of JS on every new tab you open is NOT overblowing things ;-)
<dryajov> :)
<dryajov> I actually think that is a pretty valid use case,
<dryajov> and where many things are heading thowards… ethereum/metamask come to mind in that context
<lidel> no, metamask runs in background script: https://github.com/MetaMask/metamask-plugin#architecture
<dryajov> maybe kumavis: can shade some light on it :)
<lidel> what runs in each tab is thin contenscript that is a facade to the background script
ulrichard has joined #ipfs
<lidel> oops, got go to work :-D be back later
<dryajov> ah, got you thanks for the link
<kythyria[m]> "yeah, but chrome will strart throtling those heavilly pretty soon, so maybe not that bad… " <-- I wonder if they'll ever throttle content, or just extensions.
<MikeFair> kythyria[m],: Hey there :) -- regarding the POSIX dirent thing ; no it doesn't ; that's a little bit of what I was saying why the unixfs metaphor isn't really a complete model. You mentioned that the Filesystem needs to understand how to handle ls cat.jpg/*; and you're right; but it's the VFS layer that need to understand; no different than mounting different filesystem drivers at different mount points; or a loopback drive
<MikeFair> :)
<kythyria[m]> The VFS layer has to allow open() and opendir() to give things that are completely unrelated.
<kythyria[m]> eg, I'm not sure this is possible in Linux.
<MikeFair> right which is how ls cat.jog/* could be approached it's a mount point for its data source
<MikeFair> it's like /dev/hda1 is mounted on /usr
<MikeFair> or mount -o loopback ~/Spiderman.iso /mnt/bluray
<MikeFair> you'd have a "JPEG filesystem driver"; that new how to handle jpeg encoded files
<MikeFair> err knew
<MikeFair> (most likely via FUSE)
<kythyria[m]> You can't really mount it onto the file it's reading from, though, can you?
<MikeFair> I've never tried; and historically it doesn't make sense to, but there's a distinct difference between cat.jpg and cat.jpg/
<kythyria[m]> Only in that one suggests you can opendir() or recursive PROPFIND it.
<MikeFair> kythyria[m]: Though you're right atm; it'd need a different name
<kythyria[m]> I've never found out how well POSIX tolerates this sort of thing.
<kythyria[m]> I don't know how well typical webdav clients do, but doing that is a legal, if unusual, interpretation of the webdav spec
<MikeFair> the main point was demonstrating how most things can't be clearly separated into "file" and "directory"; with the exception random noise; they're both meaningful for basically every object in our uinverse (or filesystem as the case is here ;) )
<kythyria[m]> Heh, true.
<MikeFair> kythyria[m]: WebDAV! That's the thing I was trying to remember (I think I remember you saying it earlier too) I'm so glad you could remember the acronym :) )
<MikeFair> kythyria[m]: it's very XMLish ; nodes have attributes (open/read); and they have contents (opendir/readdir)
<kythyria[m]> Yup!
<MikeFair> It means there's an opportunity to allow the user to express a little bit of additional context for how treat the result hash
<MikeFair> I eventually came up with it being a lot like | for ipfs :)
<kythyria[m]> Though PROPFIND encompasses opendir/readdir, stat, and getxattr all at once.
cemerick has quit [Ping timeout: 268 seconds]
<MikeFair> call one of those props "contents" or "data" and its open/read as well :)
<MikeFair> raw_data perhasp
<kythyria[m]> You could, in principle.
fleeky has quit [Remote host closed the connection]
<MikeFair> I have a theory that works the idea that an object doesn't have security by itself; it's applied via the path it's accessed from
<kythyria[m]> And re |, this feels a bit like the BRDF sockets in Blender's material editor. All the others can be understood as passing entire images around, but the metaphor breaks down there.
<MikeFair> The denial of access based on policy has to come from "outside" the object
* kythyria[m] nods
<MikeFair> tell me more; I'd like to grok Blender's workflow dynamic? / structure? / what it comprehends the world
<MikeFair> err s/what/way
<MikeFair> ok; I think I can get "passing images through a pipeline" as the basic case; so what makes a BRDF different
<MikeFair> and on this topic of new ways to think about | ; have you used/tried powershell yet?
<MikeFair> (if not, I can only describe it as what python would want for its | if pythonsh were a thing that was really a command line shell; you | objects and structured data around; not text)
<muvlon> there is a python-based shell called xonsh
<muvlon> however it still pipes around raw text
<kythyria[m]> BRDF stands for Bidirectional Reflectance Distribution Function; there's a bunch of variations on the acronym with different things in place of the R, but anyways. It's a thingy that encapsulates, well, "material", and one way to imagine it is the function that, for each point of an object, maps an incoming ray of light of a given colour to all the possible colours and directions that the ray could have when it leaves.
* MikeFair nods.
<MikeFair> Makes sense
<kythyria[m]> What you're actually doing is building up such a function, it only looks like dataflow.
<kythyria[m]> And yes, I've used powershell <3
<MikeFair> muvlon: most "shells" don't really get "objects; it makes it possible to do ls | sort (f) { f.size -ascending } | { int i = 0; foreach (f) { f.name + "\t" + i.toString() } }
<MikeFair> muvlon: which prints each filename, a tab, the file counter; in increasing size order
<kythyria[m]> Not quite with that syntax, but you get the picture.
<MikeFair> kythyria[m]: So what's "flowing"; one iteration to the next? one pixel to the next?
<MikeFair> yes, the syntax is wrong
ecloud_wfh is now known as ecloud
<muvlon> I agree, I'd like to see an object-based unix shell
<kythyria[m]> It's not, really. You can only mostly think of it like pipes.
<kythyria[m]> (Blender's materials, that is)
n0z has quit [Quit: .]
<MikeFair> right
<MikeFair> I always picture them as SIMD functions
<MikeFair> but I don't right them
<kythyria[m]> That's a better visualisation, I think.
<MikeFair> Some kind of vectorized function that gets the image and its position as inputs
<MikeFair> it also needs the incoming light information too I suppose
<MikeFair> s/right/write
* MikeFair accepts he must be getting tired; grammar is shot. ;)
<kythyria[m]> Yes, though ray and geometry information is passed around to the right places invisibly; you can refer to it explicitly.
<kythyria[m]> But you don't have to.
<MikeFair> I've wanted to do some 3d renders with blender ; ideally some procedurally generated scenes ; then output them onto a 360 image format to use for some Unity stuff I've been working on
<muvlon> Has blender gotten better at CSG these days?
<kythyria[m]> muvlon: Unfortunately it's not that great; I suspect CSG on meshes is hard.
tmg has quit [Ping timeout: 268 seconds]
<kythyria[m]> I suppose the most accurate explanation without investigating the actual implementation is that each material is a function from a bunch of geometry and ray information to the direction and intensity of all the rays that could result from that input, and you're building it up by function composition.
<kythyria[m]> Yes, that output sounds horrible to work with, and indeed that's sort of the theoretical nature of it, when in reality what gets used is such a function rearranged to be subject to a process similar to Monte Carlo integration.
tmg has joined #ipfs
maciejh has joined #ipfs
ShalokShalom_ has joined #ipfs
ShalokShalom has quit [Ping timeout: 255 seconds]
ygrek has joined #ipfs
ylp has joined #ipfs
maxlath has joined #ipfs
arpu has quit [Ping timeout: 260 seconds]
tmg has quit [Ping timeout: 240 seconds]
mildred1 has joined #ipfs
mildred has quit [Ping timeout: 255 seconds]
arpu has joined #ipfs
dignifiedquire has joined #ipfs
MikeFair has quit [Ping timeout: 240 seconds]
<afdudley> kumavis: thanks for the reply :D I'm thinking about this problem as well, but it will be a while before I can provide any code :|
MikeFair has joined #ipfs
Boomerang has joined #ipfs
Reventlov has quit [Quit: WeeChat 1.7]
Reventlov has joined #ipfs
maciejh has quit [Ping timeout: 268 seconds]
Mossfeldt has joined #ipfs
rendar has joined #ipfs
n0z has joined #ipfs
aquentson has quit [Ping timeout: 240 seconds]
s_kunk has quit [Ping timeout: 260 seconds]
wallacoloo_____ has quit [Quit: wallacoloo_____]
rendar has quit [Read error: No route to host]
n0z_ has joined #ipfs
n0z_ has quit [Remote host closed the connection]
aquentson has joined #ipfs
n0z has quit [Ping timeout: 260 seconds]
tilgovi has quit [Ping timeout: 240 seconds]
anewuser has quit [Ping timeout: 268 seconds]
Caterpillar has joined #ipfs
fleeky has joined #ipfs
ebarch has quit [Ping timeout: 260 seconds]
anewuser has joined #ipfs
gmoro has joined #ipfs
rendar has joined #ipfs
rendar has joined #ipfs
rendar has quit [Changing host]
s_kunk has joined #ipfs
esph has quit [Read error: Connection reset by peer]
wkennington has joined #ipfs
cxl000 has joined #ipfs
fleeky_ has joined #ipfs
fleeky has quit [Ping timeout: 268 seconds]
n0z has joined #ipfs
esph has joined #ipfs
ianopolous has quit [Ping timeout: 255 seconds]
ruby-ruby has joined #ipfs
<ruby-ruby> hey all hows it going
<ruby-ruby> I'm having some trouble trying to get "ipfs mount" to work
<ruby-ruby> I can't find a version of osxfuse that works with "ipfs daemon --mount"
<ruby-ruby> can anyone help me out?
<MikeFair> I'm not familiar with OSX's versions of things; sorry; has been pretty quiet heere the last couple hours
<ruby-ruby> MikeFair: ah ok, thanks, im going to keep trying to figure it out
<MikeFair> Is there a particular error? are you familiar enoug that you think you see what's going on?
<MikeFair> The source directory is under ~/.ipfs
<MikeFair> Where does your config say to mount it?
<MikeFair> can you mount it using ipfs mount without having the daemoon do it?
stevenaleach has quit [Remote host closed the connection]
<ruby-ruby> no I cant mount it with or without the daemon running
<ruby-ruby> the problem is that ipfs requires osxfuse version >2.7.2 but <3.0.0
<MikeFair> I meant run ipfs daemon without --mount
<MikeFair> then use ipfs mount
<MikeFair> ahh
<ruby-ruby> its the version requirments of osxfuse thats messing with me
<ruby-ruby> I cant find a way to install osxfuse 3.0.0 without getting errors
<ruby-ruby> some dependencies with xcode that osxfuse has i think is messing with me when I try to get v3.0.0
<ruby-ruby> was just wondering how people here got it working if they did
wkennington has quit [Read error: Connection reset by peer]
<haad> !pin QmcBRQKFaTKF1rB2AaDoTzpHWXCLRvyb9xLgXM6NXANnGt orbit-web
<pinbot> now pinning on 8 nodes
<pinbot> pinned on 8 of 8 nodes (0 failures) -- https://ipfs.io/ipfs/QmcBRQKFaTKF1rB2AaDoTzpHWXCLRvyb9xLgXM6NXANnGt
<haad> lgierth: could you deploy ^ to orbit.chat please. it's a great version and has the fonts fixed.
bertschneider has joined #ipfs
n0z has quit [Quit: .]
bertschneider has quit [Client Quit]
n0z has joined #ipfs
bertschneider has joined #ipfs
aquentson has quit [Ping timeout: 240 seconds]
ygrek has quit [Ping timeout: 255 seconds]
mguentner2 is now known as mguentner
<MikeFair> haad: More orbit :)
<Mossfeldt> Orbit is nice! Will pin that one on my node/gateway.
tmg has joined #ipfs
ruby-ruby has quit [Quit: leaving]
Mossfeldt has quit [Quit: Konversation terminated!]
Boomerang has quit [Ping timeout: 255 seconds]
<r0kk3rz> haad: looking good :)
Monokles has quit [Ping timeout: 240 seconds]
<AphelionZ> Anybody around that can help me figure out peering with browser nodes?
MikeFair has quit [Quit: Try HydraIRC -> http://www.hydrairc.com <-]
arpu has quit [Ping timeout: 240 seconds]
<dignifiedquire> Warning, the latest multihashes and multihashing releases are currently broken for the browser, we are working on fixing them! Sorry about the inconvenience
<dignifiedquire> jbenet: please reach out when you get this
<cblgh> wooot fixed fonts?
<cblgh> count me in
<cblgh> oh you mean bundled or getting from ipfs rather than over https
<cblgh> fonts still look like poop in firefox :<
<cblgh> i wonder if it's just my ff that's borked?
muvlon has quit [Remote host closed the connection]
muvlon has joined #ipfs
Mossfeldt has joined #ipfs
arpu has joined #ipfs
<Silke[m]> Some elements (like 'Or login with', 'Press ENTER to Login' and 'Configuration') are pretty unreadeable for me as well (with FF and Chrome). When I increase the font-weight of those elements to 600 it's a lot better: http://i.imgur.com/UjBJf5R.png vs http://i.imgur.com/bKe48DB.png
espadrine has joined #ipfs
Boomerang has joined #ipfs
<Mossfeldt> Silke[m]: Looked att your screenshots and I agree.
<victorbjelkholm> AphelionZ: what's not working? You'll need to connect to a signal server when using js-ipfs
<victorbjelkholm> we're running one at tar-signal.cloud.ipfs.te
<victorbjelkholm> star-signal.cloud.ipfs.team*
gmcabrita has joined #ipfs
Boomerang has quit [Ping timeout: 240 seconds]
ShalokShalom_ is now known as ShalokShalom
Boomerang has joined #ipfs
<AphelionZ> victorbjelkholm: oh i didnt know about that requirement
<AphelionZ> Will it always be like that?
<victorbjelkholm> AphelionZ: no, eventually we'll be able to use go-ipfs nodes as bootstraps and maybe even have peers acts as signaling as well. For now, you'll have to do something like this: https://github.com/VictorBjelkholm/js-ipfs-in-the-browser/blob/4a86a81746449d51cb5a71799d4eed6d512ea42d/spawn-node.js#L21-L24
<Mossfeldt> Is there a know issue of running ipfs behind a firewall? One of my nodes (behind pfSense firewall, port open) connects to about ~200 peers. Another one, outside my firewall connects to ~480 peers.
<AphelionZ> victorbjelkholm: thank you for the code!
Akaibu has quit [Quit: Connection closed for inactivity]
Monokles has joined #ipfs
Monokles has quit [Remote host closed the connection]
<AphelionZ> victorbjelkholm: whay are you passing in for peerid there? The id of the local peer?
<victorbjelkholm> AphelionZ: yeah, ID for the local node I'm starting
<cblgh> Silke[m]: praised be the font-weight
Monokles has joined #ipfs
<AphelionZ> Ok cool
<dignifiedquire> new versions of multihashing and multihashes have been published which should now be all good
Monokles has quit [Remote host closed the connection]
jkilpatr has quit [Ping timeout: 240 seconds]
Monokles has joined #ipfs
<cblgh> haad: i'd like to help with the frontend part of things, does building on windows work yet?
Monokles has quit [Remote host closed the connection]
<dignifiedquire> haad: not working for me with monospaced fonts
Monokles has joined #ipfs
Monokles has quit [Remote host closed the connection]
Monokles has joined #ipfs
<victorbjelkholm> woah, just noticed there is a rust-multihash under github.com/google
<dignifiedquire> victorbjelkholm: yeah but it's outdated
maciejh has joined #ipfs
<dignifiedquire> victorbjelkholm: you should use mine :P
<dignifiedquire> multiformats/rust-multihash
<victorbjelkholm> hah, I never write rust :) But if I ever do, I know which one to chose ;)
<dignifiedquire> rust is AWESEOME
<dignifiedquire> you should write some
Monokles has quit [Remote host closed the connection]
Monokles has joined #ipfs
<victorbjelkholm> fully busy with clojure and golang when not doing javascript, fulfills my needs pretty well
Monokles has quit [Remote host closed the connection]
maxlath has quit [Ping timeout: 260 seconds]
aquentson has joined #ipfs
Monokles has joined #ipfs
jkilpatr has joined #ipfs
maxlath has joined #ipfs
ebarch has joined #ipfs
Boomerang has quit [Ping timeout: 240 seconds]
caiogondim has joined #ipfs
robattila256 has quit [Ping timeout: 255 seconds]
Aranjedeath has quit [Ping timeout: 240 seconds]
cemerick has joined #ipfs
cemerick has quit [Ping timeout: 260 seconds]
cemerick has joined #ipfs
aquentson1 has joined #ipfs
aquentson has quit [Ping timeout: 260 seconds]
<Mossfeldt> Is there a know issue of running ipfs behind a firewall? One of my nodes (behind pfSense firewall, port open) connects to about ~200 peers. Another one, outside my firewall connects to ~480 peers.
<Kubuxu> Mossfeldt: it might be just usage pattern, node with more content (or requesting more content) will have more peers
<Mossfeldt> Kubuxu: Ok, might be, the one outside firewall has more hashe and slightly more pins. Have not checked this further but might do so.
n0z_ has joined #ipfs
n0z has quit [Ping timeout: 240 seconds]
<lgierth> haad: awesome :):)
tmg has quit [Ping timeout: 240 seconds]
<cblgh> tfw ipfs is the isbn for everything
Mossfeldt has quit [Ping timeout: 240 seconds]
Mossfeldt has joined #ipfs
maciejh has quit [Ping timeout: 260 seconds]
aquentson has joined #ipfs
aquentson1 has quit [Ping timeout: 240 seconds]
muvlon has quit [Ping timeout: 240 seconds]
n0z_ has quit [Remote host closed the connection]
n0z_ has joined #ipfs
pfrazee has joined #ipfs
DokterBob has quit [Ping timeout: 240 seconds]
M-ms has quit [Ping timeout: 240 seconds]
M-ms has joined #ipfs
DokterBob has joined #ipfs
pinkieval has quit [Remote host closed the connection]
pinkieval has joined #ipfs
pinkieval has quit [Remote host closed the connection]
pinkieval has joined #ipfs
gmoro has quit [Ping timeout: 268 seconds]
shizy has joined #ipfs
gmoro has joined #ipfs
maciejh has joined #ipfs
arpu has quit [Quit: Ex-Chat]
google77 has joined #ipfs
<google77> is there a tutorial on how to mount ipfs on FUSE?
<AphelionZ> victorbjelkholm: looking at your code now
<AphelionZ> are you using ipfs-js?
<AphelionZ> or is this your own thing
<AphelionZ> i.e. will ipfs.config.Addresses.Swarm work?
<pinkieval> google77: the first result of https://www.google.fr/search?q=ipfs+fuse
ashark has joined #ipfs
<google77> thx pinkieval... I googled that but I am obviously blind
dimitarvp has joined #ipfs
matoro has quit [Ping timeout: 260 seconds]
matoro has joined #ipfs
<dignifiedquire> AphelionZ: sweet
<AphelionZ> oh hey
<AphelionZ> i'm cloning ipfs-js. I'll work on that function today
<dignifiedquire> thank you :)
Boomerang has joined #ipfs
caiogondim has quit [Quit: caiogondim]
ulrichard has quit [Remote host closed the connection]
matoro has quit [Ping timeout: 240 seconds]
arpu has joined #ipfs
n0z_ has quit [Quit: .]
Aranjedeath has joined #ipfs
ylp has quit [Quit: Leaving.]
matoro has joined #ipfs
bvcosta has joined #ipfs
cemerick has quit [Ping timeout: 240 seconds]
robogoat has quit [Ping timeout: 240 seconds]
cemerick has joined #ipfs
rektide_ has quit [Ping timeout: 245 seconds]
Mizzu has joined #ipfs
pfrazee has quit [Remote host closed the connection]
Encrypt_ has joined #ipfs
tilgovi has joined #ipfs
robogoat has joined #ipfs
Foxcool has quit [Ping timeout: 260 seconds]
<cryptix> hrm.. is there a trick to get a progress out of `ipfs refs -r` ?
<cryptix> the dataset is approx 50g so i'd like to not clone it into /tmp/ with `ipfs get`
<cryptix> i tried /dev/zero but sadly it isn't special cased for `-d`
Akaibu has joined #ipfs
gmoro has quit [Remote host closed the connection]
caiogondim has joined #ipfs
gmoro has joined #ipfs
maciejh has quit [Ping timeout: 240 seconds]
maciejh has joined #ipfs
cemerick has quit [Ping timeout: 260 seconds]
cyanobacteria has joined #ipfs
ylp has joined #ipfs
Guest78421 has joined #ipfs
Guest78421 has quit [Ping timeout: 240 seconds]
captain_morgan has quit [Read error: Connection reset by peer]
screensaver has joined #ipfs
Boomerang has quit [Ping timeout: 240 seconds]
ygrek has joined #ipfs
matoro has quit [Ping timeout: 268 seconds]
pfrazee has joined #ipfs
seharder_ has joined #ipfs
<whyrusleeping> cryptix: ipfs pin add will have progress soon
<whyrusleeping> refs unfortunately doesnt at this point
<cryptix> ah interesting!
<cryptix> there also is no reverse index, i guess? to see in which part of the tree the object is that i'm trying to get
<whyrusleeping> yeah, we have a PR open for it, going to merge it once we start the 0.4.7 cycle
<whyrusleeping> reverse index? no, but if you have good ideas on how to do it, i'd love to look into it
<cryptix> hehe not right now. more of a would be nice to have right now
<whyrusleeping> Yeah, for sure
<whyrusleeping> having efficient backlinks would solve a lot of problems for us
Encrypt_ has quit [Quit: Quit]
<seharder_> lgierth: where can I find the zoom link for the test-lab sprint call
matoro has joined #ipfs
matoro has quit [Remote host closed the connection]
matoro has joined #ipfs
<lgierth> seharder_: https://zoom.us/j/192655664
<lgierth> i'll be there in a minute
arpu has quit [Quit: Ex-Chat]
t2deep has quit [Quit: http://quassel-irc.org - Chat comfortably. Anywhere.]
tilgovi has quit [Ping timeout: 240 seconds]
tilgovi has joined #ipfs
captain_morgan has joined #ipfs
Aranjedeath has quit [Ping timeout: 240 seconds]
<dignifiedquire> whyrusleeping: what's required to enable multiplex by default in go-ipfs?
ygrek has quit [Ping timeout: 240 seconds]
Aranjedeath has joined #ipfs
aquentson1 has joined #ipfs
aquentson has quit [Ping timeout: 240 seconds]
espadrine has quit [Ping timeout: 260 seconds]
<victorbjelkholm> dignifiedquire: --enable-multiplex-experiment ?
<victorbjelkholm> when starting the daemon
s_kunk has quit [Ping timeout: 240 seconds]
<dignifiedquire> without a flag
<dignifiedquire> I want it so all users have it
<dignifiedquire> and I am wondering what it takes to get there
<whyrusleeping> oh, just flipping a few bits
<whyrusleeping> basically, the next step is defaulting the --enable-multiplex-experiment flag to true
seharder_ has quit [Ping timeout: 240 seconds]
seharder_ has joined #ipfs
tg has quit [Remote host closed the connection]
maxlath has quit [Ping timeout: 260 seconds]
tilgovi has quit [Ping timeout: 240 seconds]
tg has joined #ipfs
<dignifiedquire> right, I meant what needs to happen that you are confident to do that
robattila256 has joined #ipfs
matoro has quit [Ping timeout: 260 seconds]
ygrek has joined #ipfs
koalalorenzo has joined #ipfs
espadrine has joined #ipfs
<whyrusleeping> Eh, i can switch it over in 0.4.7
tilgovi has joined #ipfs
tg has quit [Quit: Leaving]
Silke[m] is now known as Silke^
tg has joined #ipfs
matoro has joined #ipfs
rektide has joined #ipfs
maxlath has joined #ipfs
s_kunk has joined #ipfs
<dignifiedquire> that would be cool, as that would mean interop would work with default settings
<dignifiedquire> also it might make sense to disable spdy for now, given that we know it is kind of broken
<whyrusleeping> dignifiedquire: agreed
<whyrusleeping> wanna PR that in?
<dignifiedquire> sure
<whyrusleeping> changes should be in cmd/ipfs/daemon.go for the flag
<whyrusleeping> and in core/builder.go or core/core.go for disabling spdy
<dignifiedquire> you want a flag for spdy, or just dropping it entirely for now?
jokoon has joined #ipfs
Akaibu has quit [Quit: Connection closed for inactivity]
<whyrusleeping> hrm...
<whyrusleeping> Unsure if i want it as a flag, since its really disabling a broken feature
<whyrusleeping> not enabling a new one
infinity0 has quit [Ping timeout: 240 seconds]
infinity0 has joined #ipfs
<Kubuxu> whyrusleeping: jenkins should be working now
<Kubuxu> it will have up to 1min delay for now
<Kubuxu> but it should work
infinity0 has quit [Remote host closed the connection]
infinity0 has joined #ipfs
infinity0 has quit [Remote host closed the connection]
<AphelionZ> dignifiedquire: just trying to run the unit tests here, failed right away lol
<AphelionZ> node v.4.4.3 though
infinity0 has joined #ipfs
infinity0 has quit [Remote host closed the connection]
vapid has joined #ipfs
infinity0 has joined #ipfs
maciejh has quit [Ping timeout: 260 seconds]
<AphelionZ> ah yes I need to upgrade node
infinity0 has quit [Remote host closed the connection]
chungy has quit [Read error: Connection reset by peer]
infinity0 has joined #ipfs
infinity0 has quit [Remote host closed the connection]
infinity0 has joined #ipfs
infinity0 has quit [Remote host closed the connection]
PseudoNoob has joined #ipfs
PseudoNoob has quit [Client Quit]
infinity0 has joined #ipfs
djhaskin987[m] has joined #ipfs
aquentson has joined #ipfs
<djhaskin987[m]> Is there a way I can set up a site-specific instance of IPFS? like, an IPFS *just* for my company? not world reachable unless I'm VPN'd into my company network, etc.?
aquentson1 has quit [Ping timeout: 240 seconds]
null_radix has quit [Excess Flood]
<dignifiedquire> AphelionZ: yep upgrading node should fix that
<whyrusleeping> djhaskin987[m]: We're very close to shipping a 'private networks' feature that would make this very easy
null_radix has joined #ipfs
<whyrusleeping> djhaskin987[m]: the basic gist of it is you set a 'network key' that is shared between those in your company, and to access your private ipfs network, you must have that key
wallacoloo_____ has joined #ipfs
<djhaskin987[m]> that would be really great. I can imagine, for example, setting up gx for use within the company to track build dependencies, but not until I could make the ipfs private.
<djhaskin987[m]> but,
<djhaskin987[m]> how could i make the instance of ipfs simply unreachable? with the key model you talk of, I could still access my company's ipfs network from india if I had their key. Isn't there a way to just block access via firewall so that I need VPN access to get to it?
palkeo has joined #ipfs
palkeo has joined #ipfs
palkeo has quit [Changing host]
chungy has joined #ipfs
<djhaskin987[m]> That's a reallly cool feature though, I eagerly wait for it :)
<whyrusleeping> djhaskin987[m]: oh yeah, if your company is sufficiently firewalled you can just change out bootstrap nodes
<djhaskin987[m]> That would prevent the ipfs daemon from connecting to peers other than those on my company network, yes?
<djhaskin987[m]> that sounds really cool
<whyrusleeping> You just have to be very careful though
bvcosta has quit [Remote host closed the connection]
<Kubuxu> if you have things working in 'internal network' mode it would be quite simple
cwahlers_ has joined #ipfs
<Kubuxu> but usually it isn't so
<Kubuxu> but PNet would be perfect for your usecase
<whyrusleeping> if someone on your network dials out to a node on the main network, it could cause a bit of a network joining
<whyrusleeping> where all the other correct nodes hear about outside peers from the node that was misconfigured
<whyrusleeping> and decide to connect out to them
google77 has quit [Quit: leaving]
cwahlers has quit [Ping timeout: 260 seconds]
cwahlers_ has quit [Read error: Connection reset by peer]
<djhaskin987[m]> I'm very excited for pnet
seharder_ has quit [Quit: seharder_]
<whyrusleeping> sameeee
<whyrusleeping> Everyone should try out the 0.4.6 release candidate so we can get it shipped out sooner
<whyrusleeping> ^^^^^ Hey everyone, do this ^^^^^^^^^
<Kubuxu> There is build with PNet here
<Kubuxu> you can generate the keyfile using https://github.com/Kubuxu/go-ipfs-swarm-key-gen
palkeo has quit [Ping timeout: 260 seconds]
jokoon has quit [Quit: Leaving]
neurrowcat has joined #ipfs
Boomerang has joined #ipfs
Encrypt_ has joined #ipfs
maxlath has quit [Quit: maxlath]
<dignifiedquire> js-ipfs@0.22.1 was released, with support for (go) interoperable multiplex!
r0kk3rz has quit [Ping timeout: 240 seconds]
cwahlers has joined #ipfs
<dignifiedquire> whyrusleeping: https://github.com/ipfs/go-ipfs/pull/3725 haven't run tests yet though
chriscool1 has joined #ipfs
aquentson1 has joined #ipfs
bsm117532 is now known as Guest48944
Guest48944 has quit [Killed (card.freenode.net (Nickname regained by services))]
aquentson has quit [Ping timeout: 240 seconds]
koalalorenzo has quit [Quit: This computer has gone to sleep]
koalalorenzo has joined #ipfs
koalalorenzo has joined #ipfs
koalalorenzo has quit [Changing host]
r0kk3rz has joined #ipfs
<zippy314_> whats the prefered method for determining if two multihashs are equal?
<Kubuxu> zippy314_: multihash is equal to other if it is binary representation is the same
rendar has quit [Ping timeout: 260 seconds]
seharder_ has joined #ipfs
<zippy314_> so in go do folks use bytes.Compare()?
aquentson has joined #ipfs
ebel has quit [Ping timeout: 255 seconds]
<cblgh> there's equal too
aquentson1 has quit [Ping timeout: 240 seconds]
ebel has joined #ipfs
Boomerang has quit [Ping timeout: 255 seconds]
cemerick has joined #ipfs
google77 has joined #ipfs
<whyrusleeping> Yeah, the .Equal method is the right way in go
rektide has quit [Quit: leaving]
rektide has joined #ipfs
<whyrusleeping> oh wait, multihashes don't have an equal method
<whyrusleeping> if youre dealing with raw multihashes then yes, bytes.Equal is the way to go
* whyrusleeping wonders why theres no equal method there
tilgovi has quit [Ping timeout: 240 seconds]
<victorbjelkholm> dignifiedquire: finally! That's awesome work right there. Now js-ipfs nodes can fetch data from go-ipfs nodes!
cemerick has quit [Ping timeout: 255 seconds]
<AphelionZ> victorbjelkholm: whoa whoa whoa can we peer from the browser now?
<AphelionZ> without an intermediary server?
cemerick has joined #ipfs
<whyrusleeping> AphelionZ: to go-ipfs nodes with websocket support and other browser nodes, yes
<AphelionZ> that's aaawwweeeesome
<whyrusleeping> websocket support on go is still not as good as it needs to be, and requires extra configuration
<whyrusleeping> but yeah, *it works*
<AphelionZ> haha sure
<AphelionZ> do I need to fork js-ipfs to make a pull request?
rektide has quit [Ping timeout: 255 seconds]
<AphelionZ> I'm ready to create a PR for repoExists dignifiedquire
<whyrusleeping> AphelionZ: yeah, you should fork
<AphelionZ> k
<whyrusleeping> once you've become a regular contributor we give out write priveleges to the repos though
aquentson1 has joined #ipfs
<whyrusleeping> since you pushing branches directly to the repo is much easier for everyone involved
wallacoloo_____ has quit [Quit: wallacoloo_____]
<AphelionZ> sure sure
<AphelionZ> there ya go
<AphelionZ> have at it
aquentson has quit [Ping timeout: 240 seconds]
koalalorenzo has quit [Ping timeout: 240 seconds]
rektide has joined #ipfs
aquentson has joined #ipfs
tmg has joined #ipfs
aquentson1 has quit [Ping timeout: 240 seconds]
<google77> I am a bit of a noob on fuse, so now that I have mounted ipfs on fuse, what can I do with it?
ladron`` has joined #ipfs
<mmuller> google77: you can use it to lookup IPFS names.
ashark has quit [Ping timeout: 260 seconds]
<mmuller> e.g. cat /ipfs/QmYwAPJzv5CZsnA625s3Xf2nemtYgPpHdWEz79ojWnPbdG/readme
<google77> aha
<mmuller> "ls" won't work, for reasons left as an exercise :-)
Encrypt_ has quit [Quit: Quit]
ladron` has quit [Ping timeout: 256 seconds]
<mmuller> but with /ipns you can see your local IPNS key
phorse has quit [Ping timeout: 256 seconds]
realisation has joined #ipfs
<google77> mmuller before I could have only done it like 'ipfs cat /ipfs/hash'
<google77> cool
<google77> and I also see that now stuff I added to ipfs is in my ipns mount point, very cool
bsm1175322 has joined #ipfs
neurrowcat has quit [Quit: Deebidappidoodah!]
<whyrusleeping> google77: happy to hear that fuse is working for you :)
<whyrusleeping> we've been having difficulties with it lately and it needs attention
<whyrusleeping> If you come across weirdness, be sure to file issues detailing what happened for us
<realisation> hello good citizens
<whyrusleeping> heyo
n0z has joined #ipfs
ashark has joined #ipfs
seharder_ has quit [Quit: seharder_]
cemerick has quit [Ping timeout: 268 seconds]
seharder_ has joined #ipfs
Aranjedeath has quit [Ping timeout: 240 seconds]
espadrine has quit [Quit: Konversation terminated!]
espadrine_ has joined #ipfs
seharder_ has quit [Quit: seharder_]
<Mossfeldt> Just dropping by tosay that my nodes running the 4.6-rc1 seems to work like a charm. :)
Guest44283 has quit [Ping timeout: 240 seconds]
<dignifiedquire> Mossfeldt: that's great to hear :)
n0z has quit [Ping timeout: 268 seconds]
<whyrusleeping> Mossfeldt: thats great to hear, thank you!
ylp has quit [Ping timeout: 255 seconds]
wallacoloo_____ has joined #ipfs
espadrine_ has quit [Remote host closed the connection]
espadrine_ has joined #ipfs
vapid has quit [Quit: http://quassel-irc.org - Chat comfortably. Anywhere.]
fleeky_ has quit [Ping timeout: 240 seconds]
maciejh has joined #ipfs
<kevina> whyrusleeping: if you have time could you have another look at https://github.com/ipfs/go-ipfs/pull/3712
<whyrusleeping> sure thing!
<kevina> thanks
maciejh has quit [Ping timeout: 260 seconds]
<google77> whyrusleeping well I got that same old known issue where it wont mount if I hadn't added anything lately. Luckily the fix worked for me.
<whyrusleeping> google77: mind commenting on the issue again just saying you hit the issue and the fix worked? It will pressure us more to make it better
<whyrusleeping> (more comments generally == faster fixes)
<whyrusleeping> i've got ipfs storing and reading everything from s3
<whyrusleeping> its slower than snot but it works
zki[m] has joined #ipfs
<google77> does ipfs add -r add every file in the directory?
<whyrusleeping> yeap
<whyrusleeping> minus hidden files
<whyrusleeping> if you add the --hidden flag it will grab those too
zki[m] has left #ipfs [#ipfs]
<google77> I don't think I should ever try to add /dev/urandom to ipfs... I tried once copying it over ftp... XD
<whyrusleeping> lol, that wont end well
<whyrusleeping> though i frequently use dd if=/dev/urandom bs=4M count=XX | ipfs add
<google77> So now I am at a dilemma over which assignment to pick for my advanced Unix class... IPFS over FUSE or LUKS container over SSHFS.
<Kubuxu> google77: we have ipfs over fuse already but it needs a lot of work from ground up
<Kubuxu> preferably as separate module
<google77> Kubuxu it's not a programming class. I don't have to create anything, I can analyze what exists and write documentation and tutorials about it.
<Kubuxu> aah
<kevina> Kubuxu: is anyone working on fuse?
<Kubuxu> not really, I wanted to do that in the past but there is just too much stuff to do directly in the protocol or other critical libraries
<kevina> is it ready to be worked on?
<kevina> or does it being blocked by something?
chris613 has joined #ipfs
<Kubuxu> not sure, we wanted to rebuilt it using core api, so it might need some love first :|
<kevina> okay, I was asking because it sounded like something I could pick up if it was ready
<kevina> and no one else was working on it due to lack of time
<kevina> but it sounds like it needs some more thought before it is ready for a rewrite
Aranjedeath has joined #ipfs
<whyrusleeping> kevina: you could work on fuse if youre feeling daring, if thats something youre interested in then lets have a call sometime soon to discuss
<whyrusleeping> The idea for it was to ideally extract it from the main codebase, and have it interact with ipfs through the core api
<whyrusleeping> which, at first means leaving it where its at, but changing what it accepts as an input to be a coreAPI interface thing
<whyrusleeping> Though, that work isnt necessarily blocking fixing some of the open issues around it
dignifiedquire has quit [Read error: Connection reset by peer]
SoreGums has quit [Ping timeout: 240 seconds]
dignifiedquire has joined #ipfs
<whyrusleeping> kevina: also take a look at this PR that adds a docker image that can use fuse: https://github.com/ipfs/go-ipfs/pull/3690/files
SoreGums has joined #ipfs
ADerpyHusky has joined #ipfs
<whyrusleeping> Kubuxu: think releasing 0.4.6 on monday/tuesday sounds good?
<whyrusleeping> google77: yes
<google77> cool, you see a folder with images?
<whyrusleeping> yeap
<whyrusleeping> bunch of background images
<whyrusleeping> and a script
<whyrusleeping> vaguely anime artish
<kevina> whyrusleeping: okay, maybe next week
<google77> nice, now I have all confirmations
<whyrusleeping> kevina: cool
<Kubuxu> yeah, Monday SGTM, we can do 0.4.7 on Wednesday so we go to proper cycle
<Kubuxu> whyrusleeping, kevina : you are right, we can move it to use coreapi while it is still in main codebase
<Kubuxu> problem is, testing. IDK how I feel about running FUSE tests on main jenkins host, they used to be quite messed up
<kevina> Kubuxu: um so we are going to release 0.4.6 on Monday and then 0.4.7 on Wed ?!?
<Kubuxu> maybe updating that lib will help
matoro has quit [Ping timeout: 260 seconds]
<Kubuxu> in two weeks
<kevina> okay, thats better :)
<whyrusleeping> lol
<Kubuxu> I will look on updating that fuse lib again over the weekend or on Monday
<whyrusleeping> Yeah, i like the two week cycle so far. We will see how it goes over the next few releases
<whyrusleeping> its really not seeming that difficult to keep up on
<Kubuxu> No, and I really like it.
<Kubuxu> It is good to be able to tell people that PNet will be out in two weeks
<Kubuxu> IDK when it would be out with old style
<Kubuxu> probably in May
wedowmaker has quit [Ping timeout: 240 seconds]
rodarmor has quit [Read error: Connection reset by peer]
SoreGums has quit [Ping timeout: 240 seconds]
nullstyle has quit [Ping timeout: 276 seconds]
Arwalk has quit [Ping timeout: 258 seconds]
dignifiedquire has quit [Read error: Connection reset by peer]
staltz_ has quit [Ping timeout: 245 seconds]
maciejh has joined #ipfs
tilgovi has joined #ipfs
<whyrusleeping> yeah
aaaaaaaaa____ has quit [Ping timeout: 252 seconds]
staltz_ has joined #ipfs
tilgovi has quit [Ping timeout: 260 seconds]
tilgovi has joined #ipfs
wedowmaker has joined #ipfs
maciejh has quit [Ping timeout: 268 seconds]
dignifiedquire has joined #ipfs
matoro has joined #ipfs
espadrine_ is now known as espadrine
Arwalk has joined #ipfs
<kevina> Kubuxu: re fuse: okay, if you could write up some notes it would be helpful
aaaaaaaaa____ has joined #ipfs
dreamcat4 has joined #ipfs
<whyrusleeping> Also, more generally for everyone: If you're looking for something to work on, check out the 'next release' milestone (currently 0.4.7) and see what you can do to push any of those issues forward
nullstyle has joined #ipfs
<whyrusleeping> kevina: reviewed again. I'm really liking the gc changes
caiogondim has quit [Quit: caiogondim]
vapid has joined #ipfs
rodarmor has joined #ipfs
SoreGums has joined #ipfs
<kevina> okay, so when exactly do you need to use ctx.Done()
<kevina> whyrusleeping: &
ianopolous has joined #ipfs
irc2000 has joined #ipfs
<whyrusleeping> I would use ctx.Done() any time where you cant be 100% sure that the channel operation will succeed
<whyrusleeping> in the case of the GC code there, theres the possibility that the channel will be full, the receiver will have exited (due to a crash or user killing the program) and the gc routine will hang
<kevina> so the channel will never get closed in that case?
jkilpatr has quit [Ping timeout: 240 seconds]
Mizzu has quit [Ping timeout: 240 seconds]
<whyrusleeping> Yeah, if it hangs as i describe the channel would never be closed
<whyrusleeping> better safe than sorry
<kevina> okay
matoro has quit [Read error: Connection reset by peer]
<kevina> whyrusleeping: I left one other comment concerning running with and without the daemon
<whyrusleeping> kevina: the offline thing?
<kevina> yes
<whyrusleeping> yeah, youre totally right
<whyrusleeping> ignore me there
<kevina> cool
<whyrusleeping> (that scenario was most of the reason we wrote the offline flag, lol)
pppingme has joined #ipfs
pppingme has left #ipfs ["Leaving"]
matoro has joined #ipfs
tmg has quit [Ping timeout: 260 seconds]
Guest161343[m] has joined #ipfs
Guest161343[m] has left #ipfs ["User left"]
dreamcat4 has left #ipfs [#ipfs]
Caterpillar has quit [Quit: You were not made to live as brutes, but to follow virtue and knowledge.]
espadrine has quit [Ping timeout: 240 seconds]
jkilpatr has joined #ipfs
ylp has joined #ipfs
ianopolous has quit [Ping timeout: 240 seconds]
tilgovi has quit [Ping timeout: 255 seconds]
tilgovi_ has joined #ipfs
cyanobacteria has quit [Ping timeout: 240 seconds]