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" :

> 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" :
>>
>>> 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 

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" :

> 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 cursors<https://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 >:
>
>> 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:
>> {  [ data...] }   ;; later replaced with { summary}
>> to
>> { {: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 
>> change<http://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?
&g

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:
{  [ data...] }   ;; later replaced with { summary}
to
{ {: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
change<http://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 
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 :

> 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  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  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  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  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
>>>>

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  
>>
>>
>> On Thu, Apr 10, 2014 at 9:43 AM, Colin Fleming wrote:
>>
>>> 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  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 :

>
>
> 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 :

> On Apr 2, 2014, at 4:49 AM, Jakub Holy  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.


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

2014-04-02 Thread Jakub Holy
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

I have narrowed it down to the dependency [clj-ns-browser "1.3.1"] in 
myprofile.clj.

*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.

Thank you!

Here is the full stack trace:

$ 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)
at clojure.lang.Compiler.load(Compiler.java:7142)
at clojure.lang.RT.loadResourceScript(RT.java:370)
at clojure.lang.RT.loadResourceScript(RT.java:361)
at clojure.lang.RT.load(RT.java:440)
at clojure.lang.RT.load(RT.java:411)
at clojure.core$load$fn__5066.invoke(core.clj:5641)
at clojure.core$load.doInvoke(core.clj:5640)
at clojure.lang.RestFn.invoke(RestFn.java:408)
at clojure.core$load_one.invoke(core.clj:5446)
at clojure.core$load_lib$fn__5015.invoke(core.clj:5486)
at clojure.core$load_lib.doInvoke(core.clj:5485)
at clojure.lang.RestFn.applyTo(RestFn.java:142)
at clojure.core$apply.invoke(core.clj:626)
at clojure.core$load_libs.doInvoke(core.clj:5524)
at clojure.lang.RestFn.applyTo(RestFn.java:137)
at clojure.core$apply.invoke(core.clj:628)
at clojure.core$use.doInvoke(core.clj:5618)
at clojure.lang.RestFn.invoke(RestFn.java:512)
at ns_tracker.core$eval514$loading__4958__auto515.invoke(core.clj:1)
at ns_tracker.core$eval514.invoke(core.clj:1)
at clojure.lang.Compiler.eval(Compiler.java:6703)
at clojure.lang.Compiler.eval(Compiler.java:6692)
at clojure.lang.Compiler.load(Compiler.java:7130)
at clojure.lang.RT.loadResourceScript(RT.java:370)
at clojure.lang.RT.loadResourceScript(RT.java:361)
at clojure.lang.RT.load(RT.java:440)
at clojure.lang.RT.load(RT.java:411)
at clojure.core$load$fn__5066.invoke(core.clj:5641)
at clojure.core$load.doInvoke(core.clj:5640)
at clojure.lang.RestFn.invoke(RestFn.java:408)
at clojure.core$load_one.invoke(core.clj:5446)
at clojure.core$load_lib$fn__5015.invoke(core.clj:5486)
at clojure.core$load_lib.doInvoke(core.clj:5485)
at clojure.lang.RestFn.applyTo(RestFn.java:142)
at clojure.core$apply.invoke(core.clj:626)
at clojure.core$load_libs.doInvoke(core.clj:5524)
at clojure.lang.RestFn.applyTo(RestFn.java:137)
at clojure.core$apply.invoke(core.clj:628)
at clojure.core$use.doInvoke(core.clj:5618)
at clojure.lang.RestFn.invoke(RestFn.java:408)
at 
ring.middleware.reload$eval508$loading__4958__auto509.invoke(reload.clj:1)
at ring.middleware.reload$eval508.invoke(reload.clj:1)
at clojure.lang.Compiler.eval(Compiler.java:6703)
at clojure.lang.Compiler.eval(Compiler.java:6692)
at clojure.lang.Compiler.load(Compiler.java:7130)
at clojure.lang.RT.loadResourceScript(RT.java:370)
at clojure.lang.RT.loadResourceScript(RT.java:361)
at clojure.lang.RT.load(RT.java:440)
at clojure.lang.RT.load(RT.java:411)
at clojure.core$load$fn__5066.invoke(core.clj:5641)
at clojure.core$load.doInvoke(core.clj:5640)
at clojure.lang.RestFn.invoke(RestFn.java:408)
at clojure.core$load_one.invoke(core.clj:5446)
at clojure.core$load_lib$fn__5015.invoke(core.clj:5486)
at clojure.core$load_lib.doInvoke(core.clj:5485)
at clojure.lang.RestFn.applyTo(RestFn.java:142)
at clojure.core$apply.invoke(core.clj:626)
at clojure.core$load_libs.doInvoke(core.clj:5524)
at clojure.lang.RestFn.applyTo(RestFn.java:137)
at clojure.core$apply.invoke(core.clj:628)
at clojure.core$use.doInvoke(core.clj:5618)
at clojure.lang.RestFn.invoke(RestFn.java:512)
at 
ring.server.standalone$eval15$loading__4958__auto16.invoke(standalone.clj:1)
at ring.server.standalone$eval15.invoke(standalone.clj:1)
at clojure.lang.Compiler.eval(Compiler.java:6703)
at clojure.lang.Compiler.eval(Compiler.java:6692)
at clojure.lang.Compiler.load(Compiler.java:7130)
at clojure.lang.RT.loadResourceScript(RT.java:370)
at clojure.lang.RT.loadResourceScript(RT.java:361)
at clojure.lang.RT.load(RT.java:440)
at clojure.lang.RT.load(RT.java:411)
at clojure.core$load$fn__5066.invoke(core.clj:5641)
at clojure.core$load.doInvoke(core.clj:5640)
at clojure.lang.RestFn.invoke(RestFn.java:408)
at clojure.core$load_one.invoke(core.clj:5446)
at clojure.core$load_lib$fn__5015.invoke(core.clj:5486)
at clojure.core$load_lib.doInvoke(core.clj:5485)
at clojure.lang.RestFn.applyTo(RestFn.java:142)
at clojure.core$apply.invoke(core.clj:626)
at clojure.core$load_libs.doInvoke(core.clj:5524)
at clojure.lang.RestFn.applyTo(RestFn.java:137)
at clojure.core$apply.invoke(core.clj:626)
at clojure.core$require.doInvoke(core.clj:5607)
at clojure.lang.RestFn.invoke(RestFn.java:408)
at 
ring.server.leiningen$eval9$loading__4

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 :

> On Mar 22, 2014, at 3:27 PM, Jakub Holy  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: [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 :

> 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  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 :
>
>> 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
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 :

> 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  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 
> plugins<https://github.com/jakubholynet/dotfiles/blob/master/.lein/profiles.clj>that
>  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
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 
pluginsthat
 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: 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 :

> 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  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://theholyja

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"  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  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.


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: 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 
Clojure(5/2012)
 – a discussion of options for Akka-like stuff in Clojure. Akka is 
great but “interfacing to Akka from Clojure is not 
nice, 
and certainly not idiomatic”. Though there have been some new Akka-Clojure 
libs since that (akka-clojure, 
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 
Channels
 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.


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

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

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