Quantcast

[ANN] euuid 1.0.0 - an erlang UUID implementation

classic Classic list List threaded Threaded
11 messages Options
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

[ANN] euuid 1.0.0 - an erlang UUID implementation

Martijn Rijkeboer
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
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: [ANN] euuid 1.0.0 - an erlang UUID implementation

Michael Truog
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
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: [ANN] euuid 1.0.0 - an erlang UUID implementation

Olivier Girondel
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
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: [ANN] euuid 1.0.0 - an erlang UUID implementation

Garrett Smith-5
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
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: [ANN] euuid 1.0.0 - an erlang UUID implementation

Juan Jose Comellas-3
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:
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


_______________________________________________
erlang-questions mailing list
[hidden email]
http://erlang.org/mailman/listinfo/erlang-questions
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: [ANN] euuid 1.0.0 - an erlang UUID implementation

halcasteel
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?
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

[ANN] euuid 1.0.0 - an erlang UUID implementation

Zabrane Mickael-2
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>

Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

[ANN] euuid 1.0.0 - an erlang UUID implementation

Olivier Girondel-3
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


Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

[ANN] euuid 1.0.0 - an erlang UUID implementation

Hal Casteel
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


Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

[ANN] euuid 1.0.0 - an erlang UUID implementation

Olivier Girondel-3
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


Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

[ANN] euuid 1.0.0 - an erlang UUID implementation

Hal Casteel
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


Loading...