diff --git a/DESCRIPTION b/DESCRIPTION index c1f90db..eea6eb8 100644 --- a/DESCRIPTION +++ b/DESCRIPTION @@ -1,6 +1,6 @@ Package: ulid Type: Package -Title: Generate Universally Unique Lexicographically Sortable Identifier +Title: Generate Universally Unique Lexicographically Sortable Identifiers Version: 0.3.0 Date: 2019-07-04 Authors@R: c( person("Bob", "Rudis", email = "bob@rud.is", role = @@ -17,7 +17,7 @@ Description: Universally unique identifiers ('UUIDs') can be suboptimal fragmentation in many data structures; v4 provides no other information than randomness which can cause fragmentation in many data structures. 'ULIDs' () have - 128-bit compatibility with 'UUID', 1.21e+24 unique ULIDs per + 128-bit compatibility with 'UUID', 1.21e+24 unique 'ULIDs' per millisecond, are lexicographically sortable, canonically encoded as a 26 character string, as opposed to the 36 character 'UUID', use Crockford's 'base32' for better efficiency and readability (5 diff --git a/R/ulid-package.R b/R/ulid-package.R index 9697cda..b7dc3af 100644 --- a/R/ulid-package.R +++ b/R/ulid-package.R @@ -1,4 +1,4 @@ -#' Generate Universally Unique Lexicographically Sortable Identifier +#' Generate Universally Unique Lexicographically Sortable Identifiers #' #' (grifted from ) #' diff --git a/README.Rmd b/README.Rmd index 7b82aff..bc0bef1 100644 --- a/README.Rmd +++ b/README.Rmd @@ -9,7 +9,7 @@ output: rmarkdown::github_document # ulid -Universally Unique Lexicographically Sortable Identifier +Universally Unique Lexicographically Sortable Identifiers ## Description diff --git a/README.md b/README.md index 9ec7384..e7bfafb 100644 --- a/README.md +++ b/README.md @@ -9,7 +9,7 @@ Status](https://codecov.io/gh/hrbrmstr/ulid/branch/master/graph/badge.svg)](http # ulid -Universally Unique Lexicographically Sortable Identifier +Universally Unique Lexicographically Sortable Identifiers ## Description @@ -111,7 +111,7 @@ packageVersion("ulid") ulid::ULIDgenerate() ``` - ## [1] "0001EHX0NG5HMT3JM7FPPX3VE4" + ## [1] "0001EHX2TS3FANDH25PE5CT843" ### Many @@ -119,11 +119,11 @@ ulid::ULIDgenerate() (u <- ulid::ULIDgenerate(20)) ``` - ## [1] "0001EHX0NGZF5WY8FPK8ZAKSZW" "0001EHX0NG8BFAJMM5WY9TANC3" "0001EHX0NGNW3339V2AC502DZT" "0001EHX0NGJDXCHBH9H6FRT2Z2" - ## [5] "0001EHX0NGVEBX1HWE0YJDTHQF" "0001EHX0NG6XQBHZ6W8WEDB327" "0001EHX0NGPKVDNQRD11MEZB0A" "0001EHX0NGKYPGCBZ4254AW24R" - ## [9] "0001EHX0NGRCVC3AD2HMCDS0SK" "0001EHX0NGDWNZV19PFS0NKFS0" "0001EHX0NGKYV3BSBJF55DDSZ1" "0001EHX0NG7C16T3C373PD72K6" - ## [13] "0001EHX0NG915080RV94QRNMJG" "0001EHX0NGFTD707BDMVJR7HQE" "0001EHX0NGYVAG9SVHVDGCZMWC" "0001EHX0NGYCDAPTJSCGAF0DQ8" - ## [17] "0001EHX0NGG8MTT1RVSCP20VCG" "0001EHX0NGQBM57RVGW82WN2JA" "0001EHX0NGBKRM0DNC66RAMWT9" "0001EHX0NGA30VQ2FKTC2VBZFH" + ## [1] "0001EHX2TSMATE28BM0P9P4ZT7" "0001EHX2TSQ07QG90YYBCCGVRH" "0001EHX2TS3QJ5X4JA9WVDZCTM" "0001EHX2TSJRXPB6F8C8FQRCVN" + ## [5] "0001EHX2TSKPY54201E740DZGP" "0001EHX2TSNERDHBA5WW6JVHV7" "0001EHX2TS8PSY34CSC9J0FRBZ" "0001EHX2TS20FZ80A0H1JXH2HJ" + ## [9] "0001EHX2TSVM253MAWW6GY2VS7" "0001EHX2TSCR0AWQKH6NNXSYAM" "0001EHX2TSWAZDQ9E87PBEG4AG" "0001EHX2TS6WHF11YM851XMWXC" + ## [13] "0001EHX2TSS52C9F7RG4BH39ME" "0001EHX2TSEPB58N4M551QFGCS" "0001EHX2TSZC15E2F729MS59AB" "0001EHX2TST95FS48CAFBYVG8S" + ## [17] "0001EHX2TSQQ9QYG7YMY5VDXBC" "0001EHX2TSKBET2J6ZQ7YGJ3FT" "0001EHX2TSJW2JNK61RQ8JSSNA" "0001EHX2TSV4CV21CTVNAAQE4V" ### Unmarshal @@ -132,26 +132,26 @@ unmarshal(u) ``` ## ts rnd - ## 1 2019-07-04 18:50:24 ZF5WY8FPK8ZAKSZW - ## 2 2019-07-04 18:50:24 8BFAJMM5WY9TANC3 - ## 3 2019-07-04 18:50:24 NW3339V2AC502DZT - ## 4 2019-07-04 18:50:24 JDXCHBH9H6FRT2Z2 - ## 5 2019-07-04 18:50:24 VEBX1HWE0YJDTHQF - ## 6 2019-07-04 18:50:24 6XQBHZ6W8WEDB327 - ## 7 2019-07-04 18:50:24 PKVDNQRD11MEZB0A - ## 8 2019-07-04 18:50:24 KYPGCBZ4254AW24R - ## 9 2019-07-04 18:50:24 RCVC3AD2HMCDS0SK - ## 10 2019-07-04 18:50:24 DWNZV19PFS0NKFS0 - ## 11 2019-07-04 18:50:24 KYV3BSBJF55DDSZ1 - ## 12 2019-07-04 18:50:24 7C16T3C373PD72K6 - ## 13 2019-07-04 18:50:24 915080RV94QRNMJG - ## 14 2019-07-04 18:50:24 FTD707BDMVJR7HQE - ## 15 2019-07-04 18:50:24 YVAG9SVHVDGCZMWC - ## 16 2019-07-04 18:50:24 YCDAPTJSCGAF0DQ8 - ## 17 2019-07-04 18:50:24 G8MTT1RVSCP20VCG - ## 18 2019-07-04 18:50:24 QBM57RVGW82WN2JA - ## 19 2019-07-04 18:50:24 BKRM0DNC66RAMWT9 - ## 20 2019-07-04 18:50:24 A30VQ2FKTC2VBZFH + ## 1 2019-07-04 19:27:21 MATE28BM0P9P4ZT7 + ## 2 2019-07-04 19:27:21 Q07QG90YYBCCGVRH + ## 3 2019-07-04 19:27:21 3QJ5X4JA9WVDZCTM + ## 4 2019-07-04 19:27:21 JRXPB6F8C8FQRCVN + ## 5 2019-07-04 19:27:21 KPY54201E740DZGP + ## 6 2019-07-04 19:27:21 NERDHBA5WW6JVHV7 + ## 7 2019-07-04 19:27:21 8PSY34CSC9J0FRBZ + ## 8 2019-07-04 19:27:21 20FZ80A0H1JXH2HJ + ## 9 2019-07-04 19:27:21 VM253MAWW6GY2VS7 + ## 10 2019-07-04 19:27:21 CR0AWQKH6NNXSYAM + ## 11 2019-07-04 19:27:21 WAZDQ9E87PBEG4AG + ## 12 2019-07-04 19:27:21 6WHF11YM851XMWXC + ## 13 2019-07-04 19:27:21 S52C9F7RG4BH39ME + ## 14 2019-07-04 19:27:21 EPB58N4M551QFGCS + ## 15 2019-07-04 19:27:21 ZC15E2F729MS59AB + ## 16 2019-07-04 19:27:21 T95FS48CAFBYVG8S + ## 17 2019-07-04 19:27:21 QQ9QYG7YMY5VDXBC + ## 18 2019-07-04 19:27:21 KBET2J6ZQ7YGJ3FT + ## 19 2019-07-04 19:27:21 JW2JNK61RQ8JSSNA + ## 20 2019-07-04 19:27:21 V4CV21CTVNAAQE4V ### Use defined timestamps @@ -159,14 +159,14 @@ unmarshal(u) (ut <- ts_generate(as.POSIXct("2017-11-01 15:00:00", origin="1970-01-01"))) ``` - ## [1] "0001CZM6DG02A5QRDFBXV6W9CN" + ## [1] "0001CZM6DGX836E94E630NTNNB" ``` r unmarshal(ut) ``` ## ts rnd - ## 1 2017-11-01 15:00:00 02A5QRDFBXV6W9CN + ## 1 2017-11-01 15:00:00 X836E94E630NTNNB ## Package Code Metrics diff --git a/man/ulid.Rd b/man/ulid.Rd index 4124744..2e283e5 100644 --- a/man/ulid.Rd +++ b/man/ulid.Rd @@ -4,7 +4,7 @@ \name{ulid} \alias{ulid} \alias{ulid-package} -\title{Generate Universally Unique Lexicographically Sortable Identifier} +\title{Generate Universally Unique Lexicographically Sortable Identifiers} \description{ (grifted from \url{https://github.com/ulid/spec}) } diff --git a/vignettes/intro-to-ulid.Rmd b/vignettes/intro-to-ulid.Rmd index 121b782..9529768 100644 --- a/vignettes/intro-to-ulid.Rmd +++ b/vignettes/intro-to-ulid.Rmd @@ -14,7 +14,7 @@ knitr::opts_chunk$set( ) ``` -## UUID : Universally Unique Lexicographically Sortable Identifier +## UUID : Universally Unique Lexicographically Sortable Identifiers UUID can be suboptimal for many uses-cases because: