GithubHelp home page GithubHelp logo

Comments (10)

relistan avatar relistan commented on August 24, 2024

💯 We got bitten by how much slower uuid1/0 is than uuid4/0. IME it's exceedingly, exceedingly rare for a MAC address to change on a running system unless you are using e.g. VPN tunnels. In that event, do you really want to change the way UUIDs are generated on the fly? I at least would say no.

from elixir-uuid.

whatyouhide avatar whatyouhide commented on August 24, 2024

Also worth noting that we can probably add a poller to the elixir_uuid application that refreshes this value every 5 or 10 seconds or so. Won't add any overhead to a running system but solves this problem almost perfectly (if this is indeed a "problem").

from elixir-uuid.

whatyouhide avatar whatyouhide commented on August 24, 2024

Ping @zyro? 🙏

from elixir-uuid.

zyro avatar zyro commented on August 24, 2024

I don't actively use this at the moment but I'm all for improving the performance here. 👍

If you open a PR I'll try to review/merge/release as soon as I can.

from elixir-uuid.

zyro avatar zyro commented on August 24, 2024

As a side note I wouldn't expect the MAC address to change while the system is running. I guess it's possible but I'm not sure I've ever had a valid case of that happening on a production system without the application restarting - nodes being cycled out of/into a cluster for a rolling hardware upgrade, for example.

I'm fine with caching the address for the lifetime of the application unless there's very low overhead and complexity to refreshing periodically.

from elixir-uuid.

whatyouhide avatar whatyouhide commented on August 24, 2024

I don't actively use this at the moment but I'm all for improving the performance here.

We use this pretty heavily and this concerned me a bit. Are you still actively interested in maintaining it? For example, we had problems when the library was renamed from :uuid to :elixir_uuid between patch versions. Was that intentional and if so was there a reason for doing it?

from elixir-uuid.

zyro avatar zyro commented on August 24, 2024

Discussion was on #24. I didn't imagine any breaking issues since the package name was changed so anything importing the previous uuid would be fine. The core issue if I recall correctly was mixing together applications/libraries that depended on this package and uuid_erl which also defines its app name as :uuid.

I'm not spending active time maintaining this but happy to merge in patches and release new versions if needed. I largely see this as feature-complete so I would only expect bug fixes and performance improvements going forward.

I had hoped Elixir would introduce a UUID package in its standard library and make this obsolete, but that hasn't happened yet and I'm not aware of any plans for it.

from elixir-uuid.

whatyouhide avatar whatyouhide commented on August 24, 2024

I didn't imagine any breaking issues since the package name was changed so anything importing the previous uuid would be fine.

I see.

I had hoped Elixir would introduce a UUID package in its standard library and make this obsolete, but that hasn't happened yet and I'm not aware of any plans for it.

We have no plans to introduce UUID in the standard library. This decision makes this library crucial to the ecosystem because it has the potential to become the UUID standard implementation.

I largely see this as feature-complete

I think there's still room for more features such as UUID validation, so I'm not sure I would call this feature-complete.

If you feel like this could become the standard Elixir UUID library used by the community, I'll be happy to give a hand maintaining this and moving it forward (since I have allocated OSS time to actively maintain community libraries). Let me know your thoughts :)

from elixir-uuid.

zyro avatar zyro commented on August 24, 2024

I currently have minimal time to give this library but I can continue merging pull requests and pushing up releases to hex. If you're willing to contribute time I'm happy to talk about collaborator access to the repo.

On a related note I can also see that uuid is still getting more downloads than elixir_uuid so the shift has not been very fast and I expect app name conflicts with uuid_erl are still happening - which is what the name change was originally intended to help with. Would you suggest going back to uuid as the 'official' name and release for this library? We should move this to a separate discussion if that makes more sense.

from elixir-uuid.

whatyouhide avatar whatyouhide commented on August 24, 2024

Closing in favor of the PR (#45).

from elixir-uuid.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.