~miikka

Finland

https://miikka.me/

Dealing with abstract.

Trackers

~miikka/clj-branca

Last active 13 days ago

~miikka/clj-base62

Last active 24 days ago

#2 Allow Inst values as :now 13 days ago

Ticket created by ~miikka on ~miikka/clj-branca

encode and decode optionally take the current time as an option :now. At the moment, the value has to be an integer that represents seconds since the Unix epoch.

It should be extended to allow values that satisfy the Inst protocol. We can then call inst-ms on the value to convert it into seconds.

The change involves

  • Adding Inst handling to get-now
  • Updating the docstrings for encode and decode
  • Adding unit tests with Inst now

#1 Fix cljdoc analysis 13 days ago

Comment by ~miikka on ~miikka/clj-branca

REPORTED RESOLVED FIXED

#1 Fix cljdoc analysis 13 days ago

Ticket created by ~miikka on ~miikka/clj-branca

cljdoc analysis is failing because it can't find byte-streams. I believe this is because the published jar lacks the pom file, so cljdoc does not know about clj-branca's dependencies.

#2 Release to Clojars 24 days ago

Comment by ~miikka on ~miikka/clj-base62

REPORTED RESOLVED FIXED

#1 Slow performance 24 days ago

on ~miikka/clj-base62

REPORTED RESOLVED WONT_FIX

#1 Slow performance a month ago

Comment by ~miikka on ~miikka/clj-base62

Now I've realized that the O(n) performance is (likely) not possible. Base62 encoding is essentially radix conversion from base 256 to base 62 and based on quick search, the best known bound is O(M(n) log n) where M is the bound for multiplication of two n-bit integers. Still, it would be good to do a small benchmark to check the performance against the other implementations.

(Base64 is a special case since 256 is a multiple of 64.)

#2 Release to Clojars a month ago

Ticket created by ~miikka on ~miikka/clj-base62

I want the library to be released on Clojars. This require either setting up something that works with deps.edn - possibly deps-deploy - or migrating to Leiningen.

#1 Slow performance a month ago

Ticket created by ~miikka on ~miikka/clj-base62

The current implementation is fast enough for short message, but becomes very slow for anything over 10 kB. It seems that the asymptotic performance is worse than O(n).