Re: [ANN] Understanding the Persistent Vector

2015-03-03 Thread Rostislav Svoboda
Great work! Thank you

On 28 February 2015 at 17:14, Jean Niklas L'orange
jeann...@hypirion.com wrote:
 Hello fellow Clojurians,

 I am happy to announce that I have finished my blogpost series on the
 persistent
 vector. It consists of five parts:

 The basic algorithms
 Indexing
 The tail optimisation
 Transients
 Performance (which is a summary of this detailed blogpost)

 I hope this will help you to get a good understanding of how the algorithms
 on
 the data structure work, how the optimisations work, and how efficient it is
 on
 the JVM.

 Constructive criticism, both positive and negative, is appreciated.

 Enjoy!

 (NB: I haven't gotten around to fix the illustrations in part 3, so
 unfortunately it will be a bit hard to read if you print it out in
 grayscale.
 It's on my todo-list.)

 -- Jean Niklas L'orange

 --
 You received this message because you are subscribed to the Google
 Groups Clojure group.
 To post to this group, send email to clojure@googlegroups.com
 Note that posts from new members are moderated - please be patient with your
 first post.
 To unsubscribe from this group, send email to
 clojure+unsubscr...@googlegroups.com
 For more options, visit this group at
 http://groups.google.com/group/clojure?hl=en
 ---
 You received this message because you are subscribed to the Google Groups
 Clojure group.
 To unsubscribe from this group and stop receiving emails from it, send an
 email to clojure+unsubscr...@googlegroups.com.
 For more options, visit https://groups.google.com/d/optout.

-- 
You received this message because you are subscribed to the Google
Groups Clojure group.
To post to this group, send email to clojure@googlegroups.com
Note that posts from new members are moderated - please be patient with your 
first post.
To unsubscribe from this group, send email to
clojure+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en
--- 
You received this message because you are subscribed to the Google Groups 
Clojure group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to clojure+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


Re: [ANN] Understanding the Persistent Vector

2015-03-03 Thread Rostislav Svoboda
Hi Jean

 The tail optimisation
 http://hypirion.com/musings/understanding-clojure-transients

It took me a second to find out how the graphs for the vector-trie and
tail correspond to each other.
Please consider slightly deeper explanation or add some visual clues.
Something like:
http://picpaste.com/pics/tails-colored.1425379672.png

-- 
You received this message because you are subscribed to the Google
Groups Clojure group.
To post to this group, send email to clojure@googlegroups.com
Note that posts from new members are moderated - please be patient with your 
first post.
To unsubscribe from this group, send email to
clojure+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en
--- 
You received this message because you are subscribed to the Google Groups 
Clojure group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to clojure+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


GSOC 2015 Introduction

2015-03-03 Thread Jason Murphy
Greetings,

I'm a post-graduate student in Computer Science currently doing research in 
Spatial/Amorphous Computing. I've been a lurker on this forum for quite 
sometime and I believe my Clojure(Script) knowledge is at an intermediate 
level at best (though no apps under my belt as yet). 

I'd like to contribute to ClojureScript for GSOC 2015. In particular I'm 
interested in the ClojureScript  Google Closure 
http://dev.clojure.org/display/community/Project+Ideas#ProjectIdeas-ClojureScriptGoogleClosure
 and 
the tools.reader.cljs 
http://dev.clojure.org/display/community/Project+Ideas#ProjectIdeas-toolsreadercljs
 projects. 
I recognize that the organisations haven't been confirmed as yet, however, 
should Clojure not get accepted (though i don't see why not) I'd still like 
to know how i could help.

---
Thanks,
Jason Murphy

My Github account if needed:  https://github.com/jsonmurphy

-- 
You received this message because you are subscribed to the Google
Groups Clojure group.
To post to this group, send email to clojure@googlegroups.com
Note that posts from new members are moderated - please be patient with your 
first post.
To unsubscribe from this group, send email to
clojure+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en
--- 
You received this message because you are subscribed to the Google Groups 
Clojure group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to clojure+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


Re: clj-uuid: time-based uuid now 350% faster than java.util.UUID/randomUUID

2015-03-03 Thread Jacob Strength
That is pretty amazing, I'll have to remember this library next time I need 
to use UUID's.
Also I think you meant 450% faster.

On Sunday, March 1, 2015 at 5:35:16 PM UTC-7, danl...@gmail.com wrote:

 Ok, for anyone following my adventures optimizing clj-uuid, I've gotten 
 another substantial win.   
 Check it out:http://danlentz.github.io/clj-uuid

 #'uuid/v1:443 nanoseconds
 #'java.util.UUID/randomUUID: 2012 nanoseconds

 Also, the test suite has much greater coverage with individual tests for 
 each v1, v,3, v4, v5 uuid version.
 And, finally, there more interesting notes about some of the esoteric 
 details of the node-id representation
 and the way it is calculated to disambiguate it from any legal 802 MAC 
 hardware address.  And more ;)


 ==

 user (criterium/bench (uuid/v1))

 Evaluation count: 139356300 in 60 samples of 2322605 calls.
 Execution time mean: 443.707611 ns


 user (criterium/bench (java.util.UUID/randomUUID))

 Evaluation count : 30850980 in 60 samples of 514183 calls.
 Execution time mean : 2.012861 µs




-- 
You received this message because you are subscribed to the Google
Groups Clojure group.
To post to this group, send email to clojure@googlegroups.com
Note that posts from new members are moderated - please be patient with your 
first post.
To unsubscribe from this group, send email to
clojure+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en
--- 
You received this message because you are subscribed to the Google Groups 
Clojure group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to clojure+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


Re: Who's using Clojure?

2015-03-03 Thread Dan Hammer
We used Clojure and Cascalog to generate the monthly deforestation alerts 
from satellite imagery for Global Forest Watch 
http://globalforestwatch.org.  This is the real-time component of the 
project.

On Tuesday, April 19, 2011 at 10:38:14 AM UTC-4, Damien wrote:

 Hi Everyone,

 I'm on a mission: introducing Clojure in my company, which is a big 
 consulting company like many others.

 I started talking about Clojure to my manager yesterday.
 I was prepared to talk about all the technical benefits and he was 
 interested.
 I still have a long way to go but I think that was a good start.

 However I need to figure out how to answer to one of his questions: who is 
 using Clojure?

 Obviously I know each of you is using Clojure, that makes almost 5,000 
 people.
 I know there is Relevance and Clojure/core.
 I read about BackType or FlightCaster using Clojure.

 But, let's face it, that doesn't give me a killer answer.

 What could help is a list of success stories, a bit like MongoDB published 
 here:
 http://www.mongodb.org/display/DOCS/Production+Deployments

 Is there a place where I could find this kind of information for Clojure?

 Thanks

 -- 
 Damien Lepage
 http://damienlepage.com



-- 
You received this message because you are subscribed to the Google
Groups Clojure group.
To post to this group, send email to clojure@googlegroups.com
Note that posts from new members are moderated - please be patient with your 
first post.
To unsubscribe from this group, send email to
clojure+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en
--- 
You received this message because you are subscribed to the Google Groups 
Clojure group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to clojure+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


partition-when

2015-03-03 Thread 'Frank' via Clojure
Hi all,

for some tests I need a function which starts a new partition each time a 
predicate returns true, for instance:

(partition-when
  (fn [s] (.startsWith s ))
  [ 1 2 3  4 5 6])
:= [[ 1 2 3] [ 4 5 6]]

Since I haven't found a built-in function, I copied, pasted, and modified 
the core function partition-by:

(defn partition-when
  [f coll]
  (lazy-seq
   (when-let [s (seq coll)]
 (let [fst (first s)
   run (cons fst (take-while #(not (f %)) (next s)))]
   (cons run (partition-when f (seq (drop (count run) s

Is there a better (more idiomatic) way to achieve the same result?

Thank you in advance.

Frank

-- 
You received this message because you are subscribed to the Google
Groups Clojure group.
To post to this group, send email to clojure@googlegroups.com
Note that posts from new members are moderated - please be patient with your 
first post.
To unsubscribe from this group, send email to
clojure+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en
--- 
You received this message because you are subscribed to the Google Groups 
Clojure group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to clojure+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


Re: clj-uuid: time-based uuid now 350% faster than java.util.UUID/randomUUID

2015-03-03 Thread danle...@gmail.com
PS.  We are now TEN TIMES faster, so it is a lot easier to compute that 
percentage:

#'uuid/v1:201 nanoseconds
#'java.util.UUID/randomUUID: 2012 nanoseconds


Best,
Dan


On Tuesday, March 3, 2015 at 3:06:35 PM UTC-5, danl...@gmail.com wrote:

 I invoked engineer's privilege to quote the number very conservatively. 
  In one of the later episodes, didn't Scotty confide that the Enterprise 
 actually went up to warp 11, he just never told anyone? :)

 Actually, you are right -- I noticed it after I hit send.  As you can 
 tell, the relative performance number has been a little bit of a moving 
 target as things improved quickly and I grabbed the number from a little 
 too far back in the REPL. 

 Thanks Jacob.  I really do hope this is a library that people will find 
 modestly useful.



 On Tuesday, March 3, 2015 at 2:45:38 PM UTC-5, Jacob Strength wrote:

 That is pretty amazing, I'll have to remember this library next time I 
 need to use UUID's.
 Also I think you meant 450% faster.

 On Sunday, March 1, 2015 at 5:35:16 PM UTC-7, danl...@gmail.com wrote:

 Ok, for anyone following my adventures optimizing clj-uuid, I've gotten 
 another substantial win.   
 Check it out:http://danlentz.github.io/clj-uuid

 #'uuid/v1:443 nanoseconds
 #'java.util.UUID/randomUUID: 2012 nanoseconds

 Also, the test suite has much greater coverage with individual tests for 
 each v1, v,3, v4, v5 uuid version.
 And, finally, there more interesting notes about some of the esoteric 
 details of the node-id representation
 and the way it is calculated to disambiguate it from any legal 802 MAC 
 hardware address.  And more ;)


 ==

 user (criterium/bench (uuid/v1))

 Evaluation count: 139356300 in 60 samples of 2322605 calls.
 Execution time mean: 443.707611 ns


 user (criterium/bench (java.util.UUID/randomUUID))

 Evaluation count : 30850980 in 60 samples of 514183 calls.
 Execution time mean : 2.012861 µs




-- 
You received this message because you are subscribed to the Google
Groups Clojure group.
To post to this group, send email to clojure@googlegroups.com
Note that posts from new members are moderated - please be patient with your 
first post.
To unsubscribe from this group, send email to
clojure+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en
--- 
You received this message because you are subscribed to the Google Groups 
Clojure group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to clojure+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


Re: :reload does not always work correctly in leiningen

2015-03-03 Thread Akiva Schoen
I normally use a set utility functions to reload individual namespaces so I
don't lose state. This almost always suffices for day-to-day work. But, if
the REPL is still acting shady, then I'll use refresh. Anything is better
than having to wait out a REPL reboot.

On Sat, Feb 28, 2015 at 10:43 AM James Reeves ja...@booleanknot.com wrote:

 The :reload directive re-evaluated the namespace, but does not remove any
 existing definitions, or reload any dependent namespaces. This may be the
 cause of your strange results.

 The tools.namespace library https://github.com/clojure/tools.namespace 
 contains
 a refresh function that will clear and reload your namespaces from
 scratch. This doesn't take into account things like background threads, but
 is generally more reliable that the :reload directive when working in a
 REPL.

 - James


 On 28 February 2015 at 14:25, Cecil Westerhof cldwester...@gmail.com
 wrote:

 I discovered:
 (require 'project.core :reload)

 Very handy indeed and a big time saver. But it does not always work
 correctly. At a certain moment I got strange results. An exit and a new
 'lein repl' solved the problems.

 --
 Cecil Westerhof

 --
 You received this message because you are subscribed to the Google
 Groups Clojure group.
 To post to this group, send email to clojure@googlegroups.com
 Note that posts from new members are moderated - please be patient with
 your first post.
 To unsubscribe from this group, send email to
 clojure+unsubscr...@googlegroups.com
 For more options, visit this group at
 http://groups.google.com/group/clojure?hl=en
 ---
 You received this message because you are subscribed to the Google Groups
 Clojure group.
 To unsubscribe from this group and stop receiving emails from it, send an
 email to clojure+unsubscr...@googlegroups.com.
 For more options, visit https://groups.google.com/d/optout.


  --
 You received this message because you are subscribed to the Google
 Groups Clojure group.
 To post to this group, send email to clojure@googlegroups.com
 Note that posts from new members are moderated - please be patient with
 your first post.
 To unsubscribe from this group, send email to
 clojure+unsubscr...@googlegroups.com
 For more options, visit this group at
 http://groups.google.com/group/clojure?hl=en
 ---
 You received this message because you are subscribed to the Google Groups
 Clojure group.
 To unsubscribe from this group and stop receiving emails from it, send an
 email to clojure+unsubscr...@googlegroups.com.
 For more options, visit https://groups.google.com/d/optout.


-- 
You received this message because you are subscribed to the Google
Groups Clojure group.
To post to this group, send email to clojure@googlegroups.com
Note that posts from new members are moderated - please be patient with your 
first post.
To unsubscribe from this group, send email to
clojure+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en
--- 
You received this message because you are subscribed to the Google Groups 
Clojure group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to clojure+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


ANN: [com.stuartsierra/component 0.2.3]

2015-03-03 Thread Stuart Sierra
A tiny update to my Component library.

https://github.com/stuartsierra/component

Leiningen:  [com.stuartsierra/component 0.2.3]

Changes in this release:

* More-specific error message when a component returns nil from start or 
stop

-- 
You received this message because you are subscribed to the Google
Groups Clojure group.
To post to this group, send email to clojure@googlegroups.com
Note that posts from new members are moderated - please be patient with your 
first post.
To unsubscribe from this group, send email to
clojure+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en
--- 
You received this message because you are subscribed to the Google Groups 
Clojure group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to clojure+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


Re: clj-uuid: time-based uuid now 350% faster than java.util.UUID/randomUUID

2015-03-03 Thread Lucas Bradstreet
Hi,

Nice work!

I wanted to clarify something: it seems to me that the v1 uuids clj-uuid 
generate are not exactly equivalent or comparable to the uuids generated by 
java.util/randomUUID? It appears that V1 uuids are time (and MAC) based and 
don't use a cryptographic random number generator, so the use cases are 
different and the speed difference seems like more of a trade off. 

If I'm completely off base then please just say so. 

Thanks for the good work. Even with the above limitations I can see myself 
using the faster version in the future. 

Lucas

 On 2 Mar 2015, at 14:52, Jacob Strength mypci...@gmail.com wrote:
 
 That is pretty amazing, I'll have to remember this library next time I need 
 to use UUID's.
 Also I think you meant 450% faster.
 
 On Sunday, March 1, 2015 at 5:35:16 PM UTC-7, danl...@gmail.com wrote:
 Ok, for anyone following my adventures optimizing clj-uuid, I've gotten 
 another substantial win.   
 Check it out:http://danlentz.github.io/clj-uuid
 
 #'uuid/v1:443 nanoseconds
 #'java.util.UUID/randomUUID: 2012 nanoseconds
 
 Also, the test suite has much greater coverage with individual tests for 
 each v1, v,3, v4, v5 uuid version.
 And, finally, there more interesting notes about some of the esoteric 
 details of the node-id representation
 and the way it is calculated to disambiguate it from any legal 802 MAC 
 hardware address.  And more ;)
 
 
 ==
 
 user (criterium/bench (uuid/v1))
 
 Evaluation count: 139356300 in 60 samples of 2322605 calls.
 Execution time mean: 443.707611 ns
 
 
 user (criterium/bench (java.util.UUID/randomUUID))
 
 Evaluation count : 30850980 in 60 samples of 514183 calls.
 Execution time mean : 2.012861 µs
 
 -- 
 You received this message because you are subscribed to the Google
 Groups Clojure group.
 To post to this group, send email to clojure@googlegroups.com
 Note that posts from new members are moderated - please be patient with your 
 first post.
 To unsubscribe from this group, send email to
 clojure+unsubscr...@googlegroups.com
 For more options, visit this group at
 http://groups.google.com/group/clojure?hl=en
 --- 
 You received this message because you are subscribed to the Google Groups 
 Clojure group.
 To unsubscribe from this group and stop receiving emails from it, send an 
 email to clojure+unsubscr...@googlegroups.com.
 For more options, visit https://groups.google.com/d/optout.

-- 
You received this message because you are subscribed to the Google
Groups Clojure group.
To post to this group, send email to clojure@googlegroups.com
Note that posts from new members are moderated - please be patient with your 
first post.
To unsubscribe from this group, send email to
clojure+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en
--- 
You received this message because you are subscribed to the Google Groups 
Clojure group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to clojure+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


Re: clj-uuid: time-based uuid now 350% faster than java.util.UUID/randomUUID

2015-03-03 Thread danle...@gmail.com
I invoked engineer's privilege to quote the number very conservatively. 
 In one of the later episodes, didn't Scotty confide that the Enterprise 
actually went up to warp 11, he just never told anyone? :)

Actually, you are right -- I noticed it after I hit send.  As you can 
tell, the relative performance number has been a little bit of a moving 
target as things improved quickly and I grabbed the number from a little 
too far back in the REPL. 

Thanks Jacob.  I really do hope this is a library that people will find 
modestly useful.



On Tuesday, March 3, 2015 at 2:45:38 PM UTC-5, Jacob Strength wrote:

 That is pretty amazing, I'll have to remember this library next time I 
 need to use UUID's.
 Also I think you meant 450% faster.

 On Sunday, March 1, 2015 at 5:35:16 PM UTC-7, danl...@gmail.com wrote:

 Ok, for anyone following my adventures optimizing clj-uuid, I've gotten 
 another substantial win.   
 Check it out:http://danlentz.github.io/clj-uuid

 #'uuid/v1:443 nanoseconds
 #'java.util.UUID/randomUUID: 2012 nanoseconds

 Also, the test suite has much greater coverage with individual tests for 
 each v1, v,3, v4, v5 uuid version.
 And, finally, there more interesting notes about some of the esoteric 
 details of the node-id representation
 and the way it is calculated to disambiguate it from any legal 802 MAC 
 hardware address.  And more ;)


 ==

 user (criterium/bench (uuid/v1))

 Evaluation count: 139356300 in 60 samples of 2322605 calls.
 Execution time mean: 443.707611 ns


 user (criterium/bench (java.util.UUID/randomUUID))

 Evaluation count : 30850980 in 60 samples of 514183 calls.
 Execution time mean : 2.012861 µs




-- 
You received this message because you are subscribed to the Google
Groups Clojure group.
To post to this group, send email to clojure@googlegroups.com
Note that posts from new members are moderated - please be patient with your 
first post.
To unsubscribe from this group, send email to
clojure+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en
--- 
You received this message because you are subscribed to the Google Groups 
Clojure group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to clojure+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


Re: Who's using Clojure?

2015-03-03 Thread Hildeberto Mendonça
Watch this video from Neal Ford ;-) http://youtu.be/2WLgzCkhN2g

I Think it will help.

On Fri, Feb 27, 2015 at 7:38 PM, Dan Hammer dan.s.ham...@gmail.com wrote:

 We used Clojure and Cascalog to generate the monthly deforestation alerts
 from satellite imagery for Global Forest Watch
 http://globalforestwatch.org.  This is the real-time component of the
 project.

 On Tuesday, April 19, 2011 at 10:38:14 AM UTC-4, Damien wrote:

 Hi Everyone,

 I'm on a mission: introducing Clojure in my company, which is a big
 consulting company like many others.

 I started talking about Clojure to my manager yesterday.
 I was prepared to talk about all the technical benefits and he was
 interested.
 I still have a long way to go but I think that was a good start.

 However I need to figure out how to answer to one of his questions: who
 is using Clojure?

 Obviously I know each of you is using Clojure, that makes almost 5,000
 people.
 I know there is Relevance and Clojure/core.
 I read about BackType or FlightCaster using Clojure.

 But, let's face it, that doesn't give me a killer answer.

 What could help is a list of success stories, a bit like MongoDB
 published here:
 http://www.mongodb.org/display/DOCS/Production+Deployments

 Is there a place where I could find this kind of information for Clojure?

 Thanks

 --
 Damien Lepage
 http://damienlepage.com

  --
 You received this message because you are subscribed to the Google
 Groups Clojure group.
 To post to this group, send email to clojure@googlegroups.com
 Note that posts from new members are moderated - please be patient with
 your first post.
 To unsubscribe from this group, send email to
 clojure+unsubscr...@googlegroups.com
 For more options, visit this group at
 http://groups.google.com/group/clojure?hl=en
 ---
 You received this message because you are subscribed to the Google Groups
 Clojure group.
 To unsubscribe from this group and stop receiving emails from it, send an
 email to clojure+unsubscr...@googlegroups.com.
 For more options, visit https://groups.google.com/d/optout.




-- 
Hildeberto Mendonça, Ph.D
Blog: http://www.hildeberto.com
Community: http://www.cejug.net
Twitter: https://twitter.com/htmfilho

-- 
You received this message because you are subscribed to the Google
Groups Clojure group.
To post to this group, send email to clojure@googlegroups.com
Note that posts from new members are moderated - please be patient with your 
first post.
To unsubscribe from this group, send email to
clojure+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en
--- 
You received this message because you are subscribed to the Google Groups 
Clojure group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to clojure+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


Re: Looking for an equivalent of reductions for reduce for -

2015-03-03 Thread Thomas Meier
Just wanted to double check. This? ((f 1)(g (f 1) (h (g (f 1

Or this? ((f 1)(g (f 1))(h (g (f 1 

-- 
You received this message because you are subscribed to the Google
Groups Clojure group.
To post to this group, send email to clojure@googlegroups.com
Note that posts from new members are moderated - please be patient with your 
first post.
To unsubscribe from this group, send email to
clojure+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en
--- 
You received this message because you are subscribed to the Google Groups 
Clojure group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to clojure+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


Re: clj-uuid: time-based uuid now 350% faster than java.util.UUID/randomUUID

2015-03-03 Thread Colin Yates
Are v1 as unique as randomUUID()?
 On 3 Mar 2015 20:08, danle...@gmail.com danle...@gmail.com wrote:

 PS.  We are now TEN TIMES faster, so it is a lot easier to compute that
 percentage:

 #'uuid/v1:201 nanoseconds
 #'java.util.UUID/randomUUID: 2012 nanoseconds


 Best,
 Dan


 On Tuesday, March 3, 2015 at 3:06:35 PM UTC-5, danl...@gmail.com wrote:

 I invoked engineer's privilege to quote the number very
 conservatively.  In one of the later episodes, didn't Scotty confide that
 the Enterprise actually went up to warp 11, he just never told anyone? :)

 Actually, you are right -- I noticed it after I hit send.  As you can
 tell, the relative performance number has been a little bit of a moving
 target as things improved quickly and I grabbed the number from a little
 too far back in the REPL.

 Thanks Jacob.  I really do hope this is a library that people will find
 modestly useful.



 On Tuesday, March 3, 2015 at 2:45:38 PM UTC-5, Jacob Strength wrote:

 That is pretty amazing, I'll have to remember this library next time I
 need to use UUID's.
 Also I think you meant 450% faster.

 On Sunday, March 1, 2015 at 5:35:16 PM UTC-7, danl...@gmail.com wrote:

 Ok, for anyone following my adventures optimizing clj-uuid, I've gotten
 another substantial win.
 Check it out:http://danlentz.github.io/clj-uuid

 #'uuid/v1:443 nanoseconds
 #'java.util.UUID/randomUUID: 2012 nanoseconds

 Also, the test suite has much greater coverage with individual tests
 for each v1, v,3, v4, v5 uuid version.
 And, finally, there more interesting notes about some of the esoteric
 details of the node-id representation
 and the way it is calculated to disambiguate it from any legal 802 MAC
 hardware address.  And more ;)


 ==

 user (criterium/bench (uuid/v1))

 Evaluation count: 139356300 in 60 samples of 2322605 calls.
 Execution time mean: 443.707611 ns


 user (criterium/bench (java.util.UUID/randomUUID))

 Evaluation count : 30850980 in 60 samples of 514183 calls.
 Execution time mean : 2.012861 µs


  --
 You received this message because you are subscribed to the Google
 Groups Clojure group.
 To post to this group, send email to clojure@googlegroups.com
 Note that posts from new members are moderated - please be patient with
 your first post.
 To unsubscribe from this group, send email to
 clojure+unsubscr...@googlegroups.com
 For more options, visit this group at
 http://groups.google.com/group/clojure?hl=en
 ---
 You received this message because you are subscribed to the Google Groups
 Clojure group.
 To unsubscribe from this group and stop receiving emails from it, send an
 email to clojure+unsubscr...@googlegroups.com.
 For more options, visit https://groups.google.com/d/optout.


-- 
You received this message because you are subscribed to the Google
Groups Clojure group.
To post to this group, send email to clojure@googlegroups.com
Note that posts from new members are moderated - please be patient with your 
first post.
To unsubscribe from this group, send email to
clojure+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en
--- 
You received this message because you are subscribed to the Google Groups 
Clojure group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to clojure+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


Any Lispers in South Devon, UK?

2015-03-03 Thread Stephen Wakely
Hi,

Are there any other Lispers in South Devon who would be interested in 
meeting up and talking code? Clojure, Common Lisp, Scheme, anything as long 
as there are loads of parentheses!

Please get in touch.


Cheers

Stephen

-- 
You received this message because you are subscribed to the Google
Groups Clojure group.
To post to this group, send email to clojure@googlegroups.com
Note that posts from new members are moderated - please be patient with your 
first post.
To unsubscribe from this group, send email to
clojure+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en
--- 
You received this message because you are subscribed to the Google Groups 
Clojure group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to clojure+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


Re: clj-uuid: time-based uuid now 350% faster than java.util.UUID/randomUUID

2015-03-03 Thread Colin Yates
Great - thanks Dan.
On 3 Mar 2015 20:27, danle...@gmail.com danle...@gmail.com wrote:

 v1 UUID's are deterministically unique across both space and time.
 Random UUID's are random.  There is an (infinitesimally small chance of a
 duplicate).   To my knowledge, the reason random uuid's exist and are part
 of the RFC is that they are bone simple to implement, whereas v1 and v3/v5
 involve all kinds of non-obvious supporting facilities such as a monotonic
 clock or message-digest algorithm.

 V1 UUID's are uniquified in three different ways: a unique 6 byte node id
 is computed (the details are interesting, but refer to the source for
 more).  It is combined with a thread-safe, concurrent monotonic timestamp
 that is guaranteed to generate always increasing values regardless of clock
 precision or degree of concurrency.  Finally, a 2-byte clock-seq value is
 randomly seeded at load-time and incorporated into the calculation.  So,
 even if the system is restarted on the exact same node with the hardware
 clock for some reason adjusted backwards and it is attempted to generate
 another UUID at the exact same millisecond as one which had been
 generated prior, there is only a 1 in 65536 chance of issuing a duplicate.

 We do not use the MAC address actually.  clj-uuid/node.clj at master ·
 danlentz/clj-uuid
 https://github.com/danlentz/clj-uuid/blob/master/src/clj_uuid/node.clj has
 more detail, but this topic is specifically addressed by the RFC.  the
 following excerpt describes the node address calculation:

 ;;   A better solution is to obtain a 47-bit cryptographic quality random
 ;;   number and use it as the low 47-bits of the Node-ID, with the least
 ;;   significant bit of the first octet of the Node-ID set to one.  This
 ;;   bit is the unicast/multicast bit, which will never be set in IEEE 802
 ;;   addresses obtained from network cards.  Hence, there can never be a
 ;;   conflict between UUID's generated by machines with and without network
 ;;   cards.
 ;;. . .
 ;;. . .
 ;;   In addition, items such as the computer's name and the name of the
 ;;   operating system, while not strictly speaking random, will help
 ;;   differentiate the results from those obtained by other systems...
 ;;   ... A generic approach... IS TO ACCUMULATE AS MANY SOURCES AS POSSIBLE
 ;;   INTO A BUFFER, USE A MESSAGE DIGEST SUCH AS MD5 OR SHA1, TAKE AN
 ;;   ARBITRARY 6 BYTES FROM THE HASH VALUE, AND SET THE MULTICAST BIT
 ;;   AS DESCRIBED ABOVE.
 ;;
 ;; -- [RFC4122:4.5 Node IDs that do not Identify the Host]

 If there are any good reasons why one should pay 10 times the cost to
 generate a UUID randomly, I'd like to hear them.



 On Tuesday, March 3, 2015 at 3:11:23 PM UTC-5, Colin Yates wrote:

 Are v1 as unique as randomUUID()?
  On 3 Mar 2015 20:08, danl...@gmail.com danl...@gmail.com wrote:

 PS.  We are now TEN TIMES faster, so it is a lot easier to compute that
 percentage:

 #'uuid/v1:201 nanoseconds
 #'java.util.UUID/randomUUID: 2012 nanoseconds


 Best,
 Dan


 On Tuesday, March 3, 2015 at 3:06:35 PM UTC-5, danl...@gmail.com wrote:

 I invoked engineer's privilege to quote the number very
 conservatively.  In one of the later episodes, didn't Scotty confide that
 the Enterprise actually went up to warp 11, he just never told anyone? :)

 Actually, you are right -- I noticed it after I hit send.  As you can
 tell, the relative performance number has been a little bit of a moving
 target as things improved quickly and I grabbed the number from a little
 too far back in the REPL.

 Thanks Jacob.  I really do hope this is a library that people will find
 modestly useful.



 On Tuesday, March 3, 2015 at 2:45:38 PM UTC-5, Jacob Strength wrote:

 That is pretty amazing, I'll have to remember this library next time I
 need to use UUID's.
 Also I think you meant 450% faster.

 On Sunday, March 1, 2015 at 5:35:16 PM UTC-7, danl...@gmail.com wrote:

 Ok, for anyone following my adventures optimizing clj-uuid, I've
 gotten another substantial win.
 Check it out:http://danlentz.github.io/clj-uuid

 #'uuid/v1:443 nanoseconds
 #'java.util.UUID/randomUUID: 2012 nanoseconds

 Also, the test suite has much greater coverage with individual tests
 for each v1, v,3, v4, v5 uuid version.
 And, finally, there more interesting notes about some of the esoteric
 details of the node-id representation
 and the way it is calculated to disambiguate it from any legal 802
 MAC hardware address.  And more ;)


 
 ==

 user (criterium/bench (uuid/v1))

 Evaluation count: 139356300 in 60 samples of 2322605 calls.
 Execution time mean: 443.707611 ns


 user (criterium/bench (java.util.UUID/randomUUID))

 Evaluation count : 30850980 in 60 samples of 514183 calls.
 Execution time mean : 2.012861 µs


  --
 You received this message because you are subscribed to the Google
 Groups Clojure group.
 To post to this group, 

IMPORTANT: ClojureScript Firefox Nightly ES6 Issue

2015-03-03 Thread David Nolen
If you have a ClojureScript based product and your customers use FireFox
Nightly you will encounter trouble due to a RegExp detection bug in prior
ClojureScript releases interacting with recent Firefox ES6 related changes.

Here's the ticket:
https://bugzilla.mozilla.org/show_bug.cgi?id=1138325

We've already landed a fix in master, but if this is a show-stopping
problem for you *today* I would express your concerns on the linked ticket.

Also more than happy to cut a quick ClojureScript release if that helps
people as well.

David

-- 
You received this message because you are subscribed to the Google
Groups Clojure group.
To post to this group, send email to clojure@googlegroups.com
Note that posts from new members are moderated - please be patient with your 
first post.
To unsubscribe from this group, send email to
clojure+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en
--- 
You received this message because you are subscribed to the Google Groups 
Clojure group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to clojure+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


Re: clj-uuid: time-based uuid now 350% faster than java.util.UUID/randomUUID

2015-03-03 Thread Lucas Bradstreet
I've been thinking about this for a bit and our posts just happen to be within 
a minute of each other! A hash bucket is filling up somewhere, I just know it!

 On 4 Mar 2015, at 04:13, Colin Yates colin.ya...@gmail.com wrote:
 
 Ha - the irony of you and I posting a message about uniqueness at pretty much 
 the same time :).
 
 On 3 Mar 2015 20:11, Lucas Bradstreet lucasbradstr...@gmail.com wrote:
 Hi,
 
 Nice work!
 
 I wanted to clarify something: it seems to me that the v1 uuids clj-uuid 
 generate are not exactly equivalent or comparable to the uuids generated by 
 java.util/randomUUID? It appears that V1 uuids are time (and MAC) based and 
 don't use a cryptographic random number generator, so the use cases are 
 different and the speed difference seems like more of a trade off. 
 
 If I'm completely off base then please just say so. 
 
 Thanks for the good work. Even with the above limitations I can see myself 
 using the faster version in the future. 
 
 Lucas
 
 On 2 Mar 2015, at 14:52, Jacob Strength mypci...@gmail.com wrote:
 
 That is pretty amazing, I'll have to remember this library next time I need 
 to use UUID's.
 Also I think you meant 450% faster.
 
 On Sunday, March 1, 2015 at 5:35:16 PM UTC-7, danl...@gmail.com wrote:
 Ok, for anyone following my adventures optimizing clj-uuid, I've gotten 
 another substantial win.   
 Check it out:http://danlentz.github.io/clj-uuid
 
 #'uuid/v1:443 nanoseconds
 #'java.util.UUID/randomUUID: 2012 nanoseconds
 
 Also, the test suite has much greater coverage with individual tests for 
 each v1, v,3, v4, v5 uuid version.
 And, finally, there more interesting notes about some of the esoteric 
 details of the node-id representation
 and the way it is calculated to disambiguate it from any legal 802 MAC 
 hardware address.  And more ;)
 
 
 ==
 
 user (criterium/bench (uuid/v1))
 
 Evaluation count: 139356300 in 60 samples of 2322605 calls.
 Execution time mean: 443.707611 ns
 
 
 user (criterium/bench (java.util.UUID/randomUUID))
 
 Evaluation count : 30850980 in 60 samples of 514183 calls.
 Execution time mean : 2.012861 µs
 
 
 
 -- 
 You received this message because you are subscribed to the Google
 Groups Clojure group.
 To post to this group, send email to clojure@googlegroups.com
 Note that posts from new members are moderated - please be patient with 
 your first post.
 To unsubscribe from this group, send email to
 clojure+unsubscr...@googlegroups.com
 For more options, visit this group at
 http://groups.google.com/group/clojure?hl=en
 --- 
 You received this message because you are subscribed to the Google Groups 
 Clojure group.
 To unsubscribe from this group and stop receiving emails from it, send an 
 email to clojure+unsubscr...@googlegroups.com.
 For more options, visit https://groups.google.com/d/optout.
 
 -- 
 You received this message because you are subscribed to the Google
 Groups Clojure group.
 To post to this group, send email to clojure@googlegroups.com
 Note that posts from new members are moderated - please be patient with your 
 first post.
 To unsubscribe from this group, send email to
 clojure+unsubscr...@googlegroups.com
 For more options, visit this group at
 http://groups.google.com/group/clojure?hl=en
 --- 
 You received this message because you are subscribed to the Google Groups 
 Clojure group.
 To unsubscribe from this group and stop receiving emails from it, send an 
 email to clojure+unsubscr...@googlegroups.com.
 For more options, visit https://groups.google.com/d/optout.
 
 -- 
 You received this message because you are subscribed to the Google
 Groups Clojure group.
 To post to this group, send email to clojure@googlegroups.com
 Note that posts from new members are moderated - please be patient with your 
 first post.
 To unsubscribe from this group, send email to
 clojure+unsubscr...@googlegroups.com
 For more options, visit this group at
 http://groups.google.com/group/clojure?hl=en
 --- 
 You received this message because you are subscribed to the Google Groups 
 Clojure group.
 To unsubscribe from this group and stop receiving emails from it, send an 
 email to clojure+unsubscr...@googlegroups.com.
 For more options, visit https://groups.google.com/d/optout.

-- 
You received this message because you are subscribed to the Google
Groups Clojure group.
To post to this group, send email to clojure@googlegroups.com
Note that posts from new members are moderated - please be patient with your 
first post.
To unsubscribe from this group, send email to
clojure+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en
--- 
You received this message because you are subscribed to the Google Groups 
Clojure group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to clojure+unsubscr...@googlegroups.com.
For more options, visit 

Re: clj-uuid: time-based uuid now 350% faster than java.util.UUID/randomUUID

2015-03-03 Thread Colin Yates
Ha - the irony of you and I posting a message about uniqueness at pretty
much the same time :).
On 3 Mar 2015 20:11, Lucas Bradstreet lucasbradstr...@gmail.com wrote:

 Hi,

 Nice work!

 I wanted to clarify something: it seems to me that the v1 uuids clj-uuid
 generate are not exactly equivalent or comparable to the uuids generated by
 java.util/randomUUID? It appears that V1 uuids are time (and MAC) based
 and don't use a cryptographic random number generator, so the use cases are
 different and the speed difference seems like more of a trade off.

 If I'm completely off base then please just say so.

 Thanks for the good work. Even with the above limitations I can see myself
 using the faster version in the future.

 Lucas

 On 2 Mar 2015, at 14:52, Jacob Strength mypci...@gmail.com wrote:

 That is pretty amazing, I'll have to remember this library next time I
 need to use UUID's.
 Also I think you meant 450% faster.

 On Sunday, March 1, 2015 at 5:35:16 PM UTC-7, danl...@gmail.com wrote:

 Ok, for anyone following my adventures optimizing clj-uuid, I've gotten
 another substantial win.
 Check it out:http://danlentz.github.io/clj-uuid

 #'uuid/v1:443 nanoseconds
 #'java.util.UUID/randomUUID: 2012 nanoseconds

 Also, the test suite has much greater coverage with individual tests for
 each v1, v,3, v4, v5 uuid version.
 And, finally, there more interesting notes about some of the esoteric
 details of the node-id representation
 and the way it is calculated to disambiguate it from any legal 802 MAC
 hardware address.  And more ;)


 ==

 user (criterium/bench (uuid/v1))

 Evaluation count: 139356300 in 60 samples of 2322605 calls.
 Execution time mean: 443.707611 ns


 user (criterium/bench (java.util.UUID/randomUUID))

 Evaluation count : 30850980 in 60 samples of 514183 calls.
 Execution time mean : 2.012861 µs


  --
 You received this message because you are subscribed to the Google
 Groups Clojure group.
 To post to this group, send email to clojure@googlegroups.com
 Note that posts from new members are moderated - please be patient with
 your first post.
 To unsubscribe from this group, send email to
 clojure+unsubscr...@googlegroups.com
 For more options, visit this group at
 http://groups.google.com/group/clojure?hl=en
 ---
 You received this message because you are subscribed to the Google Groups
 Clojure group.
 To unsubscribe from this group and stop receiving emails from it, send an
 email to clojure+unsubscr...@googlegroups.com.
 For more options, visit https://groups.google.com/d/optout.

  --
 You received this message because you are subscribed to the Google
 Groups Clojure group.
 To post to this group, send email to clojure@googlegroups.com
 Note that posts from new members are moderated - please be patient with
 your first post.
 To unsubscribe from this group, send email to
 clojure+unsubscr...@googlegroups.com
 For more options, visit this group at
 http://groups.google.com/group/clojure?hl=en
 ---
 You received this message because you are subscribed to the Google Groups
 Clojure group.
 To unsubscribe from this group and stop receiving emails from it, send an
 email to clojure+unsubscr...@googlegroups.com.
 For more options, visit https://groups.google.com/d/optout.


-- 
You received this message because you are subscribed to the Google
Groups Clojure group.
To post to this group, send email to clojure@googlegroups.com
Note that posts from new members are moderated - please be patient with your 
first post.
To unsubscribe from this group, send email to
clojure+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en
--- 
You received this message because you are subscribed to the Google Groups 
Clojure group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to clojure+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


Re: clj-uuid: time-based uuid now 350% faster than java.util.UUID/randomUUID

2015-03-03 Thread danle...@gmail.com
v1 UUID's are deterministically unique across both space and time.   Random 
UUID's are random.  There is an (infinitesimally small chance of a 
duplicate).   To my knowledge, the reason random uuid's exist and are part 
of the RFC is that they are bone simple to implement, whereas v1 and v3/v5 
involve all kinds of non-obvious supporting facilities such as a monotonic 
clock or message-digest algorithm.  

V1 UUID's are uniquified in three different ways: a unique 6 byte node id 
is computed (the details are interesting, but refer to the source for 
more).  It is combined with a thread-safe, concurrent monotonic timestamp 
that is guaranteed to generate always increasing values regardless of clock 
precision or degree of concurrency.  Finally, a 2-byte clock-seq value is 
randomly seeded at load-time and incorporated into the calculation.  So, 
even if the system is restarted on the exact same node with the hardware 
clock for some reason adjusted backwards and it is attempted to generate 
another UUID at the exact same millisecond as one which had been 
generated prior, there is only a 1 in 65536 chance of issuing a duplicate.  

We do not use the MAC address actually.  clj-uuid/node.clj at master · 
danlentz/clj-uuid 
https://github.com/danlentz/clj-uuid/blob/master/src/clj_uuid/node.clj has 
more detail, but this topic is specifically addressed by the RFC.  the 
following excerpt describes the node address calculation:

;;   A better solution is to obtain a 47-bit cryptographic quality random
;;   number and use it as the low 47-bits of the Node-ID, with the least
;;   significant bit of the first octet of the Node-ID set to one.  This
;;   bit is the unicast/multicast bit, which will never be set in IEEE 802
;;   addresses obtained from network cards.  Hence, there can never be a
;;   conflict between UUID's generated by machines with and without network
;;   cards.
;;. . .
;;. . .
;;   In addition, items such as the computer's name and the name of the
;;   operating system, while not strictly speaking random, will help
;;   differentiate the results from those obtained by other systems...
;;   ... A generic approach... IS TO ACCUMULATE AS MANY SOURCES AS POSSIBLE
;;   INTO A BUFFER, USE A MESSAGE DIGEST SUCH AS MD5 OR SHA1, TAKE AN
;;   ARBITRARY 6 BYTES FROM THE HASH VALUE, AND SET THE MULTICAST BIT
;;   AS DESCRIBED ABOVE.
;;
;; -- [RFC4122:4.5 Node IDs that do not Identify the Host]

If there are any good reasons why one should pay 10 times the cost to 
generate a UUID randomly, I'd like to hear them.



On Tuesday, March 3, 2015 at 3:11:23 PM UTC-5, Colin Yates wrote:

 Are v1 as unique as randomUUID()?
  On 3 Mar 2015 20:08, danl...@gmail.com javascript: danl...@gmail.com 
 javascript: wrote:

 PS.  We are now TEN TIMES faster, so it is a lot easier to compute that 
 percentage:

 #'uuid/v1:201 nanoseconds
 #'java.util.UUID/randomUUID: 2012 nanoseconds


 Best,
 Dan


 On Tuesday, March 3, 2015 at 3:06:35 PM UTC-5, danl...@gmail.com wrote:

 I invoked engineer's privilege to quote the number very 
 conservatively.  In one of the later episodes, didn't Scotty confide that 
 the Enterprise actually went up to warp 11, he just never told anyone? :)

 Actually, you are right -- I noticed it after I hit send.  As you can 
 tell, the relative performance number has been a little bit of a moving 
 target as things improved quickly and I grabbed the number from a little 
 too far back in the REPL. 

 Thanks Jacob.  I really do hope this is a library that people will find 
 modestly useful.



 On Tuesday, March 3, 2015 at 2:45:38 PM UTC-5, Jacob Strength wrote:

 That is pretty amazing, I'll have to remember this library next time I 
 need to use UUID's.
 Also I think you meant 450% faster.

 On Sunday, March 1, 2015 at 5:35:16 PM UTC-7, danl...@gmail.com wrote:

 Ok, for anyone following my adventures optimizing clj-uuid, I've 
 gotten another substantial win.   
 Check it out:http://danlentz.github.io/clj-uuid

 #'uuid/v1:443 nanoseconds
 #'java.util.UUID/randomUUID: 2012 nanoseconds

 Also, the test suite has much greater coverage with individual tests 
 for each v1, v,3, v4, v5 uuid version.
 And, finally, there more interesting notes about some of the esoteric 
 details of the node-id representation
 and the way it is calculated to disambiguate it from any legal 802 MAC 
 hardware address.  And more ;)


 ==

 user (criterium/bench (uuid/v1))

 Evaluation count: 139356300 in 60 samples of 2322605 calls.
 Execution time mean: 443.707611 ns


 user (criterium/bench (java.util.UUID/randomUUID))

 Evaluation count : 30850980 in 60 samples of 514183 calls.
 Execution time mean : 2.012861 µs


  -- 
 You received this message because you are subscribed to the Google
 Groups Clojure group.
 To post to this group, send email to clo...@googlegroups.com 
 javascript:
 Note that 

Re: GSOC 2015 Introduction

2015-03-03 Thread Andy Fingerhut
Clojure has been accepted as a mentoring organization for GSOC 2015,
announced by Google yesterday.

I'd recommend contacting the mentors, David Nolen and Nicola Mometto,
directly.  The email they use to correspond on this group are:

David - dnolen.li...@gmail.com
Nicola - brobro...@gmail.com

Andy

On Fri, Feb 27, 2015 at 7:30 AM, Jason Murphy json.mur...@gmail.com wrote:

 Greetings,

 I'm a post-graduate student in Computer Science currently doing research
 in Spatial/Amorphous Computing. I've been a lurker on this forum for quite
 sometime and I believe my Clojure(Script) knowledge is at an intermediate
 level at best (though no apps under my belt as yet).

 I'd like to contribute to ClojureScript for GSOC 2015. In particular I'm
 interested in the ClojureScript  Google Closure
 http://dev.clojure.org/display/community/Project+Ideas#ProjectIdeas-ClojureScriptGoogleClosure
  and
 the tools.reader.cljs
 http://dev.clojure.org/display/community/Project+Ideas#ProjectIdeas-toolsreadercljs
  projects.
 I recognize that the organisations haven't been confirmed as yet, however,
 should Clojure not get accepted (though i don't see why not) I'd still like
 to know how i could help.

 ---
 Thanks,
 Jason Murphy

 My Github account if needed:  https://github.com/jsonmurphy

 --
 You received this message because you are subscribed to the Google
 Groups Clojure group.
 To post to this group, send email to clojure@googlegroups.com
 Note that posts from new members are moderated - please be patient with
 your first post.
 To unsubscribe from this group, send email to
 clojure+unsubscr...@googlegroups.com
 For more options, visit this group at
 http://groups.google.com/group/clojure?hl=en
 ---
 You received this message because you are subscribed to the Google Groups
 Clojure group.
 To unsubscribe from this group and stop receiving emails from it, send an
 email to clojure+unsubscr...@googlegroups.com.
 For more options, visit https://groups.google.com/d/optout.


-- 
You received this message because you are subscribed to the Google
Groups Clojure group.
To post to this group, send email to clojure@googlegroups.com
Note that posts from new members are moderated - please be patient with your 
first post.
To unsubscribe from this group, send email to
clojure+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en
--- 
You received this message because you are subscribed to the Google Groups 
Clojure group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to clojure+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


Re: Who's using Clojure?

2015-03-03 Thread Marcus Blankenship
Have things changed in 4 years?  ;-)


On Mar 3, 2015, at 4:52 PM, James Reeves ja...@booleanknot.com wrote:

 This is a thread that's four years old. I think it's dead now :)
 
 - James
 
 On 3 March 2015 at 20:11, Hildeberto Mendonça m...@hildeberto.com wrote:
 Watch this video from Neal Ford ;-) http://youtu.be/2WLgzCkhN2g
 
 I Think it will help.
 
 On Fri, Feb 27, 2015 at 7:38 PM, Dan Hammer dan.s.ham...@gmail.com wrote:
 We used Clojure and Cascalog to generate the monthly deforestation alerts 
 from satellite imagery for Global Forest Watch.  This is the real-time 
 component of the project.
 
 On Tuesday, April 19, 2011 at 10:38:14 AM UTC-4, Damien wrote:
 Hi Everyone,
 
 I'm on a mission: introducing Clojure in my company, which is a big 
 consulting company like many others.
 
 I started talking about Clojure to my manager yesterday.
 I was prepared to talk about all the technical benefits and he was interested.
 I still have a long way to go but I think that was a good start.
 
 However I need to figure out how to answer to one of his questions: who is 
 using Clojure?
 
 Obviously I know each of you is using Clojure, that makes almost 5,000 people.
 I know there is Relevance and Clojure/core.
 I read about BackType or FlightCaster using Clojure.
 
 But, let's face it, that doesn't give me a killer answer.
 
 What could help is a list of success stories, a bit like MongoDB published 
 here:
 http://www.mongodb.org/display/DOCS/Production+Deployments
 
 Is there a place where I could find this kind of information for Clojure?
 
 Thanks
 
 -- 
 Damien Lepage
 http://damienlepage.com
 
 
 -- 
 You received this message because you are subscribed to the Google
 Groups Clojure group.
 To post to this group, send email to clojure@googlegroups.com
 Note that posts from new members are moderated - please be patient with your 
 first post.
 To unsubscribe from this group, send email to
 clojure+unsubscr...@googlegroups.com
 For more options, visit this group at
 http://groups.google.com/group/clojure?hl=en
 --- 
 You received this message because you are subscribed to the Google Groups 
 Clojure group.
 To unsubscribe from this group and stop receiving emails from it, send an 
 email to clojure+unsubscr...@googlegroups.com.
 For more options, visit https://groups.google.com/d/optout.
 
 
 
 -- 
 Hildeberto Mendonça, Ph.D
 Blog: http://www.hildeberto.com
 Community: http://www.cejug.net
 Twitter: https://twitter.com/htmfilho
 
 -- 
 You received this message because you are subscribed to the Google
 Groups Clojure group.
 To post to this group, send email to clojure@googlegroups.com
 Note that posts from new members are moderated - please be patient with your 
 first post.
 To unsubscribe from this group, send email to
 clojure+unsubscr...@googlegroups.com
 For more options, visit this group at
 http://groups.google.com/group/clojure?hl=en
 --- 
 You received this message because you are subscribed to the Google Groups 
 Clojure group.
 To unsubscribe from this group and stop receiving emails from it, send an 
 email to clojure+unsubscr...@googlegroups.com.
 For more options, visit https://groups.google.com/d/optout.
 
 
 -- 
 You received this message because you are subscribed to the Google
 Groups Clojure group.
 To post to this group, send email to clojure@googlegroups.com
 Note that posts from new members are moderated - please be patient with your 
 first post.
 To unsubscribe from this group, send email to
 clojure+unsubscr...@googlegroups.com
 For more options, visit this group at
 http://groups.google.com/group/clojure?hl=en
 --- 
 You received this message because you are subscribed to the Google Groups 
 Clojure group.
 To unsubscribe from this group and stop receiving emails from it, send an 
 email to clojure+unsubscr...@googlegroups.com.
 For more options, visit https://groups.google.com/d/optout.

Best,
Marcus

Marcus Blankenship
\\\ Problem Solver, Linear Thinker
\\\ 541.805.2736 \ @justzeros \ skype:marcuscreo

-- 
You received this message because you are subscribed to the Google
Groups Clojure group.
To post to this group, send email to clojure@googlegroups.com
Note that posts from new members are moderated - please be patient with your 
first post.
To unsubscribe from this group, send email to
clojure+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en
--- 
You received this message because you are subscribed to the Google Groups 
Clojure group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to clojure+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


Re: GSoC 2015

2015-03-03 Thread Shubham Jain
Hi Everyone,
Thanks Andy for your great help. I was able to contact Mike regarding the 
Numerical Clojure Project.

I have been looking at Project Ideas once again and the projects 
ClojureScript on Android and ClojureScrupt and Google Closure strike as 
pretty interesting projects. I would be highly obliged strikedif anyone 
could help me contacting the mentors and get to the appropriate resources 
for the projects.

Shubham

-- 
You received this message because you are subscribed to the Google
Groups Clojure group.
To post to this group, send email to clojure@googlegroups.com
Note that posts from new members are moderated - please be patient with your 
first post.
To unsubscribe from this group, send email to
clojure+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en
--- 
You received this message because you are subscribed to the Google Groups 
Clojure group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to clojure+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


Re: Who's using Clojure?

2015-03-03 Thread gvim

On 04/03/2015 00:55, Marcus Blankenship wrote:

Have things changed in 4 years?  ;-)



Figures in my last post are for London.

gvim

--
You received this message because you are subscribed to the Google
Groups Clojure group.
To post to this group, send email to clojure@googlegroups.com
Note that posts from new members are moderated - please be patient with your 
first post.
To unsubscribe from this group, send email to
clojure+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en
--- 
You received this message because you are subscribed to the Google Groups Clojure group.

To unsubscribe from this group and stop receiving emails from it, send an email 
to clojure+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


Re: GSOC 2015 Introduction

2015-03-03 Thread Jason Murphy
Hi Andy,

I actually posted this last Friday, but it seems like it just got approved. 

I've gotten in contact with at least David on IRC already (I'm juggernot 
there) and I guess I have some homework to do on my part before I touch 
bases again with either mentor.

But, Thanks for your help either way.

On Tuesday, March 3, 2015 at 4:04:23 PM UTC-5, Andy Fingerhut wrote:

 Clojure has been accepted as a mentoring organization for GSOC 2015, 
 announced by Google yesterday.

 I'd recommend contacting the mentors, David Nolen and Nicola Mometto, 
 directly.  The email they use to correspond on this group are:

 David - dnolen.li...@gmail.com
 Nicola - brobro...@gmail.com

 Andy

 On Fri, Feb 27, 2015 at 7:30 AM, Jason Murphy json@gmail.com 
 javascript: wrote:

 Greetings,

 I'm a post-graduate student in Computer Science currently doing research 
 in Spatial/Amorphous Computing. I've been a lurker on this forum for quite 
 sometime and I believe my Clojure(Script) knowledge is at an intermediate 
 level at best (though no apps under my belt as yet). 

 I'd like to contribute to ClojureScript for GSOC 2015. In particular I'm 
 interested in the ClojureScript  Google Closure 
 http://dev.clojure.org/display/community/Project+Ideas#ProjectIdeas-ClojureScriptGoogleClosure
  and 
 the tools.reader.cljs 
 http://dev.clojure.org/display/community/Project+Ideas#ProjectIdeas-toolsreadercljs
  projects. 
 I recognize that the organisations haven't been confirmed as yet, however, 
 should Clojure not get accepted (though i don't see why not) I'd still like 
 to know how i could help.

 ---
 Thanks,
 Jason Murphy

 My Github account if needed:  https://github.com/jsonmurphy

 -- 
 You received this message because you are subscribed to the Google
 Groups Clojure group.
 To post to this group, send email to clo...@googlegroups.com 
 javascript:
 Note that posts from new members are moderated - please be patient with 
 your first post.
 To unsubscribe from this group, send email to
 clojure+u...@googlegroups.com javascript:
 For more options, visit this group at
 http://groups.google.com/group/clojure?hl=en
 --- 
 You received this message because you are subscribed to the Google Groups 
 Clojure group.
 To unsubscribe from this group and stop receiving emails from it, send an 
 email to clojure+u...@googlegroups.com javascript:.
 For more options, visit https://groups.google.com/d/optout.




-- 
You received this message because you are subscribed to the Google
Groups Clojure group.
To post to this group, send email to clojure@googlegroups.com
Note that posts from new members are moderated - please be patient with your 
first post.
To unsubscribe from this group, send email to
clojure+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en
--- 
You received this message because you are subscribed to the Google Groups 
Clojure group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to clojure+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


Re: Any Lispers in South Devon, UK?

2015-03-03 Thread Bruce Durling
There is the No Location Dojo online which might help

https://groups.google.com/forum/#!forum/no-location-clojure-dojo

cheers,
Bruce

On Tue, Mar 3, 2015 at 9:50 PM, Stephen Wakely
fungus.humun...@gmail.com wrote:
 Hi,

 Are there any other Lispers in South Devon who would be interested in
 meeting up and talking code? Clojure, Common Lisp, Scheme, anything as long
 as there are loads of parentheses!

 Please get in touch.


 Cheers

 Stephen

 --
 You received this message because you are subscribed to the Google
 Groups Clojure group.
 To post to this group, send email to clojure@googlegroups.com
 Note that posts from new members are moderated - please be patient with your
 first post.
 To unsubscribe from this group, send email to
 clojure+unsubscr...@googlegroups.com
 For more options, visit this group at
 http://groups.google.com/group/clojure?hl=en
 ---
 You received this message because you are subscribed to the Google Groups
 Clojure group.
 To unsubscribe from this group and stop receiving emails from it, send an
 email to clojure+unsubscr...@googlegroups.com.
 For more options, visit https://groups.google.com/d/optout.

-- 
You received this message because you are subscribed to the Google
Groups Clojure group.
To post to this group, send email to clojure@googlegroups.com
Note that posts from new members are moderated - please be patient with your 
first post.
To unsubscribe from this group, send email to
clojure+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en
--- 
You received this message because you are subscribed to the Google Groups 
Clojure group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to clojure+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


Re: Who's using Clojure?

2015-03-03 Thread gvim

On 04/03/2015 00:55, Marcus Blankenship wrote:

Have things changed in 4 years?  ;-)



The leading jobs indicator - indeed.co.uk - shows Clojure adoption 
trailing a long way behind the other 2 main JVM languages - Scala and 
Groovy. Numbers are exclusive/inclusive of other languages in the job title:


Java:  3,889/4,675
Scala:   231/306
Groovy  24/58
Clojure  6/12

It seems Clojure will probably remain a niche language.

gvim

--
You received this message because you are subscribed to the Google
Groups Clojure group.
To post to this group, send email to clojure@googlegroups.com
Note that posts from new members are moderated - please be patient with your 
first post.
To unsubscribe from this group, send email to
clojure+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en
--- 
You received this message because you are subscribed to the Google Groups Clojure group.

To unsubscribe from this group and stop receiving emails from it, send an email 
to clojure+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


Re: Who's using Clojure?

2015-03-03 Thread James Reeves
This is a thread that's four years old. I think it's dead now :)

- James

On 3 March 2015 at 20:11, Hildeberto Mendonça m...@hildeberto.com wrote:

 Watch this video from Neal Ford ;-) http://youtu.be/2WLgzCkhN2g

 I Think it will help.

 On Fri, Feb 27, 2015 at 7:38 PM, Dan Hammer dan.s.ham...@gmail.com
 wrote:

 We used Clojure and Cascalog to generate the monthly deforestation alerts
 from satellite imagery for Global Forest Watch
 http://globalforestwatch.org.  This is the real-time component of
 the project.

 On Tuesday, April 19, 2011 at 10:38:14 AM UTC-4, Damien wrote:

 Hi Everyone,

 I'm on a mission: introducing Clojure in my company, which is a big
 consulting company like many others.

 I started talking about Clojure to my manager yesterday.
 I was prepared to talk about all the technical benefits and he was
 interested.
 I still have a long way to go but I think that was a good start.

 However I need to figure out how to answer to one of his questions: who
 is using Clojure?

 Obviously I know each of you is using Clojure, that makes almost 5,000
 people.
 I know there is Relevance and Clojure/core.
 I read about BackType or FlightCaster using Clojure.

 But, let's face it, that doesn't give me a killer answer.

 What could help is a list of success stories, a bit like MongoDB
 published here:
 http://www.mongodb.org/display/DOCS/Production+Deployments

 Is there a place where I could find this kind of information for Clojure?

 Thanks

 --
 Damien Lepage
 http://damienlepage.com

  --
 You received this message because you are subscribed to the Google
 Groups Clojure group.
 To post to this group, send email to clojure@googlegroups.com
 Note that posts from new members are moderated - please be patient with
 your first post.
 To unsubscribe from this group, send email to
 clojure+unsubscr...@googlegroups.com
 For more options, visit this group at
 http://groups.google.com/group/clojure?hl=en
 ---
 You received this message because you are subscribed to the Google Groups
 Clojure group.
 To unsubscribe from this group and stop receiving emails from it, send an
 email to clojure+unsubscr...@googlegroups.com.
 For more options, visit https://groups.google.com/d/optout.




 --
 Hildeberto Mendonça, Ph.D
 Blog: http://www.hildeberto.com
 Community: http://www.cejug.net
 Twitter: https://twitter.com/htmfilho

 --
 You received this message because you are subscribed to the Google
 Groups Clojure group.
 To post to this group, send email to clojure@googlegroups.com
 Note that posts from new members are moderated - please be patient with
 your first post.
 To unsubscribe from this group, send email to
 clojure+unsubscr...@googlegroups.com
 For more options, visit this group at
 http://groups.google.com/group/clojure?hl=en
 ---
 You received this message because you are subscribed to the Google Groups
 Clojure group.
 To unsubscribe from this group and stop receiving emails from it, send an
 email to clojure+unsubscr...@googlegroups.com.
 For more options, visit https://groups.google.com/d/optout.


-- 
You received this message because you are subscribed to the Google
Groups Clojure group.
To post to this group, send email to clojure@googlegroups.com
Note that posts from new members are moderated - please be patient with your 
first post.
To unsubscribe from this group, send email to
clojure+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en
--- 
You received this message because you are subscribed to the Google Groups 
Clojure group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to clojure+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


Re: Who's using Clojure?

2015-03-03 Thread Sam Ritchie

Also, check out the success stories:

http://cognitect.com/clojure#successstories

And this list of companies using Clojure:

http://clojure.org/companies

Thanks to Alex Miller for putting this together.


gvim mailto:gvi...@gmail.com
March 3, 2015 at 6:28 PM


Figures in my last post are for London.

gvim

Marcus Blankenship mailto:mar...@creoagency.com
March 3, 2015 at 5:55 PM
Have things changed in 4 years?  ;-)




Best,
Marcus

Marcus Blankenship
\\\ Problem Solver, Linear Thinker
\\\ 541.805.2736 \ @justzeros \ skype:marcuscreo

--
You received this message because you are subscribed to the Google
Groups Clojure group.
To post to this group, send email to clojure@googlegroups.com
Note that posts from new members are moderated - please be patient 
with your first post.

To unsubscribe from this group, send email to
clojure+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en
---
You received this message because you are subscribed to the Google 
Groups Clojure group.
To unsubscribe from this group and stop receiving emails from it, send 
an email to clojure+unsubscr...@googlegroups.com 
mailto:clojure+unsubscr...@googlegroups.com.

For more options, visit https://groups.google.com/d/optout.
James Reeves mailto:ja...@booleanknot.com
March 3, 2015 at 5:52 PM
This is a thread that's four years old. I think it's dead now :)

- James


--
You received this message because you are subscribed to the Google
Groups Clojure group.
To post to this group, send email to clojure@googlegroups.com
Note that posts from new members are moderated - please be patient 
with your first post.

To unsubscribe from this group, send email to
clojure+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en
---
You received this message because you are subscribed to the Google 
Groups Clojure group.
To unsubscribe from this group and stop receiving emails from it, send 
an email to clojure+unsubscr...@googlegroups.com 
mailto:clojure+unsubscr...@googlegroups.com.

For more options, visit https://groups.google.com/d/optout.
Hildeberto Mendonça mailto:m...@hildeberto.com
March 3, 2015 at 1:11 PM
Watch this video from Neal Ford ;-) http://youtu.be/2WLgzCkhN2g

I Think it will help.




--
Hildeberto Mendonça, Ph.D
Blog: http://www.hildeberto.com
Community: http://www.cejug.net
Twitter: https://twitter.com/htmfilho
--
You received this message because you are subscribed to the Google
Groups Clojure group.
To post to this group, send email to clojure@googlegroups.com
Note that posts from new members are moderated - please be patient 
with your first post.

To unsubscribe from this group, send email to
clojure+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en
---
You received this message because you are subscribed to the Google 
Groups Clojure group.
To unsubscribe from this group and stop receiving emails from it, send 
an email to clojure+unsubscr...@googlegroups.com 
mailto:clojure+unsubscr...@googlegroups.com.

For more options, visit https://groups.google.com/d/optout.
Dan Hammer mailto:dan.s.ham...@gmail.com
February 27, 2015 at 11:38 AM
We used Clojure and Cascalog to generate the monthly deforestation 
alerts from satellite imagery for Global Forest Watch 
http://globalforestwatch.org.  This is the real-time component of 
the project.


On Tuesday, April 19, 2011 at 10:38:14 AM UTC-4, Damien wrote:
--
You received this message because you are subscribed to the Google
Groups Clojure group.
To post to this group, send email to clojure@googlegroups.com
Note that posts from new members are moderated - please be patient 
with your first post.

To unsubscribe from this group, send email to
clojure+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en
---
You received this message because you are subscribed to the Google 
Groups Clojure group.
To unsubscribe from this group and stop receiving emails from it, send 
an email to clojure+unsubscr...@googlegroups.com 
mailto:clojure+unsubscr...@googlegroups.com.

For more options, visit https://groups.google.com/d/optout.


--
Sam Ritchie (@sritchie)
Paddleguru Co-Founder
703.863.8561
www.paddleguru.com http://www.paddleguru.com/
Twitter http://twitter.com/paddleguru// Facebook 
http://facebook.com/paddleguru


--
You received this message because you are subscribed to the Google
Groups Clojure group.
To post to this group, send email to clojure@googlegroups.com
Note that posts from new members are moderated - please be patient with your 
first post.
To unsubscribe from this group, send email to
clojure+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en
--- 
You received this message because you are subscribed to the Google Groups Clojure group.

To unsubscribe from this group and stop receiving 

Re: clj-uuid: time-based uuid now 350% faster than java.util.UUID/randomUUID

2015-03-03 Thread Lucas Bradstreet
Hi Dan,

The hash bucket sentence was only a joke about us posting the same
question at the same time :).

I don't have any particular thoughts on whether there's a reason to
use the truly random UUIDs over v1 UUIDs, I just wanted to check
whether the methods were equivalent so I know if I should evaluate
whether v1 UUIDs are appropriate for my use cases. I guess one reason
you might use randomUUID is if you need your UUID to be unguessable to
attackers that might know your MAC address.

Thanks for your reply, it was illuminating.

Lucas


On 4 March 2015 at 11:32, danle...@gmail.com danle...@gmail.com wrote:
 Lucas, if there are any good reasons why one should pay 10 times the cost to
 generate a UUID randomly, I'd like to hear them.

 Thank you very much for your kind words and please see my prior reply to
 Colin.

 Best,
 Dan


 On Tuesday, March 3, 2015 at 3:24:42 PM UTC-5, Lucas Bradstreet wrote:

 I've been thinking about this for a bit and our posts just happen to be
 within a minute of each other! A hash bucket is filling up somewhere, I just
 know it!

 On 4 Mar 2015, at 04:13, Colin Yates colin...@gmail.com wrote:

 Ha - the irony of you and I posting a message about uniqueness at pretty
 much the same time :).

 On 3 Mar 2015 20:11, Lucas Bradstreet lucasbr...@gmail.com wrote:

 Hi,

 Nice work!

 I wanted to clarify something: it seems to me that the v1 uuids clj-uuid
 generate are not exactly equivalent or comparable to the uuids generated by
 java.util/randomUUID? It appears that V1 uuids are time (and MAC) based and
 don't use a cryptographic random number generator, so the use cases are
 different and the speed difference seems like more of a trade off.

 If I'm completely off base then please just say so.

 Thanks for the good work. Even with the above limitations I can see
 myself using the faster version in the future.

 Lucas

 On 2 Mar 2015, at 14:52, Jacob Strength mypc...@gmail.com wrote:

 That is pretty amazing, I'll have to remember this library next time I
 need to use UUID's.
 Also I think you meant 450% faster.

 On Sunday, March 1, 2015 at 5:35:16 PM UTC-7, danl...@gmail.com wrote:

 Ok, for anyone following my adventures optimizing clj-uuid, I've gotten
 another substantial win.
 Check it out:http://danlentz.github.io/clj-uuid

 #'uuid/v1:443 nanoseconds
 #'java.util.UUID/randomUUID: 2012 nanoseconds

 Also, the test suite has much greater coverage with individual tests for
 each v1, v,3, v4, v5 uuid version.
 And, finally, there more interesting notes about some of the esoteric
 details of the node-id representation
 and the way it is calculated to disambiguate it from any legal 802 MAC
 hardware address.  And more ;)


 ==

 user (criterium/bench (uuid/v1))

 Evaluation count: 139356300 in 60 samples of 2322605 calls.
 Execution time mean: 443.707611 ns


 user (criterium/bench (java.util.UUID/randomUUID))

 Evaluation count : 30850980 in 60 samples of 514183 calls.
 Execution time mean : 2.012861 µs


 --
 You received this message because you are subscribed to the Google
 Groups Clojure group.
 To post to this group, send email to clo...@googlegroups.com
 Note that posts from new members are moderated - please be patient with
 your first post.
 To unsubscribe from this group, send email to
 clojure+u...@googlegroups.com
 For more options, visit this group at
 http://groups.google.com/group/clojure?hl=en
 ---
 You received this message because you are subscribed to the Google Groups
 Clojure group.
 To unsubscribe from this group and stop receiving emails from it, send an
 email to clojure+u...@googlegroups.com.
 For more options, visit https://groups.google.com/d/optout.

 --
 You received this message because you are subscribed to the Google
 Groups Clojure group.
 To post to this group, send email to clo...@googlegroups.com
 Note that posts from new members are moderated - please be patient with
 your first post.
 To unsubscribe from this group, send email to
 clojure+u...@googlegroups.com
 For more options, visit this group at
 http://groups.google.com/group/clojure?hl=en
 ---
 You received this message because you are subscribed to the Google Groups
 Clojure group.
 To unsubscribe from this group and stop receiving emails from it, send an
 email to clojure+u...@googlegroups.com.
 For more options, visit https://groups.google.com/d/optout.

 --
 You received this message because you are subscribed to the Google
 Groups Clojure group.
 To post to this group, send email to clo...@googlegroups.com
 Note that posts from new members are moderated - please be patient with
 your first post.
 To unsubscribe from this group, send email to
 clojure+u...@googlegroups.com
 For more options, visit this group at
 http://groups.google.com/group/clojure?hl=en
 ---
 You received this message because you are subscribed to the Google Groups
 Clojure group.
 To unsubscribe from this group and 

Re: clj-uuid: time-based uuid now 350% faster than java.util.UUID/randomUUID

2015-03-03 Thread danle...@gmail.com
Lucas, if there are any good reasons why one should pay 10 times the cost 
to generate a UUID randomly, I'd like to hear them.

Thank you very much for your kind words and please see my prior reply to 
Colin.

Best,
Dan


On Tuesday, March 3, 2015 at 3:24:42 PM UTC-5, Lucas Bradstreet wrote:

 I've been thinking about this for a bit and our posts just happen to be 
 within a minute of each other! A hash bucket is filling up somewhere, I 
 just know it!

 On 4 Mar 2015, at 04:13, Colin Yates colin...@gmail.com javascript: 
 wrote:

 Ha - the irony of you and I posting a message about uniqueness at pretty 
 much the same time :).
 On 3 Mar 2015 20:11, Lucas Bradstreet lucasbr...@gmail.com 
 javascript: wrote:

 Hi,

 Nice work!

 I wanted to clarify something: it seems to me that the v1 uuids clj-uuid 
 generate are not exactly equivalent or comparable to the uuids generated by 
 java.util/randomUUID? It appears that V1 uuids are time (and MAC) based 
 and don't use a cryptographic random number generator, so the use cases are 
 different and the speed difference seems like more of a trade off. 

 If I'm completely off base then please just say so. 

 Thanks for the good work. Even with the above limitations I can see 
 myself using the faster version in the future. 

 Lucas

 On 2 Mar 2015, at 14:52, Jacob Strength mypc...@gmail.com javascript: 
 wrote:

 That is pretty amazing, I'll have to remember this library next time I 
 need to use UUID's.
 Also I think you meant 450% faster.

 On Sunday, March 1, 2015 at 5:35:16 PM UTC-7, danl...@gmail.com wrote:

 Ok, for anyone following my adventures optimizing clj-uuid, I've gotten 
 another substantial win.   
 Check it out:http://danlentz.github.io/clj-uuid

 #'uuid/v1:443 nanoseconds
 #'java.util.UUID/randomUUID: 2012 nanoseconds

 Also, the test suite has much greater coverage with individual tests for 
 each v1, v,3, v4, v5 uuid version.
 And, finally, there more interesting notes about some of the esoteric 
 details of the node-id representation
 and the way it is calculated to disambiguate it from any legal 802 MAC 
 hardware address.  And more ;)


 ==

 user (criterium/bench (uuid/v1))

 Evaluation count: 139356300 in 60 samples of 2322605 calls.
 Execution time mean: 443.707611 ns


 user (criterium/bench (java.util.UUID/randomUUID))

 Evaluation count : 30850980 in 60 samples of 514183 calls.
 Execution time mean : 2.012861 µs


  -- 
 You received this message because you are subscribed to the Google
 Groups Clojure group.
 To post to this group, send email to clo...@googlegroups.com 
 javascript:
 Note that posts from new members are moderated - please be patient with 
 your first post.
 To unsubscribe from this group, send email to
 clojure+u...@googlegroups.com javascript:
 For more options, visit this group at
 http://groups.google.com/group/clojure?hl=en
 --- 
 You received this message because you are subscribed to the Google Groups 
 Clojure group.
 To unsubscribe from this group and stop receiving emails from it, send an 
 email to clojure+u...@googlegroups.com javascript:.
 For more options, visit https://groups.google.com/d/optout.

  -- 
 You received this message because you are subscribed to the Google
 Groups Clojure group.
 To post to this group, send email to clo...@googlegroups.com 
 javascript:
 Note that posts from new members are moderated - please be patient with 
 your first post.
 To unsubscribe from this group, send email to
 clojure+u...@googlegroups.com javascript:
 For more options, visit this group at
 http://groups.google.com/group/clojure?hl=en
 --- 
 You received this message because you are subscribed to the Google Groups 
 Clojure group.
 To unsubscribe from this group and stop receiving emails from it, send an 
 email to clojure+u...@googlegroups.com javascript:.
 For more options, visit https://groups.google.com/d/optout.

  -- 
 You received this message because you are subscribed to the Google
 Groups Clojure group.
 To post to this group, send email to clo...@googlegroups.com javascript:
 Note that posts from new members are moderated - please be patient with 
 your first post.
 To unsubscribe from this group, send email to
 clojure+u...@googlegroups.com javascript:
 For more options, visit this group at
 http://groups.google.com/group/clojure?hl=en
 --- 
 You received this message because you are subscribed to the Google Groups 
 Clojure group.
 To unsubscribe from this group and stop receiving emails from it, send an 
 email to clojure+u...@googlegroups.com javascript:.
 For more options, visit https://groups.google.com/d/optout.



-- 
You received this message because you are subscribed to the Google
Groups Clojure group.
To post to this group, send email to clojure@googlegroups.com
Note that posts from new members are moderated - please be patient with your 
first post.
To unsubscribe from this group, send email