Re: [ANN] Understanding the Persistent Vector
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
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
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
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?
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
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
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
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]
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
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
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?
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 -
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
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?
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
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
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
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
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
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
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?
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
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?
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
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?
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?
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?
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?
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
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
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