Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Repo info
Activity
  • Jan 21 15:46
    SimonWoodburyForget closed #3129
  • Jan 21 15:46
    SimonWoodburyForget commented #3129
  • Jan 20 19:58
    parasyte edited #3128
  • Jan 20 15:05
    kvark commented #3128
  • Jan 20 14:40
    kvark labeled #3130
  • Jan 20 14:40
    kvark labeled #3130
  • Jan 20 14:40
    kvark labeled #3130
  • Jan 20 14:40
    kvark labeled #3130
  • Jan 20 14:40
    kvark labeled #3130
  • Jan 20 14:40
    kvark opened #3130
  • Jan 20 10:13
    pluth commented #3128
  • Jan 20 09:59
    pluth commented #3128
  • Jan 20 09:59
    pluth commented #3128
  • Jan 20 09:52
    pluth commented #3128
  • Jan 20 07:41
    krogovin commented #2960
  • Jan 19 22:24
    kvark commented #3129
  • Jan 19 22:16
    SimonWoodburyForget commented #3129
  • Jan 19 21:43
    kvark labeled #3129
  • Jan 19 21:43
    kvark labeled #3129
  • Jan 19 21:42
    kvark commented #3129
Brendan Zabarauskas
@brendanzab
hmm
mitchmindtree
@mitchmindtree
@bjz REAL aussies are still up at 5am
... or maybe just crazy ones shifty eyes
Brendan Zabarauskas
@brendanzab
oh wait, you are an aussie too
I am an aussie in SF :D
mitchmindtree
@mitchmindtree
when do you finish your internship over there?
you think you will stay in SF?
kvark @kvark is curious if Mozilla pays for internship and/or providing the apartment to live in
mitchmindtree @mitchmindtree is also curious
Brendan Zabarauskas
@brendanzab
@kvark both
Dzmitry Malyshau
@kvark
@bjz that's a contract then... dunno why they call it internship
@mitchmindtree you got a nice website
Brendan Zabarauskas
@brendanzab
shhhh - I am learning. :)
Dzmitry Malyshau
@kvark
ah, so tax evasion? understood
brendanzab @bjz goes to lunch
mitchmindtree
@mitchmindtree
@kvark thanks! It's definitely due for an update
@kvark I like your dp btw :-)
GITS 4evaaa
I made a tune super inspired by gits a while ago!
A friend did a film clip for it http://vimeo.com/41616720
woah, didn't expect that haha
anyways, it's littered with samples from the anime
Dzmitry Malyshau
@kvark
@mitchmindtree haha, glad you recognized it! nice movie as well :)
Chip Collier
@photex
@kvark the big reason I don't want to just disable a cell is that if you have some problem with generations overflowing you can effectively DOS the engine
which seems unlikely to be done without purpose
you're also introducing memory fragmentation
which defeats the whole purpose
the warning I referred to was just in the documentation
not a runtime log or anything
just explaining the caveat
I don't think it's particularly safe or unsafe either way honestly
you're handle is either valid or not
the bigger problem with this is handle invalidation
if you remove it, it's swaps with the item on the end
which invalidates any handles for that last item
the molecular musings post touches on a solution for that
but I hadn't really grokked it
Dzmitry Malyshau
@kvark
@photex I read it yesterday, and didn't see a solution outside of just "please be careful to not overflow"
also, let's structurize your points. Here is what I see:
  1. DoS possibility
  2. memory fragmentation
  3. you don't think it solves anything
is that a correct recap?
Chip Collier
@photex
yep, but add 4) I honestly don't mind your solution. I'm just making sure we discuss it (helps me understand everything)
Dzmitry Malyshau
@kvark
@photex ok, so let's go through the points:
  1. I don't see why anyone would want to do that. Device is not exposed to the network, so we can assume whoever works with it is trusted
  2. could you explain this bit? AFAIK, my solution covers that 1% of usecases where we alternatively either crash or go unsafe. Even if memory gets fragmented, it's an exception case and we can live with it
  3. pretty much explained it in 2.
  4. sure, no worries! I might be easily missing bits myself too
Chip Collier
@photex
  1. If the argument is about safety, then disabling a cell is certainly unsafe vs a generation overflow (my opinion).
  1. when a generation is maxed and you can't add a new item in it's place, now you have a cell that is going to have to be skipped.
oops, that should be 2.
that's it. I think operationally it seems rare, but the engine data wasn't entirely meant to be used behind the scenes
I had anticipated it's use in game threads, scene graphs, etc
multi-line
ahh ok Shift-Enter
Dzmitry Malyshau
@kvark
@photex
  1. why is disabling unsafe? EntityData may guarantee that nothing tries to use that handle
  2. for all managing purposes, this handle is going to behave as being already used. I don't see any overhead of this in the code. Where do you see it being skipped exactly?
Chip Collier
@photex
if you delete an item, generation is incremented, if it reaches LAST_GENERATION then from that point forward, the cell this relates to is no longer able to be used
so when iterating over the collection, you now have to check for a generation that equals LAST_GENERATION