Re: Decomplecting Clojure

2015-08-12 Thread Andrew Cristina
Hi Sebastian,

Thanks for sharing!  I'm enjoying read this document, and I plan to share 
it with a few teammates.  I do have a question about one section however:
Near the end, under "Principles and Community" you list three questions, 
and then state that if the answer to any of the questions is "No," that 
piece of software should be discarded.  My question is about the second 
provided question, "Does it have many dependencies?"  Wouldn't many 
dependencies be a bad thing?  If the question (and expected answer) are 
correct, can you go into a bit more detail on why having many dependencies 
is a positive quality?

On Wednesday, August 12, 2015 at 11:52:39 AM UTC-7, Sebastian Bensusan 
wrote:
>
> Hi everybody!
>
> I've written a short post on my interpretation of Clojure. It is meant for 
> people that are curious about the language and want to understand what the 
> language is about.
>
> http://bensu.github.io/decomplecting_clojure/
>
> Any feedback is welcome.
>
> Thanks to the folks at Slack that read the initial draft, specially Jeff 
> Kayser, Colin Fleming, and Viktor Eriksson.
>
> Best,
>
> Sebastian
>

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

2015-08-12 Thread Mars0i
For whatever it's worth, I do a lot of Clojure programming on two old 
Macs.  They were both running Snow Leopard until this week; now one is 
running Yosemite (ugh), and the other will run Snow Leopard until I get a 
new computer to replace it in a few months.  Since S.L. doesn't support 
anything past Java 1.6, I'm happy that Clojure has supported 1.6 for as 
long as it has.

-- 
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to clojure@googlegroups.com
Note that posts from new members are moderated - please be patient with your 
first post.
To unsubscribe from this group, send email to
clojure+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en
--- 
You received this message because you are subscribed to the Google Groups 
"Clojure" group.
To unsubscribe from this group 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] new library for portable exact arithmetic

2015-08-12 Thread Gary Fredericks
Hello,

I've just released a new library called exact 
 for doing cross-platform arithmetic 
with [big]-integers and ratios.

I don't anticipate it getting a whole lot of use, but I thought I would 
point it out here in case I'm wrong about that. The library might not be 
Super Awesome but it should at least Work Pretty Good.

Gary

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

2015-08-12 Thread Andrew Oberstar
Just released the first version of ike.cljj, which is a library of Clojure
to Java interop APIs.

https://github.com/ike-tools/ike.cljj

Current Support:

* Reducing over Streams.
* Converting Clojure functions to any arbitrary Single Abstract Method
(SAM) interface (e.g. any of the java.util.function ones).
* Wrappers for java.lang.invoke (MethodHandles API) since it was used for
the SAM conversion.

Any feedback is welcome. Thanks!

Andrew Oberstar

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

2015-08-12 Thread Sean Corfield
Clojure 1.8.0-alpha3 is now available.
…
Tuples have been disabled after further analysis of performance impacts.

Out of curiosity, could this have surfaced in alpha2 as a memory leak?

We had alpha2 in production for about a week and it looked like we were seeing 
a very slow memory leak. Our next production build was based on alpha4 and we 
have not seen that same memory curve (in a slightly longer period).

I looked over the alpha3 / alpha4 change logs and didn’t see anything specific 
about memory leaks (that would be new in alpha2 compared to 1.7.0 final).

Sean Corfield -- (904) 302-SEAN
World Singles -- http://worldsingles.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.


Refactoring - Not on the Backlog

2015-08-12 Thread Alan Thompson
A very nice article by Ron Jeffries on how technical debt creeps into a
codebase and a practical approach to cleaning it up.

http://ronjeffries.com/xprog/articles/refactoring-not-on-the-backlog/

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

2015-08-12 Thread Sebastian Bensusan
James, I just pushed your suggested corrections.

Erik, after working mostly with ClojureScript I no longer see it as a part
of Clojure the language but as a part of the Clojure community. I'll
probably write something similar for ClojureScript at some point :)

Thanks both for the feedback.



On Wed, Aug 12, 2015 at 11:13 PM, Erik Assum  wrote:

> Cool!
>
> It would be nice mentioning Clojurescript as well, especially with the
> recent development in http://github.com/mfikes/planck, which delivers a
> super fast Clojurescript for commands.
>
> Erik.
> > On 12. aug. 2015, at 20.52, Sebastian Bensusan  wrote:
> >
> > Hi everybody!
> >
> > I've written a short post on my interpretation of Clojure. It is meant
> for people that are curious about the language and want to understand what
> the language is about.
> >
> > http://bensu.github.io/decomplecting_clojure/
> >
> > Any feedback is welcome.
> >
> > Thanks to the folks at Slack that read the initial draft, specially Jeff
> Kayser, Colin Fleming, and Viktor Eriksson.
> >
> > Best,
> >
> > Sebastian
> >
> > --
> > You received this message because you are subscribed to the Google
> > Groups "Clojure" group.
> > To post to this group, send email to clojure@googlegroups.com
> > Note that posts from new members are moderated - please be patient with
> your first post.
> > To unsubscribe from this group, send email to
> > clojure+unsubscr...@googlegroups.com
> > For more options, visit this group at
> > http://groups.google.com/group/clojure?hl=en
> > ---
> > You received this message because you are subscribed to the Google
> Groups "Clojure" group.
> > To unsubscribe from this group 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 a topic in the
> Google Groups "Clojure" group.
> To unsubscribe from this topic, visit
> https://groups.google.com/d/topic/clojure/6Rqa5CE6Hb8/unsubscribe.
> To unsubscribe from this group and all its topics, send an email to
> clojure+unsubscr...@googlegroups.com.
> For more options, visit https://groups.google.com/d/optout.
>

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


Re: Decomplecting Clojure

2015-08-12 Thread Erik Assum
Cool!

It would be nice mentioning Clojurescript as well, especially with the recent 
development in http://github.com/mfikes/planck, which delivers a super fast 
Clojurescript for commands.

Erik.
> On 12. aug. 2015, at 20.52, Sebastian Bensusan  wrote:
> 
> Hi everybody!
> 
> I've written a short post on my interpretation of Clojure. It is meant for 
> people that are curious about the language and want to understand what the 
> language is about.
> 
> http://bensu.github.io/decomplecting_clojure/
> 
> Any feedback is welcome.
> 
> Thanks to the folks at Slack that read the initial draft, specially Jeff 
> Kayser, Colin Fleming, and Viktor Eriksson.
> 
> Best,
> 
> Sebastian
> 
> -- 
> You received this message because you are subscribed to the Google
> Groups "Clojure" group.
> To post to this group, send email to clojure@googlegroups.com
> Note that posts from new members are moderated - please be patient with your 
> first post.
> To unsubscribe from this group, send email to
> clojure+unsubscr...@googlegroups.com
> For more options, visit this group at
> http://groups.google.com/group/clojure?hl=en
> --- 
> You received this message because you are subscribed to the Google Groups 
> "Clojure" group.
> To unsubscribe from this group and stop receiving emails from it, send an 
> email to clojure+unsubscr...@googlegroups.com.
> For more options, visit https://groups.google.com/d/optout.

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


[ANN] ola-clojure 0.1.0, Open Lighting Architecture from Clojure

2015-08-12 Thread James Elliott
In response to an excellent request from the Open Lighting Architecture 
team, I have separated the low-level communication library I developed for 
Afterglow into its own project, ola-clojure 
,
 cleaned 
it up a bit as befits a standalone effort, and added documentation. Now 
anyone who wants to talk to OLA from Clojure will find it easy.

Afterglow itself is now using this standalone library, and its own build 
process is faster because it no longer needs to generate and compile the 
Google Protocol Buffers Java classes nor the supporting Clojure functions 
that handle all the boilerplate of marshaling and unmarshaling the protobuf 
messages.

And in addition to spawning this lower-level project, Afterglow has also 
inspired a higher-level project, afterglow-max 
, 
which embeds it into Cycling ‘74’s Max , a visual 
data-flow environment for musical and visual experimentation and 
performance.

ola-clojure is on github at 
https://github.com/brunchboy/ola-clojure#ola-clojure

Cheers,

  -James

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


Re: Friendlier deploy rejection messages from Clojars

2015-08-12 Thread James Elliott
Nice! That will be very helpful.

On Wednesday, August 12, 2015 at 5:50:55 AM UTC-5, Toby Crawley wrote:
>
> We just deployed some changes to Clojars that should make it more 
> user-friendly when a deployment is rejected due to validation 
> failures. 
>
> Before this release, when you deployed an artifact that failed 
> validation of its group name, artifact name, or version, or you 
> redeployed a non-snapshot version, you got a non-helpful message from 
> Aether (the underlying lib shared by mvn, lein, and boot): 
>
> Failed to deploy artifacts: Could not transfer artifact 
> ham:biscuit:pom:0.1.0 from/to local (https://clojars.org/repo/): 
> Access denied to: 
> https://clojars.org/repo/ham/biscuit/0.1.0/biscuit-0.1.0.pom, 
> ReasonPhrase: Forbidden 
>
> which provides no indication as to why the request was forbidden. 
>
> The 'ReasonPhrase' is just the HTTP status message from the response, 
> and we now override the default status message with something more 
> useful, so a redeploy now results in: 
>
> Failed to deploy artifacts: Could not transfer artifact 
> ham:biscuit:pom:0.1.0 from/to local (https://clojars.org/repo/): 
> Access denied to: 
> https://clojars.org/repo/ham/biscuit/0.1.0/biscuit-0.1.0.pom, 
> ReasonPhrase: Forbidden - redeploying non-snapshots is not allowed 
> (see http://git.io/vO2Tg) 
>
> with similar messages for name or version validation 
> failures. Hopefully this will make it easier to understand the cause 
> of a rejected deployment. 
>
> If you are using mvn, lein, or boot (or anything else that delegates 
> to Aether), you don't have to do anything to see these new messages. 
>
> If this causes any issues for you, please let us know: 
> https://github.com/ato/clojars-web/issues. 
>
> - Toby 
>

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


Re: Decomplecting Clojure

2015-08-12 Thread James Elliott
Wow, this is fantastic, I now have a new link to send anyone who asks me 
why I find Clojure valuable. Thanks so much!

As a small return of favor, may I point a few small things that look like 
editing errors?

The last limitation bullet in the JVM section states “The JVM is not design 
with code reloading in mind,” and you probably meant “is not design*ed*”? 
At least, that would read more naturally to me.

The end of the Immutability section reads:

Immutability makes Clojure programs *easy to reason about it*.


I suspect you did not mean to include that final “it”.

In the Principles and Community section, there is a sentence “The standard 
settings apply to your system and are easy to setup since they come modules 
that fit together.” I feel like there is a word or two missing at the end 
there, I am not sure what it is trying to say. Perhaps “come *with*
 modules”?

But again, thanks so much for this wonderful document!

  -James
On Wednesday, August 12, 2015 at 1:52:39 PM UTC-5, Sebastian Bensusan wrote:
>
> Hi everybody!
>
> I've written a short post on my interpretation of Clojure. It is meant for 
> people that are curious about the language and want to understand what the 
> language is about.
>
> http://bensu.github.io/decomplecting_clojure/
>
> Any feedback is welcome.
>
> Thanks to the folks at Slack that read the initial draft, specially Jeff 
> Kayser, Colin Fleming, and Viktor Eriksson.
>
> Best,
>
> Sebastian
>

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


Wanted to plot Mahout Clusterdump on Clojure?

2015-08-12 Thread psrinath
How do I do that? 
I have a cluster dump and wish to plot it on Clojure. 

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


Decomplecting Clojure

2015-08-12 Thread Sebastian Bensusan
Hi everybody!

I've written a short post on my interpretation of Clojure. It is meant for 
people that are curious about the language and want to understand what the 
language is about.

http://bensu.github.io/decomplecting_clojure/

Any feedback is welcome.

Thanks to the folks at Slack that read the initial draft, specially Jeff 
Kayser, Colin Fleming, and Viktor Eriksson.

Best,

Sebastian

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

2015-08-12 Thread Yuexiang Zhang
0.4.1 (2015-08-12)

   1. New Feature: Coroutine based socket supports unix domain socket
   2. New Feature: APIs for Embedding Nginx-Clojure into a standard
   Clojure/Java/Groovy App (issue #86
   ). This
   feature make debug/test with Nginx Clojure/Java/Groovy handlers very easy.
   3. New Feature: Autodetect jvm_path (issue #85
   )
   4. New Feature: Support to use annotation to mark a class or method to
   be suspenable in coroutine context (issue #84
   )
   5. Enhancement: Auto send error when meets a non websocket request with
   auto_upgrade_wsis on
   6. Enhancement: Add websocket-upgrade! to server channel API
   7. Enhancement: Add WholeMessageAdapter to make handling small websocket
   messages easier.
   8. Bug Fix: NginxHttpServerChannel.write(ByteBuffer buf) does not reset
   the buffer's position (issue #83
   )
   9. Bug Fix: No access to tomcat server 8.24 from nginx-clojure (issue #82
   )
   10. Binaries Distribution: Including some java sources for easy debug.
   11. Build Script: Autodetect JNI header files


Below are some simple examples about embedding Nginx-Clojure and we can try
them with  lein repl or debug them in a Java IDE.

[nginx-clojure/nginx-clojure-embed "0.4.1"]


For Clojure

;;(1) Start it with ring handler and an options map
;;my-app can be a simple ring hanler or a compojure router.
(run-server my-app {:port 8080})


   ;;(2) Start it with a nginx.conf file
(run-server "/my-dir/nginx.conf")

   ;;(3) Start it with a given work dir
(binding [*nginx-work-dir* my-work-dir]
  (run-server ...))

   ;;(4) Stop the server
(stop-server)

For Java

//Start it with ring handler and an options
mapNginxEmbedServer.getServer().start("my.HelloHandler",
ArrayMap.create("port", "8081"));

//Start it with with a nginx.conf
fileNginxEmbedServer.getServer().start("/my-dir/nginx.conf");
//Start it with a given work
dirNginxEmbedServer.getServer().setWorkDir(my-work-dir);NginxEmbedServer.getServer().start(...);

//Stop the serverNginxEmbedServer.getServer().stop();

default options:

  "error-log", "logs/error.log",
  "max-connections", "1024",
  "access-log", "off",
  "keepalive-timeout", "65",
  "max-threads", "8",
  "host", "0.0.0.0",
  "port", "8080",


There 's an example about compojure routing and websocket example in the
unit tests source

:


Web Site   http://nginx-clojure.github.io/
Source Hosted on Github https://github.com/nginx-clojure/nginx-clojure
Google Group (mailing list)
https://groups.google.com/forum/#!forum/nginx-clojure

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

2015-08-12 Thread Guilherme Avelino
Hi Alex and Leif,

Thank you for the comments. We really appreciate the feedback.Our research 
is under development and the answers we are receiving for this survey will 
help to better interpret the results and improve our approach.

Regards,

Em sexta-feira, 7 de agosto de 2015 13:21:40 UTC-3, Guilherme Avelino 
escreveu:
>
> As part of my PhD research on code authorship, we calculated the Truck 
> Factor (TF) of some popular GitHub repositories.
>
> As you probably know, the Truck (or Bus) Factor designates the minimal 
> number of developers that have to be hit by a truck (or quit) before a 
> project is incapacitated. In our work, we consider that a system is in 
> trouble if more than 50% of its files become orphan (i.e., without a main 
> author).
>
> More details on our work in this preprint: 
> https://peerj.com/preprints/1233
>
> We calculated the TF for *Clojure* and obtained a value of *2*.
>
> The developers responsible for this TF are:
>
> Rich Hickey - author of 58% of the files
> Stuart Halloway - author of 27% of the files
>
> To validate our results, we would like to ask *Clojure* developers the 
> following three brief questions:
>
> (a) Do you agree that the listed developers are the main developers of 
> *Clojure*?
>
> (b) Do you agree that *Clojure* will be in trouble if the listed 
> developers leave the project (e.g., if they win in the lottery, to be less 
> morbid)?
>
> (c) Does *Clojure* have some characteristics that would attenuate the 
> loss of the listed developers (e.g., detailed documentation)?
>
> Thanks in advance for your collaboration,
>
> Guilherme Avelino
> PhD Student
> Applied Software Engineering Group (ASERG)
> UFMG, Brazil
> http://aserg.labsoft.dcc.ufmg.br/
>

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


Friendlier deploy rejection messages from Clojars

2015-08-12 Thread Toby Crawley
We just deployed some changes to Clojars that should make it more
user-friendly when a deployment is rejected due to validation
failures.

Before this release, when you deployed an artifact that failed
validation of its group name, artifact name, or version, or you
redeployed a non-snapshot version, you got a non-helpful message from
Aether (the underlying lib shared by mvn, lein, and boot):

Failed to deploy artifacts: Could not transfer artifact
ham:biscuit:pom:0.1.0 from/to local (https://clojars.org/repo/):
Access denied to:
https://clojars.org/repo/ham/biscuit/0.1.0/biscuit-0.1.0.pom,
ReasonPhrase: Forbidden

which provides no indication as to why the request was forbidden.

The 'ReasonPhrase' is just the HTTP status message from the response,
and we now override the default status message with something more
useful, so a redeploy now results in:

Failed to deploy artifacts: Could not transfer artifact
ham:biscuit:pom:0.1.0 from/to local (https://clojars.org/repo/):
Access denied to:
https://clojars.org/repo/ham/biscuit/0.1.0/biscuit-0.1.0.pom,
ReasonPhrase: Forbidden - redeploying non-snapshots is not allowed
(see http://git.io/vO2Tg)

with similar messages for name or version validation
failures. Hopefully this will make it easier to understand the cause
of a rejected deployment.

If you are using mvn, lein, or boot (or anything else that delegates
to Aether), you don't have to do anything to see these new messages.

If this causes any issues for you, please let us know:
https://github.com/ato/clojars-web/issues.

- Toby

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


Re: What does Zach Tellman mean by "factored out for greater inlining joy"

2015-08-12 Thread Colin Fleming
Sure, absolutely - there's nothing like profiling to see what's actually
going on and his recommendation seems sound either way, I just thought the
information was interesting.

On 11 August 2015 at 23:44, Zach Tellman  wrote:

> It's fluid, but the output that Norman uses in his post (and that
> motivated the changes to Aleph) were from the JVM explicitly saying "I
> would have inlined this, but it was too big".  That may not be true under
> other circumstances, but you're only helping by factoring out uncommon,
> large code branches.
>
> On Tuesday, August 11, 2015 at 2:01:59 PM UTC-7, Colin Fleming wrote:
>>
>> That's a really interesting post, thanks for that. I actually cornered
>> Cliff Click at Curry On because I was interested in knowing how well the
>> JVM inlined var indirection. The short answer is "it's complicated". But if
>> the JVM does inline your method, then the var indirection shouldn't cost
>> you as long as the var content is stable.
>>
>> Tom Crayford's great talk at EuroClojure also pointed out that another
>> thing which affects inlining is the stack depth, which can mean you're
>> damned if you do and you're damned if you don't when trying to refactor to
>> help with inlining. However Cliff said that all these limits are pretty
>> fluid - it's not like a method over 325 bytecodes will never be inlined, if
>> it's identified as hot that limit goes way up, and a relatively cold method
>> can still be inlined even if it's small.
>>
>> I'd actually love to sit down and test this with Clojure sometime, but I
>> never seem to find time for it.
>>
>> On 11 August 2015 at 21:00, Zach Tellman  wrote:
>>
>>> The inlining part is explained very well by this blog post
>>> http://normanmaurer.me/blog/2014/05/15/Inline-all-the-Things/
>>>
>>> As for why I left all the repetition in there, I tend to let code expand
>>> before getting annoyed and compacting it.  Sometimes there's a commit
>>> between those two events, sometimes there's not.  In this case, you get to
>>> see how the macro/abstraction sausage is made.
>>>
>>> Happy to answer any other questions,
>>> Zach
>>>
>>>
>>> On Sunday, August 9, 2015 at 9:38:51 AM UTC-7, Lawrence Krubner wrote:


 Reid, thank you. I think you answer half the question. You make a good
 point about giving the JVM a way to better optimize a hot path. I think you
 are right about that. But, given the large amount of repetition between
 "chain'-" and "chain-" I'm wondering why this wasn't done with a macro?



 On Sunday, August 9, 2015 at 2:08:47 AM UTC-4, Reid McKenzie wrote:
>
> -BEGIN PGP SIGNED MESSAGE-
> Hash: SHA256
>
> Lawrence,
>
> This is just a theory, but in the interests of response time, the JVM
> uses a large number of heuristics to determine what optimizations will
> likely prove profitable. One of them is a budget for method size. I
> would guess that lifting this code out into a separate fn made the JVM
> see that it was optimizing a hot path between the main body and
> several small but tightly related methods thus giving itself more
> leeway to inline and optimize in ways that it would otherwise presume
> are more expensive and not pursue.
>
> Reid
>
 --
>>> You received this message because you are subscribed to the Google
>>> Groups "Clojure" group.
>>> To post to this group, send email to clo...@googlegroups.com
>>> Note that posts from new members are moderated - please be patient with
>>> your first post.
>>> To unsubscribe from this group, send email to
>>> clojure+u...@googlegroups.com
>>> For more options, visit this group at
>>> http://groups.google.com/group/clojure?hl=en
>>> ---
>>> You received this message because you are subscribed to the Google
>>> Groups "Clojure" group.
>>> To unsubscribe from this group and stop receiving emails from it, send
>>> an email to clojure+u...@googlegroups.com.
>>> For more options, visit https://groups.google.com/d/optout.
>>>
>>
>> --
> You received this message because you are subscribed to the Google
> Groups "Clojure" group.
> To post to this group, send email to clojure@googlegroups.com
> Note that posts from new members are moderated - please be patient with
> your first post.
> To unsubscribe from this group, send email to
> clojure+unsubscr...@googlegroups.com
> For more options, visit this group at
> http://groups.google.com/group/clojure?hl=en
> ---
> You received this message because you are subscribed to the Google Groups
> "Clojure" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to clojure+unsubscr...@googlegroups.com.
> For more options, visit https://groups.google.com/d/optout.
>

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