Re: What does ^:internal mean?

2015-05-12 Thread Jakub Holy
You can use Symbol Hound to search for strange things though here it fails. Ex:

http://symbolhound.com/?q=-%3E%3E+clojure

On Sunday, May 10, 2015 at 9:00:10 PM UTC+2, piast...@gmail.com wrote:
 Sadly, Google seems to think I am search for internal when I search for 
 ^:internal so that makes it hard to find the documentation. I am curious 
 about this code:
 
 
 
 
 ;;; Capture the standard def forms' arglists
 (def ^:internal defn-arglists (vec (:arglists (meta #'defn
 (def ^:internal fn-arglists (vec (:arglists (meta #'fn
 (def ^:internal defmulti-arglists (vec (:arglists (meta #'defmulti
 (def ^:internal def-arglists '[[symbol doc-string? init?]])
 
 
 From here: 
 
 
 https://github.com/palletops/api-builder/blob/4d82355bec1ebdf7c501be71e2f3d156ae84ad2c/src/com/palletops/api_builder/impl.clj
 
 
 
 What does ^:internal mean in this context? 

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

2015-05-12 Thread Jakub Holy
You can use Symbol Hound to search for strange things though here it fails. Ex:

http://symbolhound.com/?q=-%3E%3E+clojure

On Sunday, May 10, 2015 at 9:00:10 PM UTC+2, piast...@gmail.com wrote:
 Sadly, Google seems to think I am search for internal when I search for 
 ^:internal so that makes it hard to find the documentation. I am curious 
 about this code:
 
 
 
 
 ;;; Capture the standard def forms' arglists
 (def ^:internal defn-arglists (vec (:arglists (meta #'defn
 (def ^:internal fn-arglists (vec (:arglists (meta #'fn
 (def ^:internal defmulti-arglists (vec (:arglists (meta #'defmulti
 (def ^:internal def-arglists '[[symbol doc-string? init?]])
 
 
 From here: 
 
 
 https://github.com/palletops/api-builder/blob/4d82355bec1ebdf7c501be71e2f3d156ae84ad2c/src/com/palletops/api_builder/impl.clj
 
 
 
 What does ^:internal mean in this context? 

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

2015-05-11 Thread Jakub Holy
Is it so much effort? Isn't / couldn't it be a simple, automated step?

--
Forget software. Strive to make an impact, deliver a valuable change.

(Vær så snill og hjelp meg med å forbedre norsken min – skriftlig og
muntlig. Takk!)

Jakub Holy
Solutions Engineer | +47 966 23 666
Iterate AS | www.iterate.no
The Lean Software Development Consultancy
- http://theholyjava.wordpress.com/ -
11. mai 2015 09:19 skrev Alex Miller a...@puredanger.com:

 We could, but the benefits do not seem worth the effort to me.

 On Monday, May 11, 2015 at 12:33:41 AM UTC-5, Jakub Holy wrote:

 Thank you, Alex. I understand and agree with the importance of publishing
 to Maven Central but my question is why can't we publish *also* to Clojars?

 --
 Forget software. Strive to make an impact, deliver a valuable change.

 (Vær så snill og hjelp meg med å forbedre norsken min – skriftlig og
 muntlig. Takk!)

 Jakub Holy
 Solutions Engineer | +47 966 23 666
 Iterate AS | www.iterate.no
 The Lean Software Development Consultancy
 - http://theholyjava.wordpress.com/ -
 11. mai 2015 07:19 skrev Alex Miller al...@puredanger.com:

 As usual, the answer is a combination of technical goals intertwined
 with history. Stuart Sierra is probably the one with the most knowledge of
 the history - it predates my involvement with Clojure in a deep way. Best
 link I see is:
 http://dev.clojure.org/pages/viewpage.action?pageId=950842. In summary,
 it was of primary importance to be available to the broader Java ecosystem
 and Maven central was already blessed and understood by that audience.

 This is also from a time when builds based on Maven, Ant, Gradle, etc
 were more common than the relatively new and less-featured Leiningen. Those
 tools already understood Maven Central but had to be configured to use
 Clojars. I'm unsure of the exact timeline, but I'm pretty sure Clojars
 predated Leiningen by a year or two.

 On Sunday, May 10, 2015 at 5:43:47 AM UTC-5, Jakub Holy wrote:

 This is essentially a question to Cognitect / developers of
 the clojure/* libraries but I do not know of a better communication channel
 than this one.

 To me, clojars is the one place to go to find out what libraries are
 there and especially what is the latest version. It always surprises me
 that some core libraries such as .e.g clojure.data.cvs aren't there. It is
 annoying and difficult to remember that I have to search both clojars and
 Maven Central. I think it would be really wonderful if these libraries too
 could be on clojars. Or is there any reason why this cannot be the case?

 (I know there are sites for finding libraries such as Clojure Toolbox
 but that is not really what I am asking for here.)

 Thank you!

 Best regards, Jakub Holy

  --
 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 a topic in the
 Google Groups Clojure group.
 To unsubscribe from this topic, visit
 https://groups.google.com/d/topic/clojure/kGwmWLRAUNo/unsubscribe.
 To unsubscribe from this group and all its topics, 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 a topic in the
 Google Groups Clojure group.
 To unsubscribe from this topic, visit
 https://groups.google.com/d/topic/clojure/kGwmWLRAUNo/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

Re: Why aren't libraries like clojure/(data.csv, ...) on clojars.org?

2015-05-10 Thread Jakub Holy
Thank you, Alex. I understand and agree with the importance of publishing
to Maven Central but my question is why can't we publish *also* to Clojars?

--
Forget software. Strive to make an impact, deliver a valuable change.

(Vær så snill og hjelp meg med å forbedre norsken min – skriftlig og
muntlig. Takk!)

Jakub Holy
Solutions Engineer | +47 966 23 666
Iterate AS | www.iterate.no
The Lean Software Development Consultancy
- http://theholyjava.wordpress.com/ -
11. mai 2015 07:19 skrev Alex Miller a...@puredanger.com:

 As usual, the answer is a combination of technical goals intertwined with
 history. Stuart Sierra is probably the one with the most knowledge of the
 history - it predates my involvement with Clojure in a deep way. Best link
 I see is: http://dev.clojure.org/pages/viewpage.action?pageId=950842. In
 summary, it was of primary importance to be available to the broader Java
 ecosystem and Maven central was already blessed and understood by that
 audience.

 This is also from a time when builds based on Maven, Ant, Gradle, etc were
 more common than the relatively new and less-featured Leiningen. Those
 tools already understood Maven Central but had to be configured to use
 Clojars. I'm unsure of the exact timeline, but I'm pretty sure Clojars
 predated Leiningen by a year or two.

 On Sunday, May 10, 2015 at 5:43:47 AM UTC-5, Jakub Holy wrote:

 This is essentially a question to Cognitect / developers of the clojure/*
 libraries but I do not know of a better communication channel than this one.

 To me, clojars is the one place to go to find out what libraries are
 there and especially what is the latest version. It always surprises me
 that some core libraries such as .e.g clojure.data.cvs aren't there. It is
 annoying and difficult to remember that I have to search both clojars and
 Maven Central. I think it would be really wonderful if these libraries too
 could be on clojars. Or is there any reason why this cannot be the case?

 (I know there are sites for finding libraries such as Clojure Toolbox but
 that is not really what I am asking for here.)

 Thank you!

 Best regards, Jakub Holy

  --
 You received this message because you are subscribed to the Google
 Groups Clojure group.
 To post to this group, send email to clojure@googlegroups.com
 Note that posts from new members are moderated - please be patient with
 your first post.
 To unsubscribe from this group, send email to
 clojure+unsubscr...@googlegroups.com
 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/kGwmWLRAUNo/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.


Why aren't libraries like clojure/(data.csv, ...) on clojars.org?

2015-05-10 Thread Jakub Holy
This is essentially a question to Cognitect / developers of the clojure/* 
libraries but I do not know of a better communication channel than this one.

To me, clojars is the one place to go to find out what libraries are there 
and especially what is the latest version. It always surprises me that some 
core libraries such as .e.g clojure.data.cvs aren't there. It is annoying 
and difficult to remember that I have to search both clojars and Maven 
Central. I think it would be really wonderful if these libraries too could 
be on clojars. Or is there any reason why this cannot be the case?

(I know there are sites for finding libraries such as Clojure Toolbox but 
that is not really what I am asking for here.)

Thank you!

Best regards, Jakub Holy

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

2014-07-03 Thread Jakub Holy
No, it is not. At least it is available on Mac too.

On Thursday, July 3, 2014 9:25:44 AM UTC+2, ru wrote:

 Thank you Niels,

 вторник, 1 июля 2014 г., 15:10:42 UTC+4 пользователь Niels van Klaveren 
 написал:

 A new option for test purposes is included in JDK 1.7.0_40 and up and is 
 called Java Mission Control. It is located in the JDK as /bin/jmc.exe.


 Is this tool only for Windows? 


 With it you can connect to a local java process, or remotely through RMI, 
 and record all kinds of performance characteristics in a Flight Recording. 
 Such a flight recording can be a defined for a limited time, or it can 
 buffer the recording to record only the latest x minutes. Overhead depends 
 on the monitoring template used, but is typically around 2%. These 
 recordings can then be browsed, analyzed and queried in a pretty good 
 interface after the recording has been saved.

 To do so, you need to have the following options in your project.clj, and 
 run your project on a JDK  1.7.0_40

 :jvm-opts [
 ; add Flight Recording options
 -XX:+UnlockCommercialFeatures
 -XX:+FlightRecorder
 ; add RMI connection (to connect to process remotely or 
 running as service/daemon)
 ; this example has NO authentication enabled through the 
 RMI port
 -Dcom.sun.management.jmxremote
 -Dcom.sun.management.jmxremote.port=
 -Dcom.sun.management.jmxremote.authenticate=false
 -Dcom.sun.management.jmxremote.ssl=false]


 On Friday, June 20, 2014 3:05:05 PM UTC+2, ru wrote:

 Hi all,

 What performance profiling instrument somebody can recommend for Clojure 
 programs and corresponding documents, articles or tutorials. Thanks in 
 advance.

 Sincerely,
   Ru



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

2014-05-27 Thread Jakub Holy
Hello, thank you all for your tips! I'm away from my PC for a month so I 
will experiment with your proposals when I come back.

@Ulises, @Betrand: Hiding the access behind functions to limit the change 
to them is something I have also though of. The disadvantage is that I 
loose the benefit of destucturing and more documentary function signatures. 
But I want to try this out to see how it turns out to be,

@Aramndo: Thank you, that is a neat idea to use a temporary transformation 
fn that can produce the old structure from the new so that I could 
propagate the change slowly, one step at a time. I will look more into 
that. And if I am lucky with time, I will share my experience via a blog 
post.

@Laurent: I want a save way to change the data structure - this temporary 
ability to work with both shapes of data is one possible way of achieving 
it. Otherwise you captured it quite well. You could implement a 
transitional protocol which would behave differently depending on how data 
is accessed - yes, that is what I have been thinking about. I have never 
done such a thing but I guess it should not be too difficult. You have a 
good point with the necessity of compromises. I guess I can draw 
inspiration from Om's cursorshttps://github.com/swannodette/om/wiki/Cursors 
that 
behave as data but are more than that, knowing their place in the larger 
structure and producing new cursors when accessed - they too have limits 
such as not working with lazy seqs (so f.ex. (remove ..) must be wrapped in 
(vec ...)) or sets.

I hope I will eventually get back with a report how the different 
approaches worked. More ideas are still welcome :-)

On Saturday, May 24, 2014 10:19:31 AM UTC+2, Laurent PETIT wrote:

 So you want a transition phase where existing consuming code can work with 
 both data shapes, and then start fixing functions one at a time to use the 
 new data shape, until you reach the point where you have only the new data 
 shape produced / consumed in your application?


 Current consumer functions expect the data to behave as a vector: calling 
 seq on it should produce an deterministically ordered list of property 
 values, calling nth should work, etc.

 Upgraded consumer functions will expect the data to behave as a map, so be 
 able to pick keyword keys.

 You could implement a transitional protocol which would behave differently 
 depending on how data is accessed (then delegating to the underlying 
 fields).

 You would probably have to make some compromises during this transition 
 phase. E.G. refactored consumer functions would not be able to call (seq) 
 on the map (or they would get the data vector back).

 HTH,

 -- Laurent



 2014-05-22 10:17 GMT+02:00 Jakub Holy jakub...@iterate.no javascript::

 I have a nested data structure, used by a bunch of functions that presume 
 knowledge of its structure, and I wonder how to change a part of the 
 structure in a safe way, preferably in small incremental steps, rather than 
 having my code broken until I update all the functions and tests for the 
 new structure. I believe many of you must have experiences with this, would 
 you care to share some tips?

 The data structure is first built incrementally and the collected data is 
 later summarized. Instead of replacing the raw data with their summary, I 
 want to keep both, so I want to wrap the data with a map; i.e. from:
 { id [ data...] }   ;; later replaced with {id summary}
 to
 {id {:data [data...], :summary ...}

 I have a number of functions operating on the structure and tests for 
 those functions (with test data that also need to be updated w.r.t. the 
 refactoring).

 When I change one of the functions to produce the new data structure 
 (i.e. data wrapped in a map instead of the data itself), everything else 
 breaks. So I fix some tests and another function and get even more 
 failures. This does not feel as a good way to do it as I prefer to have 
 limited 
 red http://www.infoq.com/presentations/The-Limited-Red-Society and am 
 fond of parallel 
 changehttp://theholyjava.wordpress.com/wiki/development/parallel-design-parallel-change/for
  that reason.

 Ideally, I would have an automated refactoring or the possibility to wrap 
 the data in some kind of a two-faced proxy that could behave both as a 
 vector (towards the old code) or as a map containing the vector (towards 
 the updated code) [some thing like lenses/cursor?!]. I haven't either so I 
 guess the only option remaining is a well-controlled process of updating 
 the structure and code. Any advice?

 Thank you! /Jakub
 -- 
 *Forget software. Strive to make an impact, deliver a valuable change.*

 *(**Vær så snill og hjelp meg med å forbedre norsken **min –** skriftlig 
 og muntlig. Takk!**)*

 Jakub Holy
 Solutions Engineer | +47 966 23 666
 Iterate AS | www.iterate.no
 The Lean Software Development Consultancy
 - http://theholyjava.wordpress.com/ -
  
 -- 
 You received this message because you are subscribed

How to refactor data safely?

2014-05-22 Thread Jakub Holy
I have a nested data structure, used by a bunch of functions that presume
knowledge of its structure, and I wonder how to change a part of the
structure in a safe way, preferably in small incremental steps, rather than
having my code broken until I update all the functions and tests for the
new structure. I believe many of you must have experiences with this, would
you care to share some tips?

The data structure is first built incrementally and the collected data is
later summarized. Instead of replacing the raw data with their summary, I
want to keep both, so I want to wrap the data with a map; i.e. from:
{ id [ data...] }   ;; later replaced with {id summary}
to
{id {:data [data...], :summary ...}

I have a number of functions operating on the structure and tests for those
functions (with test data that also need to be updated w.r.t. the
refactoring).

When I change one of the functions to produce the new data structure (i.e.
data wrapped in a map instead of the data itself), everything else breaks.
So I fix some tests and another function and get even more failures. This
does not feel as a good way to do it as I prefer to have limited
redhttp://www.infoq.com/presentations/The-Limited-Red-Societyand am
fond of parallel
changehttp://theholyjava.wordpress.com/wiki/development/parallel-design-parallel-change/for
that reason.

Ideally, I would have an automated refactoring or the possibility to wrap
the data in some kind of a two-faced proxy that could behave both as a
vector (towards the old code) or as a map containing the vector (towards
the updated code) [some thing like lenses/cursor?!]. I haven't either so I
guess the only option remaining is a well-controlled process of updating
the structure and code. Any advice?

Thank you! /Jakub
-- 
*Forget software. Strive to make an impact, deliver a valuable change.*

*(**Vær så snill og hjelp meg med å forbedre norsken **min –** skriftlig og
muntlig. Takk!**)*

Jakub Holy
Solutions Engineer | +47 966 23 666
Iterate AS | www.iterate.no
The Lean Software Development Consultancy
- http://theholyjava.wordpress.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.


Re: Clojure Office Hours

2014-05-01 Thread Jakub Holy
I too can only recommend to make use of this great opportunity. Many thanks 
to Ulises who helped to find a way with a problem I have always struggled 
with, namely the shape of the data you are working with is not visible and 
it is thus easy to make errors which are hard to troubleshoot. I have 
recorded the ideas with an example in the blog post Clojure: How To Prevent 
“Expected Map, Got Vector” And Similar 
Errorshttp://theholyjava.wordpress.com/2014/04/30/clojure-how-to-prevent-expected-map-got-vector-and-similar-errors/
.

I am looking forward to talking to Ulises again in the future to review the 
effect of applying the ideas in practice.

On Thursday, April 10, 2014 2:53:26 PM UTC+2, Leif wrote:

 Hi, everybody.  Inspired by the SF Bay Area clojure group, ClojureBridge, 
 and the great talks on community education from Clojure/West on youtube, 
 I've decided to try holding my own personal Clojure office hours (online).

 I am personally of the opinion that face-to-face interaction is superior, 
 so you may want to get your local user group to follow the Bay Area's 
 lead.  But if you don't agree, or you don't live near such a user group, 
 then read on.

 Borrowed from the Bay Area's posting:

 This is a [2-person] meetup for anyone who is working on a Clojure 
 project and wants to talk over their code or approach with an experienced 
 Clojure developer.

 Projects of all levels and complexity are welcome, anyone just getting 
 started in Clojure is encouraged to come in and talk through their first 
 Euler or 4Clojure problems.
 Disclaimer: This community being what it is, there may be projects of too 
 high a complexity for me, but I'll give it a shot.

 I'm going to try a test run of this for two weeks, and then I'll have to 
 see what state I'm in (mentally and geographically).  If interested, you 
 can book at this link:

 https://leifpoorman.youcanbook.me/

 Note: all the times are evening, US Eastern.  That pretty much limits it 
 to the western hemisphere and any east asian friends that want to do some 
 morning hacking.  Eastern hemisphere friends, make noise on this thread, 
 and maybe some brave European/Asian clojure developer will try something 
 similar.

 Cheers,
 Leif


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

2014-04-28 Thread Jakub Holy
I too have booked a session with Ulises and am excited about it :-)

@Ulises It would be nice if the timezone of the session was mentioned on
the booking page (your [BST] 9-10am is mine [CEST] 10-11, I believe).


2014-04-28 11:09 GMT+02:00 Rudi Engelbrecht rudi.engelbre...@gmail.com:

 Hi Ulises

 Just finished our session - wow!

 I have learned a lot by watching how you approach solving the problem I
 suggested.

 Looking forward to our next session and thanks a lot for sharing your
 knowledge.

 Kind regards

 Rudi Engelbrecht



 On 18/04/2014, at 7:41 PM, Ulises ulises.cerv...@gmail.com wrote:

 Yikes! Got my first booking for Monday. That was quick!

 one thing I forgot to mention is that I have no preferred way to do this.
 I personally have emacs+cider set up, but I'm happy to work with your own
 set up.

 In the past I've used ScreenHero (not available for Linux unfortunately)
 for screen sharing, as well as Google hangouts.

 Once you've booked an appointment with me please email me privately to
 arrange the pairing set up so that I can be ready for you :)

 Cheers


 On 18 April 2014 10:35, Ulises ulises.cerv...@gmail.com wrote:

 Inspired by Leif's offer, I've decided to offer Clojure office hours as
 well.

 I'm based in the UK so I reckon the times will be more amenable to those
 in Europe (not sure the times will be good for those in Asia unfortunately.)

 Sadly the offer is limited to 1h a day, but hopefully it'll still be
 useful.

 You can book me at https://ucb.youcanbook.me/

 Cheers!


 On 18 April 2014 03:03, Leif leif.poor...@gmail.com wrote:

 @Miguel: There are somewhat subtle arrows on the sides for navigation.
 Thursday, April 24 is still open.  I will give a slot to you if you want
 one, just email me if the 24th is full when you check again.

 @all: But yes, this round of office hours is almost over.  I will be in
 transit for at least a couple weeks in the beginning of May, but I will
 probably book some more hours when I become stationary again.  It will
 probably be more like 4 or 5 hours a week, though, not 8.

 @all: Several poor souls from Europe are going to stay up until 2 a.m.
 for this, and people further east are probably just silent because the time
 difference is so large; So, I definitely think some European / African /
 Asian / Australian clojure devs' office hours would be popular.  It's fun,
 and you might find some people to hire, if that's your thing!

 --Leif


 On Thursday, April 17, 2014 10:43:50 AM UTC-4, Miguel Ping wrote:

 Hey, the schedule's full! :\

 On Wednesday, April 16, 2014 2:57:49 AM UTC+1, Marcus Blankenship wrote:

 Leif, thanks for the great session today.  Not only did I get a jump
 start on my next 4Clojure problems, but I learned some emacs as well!  
 Very
 enjoyable, and I look forward to next week’s session.  THANK YOU!

 All, if you’re trying to get a jumpstart on Clojure, I highly
 recommend Leif’s office hours.

 -Marcus

 On Apr 15, 2014, at 6:50 PM, Leif leif.p...@gmail.com wrote:

 @Jakub: Thanks for your kind words.  I'm definitely no industry
 hero, but I hope Clojure devs of all levels start having more pair
 programming fun.

 @Tim: Clojurescript UI programming being *way* out of my comfort
 zone, I learned quite a lot from you yesterday.  So thank *you*.

 @Everyone:  To clarify / reiterate:  You do *not* need a plan, a
 project, or a specific problem.  If you want to work through Project 
 Euler,
 4clojure, clojure-koans, the ClojureBridge materials, some other clojure
 tutorial, or just play it by ear, I am happy to try it out.

 --Leif

 On Tuesday, April 15, 2014 8:00:17 AM UTC-4, frye wrote:

 I just came from an office hours session, yesterday with Leif.

 This is good stuff guys, and a great way to learn and meet with other
 developers. Highly recommended.


 Thanks Leif

 Tim Washington
 Interruptsoftware.com http://interruptsoftware.com/


 On Tue, Apr 15, 2014 at 5:12 AM, Jakub Holy jakub...@iterate.nowrote:

 Hi Leif,

 This is a great activity, thank you for contributing to the
 community this way!

 Do not be surprise and discouraged by the fact that the interest
 seems low. I have a similar experience - in my company we can consult 
 with
 an industry hero yet people use the opportunity seldom, presumably
 because of multiple factors: they (wrongly) don't feel that they do not
 have something important/interesting enough to bother him, they are 
 little
 scared of talking to and exposing themselves and their work to this
 experienced guy, and might find it difficult to explain their challenge 
 to
 an outsider and get an advice within the limited time scope. On the 
 other
 hand, those who dare to use the opportunity benefit from it greatly.

 Good luck, Jakub


 On Friday, April 11, 2014 4:13:18 AM UTC+2, Leif wrote:

 Hmm... less interest than I'd expected, given recent posts.  Maybe
 I should rename the thread to Free Clojure Consulting / Tutoring.
 Tht's not spammy.

 FYI, all bookings

Re: Clojure Office Hours

2014-04-15 Thread Jakub Holy
Hi Leif,

This is a great activity, thank you for contributing to the community this 
way!

Do not be surprise and discouraged by the fact that the interest seems low. 
I have a similar experience - in my company we can consult with an 
industry hero yet people use the opportunity seldom, presumably because 
of multiple factors: they (wrongly) don't feel that they do not have 
something important/interesting enough to bother him, they are little 
scared of talking to and exposing themselves and their work to this 
experienced guy, and might find it difficult to explain their challenge to 
an outsider and get an advice within the limited time scope. On the other 
hand, those who dare to use the opportunity benefit from it greatly.

Good luck, Jakub 

On Friday, April 11, 2014 4:13:18 AM UTC+2, Leif wrote:

 Hmm... less interest than I'd expected, given recent posts.  Maybe I 
 should rename the thread to Free Clojure Consulting / Tutoring.  
 Tht's not spammy.

 FYI, all bookings are automatically confirmed, so don't fret if I don't 
 instantly respond.

 @Tim: Sounds good!  Of course, now I'll have to take some time this 
 weekend and try to actually understand Om. :)  (or maybe ?o_0? )

 --Leif

 On Thursday, April 10, 2014 9:56:37 AM UTC-4, frye wrote:

 Sounds great. I just sent a request. 

 Tim Washington 
 Interruptsoftware.com http://interruptsoftware.com 


 On Thu, Apr 10, 2014 at 9:43 AM, Colin Fleming colin.ma...@gmail.comwrote:

 Hi Leif,

 This sounds like a very interesting project, please report back and let 
 us know how it went! I'd be very interested to know.

 Cheers,
 Colin


 On 11 April 2014 00:53, Leif leif.p...@gmail.com wrote:

 Hi, everybody.  Inspired by the SF Bay Area clojure group, 
 ClojureBridge, and the great talks on community education from 
 Clojure/West 
 on youtube, I've decided to try holding my own personal Clojure office 
 hours (online).

 I am personally of the opinion that face-to-face interaction is 
 superior, so you may want to get your local user group to follow the Bay 
 Area's lead.  But if you don't agree, or you don't live near such a user 
 group, then read on.

 Borrowed from the Bay Area's posting:

 This is a [2-person] meetup for anyone who is working on a Clojure 
 project and wants to talk over their code or approach with an experienced 
 Clojure developer.

 Projects of all levels and complexity are welcome, anyone just getting 
 started in Clojure is encouraged to come in and talk through their first 
 Euler or 4Clojure problems.
 Disclaimer: This community being what it is, there may be projects of 
 too high a complexity for me, but I'll give it a shot.

 I'm going to try a test run of this for two weeks, and then I'll have 
 to see what state I'm in (mentally and geographically).  If interested, 
 you 
 can book at this link:

 https://leifpoorman.youcanbook.me/

 Note: all the times are evening, US Eastern.  That pretty much limits 
 it to the western hemisphere and any east asian friends that want to do 
 some morning hacking.  Eastern hemisphere friends, make noise on this 
 thread, and maybe some brave European/Asian clojure developer will try 
 something similar.

 Cheers,
 Leif




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

2014-04-04 Thread Jakub Holy
Thank you all!

@Stuart Great to know that 0.2.1 is backwards compatible.

@Sean You are right about running it separately. But I am lazy and it is
easier to be able to just run (sdoc) from repl and get the ns browser up.
On the other hand, it is perhaps not so smart to pollute one's profile with
all possible tools and then spend hours debugging conflicts :)


2014-04-03 23:34 GMT+02:00 Stuart Sierra the.stuart.sie...@gmail.com:



 On Wednesday, April 2, 2014 7:49:07 AM UTC-4, Jakub Holy wrote:

 When starting lein (namely lein ring server) I got a little helpful
 exception and stack trace with the key line being:

 FileNotFoundException: Could not locate 
 clojure/tools/namespace/parse__init.class
 or clojure/tools/namespace/parse.clj on classpath



 This could be caused by different libraries or plugins depending on
 different versions of tools.namespace.

 clojure.tools.namespace.parse is present starting with tools.namespace
 version 0.2.0.

 Note: In tools.namespace version 0.2.0 I removed the namespace
 `clojure.tools.namespace` which was present in 0.1.x. After learning that
 this caused problems, I added the deprecated namespace back in version
 0.2.1.

 You can use `lein deps :tree` to figure out which version is getting
 included in your project.

 You can add an explicit dependency in your project.clj on a version that
 you know is compatible with all the libraries/plugins you want to use.

 In this case, the latest version of tools.namespace is backwards
 compatible with 0.1.X versions. If that were not the case, you'd be out of
 luck.



 --
 You received this message because you are subscribed to the Google
 Groups Clojure group.
 To post to this group, send email to clojure@googlegroups.com
 Note that posts from new members are moderated - please be patient with
 your first post.
 To unsubscribe from this group, send email to
 clojure+unsubscr...@googlegroups.com
 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/h3U0zx9kEvo/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.




-- 
*Forget software. Strive to make an impact, deliver a valuable change.*

* (**Vær så snill og hjelp meg med å forbedre norsken **min –** skriftlig
og muntlig. Takk!**)*

Jakub Holy
Solutions Engineer | +47 966 23 666
Iterate AS | www.iterate.no
The Lean Software Development Consultancy
- http://theholyjava.wordpress.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.


Re: How to troubleshoot FileNotFoundException: Could not locate clojure/tools/namespace/parse...?

2014-04-03 Thread Jakub Holy
Hello Sean,

Thank you for your asnwer! It was a nice and helpful demonstration of how
to read stack traces better.

The stack trace points to *ns-tracker*  as the cause and indeed removing it
fixes the problem. However it is actually conflict between ns-tracker and
*clj-ns-browser* that causes the failure; removing any one fixes it. But
the stack trace points only to ns-tracker (I guess we actually cannot
expect more from it.) Thank you for reminding me of lein deps :tree, I
should finally remember to use it. It unfortunately does not mention
clj-ns-browser at all (I have it among user dependencies in profile.clj).
Any idea why could that be?

Thank you!


2014-04-03 0:01 GMT+02:00 Sean Corfield s...@corfield.org:

 On Apr 2, 2014, at 4:49 AM, Jakub Holy jakub.h...@iterate.no wrote:

 *The problem is that the stack trace contains no indication that it is
 clj-ns-browser that is causing the problem.* I would like to know if
 there are any tricks to troubleshoot these problems other than binary
 search through deps/plugins in profile.clj.


 Well you can use: lein deps :tree

 That will show you any version conflicts as well as the paths by which
 those conflicts are reached - and it will suggest exclusions to resolve the
 conflicts (although some version conflicts can't be resolved as-is - you
 must upgrade one or other of your dependencies to get things working).

 But if you want to start from the stack trace...

 A lot of the stack trace can be thrown away / ignored which helps narrow
 things down...

 $ lein ring server
 Exception in thread main java.io.FileNotFoundException: Could not locate
 clojure/tools/namespace/parse__init.class or
 clojure/tools/namespace/parse.clj on classpath: ,
 compiling:(ns_tracker/parse.clj:1:1)


 ^^^ This tells us it failed to load clojure.tools.namespace.parse while
 compiling ns-tracker.parse...

 at ns_tracker.core$eval514$loading__4958__auto515.invoke(core.clj:1)
  at ns_tracker.core$eval514.invoke(core.clj:1)


 ^^^ ...which it found in ns-tracker.core...

 at
 ring.middleware.reload$eval508$loading__4958__auto509.invoke(reload.clj:1)
  at ring.middleware.reload$eval508.invoke(reload.clj:1)


 ^^^ ...which it found in ring.middleware.reload...

 at
 ring.server.standalone$eval15$loading__4958__auto16.invoke(standalone.clj:1)
  at ring.server.standalone$eval15.invoke(standalone.clj:1)


 ^^^ ...which it found in ring.server.standalone...

 at
 ring.server.leiningen$eval9$loading__4958__auto10.invoke(leiningen.clj:1)
  at ring.server.leiningen$eval9.invoke(leiningen.clj:1)


 ^^^ ...and now we're at the top-level (since this was invoked from the
 user namespace):

 at user$eval5.invoke(form-init6357505187919130689.clj:1)


 And because all these seem to be at line 1, they're likely the (ns ...)
 forms and so we have part of the dependency chain. I mostly just skipped
 over all the clojure.* stuff except for noting (in my head) that
 clojure.core/load and clojure.core/use were called along that path.

 Does that help at all?

 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)






-- 
*Forget software. Strive to make an impact, deliver a valuable change.*

* (**Vær så snill og hjelp meg med å forbedre norsken **min –** skriftlig
og muntlig. Takk!**)*

Jakub Holy
Solutions Engineer | +47 966 23 666
Iterate AS | www.iterate.no
The Lean Software Development Consultancy
- http://theholyjava.wordpress.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.


Re: [ANN] Eastwood 0.1.1 Clojure lint tool

2014-03-22 Thread Jakub Holy
For me, Eastwood fails mysteriously:

$ lein eastwood
Exception in thread main java.lang.RuntimeException: No such var: 
clojure.core.cache/through, compiling:(clojure/core/memoize.clj:52:3)
at clojure.lang.Compiler.analyze(Compiler.java:6380)
...
Caused by: java.lang.RuntimeException: No such var: 
clojure.core.cache/through

using :dependencies [[org.clojure/clojure 1.5.1] ...]

I use couple of other dependencies and 
pluginshttps://github.com/jakubholynet/dotfiles/blob/master/.lein/profiles.cljthat
 could theoretically somehow conflict with Eastwood.

Cheers, Jakub


On Thursday, March 20, 2014 4:02:36 PM UTC+1, Andy Fingerhut wrote:

 Eastwood is a Clojure lint tool.  It analyzes Clojure source code in 
 Leiningen projects, reporting things that may be errors.

 Installation instructions are in the documentation here:

 https://github.com/jonase/eastwood/#installation--quick-usage

 The previous release was in January 2014.  Updates since then are 
 described in the change log here:

 
 https://github.com/jonase/eastwood/blob/master/changes.md#changes-from-version-010-to-011

 Probably the most noticeable changes for Eastwood users will be the errors 
 if namespace/file name inconsistencies are found, and the reduction in bad 
 reflection warnings.

 Below is the description Eastwood from the January 2014 release:

 For example, did you know that if you use clojure.test to write tests, and 
 have multiple deftest definitions in the same namespace with the same name, 
 then the tests in all but the last deftest will never be run, whether those 
 tests would pass or fail?  Eastwood can find those duplicate names, as well 
 as other occurrences of the same Var name defined more than once.

 Eastwood can also warn about misplaced doc strings, calling deprecated 
 functions or Java methods, expressions that are suspicious because they 
 always return the same value (e.g. (= expr) is always true), expressions 
 whose return value is not used and appear to have no side effects, and a 
 few others.  See the documentation linked above for a complete list.

 Jonas Enlund wrote the original version of Eastwood with the help of 
 several other contributors.  Version 0.1.1 is an update by Jonas, Nicola 
 Mometto, and myself.  It uses the new Clojure contrib libraries 
 tools.reader for reading the code, and tools.analyzer and 
 tools.analyzer.jvm for parsing the source into abstract syntax trees, 
 making it straightforward to write many of the linters.  Thanks especially 
 to Nicola Mometto for tireless enhancements and bug fixes to those 
 libraries.

 You can file issues on the Github issue tracker if you encounter problems, 
 but please read the Known Issues section of the documentation before 
 filing problems.  Several issues have already been discovered, and their 
 causes documented, while testing Eastwood on most of the Clojure contrib 
 libraries, Clojure itself, and over 35 other open source libraries.

 Go squash some bugs!

 Andy Fingerhut


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

2014-03-22 Thread Jakub Holy
Thank you, I have tried that but haven't found out anything. There is only
one part of the tree that mentions core cache, no conflict (perhaps b/c
there is none until eastwood enters the scene):

[leiningen 2.3.4]
   [stencil 0.3.2]
 [org.clojure/core.cache 0.6.2]

which is only 0.0.1 version behind the latest (and excluding it did not
help)


2014-03-22 22:25 GMT+01:00 Sean Corfield s...@corfield.org:

 Use: lein deps :tree

 That should show you where the conflict is coming from (you're picking up
 an old core.cache from somewhere).

 Sean

 On Mar 22, 2014, at 1:34 PM, Jakub Holy jakub.h...@iterate.no wrote:

 For me, Eastwood fails mysteriously:

 $ lein eastwood
 Exception in thread main java.lang.RuntimeException: No such var:
 clojure.core.cache/through, compiling:(clojure/core/memoize.clj:52:3)
  at clojure.lang.Compiler.analyze(Compiler.java:6380)
 ...
 Caused by: java.lang.RuntimeException: No such var:
 clojure.core.cache/through

 using :dependencies [[org.clojure/clojure 1.5.1] ...]

 I use couple of other dependencies and 
 pluginshttps://github.com/jakubholynet/dotfiles/blob/master/.lein/profiles.cljthat
  could theoretically somehow conflict with Eastwood.

 Cheers, Jakub






-- 
*Forget software. Strive to make an impact, deliver a valuable change.*

*(**Vær så snill og hjelp meg med å forbedre norsken **min –** skriftlig og
muntlig. Takk!**)*

Jakub Holy
Solutions Engineer | +47 966 23 666
Iterate AS | www.iterate.no
The Lean Software Development Consultancy
- http://theholyjava.wordpress.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.


Re: [ANN] Eastwood 0.1.1 Clojure lint tool

2014-03-22 Thread Jakub Holy
Yes, I am using vinyasa - see
https://github.com/jakubholynet/dotfiles/blob/master/.lein/profiles.clj

Still, Lein's core.cache is nearly the newest available...


2014-03-22 23:01 GMT+01:00 Sean Corfield s...@corfield.org:

 Ah, I ran into this as well recently with a plugin that was evaluating in
 Leiningen - and thus Leiningen's dependency on Stencil (and core.cache)
 overrode my own.

 Are you using Vinyasa or something like that?

 Sean

 On Mar 22, 2014, at 2:55 PM, Jakub Holy jakub.h...@iterate.no wrote:

 Thank you, I have tried that but haven't found out anything. There is only
 one part of the tree that mentions core cache, no conflict (perhaps b/c
 there is none until eastwood enters the scene):

 [leiningen 2.3.4]
[stencil 0.3.2]
  [org.clojure/core.cache 0.6.2]

 which is only 0.0.1 version behind the latest (and excluding it did not
 help)


 2014-03-22 22:25 GMT+01:00 Sean Corfield s...@corfield.org:

 Use: lein deps :tree

 That should show you where the conflict is coming from (you're picking up
 an old core.cache from somewhere).

 Sean






-- 
*Forget software. Strive to make an impact, deliver a valuable change.*

*(**Vær så snill og hjelp meg med å forbedre norsken **min –** skriftlig og
muntlig. Takk!**)*

Jakub Holy
Solutions Engineer | +47 966 23 666
Iterate AS | www.iterate.no
The Lean Software Development Consultancy
- http://theholyjava.wordpress.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.


Re: [ANN] Eastwood 0.1.1 Clojure lint tool

2014-03-22 Thread Jakub Holy
I see. Thanks a lot!


2014-03-22 23:32 GMT+01:00 Sean Corfield s...@corfield.org:

 On Mar 22, 2014, at 3:27 PM, Jakub Holy jakub.h...@iterate.no wrote:

 Yes, I am using vinyasa - see
 https://github.com/jakubholynet/dotfiles/blob/master/.lein/profiles.clj


 See https://github.com/zcaudate/vinyasa/issues/3

  Still, Lein's core.cache is nearly the newest available...


 My understanding is that 0.6.3 added core.cache/through, and core.memoize
 depends on that version.

 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)






-- 
*Forget software. Strive to make an impact, deliver a valuable change.*

* (**Vær så snill og hjelp meg med å forbedre norsken **min –** skriftlig
og muntlig. Takk!**)*

Jakub Holy
Solutions Engineer | +47 966 23 666
Iterate AS | www.iterate.no
The Lean Software Development Consultancy
- http://theholyjava.wordpress.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.


Re: How to update an atom return the change?

2014-03-21 Thread Jakub Holy
Thanks a lot, Stephen!
21. mars 2014 00:57 skrev Stephen Gilardi scgila...@gmail.com følgende:

 There was a stackoverflow question recently that requested a solution for
 a similar problem:


 https://stackoverflow.com/questions/22409638/remove-first-item-from-clojure-vector-atom-and-return-it

 One solution there is similar to this:

 (defn swap*!
   Like swap! but returns a vector of [old-value new-value]
   [atom f  args]
   (loop [old-value @atom]
 (let [new-value (apply f old-value args)]
   (if (compare-and-set! atom old-value new-value)
 [old-value new-value]
 (recur @atom)

 This will return the correct old-value and new-value which you can diff.

 Another note:

 (swap! state #(update-in % [:teams] make-team))


 can be written more succinctly:

 (swap! state update-in [:teams] make-team)

 —Steve

 On Mar 20, 2014, at 6:28 PM, Jakub Holy jakub.h...@iterate.no wrote:

 I have couple of times run into a situation where I want to update a state
 map held in an atom
 and return the change, not the new value. I haven't found a good way to do
 it so either I am missing
 something obvious or there are more idiomatic ways to achieve what I need.
 Could you advise me?

 A concrete example: In ma webapp I want to assign a unique random ID to
 each user. Creating that ID is simple:

 (def state (atom {:teams {}}))

 ;; Remove already used IDs from a lazy seq of random IDs (= unique), take
 the 1st one
 (defn unique-rand-id [id-set]
   (first (remove id-set (repeatedly #(rand-int Integer/MAX_VALUE))

 ;; Add a new team with a unique random ID to the teams map
 (defn make-team [teams]
   (let [id (unique-rand-id (set (keys teams)))]
 (assoc teams id {})))

 ;; Create a new team; TODO: How to get the new team's ID?!
 (swap! state #(update-in % [:teams] make-team))

 So I can generate and remember a new unique random ID but there is no way
 to find out
 what ID it was (I cannot just take diff of state before and after since
 other threads could
 have also added new IDs to it in the meanwhile.)

 Any advice is appreciated. Thank you!

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

2014-03-21 Thread Jakub Holy
For the interested, this is my (certainly pretty imperfect) solution for
changing a value in a state map and returning the old and new value (that
can be safely diffed to get the change):

(defn swap-in!
  Combination of update-in and swap! returning the value at the path
before and after.
  [atom path f  args]
  (loop []
(let [old-a @atom
  old-val (get-in old-a path)
  new-val (apply f (cons old-val args))
  new-a (assoc-in old-a path new-val)]
  (if (compare-and-set! atom old-a new-a)
[old-val new-val]
(recur)

;; example:
(swap-in! (atom {:k 1}) [:k] + 2) ;; = [1 3]


2014-03-21 0:57 GMT+01:00 Stephen Gilardi scgila...@gmail.com:

 There was a stackoverflow question recently that requested a solution for
 a similar problem:


 https://stackoverflow.com/questions/22409638/remove-first-item-from-clojure-vector-atom-and-return-it

 One solution there is similar to this:

 (defn swap*!
   Like swap! but returns a vector of [old-value new-value]
   [atom f  args]
   (loop [old-value @atom]
 (let [new-value (apply f old-value args)]
   (if (compare-and-set! atom old-value new-value)
 [old-value new-value]
 (recur @atom)

 This will return the correct old-value and new-value which you can diff.

 Another note:

 (swap! state #(update-in % [:teams] make-team))


 can be written more succinctly:

 (swap! state update-in [:teams] make-team)

 —Steve

 On Mar 20, 2014, at 6:28 PM, Jakub Holy jakub.h...@iterate.no wrote:

 I have couple of times run into a situation where I want to update a state
 map held in an atom
 and return the change, not the new value. I haven't found a good way to do
 it so either I am missing
 something obvious or there are more idiomatic ways to achieve what I need.
 Could you advise me?

 A concrete example: In ma webapp I want to assign a unique random ID to
 each user. Creating that ID is simple:

 (def state (atom {:teams {}}))

 ;; Remove already used IDs from a lazy seq of random IDs (= unique), take
 the 1st one
 (defn unique-rand-id [id-set]
   (first (remove id-set (repeatedly #(rand-int Integer/MAX_VALUE))

 ;; Add a new team with a unique random ID to the teams map
 (defn make-team [teams]
   (let [id (unique-rand-id (set (keys teams)))]
 (assoc teams id {})))

 ;; Create a new team; TODO: How to get the new team's ID?!
 (swap! state #(update-in % [:teams] make-team))

 So I can generate and remember a new unique random ID but there is no way
 to find out
 what ID it was (I cannot just take diff of state before and after since
 other threads could
 have also added new IDs to it in the meanwhile.)

 Any advice is appreciated. Thank you!

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




-- 
*Forget software. Strive to make an impact, deliver a valuable change.*

* (**Vær så snill og hjelp meg med å forbedre norsken **min –** skriftlig
og muntlig. Takk!**)*

Jakub Holy
Solutions Engineer | +47 966 23 666
Iterate AS | www.iterate.no
The Lean Software Development Consultancy
- http://theholyjava.wordpress.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

How to update an atom return the change?

2014-03-20 Thread Jakub Holy
I have couple of times run into a situation where I want to update a state 
map held in an atom
and return the change, not the new value. I haven't found a good way to do 
it so either I am missing
something obvious or there are more idiomatic ways to achieve what I need. 
Could you advise me?

A concrete example: In ma webapp I want to assign a unique random ID to 
each user. Creating that ID is simple:

(def state (atom {:teams {}}))

;; Remove already used IDs from a lazy seq of random IDs (= unique), take 
the 1st one
(defn unique-rand-id [id-set]
  (first (remove id-set (repeatedly #(rand-int Integer/MAX_VALUE))

;; Add a new team with a unique random ID to the teams map
(defn make-team [teams]
  (let [id (unique-rand-id (set (keys teams)))]
(assoc teams id {})))

;; Create a new team; TODO: How to get the new team's ID?!
(swap! state #(update-in % [:teams] make-team))

So I can generate and remember a new unique random ID but there is no way 
to find out
what ID it was (I cannot just take diff of state before and after since 
other threads could
have also added new IDs to it in the meanwhile.)

Any advice is appreciated. Thank you!

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

2013-12-31 Thread Jakub Holy
Thanks a lot, Mikera and Tim!

I have started looking into Incanter but especially Leiningen sounds as 
something that is good to know better.

Happy new year! 

On Sunday, December 29, 2013 3:53:44 AM UTC+1, Tim Visher wrote:

 Leiningen as well. :) 

 On Fri, Dec 27, 2013 at 1:53 PM, Jakub Holy 
 jakub...@iterate.nojavascript: 
 wrote: 
  Hello, 
  
  I'd like to sharpen my Clojure skill by contributing to an open source 
  project and getting feedback on my patches from its developers. Can you 
  recommend a project that would be suitable? Preferably something where 
 there 
  is plenty of beginner-friendly bugs and in the domain of web or devops. 
  
  Thanks a lot and happy new year! 
  
  
  Best regards, Jakub 
  -- 
  Forget software. Strive to make an impact, deliver a valuable change. 
  
  (Vær så snill og hjelp meg med å forbedre norsken min – skriftlig og 
  muntlig. Takk!) 
  
  Jakub Holy 
  Solutions Engineer | +47 966 23 666 
  Iterate AS | www.iterate.no 
  The Lean Software Development Consultancy 
  - http://theholyjava.wordpress.com/ - 
  
  -- 
  -- 
  You received this message because you are subscribed to the Google 
  Groups Clojure group. 
  To post to this group, send email to clo...@googlegroups.comjavascript: 
  Note that posts from new members are moderated - please be patient with 
 your 
  first post. 
  To unsubscribe from this group, send email to 
  clojure+u...@googlegroups.com javascript: 
  For more options, visit this group at 
  http://groups.google.com/group/clojure?hl=en 
  --- 
  You received this message because you are subscribed to the Google 
 Groups 
  Clojure group. 
  To unsubscribe from this group and stop receiving emails from it, send 
 an 
  email to clojure+u...@googlegroups.com javascript:. 
  For more options, visit https://groups.google.com/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/groups/opt_out.


Re: Akka-like framework in Clojure ?

2013-12-31 Thread Jakub Holy
I too have heard that using Akka from Clojure is not so easy, see Distributed 
Actors in 
Clojurehttp://martinsprogrammingblog.blogspot.no/2012/05/distributed-actors-in-clojure.html(5/2012)
 – a discussion of options for Akka-like stuff in Clojure. Akka is 
great but “interfacing to Akka from Clojure is not 
nicehttp://blog.darevay.com/2011/06/clojure-and-akka-a-match-made-in/, 
and certainly not idiomatic”. Though there have been some new Akka-Clojure 
libs since that (akka-clojurehttps://github.com/jasongustafson/akka-clojure, 
okku https://github.com/gaverhae/okku).

I also believe that Rich Hickey has some good reasons for why / when not to 
use actor-based concurrency. I cannot find the reference now, perhaps it is 
mentioned (also) in the StrangeLoop 2013 Clojure core.async 
Channelshttp://www.infoq.com/presentations/clojure-core-async
 talk.

On Friday, December 27, 2013 9:54:16 AM UTC+1, Eric Le Goff wrote:


 Hi,

 After a long background with imperative languages such as Java, I recently 
 spent some time learning functionnal programming, starting with Scala. I 
 had the opporrtunity to build a demo project based on the Akka framework.

 Now I am starting learning Clojure, and would be curious to know if there 
 was some clojure based framework available which could implement rather 
 similar features to Akka. 

 In particular, I would be interested in an implementation of the Actor 
 Model [1]

 Thanks.

 Eric


 [1] http://en.wikipedia.org/wiki/Actor_model
  

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


Recommendations for a project with learning-friendly bugs and devs?

2013-12-27 Thread Jakub Holy
Hello,

I'd like to sharpen my Clojure skill by contributing to an open source
project and getting feedback on my patches from its developers. Can you
recommend a project that would be suitable? Preferably something where
there is plenty of beginner-friendly bugs and in the domain of web or
devops.

Thanks a lot and happy new year!


Best regards, Jakub
-- 
*Forget software. Strive to make an impact, deliver a valuable change.*

*(**Vær så snill og hjelp meg med å forbedre norsken **min –** skriftlig og
muntlig. Takk!**)*

Jakub Holy
Solutions Engineer | +47 966 23 666
Iterate AS | www.iterate.no
The Lean Software Development Consultancy
- http://theholyjava.wordpress.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/groups/opt_out.


Re: Clojure cheatsheets with several flavors of tooltips

2013-08-28 Thread Jakub Holy
Hi Alex, thank you very much for updating the cheatsheet!

Is it not possible to get hold of somebody who has the rights to add the
JS/... necessary for the tooltips? It would be so much cooler to have them
there...

Regards, Jakub

---
Jakub Holy
Solutions Engineer | +47 966 23 666
Iterate AS | www.iterate.no
The Lean Software Development Consultancy
- http://theholyjava.wordpress.com/ -
Den 9. aug. 2013 05:06 skrev Alex Miller a...@puredanger.com følgende:

 I updated the cheatsheet on clojure.org to the latest version (no
 tooltips). I don't have enough access to add the additional assets that
 would make that possible.

 Alex

 On Thursday, August 8, 2013 2:13:24 PM UTC-4, Andy Fingerhut wrote:

 It is relatively easy (with help from the right person with permission to
 update clojure.org/cheatsheet) to update the non-tooltip version of the
 cheatsheet there.

 When last they checked for me some months ago, it was less easy to enable
 the tooltip version of the cheatsheet at clojure.org/cheatsheet.

 On the plus side, the link to the other versions of the cheatsheet is now
 at the top of the page rather than the bottom, so it should be easier for
 people to find.

 Andy


 On Thu, Aug 8, 2013 at 1:46 AM, Jakub Holy jakub...@iterate.no wrote:

 Hi Andy,

 This cheatsheet of yours is wonderful!

 Are there any chances of getting it to clojure.org/cheatsheet? It is a
 shame that the cheatsheet at clojure.org is only for Clj 1.4 and
 doesn't have the beautiful tooltips.

 Thank you, Jakub


 On Monday, April 23, 2012 8:35:12 PM UTC+2, Andy Fingerhut wrote:

 The tooltip version of the Clojure/Java cheatsheet is not published at
 [1] just yet, but hopefully we can figure out how to make that happen in a
 while:

 [1] http://clojure.org/cheatsheet

 There is an updated link at the bottom of that page called Download
 other versions that leads to [2]:

 [2] http://jafingerhut.github.com

 Page [2] has links to 5 different variations of the cheatsheet, and I
 plan for it to be the long term home for where I publish cheatsheets (in
 addition to [1]).  They differ only in whether they have tooltips, how the
 tooltip is implemented, and whether the tooltip includes a 1-line summary
 of what ClojureDocs.org contained at a recent snapshot time.  It does not
 query ClojureDocs.org every time it displays a tooltip.  That would slow
 down the tooltip display, and likely be too much load on ClojureDocs.org.

 There are also links on that page to the Github repository containing
 the source that generated the cheatsheets, and to the PDF versions.

 Note: It is free and quick to create an account on ClojureDocs.org, and
 you don't even need to create an account if you have an OpenID account on
 Google, Yahoo, or myOpenId.  Just click log in in the upper right corner
 of [3], and you can edit examples and see alsos, too.  Don't be dismayed
 thinking that you must write special markup to create examples.  In most
 cases, all it takes is copying and pasting a REPL session, with some
 editing to add comments if it helps understanding what is going on.  The
 color highlighting is automatically added by the web server.

 [3] http://clojuredocs.org

 Andy

  --
 --
 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=enhttp://groups.google.com/group/clojure?hl=en
 ---
 You received this message because you 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_outhttps://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 a topic in the
 Google Groups Clojure group.
 To unsubscribe from this topic, visit
 https://groups.google.com/d/topic/clojure/VcXDWmUXt1I/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/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

Re: Clojure cheatsheets with several flavors of tooltips

2013-08-08 Thread Jakub Holy
Hi Andy, 

This cheatsheet of yours is wonderful! 

Are there any chances of getting it to clojure.org/cheatsheet? It is a 
shame that the cheatsheet at clojure.org is only for Clj 1.4 and doesn't 
have the beautiful tooltips.

Thank you, Jakub

On Monday, April 23, 2012 8:35:12 PM UTC+2, Andy Fingerhut wrote:

 The tooltip version of the Clojure/Java cheatsheet is not published at [1] 
 just yet, but hopefully we can figure out how to make that happen in a 
 while:

 [1] http://clojure.org/cheatsheet

 There is an updated link at the bottom of that page called Download other 
 versions that leads to [2]:

 [2] http://jafingerhut.github.com

 Page [2] has links to 5 different variations of the cheatsheet, and I plan 
 for it to be the long term home for where I publish cheatsheets (in 
 addition to [1]).  They differ only in whether they have tooltips, how the 
 tooltip is implemented, and whether the tooltip includes a 1-line summary 
 of what ClojureDocs.org contained at a recent snapshot time.  It does not 
 query ClojureDocs.org every time it displays a tooltip.  That would slow 
 down the tooltip display, and likely be too much load on ClojureDocs.org.

 There are also links on that page to the Github repository containing the 
 source that generated the cheatsheets, and to the PDF versions.

 Note: It is free and quick to create an account on ClojureDocs.org, and 
 you don't even need to create an account if you have an OpenID account on 
 Google, Yahoo, or myOpenId.  Just click log in in the upper right corner 
 of [3], and you can edit examples and see alsos, too.  Don't be dismayed 
 thinking that you must write special markup to create examples.  In most 
 cases, all it takes is copying and pasting a REPL session, with some 
 editing to add comments if it helps understanding what is going on.  The 
 color highlighting is automatically added by the web server.

 [3] http://clojuredocs.org

 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/groups/opt_out.




Re: Incanter 1.5.2 has been released

2013-08-05 Thread Jakub Holy
I can see that http://liebke.github.io/incanter/core-api.html still reads 
Incanter 1.5.1 so either it hasn't been long enough since you tagged it 
or something else must be done to update the docs.

Thank you!

On Monday, August 5, 2013 8:10:38 AM UTC+2, Alex Ott wrote:

 Ooops, completely forgot to do this - it's done now

 thank you


 On Mon, Aug 5, 2013 at 3:55 AM, Tom Faulhaber 
 tomfau...@gmail.comjavascript:
  wrote:

 Thanks for keeping the ball rolling, Alex. We appreciate it very much!

 Could you tag the release on github so that autodoc will build for it 
 correctly? 

 Thanks,

 Tom


 On Sunday, August 4, 2013 11:20:07 AM UTC-7, Alex Ott wrote:

 Hi all

 I've just pushed new release of Incanter to Clojars. This is mostly 
 bugfix release. More information is at http://data-sorcery.org/2013/**
 08/04/incanter-1-5-2-bugfix-**release/http://data-sorcery.org/2013/08/04/incanter-1-5-2-bugfix-release/

 -- 
 With best wishes,Alex Ott
 http://alexott.net/
 Twitter: alexott_en (English), alexott (Russian)
 Skype: alex.ott 

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

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




 -- 
 With best wishes,Alex Ott
 http://alexott.net/
 Twitter: alexott_en (English), alexott (Russian)
 Skype: alex.ott 


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