Re: Looking for new maintainer for "fs"
Hello, If there are no voluntaries, I'm gladly accept to maintain it under funcool org :D Andrey On Wed, Feb 8, 2017 at 3:33 PM, Miki wrote: > Hi There, > > We're looking for a new maintainer for "fs". > See https://github.com/Raynes/fs/issues/106 and https://github.com/clojars > /clojars-web/issues/618 for context. > > If you're able and willing, please ping me. > > Thanks, > -- > Miki > > -- > 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 - Андрей Антух - http://www.niwi.nz https://github.com/niwinz -- 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: IoT: Clojurescript -> Jerryscript?
Seems like that jerryscript does not fully implement the ecmascript (3 and/or 5). I have tried to run a pretty complex test suite ( https://github.com/funcool/cats tests) under it (that already includes async code with promises and core.async among other stuff) and the code never executes without any error. There are also other js engines that are intended to be used for IoT, such are: v7 (https://docs.cesanta.com/v7/master/), mujs (http://mujs.com/), duktape (http://duktape.org/), ... After trying them all, I found that only duktape can run partially the funcool/cats test suite (core.async and promise stuff fails because of lacks support for setTimeout and other related stuff). If somebody interested on this, I have compiled the code targeting the browser with `:whitespace` optimization level (simple and advanced should also work as expected). Then, manually prepend to the compiled file `var window = this;` because duktape seems like does not have global object that is needed in some cases. v7 seems like it does not have support for labeled statements that are used in the cljs compiled code so it just fails with syntax error. I suspect that jerryscript fails in the same way, but without any error message. Andrey. On Wed, Jun 1, 2016 at 3:03 AM, Paul deGrandis wrote: > Hi Gregg, > > I've previously used ClojureScript to target other JavaScript engines (on > small devices and on Android), without any issue. You shouldn't need to do > anything special, but if something comes up and you hit a snag, just post > here. > > Good luck and have fun! > > Cheers, > Paul > > -- > 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 - Андрей Антух - http://www.niwi.nz https://github.com/niwinz -- 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: Clojars will be partially down for maintenance this weekend
Completely agree! Many thanks for your work! On Sat, Jun 18, 2016 at 10:49 PM, Howard Lewis Ship wrote: > It unfortunately goes unsaid, so I'll say it: thanks for working hard on > Clojars, and for doing a great job on communicating important status, such > as this downtime, to a community that is so reliant on your efforts. > > On Sun, Jun 12, 2016 at 6:07 PM, Toby Crawley wrote: > >> Clojars is back up; we ran in to an issue with the update, so had to >> roll it back. Once we fix the issue, we'll schedule another >> maintenance window. >> >> Please file an issue[1] if you experience any problems. >> >> - Toby >> >> [1]: https://github.com/clojars/clojars-web/issues >> >> On Fri, Jun 10, 2016 at 4:01 PM, Toby Crawley wrote: >> > At 2016-06-13 00:00:00 UTC[1], we'll be taking down the Clojars web >> > interface to do database maintenance and deploy some >> > features/fixes. The biggest change in this deploy will be the >> > introduction of sending a copy of deployed artifacts to Rackspace >> > CloudFiles to allow us to serve the repository from a more robust >> > location in the near future. >> > >> > We've scheduled an hour for the work, but it should take less. During >> > that time, the web interface, search api, and ability to deploy will >> > be unavailable, but the repository will still be readable, so projects >> > will still be able to build. >> > >> > To see the status of the work, watch our status page[2] or follow >> > @clojars on twitter[3]. >> > >> > [1]: for your local time, see >> > https://www.timeanddate.com/worldclock/fixedtime.html?iso=20160613T00 >> > [2]: http://status.clojars.org >> > [3]: https://twitter.com/clojars >> >> -- >> 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. >> > > > > -- > Howard M. Lewis Ship > > Senior Mobile Developer at Walmart Labs > > Creator of Apache Tapestry > > (971) 678-5210 > http://howardlewisship.com > @hlship > > -- > 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 - Андрей Антух - http://www.niwi.nz https://github.com/niwinz -- 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: can clojure have es7 async await
I'm not pretty sure if this answers your question, but I have similar async/await syntax already implemented in promesa library: http://funcool.github.io/promesa/latest/#async-await-syntax Regards. Andrey On Mon, May 23, 2016 at 4:07 PM, Xiangtao Zhou wrote: > hi Everyone, > > es7 async/await makes javascript easily understandable, and avoid the > callback hell. can clojure have one library like this? > > scala version is here https://github.com/scala/async. > > > Thanks. > > Joe. > > -- > 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 - Андрей Антух - http://www.niwi.nz https://github.com/niwinz -- 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} funcool/struct - yet another validation library for Clojure and ClojureScript.
Hi all. I am happy to announce the first public release of funcool/struct validation library. https://github.com/funcool/struct Why an other? I have started on my project using well know and very nice library: bouncer; that has worked pretty well for me, but over time I have needed some features that are missing: such as value coercion and dependent validators. Then, I decided to build a own one. And these are the main highlights of the resulting library: - Validators are defined using plain hash-maps instead of opaque macros. - Optional value coercion (very useful if you want to validate query params or form-data that by default comes as string). - Dependent validators (add the ability to the validator access to previos state, also useful for form-data validation). - Serves pretty well as simple data structure validation in the same way as bouncer or schema works and also works well for validate user input such as query params and forms. Github: https://github.com/funcool/struct Documentation: http://funcool.github.io/struct/latest/ Regards. -- Andrey Antukh - Андрей Антух - http://www.niwi.nz https://github.com/niwinz -- 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: New Clojars feature: atomic deploys
lease 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. > > > -- > 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 - Андрей Антух - http://www.niwi.nz https://github.com/niwinz -- 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] Ticket - an encrypted ticket/cookie library
Hi Michael! Firstly: nice work! Do you know about JWE? It does just the same thing but in a standarized/interoperable way: https://funcool.github.io/buddy-sign/latest/#introduction Andrey On Thu, Feb 11, 2016 at 8:21 AM, Michael Ball wrote: > Ticket helps create and read encrypted tickets/cookies with expiration > dates packaged inside. Feedback and security reviews are welcomed. > > https://github.com/mikeball/ticket > > Mike > > -- > 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 - Андрей Антух - http://www.niwi.nz https://github.com/niwinz -- 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: What's the best option similar to Vert.x, Reactor, Nodejs for use with Clojure?
The eventbus of vert.x as far as I know is implemented on top of hazelcast[1] that you already can use from clojure. Make a eventbus like concept on top of hazelcast is pretty easy and it already gives you the autodiscovery and all the "clustering" stuff for free. [1]; http://hazelcast.org/use-cases/messaging/ Andrey On Sat, Jan 23, 2016 at 1:50 PM, qsys wrote: > Depends on what you want... what I really like is the easy modularity: > deploy new 'verticles' somewhere in your network, and they're just all > connected through a the eventbus. I make a 'new' module, I put it somewhere > and it's automatically picked up by the appication and I can communicate > with it using that event bus. Is there something similar in clojure, or can > I achieve something similar in clojure? I checked > - catacumba: web toolkit, not what I'm after > - sente: is about the web > - aleph: comes closer: does have tcp-servers, but no autodiscovery, and > well, no 'event bus' (a kind of wrapper around netty etc). > - manifold: I don't really see the added value, having core.async - but I > may fail to see something important here > - pomegranate: is possibly very interesting in adding new modules... not > for removing 'old versions' of a module. > - pedestal: have to have a deeper look into it, but so far, I have a > feeling it's more about web than 'intra-program' communication > > So, so far, I don't see how to implement something like the vert.x event > bus, with autodiscovery, in clojure (although I would love to see something > like it), expanding to the browser. I don't mind (and prefer) composing it > using different libraries, but I feel to see how to have this functionality > in clojure (now, I wrap the vertx eventbus in my clojure programs), and > since I already load vertx for the eventbus, I use it as web server as > well, if I need one... So well, if someone has an idea, it might be a nice > project I'd love to work on :). > > thx, qsys > > Op zondag 3 januari 2016 22:25:04 UTC+1 schreef tbc++: >> >> I've done some evaluations of Vert.x in the past and was rather >> underwhelmed. What is it that you are trying to accomplish? Stuff like >> Pedestal offers async web services, but without the complexity of an >> traditional evented server. So perhaps if we had a better idea of your >> requirements we could be a bit more helpful. >> >> So I'd say, look into Pedestal and then define what you need that it >> cannot do. Same for other toolkits like ring and httpkit. >> >> Timothy >> >> On Sun, Jan 3, 2016 at 12:59 PM, adrians wrote: >> >>> >>> It used to be that Vert.x 2.x had integration for Clojure, but version >>> 3.x hasn't added it yet. Has anyone used this version through the Java API >>> and if so, how painful was it? Is Reactor <http://projectreactor.io/>any >>> better in that respect? What are people using when they want this kind of >>> back end? >>> >>> -- >>> 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. >>> >> >> >> >> -- >> “One of the main causes of the fall of the Roman Empire was that–lacking >> zero–they had no way to indicate successful termination of their C >> programs.” >> (Robert Firth) >> > -- > 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
Re: What's the best option similar to Vert.x, Reactor, Nodejs for use with Clojure?
Also, you can take a look to https://github.com/funcool/catacumba On Mon, Jan 4, 2016 at 12:35 AM, kovas boguta wrote: > I would also look at https://github.com/ztellman/aleph and > https://github.com/ztellman/manifold, but like Timothy says its hard to > judge without more details. > > > > > On Sun, Jan 3, 2016 at 4:24 PM, Timothy Baldridge > wrote: > >> I've done some evaluations of Vert.x in the past and was rather >> underwhelmed. What is it that you are trying to accomplish? Stuff like >> Pedestal offers async web services, but without the complexity of an >> traditional evented server. So perhaps if we had a better idea of your >> requirements we could be a bit more helpful. >> >> So I'd say, look into Pedestal and then define what you need that it >> cannot do. Same for other toolkits like ring and httpkit. >> >> Timothy >> >> On Sun, Jan 3, 2016 at 12:59 PM, adrians wrote: >> >>> >>> It used to be that Vert.x 2.x had integration for Clojure, but version >>> 3.x hasn't added it yet. Has anyone used this version through the Java API >>> and if so, how painful was it? Is Reactor <http://projectreactor.io/>any >>> better in that respect? What are people using when they want this kind of >>> back end? >>> >>> -- >>> 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. >>> >> >> >> >> -- >> “One of the main causes of the fall of the Roman Empire was that–lacking >> zero–they had no way to indicate successful termination of their C >> programs.” >> (Robert Firth) >> >> -- >> 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. > -- Andrey Antukh - Андрей Антух - http://www.niwi.nz https://github.com/niwinz -- 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] dewdrop 0.1.0 -- lenses made simple(r?)
Hi Bil. On Sat, Jan 2, 2016 at 2:26 AM, William la Forge wrote: > Hi again Andrey! > > Not to drag this out, but you seem to have missed my main point, which > also means that I failed to make it. :-) > > Understanding how comp works and seeing the function, lens, for defining a > cat's lens, it is not at all obvious how a cat's lens works. On the other > hand, the dewdrop lens constructor simply creates a record. And a quick > review of the code for dewdrop's ladd shows clearly how dewdrop lenses are > composed. Dewdrop then allows a developer to leverage ones own intuition. > So a developer may quickly pick up on how to use cat, but must trust that > any bugs lie in that developer's own code. Or perhaps take time to learn > how a cat lens works at 3 AM when the servers are crashing. Not likely, > I'll grant you. But I prefer not to have to trust in magic when I have a > choice. Too often such magic has a domain that is a bit different than what > I was expecting. Not understanding how something works, I usually lack a > similar understanding as to when I should or should not use it. > Thanks for the explanation. For use dewdrop you should know how to work records and closures for fully understand all operations. With cats you should understand how to work only closures. In fact, with ladd and record you are just doing the same thing that clojure.core can do but you are just re-implementing something that clojure.core offers. I think that you are declaring that comp and closures are not obvious because you don't know how they work and your solution is just re-implement them using familiar components for you, and thinking that understand your code will be more easy that understand how comp works (and justifying that you don't want to learn them when the server crashes at 3 AM (that seems a fallacy instead of argument)) This is not about complicated things with strange and not obvious abstractions, is about to understand the language and the facilities that it already provides instead re-implementing everything that one do not know how it works. We have done cats with the same argument that you are defending now here: bring near the complicated and cryptic (non very obvious) abstractions from haskell in clojure using simple and familiar components making the learning curve more affordable. I agree with your "main argument" that things should not to be complicated and not obvious if them can be simple and obvious... > > Keep in mind also that clojure has a lot more than just functions, and > composition applies to a lot more things than just functions as well. > Indeed, my favorite technique is compositions of bags of properties serving > in place of objects. So learning how to call a method to compose two > records is hardly a stretch and well worth the price for being able to > understand what is going on internally. > > On Friday, January 1, 2016 at 3:35:29 PM UTC-5, Andrey Antukh wrote: > >> >> >> On Fri, Jan 1, 2016 at 9:53 PM, William la Forge >> wrote: >> >>> Andrey, >>> >>> This is where I have a problem. Ii could have implemented dewdrop lenses >>> as functions that could be composed. But the code would be harder to >>> understand and possibly be slower. I just do not see the point. >>> >> >> I agree with your main argument, but I don't know how using records makes >> thinks more easy understandable in this concrete case and how using >> functions over records will make code slower. Transducers has a performance >> improvements over classical transformation compositions, and in this case, >> the cats lenses leverage the same technique. >> >> >>> >>> Implementing dewdrop lenses as records makes it dirt simple for anyone >>> to create more kinds of lenses. And the ladd function to create a new >>> record with the composed getter and setter functions is pretty clean as >>> well. >>> >> >> Yes but it implies more api to know, that is not bad but if you limit the >> set of new api that one should learn/use, will contribute to more familiar >> and easy api. Adding new api also implies more time to understand it and >> remember when it should be used. >> >> >>> >>> Isn't it more important to have code you can analyze easily, and which >>> even a novice clojurist like myself can embrace and enhance a whole lot >>> more important than being able to say that we can use comp to compose these >>> lenses??? >>> >> >> Yes, I agree with you, the code readability is very very important. But >> this concrete case I don't found big differences in code readability: >
Re: [ANN] dewdrop 0.1.0 -- lenses made simple(r?)
On Fri, Jan 1, 2016 at 9:53 PM, William la Forge wrote: > Andrey, > > This is where I have a problem. Ii could have implemented dewdrop lenses > as functions that could be composed. But the code would be harder to > understand and possibly be slower. I just do not see the point. > I agree with your main argument, but I don't know how using records makes thinks more easy understandable in this concrete case and how using functions over records will make code slower. Transducers has a performance improvements over classical transformation compositions, and in this case, the cats lenses leverage the same technique. > > Implementing dewdrop lenses as records makes it dirt simple for anyone to > create more kinds of lenses. And the ladd function to create a new record > with the composed getter and setter functions is pretty clean as well. > Yes but it implies more api to know, that is not bad but if you limit the set of new api that one should learn/use, will contribute to more familiar and easy api. Adding new api also implies more time to understand it and remember when it should be used. > > Isn't it more important to have code you can analyze easily, and which > even a novice clojurist like myself can embrace and enhance a whole lot > more important than being able to say that we can use comp to compose these > lenses??? > Yes, I agree with you, the code readability is very very important. But this concrete case I don't found big differences in code readability: ;; dewdrop (defn key-lens [k] (lens. (fn [d] (get d k)) (fn [d v] (assoc d k v ;; cats (defn key [k] (lens (fn [s] (get s k)) (fn [s f] (update s k f The code is mostly the same... > I see good engineering as leveraging computer science so the programming > grunts can make effective use of it. Programming is real grunt work, after > all. No matter how much you dress it up, we all needs must get our hands > dirty and put our backs into it. > My two cents. Andrey > > Bill > > On Friday, January 1, 2016 at 9:09:08 AM UTC-5, Andrey Antukh wrote: >> >> Hi! >> >> I have read the readme and I don't found a big evidence of something >> wrong so, nice work! >> Furthermore, do you know about https://github.com/funcool/cats ? It has >> a lens and traversable implementation for clj/cljs. You can read the >> related documentation here: http://funcool.github.io/cats/latest/#lens . >> >> You can found that lenses, using cats approach, are working just like >> transducers (function composition), you do not need any special function >> for combine lenses, just use comp. One of the readme examples (from your >> repository) that combines two lenses, in cats can be written in this way: >> >> (require '[cats.labs.lens :as l]) >> (def xy-lens (comp (l/key :x) (l/key :y)) >> ;; Or just use (l/in [:x :y]) >> >> (l/focus xy-lens {:x {:y 1}}) >> ;; => 1 >> (l/over xy-lens inc {:x {:y 1}}) >> ;; => {:x {:y 2}} >> >> Happy new year! >> Andrey >> >> On Fri, Jan 1, 2016 at 2:54 PM, William la Forge >> wrote: >> >>> I've been looking at lenses and while it looks pretty simple and very >>> useful, I had a hard time getting it. So I came up with my own take on >>> lenses. https://github.com/laforge49/dewdrop#readme >>> >>> So perhaps I still do not understand lenses and what I've done is wrong. >>> Or perhaps having been through the exercise I'm now getting it and what >>> I've done is no simpler than what everyone else has done. Or perhaps I've >>> just described things with fewer technical terms. >>> >>> So I'd appreciate it if you would review this very short document and >>> tell me what I don't understand. Or that I've actually done something >>> worthwhile with lenses??? >>> >>> Thanks! >>> Bill >>> >>> -- >>> 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
Re: [ANN] dewdrop 0.1.0 -- lenses made simple(r?)
Hi! I have read the readme and I don't found a big evidence of something wrong so, nice work! Furthermore, do you know about https://github.com/funcool/cats ? It has a lens and traversable implementation for clj/cljs. You can read the related documentation here: http://funcool.github.io/cats/latest/#lens . You can found that lenses, using cats approach, are working just like transducers (function composition), you do not need any special function for combine lenses, just use comp. One of the readme examples (from your repository) that combines two lenses, in cats can be written in this way: (require '[cats.labs.lens :as l]) (def xy-lens (comp (l/key :x) (l/key :y)) ;; Or just use (l/in [:x :y]) (l/focus xy-lens {:x {:y 1}}) ;; => 1 (l/over xy-lens inc {:x {:y 1}}) ;; => {:x {:y 2}} Happy new year! Andrey On Fri, Jan 1, 2016 at 2:54 PM, William la Forge wrote: > I've been looking at lenses and while it looks pretty simple and very > useful, I had a hard time getting it. So I came up with my own take on > lenses. https://github.com/laforge49/dewdrop#readme > > So perhaps I still do not understand lenses and what I've done is wrong. > Or perhaps having been through the exercise I'm now getting it and what > I've done is no simpler than what everyone else has done. Or perhaps I've > just described things with fewer technical terms. > > So I'd appreciate it if you would review this very short document and tell > me what I don't understand. Or that I've actually done something worthwhile > with lenses??? > > Thanks! > Bill > > -- > 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 - Андрей Антух - http://www.niwi.nz https://github.com/niwinz -- 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] bouncer 1.0.0
Nice work! Thanks! On Mon, Dec 21, 2015 at 11:15 AM, Leonardo Borges < leonardoborges...@gmail.com> wrote: > bouncer is a validation library for Clojure apps > > > Github: https://github.com/leonardoborges/bouncer > Clojars: https://clojars.org/bouncer > > > The main change with 1.0.0 is that all validators are now optional by > default. This fixes pre-existing API inconsistencies. bouncer now works > with Clojurescript! - thanks Robin(@Skinney)! > > Additionally, since this is a breaking change, I bumped the version to > 1.0.0 and will be using Semantic Versioning (http://semver.org/) from now > on. > > Full CHANGELOG: > https://github.com/leonardoborges/bouncer/blob/master/CHANGELOG.md > > > Enjoy! :) > > > Leonardo Borges > www.leonardoborges.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 - Андрей Антух - http://www.niwi.nz https://github.com/niwinz -- 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: JDBC Rollbacks and Exceptions
If I understand it properly, this is a expected behavior in most databases. The common way for solve this, is wrapping the expected to fail code in a sub-transaction (or savepoint in database words). If that code fails, the sub-transaction will be aborted, but the main transaction will continue to be alive. With this approach you not need a complete rollback of the transaction (and no connection reset). The main problem here is that as far as I know, clojure.java.jdbc does not has support for subtransactions. If you nest transactions, the nested transactions does nothing and everything is joined in one unique main transaction. Without aims to do spam, it there alternatives to clojure.java.jdbc that already supports sub-transactions/savepoints [1] and [2] among other transaction strategies. [1]: https://github.com/funcool/suricatta [2]: https://github.com/funcool/clojure.jdbc Andrey On Fri, Nov 13, 2015 at 8:49 AM, Andy Chambers wrote: > On Friday, October 30, 2015 at 5:22:40 PM UTC-7, Sean Corfield wrote: >> >> Could you provide a bit more context? >> >> We’re using clojure.java.jdbc very heavily in production and we don’t >> see any problems with exceptions. >> > > Hi Sean, > > I threw up an example repo demonstrating the type of test I'd like to be > able to write somehow. Maybe I'm just > trying to test something that should be tested in other ways. > > https://github.com/cddr/jdbc-demo > > 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. > -- Andrey Antukh - Андрей Антух - http://www.niwi.nz https://github.com/niwinz -- 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] HugSQL 0.1.1 - Embrace SQL
Really great! I have find in the past some library like yesql that not dependes on the clojure.java.jdbc. Nice work! On Thu, Oct 22, 2015 at 4:10 AM, Robin Heggelund Hansen < skinney...@gmail.com> wrote: > This looks great, seems to solve all the problems I have with YeSQL. Great > work :D > > -- > 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 - Андрей Антух - http://www.niwi.nz https://github.com/niwinz -- 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: HP Fortify Security Scanner and Clojure
Maybe you can found the answer here http://stackoverflow.com/a/6590437 Regards. Andrey On Wed, Oct 21, 2015 at 11:35 PM, ryan medlin wrote: > A customer requires that we scan our clojure projects with this tool: > > http://www8.hp.com/us/en/software-solutions/static-code-analysis-sast/ > > > They must get some meaningful report from this. > > So I thought, well why don't I compile and then decompile the class files > and then scan those to at least give them something. > > However when I do that I get a TON of high security issues in multiple > dependencies (ring, clojure.core) > > Here is the most prevalent: > > https://cwe.mitre.org/data/definitions/476.html > > /* */ package nio; > /* */ > /* */ import clojure.lang.AFunction; > /* */ import clojure.lang.IFn; > /* */ import clojure.lang.RT; > /* */ import clojure.lang.Var; > /* */ import java.nio.Buffer; > /* */ import java.nio.ByteBuffer; > /* */ > /* */ public final class core$fn__1869 extends AFunction > /* */ { > /* 284 */ public static final Var const__0 = (Var)RT.var("clojure.core", > "make-array"); > /* */ > /* */ public Object invoke(Object x) > /* */ { > /* 297 */ x = null; Object x = ((ByteBuffer)x).duplicate(); > /* 298 */ Object array = > ((IFn)const__0.getRawRoot()).invoke(Byte.TYPE, > Integer.valueOf(((Buffer)x).remaining())); > /* 299 */ x = null; ((ByteBuffer)x).get((byte[])array); array = null; > return array; > /* */ } > /* */ } > > > Decompiler: > > http://jd.benow.ca/ > > Id the decompiler somehow generating code with these security issues and > the actual bytecode does not have them maybe? > > > I have no idea how to move forward with this. We have to "check a box" > for them in corporate speak yet there is no clear path to run a dependable > security scan against the codebase. > > > Yes I realize this is silly to demand running this tool. > > Any other tools out there that might be able to scan Clojure code like > this? > > > > -- > 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 - Андрей Антух - http://www.niwi.nz https://github.com/niwinz -- 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] Yesql 0.5.1 Released.
Great work! Any change for have yesql decoupled from java.jdbc? I really want to use it, but with other jdbc libraries... Regards Andrey On Thu, Oct 8, 2015 at 12:55 AM, Kris Jenkins wrote: > Yesql - the Clojure library for using SQL - has just released v0.5.1. > > The API is much improved - especially if you're using queries with many > arguments - so see the migration guide if you're upgrading: > > My thanks to everyone who has contributed to this release, and for all the > users who've been patiently waiting for v0.5 to go official. :-) > > Kris > > -- > 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 - Андрей Антух - http://www.niwi.nz https://github.com/niwinz -- 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: Trying to understand Clojure/Java concurrency performance?
http-kit made a claim of 600K connections in > 2013. But I can't find any other supporting evidence that it can do that > reliably. It also seems to have stagnated a bit as a project which is > unfortunate. > > Thanks Again for your input and guidance! > -- Nick > > > > > > > > On Tuesday, October 6, 2015 at 9:57:45 PM UTC-6, Nick Pavlica wrote: > >> Dear Clojure/Java Experts, >> Earlier today I posted a question to the Immutant google group asking >> them a question about large numbers of concurrent websocket connections and >> their server. A member of the group kindly responded with a link ( >> https://github.com/ptaoussanis/clojure-web-server-benchmarks) to some >> fairly recent benchmarks that included a number of Clojure/Java servers. >> After looking at the numbers in the benchmark, I was a little disappointed >> to see that they were only serving 60K connections as compared to other >> solutions like Erlang which seem to be capable of 1-2+ million connections >> on similar hardware. The difference on the surface seems dramatic, and I >> was wondering if someone could help clarify the numbers for me. It makes >> me wounder if there is a JVM solution that can even meet these numbers half >> way, or if I'm missing something? >> >> Many Thanks! >> --Nick >> >> >> ### Discussion from the Immutant Google group ## >> >> All, >> I'm a new Clojure developer, and I'm looking for a webserver that can >> handle a large number of concurrent websocket connections. I understand >> that this question is a little/very vague, and is dependent on many factors >> like the OS, it's Kernal, amount of RAM in the system, etc. However, there >> are a number of generalized claims out there, and I was wondering if anyone >> has done any basic testing/benchmarking with Immutant/Undertow? >> >> Examples: >> >> - http://www.http-kit.org/600k-concurrent-connection-http-kit.html >> >> - >> http://highscalability.com/blog/2013/5/13/the-secret-to-10-million-concurrent-connections-the-kernel-i.html >> >> - https://en.wikipedia.org/wiki/C10k_problem >> >> - https://vimeo.com/44312354 >> >> - And so on ... >> >> Thanks! >> --Nick >> >> >> -- >> >> Hi Nick, >> Here are some fairly recent benchmarks that are relevant: >> https://github.com/ptaoussanis/clojure-web-server-benchmarks >> >> --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. > -- Andrey Antukh - Андрей Антух - http://www.niwi.nz https://github.com/niwinz -- 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: Help with macro.
On Sat, Oct 3, 2015 at 5:24 PM, gianluca torta wrote: > Hi, > > the behavior you describe is not specific to macros, but is due to the use > of aliases > > after: > (require '[foo.bar :as b]) > > this will give you false: > (= 'foo.bar/x (first '(b/x))) > > while this will give you true: > (= 'foo.bar/x (first '(foo.bar/x))) > > one way to solve it, is comparing the resolved vars instead of the names: > (= (resolve 'foo.bar/x) (resolve (first '(b/x > ;=>true > (= (resolve 'foo.bar/x) (resolve (first '(foo.bar/x > ;=>true > > Yes, your solution works, but only on clojure. ClojureScript doesn't have `resolve`. It there any portable solution? Thanks! Andrey > hth, > Gianluca > > > > On Saturday, October 3, 2015 at 3:03:49 PM UTC+2, Andrey Antukh wrote: > >> Hi! >> >> I have a little trouble writing a macro because I'm getting unexpected >> (for me) behavior. >> >> Let see some code: >> >> (ns foo.bar) >> >> (defn debug >> [x] >> (println "debug:" x) >> x) >> >> (defn debug-expr? >> [expr] >> (and (seq? expr) >>(symbol? (first expr)) >>*(= 'foo.bar/debug (first expr))*)) >> >> (defmacro without-debug >> [& body] >> (let [body' (reduce (fn [acc v] >> (if (debug-expr? v) >> (conj acc (second v)) >> (conj acc v))) >> [] body)] >> `(do >>~@body'))) >> >> >> And then I use it from other namespace: >> >> (ns foo.baz) >> >> (require '[foo.bar :as b]) >> >> (macroexpand '(b/without-debug (b/debug 3))) >> ;; => (do (b/debug 3)) >> >> (macroexpand '(b/without-debug (foo.bar/debug 3))) >> ;; =>(do 3) >> >> I expect that the both expressions will evaluate to the same result, but >> is not. Seems that symbols inside macros are not fully qualified. It there >> any way to get them fully qualified? I'm missing something? >> >> Any help is welcome! >> >> Thank you very much. >> >> Andrey >> -- >> Andrey Antukh - Андрей Антух - >> http://www.niwi.nz >> https://github.com/niwinz >> > -- > 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 - Андрей Антух - http://www.niwi.nz https://github.com/niwinz -- 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.
Help with macro.
Hi! I have a little trouble writing a macro because I'm getting unexpected (for me) behavior. Let see some code: (ns foo.bar) (defn debug [x] (println "debug:" x) x) (defn debug-expr? [expr] (and (seq? expr) (symbol? (first expr)) *(= 'foo.bar/debug (first expr))*)) (defmacro without-debug [& body] (let [body' (reduce (fn [acc v] (if (debug-expr? v) (conj acc (second v)) (conj acc v))) [] body)] `(do ~@body'))) And then I use it from other namespace: (ns foo.baz) (require '[foo.bar :as b]) (macroexpand '(b/without-debug (b/debug 3))) ;; => (do (b/debug 3)) (macroexpand '(b/without-debug (foo.bar/debug 3))) ;; =>(do 3) I expect that the both expressions will evaluate to the same result, but is not. Seems that symbols inside macros are not fully qualified. It there any way to get them fully qualified? I'm missing something? Any help is welcome! Thank you very much. Andrey -- Andrey Antukh - Андрей Антух - http://www.niwi.nz https://github.com/niwinz -- 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: Type hint using protocol
On Tue, Sep 8, 2015 at 9:31 PM, William la Forge wrote: > I'm finally looking at warn on reflection. Everything is going fine except > in the nodes.clj file where I define a protocol, INode, with a method, > new-node and then try to call that method from a function, revise. > > I'm using Clojure 1.7.0 and the file is > https://github.com/laforge49/aatree/blob/master/src/aatree/nodes.clj > The reflection warning occurs on line 51. > This is because you are using the "method" access. That is only available when the protocol is extended as interface. As example you can not use this way (a method access to the protocol) if you extend the type/class using `extend` or `extend-protocol`. For remove reflection, you should add the appropriate type hint with the `aatree.nodes.INode` interface (generated automatically when you are defining the protocol). If you have plans for using it always as interface (by method access), maybe you should use `definterface` instead. > > Depending on what I try, either I get a class not found compiler error for > file nodes.cli or a runtime error that new-node is NOT a member of the > record that implements INode. I've spent hours on this and have tried many > different things to no avail. > > My reason for using a method in a protocol is that I have several records > that implement it and I'm trying to not duplicate functions which take the > protocol as an argument. > > > Oh yes, because I'm also using genclass, I have no option but to use AOT. > > On Sunday, January 12, 2014 at 8:52:14 AM UTC-5, Jim foo.bar wrote: >> >> there you go: >> >> (defprotocol IBark >> (bark [this])) >> >> (in-ns 'other) >> (set! user/*warn-on-reflection* true) >> >> (clojure.core/defrecord Dog [] >> user/IBark >> (bark [_] (clojure.core/println "WOOF!"))) >> >> (def d (Dog.)) >> >> (user/bark d) ;;NO reflection >> >> (.bark d) ;;reflection >> >> it should be obvious now :) >> >> Jim >> >> >> On 12/01/14 13:38, Jim - FooBar(); wrote: >> >> It is not compiling because it cannot find the function...either fully >> qualify it like in my previous email or change your ns declaration to >> something like: >> >> [cqrs.storage :as stora] >> >> and then simply use stora/ret-value, stora/write, stora/write-batch >> >> Jim >> >> >> >> On 12/01/14 13:26, bob wrote: >> >> If I remove the dot, it cannot be compiled. can you give an example? >> >> On Sunday, January 12, 2014 9:22:00 PM UTC+8, Jim foo.bar wrote: >>> >>> I am suspecting you are calling the protocol implementations via the `.` >>> form, whereas you should be going via the protocol itself (whatever >>> namespace that may be in). >>> >>> Jim >>> >>> -- >> -- >> 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/groups/opt_out. >> >> >> >> -- > 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 - Андрей Антух - http://www.niwi.nz https://github.com/niwinz -- 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: #{:rant} Questions about contribution policy and clojure compiler source.
Is there any need to speak with this tone and this arrogance? It's just an attempt to improve things, and I think there is nothing negative about it. I think the initial motivation of this email is change things to be better and with good intentions. It make sense to attack good intentions without any needs? We are all adults and we should all be able to talk about issues in a more calm manner, without arrogance and with understanding. This kind of responses not only discourages participating in clojure development, it also damages the community and completely discourages the participation in this mailing list. Personally, this kind of things discourages me completely from participating in this mailing list. My two cents! Andrey On Sun, Jul 19, 2015 at 5:19 PM, Luc Préfontaine < lprefonta...@softaddicts.ca> wrote: > Prioritizing the 'good' form over the substance is the first step toward > political correctness and lobotomy. Civility is more about form than > substance and has > various meaning depending on the people involved. You can say horrendous > things > using a civil tone. It's as unbearable as a crude statement with a lot of > bad words. > > As far as aspiring to be not as rude as Linus, yeah, he's kind of extreme. > But becoming a care bear is not on my list of todos. Dying by civilicide > either. > > As far as I know, I did not used obscene words or used bird names toward > people. > If my kind of humor is not your taste it's a legit critic and I can take > it. > > If you have specific complaints about my tone we can pursue this off list > if needed. > That's channel is opened for anyone that may need to let steam out. > > If there's enough interest, I can even start a blog and publish emailed > comments/complaints as is and anonymously if asked for. > > Some are stamp collectors, I could start an original collection of my own. > > > Sent from my iPad > > On Jul 19, 2015, at 09:36, Colin Fleming > wrote: > > On 18 July 2015 at 19:54, Luc Préfontaine > wrote: > >> My tone does not please you ? It could be worse and I reserve my right to >> free speech. Have a look at some Linus rants. I am far from that level. >> > > I think everyone in this community should aspire to more than "I'm not as > rude as Linus". > > >> There's nothing that makes me shiver more than political correctness. >> > > Political correctness has nothing to do with remaining civil in a > discussion. > > > On Jul 18, 2015, at 13:32, Andrey Antukh wrote: >> >> >> >> On Sat, Jul 18, 2015 at 8:18 PM, Luc Prefontaine < >> lprefonta...@softaddicts.ca> wrote: >> >>> Aaah ! The pull request looms again :) >>> >>> A bug tracking system is essentialy to coordinate efforts, pull request >>> are not a mechanism to track fixes/improvements and discuss about >>> them. That may work for a very small team. The # of clojure contributors >>> far excess that size. >>> >> >> >> >> >>> >>> Pull requests/gitbhub issues are used by Clojure library maintainers >>> outside of the core, >>> their respective contributor team size makes this usable. >>> >>> Choosing one tracking system is a feat by itself, Jira does everything >>> albeit it may be a beast to configure. >>> I think that the choice of Jira predates moving the Clojure code from >>> google to github but I may be wrong. >>> The github tracking system was not at par with Jira features at that >>> time anyway. >>> >>> Once that choice is done, moving out to something else requires a >>> significant effort, you need to pull all this history you built about >>> your software into your new bug tracking solution. You can't loose this, >>> it's your software collective memory. >>> >>> All this discussion around pull request IMO is more an expression of >>> human lazyness. Having to document is always seen as a >>> chore by most developpers. This is not an arcane human trait, it has >>> been known for decades. >>> >>> Anything else requires a discussion forum if you want to maintain a >>> minimal level of quality and allow some discussions around the issue being >>> fixed >>> in a large team effort/critical piece of software. A mailing list is not >>> at par with a bug tracking system in this regard. >>> >>> Curiously, linux has a bug tracking system and people submit patches or >>> links are made to patches. >>> Take a walk on launchpad. >>>
Re: #{:rant} Questions about contribution policy and clojure compiler source.
On Sat, Jul 18, 2015 at 8:18 PM, Luc Prefontaine < lprefonta...@softaddicts.ca> wrote: > Aaah ! The pull request looms again :) > > A bug tracking system is essentialy to coordinate efforts, pull request > are not a mechanism to track fixes/improvements and discuss about > them. That may work for a very small team. The # of clojure contributors > far excess that size. > > > Pull requests/gitbhub issues are used by Clojure library maintainers > outside of the core, > their respective contributor team size makes this usable. > > Choosing one tracking system is a feat by itself, Jira does everything > albeit it may be a beast to configure. > I think that the choice of Jira predates moving the Clojure code from > google to github but I may be wrong. > The github tracking system was not at par with Jira features at that time > anyway. > > Once that choice is done, moving out to something else requires a > significant effort, you need to pull all this history you built about > your software into your new bug tracking solution. You can't loose this, > it's your software collective memory. > > All this discussion around pull request IMO is more an expression of human > lazyness. Having to document is always seen as a > chore by most developpers. This is not an arcane human trait, it has been > known for decades. > > Anything else requires a discussion forum if you want to maintain a > minimal level of quality and allow some discussions around the issue being > fixed > in a large team effort/critical piece of software. A mailing list is not > at par with a bug tracking system in this regard. > > Curiously, linux has a bug tracking system and people submit patches or > links are made to patches. > Take a walk on launchpad. > > No serious software business would drive their dev without a tracking > system. Open source projects are no > different if they want to attain some level of success. If critical open > source is to be used by businesses, it has to > play with similar tools. Clojure too me is critical to my business and to > many others. It cannot fail on us. > It would be like building pyramids on moving sand. > > Again there's no Kumbaya song playing here. > > As a last note, Alex Miller must dream about the emails exchanged on the > mailing list. > Suggestions are certainly looked upon and discussed upstream. It does not > mean that they will be considered > worth to investigate/implement or they may come out differently (that ego > thing looming again). > > +1 for Jira and patches. > The django community works with both tools. Pull request are just for code review and patch attachment mechanism, and bug tracking system for coordinate the efforts. Both them are not incompatible. And django core team is not precisely small. The Pull-Request is not about laziness, is about eliminate friction. And allow better and more human friendly code review process. I'm only try improve the contribution process and IMHO your tone is a little bit out of place. > Luc P. > > > > On Sat, 18 Jul 2015 19:05:16 +0300 > Andrey Antukh wrote: > > > On Sat, Jul 18, 2015 at 6:48 PM, Colin Yates > > wrote: > > > > > +1 (although I maybe wouldn’t be so mocking in my tone ;-). Since > > > when did software design by committee work; anyone remember J2EE? > > > (and yes, that does deserve my mocking tone). > > > > > > I have no idea about the details being discussed here/why people’s > > > noses are out of joint, but I can think of as many success with a > > > single overlord in place as there are failures caused by political > > > infighting. > > > > > > > In general, I'm pretty happy with the "benevolent dictator" approach. > > But some openness would be awesome. As first think that comes in my > > mind is: have a clear roadmap for Clojure and its core libraries such > > as core.async. > > > > Some channel for requesting features, and the ability to know a > > opinion of the clojure core team about the possibility of the > > inclusion of some requested feature. > > > > Also would be awesome have more painless contribution process. I'm ok > > for signing CA, but using patches instead of something like pull > > requests (with or without additional review tool) is very arcane and > > uncomfortable process. > > > > I don't suggest to change to something similar to "design by > > committee". I only suggest that make some facilities for contribute > > may attract more interesting people. And will make more happy > > excellent contributors like Zach Tellman or Aphyr. &
Re: #{:rant} Questions about contribution policy and clojure compiler source.
On Sat, Jul 18, 2015 at 6:48 PM, Colin Yates wrote: > +1 (although I maybe wouldn’t be so mocking in my tone ;-). Since when did > software design by committee work; anyone remember J2EE? (and yes, that > does deserve my mocking tone). > > I have no idea about the details being discussed here/why people’s noses > are out of joint, but I can think of as many success with a single overlord > in place as there are failures caused by political infighting. > In general, I'm pretty happy with the "benevolent dictator" approach. But some openness would be awesome. As first think that comes in my mind is: have a clear roadmap for Clojure and its core libraries such as core.async. Some channel for requesting features, and the ability to know a opinion of the clojure core team about the possibility of the inclusion of some requested feature. Also would be awesome have more painless contribution process. I'm ok for signing CA, but using patches instead of something like pull requests (with or without additional review tool) is very arcane and uncomfortable process. I don't suggest to change to something similar to "design by committee". I only suggest that make some facilities for contribute may attract more interesting people. And will make more happy excellent contributors like Zach Tellman or Aphyr. I think that things like this are not very complicated to adopt and has a lot of benefit. My two cents! > > On 18 Jul 2015, at 16:44, Luc Prefontaine > wrote: > > Sure, indentation is what gets the code running on metal :)) > > Not ranting here, just my abs dying from the pain as I laugh :)) > > As for the contrib process, go have a look at Linux. You'll be happy that > Rich is cool by every meaning of the word. > > There's this misconception about open source that we should all wear > flower collars and sing Kumbaya. Mostly a 60's view of human collaboration. > > That ain't the way to get it done. > It works for ants and termites, they work as groups but we are human > beings with our strong individuality. > > Some form of central control is needed. Opposed by traction from some > individuals that would like to move faster or in other directions. > > This is ok but not at the expense of the cohesion of the end result. > > Hence this tensed balance. > > Rich created Clojure, he knows were he wants to go with it. Any ideas we > bring in the process is evaluated. However not all of them make sense or > are worth the effort to implement. > > Aside from our respective ego being hurt because our ideas are not > retained or our contribs vetted in the first pass there's little damage > done. > > If it was not the case Clojure would have zero traction and Linux > likewise. Search for Linus rants about contributors and try to relate this > with the level of success of Linux. > > They are not so many open source projects that have the same stability > from release to release as Clojure or Linux. > > Control and absence of complacency are key factors to achieve this kind of > success. > > Luc P. > > Sent from my iPhone > > On Jul 18, 2015, at 07:13, Andrey Antukh wrote: > > Hi! > > I have some, maybe controversial, questions... > > A little bit of context: > https://twitter.com/aphyr/status/621806683908542464 > > Why this is like a normal approach for managing third party contributions > to clojure core? This kind of things the only discourages the > contributions. Maybe I don't have more context about this concrete case, > but seems is not a unique. > And in general, I have the perception that the clojure development process > is a little bit opaque... > > An other question: Why the great amount of clojure compiler code has no > indentation style and bunch of commented code. > > It is indented like a freshman. Sorry, I don't want offend any one, but > eyes hurt when reading the code compiler clojure (obviously I'm speaking > about the look and feel, and no the quality of the code). > > Some examples: > > Indentation (or maybe no indentation): > > https://github.com/clojure/clojure/blob/36d665793b43f62cfd22354aced4c6892088abd6/src/jvm/clojure/lang/APersistentVector.java#L86 > > Bunch of commented code and also no indentation: > > https://github.com/clojure/clojure/blob/master/src/jvm/clojure/lang/AMapEntry.java#L60 > > If you compare some clojure compiler code with different code snippets > from other languages, the indentation is clearly more cared: > > Kotlin: > https://github.com/JetBrains/kotlin/blob/master/core/descriptors/src/org/jetbrains/kotlin/types/AbstractClassTypeConstructor.java#L44 > Rust: > https://github.com/rust-lang/rust/blob/master/src/libstd/i
#{:rant} Questions about contribution policy and clojure compiler source.
Hi! I have some, maybe controversial, questions... A little bit of context: https://twitter.com/aphyr/status/621806683908542464 Why this is like a normal approach for managing third party contributions to clojure core? This kind of things the only discourages the contributions. Maybe I don't have more context about this concrete case, but seems is not a unique. And in general, I have the perception that the clojure development process is a little bit opaque... An other question: Why the great amount of clojure compiler code has no indentation style and bunch of commented code. It is indented like a freshman. Sorry, I don't want offend any one, but eyes hurt when reading the code compiler clojure (obviously I'm speaking about the look and feel, and no the quality of the code). Some examples: Indentation (or maybe no indentation): https://github.com/clojure/clojure/blob/36d665793b43f62cfd22354aced4c6892088abd6/src/jvm/clojure/lang/APersistentVector.java#L86 Bunch of commented code and also no indentation: https://github.com/clojure/clojure/blob/master/src/jvm/clojure/lang/AMapEntry.java#L60 If you compare some clojure compiler code with different code snippets from other languages, the indentation is clearly more cared: Kotlin: https://github.com/JetBrains/kotlin/blob/master/core/descriptors/src/org/jetbrains/kotlin/types/AbstractClassTypeConstructor.java#L44 Rust: https://github.com/rust-lang/rust/blob/master/src/libstd/io/buffered.rs#L165 Ceylon: https://github.com/ceylon/ceylon-compiler/blob/master/src/com/redhat/ceylon/compiler/java/codegen/AttributeDefinitionBuilder.java#L233 This is a random list of code snippets from different compilers with indentation that is more human friendly. I don't intend judge any one, but when a I learn Clojure compiler I expect something different. I expect something more carefully done. No body thinks the same thing that me? I think that have a sane, more open contribution policy, with clear and more cared code formatting, is not very complicated thing and is going to favor the clojure and its community. Andrey -- Andrey Antukh - Андрей Антух - http://www.niwi.nz https://github.com/niwinz -- 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] Buddy 0.6.0: Security library for clojure.
Hi Stéphane Tavera! Thank you very much for notice me about that documentation inconsistency. It is already fixed in master! Cheers. Andrey On Mon, Jul 6, 2015 at 10:59 AM, Stéphane Tavera wrote: > Hey Andrey, > > I have just begun looking at buddy.core, by following the documentation > here: > https://funcool.github.io/buddy-core/latest/ > > It seems there is an error here (or there is something I did not get ??): > > (-> (hmac/verify "foo bar" "61849448bdbb67b..." "mysecretkey" :sha256) > (codecs/bytes->hex));; => true > > Correct example in unit tests shows that verify works with a byte array > and returns a boolean. > > I am using https://github.com/funcool/buddy-core (0.6.0). > > Let me know if I can help. > In the meantime, keep up the good work. > > Cheers, > __ > Stéphane Tavera > > > On Sunday, July 5, 2015 at 9:30:23 AM UTC+2, Andrey Antukh wrote: > >> Hi! >> >> I am happy to announce a new release of buddy, a security library for >> clojure. >> >> Since the buddy is split in different modules, here relevant changes >> across all modules: >> >> buddy-core: >> >> - Improved padding's namespace api (has a little breaking change: >> `unpad!` function is replaced by `unpad`) >> - Add high level interface for encrypt arbitrary length data using an >> encryption scheme. With initial support for: `:aes128-cbc-hmac-sha256`, >> `:aes192-cbc-hmac-sha384`, `:aes256-cbc-hmac-sha512`, `:aes128-gcm`, >> `:aes192-gcm` and `:aes256-gcm`. >> >> buddy-sign: >> >> - Code cleaning (removed many builtin crypto primitives that are already >> implemented and part of the public api of buddy-core). >> - Fix some hidden bugs related to wrong padding's on the JWE >> implementation (thanks to new crypto primitives on the buddy-core). >> - Dependencies updates. >> >> buddy-auth: >> >> - Dependencies updates. >> >> buddy-hashers: >> >> - More tests. >> - Dependencies updates. >> >> Github: >> >> https://github.com/funcool/buddy-core >> https://github.com/funcool/buddy-sign >> https://github.com/funcool/buddy-auth >> https://github.com/funcool/buddy-hashers >> >> Documentation: >> >> https://funcool.github.io/buddy-core/latest/ >> https://funcool.github.io/buddy-sign/latest/ >> https://funcool.github.io/buddy-auth/latest/ >> https://funcool.github.io/buddy-hashers/latest/ >> >> Cheers. >> Andrey >> >> -- >> Andrey Antukh - Андрей Антух - >> http://www.niwi.nz >> https://github.com/niwinz >> > -- > 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 - Андрей Антух - http://www.niwi.nz https://github.com/niwinz -- 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] Catacumba 0.3.2: Asynchronous web toolkit for Clojure.
Hi! I'm happy to announce the 0.3.2 release of catacumba, the asynchronous and non-blocking web toolkit for Clojure build on top of ratpack[1] and netty[2]. Here a small list of relevant changes: - Many dependency updates (ratpack -> 0.9.17, netty -> 4.1.0-beta5, clojure -> 1.7.0, futura -> 0.3.0) - Add csrf protect support. - Add autoreload support (a la ring reload middleware) - Add builtin testing facilities. - Add cps style handlers (not documented at this moment). - Reimplement the auth api for to be async. Additionally, the `website` example is updated to use the autoreload chain handler for demonstration purpose. You can found all information about them here: https://funcool.github.io/catacumba/latest/#examples Documentation: https://funcool.github.io/catacumba/latest/ Api reference: https://funcool.github.io/catacumba/latest/api/ Source code: https://github.com/funcool/catacumba [1]: http://ratpack.io/ [2]: http://netty.io/ -- Andrey Antukh - Андрей Антух - http://www.niwi.nz https://github.com/niwinz -- 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] Buddy 0.6.0: Security library for clojure.
Hi! I am happy to announce a new release of buddy, a security library for clojure. Since the buddy is split in different modules, here relevant changes across all modules: buddy-core: - Improved padding's namespace api (has a little breaking change: `unpad!` function is replaced by `unpad`) - Add high level interface for encrypt arbitrary length data using an encryption scheme. With initial support for: `:aes128-cbc-hmac-sha256`, `:aes192-cbc-hmac-sha384`, `:aes256-cbc-hmac-sha512`, `:aes128-gcm`, `:aes192-gcm` and `:aes256-gcm`. buddy-sign: - Code cleaning (removed many builtin crypto primitives that are already implemented and part of the public api of buddy-core). - Fix some hidden bugs related to wrong padding's on the JWE implementation (thanks to new crypto primitives on the buddy-core). - Dependencies updates. buddy-auth: - Dependencies updates. buddy-hashers: - More tests. - Dependencies updates. Github: https://github.com/funcool/buddy-core https://github.com/funcool/buddy-sign https://github.com/funcool/buddy-auth https://github.com/funcool/buddy-hashers Documentation: https://funcool.github.io/buddy-core/latest/ https://funcool.github.io/buddy-sign/latest/ https://funcool.github.io/buddy-auth/latest/ https://funcool.github.io/buddy-hashers/latest/ Cheers. Andrey -- Andrey Antukh - Андрей Антух - http://www.niwi.nz https://github.com/niwinz -- 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] superstring - A string manipulation library
Do you know about cuerdas? https://github.com/funcool/cuerdas It is already compatible with clojure and clojurescript ;) On Sun, Jun 21, 2015 at 5:05 PM, Karsten Schmidt wrote: > That's ++great, Lars! Would you be open to convert this into CLJC so > it can all be used from CLJS as well? I guess the main stumbling block > is the use of java.text.Normalizer in strip-accents, but that could be > replaced with a hardcoded regexp solution for CLJS... > > Thanks! > > On 21 June 2015 at 13:45, Lars Andersen wrote: > > I'm happy to announce the first release of superstring, a string > > manipulation library for clojure. > > > > Read more about why I wrote superstring here: > > https://github.com/expez/superstring > > > > Or check out the api docs for a quick overview of what's provided: > > http://expez.github.io/superstring/doc/superstring.core.html > > > > -- > > 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://thi.ng | http://toxiclibs.org > > -- > 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 - Андрей Антух - http://www.niwi.nz https://github.com/niwinz -- 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] clafka 0.1.0 - a clojure kafka client focusing on the SimpleConsumer and KafkaProducer.
Great work! Thanks for sharing! On Tue, Jun 9, 2015 at 10:19 AM, wrote: > I am pleased to announce the release of the initial version of our new > kafka library! > > I see this library as useful for people that want to... > > a. Read some data from their kafka logs worry free (no consumer groups, no > state etc) > b. Implement a new kind of consumer, as their needs are not met by the > default zookeeper consumer in kafka (like us!) > c. Use a clojure wrapper for the new KafkaProducer api (including broker > acknowledgement) > > Source and docs here: https://github.com/mixradio/clafka > > Questions, comments and contributions very welcome! > > Regards, > > Dan > > -- > 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 - Андрей Антух - http://www.niwi.nz https://github.com/niwinz -- 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: Opinion on core.async vs callbacks in abstract APIs?
On Mon, Jun 1, 2015 at 11:12 PM, Gary Trakhman wrote: > I think this is one of those cases where the rules are different for > libraries than applications. > > Does your lib need to pull in core.async, and does it need to be coupled > to a specific version? If it's a building block sort of lib that clojure > and the community prefers, I think the answer is no. Is this more of an > opinionated 'framework' or set of batteries (luminus might fall in this > category)? In that case, yes. > > As an application-writer having to write some glue code feels less frustrating > than when libs make assumptions that I don't like. > Completely agree with that! > > On Mon, Jun 1, 2015 at 5:05 PM Eldar Gabdullin wrote: > >> I would implement everything sticking to just callbacks, then create >> separately requirable core.async version of API if that matters. >> Ideally this should be a separate lib, but practically, it seems better >> to just have a separate file. >> >> понедельник, 1 июня 2015 г., 22:18:19 UTC+3 пользователь Christopher >> Small написал: >> >>> Greetings >>> >>> I imagine most of us here would rather use core.async channels over >>> callbacks in their application code, particularly with more complicated >>> applications. But is it okay/preferable for Clojure libraries to force >>> their users to use core.async channels as part of an API (an event channel, >>> for example)? >>> >>> As much as I love core.async, I can't help but wonder whether sticking >>> with callbacks for an API isn't a simpler/better design strategy. It's easy >>> enough to drop messages on a channel in a callback, and this let's users >>> opt-in. But if one expects core.async channels are what most would prefer >>> anyway, is it okay to foist them upon everyone? >>> >>> As a follow up, does your opinion on the matter change if >>> implementations of an API become simpler using core.async channels? >>> >>> >>> Looking forward to your thoughts :-) >>> >>> Chris Small >>> >>> >>> >>> PS I'm asking because I'm working on a physical computing API ( >>> https://github.com/clj-bots/pin-ctrl) and debating between using >>> channels vs callbacks for the edge detection functionality (if you're not >>> familiar, edge detection let's you asynchronously handle changes in pin >>> state, such as button pushes). If you're interested in this question as it >>> applies specifically to this application, feel free to join the discussion >>> on our gitter channel: https://gitter.im/clj-bots/chat >>> >> -- >> 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. > -- Andrey Antukh - Андрей Антух - http://www.niwi.nz https://github.com/niwinz -- 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: Opinion on core.async vs callbacks in abstract APIs?
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. > -- Andrey Antukh - Андрей Антух - http://www.niwi.nz https://github.com/niwinz -- 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: Opinion on core.async vs callbacks in abstract APIs?
Hi! Personally I think that manifold has the same problem that core.async. So if you are exposing your api using manifold you are forcing to someone to use manifold. It is not bad, but is the same problem as with core.async. And the same problem with callbacks. If you are using callbacks you are force to people to use callbacks or adapt it to whatever other abstraction. So, independently of the chosen abstraction, you are always forcing the user to use the chosen abstraction or adapt their code to another abstraction. About the original question, I think it depends that you really wants. In some projects I expose api using inter operable with jvm abstractions like (reactive-streams) or promises (completable future in jdk8), in other I just use core.async. There is no single solution I think! My two cents! Andrey On Mon, Jun 1, 2015 at 9:57 PM, Alejandro Ciniglio wrote: > Zach Tellman talks about exactly this in his conj talk from last year > https://www.youtube.com/watch?v=3oQTSP4FngY > > He built a library around this that essentially gives the library user a > choice of either option: https://github.com/ztellman/manifold > > > On Monday, June 1, 2015 at 3:18:19 PM UTC-4, Christopher Small wrote: >> >> Greetings >> >> I imagine most of us here would rather use core.async channels over >> callbacks in their application code, particularly with more complicated >> applications. But is it okay/preferable for Clojure libraries to force >> their users to use core.async channels as part of an API (an event channel, >> for example)? >> >> As much as I love core.async, I can't help but wonder whether sticking >> with callbacks for an API isn't a simpler/better design strategy. It's easy >> enough to drop messages on a channel in a callback, and this let's users >> opt-in. But if one expects core.async channels are what most would prefer >> anyway, is it okay to foist them upon everyone? >> >> As a follow up, does your opinion on the matter change if implementations >> of an API become simpler using core.async channels? >> >> >> Looking forward to your thoughts :-) >> >> Chris Small >> >> >> >> PS I'm asking because I'm working on a physical computing API ( >> https://github.com/clj-bots/pin-ctrl) and debating between using >> channels vs callbacks for the edge detection functionality (if you're not >> familiar, edge detection let's you asynchronously handle changes in pin >> state, such as button pushes). If you're interested in this question as it >> applies specifically to this application, feel free to join the discussion >> on our gitter channel: https://gitter.im/clj-bots/chat >> > -- > 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 - Андрей Антух - http://www.niwi.nz https://github.com/niwinz -- 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] Catacumba 0.2.0: Asynchronous web toolkit for Clojure
Hi! I'm happy to announce the 0.2.0 release of catacumba, the asynchronous and non-blocking web toolkit for Clojure build on top of ratpack[1] and netty[2]. This release is focused in polish the code base. Here a small list of relevant changes: - Improve session storage api and make it asynchronous by default. - Add support for extensible body parsing. - Add support for interceptors (instrumentation) - Add support for auth facilities. - Update futura library to the last version that adds fully asynchronous publishers. You can see the complete release notes here: https://github.com/funcool/catacumba/releases/tag/0.2.0 Additionally it comes with 3 new example projects: website, interceptor(instrumentation) and single-file app. You can found all information about them here: https://funcool.github.io/catacumba/latest/#examples The upcoming planned relevant changes for the next release: - Make auth asynchronous like now are sessions. - Leiningen template for easy and quick start a basic project. - Message based communication between client and server with STOMP over websocket. Documentation: https://funcool.github.io/catacumba/latest/ Api reference: https://funcool.github.io/catacumba/latest/api/ Source code: https://github.com/funcool/catacumba [1]: http://ratpack.io/ [2]: http://netty.io/ -- Andrey Antukh - Андрей Антух - http://www.niwi.nz https://github.com/niwinz -- 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: Advice when running java -jar rather than a managed server like tomcat?
http://circus.readthedocs.org/en/0.11.1/ We are using it not only for deploy java, also: python and nodejs applications. Is a generc process monitor in a userspace with good comand line interface, with web interface, ... and works pretty well! Andrey On Tue, May 26, 2015 at 3:24 PM, Jozef Wagner wrote: > We were using http://wrapper.tanukisoftware.com/doc/english/download.jsp > for deploying uberjars as a service under linux (AWS), and were quite > satisfied with it. > > On Tue, May 26, 2015 at 3:15 PM, Shantanu Kumar > wrote: > >> I'm doing some of those things at work (http-kit, >> logback+slf4j+MDC+clojure.tools.logging, config via property files). My >> entry point (main) is a Java class that reads properties file, sets system >> properties to hoist logging config variables, then uses reflection to load >> other Java/Clojure initializers that may be referring to SLF4j in some >> fashion. >> >> We're yet to settle on a way to run Java JAR as a system service, but we >> are looking at http://supervisord.org/ and >> https://mmonit.com/wiki/Monit/FAQ >> >> Shantanu >> >> On Tuesday, 26 May 2015 17:08:30 UTC+5:30, Colin Yates wrote: >>> >>> Hi, >>> >>> I am venturing into new territory using http-kit, as I usually use a >>> 'managed' web server container like tomcat and have a few questions about >>> packing and running a JAR file: >>> >>> - are there are convenient service wrappers for windows and/or Linux >>> - any best practice around managing class path for things like >>> logback.xml >>> >>> I have a jar created from lein uberjar and java -jar the.jar works, but >>> this seems a long way away from automated deployment :). >>> >>> Any advice welcome - 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. >> > > -- > 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 - Андрей Антух - http://www.niwi.nz https://github.com/niwinz -- 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: how goeth the STM experiment?
Hi! Personally, I do not have the opportunity to use refs, but atoms and agens I have used it in different ways I have used agents for logging system, thanks to its guarantees of execution functions in a serial way. This allows heavy multithreading applications put logs to stdout (or any other destination) and have as result a consistent log. An other thing when I have used with agents is implement an async interface for jdbc like applications. I have a little explication on how it is done here: http://funcool.github.io/suricatta/latest/#_async_interface I hope you find it useful. Cheers. Andrey 2015-05-09 3:56 GMT+02:00 : > This seems to be true: > > "I would have to say that the biggest surprise is how little they're > needed in Clojure." > > Run this search on Google: > > agent send clojure site:github.com > > The first 5 pages point me to examples from several years ago, or error > reports, or unit tests. Nothing substantial or recent. I think it is > interesting how many of the results are blog posts or gists -- people talk > about agents much more then they actually use them. > > Still, there are some examples: > > > https://github.com/aphyr/riemann/blob/302cff942f308771b1d8d837cdf9ce2c9090daed/src/riemann/pool.clj > > (defmacro with-pool "Evaluates body in a try expression with a symbol > 'thingy claimed from the given pool, with specified claim timeout. > Releases thingy at the end of the body, or if an exception is thrown, > invalidates them and rethrows. Example: ; With client, taken from > connection-pool, waiting 5 seconds to claim, send ; client a message. > (with-pool [client connection-pool 5] (send client a-message))" [[thingy > pool timeout] & body] ; Destructuring bind could change nil to a, say, > vector, and cause ; unbalanced claim/release. `(let [thingy# (claim ~pool > ~timeout) ~thingy thingy#] (try (let [res# (do ~@body)] (release ~pool > thingy#) res#) (catch Throwable t# (invalidate ~pool thingy#) (throw > t#) > > > > And: > > > https://github.com/clojure/java.jmx/blob/master/src/main/clojure/clojure/java/jmx.clj > > > (deftype Bean [state-ref] DynamicMBean (getMBeanInfo [_] (MBeanInfo. (.. > _ getClass getName) ; class name "Clojure Dynamic MBean" ; description ( > map->attribute-infos @state-ref) ; attributes nil ; constructors nil ; > operations nil)) (getAttribute [_ attr] (@state-ref (keyword attr))) ( > getAttributes [_ attrs] (let [result (AttributeList.)] (doseq [attr attrs] > (.add result (Attribute. attr (.getAttribute _ attr result)) ( > setAttribute [_ attr] (let [attr-name (.getName attr) attr-value ( > .getValue attr) state-update {(keyword attr-name) attr-value}] (condp = ( > type state-ref) clojure.lang.Agent (await (send state-ref (fn [state > state-update] (merge state state-update)) state-update)) clojure.lang.Atom > (swap! state-ref merge state-update) clojure.lang.Ref (dosync (ref-set > state-ref (merge @state-ref state-update)) (setAttributes [_ attrs] ( > let [attr-names (map (fn [attr] (.setAttribute _ attr) (.getName attr)) > attrs)] (.getAttributes _ (into-array attr-names) > > > > I would love to see some other examples. > > > > > > > On Wednesday, May 6, 2015 at 9:49:47 PM UTC-4, Surgo wrote: >> >> I'm not saying this is everyone's experience or anything, but at times I >> have at times considered some deeper STM-work with agents but I could not >> seem to penetrate the documentation at the time. I do not know if it's >> different now >> >> -- Morgon >> >> On Wednesday, May 6, 2015 at 5:38:08 PM UTC-4, James Reeves wrote: >>> >>> On 6 May 2015 at 21:58, Alex Miller wrote: >>> >>>> I would have to say that the biggest surprise is how little they're >>>> needed in Clojure. The combination of immutable data, functions to update >>>> complex data structures, and fast pure function updates with atoms actually >>>> satisfies a large percentage of real use cases. >>>> >>> >>> I'll echo this. I've been using Clojure for years, and I can't recall >>> ever needing refs (or agents for that matter). >>> >>> - 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/clojur
Re: Metadata loss. What am I doing wrong?
Thank you very much to all! Now I completely understand the metadata behavior with the reader. I'll try to adopt eastwood, thanks for the suggestion. Is clearly that the documentation confuses a little bit. Cheers! Andrey 2015-05-05 23:25 GMT+02:00 James Reeves : > The documentation is rather misleading, as it implies that "obj" can be a > symbol. However, because ^ is a reader macro, it is applied to "obj" before > it is evaluated. > > Clojure maps, vectors and sets all evaluate to themselves, so attaching > metadata to the unevaluated expression via the ^ reader macro, is the same > as attaching it to the evaluated expression via with-meta. > > So: > > ^:abc foo > ^:abc [1 2 3] > > Will both attach the metadata directly to the literal value following it, > but because 'foo' evaluates to something else, the reader metadata is lost > after the symbol is evaluated. > > - James > > On 5 May 2015 at 22:01, Andrey Antukh wrote: > >> Thanks to both for the responses, but I stil not clearly understand. >> >> The documentation says very clearly that: >> >> In addition to with-meta, there are a number of reader macros (The >> Reader: Macro Characters) for applying metadata to the expression following >> it: >> ^{:doc "How obj works!"} obj - Sets the metadata of obj to the provided >> map. >> Equivalent to (with-meta obj {:doc "How obj works!"}) >> >> >> (def foo ^:abc [1 2 3]) -> (meta foo) -> {:abc true} >> (def foo ^:abc some-func) -> (meta foo) -> nil >> (def foo ^:abc 'some-symbol) -> (meta foo) -> nil (In clojure >> programming book uses example attaching metadata using the reader to the >> symbol, but seems it not works as expected) >> >> Is a little bit confusing. The metadata documentation says clearly that >> are equivalent, but are not equivalent. >> >> >> Thank you very much again. >> >> Regards. >> Andrey >> >> 2015-05-05 21:49 GMT+02:00 Andy- : >> >>> In addition to James comment: IMO clojure.org/metadata should be >>> clearer about this. It's mentioned more clearly on the reader page: >>> http://clojure.org/reader#The%20Reader--Macro%20characters >>> "The metadata reader macro first reads the metadata and attaches it to >>> the next form read (see with-meta >>> <http://clojure.github.io/clojure/clojure.core-api.html#clojure.core/with-meta> >>> to >>> attach meta to an object):" >>> >>> Stress on *next form read*. >>> >>> On Tuesday, May 5, 2015 at 2:31:40 PM UTC-4, Andrey Antukh wrote: >>>> >>>> Hi! >>>> >>>> I have some trouble with clojure metadata / reader and I do not know if >>>> I'm doing something wrong. >>>> >>>> I have this code: >>>> >>>> (defn some-func []) >>>> >>>> (def func ^:abc some-func) >>>> >>>> (assert (= (meta func) {:abc true})) >>>> >>>> (def data [[:bar (with-meta some-func {:abc true})] >>>>[:baz ^:abc some-func]]) >>>> >>>> (assert (= (meta (get-in data [0 1])) {:abc true})) >>>> (assert (= (meta (get-in data [1 1])) {:abc true})) >>>> >>>> It fails in the first assert and in the last (if I comment the first >>>> one obviously). I do not understand why that form of metadata does not >>>> works >>>> as I expect (http://clojure.org/metadata) >>>> >>>> Thank you very much. >>>> >>>> Regards. >>>> Andrey >>>> >>>> -- >>>> Andrey Antukh - Андрей Антух - / < >>>> ni...@niwi.be> >>>> http://www.niwi.be <http://www.niwi.be/page/about/> >>>> https://github.com/niwibe >>>> >>> >> >> >> -- >> Andrey Antukh - Андрей Антух - / < >> 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.co
Re: Metadata loss. What am I doing wrong?
Thanks to both for the responses, but I stil not clearly understand. The documentation says very clearly that: In addition to with-meta, there are a number of reader macros (The Reader: Macro Characters) for applying metadata to the expression following it: ^{:doc "How obj works!"} obj - Sets the metadata of obj to the provided map. Equivalent to (with-meta obj {:doc "How obj works!"}) (def foo ^:abc [1 2 3]) -> (meta foo) -> {:abc true} (def foo ^:abc some-func) -> (meta foo) -> nil (def foo ^:abc 'some-symbol) -> (meta foo) -> nil (In clojure programming book uses example attaching metadata using the reader to the symbol, but seems it not works as expected) Is a little bit confusing. The metadata documentation says clearly that are equivalent, but are not equivalent. Thank you very much again. Regards. Andrey 2015-05-05 21:49 GMT+02:00 Andy- : > In addition to James comment: IMO clojure.org/metadata should be clearer > about this. It's mentioned more clearly on the reader page: > http://clojure.org/reader#The%20Reader--Macro%20characters > "The metadata reader macro first reads the metadata and attaches it to > the next form read (see with-meta > <http://clojure.github.io/clojure/clojure.core-api.html#clojure.core/with-meta> > to > attach meta to an object):" > > Stress on *next form read*. > > On Tuesday, May 5, 2015 at 2:31:40 PM UTC-4, Andrey Antukh wrote: >> >> Hi! >> >> I have some trouble with clojure metadata / reader and I do not know if >> I'm doing something wrong. >> >> I have this code: >> >> (defn some-func []) >> >> (def func ^:abc some-func) >> >> (assert (= (meta func) {:abc true})) >> >> (def data [[:bar (with-meta some-func {:abc true})] >>[:baz ^:abc some-func]]) >> >> (assert (= (meta (get-in data [0 1])) {:abc true})) >> (assert (= (meta (get-in data [1 1])) {:abc true})) >> >> It fails in the first assert and in the last (if I comment the first one >> obviously). I do not understand why that form of metadata does not works >> as I expect (http://clojure.org/metadata) >> >> Thank you very much. >> >> Regards. >> Andrey >> >> -- >> Andrey Antukh - Андрей Антух - / > > >> http://www.niwi.be <http://www.niwi.be/page/about/> >> https://github.com/niwibe >> > -- Andrey Antukh - Андрей Антух - / 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.
Metadata loss. What am I doing wrong?
Hi! I have some trouble with clojure metadata / reader and I do not know if I'm doing something wrong. I have this code: (defn some-func []) (def func ^:abc some-func) (assert (= (meta func) {:abc true})) (def data [[:bar (with-meta some-func {:abc true})] [:baz ^:abc some-func]]) (assert (= (meta (get-in data [0 1])) {:abc true})) (assert (= (meta (get-in data [1 1])) {:abc true})) It fails in the first assert and in the last (if I comment the first one obviously). I do not understand why that form of metadata does not works as I expect (http://clojure.org/metadata) Thank you very much. Regards. Andrey -- Andrey Antukh - Андрей Антух - / 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: Clojure needs a web framework with more momentum
Yes, without a database, serializing data using JWS or JWE... I have done similar thing with buddy-auth stateless backend. It not uses sessions but the concept is the same. Cheers. Andrey 2015-05-04 20:17 GMT+02:00 Sean Corfield : > On May 4, 2015, at 11:08 AM, Josh Kamau wrote: > > @Sean, i wanted totally stateless backend. > > Without a database? :) > > Sean Corfield -- (904) 302-SEAN > An Architect's View -- http://corfield.org/ > > "Perfection is the enemy of the good." > -- Gustave Flaubert, French realist novelist (1821-1880) > > > > -- > 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 - Андрей Антух - / 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.
[ANN] [Book] ClojureScript Unraveled
Hi! We (my friend Alejandro and I) are happy to announce the first public version of a ClojureScript book that we are writing. The book is still a work in progress and many chapters are not available yet. We are sure that the book has many spelling errors (we are not native English speakers), so the wording improvements are very very welcome! This books aims to serve as: - a comprehensive introduction to the ClojureScript language and its idiomatic usage, assuming no previous experience with Clojure or functional programming; - a detailed guide of the ClojureScript compiler and the tooling around it; and - a mixed bag of topics that are useful in day-to-day ClojureScript programming. Github: https://github.com/funcool/clojurescript-unraveled Online version: http://funcool.github.io/clojurescript-unraveled/ Feel free to write any comments or feedback. Cheers. Andrey -- Andrey Antukh - Андрей Антух - / 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: Clojure needs a web framework with more momentum
This is something that I'm currently working on: https://github.com/funcool/catacumba It is still in alpha, but it has the same philosophy that you have mention. Cheers. Andrey 2015-05-04 12:06 GMT+02:00 John Louis Del Rosario : > Very interesting discussion going on here. As a beginner, what I'd like to > see is not something like Django or Rails, but something like Flask. > Where someone can just (require 'someframework) and it works. Maybe it > could have thin wrappers over compojure, etc., since it will need to be > opinionated anyway. It's still very simple, but takes away a lot of the > guesswork and the distributed docs across multiple projects problem. > > Additional features can be done as libraries then, but specific for > `someframework`, like what Flask has. e.g. `someframework-sessions`, etc. > > Just my 2c. > > > On Sunday, May 3, 2015 at 4:43:53 AM UTC+8, g vim wrote: >> >> I recently did some research into web frameworks on Github. Here's what >> I found: >> >> >> FRAMEWORK LANG CONTRIBUTORS COMMITS >> >> LuminusClojure28678 >> CaribouClojure 2275 >> >> BeegoGolang991522 >> >> PhoenixElixir 1241949 >> >> YesodHaskell 1303722 >> >> LaravelPHP2684421 >> >> PlayScala 4176085 >> >> SymfonyPHP113020914 >> >> RailsRuby 269151000 >> >> >> One could conclude from this that the Clojure community isn't that >> interested in web development but the last Clojure survey suggests >> otherwise. Clojure's library composition approach to everything only >> goes so far with large web applications, as Aaron Bedra reminded us in >> March last year: www.youtube.com/watch?v=CBL59w7fXw4 . Less manpower >> means less momentum and more bugs. Furthermore, I have a hunch that >> Clojure's poor adoption as indicated by Indeed.com maybe due to this >> immaturity in the web framework sphere. Why is it that Elixir, with a >> much smaller community and lifespan than Clojure's, has managed to put 4 >> times as much mindshare into its main web framework when its module >> output, as measured by modulecounts.com, is a tiny fraction of >> Clojure's? >> >> 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. > -- Andrey Antukh - Андрей Антух - / 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.
[ANN] Catacumba 0.1.0-alpha2: Asynchronous and non-blocking web toolkit for Clojure
Hi! I'm happy to announce the second alpha of catacumba, the asynchronous and non-blocking web toolkit for Clojure build on top of ratpack[1] and netty[2]. This release is focused in add a great a mount of features missing from the first release and improve some internals for make it more flexible. Here a incomplete list of added features: - Add Server-Sent Events support. - Add CORS support. - Add security related chain helpers (x-frame-options, strict-transport-security, the content-security-policy and x-content-type-options). - Add support for manifold deferreds and streams. - Add support for get/set cookies. - Add basic support for sessions (very experimental and internal api will change in the next version). - Add special functions for add callback function that will be executed when connection is closed and just before send the response to client. - Add dispatch by method to the routing system. - Support for stuartsierra/component You can see the complete release notes here: https://github.com/funcool/catacumba/releases/tag/0.1.0-alpha2 Additionally, it comes with two examples (in the next release I have plans add other two), one for see how we can use prone for better error reporting and other is a multiuser chat using Server-Sent Events and stuartsierra component. More information about examples here: https://funcool.github.io/catacumba/latest/#_examples Documentation: https://funcool.github.io/catacumba/latest/ Github: https://github.com/funcool/catacumba [1]: http://ratpack.io/ [2]: http://netty.io/ Cheers. Andrey -- Andrey Antukh - Андрей Антух - / 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: [Q] Any Clojure code browsing and cross referencer?
I have done a little search I do not found its source... Seems that crossclj does not have published the source code of the service :( 2015-04-21 11:21 GMT+02:00 Henrik Heine : > Thanks for your reply. > > Yes, I'm aware of crossclj, but I did not find any example on how to use > it for my own project (i.e. run it on my code and deploy it to customers). > > Any hint on that? > > - Henrik > -- Andrey Antukh - Андрей Антух - / 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: [Q] Any Clojure code browsing and cross referencer?
Maybe you are searching this: http://crossclj.info/ Cheers. Andrey 2015-04-21 9:50 GMT+02:00 Henrik Heine : > Hi, > > I know of highlight.js which I could use for highlighting my Clojure code. > But what about cross referencing? > In the end I would like start a ring/jetty server and let the user > browse/navigate the highlighted source code. > > GrepCode does it somewhow - but how? > > Any ideas? > > - Henrik > > -- > 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 - Андрей Антух - / 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.
[ANN] Catacumba 0.1.0-alpha1: Asynchronous and non-blocking web toolkit for Clojure
Hi I'm happy to announce the first alpha of catacumba, the asynchronous and non-blocking web toolkit for Clojure build on top of ratpack[1] and netty[2]. Here a incomplete list of things that Catacumba intends to have: - a flexible and extensible way to setup different kind of handlers. - build almost everything up on abstractions for easy extensibility. - support for async handlers (with promise, future, core.async, manifold, reactive-streams, …) - builtin routing with flexible way to chain handlers. - builtin websocket support. - backpressure support out of the box. You can read the detailed rationale and features here: https://funcool.github.io/catacumba/latest/#_rationale Documentation: https://funcool.github.io/catacumba/latest/ Github: https://github.com/funcool/catacumba This is a first alpha; the code and the documentation has great room of improvements but i'm pretty happy with this first preview release. [1]: http://ratpack.io/ [2]: http//netty.io/ Cheers. Andrey -- Andrey Antukh - Андрей Антух - / 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.
[ANN] Buddy 0.5.0: Security library for clojure.
Hi! I am happy to announce a new release of buddy, a security library for clojure. Since the buddy is split in different modules, here relevant changes across all modules: buddy-core: - Add support for AEAD mode of operations (gcm) - Add support for AES Key Wrapping algorithms. - Add support for deflate compression algorithm. - Several fixes for padding, codecs and keys namespaces. buddy-sign: - Add support for JWE (Json Web Encryption) specification. With support for all specified (in RFC) content encryption algorithms and good subset of key encryption algorithms, including asymmetric key encryption schemes. - Add support also for JWE and JWS registered claims validation: aud, iss (exp, nbf are already supported previously). - The default JWE and JWS api not raises descriptive exceptions instead of returning a useless nil in case of something goes wrong on unsing/decrypt process (breaking change). - Implement security considerations from https://auth0.com/blog/2015/03/31/critical-vulnerabilities-in-json-web-token-libraries/ (breaking change because now is more strict with parameters) buddy-auth: - Improved exception based authorization system, removing all java source (now is 100% clojure source). - Add JWE authentication/authorization backend. - Add the ability to match by http method on access rules. - Add the ability to set multiple authentication backends in `wrap-authentication` middleware. - Several bugfixes on all parts of the library. Github: https://github.com/funcool/buddy-core https://github.com/funcool/buddy-auth https://github.com/funcool/buddy-hashers https://github.com/funcool/buddy-sign Documentation: https://funcool.github.io/buddy-core/latest/ https://funcool.github.io/buddy-auth/latest/ https://funcool.github.io/buddy-hashers/latest/ https://funcool.github.io/buddy-sign/latest/ Cheers. Andrey -- Andrey Antukh - Андрей Антух - / 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: Edn, Fressian, Transit: which of these formats have a future?
org/jira/browse/DFRS-1> in the >underlying Fressian implementation. >- There are no documented best practices for the use of Fressian or >some of its more advanced features like chunking. It is not clear how to >read and write Fressian in a way that facilitates (for instance) ranged >reads from the middle of a resource. It is not clear when checksums should >be used and how they should be validated. It is not clear whether tags >should be namespaced, or how. The only namespaced tag in data.fressian is >for IRecord; none of the other type tags are namespaced. It's not clear >whether this is due to bugwards compatibility. >- Transit is advertised ><https://github.com/cognitect/transit-format#implementations> as a >work-in-progress. This is the main reason I haven't seriously considered >adding Transit support to dynamic-object. >- However, what happens when Transit is stabilized (if that ever >happens)? Since Transit offers a msgpack encoding, will Fressian then be >irrelevant (except for legacy use cases)? There's a FUD aspect here--I like >Fressian and I want dynamic-object to support it, but I don't want to back >the wrong pony and end up having to support HD-DVD and Betamax for all time >(so to speak). >- Can these formats be unified? Can Edn and Fressian encodings for >Transit be offered? Would that even accomplish anything? > > I realize that none of these data languages will have the same extent of > support and tooling as JSON or XML, but I want to ensure that > dynamic-object's supported data languages all have attentive stewardship > and bright futures. It's distressing that a lot of the issues with Edn and > Fressian have not gotten much traction. Are these languages still actively > being supported and fostered? If so, how much development activity is > taking place on internal forks? Are any public updates planned for these > languages any time soon? > > -- > 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. > -- Andrey Antukh - Андрей Антух - / 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: [ANN]: Octet 0.1.0: A Clojure(Script) library for working with binary data.
Hi Mikera! Byte-streams is a conversion library (between different representation of byte streams) Octet is a library for work with them. Cheers. Andrey 2015-03-02 3:09 GMT+01:00 Mikera : > Thanks for sharing Andrey! > > Could you comment on how this compares with: > https://github.com/ztellman/byte-streams > > Are the two complementary? Replacements? > > On Monday, 2 March 2015 03:58:57 UTC+8, Andrey Antukh wrote: >> >> Hi! >> >> I'm happy to announce the first version of Octet library. >> >> _octet_ library offers, not intrusive (without additional wrapping), >> composable and host independent abstraction for working with binary data. >> >> It works out of the box with NIO ByteBuffer, Netty ByteBuf, and ES6 >> TypedArrays (clojurescript). >> >> Github: https://github.com/funcool/octet >> Documentation: http://funcool.github.io/octet/latest/ >> >> Cheers. >> Andrey >> -- >> Andrey Antukh - Андрей Антух - / > > >> http://www.niwi.be <http://www.niwi.be/page/about/> >> https://github.com/niwibe >> > -- Andrey Antukh - Андрей Антух - / 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.
[ANN]: Octet 0.1.0: A Clojure(Script) library for working with binary data.
Hi! I'm happy to announce the first version of Octet library. _octet_ library offers, not intrusive (without additional wrapping), composable and host independent abstraction for working with binary data. It works out of the box with NIO ByteBuffer, Netty ByteBuf, and ES6 TypedArrays (clojurescript). Github: https://github.com/funcool/octet Documentation: http://funcool.github.io/octet/latest/ Cheers. Andrey -- Andrey Antukh - Андрей Антух - / 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: Current best-of-breed JDBC libraries?
I'm currently using and maintaining this two: https://github.com/niwibe/clojure.jdbc - A clojure.java.jdbc alternative. https://github.com/niwibe/suricatta - High level Sql toolkit (slightly higher level abstraction over plain jdbc and includes sql dsl) Cheers. Andrey 2015-02-24 15:11 GMT+01:00 Colin Yates : > Actually, https://github.com/krisajenkins/yesql, now that it supports > named parameters is probably just the ticket... > > > On Tuesday, 24 February 2015 14:04:36 UTC, Colin Yates wrote: >> >> Hi all, >> >> What are you all using for interacting with an RDBMS? In the past I >> looked at clojure.java.jdbc, honeysql and korma (and for querying, honeysql >> just rocks). I have lost touch a bit - any recommendations? >> >> 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. > -- Andrey Antukh - Андрей Антух - / 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: Advice on core.async and (JDBC) transactions
2015-02-24 10:15 GMT+01:00 Colin Yates : > Hi Andrey - thanks for responding. Asciidoctor looks great! > > I think I understand the sucriata approach which serialises access to > the connection (via the agent). But this doesn't ensure that all > operations using the connection are done in the same thread does it (I > didn't think agents were thread-locked)?. In not then it looks like a > no go. > Yes, the agent does not ensures that all operations using a connection are done in the same thread. Using agent only ensures that all actions are done in serialized way and only one thread uses the connection at time. > > To be clear, my understanding (which is from a while ago admittedly) > is that JDBC transaction implementations tend to use thread locals to > store a bunch of stuff so it isn't so much the concurrent access which > is a problem (nicely solved by the agent approach) it is ensuring it > is ensuring the same thread is used. > I'm not expert in jdbc, but I have see the source of postgresql jdbc, and the transaction state is bind to the connection, nothing related to thread locals. Thread locals are often used for "transaction mangers" like spring tx, maybe hibernate (I'm not sure because I have never used it), and other lightweight implementations like that https://github.com/witoldsz/ultm ... But in case of plain jdbc transactions, as far as I know, no thread local state is involved. Cheers. Andrey > > On 23 February 2015 at 23:41, Andrey Antukh wrote: > > Hi Colin. > > > > You are talking about suricatta documentation? Is build with asciidoctor. > > > > And, about core.async and transactions, suricatta comes with an async > > abstraction that internally uses a clojure agent for serialize all > access to > > one connection from different threads (managed by core.async internal > thread > > pool). Nothing special is used from jooq for handle it. > > > > A suricatta context encapsulates the standard jdbc connection and > additional > > state. As far as I know, JDBC connection is not fully thread safe > > ( > http://stackoverflow.com/questions/1531073/is-java-sql-connection-thread-safe > ), > > and the general opinion is avoid use the same connection instance from > > different threads concurrently. But the suricata approach is share a > > connection instance between threads but ensuring that only one thread can > > use it at same time (as I said previously) using serialization semantics > of > > clojure agents. > > > > I hope it has been helpful. > > > > Cheers > > Andrey > > > > > > 2015-02-23 22:26 GMT+01:00 Colin Yates : > >> > >> Thanks Christian, that looks interesting. > >> > >> By the way, any idea what tool was used to generate the documentation? > >> > >> On 23 February 2015 at 21:22, Christian Weilbach > >> wrote: > >> > -BEGIN PGP SIGNED MESSAGE- > >> > Hash: SHA1 > >> > > >> > On 23.02.2015 18:20, Colin Yates wrote: > >> >> Currently each request gets serviced in its own thread (web > >> >> container) and I am thinking of integrating core.async and I wonder > >> >> how core.async and a JDBC transactional "unit of work" get on. > >> >> > >> >> Conceptually, this model (thread-per-request) is trivial however > >> >> the problems are well known. Replacing this with core.async right > >> >> at the front is trivial but I can see the benefit of sprinkling > >> >> asynchronous behaviour throughout the (still very trivial) > >> >> pipeline. Or rather I can see the beauty of decomposed components > >> >> communicating via channels. > >> >> > >> >> My question is about transactionality. I am used to JDBC > >> >> transactions being thread local and I understand core.async > >> >> utilises a thread-pool, so how does one implement a "unit of work" > >> >> that spans multiple channels? > >> >> > >> >> I want to do something like: > >> >> > >> >> - request comes in - the appropriate handler/service consumes it > >> >> (either through request mapping, defmethod whatever) - TX starts - > >> >> in parallel some logging happens (and DB is updated) - the message > >> >> is handled (and DB is updated) - performance metrics are stored > >> >> (and DB is updated) - all work on all channels gets finished - TX > >> >> commits > >> >> > >&g
Re: Advice on core.async and (JDBC) transactions
rom 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. > -- Andrey Antukh - Андрей Антух - / 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: [ANN] Buddy 0.4.0: Security library for clojure.
Hi Dave Buddy authorization/authentication facilities are more low level and less opinionated that friend and allow build over them easy other high level abstractions. Technically, friend abstraction can be build on top of buddy. Cheers. Andrey 2015-02-23 2:25 GMT+01:00 Dave Sann : > buddy-auth vs friend? > > What is the difference/motivation? > > > > > On Monday, 23 February 2015 06:32:22 UTC+11, g vim wrote: >> >> On 22/02/2015 11:36, Andrey Antukh wrote: >> > Documentation: >> > https://funcool.github.io/buddy-core/latest/ >> > https://funcool.github.io/buddy-auth/latest/ >> > https://funcool.github.io/buddy-hashers/latest/ >> > https://funcool.github.io/buddy-sign/latest/ >> > >> >> Great addition to Clojure web development security. For new users might >> I suggest adding a namespace table to -core, -hashers and -sign as with >> -auth? >> >> 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. > -- Andrey Antukh - Андрей Антух - / 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.
[ANN] Buddy 0.4.0: Security library for clojure.
Hi! I am happy to announce a new release of buddy (security library for Clojure). Since 0.3.0, buddy is split from monolithic library in four modules: - buddy-core: Cryptographyc api. - buddy-sign: High level message signing - buddy-auth: Authentication and Authorization facilities for ring based web apps. - buddy-hashers: Collection of password hashers. Relevant changes since 0.3.0: buddy-core: - Add buddy.core.nonce namespace with functions for generate cryptographically secure ivs and nonces. - Add buddy.core.padding with interface to the common padding algorithms. - Function name consistency improvements in almost all api (with proper backward compatibility for almost all changes, see changelog for breaking changes). - Improved low level interface to Hash and Mac algorithms, allowing to the user build own high level abstractions over it. buddy-sign: - Removed generic signing implementation - Add compact signing as replacement for generic (the difference and the purpose is explained in the documentation). - Improved time based validation and fix some related bugs. - Improved error reporting on message validation using Either monadic type. buddy-auth: - Remove generic signed token backend. - Add JWS/JWT backend as replacement to generic signed token backend). - Improved generic authorization system, now it extensible with clojure protocols. buddy-hashers: - Update versions and adapt the code to buddy-core internal api changes. Github: https://github.com/funcool/buddy-core https://github.com/funcool/buddy-auth https://github.com/funcool/buddy-hashers https://github.com/funcool/buddy-sign Documentation: https://funcool.github.io/buddy-core/latest/ https://funcool.github.io/buddy-auth/latest/ https://funcool.github.io/buddy-hashers/latest/ https://funcool.github.io/buddy-sign/latest/ Cheers. Andrey -- Andrey Antukh - Андрей Антух - / 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.
[ANN] Buddy 0.3.0: Security library for clojure.
Hi! I am happy to announce a new release of buddy (security library for Clojure). Since 0.3.0, buddy is split from monolithic library in four modules: - buddy-core: Cryptographyc api. - buddy-sign: High level message signing - buddy-auth: Authentication and Authorization facilities for ring based web apps. - buddy-hashers: Collection of password hashers. Relevant changes on some modules: buddy-hashers: - Code refactored in more extensible way (based on multimethods) - Unify in one namespace. Now, independently of hasher you should import only one namespace. - Hasher verification autodetects the hasher that should be used for verify the password. - Add pbkdf2+sha256 and pbkdf-sha3_256 buddy-auth: - Add support for more extensible way to raise unauthorized exception based on slingshot and clojure protocols. - Add clout syntax and some other little improvements from https://github.com/yogthos/ring-access-rules - Bugfixes on some backends related to headers parsing. - Add better examples. Other two modules does not includes new changes or has small and not relevant ones after library splitting. Github: https://github.com/funcool/buddy-core https://github.com/funcool/buddy-auth https://github.com/funcool/buddy-hashers https://github.com/funcool/buddy-sign Documentation: https://funcool.github.io/buddy-core/latest/ https://funcool.github.io/buddy-auth/latest/ https://funcool.github.io/buddy-hashers/latest/ https://funcool.github.io/buddy-sign/latest/ Since this release, each module will evolve independently. I thing, that this approach will help users to include only the necessary parts from buddy instead of including one monolithic library. Cheers. Andrey -- Andrey Antukh - Андрей Антух - / 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: [ANN] bouncer 0.3.2
Great library! I don't know about it! Thanks! 2015-01-23 15:54 GMT+01:00 Plínio Balduino : > This is awesome, Leonardo > > On Fri, Jan 23, 2015 at 9:39 AM, Leonardo Borges < > leonardoborges...@gmail.com> wrote: > >> bouncer is a validation library for Clojure apps >> >> Github: https://github.com/leonardoborges/bouncer >> Clojars: https://clojars.org/bouncer >> >> The main change with 0.3.2 is that bouncer now works with Clojurescript! >> - thanks Robin(@Skinney)! >> >> New validators have also been added. You can read more about the changes >> in the CHANGELOG: >> https://github.com/leonardoborges/bouncer/blob/master/CHANGELOG.md >> >> Enjoy! :) >> >> Leonardo Borges >> www.leonardoborges.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. >> > > -- > 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 - Андрей Антух - / 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.
[ANN] Suricatta 0.2.0: high level sql toolkit for clojure (backed by jooq)
Hello everybody. I wanted to announce the second release of suricatta, a high level sql toolkit for clojure (backed by fantastic jooq library). Main changes/improvements: - Improved connection creation. - Added support for custom type extensions (like postgresql json types) - Add ddl functions to dsl (for basic table, index and sequences crud). - Add join expressions to dsl - Support for export/import queries to/from csv and json. - Api consistency fixes (includes few backward incompatibilities). You can find the complete changelog here: https://github.com/niwibe/suricatta/blob/master/CHANGES.adoc#020 I also have added a quick start section to the readme thanks to the suggestions on the first release announcement. Repository: https://github.com/niwibe/suricatta Docs: http://niwibe.github.io/suricatta/latest/ Cheers. Andrey -- Andrey Antukh - Андрей Антух - / 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: [ANN] clojure.jdbc 0.4.0-beta1: A jdbc library for clojure.
Hi Michael. Means that it is the most recent major release. In this case 0.4.x. Cheers. Andrey 2015-01-11 19:25 GMT+01:00 Michael Blume : > I'm a little confused, by "last major release" do you mean the most recent > major release or do you mean clojure.jdbc is about to move into maintenance > mode? > > On Sun Jan 11 2015 at 3:02:51 AM Andrey Antukh wrote: > >> Hello! >> >> I wanted to announce the last major release of clojure.jdbc, a jdbc >> library for clojure. >> >> This release is focused mainly to simplify the code and use more clojure >> constructions >> like `with-open` macros instead of ad-hoc self defined macros. >> >> This release also, has some breaking changes related mainly to lazy >> queries. Now are much simple, and implemented without macros. >> >> You can find the complete changelog here: >> https://github.com/niwibe/clojure.jdbc/blob/master/CHANGES.adoc#version-040-beta1 >> >> Github project: https://github.com/niwibe/clojure.jdbc >> Documentation: http://niwibe.github.io/clojure.jdbc/latest/ >> >> Cheers. >> Andrey >> -- >> Andrey Antukh - Андрей Антух - / < >> 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. >> > -- > 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 - Андрей Антух - / 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.
[ANN] clojure.jdbc 0.4.0-beta1: A jdbc library for clojure.
Hello! I wanted to announce the last major release of clojure.jdbc, a jdbc library for clojure. This release is focused mainly to simplify the code and use more clojure constructions like `with-open` macros instead of ad-hoc self defined macros. This release also, has some breaking changes related mainly to lazy queries. Now are much simple, and implemented without macros. You can find the complete changelog here: https://github.com/niwibe/clojure.jdbc/blob/master/CHANGES.adoc#version-040-beta1 Github project: https://github.com/niwibe/clojure.jdbc Documentation: http://niwibe.github.io/clojure.jdbc/latest/ Cheers. Andrey -- Andrey Antukh - Андрей Антух - / 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: camelize-dasherize - reinventing the wheel?
Hello 2015-01-07 10:11 GMT+01:00 Noam Ben-Ari : > @Thomas > > Unfortunately, clojure.walk is not StackOverflowError-safe. Same goes for > tree-seq (uses walk). The only safe solution I found so far are zippers. > > Regarding memoization, yes I agree it will help if converting the same > maps frequently, however at scale, with many users hitting the same API, > and each has a different user-id, it will not help (unless I'm missing > something). > As far as I understand, you are trying transform keys and not values. If that supposition is correct, you have only a little subset of posible keys memoized (the set of keys of your api). In case of user-id, you will memoize the transformation of userId to user-id and for it you only need one cache entry. Obviously, if you transform arbitrary user input, memoize is not a good solution. My two cents! Cheers. Andrey > > Thanks. > > On Wednesday, January 7, 2015 1:36:53 AM UTC+2, Thomas Heller wrote: >> >> If you want to boost performance a bit just memoize the conversion >> functions. Memoize makes you vurnable to exploits though, better use >> something with WeakRefs if you convert anything from untrusted sources (eg. >> guava CacheBuilder). But given your usecase this will probably be the >> biggest gain, no matter what else you use to convert maps. >> >> https://gist.github.com/thheller/7ddc0371561deaf13e11 >> "Elapsed time: 35.488 msecs" >> >> clojure.walk has keywordize-keys and stringify-keys, maybe a suitable >> starting point for your implementation. >> >> HTH, >> /thomas >> >> >> On Tuesday, January 6, 2015 8:25:57 PM UTC+1, Noam Ben-Ari wrote: >>> >>> Hi, >>> >>> I've written a small library (1 ns, 100 lines) to transform nested maps >>> from "dash-case" keys to "camelCase" keys and back. >>> >>> The original use case was taking MySQL records that use camelCase field >>> names and convert them to dash-case so they don't stick out like a sore >>> thumb in my code. Similarly, when writing new records into the DB, I wanted >>> to camelize them back before passing to JDBC. >>> >>> It should work on an arbitrarily deep nested map without blowing the >>> stack (using zipper). >>> >>> It is symmetric: >>> >>> (dasherize "clientOSVersion") >>> => "client-OS-version" >>> (camelize "client-OS-version") >>> => "clientOSVersion" >>> >>> >>> The library starts with defining functions that work on strings, then >>> ones that work on keywords (internally calling the string ones) and later >>> ones working on maps (that assume all keys are keywords and use the keyword >>> functions). Lastly, the library defines protocols that will ease working >>> with different types. >>> >>> I would love any feedback, but especially: >>> - is there any off-the-shelf library for this already? >>> - I found zipper and regex to be really hurting performance here, >>> anything you would do differently to improve this? >>> - anything about style... I'm writing Clojure for a year and didn't get >>> much code reviews. >>> >>> the gist is here: >>> >>> https://gist.github.com/NoamB/6e940775dfa63c73ee9c >>> >>> Thanks. >>> >>> PS - I took the string versions of the functions from cuerdas ( >>> https://github.com/funcool/cuerdas) and modified a bit, mainly to get >>> the symmetry working. >>> >> -- > 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 - Андрей Антух - / 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: camelize-dasherize - reinventing the wheel?
Hi! 2015-01-06 20:25 GMT+01:00 Noam Ben-Ari : > Hi, > > I've written a small library (1 ns, 100 lines) to transform nested maps > from "dash-case" keys to "camelCase" keys and back. > > The original use case was taking MySQL records that use camelCase field > names and convert them to dash-case so they don't stick out like a sore > thumb in my code. Similarly, when writing new records into the DB, I wanted > to camelize them back before passing to JDBC. > > It should work on an arbitrarily deep nested map without blowing the stack > (using zipper). > > It is symmetric: > > (dasherize "clientOSVersion") > => "client-OS-version" > (camelize "client-OS-version") > => "clientOSVersion" > > > The library starts with defining functions that work on strings, then ones > that work on keywords (internally calling the string ones) and later ones > working on maps (that assume all keys are keywords and use the keyword > functions). Lastly, the library defines protocols that will ease working > with different types. > > I would love any feedback, but especially: > - is there any off-the-shelf library for this already? > - I found zipper and regex to be really hurting performance here, anything > you would do differently to improve this? > - anything about style... I'm writing Clojure for a year and didn't get > much code reviews. > > the gist is here: > > https://gist.github.com/NoamB/6e940775dfa63c73ee9c > > Thanks. > > PS - I took the string versions of the functions from cuerdas ( > https://github.com/funcool/cuerdas) and modified a bit, mainly to get the > symmetry working. > I have ported some changes from your dasherize version to cuerdas. Thank you very much for improved version. Cheers. Andrey > -- > 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 - Андрей Антух - / 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: A (foolish) plan to re-invent IO on top of core.async
Some jetty adapters also supports the async interface using core.async: https://github.com/mpenet/jet. Also, for async database access, I'm currently working on suricatta library (sql toolkit on top of JOOQ) and it exposes a simple async interface for execute queries asynchronously in a shared thread pool: http://niwibe.github.io/suricatta/devel/#_async_interface (it needs more polish and improvements but works pretty well for first version). Cheers Andrey 2015-01-06 3:11 GMT+01:00 Timothy Baldridge : > And if you want async web frameworks, Pedestal supports core.async. You > just return a channel as a response body and it assumes that you will > eventually pipe your data down that channel. > > Timothy > > On Mon, Jan 5, 2015 at 6:09 PM, David James wrote: > >> In case you are interested in a recent example, I wrote an NIO.2 based >> Riak client in Clojure without Netty. >> https://github.com/bluemont/kria >> >> It uses callback functions, so the consumer can do whatever they want; >> such as core.async. >> >> I agree with Timothy, above. My take-away from the experience is that >> core.async does not need to be *baked into* a library. It is better if it >> is not; for testing the library, I use atoms: >> https://github.com/bluemont/kria/blob/master/test/kria/test_helpers.clj#L45 >> >> -- >> 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. >> > > > > -- > “One of the main causes of the fall of the Roman Empire was that–lacking > zero–they had no way to indicate successful termination of their C > programs.” > (Robert Firth) > > -- > 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 - Андрей Антух - / 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.
[ANN] cuerdas 0.2.0: A string manipulation library for clojure and clojurescript.
Hello everybody. I wanted to announce the second release of cuerdas. A string manipulation library for clojure and clojurescript. That release includes a bunch of fixes and improvements suggested in previous release announcement and reddit. Thanks for the feedback! Relevant changes: - Remove Apache Commons Lang dependency (clj). - Add proper nil handling for almost all functions. - Add strip, rstrip and lstrip aliases for trim, rtrim and ltrim respectively. - Rename endswith? and startswith? with ends-with? and starts-with? respectively, but conserve the previously funcnames as aliases. - Add the ability of arbitrary replacements to strip-tags function. Documentation: http://funcool.github.io/cuerdas/latest/ Github: https://github.com/funcool/cuerdas Cheers. Andrey. -- Andrey Antukh - Андрей Антух - / 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: [ClojureScript] Re: [ANN] cuerdas 0.1.0: A string manipulation library for clojure and clojurescript.
Hi! Thank you very much! You are right about nil handling, it should be documented and proper handled. But I'm not completely convinced with ruby behavior for that, in many other implementations in other languages it is slightly different. In my opinion that is more proper behavior: blank? (nil, whitespace chars resolves to true, something else, false) empty? (nil and "" (empty string) resolves to true, something else is false) the purposed whitespace? is synonym of blank? I'll document and add tests for it in next days. Again, thanks for the feedback. Cheers. Andrey 2014-12-24 13:03 GMT+01:00 Sean Johnson : > Very nice work. I'll be using this! > > Also, I agree with Noam that there's a fairly common expectation of blank? > that started in the Ruby world. > > Here's my suggestion for what it's worth: > > blank? - true iff "" or nil > empty? - true iff "", false if nil > whitespace? true iff "" or only white space, false if nil > > Cheers, > Sean > > On Tuesday, December 23, 2014 12:48:35 PM UTC-5, Andrey Antukh wrote: >> >> Hello everybody. >> >> I wanted to announce the first release of cuerdas. A string manipulation >> library for clojure and clojurescript. >> >> It is mainly based on underscore.string and string.js, but also >> influenced by lodash. >> >> Documentation: http://funcool.github.io/cuerdas/latest/ >> Github: https://github.com/funcool/cuerdas >> >> Cheers. >> Andrey >> >> -- >> Andrey Antukh - Андрей Антух - / > > >> http://www.niwi.be <http://www.niwi.be/page/about/> >> https://github.com/niwibe >> > -- > Note that posts from new members are moderated - please be patient with > your first post. > --- > You received this message because you are subscribed to the Google Groups > "ClojureScript" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to clojurescript+unsubscr...@googlegroups.com. > To post to this group, send email to clojurescr...@googlegroups.com. > Visit this group at http://groups.google.com/group/clojurescript. > -- Andrey Antukh - Андрей Антух - / 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.
[ANN] cuerdas 0.1.0: A string manipulation library for clojure and clojurescript.
Hello everybody. I wanted to announce the first release of cuerdas. A string manipulation library for clojure and clojurescript. It is mainly based on underscore.string and string.js, but also influenced by lodash. Documentation: http://funcool.github.io/cuerdas/latest/ Github: https://github.com/funcool/cuerdas Cheers. Andrey -- Andrey Antukh - Андрей Антух - / 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: [ANN] ring-access-rules library
2014-12-09 22:35 GMT+01:00 Dmitri : > I'm definitely up for that, if I knew about buddy I wouldn't have started > the lib in the first place. :) I found friend to be a bit too complex for > what I needed in the apps I was writing as well. I originally added the > access restriction logic to lib-noir, but recently I started considering > deprecating it in favor of standalone libraries for all the functionality > that it bundles. Buddy looks like a perfect solution for web app security. > > I only see a couple of small differences in functionality. Buddy requires > a handler function, while I opted for allowing a static redirect URI as an > alternative. I allow specifying a vector of uri patterns for each set of > rules. I'm also using Clout (https://github.com/weavejester/clout) for > request matching instead of plain regex. All of these are very minor > differences however. > Are minor differences but if them are useful, maybe them should be implemented in buddy. I'll review in detail the implementation of your library and extract from them that parts for buddy. I'll try to do it this weekend. Until weekend I will stay very busy :( > I think I'll be moving Luminus over to use Buddy instead lib-noir for > security. :) > Oh, great notice! I'm repeating, if you find something missing, let me know! Regards. Andrey. > > On Tuesday, December 9, 2014 4:13:44 PM UTC-5, Andrey Antukh wrote: >> >> Would be awesome join forces, and If you miss something that you library >> is already support, let me know, and we can integrate it in buddy. >> >> I have made buddy because I'm little frustrate with friend approach (is >> good but not convinced me). >> >> Regards. >> Andrey >> >> 2014-12-09 21:30 GMT+01:00 Dmitri : >> >> That does look rather similar actually, and it looks like buddy does a >>> lot more as well. I guess that validates the approach, I'll have to see if >>> it fits all my use cases. :) >>> >>> On Tuesday, December 9, 2014 2:43:42 PM UTC-5, Andrey Antukh wrote: >>>> >>>> Hi Dmitri! >>>> >>>> If I understand it well, is a very similar system already implemented >>>> in buddy: http://niwibe.github.io/buddy/#_access_rules_system >>>> <http://www.google.com/url?q=http%3A%2F%2Fniwibe.github.io%2Fbuddy%2F%23_access_rules_system&sa=D&sntz=1&usg=AFQjCNFhCj_anD1ohvV4MbWGgBmSj3OGng> >>>> >>>> >>>> Regards. >>>> Andrey. >>>> >>>> 2014-12-09 19:11 GMT+01:00 Dmitri : >>>> >>>>> https://github.com/yogthos/ring-access-rules >>>>> >>>>> Friend is a great library, but it's definitely not easy to get into >>>>> and I found it can actually make the workflow logic difficult to follow in >>>>> some cases. >>>>> >>>>> My experience has been that for apps I work on all I want is to apply >>>>> a decision function to a route to see if it should be accessible. The >>>>> decision logic really tends to be application specific. It's easy to write >>>>> a custom access control function for a specific scenario, but it's >>>>> difficult to make a generic one that works well for any scenario. This >>>>> library provides a simple way to associate access control functions with >>>>> routes and leaves the workflow up to the user. >>>>> >>>>> -- >>>>> 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. >>>>> >>>> >>>> >>>> >>>> -- >>>> Andrey Antukh - Андрей Антух - / < >>>> ni...@niwi.be> >&
Re: [ANN] ring-access-rules library
Would be awesome join forces, and If you miss something that you library is already support, let me know, and we can integrate it in buddy. I have made buddy because I'm little frustrate with friend approach (is good but not convinced me). Regards. Andrey 2014-12-09 21:30 GMT+01:00 Dmitri : > That does look rather similar actually, and it looks like buddy does a lot > more as well. I guess that validates the approach, I'll have to see if it > fits all my use cases. :) > > On Tuesday, December 9, 2014 2:43:42 PM UTC-5, Andrey Antukh wrote: >> >> Hi Dmitri! >> >> If I understand it well, is a very similar system already implemented in >> buddy: http://niwibe.github.io/buddy/#_access_rules_system >> <http://www.google.com/url?q=http%3A%2F%2Fniwibe.github.io%2Fbuddy%2F%23_access_rules_system&sa=D&sntz=1&usg=AFQjCNFhCj_anD1ohvV4MbWGgBmSj3OGng> >> >> >> Regards. >> Andrey. >> >> 2014-12-09 19:11 GMT+01:00 Dmitri : >> >>> https://github.com/yogthos/ring-access-rules >>> >>> Friend is a great library, but it's definitely not easy to get into and >>> I found it can actually make the workflow logic difficult to follow in some >>> cases. >>> >>> My experience has been that for apps I work on all I want is to apply a >>> decision function to a route to see if it should be accessible. The >>> decision logic really tends to be application specific. It's easy to write >>> a custom access control function for a specific scenario, but it's >>> difficult to make a generic one that works well for any scenario. This >>> library provides a simple way to associate access control functions with >>> routes and leaves the workflow up to the user. >>> >>> -- >>> 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. >>> >> >> >> >> -- >> Andrey Antukh - Андрей Антух - / > > >> 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. > -- Andrey Antukh - Андрей Антух - / 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: [ANN] ring-access-rules library
Hi Dmitri! If I understand it well, is a very similar system already implemented in buddy: http://niwibe.github.io/buddy/#_access_rules_system Regards. Andrey. 2014-12-09 19:11 GMT+01:00 Dmitri : > https://github.com/yogthos/ring-access-rules > > Friend is a great library, but it's definitely not easy to get into and I > found it can actually make the workflow logic difficult to follow in some > cases. > > My experience has been that for apps I work on all I want is to apply a > decision function to a route to see if it should be accessible. The > decision logic really tends to be application specific. It's easy to write > a custom access control function for a specific scenario, but it's > difficult to make a generic one that works well for any scenario. This > library provides a simple way to associate access control functions with > routes and leaves the workflow up to the user. > > -- > 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 - Андрей Антух - / 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: Memoize in the real world
Hi! 2014-12-09 18:08 GMT+01:00 Andy Dwelly : > Looking through my recent work I see that a number of atoms, swap! and > reset! calls have snuck into my work, usually when there's an expensive > operation like reading and parsing a large file or connecting to a > database. I find I'm doing things like > > (def conf (atom nil)) > > (defn config [] > (if (nil? @conf) (reset! conf (read-and-expensively-parse > "somefile.xml")) @conf)) > > So that the first time (config) is called it will do the operation, but > future attempts will simply deref the atom. > > Recent discussions here alerted me to memoize which will do this without > the atom, but the documentation mentions that the functions that are > memoized should be referentially transparent. Although I'm pretty sure that > while my server is running, the config will not change - it can't be > guaranteed in a formal sense. Reading a file or connecting to an external > process is doing io of course, in theory someone could change the file > while my back was turned. > > Questions: if I was prepared to live with the consequences of having to > restart the server if the conf file had been changed, would it be more > idiomatic to use use memoize to avoid mutating state? > If I really had to change a conf file while the server was running, is > there any way a memoized function could have it's cache cleared? I suspect > the answer to that one is no - but you never know > > In my opinion, if you assumes the consequences of having to restart the server, delay is the best solution for it. As far as I know, it guarantees one unique execution regardless how many threads are dereferencing it, and subsequently it always returns the computed result. My two cents. Andrey > -- > 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 - Андрей Антух - / 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.
[ANN] Suricatta: 0.1.0-alpha - high level sql toolkit for clojure (backed by jooq)
Hello everybody. I wanted to announce the first alpha release of suricatta, a high level sql toolkit for clojure (backed by fantastic jooq library) Main features: - Clear and simple sql executing api. - Asynchronous query execution api. - Lightweight sql dsl. You might be wondering: Yet an other sql dsl? In first instance suricatta is not a dsl library, is a sql toolkit, and one part of the toolkit is a dsl. Secondly, suricatta's dsl don’t intends to be a sql abstraction. The real purpose of suricatta's dsl is make SQL composable, allowing use all or almost all vendor specific sql constructions. Why I should use suricatta instead of clojure.jdbc or java.jdbc? Unlike any jdbc library, suricatta works in slightly higher level. It hides a lot of idiosyncrasies of jdbc under much simpler, cleaner and less error prone api, with better resource management. You can find a complete FAQ here: http://niwibe.github.io/suricatta/#_faq Repository: https://github.com/niwibe/suricatta Docs: http://niwibe.github.io/suricatta/ My apologies for the spelling mistakes in the documentation. My English isn't very good, and all improvements are welcome! Yours, Andrey -- Andrey Antukh - Андрей Антух - / 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: [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 : > 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") > ; => # > > (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 - Андрей Антух - / 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: [ANN]: clojure.jdbc 0.3.0 - A jdbc library for clojure (previously clj.jdbc)
Thank you very much to both for the feedback. I was considered different names in the past (I don't like much clj.jdbc name :( ) and the current name was the election. Changing the name again also can get confuse people, because of it, I thinking maybe better keep the current name as is. Thanks again. Greetings. Andrey 2014-10-11 23:57 GMT+02:00 Michael Klishin : > On 12 October 2014 at 00:39:40, James Reeves (ja...@booleanknot.com) > wrote: > > The name of this library is really close to the "clojure.java.jdbc" > > contrib library. You may want to consider changing the name so > > people don't get confused. > > …and IMO clj.jdbc was significantly easier to tell from clojure.java.jdbc. > -- > @michaelklishin, github.com/michaelklishin > > -- > 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 - Андрей Антух - / 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.
[ANN]: clojure.jdbc 0.3.0 - A jdbc library for clojure (previously clj.jdbc)
A JDBC library for clojure. Previously: clj.jdbc Summary of changes from 0.2.2 to 0.3.0: - Minor code reorganization (split protocols from implementation) - Normalize connection pool parameters make them more plugable. - Type hints for almost all code. - Documentation improvements. Summary of changes from clj.jdbc 0.1.1 to clojure.jdbc 0.2.2: - Human readable dbspec format. - Read only connections. - Allow specify schema to connection. - Add `query-first` helper. - Bug fixes. Changelog: https://raw.githubusercontent.com/niwibe/clojure.jdbc/master/CHANGES.txt Github project: https://github.com/niwibe/clojure.jdbc Documentation: http://niwibe.github.io/clojure.jdbc/ Greetings Andrey -- Andrey Antukh - Андрей Антух - / 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: ANN clj-time 0.8.0 is released
Awesome! Thanks! 2014-07-27 20:24 GMT+02:00 Michael Klishin : > clj-time [1] is a popular Clojure date/time library built on top of Joda > Time. > > Unfortunately, the project currently doesn't have a human-friendly change > log, > so here's a git one (sorry): > > https://github.com/clj-time/clj-time/compare/v0.7.0...v0.8.0 > > 1. https://github.com/clj-time/clj-time/ > -- > @michaelklishin, github.com/michaelklishin > > -- > 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 - Андрей Антух - / 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: [ClojureScript] [ANN] Cats: category theory abstractions library for clojure(script).
Hi Herwig! 2014-07-11 17:49 GMT+02:00 Herwig Hochleitner : > Hello Andrey, > > after having spent some time with Haskell lately, trying to wrap my head > around those categorical abstractions, I enjoy your take on them a lot. At > first glance, I feel your design blends in with clojure's style very well. > > Also, congratulations on the documentation, it's a great read for readers > familiar with dynamically typed languages. > Thank you very much! > > A question: > > Your take on `return` took me a bit off guard. It's a cool use case for a > dynamic variable, but can you cover all cases with it? What about if you > start by binding a couple of returns into each other and only then bind it > into a specific monad? > Yes, the current approach of return/pure and mlet macro is slightly limited. It works in almost all simple cases but with some complex cases it clearly has limitations. As example, we are found this limitations implementing monad transformers... At this moment we are researching the best way to solve that, and the first approach in the mind is make an other mlet like macro (mdo is a candidate) with type parameter. But at this moment nothing is done. > Full Disclosure: I also spent some thought on how the type of a `return` > could be determined in a dynamic language; I was thinking along the lines > of making return a macro and passing it as an unevaluated thunk until the > type can be determined. This should be possible due to associativity in > monads. What do you think? > I don't know if is good idea make return a macro, in any case, we will consider your approach, thanks! > > cheers > Greetings. Andrey > -- > Note that posts from new members are moderated - please be patient with > your first post. > --- > You received this message because you are subscribed to the Google Groups > "ClojureScript" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to clojurescript+unsubscr...@googlegroups.com. > To post to this group, send email to clojurescr...@googlegroups.com. > Visit this group at http://groups.google.com/group/clojurescript. > -- Andrey Antukh - Андрей Антух - / 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.
[ANN] Cats: category theory abstractions library for clojure(script).
Hello everyone! I just wanted to announce cats: category theory abstractions library for clojure(script). Why another library? You can see a list of differences with existing libraries here: http://niwibe.github.io/cats/#_why_another_library Github: https://github.com/niwibe/cats Documentation: http://niwibe.github.io/cats/ Best regards. Andrey -- Andrey Antukh - Андрей Антух - / 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: Why clojure does not have pure lazy-evaluation like Haskell ?
2014-07-08 18:20 GMT+02:00 Marko Kocić : > Clojure doesn't have lazy evaluation because it is a "few" years younger > and didn't want to repeat Haskell's mistake. Even Simon Payton Jones, the > creator of Haskel, confessed that, if he would make Haskel again, he would > make it strict, and not lazy, but that it's too late to change it. > > -- > Sorry for offtopic, but, you have source of it? Andrey > 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 - Андрей Антух - / 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: OT: Github Alternatives
In my opinion, saying "I have problems with it, then, it is bad" is very bad argument. I'm not defending git, I'm only criticizing your arguments. The only way to save money and pain, is knowing well the tools that you are using. And git doesn't make any magic. ;) Andrey 2014-07-01 15:23 GMT+02:00 Charles Harvey III : > That is truly sad if Bzr dies out. I have had such horrible experiences > with Git that I still can't understand what people like about it. Well, > aside from the fact that it is not SVN and that there is github. > > > > > > On Tuesday, July 1, 2014 6:58:32 AM UTC-4, Thorsten Jolitz wrote: >> >> Charles Harvey III writes: >> >> > You could abandon Git and save yourself a lot of money and pain. >> > >> > Start using Bazaar! http://bzrinit.com/ >> > (http://bazaar.canonical.com/en/) >> > >> > "Hosting" is seriously you setting up an ftp server (sftp, ssh, scp) - >> > whatever. There is web viewer plugin: >> > https://launchpad.net/loggerhead. it is basically an apache module. >> > >> > Seriously, take a look at Bzr. All the features of Git with much nicer >> > commands and it won't ever lose your history. And hosting it yourself >> > is just so easy. >> >> Too bad that even GNU Emacs development is moving (has already moved?) >> from bzr to git. See >> >> , >> | From: e...@thyrsus.com (Eric S. Raymond) >> | Subject: bzr is dying; Emacs needs to move >> | Newsgroups: gmane.emacs.devel >> | To: emacs...@gnu.org >> | Date: Thu, 2 Jan 2014 04:53:47 -0500 (EST) (25 weeks, 5 days, 1 hour >> ago) >> | >> | I am posting this because I think it is my duty as a topic expert in >> | version-control systems and the surrounding tools to do so, not because >> | I have any desire to be in the argument that is certain to ensue. >> | >> | The bzr version control system is dying; by most measures it is >> | already moribund. [...] >> ` >> >> and the following long thread on gmane.emacs.devel. >> >> -- >> cheers, >> Thorsten >> >> -- > 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 - Андрей Антух - / 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: OT: Github Alternatives
2014-06-30 19:17 GMT+02:00 Phang Mulianto : > Hi, > > Can try Tracscm [ *trac*.edgewall.org/ ] > > or gitlab is good, the interface is clean, but it runs on java > As far as I know gitlab is written in ruby and not in java. And it has good install scripts that makes all had work of configure it, very easy. > > > > On Mon, Jun 30, 2014 at 11:10 PM, Torsten Uhlmann > wrote: > >> Assembla also offers a private package which you can download and run on >> your own machines: >> >> >> http://blog.assembla.com/assemblablog/tabid/12618/bid/10151/Introducing-Private-Assembla-your-own-Assembla-server-in-Download-Cloud-and-Managed-packages.aspx >> >> >> 2014-06-30 17:07 GMT+02:00 Mikhail Kryshen : >> >> I would recommend Fossil (http://fossil-scm.org/) — a distributed >>> version control system with integrated distributed bug tracker, wiki and >>> blog, all of which are accessed through a built-in web server. >>> >>> <#secure method=pgpmime mode=sign> >>> Adrian Mowat writes: >>> >>> > Hi All, >>> > >>> > Sorry for the off topic thread but my company is looking at >>> alternatives to >>> > gihub that are a) hosted internally and b) cheaper (!) >>> > >>> > I was wondering what everyone else is using out there? The features >>> we use >>> > most on github are easy creation and navigation of repos, commit/diff >>> > browsing and user/team management facilities >>> > >>> > Many Thanks >>> > >>> > Adrian >>> > >>> > -- >>> > 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. >>> >>> -- >>> Mikhail >>> >>> -- >>> 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. >>> >> >> >> >> -- >> AGYNAMIX(R). Passionate Software. >> Inh. Torsten Uhlmann | Buchenweg 5 | 09380 Thalheim >> Phone: +49 3721 273445 >> Fax: +49 3721 273446 >> Mobile: +49 151 12412427 >> Web:http://www.agynamix.de >> Author of "Lift Web Applications How-To >> <http://www.packtpub.com/lift-web-applications/book>" >> >> -- >> 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.goo
Re: OT: Github Alternatives
We are using gitlab and it's works very well! ;) Andrey 2014-06-30 15:01 GMT+02:00 François Rey : > Tuleap <http://www.tuleap.org/> is fully open source and integrates > gitolite, gerrit, hudson/jenkins, etc. along with an agile dashboard, > trackers, and more. > > -- > 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 - Андрей Антух - / 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: Clojure Contributor Agreement process update
Very nice! \o/ 2014-06-09 20:57 GMT+02:00 Plínio Balduino : > \o/ > > On Mon, Jun 9, 2014 at 3:34 PM, Michael Klishin > wrote: > > 2014-06-09 21:23 GMT+04:00 Alex Miller : > > > >> Starting today, we have updated the Clojure Contributor Agreement > process. > >> The prior process which involved signing and mailing a form has been > >> replaced with an online e-signing process. > > > > > > \o/ > > -- > > MK > > > > http://github.com/michaelklishin > > http://twitter.com/michaelklishin > > > > -- > > 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. > -- Andrey Antukh - Андрей Антух - / 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: ClojureScript & Clojure 1.6.0
+1 2014-06-06 19:19 GMT+02:00 Karsten Schmidt : > +1 > On 6 Jun 2014 16:59, "David Nolen" wrote: > >> Clojure 1.6.0 introduced Murmur3 for much improved collection hashing and >> several new functions & macros. There's very little incentive to continue >> to support 1.5.X given these enhancements. >> >> David >> >> >> On Fri, Jun 6, 2014 at 11:48 AM, Joshua Ballanco >> wrote: >> >>> No objection, but I’m curious what are the motivating factors? Are there >>> any new features/bug-fixes planned for ClojureScript that will depend on >>> Clojure 1.6.0 features? or is this just a case of keeping things as >>> up-to-date as possible? >>> >>> >>> On Friday, June 6, 2014 at 17:43, David Nolen wrote: >>> >>> > Future releases of ClojureScript will have a hard dependency on >>> Clojure 1.6.0. If you have any objections, speak up now :) >>> > >>> > David >>> > >>> > -- >>> > You received this message because you are subscribed to the Google >>> Groups "Clojure Dev" group. >>> > To unsubscribe from this group and stop receiving emails from it, send >>> an email to clojure-dev+unsubscr...@googlegroups.com (mailto: >>> clojure-dev+unsubscr...@googlegroups.com). >>> > To post to this group, send email to clojure-...@googlegroups.com >>> (mailto:clojure-...@googlegroups.com). >>> > Visit this group at http://groups.google.com/group/clojure-dev. >>> > For more options, visit https://groups.google.com/d/optout. >>> >>> >>> >>> -- >>> You received this message because you are subscribed to the Google >>> Groups "Clojure Dev" group. >>> To unsubscribe from this group and stop receiving emails from it, send >>> an email to clojure-dev+unsubscr...@googlegroups.com. >>> To post to this group, send email to clojure-...@googlegroups.com. >>> Visit this group at http://groups.google.com/group/clojure-dev. >>> For more options, visit https://groups.google.com/d/optout. >>> >> >> -- >> You received this message because you are subscribed to the Google Groups >> "Clojure Dev" group. >> To unsubscribe from this group and stop receiving emails from it, send an >> email to clojure-dev+unsubscr...@googlegroups.com. >> To post to this group, send email to clojure-...@googlegroups.com. >> Visit this group at http://groups.google.com/group/clojure-dev. >> 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. > -- Andrey Antukh - Андрей Антух - / 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: [ANN] monarch 0.2.0 - Simple database migrations for Clojure.
Nomad is an other tool like confijulate: https://github.com/james-henderson/nomad I use it in some projects and seems better documented that confijulate and uses edn as file format. Andrey 2014-05-27 10:43 GMT+02:00 Ray Miller : > On 27 May 2014 09:35, Manuel Paccagnella > wrote: > > > >> I've found confijulate, here. It might be useful. > > > > > > Well, ok. Another configuration library that I wasn't aware of when I > wrote > > confunion. Another one that I found after writing mine is carica, which > > seems quite good. There are a bunch of them out there, you can look into > > Clojure Toolbox, probably there is already one that satisfies your use > > cases. > > Thank you for drawing all these configuration libraries to my > attention, this is something I've done in an ad hoc way for the > different applications I've written. I'll take a look at these before > rolling my own next time. > > Ray. > > -- > 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 - Андрей Антух - / 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: is there a performance test tool by clojure
Hi! https://github.com/hugoduncan/criterium this is a good candidate. Greetings Andrey 2014-05-06 15:06 GMT+02:00 Zhi Yang : > is there a performance test tool by clojure like scala Gatling > > -- > 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 - Андрей Антух - / 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: Clojure for web project? Talk me into it!
Hi 2014-04-29 10:22 GMT+02:00 Bernhard Mäder : > Hey guys, > > I need your help in choosing a web stack for a medium sized website > project, which is going to take the better half of my time for the next > year. I really want to use clojure, because of various reasons, but have > never done web development with it before. Frankly, it’s quite hard to feel > confident about such a decision, as there are so many libraries to choose > from, many of which seem to be abandoned or with very little (public) > momentum. > > These are the notable features I need on the server side: > >- Internationalization of content, with multilingual URLs >- Authentication through username / password and through xing (oauth) >and linkedin (oath2). >- Image and PDF upload >- A small (and pretty basic) CMS >- Beautiful reports renderings >- A basic admin backend > > First, I was thinking along the compojure/hiccup/friend stack. I like it > for the simplicity, the flexibility and the abundance of documentation on > the web. Unfortunately, I see myself reinventing the wheel a few times with > this approach… > > Then there is caribou. I like that it’s very well documented and that it’s > already being used in production. It appears to be the most feature > complete solution for the time being. It handles images, has backend > scaffolding and i18n. OTOH, authentication isn’t really built-in (other > than basic auth, if I got that right) and, it’s very new, so adoption seems > to be still low. Also, it is developed in-house, so there’s the risk of > abandonment, too. > > Finally, I took a look at pedestal (services). I like its overall design > and I especially welcome the URL generator, which is going to be a boon in > larger projects. But all in all, it seems to be little more than a > (powerful) routing engine (again, maybe I’m missing something) and lacks > internationalization as well as authentication (although I read that the > snapshot version of friend will work with it). Also, it is developed > in-house and not declared production-ready yet. > > I don’t feel very comfortable with either choice and would appreciate the > thoughts of seasoned clojure web devs on that topic. Please talk me into > it! I don’t want to end up with scala and play… :-) > For authentication and authorization I'm using buddy ( http://niwibe.github.io/buddy/) what has slightly different approach that friend, Liberator for backend code and angularjs for frontend. It works very well for my purposes. For your purposes the best choice is my opinion is caribou with some external lib for authentication like buddy or friend. Sorry for not being much help. > Thanks for your thought! > Bernhard > Greetings. Andrey -- Andrey Antukh - Андрей Антух - / 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: Kwargs vs explicit parameter map for APIs?
Hi! I have the same doubt! However, At this time, I prefer use a explicit map instead keywords, because for me is much clear that using keywords. Andrey. 2014-04-26 0:41 GMT+02:00 Colin Fleming : > Hi all, > > I'm working on an API at the moment, and I'm balancing whether to use > inline keyword args which I would destructure in the functions, or whether > to just pass an explicit params map as the last parameter. Comparison of > the two options in case I'm not explaining myself well: > > Kwargs: > (class/create-class :instancelist > :description "My description" > :implements (keys class-methods) > :methods (calculate-my-methods)) > > Map: > (class/create-class {:instancelist > :description "My description" > :implements (keys class-methods) > :methods (calculate-my-methods)}) > > A lot of APIs I've seen have favoured kwargs, and it undeniably makes for > some pretty code - Seesaw is the best example I've seen here, the API is a > thing of beauty. However it seems to me to have some issues: > >1. If I want to delegate to another call from within an API function >and use the same arguments, it's really awkward: (apply delegate >(mapcat identity args)) or some similarly awful black juxt magic. Or >of course writing out all the parameters again, but that's even worse. >2. It's more difficult to make parameters optional based on some >runtime criteria since the params are baked into the function call. I guess >this is usually dealt with by making the calls handle nil for a particular >parameter. > > Both of these are much easier when passing an explicit map. Any > preferences here, from either writing or using APIs like this? > > Cheers, > > Colin > > -- > 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 - Андрей Антух - / 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: Bug in clojure.algo.monads prevents you from using :require :as ns declaration
Hi Rick As far as I know, m-lift and similar functions should be used in monad context (using with-monad macro). Greetings. Andrey 2014-04-23 14:41 GMT+02:00 Rick Moynihan : > Hi all, > > I think I've found a minor bug in clojure.algo.monads. > > If you do the following: > > (ns foo.bar > (:require [clojure.algo.monads :as mon])) > > You cannot use mon/m-lift (and possibly others) as m-lift expands like so: > > user> (macroexpand '(mon/m-lift 1 prn)) > (fn* ([mv_4553] (m-bind mv_4553 (fn [x_4554] (m-result (prn x_4554)) > > Note that m-bind is not fully qualified which results in errors like this: > > CompilerException java.lang.RuntimeException: Unable to resolve symbol: > m-bind in this context, > compiling:(/private/var/folders/6j/vpfh3hk97mq82r9nmq7d2h0hgn/T/form-init2703504198066353121.clj:1:1) > > > The github page for clojure.algo.monads does not mention how to post bug > requests. I'm assuming as it's a contrib project it's done through > Clojure's JIRA. > > Can anyone offer some guidance? > > Thanks. > > R. > > -- > 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 - Андрей Антух - / 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: Books for learning Clojure
Hi Cecil I had read almost all books of you list and without a doubt clojure programming (o'reilly) is the best book for me ;) Andrey 2014-04-22 20:18 GMT+02:00 Cecil Westerhof : > I have a ‘little’ to learn. ;-) I have worked with a lot of languages, > including Lisp. I was thinking about the following books (in that order): > - Practical Clojure > - Clojure in Action > - The Joy of Clojure > - Clojure Programming > - Programming Clojure > > Someone told me it was better to start with Programming Clojure and after > that The Joy of Clojure. Any idea's about this? > > -- > 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. > -- Andrey Antukh - Андрей Антух - / 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: What's clojure killer app? I don't see any.
app" like Rails, Clojure is fantastic >>>>> at this particular group of problems, as demonstrated by companies >>>>> from < 10 to 10s of thousands of people. >>>>> -- >>>>> MK >>>>> >>>>> http://github.com/michaelklishin >>>>> http://twitter.com/michaelklishin >>>>> >>>>> -- >>>>> 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. >>>> >>> >>> >>> >>> -- >>> “One of the main causes of the fall of the Roman Empire was that–lacking >>> zero–they had no way to indicate successful termination of their C >>> programs.” >>> (Robert Firth) >>> >>> -- >>> 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. >> > > > > -- > “One of the main causes of the fall of the Roman Empire was that–lacking > zero–they had no way to indicate successful termination of their C > programs.” > (Robert Firth) > > -- > 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 - Андрей Антух - / 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: What's clojure killer app? I don't see any.
Hi! 2014-04-19 23:00 GMT+02:00 Paulo Suzart : > Unfortunately I'm not a Stuart or a Emerick, or a Miller. So I can't > really contribute to clojure that deep. I'm in the user /tech consumer > side. > > That said, it is not my concern only. I have dozen colleagues that can't > foster clojure because they want a language with tools that fits every day. > Not tools for very specific cases that may come out if they work in a very > specific company in a very specific country. > This contradicts with "single killer app" in my opinion..., because single killer app is usually for specific use cases. :S Andrey I don't know, I still have all my coins on that. Really hope we can have > almost pure clojure clojure solutions as we have pure java solutions. > > Thank you all for your opinions. > On 19 Apr 2014 17:40, "Michael Klishin" > wrote: > >> >> 2014-04-19 20:15 GMT+04:00 Paulo Suzart : >> >>> People say clojure is good for data. But where are the cases? And more >>> specifically, where are the frameworks and libs to support it? Are they >>> talking about wrappers around java for Hadoop? Sigh... >> >> >> I see lots of companies of all sizes use Clojure successfully for data >> processing. The great thing about data >> processing is that there are many ways to do it. Some use Cascalog, some >> use libraries unrelated to Hadoop, >> others use just Clojure. So while there may or may not be a single >> "killer app" like Rails, Clojure is fantastic >> at this particular group of problems, as demonstrated by companies from < >> 10 to 10s of thousands of people. >> -- >> MK >> >> http://github.com/michaelklishin >> http://twitter.com/michaelklishin >> >> -- >> 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. > -- Andrey Antukh - Андрей Антух - / 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: What's clojure killer app? I don't see any.
Hi Paulo. 2014-04-19 18:15 GMT+02:00 Paulo Suzart : > Hi all, (warning, this is kinda confusing email) > > Been following the list for some time and specially paying attention to > what could be the killer clojure app as Akka is for Scala. > I keep seeing small libs (I like libs) popping up like ants, but I don't > believe none of them (alone at least) can make clojure explode and become > main technology in a old school /ordinary company. > > People say clojure is good for data. But where are the cases? And more > specifically, where are the frameworks and libs to support it? Are they > talking about wrappers around java for Hadoop? Sigh... > > Pulsar is quite dead, core async isn't clear regarding remoting, and > avout? And lamina? And aleph? Where are the tools that can make clojure to > cover from Web to big data and batch? > Pulsar is dead? Really? https://github.com/puniverse/pulsar/commit/1bb398cff65017c79d04bedd26915bca03a7752124 days ago the last commit preparing new release. I follow the development of pulsar and quasar and it not seems dead. distributed/remote communication is not target of CSP and core.async but can be implemented without much problems over any existing transport protocols: http://niwibe.github.io/jnanomsg/#_async_support (example implementing clojure channels over nanomsg) > Luminous, caribou, etc, are they going to become the next grails? > Huumm.. Will take lot of time. Clojure Script alone will not go any further > than the current server side. > > What made me give up scala was Scalaz, and I hope the "create thousand > disconnected libs and publish a post with ANN sufix" approach doesn't make > me give up clojure. > Creating one unique library that includes and integrates everything is really a solution? I believe not. > Sorry guys, I've been posting about Clojure since 2009, and still can't > see it becoming the main technology even being the CTO of the company. > > What is the killer app for you? Or how do you think we can make clojure > supporting apps like Facebook or something big like that? > In summary: erlang/elixir has actors, scala has actors (and very slow compiller...), prolog has logic programming, go has csp and clojure has all them. Really you need a killer app? Sorry I don't understand the motivation of this email :( Andrey -- > 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 - Андрей Антух - / 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: project docs
Hi. Personally I don't know any standard way to document clojure libraries, but if you want generic documentation tool, asciidoc works very well. Examples: http://niwibe.github.io/buddy/ http://niwibe.github.io/django-pgjson/ Greetings. Andrey 2014-04-17 20:18 GMT+02:00 Brian Craft : > Is there a standard workflow, lein plugin, or such, for building/serving a > project's README.md, doc/*.md, etc.? During development, I mean, to preview > the docs while working on them. > > -- > 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 - Андрей Антух - / 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.
[ANN]: clj.jdbc 0.1.1 - A jdbc library for clojure.
A JDBC library for clojure. Released: 2014-04-06 Changes: - Multiple connection pooling pluggable solutions: dbcp and c3p0 (every one resides on its own package without hard dependencies on them). - Set clojure 1.6 as default clojure version. - Allow set isolation level for transaction. - Allow set read-only transaction. - Multiple bugfixes. - Performance improvements. Complete changelog: https://raw.githubusercontent.com/niwibe/clj.jdbc/master/CHANGES.txt Github: https://github.com/niwibe/clj.jdbc Documentation: http://niwibe.github.io/clj.jdbc/ -- Andrey Antukh - Андрей Антух - / 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: [ANN] Clojure 1.6
Very great job! Thanks! 2014-03-25 15:16 GMT+01:00 Aaron Cohen : > Great job! > > Sorry I didn't catch this in the RC, but the release notes state that: > >- CLJ-1099 <http://dev.clojure.org/jira/browse/CLJ-1099> If non-seq >passed where seq is needed, error message now is an ExceptionInfo with the >instance value, retrievable via ex-data. > > I think that change was just reverted because of the performance impact. > > --Aaron > > -- > 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 - Андрей Антух - / 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: ANN simple-time
Very nice! Thanks! 2014-03-22 10:35 GMT+01:00 dm3 : > Hey, this looks really simple and nice. > > So, to map Joda concepts to simple-time - a *timespan* is a standard > Period (1 day is always 24 hours) and a *datetime* doesn't have a > timezone, so more akin to LocalDateTime, right? > > There's also https://github.com/dm3/clojure.joda-time, in case you > haven't seen it - more of a complete Joda API wrapper. > > > On Thursday, 20 March 2014 20:15:55 UTC+2, Matt Bossenbroek wrote: >> >> It is my pleasure to announce simple-time to the world: >> https://github.com/mbossenbroek/simple-time >> >> simple-time is a dead simple datetime & timespan library for Clojure. >> It's an opinionated alternative for clj-time that takes a more functional >> twist on the object-heavy Joda time library. >> >> Full API is here: http://mbossenbroek.github.io/simple-time/simple- >> time.core.html >> >> Read more about the motivation for simple-time here: https://github.com/ >> mbossenbroek/simple-time#motivations >> >> Enjoy! >> >> -Matt >> >> -- > 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 - Андрей Антух - / 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: Clojure 1.6.0-RC1 - LAST CHANCE, PLEASE TEST
All test passes on my projects! It works fine for me! Thanks! 2014-03-18 15:21 GMT+01:00 Alex Miller : > Hello all, > > We would love to release Clojure 1.6.0 final soon. > > We need your help in checking out the current release candidate - this is > your opportunity to let us know about problems *before* we release, rather > than after. > > Try it via > - Download: http://central.maven.org/maven2/org/clojure/clojure/1.6.0-RC1 > - Leiningen: [org.clojure/clojure "1.6.0-RC1"] > > See the full change log here: > https://github.com/clojure/clojure/blob/master/changes.md > > If you have questions, feel free to drop them here. For issues, please log > them in JIRA <http://dev.clojure.org/jira/secure/Dashboard.jspa>. > > 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. > -- Andrey Antukh - Андрей Антух - / 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: Accumulate results without state?
Hi! An other possible solution is using state monad from https://github.com/clojure/algo.monads Greetings. Andrey 2014-03-05 0:48 GMT+01:00 Jean Niklas L'orange : > Hello, > > > On Tuesday, March 4, 2014 10:47:12 PM UTC+1, Jason Felice wrote: >> >> Something like >> >> (with-open [rdr (clojure.java.io/reader "/dev/errors-sunday.csv")] >> (->> (line-seq rdr) >> (filter #(re-matches #"...")) >> (map #(nth (string/split % #",") 1 >> >> Will do what you want. It's laziness to the rescue. >> > > Just a heads up: laziness is dangerous when using I/O. In this case, > with-open will close the reader before all lines have been read, and throw > an IOException for trying to read from a closed reader. > > Add a `doall` to the end of the threading, and it should be safe. Or use > `slurp` to read the whole file, avoiding the problem to begin with. > > As another suggestion: You can use a for comprehension, if you consider it > more readable. It's relatively similar to your imperative version. > > (with-open [rdr (clojure.java.io/reader "/dev/errors-sunday.csv")] > (doall >(for [line (line-seq rdr) > :when (re-matches #"^[^,]+,[^,]+,FAIL,.*$" line)] > (second (string/split line #",") > > -- Jean Niklas > > -- > 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/groups/opt_out. > -- Andrey Antukh - Андрей Антух - / 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/groups/opt_out.
[ANN]: Buddy 0.1.0-beta4: Authentication, Authorization & Signing library for Clojure.
Hi! I am happy to announce a new release of buddy 0.1.0-beta4: authentication, authorization and signing library for clojure. Comparing it with previous release/announcement this comes with big api restructuring and simplification. Changes: - As previously mentioned: api restructuring (after this release, api should not change drastically). - Improved documentation example code. - New granular and url independent access rules decorator. - New simple token auth backend. - Few additional methods for signing (initial work for add support for json web token) Github: https://github.com/niwibe/buddy Doc: http://niwibe.github.io/buddy/ Any improvements, examples or more documentation are welcome! Thanks! Greetings! Andrey -- Andrey Antukh - Андрей Антух - / 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/groups/opt_out.
Re: [ANN] Clojure 1.6.0-beta1
used with >> apply. >> * [CLJ-1202](http://dev.clojure.org/jira/browse/CLJ-1202) >> Protocol fns with dashes may get incorrectly compiled into field >> accesses. >> * [CLJ-850](http://dev.clojure.org/jira/browse/CLJ-850) >> Add check to emit invokePrim with return type of double or long if >> type-hinted. >> * [CLJ-1177](http://dev.clojure.org/jira/browse/CLJ-1177) >> clojure.java.io URL to File coercion corrupts path containing UTF-8 >> characters. >> * [CLJ-1234](http://dev.clojure.org/jira/browse/CLJ-1234) >> Accept whitespace in Record and Type reader forms (similar to data >> literals). >> * [CLJ-1233](http://dev.clojure.org/jira/browse/CLJ-1233) >> Allow ** as a valid symbol name without triggering dynamic warnings. >> * [CLJ-1246](http://dev.clojure.org/jira/browse/CLJ-1246) >> Add support to clojure.reflect for classes with annotations. >> * [CLJ-1184](http://dev.clojure.org/jira/browse/CLJ-1184) >> Evaling #{do ...} or [do ...] is treated as do special form. >> * [CLJ-1090](http://dev.clojure.org/jira/browse/CLJ-1090) >> Indirect function calls through Var instances fail to clear locals. >> * [CLJ-1076](http://dev.clojure.org/jira/browse/CLJ-1076) >> pprint tests fail on Windows, expecting \n. >> * [CLJ-766](http://dev.clojure.org/jira/browse/CLJ-766) >> Make into-array work consistently with short-array and byte-array on >> bigger types. >> * [CLJ-1285](http://dev.clojure.org/jira/browse/CLJ-1285) >> Data structure invariants are violated after persistent operations when >> collision node created by transients. >> * [CLJ-1222](http://dev.clojure.org/jira/browse/CLJ-1222) >> Multiplication overflow issues around Long/MIN_VALUE >> * [CLJ-1118](http://dev.clojure.org/jira/browse/CLJ-1118) >> Inconsistent numeric comparison semantics between BigDecimals and other >> numerics >> * [CLJ-1125](http://dev.clojure.org/jira/browse/CLJ-1125) >> Clojure can leak memory in a servlet container when using dynamic >> bindings or STM transactions. >> * [CLJ-1082](http://dev.clojure.org/jira/browse/CLJ-1082) >> Subvecs of primitve vectors cannot be reduced >> * [CLJ-1301](http://dev.clojure.org/jira/browse/CLJ-1301) >> Case expressions use a mixture of hashCode and hasheq, potentially >> leading to missed case matches when these differ. >> * [CLJ-983](http://dev.clojure.org/jira/browse/CLJ-983) >> proxy-super does not restore original binding if call throws exception >> * [CLJ-1176](http://dev.clojure.org/jira/browse/CLJ-1176) >> clojure.repl/source errors when *read-eval* bound to :unknown >> * [CLJ-935](http://dev.clojure.org/jira/browse/CLJ-935) >> clojure.string/trim uses different definition of whitespace than >> triml and trimr >> * [CLJ-935](http://dev.clojure.org/jira/browse/CLJ-935) >> StackOverflowError on exception in reducef for PersistentHashMap >> fold >> * [CLJ-1328](http://dev.clojure.org/jira/browse/CLJ-1328) >>Fix some tests in the Clojure test suite to make their names unique >> and independent of hashing order >> * [CLJ-1328](http://dev.clojure.org/jira/browse/CLJ-1328) >> Empty primitive vectors throw NPE on .equals with non-vector >> sequential types >> >> Happy Valentine's Day! >> >> Alex Miller >> >> -- > 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/groups/opt_out. > -- Andrey Antukh - Андрей Антух - / 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/groups/opt_out.