Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Repo info
Activity
  • Nov 14 22:37
    sirpy commented #819
  • Nov 14 12:49
    mmalmi commented #819
  • Nov 13 13:50
    amark commented #819
  • Nov 13 13:48
    amark commented #796
  • Nov 13 13:46

    amark on master

    Added missing reference for glo… Merge pull request #838 from Dl… (compare)

  • Nov 13 13:46
    amark closed #838
  • Nov 13 13:26
    amark commented #841
  • Nov 13 13:24
    amark commented #831
  • Nov 13 13:14
    amark commented #839
  • Nov 13 13:09
    amark closed #842
  • Nov 13 13:09
    amark commented #842
  • Nov 13 09:33
    amark closed #840
  • Nov 12 21:54
    DaveWelling opened #842
  • Nov 11 18:23
    Lightnet opened #841
  • Nov 11 15:42
    jussiry opened #840
  • Nov 10 09:15
    ubiqui opened #839
  • Nov 09 23:25

    amark on master

    Update README.md (compare)

  • Nov 09 23:22

    amark on master

    Update README.md (compare)

  • Nov 09 23:02

    amark on dev

    paste.html ! (compare)

  • Nov 09 22:56

    amark on dev

    update basics (compare)

Robin Bron
@finwo
Hi mimiza, this fully depends on the javascript engine you're running on. All that I know register a reference to the same memory-block on the objects, so no more resources are used than any other assignment.
Cale
@trosel

Here's a thought: What if we started going around to various self-hostable, open-source apps and just started submitting PRs where the user logins are replaced with SEA instead of their existing centralized database logins lol

Make a best practices guide for swapping user logins to SEA and do it guerrilla style lol

narnikgamarnik
@narnikgamarnikus
Is there a way to use a gun similar to, for example, peerjs, to only transmit data, but not write to them?
Duane Johnson
@canadaduane
@amark neo4j folks are announcing a new graph query language standard, GQL: https://neo4j.com/press-releases/query-language-graph-databases-international-standard/
@trosel Your proposal sounds similar to Sandstorm's approach, and maybe we could learn from what they did (it recently shut down; see some great comments at https://news.ycombinator.com/item?id=20979428)
(Sandstorm was a self-hosted web app manager that let you install open source apps similar to the ease with which you install an app from the Apple App Store. One requirement for this to be possible was the "login method" of each app had to be modified to be compatible with Sandstorm's way of doing things.)
Cale
@trosel
So they just went on a blitz of submitting PRs to various kinds of software
Duane Johnson
@canadaduane
Yes, or forking projects where the Sandstorm community had great interest in making it work, but there was resistance by original project owners
go1dfish
@go1dfish
I tried out that new node native lib to replace ossl locally and it works well (didn't try the gun pr was trying with my own stuff)
regarding the SEA call my availability is pretty flexible, you guys figure out a time and I may pop in if I can, is the goal to discuss the future of the SEA user() features?
Matthew Hall
@matthewhall.ca_gitlab
Is there any guidelines/suggestions in using GUN in a multi-tenant application? I am guessing its just to spinup a separate GUN instance for every tenant?
narnikgamarnik
@narnikgamarnikus

Does someone synchronization peers between anonymous users using Gun?

I use fingerprntjs2 to generate a key for Gun

let fingerprint

Fingerprint2.get({}, function(components) {
  const values = components.map(function(component) {
    return component.value
  })
  fingerprint = Fingerprint2.x64hash128(values.join(''), 31)
})
const peer = new Peer({
  host: 'localhost',
  port: 9000,
  path: '/',
  debug: 3
})

if (peer and fingerprint) {
  gun
   .get('peers')
   .set({
      fingerprint,
      peerId: peer.id
    })
    .bye()
    .put(null)
}
        gun
          .get('peers')
          .map()
          .on(function(data, id) {
            // this.put(null)
            // console.log('data', data)
            if (data) {
              if (data.fingerprint && data.peerId) {
                if (data.peerId !== peer.id) {
                  // console.log('data', data)
                  connect = peer.connect(data.peerId)
                  setTimeout(function() {
                    connect.send(`Hello world from ! ${peer.id}`)
                  }, 1000)
                }
              }
            }
          })
The problem is. I regularly encounter peers, users who have already closed the browser tab, ie bye().put(null) does not work.
Cale
@trosel
@canadaduane interesting that YUNOhost is down today as well https://yunohost.org
narnikgamarnik
@narnikgamarnikus
What is the best way to have a current list of anonymous online users?
Lightnet
@Lightnet
@narnikgamarnikus well you put .put("null") this will be fine but it should work.
oh right there some json to string format as back and forward convert for sea.js
Mark Nadal
@amark
@sirpy thanks!
@rm-rf-etc w00h000! Phew, half a year out! Commitment! :D
@mimiza w00h000! :D This is a good idea, but it becomes a "standards" thing because we need pretty much every machine to run the code to enforce the rules, and more code = more bloat, etc., it sounds like you can get away with doing what you want just via a user space, no?
@finwo nice answer!!!
@trosel oooooooo! I like that idea.
@narnikgamarnikus yes, do you need the data to merge tho (?)
I didn't quite understand your 2nd example, is this just checking the hash on data? Or you just want online-only with .bye() extension? I think you submitted a PR... will be looking into it. :)
@canadaduane I couldn't find any example of GQL :P did you see any?
@go1dfish YAAAY it worked :D :D yeah .grant( .trust( specifically.
@matthewhall.ca_gitlab WELCOME TO THE COMMUNITY!!!!!!!!!!!!!!!!!!!!!!! Multiple relay servers is probably smartest, depending on your needs. The easiest route would be just to use different data graphs, .get('foo') versus .get('bar') and save everything under those.
Never heard of yuno.
@matthewhall.ca_gitlab how'd you hear about us? What are you working on? :)
Matthew Hall
@matthewhall.ca_gitlab
@amark Thanks! Just found via Google I believe. CTO over at SpringboardVR.com - evaluating GUN for handling some offline first stuff in VR ;) Was going to reach out to you about some sponsorship + consulting stuff soon as well
@amark I just wrote this for you and @mmalmi
I hope you enjoy it
Mark Nadal
@amark
@matthewhall.ca_gitlab awesome, checking out your site now!
had various VR / AR people doing cool stuff
@data_over_ideal_twitter click (just finished reading your other article, liked it, and gonna plan to watch documentary sometime this week with the family, and got me interested in Moral Sentiments again, but phew 12 hour audio, gonna see if Amber wants to commit to doing it or not lol)
Rob
@rm-rf-etc
@Dletta sort of like the concept of a view... This would also give me a good place for developers to utilize the reselect module. I think this would help with certain situations for sure. Reducers in buckets can only work on the data they have at hand, so by creating a merged view from multiple buckets, it would allow us to compute states we otherwise couldn't. But it doesn't solve the situation where we want a state change in one bucket to trigger a state change in another bucket. I'm leaning towards loop detection for that. If it's good enough for React, it should be good enough for Weir. I'm just worried a little that someone might deploy a change to prod that triggers a loop which they weren't able to catch in QA, and then they end up with jacked up user data that's hard or impossible to fix.
Mark Nadal
@amark
@matthewhall.ca_gitlab nice! Out of curiosity, do you have any clients/shops in Bay Area? I wonder if any of the VR places near me use you guys.
Rob
@rm-rf-etc
@matthewhall.ca_gitlab let me take the opportunity to shamelessly promote the youtube videos we've been recording, since they're developer focused, they might help with your evaluation process. https://www.youtube.com/channel/UCXkC2aczhf2KDJBhHryhbDg
Matthew Hall
@matthewhall.ca_gitlab
@rm-rf-etc thanks! Will definitely check them out
@amark yup definitely! We're the largest software provider in the "Location Based VR" space. Would have to check our Hubspot to see whats actually in the Bay Area but i am sure there is a few
Mark Nadal
@amark
@matthewhall.ca_gitlab nice, feel free to promote yourself / what your goals are here. See if gun is a good fit or not. :)
Jace
@data_over_ideal_twitter
@amark I know right? It's a full time job using books to learn. I respect academics a lot more than I used to!
Rob
@rm-rf-etc
@Dletta maybe... If I implement an internal-only API, where buckets pass a message object to any recipient buckets when invoking a reducer, the buckets could record the result of the reducer as a diff, write it to the message object, then each bucket could examine this message object and decide to either permit or reject, prior to running the invoked reducer.
Matthew Hall
@matthewhall.ca_gitlab

We build software for "Location based VR" - basically anytime you're using VR not for personal use. VR arcades, businsses using VR for training, schools with VR labs, etc.

Right now we use a very traditional client to server approach where we have some Windows desktop software (.NET Core), VR apps (Unity + VueJS - its a bit unique) and some web applications (VueJS) all using a GraphQL API (PHP, Go, Node microservices)

Looking to move that section of our software to a more decentralized approach for a few reasons - Biggest being speed and reliability. Want to be able to better handle clients with crappy internet, having communication on a LAN between our web software and the desktop software without having to go to our servers, etc.

GUN so far looks like it checks all of our boxes pretty well. Biggest things we're trying to figure out still are
1) How to make our current APIs read/write to GUN
2) How to include it on our desktop software effectively
3) How to host our GUN databases server side for multiple tenants

Hoping to ship a very rough MVP just to test behind the scenes in conjunction with the current approach in the next few months.

Not hiring anything specific to this project just yet but we are hiring a .Net/C# desktop developer :)

Rob
@rm-rf-etc
@matthewhall.ca_gitlab did you evaluate electron for desktop?
Matthew Hall
@matthewhall.ca_gitlab
Yup! We'll likely be going with Electron @rm-rf-etc
Rob
@rm-rf-etc
@matthewhall.ca_gitlab ya I'm using electron for the desktop part of my projects, so I can use my shared component library and build to various targets. Pretty happy with it.
Gun will of course work great inside of electron
Mark Nadal
@amark
@matthewhall.ca_gitlab what type of data you handling? We're working on handling video/images stuff soon, but its in testing stage with @QVDev 's awesome work.

@/all hey all! I'm starting an audio call about the Music Maker with @jussiry in a minute

anybody interested feel free to join, its mostly us catching up and planning next work on it.
if people do join tho :/ I know appearin only has 4 person limit
does zoom have a limit?
we don't need record, just... screen sharing + no room limit
Matthew Hall
@matthewhall.ca_gitlab
@amark We've already got our own caching layer for images/videos so thats fine - mostly just keeping information on what Games are available on a computer (and filtering through them - liking the graphql-gun lib) as well as the "Bookings" for that computer
Mark Nadal
@amark
maybe I'll try jitsi? .. JAS let me get it setup, BRB @jussiry
does this work?