Hello,
As an exercise for learning Erlang I wrote an Universally Unique IDentifier (UUID) implementation as defined in RFC 4122. This module implements the UUID versions 1, 3, 4 and 5. It also implements a custom time based UUID that is based on version 1 but has a different layout to allow easy sorting on the creation date. This module is available as open-source under the MIT licence for anyone to use. You can take a look at the code on my github repository: - https://github.com/mrijkeboer/euuid Since this is my first Erlang program please let me know what you think. I'm open to suggestions and enhancements. Best regards, Martijn Rijkeboer _______________________________________________ erlang-questions mailing list [hidden email] http://erlang.org/mailman/listinfo/erlang-questions |
There is simpler/faster code that serves the same purpose (rfc uuids, versions 1,3,4,5) under a similar license (BSD) here:
https://github.com/okeuday/uuid Getting the real MAC address is possible in Erlang, though undocumented. I include the Erlang pid integers within the node id for version 1 UUIDs and keep the version 1 state cacheable for quicker usage. On 08/01/2011 11:37 AM, Martijn Rijkeboer wrote: > Hello, > > As an exercise for learning Erlang I wrote an Universally Unique > IDentifier (UUID) implementation as defined in RFC 4122. This module > implements the UUID versions 1, 3, 4 and 5. It also implements a custom > time based UUID that is based on version 1 but has a different layout to > allow easy sorting on the creation date. This module is available as > open-source under the MIT licence for anyone to use. > > You can take a look at the code on my github repository: > - https://github.com/mrijkeboer/euuid > > Since this is my first Erlang program please let me know what you think. > I'm open to suggestions and enhancements. > > Best regards, > > > Martijn Rijkeboer > > > > _______________________________________________ > erlang-questions mailing list > [hidden email] > http://erlang.org/mailman/listinfo/erlang-questions > _______________________________________________ erlang-questions mailing list [hidden email] http://erlang.org/mailman/listinfo/erlang-questions |
In reply to this post by Martijn Rijkeboer
On Mon, Aug 1, 2011 at 8:37 PM, Martijn Rijkeboer <[hidden email]> wrote:
> Hello, > > As an exercise for learning Erlang I wrote an Universally Unique > IDentifier (UUID) implementation as defined in RFC 4122. This module > implements the UUID versions 1, 3, 4 and 5. It also implements a custom > time based UUID that is based on version 1 but has a different layout to > allow easy sorting on the creation date. This module is available as > open-source under the MIT licence for anyone to use. > > You can take a look at the code on my github repository: > - https://github.com/mrijkeboer/euuid > > Since this is my first Erlang program please let me know what you think. > I'm open to suggestions and enhancements. Hello Martijn, Well, UUIDs seem to be: 1. A good exercise 2. Implemented over and over again (I'll just quote mine, but a good way to check your code would be to have a look on older implementations) 3. A good candidate for inclusion somewhere in a library upstream :) My (own and old) 2 cents http://erlang.biniou.org/erluuid/ Best regards, -- Olivier / http://biniou.net _______________________________________________ erlang-questions mailing list [hidden email] http://erlang.org/mailman/listinfo/erlang-questions |
On Mon, Aug 1, 2011 at 7:09 PM, Olivier Girondel
<[hidden email]> wrote: > On Mon, Aug 1, 2011 at 8:37 PM, Martijn Rijkeboer <[hidden email]> wrote: >> Hello, >> >> As an exercise for learning Erlang I wrote an Universally Unique >> IDentifier (UUID) implementation as defined in RFC 4122. > Well, UUIDs seem to be: > > 1. A good exercise > 2. Implemented over and over again (I'll just quote mine, but a good way to > check your code would be to have a look on older implementations) > 3. A good candidate for inclusion somewhere in a library upstream :) +1 I wonder, at least two to three times a week, why foobar module isn't a part of the OTP distribution. Admittedly, I'm not sure how that happens. Off the top of my head, a few things that I hate looking elsewhere for: gproc, json, bin_to_hex, uuid, urllib (URL utils ala mochiweb_util), getopt Garrett _______________________________________________ erlang-questions mailing list [hidden email] http://erlang.org/mailman/listinfo/erlang-questions |
Is there a formal procedure to submit new modules to OTP? I am the author of one implementation of getopt that some people are using and I'd like to submit it to be included in OTP. Are there any conditions that have to be met besides those of licensing and how useful it is?
Juanjo On Sun, Aug 7, 2011 at 8:41 PM, Garrett Smith <[hidden email]> wrote:
_______________________________________________ erlang-questions mailing list [hidden email] http://erlang.org/mailman/listinfo/erlang-questions |
This post has NOT been accepted by the mailing list yet.
In reply to this post by Olivier Girondel
http://erlang.biniou.org/erluuid/
This url is no longer valid. Do you still have your uuid code accessible somewhere? |
The best implementation ever:
https://github.com/okeuday/uuid Regards, Zabrane On Aug 25, 2012, at 11:13 AM, halcasteel wrote: > http://erlang.biniou.org/erluuid/ > > This url is no longer valid. > > Do you still have your uuid code accessible somewhere? > > > > -- > View this message in context: http://erlang.2086793.n4.nabble.com/ANN-euuid-1-0-0-an-erlang-UUID-implementation-tp3710485p4655143.html > Sent from the Erlang Questions mailing list archive at Nabble.com. > _______________________________________________ > erlang-questions mailing list > erlang-questions > http://erlang.org/mailman/listinfo/erlang-questions -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://erlang.org/pipermail/erlang-questions/attachments/20120825/c8f3922c/attachment.html> |
In reply to this post by halcasteel
On Sat, Aug 25, 2012 at 11:13 AM, halcasteel <hal.casteel> wrote:
> http://erlang.biniou.org/erluuid/ > > This url is no longer valid. > > Do you still have your uuid code accessible somewhere? The website was moved to biniou.net: http://erlang.biniou.net/erluuid/ Things to note: this code is *very* old, it was written as a port-driver before NIFs were added, to learn how to write drivers. It might not be perfect. Also, there has been at least 3 or 4 other implementations of UUIDs since, in other projects, which may be of better quality/completeness https://github.com/okeuday/uuid -as Zabrane mentioned- seems quite good So I just put my version back online for reference :) -- Olivier |
Thanks I will read yours as a reference.
HAL Hal Casteel Email (work related): hal.casteel Cellular: 980-475-5158 Direct Line (work): 704-413-6906 Toll-Free (work): 888-568-5991 May our thoughts be kind and clear; May our words and communication be kind and clear; May our actions and intentions be for the greater good of all human beings. May all be well with mankind. May the leaders of the earth protect in every way by keeping to the right path. May there be goodness for those who know the earth to be sacred. May all the worlds be happy. May the force be with you! On Sat, Aug 25, 2012 at 11:23 AM, Olivier Girondel <olivier.girondel> wrote: > On Sat, Aug 25, 2012 at 11:13 AM, halcasteel <hal.casteel> wrote: >> http://erlang.biniou.org/erluuid/ >> >> This url is no longer valid. >> >> Do you still have your uuid code accessible somewhere? > > The website was moved to biniou.net: http://erlang.biniou.net/erluuid/ > > Things to note: this code is *very* old, it was written as a port-driver before > NIFs were added, to learn how to write drivers. It might not be perfect. > > Also, there has been at least 3 or 4 other implementations of UUIDs since, > in other projects, which may be of better quality/completeness > > https://github.com/okeuday/uuid -as Zabrane mentioned- seems quite good > > So I just put my version back online for reference :) > > -- > Olivier |
On Sat, Aug 25, 2012 at 8:41 PM, Hal Casteel <hal.casteel> wrote:
> Thanks I will read yours as a reference. Historical reference, I meant. Mine is definitely outdated/not the best available :) -- Olivier |
Correct, thanks again.
HAL Hal Casteel Email (work related): hal.casteel Cellular: 980-475-5158 Direct Line (work): 704-413-6906 Toll-Free (work): 888-568-5991 May our thoughts be kind and clear; May our words and communication be kind and clear; May our actions and intentions be for the greater good of all human beings. May all be well with mankind. May the leaders of the earth protect in every way by keeping to the right path. May there be goodness for those who know the earth to be sacred. May all the worlds be happy. May the force be with you! On Sat, Aug 25, 2012 at 4:27 PM, Olivier Girondel <olivier.girondel> wrote: > On Sat, Aug 25, 2012 at 8:41 PM, Hal Casteel <hal.casteel> wrote: >> Thanks I will read yours as a reference. > > Historical reference, I meant. Mine is definitely outdated/not the > best available :) > > -- > Olivier |
Free forum by Nabble | Edit this page |