Re: Modelling in Clojure
To their a wrench in the works, keywords are functions that look themselves up in a map. Therefore, a traditional map is just as much api as data, and map values can be functions too, blurring the lines between static and computed values. So, you know, have fun with that. -- 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.
Emacs Utilities
Hi, I’ve written a collection of Emacs Utilities which includes a project manager, a persistent file history list, a persistent position history list, a popup menu listing of a file’s definitions. Clojure documentation support, Common Lisp documentation support and a window management utility. Together with a Cider Repl, this code provides a lightweight, but very powerful Clojure IDE. There is a demonstration video here: www.clairvaux.org/downloads/Emacs-Utilities.mp4 And the code is available here: www.clairvaux.org/downloads/emacs-utilities.zip — Glenn -- 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.
Question about test.check, and knossos
Hi All, Lately I've been exploring the world introduced to me by watching the John Hughes' quickcheck video from clojure west. Awesome stuff! Eventually I found the testing for fun and profit[1] paper which left me wanting to test my apps using a model based system like the paper describes. It looks like test-check-knossos[2] takes a stab at applying knossos[3] to this problem. However the examples in that repo don't capture the the aspect of using state to generate test commands to be executed against the system. It's just a random stream of :take/:reset operations whereas the registry example in the paper seems to require that the function which generates the sequence of test commands has access to the state of the system under test at the start of each command. So is there a missing clojure library here? Is anybody working on something that allows this style of model testing? If not, would it make sense for someone writing one to leverage knossos in any way? Cheers, Andy [1]: http://people.inf.elte.hu/center/fulltext.pdf [2]: https://github.com/philandstuff/test-check-knossos [3]: https://github.com/aphyr/knossos -- 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: Modelling in Clojure
On 21 October 2014 01:23, Daniel doubleagen...@gmail.com wrote: To their a wrench in the works, keywords are functions that look themselves up in a map. Therefore, a traditional map is just as much api as data I'm not sure why you think one follows from the other. - 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. For more options, visit https://groups.google.com/d/optout.
Re: {ANN} defun: A beautiful macro to define clojure functions with pattern match.
Are there any updates on clojurescript support? On Friday, September 26, 2014 1:00:04 PM UTC+2, dennis wrote: I will add supporting for clojurescript this weekend.Thanks for your suggestion. 2014-09-26 1:09 GMT+08:00 Ivan L ivan.l...@gmail.com javascript:: Is this clojurescript ready? This looks amazing, I would also love to have it in core. On Sunday, September 14, 2014 2:47:28 AM UTC-4, dennis wrote: Hi , i am pleased to introduce defun https://github.com/killme2008/defun: a beautiful macro to define clojure functions with pattern match. Some examples: (defun say-hi ([:dennis] Hi,good morning, dennis.) ([:catty] Hi, catty, what time is it?) ([:green] Hi,green, what a good day!) ([other] (str Say hi to other))) (say-hi :dennis) ;; Hi,good morning, dennis. (say-hi :catty) ;; Hi, catty, what time is it? (say-hi :green) ;; Hi,green, what a good day! (say-hi someone) ;; Say hi to someone Recursive function? It's all right: (defun count-down ([0] (println Reach zero!)) ([n] (println n) (recur (dec n (defun fib ([0] 0) ([1] 1) ([n] (+ (fib (- n 1)) (fib (- n 2) Guard functions? it's all right: (defun valid-geopoint? ([(_ :guard #(and ( % -180) ( % 180))) (_ :guard #(and ( % -90) ( % 90)))] true) ([_ _] false)) (valid-geopoint? 30 30) ;; true (valid-geopoint? -181 30) ;; false It's really cool,all the magic are from core.match, much more details please see https://github.com/killme2008/defun -- 庄晓丹 Email:killm...@gmail.com xzh...@avos.com Site: http://fnil.net Twitter: @killme2008 -- 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. -- 庄晓丹 Email:killm...@gmail.com javascript: xzh...@avos.com javascript: Site: http://fnil.net Twitter: @killme2008 -- 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.
Invalidating a session for a given user
Hi, I wonder if it's possible to invalidate a ring session for a given arbitrary user (not the logged in one)? Sometimes, when applying administrative tasks regarding user management in a web application it might be useful to have the user to relog. Another posiibility might be to be able to update the session of an user, but I am not sure if this is considered secure, or how it might be done at all. Any pointers / hints on how to approach such issues? Best Regards, Sven -- 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: Invalidating a session for a given user
If you're using a database to store your sessions, you can just remove the entry that's associated with a particular user. - James On 23 October 2014 14:45, Sven Richter sver...@googlemail.com wrote: Hi, I wonder if it's possible to invalidate a ring session for a given arbitrary user (not the logged in one)? Sometimes, when applying administrative tasks regarding user management in a web application it might be useful to have the user to relog. Another posiibility might be to be able to update the session of an user, but I am not sure if this is considered secure, or how it might be done at all. Any pointers / hints on how to approach such issues? Best Regards, Sven -- 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: Invalidating a session for a given user
Yea, I thought about this too, however, I am not using a database right now, but just the in memory session store. Best Regards, Sven Am Donnerstag, 23. Oktober 2014 15:54:41 UTC+2 schrieb James Reeves: If you're using a database to store your sessions, you can just remove the entry that's associated with a particular user. - James On 23 October 2014 14:45, Sven Richter sve...@googlemail.com javascript: wrote: Hi, I wonder if it's possible to invalidate a ring session for a given arbitrary user (not the logged in one)? Sometimes, when applying administrative tasks regarding user management in a web application it might be useful to have the user to relog. Another posiibility might be to be able to update the session of an user, but I am not sure if this is considered secure, or how it might be done at all. Any pointers / hints on how to approach such issues? Best Regards, Sven -- 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: Question about test.check, and knossos
Hi Andy, Lately I've been exploring the world introduced to me by watching the John Hughes' quickcheck video from clojure west. Awesome stuff! Eventually I found the testing for fun and profit[1] paper which left me wanting to test my apps using a model based system like the paper describes. It looks like test-check-knossos[2] takes a stab at applying knossos[3] to this problem. However the examples in that repo don't capture the the aspect of using state to generate test commands to be executed against the system. It's just a random stream of :take/:reset operations whereas the registry example in the paper seems to require that the function which generates the sequence of test commands has access to the state of the system under test at the start of each command. So is there a missing clojure library here? Is anybody working on something that allows this style of model testing? If not, would it make sense for someone writing one to leverage knossos in any way? Cheers, Andy [1]: http://people.inf.elte.hu/center/fulltext.pdf [2]: https://github.com/philandstuff/test-check-knossos [3]: https://github.com/aphyr/knossos I've begun to work on such a tool not long ago. Thomas Arts, who gave a talk at our local FP user group meetup [mλ], inspired me to try out the approach you're describing in Clojure. After some experiments I got the library to a state where it could generate test cases for java.util.HashSet. I looked for prior art in the area of concurrency and detection of race conditions. That's when I discovered Philip Potter's Knossos-based approach [pp]. I find it very interesting but I haven't yet had time to try it out. It'd be great to have it integrated, though. I demonstrated the tentative API in [gist], where some simple properties of HashSet and Clojure vector are checked. The gist also shows how an exemplary failure looks, including shrinking. I'll try to get the implementation to a reasonable state and push it to GitHub soon. Feedback is very welcome! Cheers, Jan Stępień [mλ]: http://www.meetup.com/Munich-Lambda/events/202278902/ [pp]: http://vimeo.com/100976693 [gist]: https://gist.github.com/jstepien/6153312613db1589f1ec -- 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] Supernal, A Clojure based take on Capistrano/Fabric remote automation
Supernal is an automation tool similar to Capistrano/Fabric implemented in pure Clojure utilizing a Clojure based DSL. This project aims to offer: - A clear roles to host matching model which can be extended easily. - Can be used both as a library and as a standalone tool. - An easy to follow Clojure DSL. - Functional interface. - Be inspired by Capistrano but more flexible. More info can be found at: https://github.com/celestial-ops/supernal Thanks -- 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: Invalidating a session for a given user
Surely the same principle applies? Initiate the memory session with an atom, then write a function to remove sessions from the atom that match specific criteria. I should add that the memory session store is really only intended for use in development environments. - James On 23 October 2014 14:56, Sven Richter sver...@googlemail.com wrote: Yea, I thought about this too, however, I am not using a database right now, but just the in memory session store. Best Regards, Sven Am Donnerstag, 23. Oktober 2014 15:54:41 UTC+2 schrieb James Reeves: If you're using a database to store your sessions, you can just remove the entry that's associated with a particular user. - James On 23 October 2014 14:45, Sven Richter sve...@googlemail.com wrote: Hi, I wonder if it's possible to invalidate a ring session for a given arbitrary user (not the logged in one)? Sometimes, when applying administrative tasks regarding user management in a web application it might be useful to have the user to relog. Another posiibility might be to be able to update the session of an user, but I am not sure if this is considered secure, or how it might be done at all. Any pointers / hints on how to approach such issues? Best Regards, Sven -- 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 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.
State of Clojure/ClojureScript 2014 survey results
I've published links to the State of Clojure and ClojureScript 2014 survey results here: http://blog.cognitect.com/blog/2014/10/20/results-of-2014-state-of-clojure-and-clojurescript-survey That page links to some reports with graphs where you can also export the raw data. I also have links to broken out answers from each of the open text questions for easier consumption. Those are redundant, but perhaps useful. I have not had the time to do any analysis or commentary on these yet. Of particular interest in a few questions are comparisons with prior years which are also linked from the post. Big thanks to everyone that participated - it's invaluable to get this snapshot of the community every year, especially as we grow. Alex -- 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] Immutant 2.0.0-alpha2
We released Immutant 2.0.0-alpha2 today, which includes support for distributed transactions, a simplified messaging API, and other changes. For full details, see http://immutant.org/news/2014/10/23/announcing-2-alpha2/. With 2.0.0, Immutant has evolved from an application server for Clojure to an integrated suite of Clojure libraries for web, messaging, scheduling, transactions, and caching. And though they are now fully-functional embedded within your app, they each become automatically enhanced (session replication, load-balanced message distribution, linearly scalable caches, HA singleton jobs and daemons) when deployed to a WildFly cluster. 2.0.0 has a much smaller footprint, a very fast Undertow web server, a more permissive Apache license, and hopefully cleaner API's. - Toby -- 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] thi.ng/crypto - GPG/OpenPGP keypair generation, file/stream encryption helpers
Hi Karsten There it already exist that: https://github.com/greglook/clj-pgp And not directly related to pgp but reladed with bouncycastle and encryption api: https://github.com/niwibe/buddy Would be awesome to colaborate! Greetings. Andrey 2014-10-23 18:26 GMT+02:00 Karsten Schmidt i...@toxi.co.uk: Hi all, just a quick heads up for those who might want to integrate some encryption features into their projects and not struggle with a complex Java API to do so. This small library provides some utility functions atop of Bouncycastle's OpenPGP provider: http://thi.ng/crypto Example: (require '[thi.ng.crypto.core :refer :all]) ;; generate a new RSA keypair, private w/ identity passphrase, save as armored files (- (rsa-keypair 2048) (generate-secret-key al...@example.org hello) (export-keypair alice.pub.asc alice.sec.asc true)) ; = nil ;; create dummy file (spit foo.txt hello world!) ; = nil ;; note: for files `encrypt-file` can be used alternatively, ;; but `encrypt-stream` is more general purpose (encrypt-stream foo.txt foo.gpg (public-key alice.pub.asc)) ; = nil ;; decrypt with secret key passphrase (decrypt-stream foo.gpg foo-decrypted.txt (secret-key alice.sec.asc) hello) ; = #BufferedOutputStream java.io.BufferedOutputStream@5dbe43af (slurp foo-decrypted.txt) ; = hello world! Best, K. -- Karsten Schmidt http://postspectacular.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. -- Andrey Antukh - Андрей Антух - andrei.anto...@kaleidos.net / n...@niwi.be http://www.niwi.be http://www.niwi.be/page/about/ https://github.com/niwibe -- 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: State of Clojure/ClojureScript 2014 survey results
Great stuff Alex. I'd recommend taking a look at this talk https://www.youtube.com/watch?v=3MvKLOecT1I which does a great analysis job on a similar survey for Erlang. On Thu, Oct 23, 2014 at 4:58 PM, Alex Miller a...@puredanger.com wrote: I've published links to the State of Clojure and ClojureScript 2014 survey results here: http://blog.cognitect.com/blog/2014/10/20/results-of-2014-state-of-clojure-and-clojurescript-survey That page links to some reports with graphs where you can also export the raw data. I also have links to broken out answers from each of the open text questions for easier consumption. Those are redundant, but perhaps useful. I have not had the time to do any analysis or commentary on these yet. Of particular interest in a few questions are comparisons with prior years which are also linked from the post. Big thanks to everyone that participated - it's invaluable to get this snapshot of the community every year, especially as we grow. Alex -- 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. -- Fergal Byrne, Brenter IT http://inbits.com - Better Living through Thoughtful Technology http://ie.linkedin.com/in/fergbyrne/ - https://github.com/fergalbyrne Founder of Clortex: HTM in Clojure - https://github.com/nupic-community/clortex Author, Real Machine Intelligence with Clortex and NuPIC Read for free or buy the book at https://leanpub.com/realsmartmachines Speaking on Clortex and HTM/CLA at euroClojure Krakow, June 2014: http://euroclojure.com/2014/ and at LambdaJam Chicago, July 2014: http://www.lambdajam.com e:fergalbyrnedub...@gmail.com t:+353 83 4214179 Join the quest for Machine Intelligence at http://numenta.org Formerly of Adnet edi...@adnet.ie http://www.adnet.ie -- 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: State of Clojure/ClojureScript 2014 survey results
Thanks, I do hope to follow up with some analysis, just thought it was more important to release the data sooner rather than later. Alex On Thursday, October 23, 2014 12:30:47 PM UTC-5, Fergal Byrne wrote: Great stuff Alex. I'd recommend taking a look at this talk https://www.youtube.com/watch?v=3MvKLOecT1I which does a great analysis job on a similar survey for Erlang. On Thu, Oct 23, 2014 at 4:58 PM, Alex Miller al...@puredanger.com javascript: wrote: I've published links to the State of Clojure and ClojureScript 2014 survey results here: http://blog.cognitect.com/blog/2014/10/20/results-of-2014-state-of-clojure-and-clojurescript-survey That page links to some reports with graphs where you can also export the raw data. I also have links to broken out answers from each of the open text questions for easier consumption. Those are redundant, but perhaps useful. I have not had the time to do any analysis or commentary on these yet. Of particular interest in a few questions are comparisons with prior years which are also linked from the post. Big thanks to everyone that participated - it's invaluable to get this snapshot of the community every year, especially as we grow. Alex -- 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. -- Fergal Byrne, Brenter IT http://inbits.com - Better Living through Thoughtful Technology http://ie.linkedin.com/in/fergbyrne/ - https://github.com/fergalbyrne Founder of Clortex: HTM in Clojure - https://github.com/nupic-community/clortex Author, Real Machine Intelligence with Clortex and NuPIC Read for free or buy the book at https://leanpub.com/realsmartmachines Speaking on Clortex and HTM/CLA at euroClojure Krakow, June 2014: http://euroclojure.com/2014/ and at LambdaJam Chicago, July 2014: http://www.lambdajam.com e:fergalby...@gmail.com javascript: t:+353 83 4214179 Join the quest for Machine Intelligence at http://numenta.org Formerly of Adnet edi...@adnet.ie javascript: http://www.adnet.ie -- 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] thi.ng/crypto - GPG/OpenPGP keypair generation, file/stream encryption helpers
W00t! Thanks for the heads up! That looks far more fully featured indeed... bookmarked! Btw. I did search GH for clojure gpg and nothing turned up, should have searched for PGP instead... oh well! :) On 23 October 2014 18:18, Andrey Antukh n...@niwi.be wrote: Hi Karsten There it already exist that: https://github.com/greglook/clj-pgp And not directly related to pgp but reladed with bouncycastle and encryption api: https://github.com/niwibe/buddy Would be awesome to colaborate! Greetings. Andrey 2014-10-23 18:26 GMT+02:00 Karsten Schmidt i...@toxi.co.uk: Hi all, just a quick heads up for those who might want to integrate some encryption features into their projects and not struggle with a complex Java API to do so. This small library provides some utility functions atop of Bouncycastle's OpenPGP provider: http://thi.ng/crypto Example: (require '[thi.ng.crypto.core :refer :all]) ;; generate a new RSA keypair, private w/ identity passphrase, save as armored files (- (rsa-keypair 2048) (generate-secret-key al...@example.org hello) (export-keypair alice.pub.asc alice.sec.asc true)) ; = nil ;; create dummy file (spit foo.txt hello world!) ; = nil ;; note: for files `encrypt-file` can be used alternatively, ;; but `encrypt-stream` is more general purpose (encrypt-stream foo.txt foo.gpg (public-key alice.pub.asc)) ; = nil ;; decrypt with secret key passphrase (decrypt-stream foo.gpg foo-decrypted.txt (secret-key alice.sec.asc) hello) ; = #BufferedOutputStream java.io.BufferedOutputStream@5dbe43af (slurp foo-decrypted.txt) ; = hello world! Best, K. -- Karsten Schmidt http://postspectacular.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. -- Andrey Antukh - Андрей Антух - andrei.anto...@kaleidos.net / n...@niwi.be http://www.niwi.be https://github.com/niwibe -- 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. -- Karsten Schmidt http://postspectacular.com | http://toxiclibs.org | http://toxi.co.uk -- 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.
Retrieving the namespace an expression in compiled in
I have some code that looks like this: (ns foo.bar.endpoint.example (:require [compojure.core :refer [routes GET]] [duct.util.resource :as resource])) (defn endpoint [config] (routes (GET / [] (resource/url foo/bar/endpoint/example/index.html In this case the resource/url function acts the same as clojure.java.io/resource. The problem is that I'd like to remove the repetition, so I extended resource/url with the ability to derive the resource path from a namespace object. (defn endpoint [config] (routes (GET / [] (resource/url *ns* index.html The problem with this approach is that the *ns* binding changes, and I want to fix it at compile time. I could write: (def this-ns *ns*) (defn endpoint [config] (routes (GET / [] (resource/url this-ns index.html But it's very tempting to use the eval reader form: (defn endpoint [config] (routes (GET / [] #=(resource/url *ns* index.html Or a macro: (defn endpoint [config] (routes (GET / [] (resource/url (this-ns) index.html Alternatively, I could do something with a quoted symbol: (defn endpoint [config] (routes (GET / [] (resource/url `index .html Or a keyword: (defn endpoint [config] (routes (GET / [] (resource/url ::index .html What does everything think is the best solution? I must admit I'm tempted to use the eval reader, as it makes it very explicit as to what's happening, while at the same time being very concise. On the other hand, the eval reader isn't often used, and isn't actually documented in the reader docs, just in the *read-eval* docs. - 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. For more options, visit https://groups.google.com/d/optout.
Re: Retrieving the namespace an expression in compiled in
On Oct 23, 2014, at 5:06 PM, James Reeves ja...@booleanknot.com wrote: Or a macro: (defn endpoint [config] (routes (GET / [] (resource/url (this-ns) index.html Perhaps a macro 'ns-path’: (defn endpoint [config] (routes (GET / [] (resource/url (ns-path index.html”) —Steve -- 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: Retrieving the namespace an expression in compiled in
FWIW, I've made macros out of parse and emit in my data.xml rework, for this purpose. cheers 2014-10-24 0:32 GMT+02:00 Stephen Gilardi scgila...@gmail.com: On Oct 23, 2014, at 5:06 PM, James Reeves ja...@booleanknot.com wrote: Or a macro: (defn endpoint [config] (routes (GET / [] (resource/url (this-ns) index.html Perhaps a macro 'ns-path’: (defn endpoint [config] (routes (GET / [] (resource/url (ns-path index.html”) —Steve -- 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] fast-zip 0.5.0 now with ClojureScript support
The implementation is API compatible but not compatible in terms of data structures. I suppose it could still be integrated on a major version change. In any case, I'm happy to donate the code if the core group wants. Would have to get sign off from the other authors too. On Tuesday, October 21, 2014 5:59:20 PM UTC-4, Robin Heggelund Hansen wrote: Any reason this isn't a patch to clojure proper? kl. 05:09:04 UTC+2 lørdag 4. oktober 2014 skrev Alexander Hudek følgende: Thanks to the wonderful work of Joel Holdbrooks, fast-zip now has ClojureScript support. See the benchmarks below. The ClojureScript benchmark only uses simple compiler optimizations. Git: https://github.com/akhudek/fast-zip Clojars: [fast-zip 0.5.0] CLJS has ~ 1.7x speedup: :clojure.zip x 116 ops/sec ±0.65% (83 runs sampled) :fast-zip x 194 ops/sec ±0.85% (92 runs sampled) Fastest is :fast-zip CLJ has ~ 5.2x speedup. == WARNING: Final GC required 1.467359386689346 % of runtime Goal: Benchmark vector zip. - Case: :clojure.zip Evaluation count : 60480 in 60 samples of 1008 calls. Execution time mean : 1.002237 ms Execution time std-deviation : 7.317531 µs Execution time lower quantile : 990.607677 µs ( 2.5%) Execution time upper quantile : 1.015757 ms (97.5%) Overhead used : 2.442790 ns Case: :fast-zip Evaluation count : 316140 in 60 samples of 5269 calls. Execution time mean : 191.258856 µs Execution time std-deviation : 2.819942 µs Execution time lower quantile : 188.802833 µs ( 2.5%) Execution time upper quantile : 198.838310 µs (97.5%) Overhead used : 2.442790 ns Found 8 outliers in 60 samples (13. %) low-severe 4 (6.6667 %) low-mild 4 (6.6667 %) Variance from outliers : 1.6389 % Variance is slightly inflated by outliers -- 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] Immutant 2.0.0-alpha2
One small nit with the documentation (web guide): like hello and howdy, hola begins with an h, albeit a silent one. -- 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: Question about test.check, and knossos
On Thursday, October 23, 2014 9:23:36 PM UTC-4, tcrayford wrote: Hi Andy, All, I wrote a tool like this: https://github.com/tcrayford/laundromat it's super hacky, and the api is definitely in beta. I asked some folk about reviewing this api, got little feedback, and figured it wasn't that much of a wanted thing after all. I still use it internally, but it's pretty bad at what it does right now. I'd love to hear if more folk are interested or if anybody's interested in contributing. Hi Tom, Your project looks interesting and I definitely think it has value. Where were you expecting feedback? When I have questions about a project like this, I'm never sure where to ask them. Stackoverflow? A github issue? Google groups? Anyway it looks pretty cool to my untrained eye but I'd be interested in hearing what Reid Draper or Kyle Kingsbury has to say about it. Do you mind me asking what made you decide to diverge from the original Erlang implementation? Also what makes it bad? I'd be interested in helping out if I can. Cheers, Andy -- 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] fast-zip 0.5.0 now with ClojureScript support
I think this will be awesome. If the data structures made a no-op, at least the testing code should help. Nice work Alexander! On Thursday, October 23, 2014 10:50:51 PM UTC-2, Alexander Hudek wrote: The implementation is API compatible but not compatible in terms of data structures. I suppose it could still be integrated on a major version change. In any case, I'm happy to donate the code if the core group wants. Would have to get sign off from the other authors too. On Tuesday, October 21, 2014 5:59:20 PM UTC-4, Robin Heggelund Hansen wrote: Any reason this isn't a patch to clojure proper? kl. 05:09:04 UTC+2 lørdag 4. oktober 2014 skrev Alexander Hudek følgende: Thanks to the wonderful work of Joel Holdbrooks, fast-zip now has ClojureScript support. See the benchmarks below. The ClojureScript benchmark only uses simple compiler optimizations. Git: https://github.com/akhudek/fast-zip Clojars: [fast-zip 0.5.0] CLJS has ~ 1.7x speedup: :clojure.zip x 116 ops/sec ±0.65% (83 runs sampled) :fast-zip x 194 ops/sec ±0.85% (92 runs sampled) Fastest is :fast-zip CLJ has ~ 5.2x speedup. == WARNING: Final GC required 1.467359386689346 % of runtime Goal: Benchmark vector zip. - Case: :clojure.zip Evaluation count : 60480 in 60 samples of 1008 calls. Execution time mean : 1.002237 ms Execution time std-deviation : 7.317531 µs Execution time lower quantile : 990.607677 µs ( 2.5%) Execution time upper quantile : 1.015757 ms (97.5%) Overhead used : 2.442790 ns Case: :fast-zip Evaluation count : 316140 in 60 samples of 5269 calls. Execution time mean : 191.258856 µs Execution time std-deviation : 2.819942 µs Execution time lower quantile : 188.802833 µs ( 2.5%) Execution time upper quantile : 198.838310 µs (97.5%) Overhead used : 2.442790 ns Found 8 outliers in 60 samples (13. %) low-severe 4 (6.6667 %) low-mild 4 (6.6667 %) Variance from outliers : 1.6389 % Variance is slightly inflated by outliers -- 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.
filter but for non-sequences
Is there anything simpler/more idiomatic than `(if (pred x) x)`? What I really want is something better than `(if (= (get a-map a-key) a-val) a-map)`/`(if (= (get-in a-map some-keys) a-val) a-map)`, but that might be too specific to have been 'cached' somewhere. -- 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: Question about test.check, and knossos
On Thursday, October 23, 2014 11:21:44 PM UTC-4, Andy Chambers wrote: On Thursday, October 23, 2014 9:23:36 PM UTC-4, tcrayford wrote: Hi Andy, All, I wrote a tool like this: https://github.com/tcrayford/laundromat it's super hacky, and the api is definitely in beta. I asked some folk about reviewing this api, got little feedback, and figured it wasn't that much of a wanted thing after all. I still use it internally, but it's pretty bad at what it does right now. I'd love to hear if more folk are interested or if anybody's interested in contributing. Hi Tom, Your project looks interesting and I definitely think it has value. Where were you expecting feedback? When I have questions about a project like this, I'm never sure where to ask them. Stackoverflow? A github issue? Google groups? Anyway it looks pretty cool to my untrained eye but I'd be interested in hearing what Reid Draper or Kyle Kingsbury has to say about it. Do you mind me asking what made you decide to diverge from the original Erlang implementation? Also what makes it bad? I'd be interested in helping out if I can. Also, while I'm here talking about test.check, there's a couple of bugs I'd like to report. * There's no link to the API docs in the README * I did manage to find some docs here (http://clojure.github.io/test.check/) but there is no link to the source like there is in the compojure codox documentation I tried to use JIRA after signing the CA but the secure signing page doesn't seem to be working at the moment (screenshot attached). Cheers, Andy -- 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.