Re: Clojure as first language

2020-09-28 Thread Nando Breiter
As someone who has known about Clojure for a long time but only recently
started programming in it, Clojure seems particularly easier to learn by
building something with it, as opposed to reading about it. Perhaps this is
because the language, ecosystem, and indeed the general approach to
programming in Clojure is made of small building blocks.

My analogy - Clojure seems to be more like a set of legos, whereas OO
languages seem to be more like a train set.

The flexibility of legos might seem complex if you are looking for a top
down *how-to* narrative, but fundamentally, you don't need much instruction
to start sticking them together. The simplicity of working with legos
remains. Any kid can do it.

The photo on the train set box more immediately shows you how the whole
thing goes together, so the train set might seem more simple at first. Yes,
you need to read the instructions and follow them precisely, but that's
sort of ok. The complexity comes later, when the tracks supplied in the
train set, and maybe the train itself, *get in your way*.

So I'd suggest reading a book to understand the fundamentals if you haven't
already, Clojure for the Brave and True or Carin Meier's book Living
Clojure are both good, and then as soon as possible start sticking
functions together like those lego blocks to build something. From one
perspective, that's more complex because you don't have the train set laid
out for you, but from another, it's more simple, because composing
functions together is always simply composing functions together.

I've found Practicalli https://practicalli.github.io/ to be a very helpful
springboard to get through the initial steps needed to get something to
work, and have been really happy to be able to work with Datomic Cloud
using the recently released dev-local version, with allows for local
storage.




On Mon, Sep 28, 2020 at 10:32 PM Baye  wrote:

> Great, Thanks!
>
> On Monday, September 28, 2020 at 11:23:49 PM UTC+3 ch...@techascent.com
> wrote:
>
>> Oh, well then I don't see what you are waiting for :-).
>>
>> Here are some interesting and more stats-focused libraries that may be
>> interesting to you -
>>
>> * kixi stats  - Clojury
>> statistics - written by Henry Gardner, the author of the aforementioned 
>> Clojure
>> For Data Science
>> 
>> * fastmath  -
>> Carefully chosen and curated fast JVM mathematical primitives
>> * clojisr  - R <-> Clojure bridge
>> * Anglican  -  a
>> probabilistic programming language
>> * Bayadera  - MKL, GPU
>> enhanced probabilistic programming system.
>>
>> Enjoy :-)
>>
>> On Mon, Sep 28, 2020 at 11:57 AM Baye  wrote:
>>
>>> Hi Chris, Thanks! I will check out the mentioned resources.
>>> Just to be clear, the only language I know well is Stata. I am still a
>>> very new to python, so I don't have any baggage to take with me as I have
>>> not invested enough time.
>>> Given I am philosophically convinced of the long term benefits of
>>> Clojure from talks, my only apprehension was whether I will be able to do
>>> most things in Clojure as in Python. But my interest, in programming is not
>>> limited to data science/ML...I  am potentially interested in building apps
>>> (web/desktop, etc) for potential future projects in education, health etc..
>>> On Monday, September 28, 2020 at 8:39:06 PM UTC+3 ch...@techascent.com
>>> wrote:
>>>
 There are hybrid options available in the form of
 https://github.com/clj-python/libpython-clj -- I am one of the primary
 authors of this tool.

 One pathway perhaps is to use clojure to do your scraping and
 orchestration (and frontend display) and just use python from command line
 scripts to do some ml.

 For Clojure and data science there is SciCloj:
 https://scicloj.github.io/

 My opinion is that learning Clojure independent of data science  is a
 worthy and substantial task - functional programming, the JVM, Java,
 Clojurescript, Reagent are all pretty big subjects.  libpython-clj has a
 new-to-clojure
 
 page that lists some resources for helping with this.

 Happy to help more and really happy to see new people.  I think Gary's
 response is spot on and just wanted to elaborate that we have tools that
 are specifically designed for helping people transition from Python to
 Clojure without needing to walk away from their Python knowledge base.

 Chris

 On Mon, Sep 28, 2020 at 11:08 AM Baye  wrote:

> Got it. Thanks again for your time!
>
> On Monday, September 28, 2020 at 8:05:32 PM UTC+3 Gary Trakhman wrote:
>
>> Not only 

Re: [ANN] Learn Reitit : New 🎥 Course (LearnReitit.com)

2020-08-25 Thread Nando Breiter
Hi Jacek

I went to the site but didn't see a way to sign up for this course. Is it
ready, or will you release it only sometime in the future?

Kind regards,

Nando


CarbonZero Sagl
+41 (0)76 303 4477 cell
skype: ariamedia


On Tue, Aug 25, 2020 at 3:21 PM Jacek Schae  wrote:

> Hey!
>
> Jacek here - Author of Learn Reagent  and Learn
> Re-frame . Host of ClojureScript Podcast
> .
>
> I wanted to let you know that I have been working on a new course and it’s
> all about building  *REST API with Clojure* . It is Cheffy Backend (a.k.a
> the backend for re-frame course). We are going to build it with *Reitit,
> Ring, Integrant, and next.jdbc* . We’ll use  *PostgreSQL* for
> persistence,  *Auth0* for Authorization and Authentication and  *Heroku* for
> DB hosting and deployment. Everything will be documented with Swagger and
> it also includes tests!
>
> The code base has been reviewed by four community members to make sure you
> are learning idiomatic Clojure! Here are the folks that helped me shape
> this course:
>
>- *Tommi Reiman* - Programmer, clojurist and has-been it-architect.
>Creator of Reitit. Co-founder at @metosin.
>- *James Reeves* - Creator of Ring, Compojure, Hiccup, Integrant … the
>list goes on and on. In general a well rounded gent from the UK.
>- *Sean Corfield* - Veteran software architect, focusing on web / JVM
>/ Clojure. Maintainer of clojure.java.jdbc and creator of next.jdbc.
>- *Thomas Heller* - Creator of shadow-cljs and other not so well
>documented libraries. Master of rants on ClojureVerse.
>
> Here is the website: https://www.learnreitit.com/
>
> Best regards,
> Jacek
>
> PS. There is a special discount for PRO members, if you bought Learn
> Reagent PRO or Learn Re-Frame PRO, you will get an email next week - make
> sure you won’t miss it!
>
> --
> You received this message because you are subscribed to the Google
> Groups "Clojure" group.
> To post to this group, send email to clojure@googlegroups.com
> Note that posts from new members are moderated - please be patient with
> your first post.
> To unsubscribe from this group, send email to
> clojure+unsubscr...@googlegroups.com
> For more options, visit this group at
> http://groups.google.com/group/clojure?hl=en
> ---
> You received this message because you are subscribed to the Google Groups
> "Clojure" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to clojure+unsubscr...@googlegroups.com.
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/clojure/ff7a56d7-a60d-4d65-8c9d-934066467defn%40googlegroups.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.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/clojure/CAGHrs%3D8GUinEMtO4apqwxq%2BvP491vFZ2%2Bur-WN_8cuCC0KhjVw%40mail.gmail.com.


Re: Closure lang for newbies in 2019

2019-03-09 Thread Nando Breiter
As you said you wanted to build web apps in Clojure, you could check out
Tony Kay's tutorials on developing them with Fulco here:
https://youtu.be/nlT45ikSEOE . Fulco isn't a beginner's approach, but Tony
is an excellent teacher, the tutorials are free and recent.

Also, Eric Normand's course on re-frame on https://purelyfunctional.tv/ is
excellent, very easy to follow for a beginner.
re-frame's documentation is also excellent:
https://github.com/Day8/re-frame/blob/master/docs/README.md

Both Fulcro and re-frame would allow you to develop "single page" web apps
primarily with ClojureScript.

An essential resource for building web apps in Clojure is Luminus
http://www.luminusweb.net/, as it provides a set of needed libraries so you
can simply focus on an initial app, rather than getting lost in a plethora
of options. I'd suggest you start here so you get a good sense of how a web
app is constructed in Clojure.






On Sat, Mar 9, 2019 at 10:16 PM Rick Mangi  wrote:

> Clojure is only a few years older than Elixr.
>
> I'd recommend https://www.braveclojure.com/ as a great online
> book/tutorial as a starting point.
>
> Enjoy!
>
> RIck
>
>
> On Sat, Mar 9, 2019 at 4:02 PM Matching Socks 
> wrote:
>
>> Clojure is pretty simple.  It works well.  And nothing in it has ever
>> been deprecated.  In short, do not worry about finding a very new
>> resource.  What kind of project would you like to start out with?
>>
>> --
>> You received this message because you are subscribed to the Google
>> Groups "Clojure" group.
>> To post to this group, send email to clojure@googlegroups.com
>> Note that posts from new members are moderated - please be patient with
>> your first post.
>> To unsubscribe from this group, send email to
>> clojure+unsubscr...@googlegroups.com
>> For more options, visit this group at
>> http://groups.google.com/group/clojure?hl=en
>> ---
>> You received this message because you are subscribed to the Google Groups
>> "Clojure" group.
>> To unsubscribe from 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.
>>
>
>
> --
>
> [image: chartbeat-gmail-...@2x.png]
>
> Rick Mangi
>
> Senior Director of Data Engineering
>
> Chartbeat
>
> 917.848.3619 | @rmangi | r...@chartbeat.com
>
> 826 Broadway, 6th Fl., New York, NY 10003
>
> --
> You received this message because you are subscribed to the Google
> Groups "Clojure" group.
> To post to this group, send email to clojure@googlegroups.com
> Note that posts from new members are moderated - please be patient with
> your first post.
> To unsubscribe from this group, send email to
> clojure+unsubscr...@googlegroups.com
> For more options, visit this group at
> http://groups.google.com/group/clojure?hl=en
> ---
> You received this message because you are subscribed to the Google Groups
> "Clojure" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to clojure+unsubscr...@googlegroups.com.
> For more options, visit https://groups.google.com/d/optout.
>

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


Re: New developments in beginner-friendly editing/repl environments?

2018-08-28 Thread Nando Breiter
https://chocolatey.org/ might help Windows users install Leiningen

https://chocolatey.org/packages/lein

The proto-repl readme: https://github.com/jasongilman/proto-repl says that
"Proto REPL can still start a REPL outside of a Leiningen project. It still
uses Leiningen to start the REPL but uses a default project shipped with
Proto REPL. This allows you to easily open up any Clojure file or even just
a new Atom window and kick off a new REPL for experimenting."

>From the readme dependencies section, it doesn't *seem* to be explicitly
dependent on lein, but rather on some means of creating a project and
managing dependencies. I'd suggest asking Jason on the #protorepl Slack
channel to clear this up for you, see http://clojurians.net/ if you have
not yet joined clojurians on Slack. If you think
https://clojure.org/guides/deps_and_cli would be easier for some of your
students, proto-repl might work just as well with this means of managing
project dependencies. Perhaps Jason simply hasn't updated the proto-repl
readme yet. That said, it seems CLI tools are not available on Windows yet:
https://clojure.org/guides/getting_started#_installation_on_windows



Aria Media Sagl
+41 (0)76 303 4477 cell
skype: ariamedia

On Tue, Aug 28, 2018 at 12:03 AM, 'Lee' via Clojure <
clojure@googlegroups.com> wrote:

>
> Ah -- after quitting and restarting Atom the error (which I was getting
> from Start REPL), the error is gone, and it appears to work nicely.
>
> Thanks again!
>
> So Atom + atom-beautify + proto-repl might do much of what I need, with
> relatively painless installation and setup.
>
> I guess this still requires leiningen, both because proto-repl uses it and
> because students will have to use it to make new projects, right?
> Installing leiningen has been problematic for some of my students
> (especially on Windows), and it'd be great to be able to avoid that (as is
> possible with Nightcode, for example, although that won't work for me
> because of parinfer). In any event, even I'm using proto-repl, the minimal
> setup with Atom would still require leiningen, right?
>
>  -Lee
>
> On Monday, August 27, 2018 at 5:15:37 PM UTC-4, Nando Breiter wrote:
>>
>> Not sure what errors you are seeing. I’ve found proto-repl to be
>> reliable. If I recall correctly, the project you are using proto-repl with
>> has to be the topmost. I will check this for you.
>>
>> Aria Media Sagl
>>
>> On 27 Aug 2018, at 22:51, 'Lee' via Clojure 
>> wrote:
>>
>>
>> Aha -- atom-beautify does seem to work!
>>
>> Excellent.
>>
>> This will lead me to consider Atom further.
>>
>> Would you recommend it for editing only, or also for REPLs etc? I just
>> tried proto-repl but this leads to errors and confusion. Still, if it works
>> well as just an editor then perhaps I could pair it with a CLI-based REPL
>> and the overall setup experience and usability will be okay overall.
>>
>> Thanks!
>>
>>  -Lee
>>
>> On Monday, August 27, 2018 at 4:00:34 PM UTC-4, Nando Breiter wrote:
>>>
>>> Lee,
>>>
>>> Perhaps https://atom.io/packages/atom-beautify will do what you want.
>>>
>>> With Parinfer disabled, I can select and shift-tab all code to the left
>>> margin, removing all indentation. Then when I run Atom Beautify on the
>>> file, all indentation is restored.
>>>
>>>
>>>
>>> Aria Media Sagl
>>> +41 (0)76 303 4477 cell
>>> skype: ariamedia
>>>
>>> On Mon, Aug 27, 2018 at 9:18 PM, 'Lee' via Clojure <
>>> clo...@googlegroups.com> wrote:
>>>
>>>>
>>>> Ah -- thank you!
>>>>
>>>> Now I can re-indent in Cursive, although it doesn't do the right thing
>>>> after defn, etc. What do Cursive users do to get standard indentation?
>>>>
>>>> Playing a bit more I see some other with basic editing, even in
>>>> "Structural Off" mode. Like if you type "(defn foo" and hit return, then
>>>> foo changes into some strange autocompleted symbol. Shift-return avoids
>>>> this, but the idea is to let people use their pre-existing typing skills.
>>>> It also won't let you delete to the left of the indentation point (it jumps
>>>> you up to the previous line), etc. I'm not sure how problematic these
>>>> issues would be.
>>>>
>>>>
>>>>
>>>> On Monday, August 27, 2018 at 3:01:37 PM UTC-4, ri...@chartbeat.com
>>>> wrote:
>>>>>
>>>>> It’s 

Re: New developments in beginner-friendly editing/repl environments?

2018-08-27 Thread Nando Breiter
Not sure what errors you are seeing. I’ve found proto-repl to be reliable.
If I recall correctly, the project you are using proto-repl with has to be
the topmost. I will check this for you.

Aria Media Sagl

On 27 Aug 2018, at 22:51, 'Lee' via Clojure 
wrote:


Aha -- atom-beautify does seem to work!

Excellent.

This will lead me to consider Atom further.

Would you recommend it for editing only, or also for REPLs etc? I just
tried proto-repl but this leads to errors and confusion. Still, if it works
well as just an editor then perhaps I could pair it with a CLI-based REPL
and the overall setup experience and usability will be okay overall.

Thanks!

 -Lee

On Monday, August 27, 2018 at 4:00:34 PM UTC-4, Nando Breiter wrote:
>
> Lee,
>
> Perhaps https://atom.io/packages/atom-beautify will do what you want.
>
> With Parinfer disabled, I can select and shift-tab all code to the left
> margin, removing all indentation. Then when I run Atom Beautify on the
> file, all indentation is restored.
>
>
>
> Aria Media Sagl
> +41 (0)76 303 4477 cell
> skype: ariamedia
>
> On Mon, Aug 27, 2018 at 9:18 PM, 'Lee' via Clojure <
> clo...@googlegroups.com> wrote:
>
>>
>> Ah -- thank you!
>>
>> Now I can re-indent in Cursive, although it doesn't do the right thing
>> after defn, etc. What do Cursive users do to get standard indentation?
>>
>> Playing a bit more I see some other with basic editing, even in
>> "Structural Off" mode. Like if you type "(defn foo" and hit return, then
>> foo changes into some strange autocompleted symbol. Shift-return avoids
>> this, but the idea is to let people use their pre-existing typing skills.
>> It also won't let you delete to the left of the indentation point (it jumps
>> you up to the previous line), etc. I'm not sure how problematic these
>> issues would be.
>>
>>
>>
>> On Monday, August 27, 2018 at 3:01:37 PM UTC-4, ri...@chartbeat.com
>> wrote:
>>>
>>> It’s under one of the code or refactor menus, you can auto-format or
>>> auto-indent.
>>>
>>> On Aug 27, 2018, at 11:30 AM, 'Lee' via Clojure 
>>> wrote:
>>>
>>>
>>> Probably true that my requirements are a bigger challenge for
>>> multi-language IDEs. I thought Eclipse/Counterclockwise did a reasonable
>>> job of it back when that was an active project, but it was a bit rough too,
>>> since there was a lot of incidental and distracting complexity in dealing
>>> with Eclipse in general.
>>>
>>> I did see the "off" setting for parinfer/paredit in Cursive, but it's
>>> not really "off" in the sense of behaving like a normal text editor, and I
>>> don't see re-indentation anywhere. FWIW since this is for teaching I'm not
>>> really interested in customization, just reasonable behavior out of the box.
>>>
>>>
>>> On Monday, August 27, 2018 at 11:21:47 AM UTC-4, Rick Mangi wrote:
>>>>
>>>> Yeah, I actually just create projects with lein. If you right click on
>>>> a project.clj you can just fire up a repl via lein and it works really
>>>> well. There's 3 choices for parenthesis, there's again a little button on
>>>> the bottom right to switch between parinfer/paredit and off. You can
>>>> customize all of the code reformatting and you can even alias things like
>>>> defnp and other macros to evaluate correctly.
>>>>
>>>> That said, a tool that supports dozens of languages isn't going to do
>>>> any of them particularly easily :)
>>>>
>>>>
>>>>
>>>> On Mon, Aug 27, 2018 at 11:18 AM 'Lee' via Clojure <
>>>> clo...@googlegroups.com> wrote:
>>>>
>>>>> Thanks Rick.
>>>>>
>>>>> Just tried Cursive again but it still seems to fail pretty badly on
>>>>> newbie setup and usability, which is what has hung me up in the past.
>>>>>
>>>>> tldr: A half hour or so after a fresh install and going through the
>>>>> Getting Started instructions I still don't have a REPL (confused about Run
>>>>> Configurations and what I'm seeing doesn't match the website pics), and
>>>>> although I can edit code in an existing project with drag and drop (can't
>>>>> yet create a project with a core.clj), even the "Structural Off" editing
>>>>> mode behaves oddly and doesn't appear to support structure-awar

Re: New developments in beginner-friendly editing/repl environments?

2018-08-27 Thread Nando Breiter
Lee,

Perhaps https://atom.io/packages/atom-beautify will do what you want.

With Parinfer disabled, I can select and shift-tab all code to the left
margin, removing all indentation. Then when I run Atom Beautify on the
file, all indentation is restored.



Aria Media Sagl
+41 (0)76 303 4477 cell
skype: ariamedia

On Mon, Aug 27, 2018 at 9:18 PM, 'Lee' via Clojure  wrote:

>
> Ah -- thank you!
>
> Now I can re-indent in Cursive, although it doesn't do the right thing
> after defn, etc. What do Cursive users do to get standard indentation?
>
> Playing a bit more I see some other with basic editing, even in
> "Structural Off" mode. Like if you type "(defn foo" and hit return, then
> foo changes into some strange autocompleted symbol. Shift-return avoids
> this, but the idea is to let people use their pre-existing typing skills.
> It also won't let you delete to the left of the indentation point (it jumps
> you up to the previous line), etc. I'm not sure how problematic these
> issues would be.
>
>
>
> On Monday, August 27, 2018 at 3:01:37 PM UTC-4, ri...@chartbeat.com wrote:
>>
>> It’s under one of the code or refactor menus, you can auto-format or
>> auto-indent.
>>
>> On Aug 27, 2018, at 11:30 AM, 'Lee' via Clojure 
>> wrote:
>>
>>
>> Probably true that my requirements are a bigger challenge for
>> multi-language IDEs. I thought Eclipse/Counterclockwise did a reasonable
>> job of it back when that was an active project, but it was a bit rough too,
>> since there was a lot of incidental and distracting complexity in dealing
>> with Eclipse in general.
>>
>> I did see the "off" setting for parinfer/paredit in Cursive, but it's not
>> really "off" in the sense of behaving like a normal text editor, and I
>> don't see re-indentation anywhere. FWIW since this is for teaching I'm not
>> really interested in customization, just reasonable behavior out of the box.
>>
>>
>> On Monday, August 27, 2018 at 11:21:47 AM UTC-4, Rick Mangi wrote:
>>>
>>> Yeah, I actually just create projects with lein. If you right click on a
>>> project.clj you can just fire up a repl via lein and it works really well.
>>> There's 3 choices for parenthesis, there's again a little button on the
>>> bottom right to switch between parinfer/paredit and off. You can customize
>>> all of the code reformatting and you can even alias things like defnp and
>>> other macros to evaluate correctly.
>>>
>>> That said, a tool that supports dozens of languages isn't going to do
>>> any of them particularly easily :)
>>>
>>>
>>>
>>> On Mon, Aug 27, 2018 at 11:18 AM 'Lee' via Clojure <
>>> clo...@googlegroups.com> wrote:
>>>
 Thanks Rick.

 Just tried Cursive again but it still seems to fail pretty badly on
 newbie setup and usability, which is what has hung me up in the past.

 tldr: A half hour or so after a fresh install and going through the
 Getting Started instructions I still don't have a REPL (confused about Run
 Configurations and what I'm seeing doesn't match the website pics), and
 although I can edit code in an existing project with drag and drop (can't
 yet create a project with a core.clj), even the "Structural Off" editing
 mode behaves oddly and doesn't appear to support structure-aware
 re-indentation (again, unless I'm missing it). And the indentation that it
 prefers after a newline appears to be non-standard (e.g. after "(defn 
 foo").

 I follow the Cursive mailing list and I know that a lot of people find
 it to be a wonderful tool, but I don't think it meets my requirements.

  -Lee


 On Monday, August 27, 2018 at 10:43:36 AM UTC-4, Rick Mangi wrote:
>
> I find intellij + cursive to be pretty darn easy to use, and the repl
> has an option to turn off parinfer. That said, I'm not a beginner. The 
> only
> drawback that I can think of other than price is that the clojure
> functionality is mostly put under a single menu and it's sometimes awkward
> to navigate to subcommands.
>
>
>
> On Mon, Aug 27, 2018 at 9:48 AM Alex Miller 
> wrote:
>
>> I think Atom and VSCode are probably the two additional ones you
>> might want to look into?
>>
>> On Monday, August 27, 2018 at 8:45:34 AM UTC-5, Lee wrote:
>>>
>>> This is my roughly-annual check-in to see if there are new good
>>> editing/execution options for me to use in my Clojure teaching and 
>>> coding.
>>>
>>> My requirements are:
>>>
>>> - Simple installation/setup, even for new programmers, on
>>> Mac/Win/Linux
>>>
>>> - Usable by new programmers without significant training or learning
>>> curve
>>>
>>> - Syntax-aware re-indentation
>>>
>>> - Visual indication of matching brackets (e.g. matching bracket
>>> highlighted, or rainbow brackets, etc.)
>>>
>>> - No required use of paredit or parinfer
>>>
>>> Bells and whistles that would help but aren't

Re: New developments in beginner-friendly editing/repl environments?

2018-08-27 Thread Nando Breiter
I haven't tried it, but

https://atom.io/packages/clojure-indent  ?



Aria Media Sagl
+41 (0)76 303 4477 cell
skype: ariamedia

On Mon, Aug 27, 2018 at 5:30 PM, 'Lee' via Clojure  wrote:

>
> Probably true that my requirements are a bigger challenge for
> multi-language IDEs. I thought Eclipse/Counterclockwise did a reasonable
> job of it back when that was an active project, but it was a bit rough too,
> since there was a lot of incidental and distracting complexity in dealing
> with Eclipse in general.
>
> I did see the "off" setting for parinfer/paredit in Cursive, but it's not
> really "off" in the sense of behaving like a normal text editor, and I
> don't see re-indentation anywhere. FWIW since this is for teaching I'm not
> really interested in customization, just reasonable behavior out of the box.
>
>
> On Monday, August 27, 2018 at 11:21:47 AM UTC-4, Rick Mangi wrote:
>>
>> Yeah, I actually just create projects with lein. If you right click on a
>> project.clj you can just fire up a repl via lein and it works really well.
>> There's 3 choices for parenthesis, there's again a little button on the
>> bottom right to switch between parinfer/paredit and off. You can customize
>> all of the code reformatting and you can even alias things like defnp and
>> other macros to evaluate correctly.
>>
>> That said, a tool that supports dozens of languages isn't going to do any
>> of them particularly easily :)
>>
>>
>>
>> On Mon, Aug 27, 2018 at 11:18 AM 'Lee' via Clojure <
>> clo...@googlegroups.com> wrote:
>>
>>> Thanks Rick.
>>>
>>> Just tried Cursive again but it still seems to fail pretty badly on
>>> newbie setup and usability, which is what has hung me up in the past.
>>>
>>> tldr: A half hour or so after a fresh install and going through the
>>> Getting Started instructions I still don't have a REPL (confused about Run
>>> Configurations and what I'm seeing doesn't match the website pics), and
>>> although I can edit code in an existing project with drag and drop (can't
>>> yet create a project with a core.clj), even the "Structural Off" editing
>>> mode behaves oddly and doesn't appear to support structure-aware
>>> re-indentation (again, unless I'm missing it). And the indentation that it
>>> prefers after a newline appears to be non-standard (e.g. after "(defn foo").
>>>
>>> I follow the Cursive mailing list and I know that a lot of people find
>>> it to be a wonderful tool, but I don't think it meets my requirements.
>>>
>>>  -Lee
>>>
>>>
>>> On Monday, August 27, 2018 at 10:43:36 AM UTC-4, Rick Mangi wrote:

 I find intellij + cursive to be pretty darn easy to use, and the repl
 has an option to turn off parinfer. That said, I'm not a beginner. The only
 drawback that I can think of other than price is that the clojure
 functionality is mostly put under a single menu and it's sometimes awkward
 to navigate to subcommands.



 On Mon, Aug 27, 2018 at 9:48 AM Alex Miller 
 wrote:

> I think Atom and VSCode are probably the two additional ones you might
> want to look into?
>
> On Monday, August 27, 2018 at 8:45:34 AM UTC-5, Lee wrote:
>>
>> This is my roughly-annual check-in to see if there are new good
>> editing/execution options for me to use in my Clojure teaching and 
>> coding.
>>
>> My requirements are:
>>
>> - Simple installation/setup, even for new programmers, on
>> Mac/Win/Linux
>>
>> - Usable by new programmers without significant training or learning
>> curve
>>
>> - Syntax-aware re-indentation
>>
>> - Visual indication of matching brackets (e.g. matching bracket
>> highlighted, or rainbow brackets, etc.)
>>
>> - No required use of paredit or parinfer
>>
>> Bells and whistles that would help but aren't as critical as the
>> requirements listed above:
>>
>> - Access to argument lists, documentation, and symbol completion
>> while typing
>>
>> - Integrated REPL, although a command-line REPL paired with an editor
>> that met the requirements above would work
>>
>> I would be interested in solutions that work for Clojure and
>> Clojurescript, or just Clojure, or just Clojurescript.
>>
>> Recent developments of which I'm aware but fall short of my
>> requirements:
>>
>> - Nightcode and Lightmod, which would be fabulous if not for the
>> required use of parinfer
>>
>> - Jupyter-based approaches, which also seem great except I see none
>> with syntax-aware re-indentation for Clojure
>>
>> FYI what I'm currently using is a combination of Gorilla REPL and
>> leiningen at the command line. This is quite nice although
>> installation/setup is not as easy or foolproof as I would like (I've had
>> students who tried and failed to get it working on their Windows laptops
>> for an entire semester, messing with Java versions etc.), Gorilla REPL is
>> not

Re: Atom/Clojure N00b - dependency issue

2018-07-28 Thread Nando Breiter
I've installed proto-repl as a package within Atom, and it works. I've
never listed it as a dependency within a project.



Aria Media Sagl
+41 (0)76 303 4477 cell
skype: ariamedia

On Sat, Jul 28, 2018 at 1:38 PM, Bruce Hunter  wrote:

> I have installed Atom and Clojure in order to learn the language, however
> I am having a problem getting proto-repl to work. Here is the error message
> I am getting:
>
> Could not find artifact repo.clojars.org:proto-repl:jar:�0.3.1� in
> central (https://repo1.maven.org/maven2/)
> Could not find artifact repo.clojars.org:proto-repl:jar:�0.3.1� in
> clojars (https://repo.clojars.org/)
>
> According to some help I have found online, I need to add proto-repl to
> the project dependencies. Understand that I am only just starting out in
> the language, the advice wasn't very specific, so I am not sure I have got
> this right. Here is my project.clj file:
>
> (defproject welcometoclojurebridge "0.1.0-SNAPSHOT"
>   :description "Welcome to ClojureBridge InstallFest app"
>   :license {:name "Eclipse Public License"
> :url "http://www.eclipse.org/legal/epl-v10.html"}
>   :dependencies [[org.clojure/clojure "1.8.0"]
>  [quil "2.2.6"]
>  [proto-repl “0.3.1”]])
>
> Does that look right? Atom is telling me it isn't right. Any help getting
> up and running would be much appreciated! Sorry for the braindead n00b
> question!
>
> Bruce.
>
> --
> You received this message because you are subscribed to the Google
> Groups "Clojure" group.
> To post to this group, send email to clojure@googlegroups.com
> Note that posts from new members are moderated - please be patient with
> your first post.
> To unsubscribe from this group, send email to
> clojure+unsubscr...@googlegroups.com
> For more options, visit this group at
> http://groups.google.com/group/clojure?hl=en
> ---
> You received this message because you are subscribed to the Google Groups
> "Clojure" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to clojure+unsubscr...@googlegroups.com.
> For more options, visit https://groups.google.com/d/optout.
>

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


Re: Best Book for Clojure

2018-03-14 Thread Nando Breiter
I found Getting Clojure by Russ Olsen to be an excellent overview of the
language with sufficient detail to get someone programming in Clojure.

https://pragprog.com/book/roclojure/getting-clojure



Aria Media Sagl
+41 (0)76 303 4477 cell
skype: ariamedia

On Wed, Mar 14, 2018 at 4:13 AM, bijay paudel  wrote:

> Thank you for information
>
> On Tue, Mar 13, 2018 at 9:54 PM, Philos Kim  wrote:
>
>> This book is somewhat out-of-date but still the best book I have read on
>> Clojure.
>> And I am so unhappy to see the second edition not come out.
>>
>> Clojure Programming: Practical Lisp for the Java World
>>
>> https://www.amazon.com/Clojure-Programming-Practical-Lisp-
>> World/dp/1449394701/ref=sr_1_2?ie=UTF8&qid=1520995738&sr=8-
>> 2&keywords=clojure+programming
>>
>> --
>> You received this message because you are subscribed to the Google
>> Groups "Clojure" group.
>> To post to this group, send email to clojure@googlegroups.com
>> Note that posts from new members are moderated - please be patient with
>> your first post.
>> To unsubscribe from this group, send email to
>> clojure+unsubscr...@googlegroups.com
>> For more options, visit this group at
>> http://groups.google.com/group/clojure?hl=en
>> ---
>> You received this message because you are subscribed to the Google Groups
>> "Clojure" group.
>> To unsubscribe from this group and stop receiving emails from it, send an
>> email to clojure+unsubscr...@googlegroups.com.
>> For more options, visit https://groups.google.com/d/optout.
>>
>
> --
> You received this message because you are subscribed to the Google
> Groups "Clojure" group.
> To post to this group, send email to clojure@googlegroups.com
> Note that posts from new members are moderated - please be patient with
> your first post.
> To unsubscribe from this group, send email to
> clojure+unsubscr...@googlegroups.com
> For more options, visit this group at
> http://groups.google.com/group/clojure?hl=en
> ---
> You received this message because you are subscribed to the Google Groups
> "Clojure" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to clojure+unsubscr...@googlegroups.com.
> For more options, visit https://groups.google.com/d/optout.
>

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

2018-01-25 Thread Nando Breiter
I like those sections as well! and I also like how Russ has extracted and
presented the essential simplicity of Clojure in this book. It makes it
very approachable. And the one-liners, like: "There comes a time in the
life of virtually every program when decisions need to be made."

:-)



Aria Media Sagl
+41 (0)76 303 4477 cell
skype: ariamedia

On Thu, Jan 25, 2018 at 1:07 AM, Sean Corfield  wrote:

> I’m already enjoying my copy! I like the structure of the sections,
> especially the “keeping out of trouble” and “in the wild”.
>
>
>
> Sean Corfield -- (970) FOR-SEAN -- (904) 302-SEAN
> An Architect's View -- http://corfield.org/
>
> "If you're not annoying somebody, you're not really alive."
> -- Margaret Atwood
>
>
> --
> *From:* clojure@googlegroups.com  on behalf of
> r...@russolsen.com 
> *Sent:* Wednesday, January 24, 2018 12:19:55 PM
> *To:* Clojure
> *Subject:* Re: Russ olsen's Clojure Book
>
> And as others have pointed out, the book is now available in beta form:
>
> https://pragprog.com/book/roclojure/getting-clojure
>
> The paper version is due out in April.
>
> Russ
>
> On Friday, January 12, 2018 at 4:30:10 PM UTC-5, ru...@russolsen.com
> wrote:
>>
>> So it's been 6 years, 6 months and 19 days but the book is on it's way.
>> It's called Getting Clojure, published by the Pragmatic Press:
>>
>> https://twitter.com/russolsen/status/929096359919214592
>>
>> Thanks for asking!
>>
>> Russ
>>
>> On Wednesday, June 29, 2011 at 11:09:56 PM UTC-4, Sayth Renshaw wrote:
>>>
>>>
>>> Just wanted to put a shout out to Russ Olsen to see what would be
>>> needed to get a Russ Olsen book on clojure to happen. I am reading
>>> design principles in Ruby and its a great read, I feel I am learning
>>> much moe than just Ruby which is why I am reading it.
>>>
>>> I woould absolutely love to read how Russ would apply these design
>>> principles to Clojure a more functional language. His books are all 5
>>> star reads(amazon ratings) and would greatly enjoy being able to read
>>> a Russ Olsen clojure book.
>>>
>>> Is there any way we could help this to happen? Is anyone else
>>> interested in such a book?
>>>
>>> Sayth
>>
>> --
> You received this message because you are subscribed to the Google
> Groups "Clojure" group.
> To post to this group, send email to clojure@googlegroups.com
> Note that posts from new members are moderated - please be patient with
> your first post.
> To unsubscribe from this group, send email to
> clojure+unsubscr...@googlegroups.com
> For more options, visit this group at
> http://groups.google.com/group/clojure?hl=en
> ---
> You received this message because you are subscribed to the Google Groups
> "Clojure" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to clojure+unsubscr...@googlegroups.com.
> For more options, visit https://groups.google.com/d/optout.
>
> --
> You received this message because you are subscribed to the Google
> Groups "Clojure" group.
> To post to this group, send email to clojure@googlegroups.com
> Note that posts from new members are moderated - please be patient with
> your first post.
> To unsubscribe from this group, send email to
> clojure+unsubscr...@googlegroups.com
> For more options, visit this group at
> http://groups.google.com/group/clojure?hl=en
> ---
> You received this message because you are subscribed to the Google Groups
> "Clojure" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to clojure+unsubscr...@googlegroups.com.
> For more options, visit https://groups.google.com/d/optout.
>

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

2018-01-17 Thread Nando Breiter
Is it / how is it possible to develop locally against the cloud version (or
close enough to the cloud version) of datomic?

My Datomic Pro Starter Edition license expired some 8 months ago. I don't
remember if local development is allowed for subsequent versions released.

thanks,

Nando



Aria Media Sagl
+41 (0)76 303 4477 cell
skype: ariamedia

On Wed, Jan 17, 2018 at 4:59 PM, Alan Thompson  wrote:

> Cool.
>
> On Wed, Jan 17, 2018 at 6:25 AM, Jeroen van Dijk <
> jeroentjevand...@gmail.com> wrote:
>
>> Congrats!
>>
>> On Wed, Jan 17, 2018 at 3:06 PM, Stuart Halloway <
>> stuart.hallo...@gmail.com> wrote:
>>
>>> Datomic Cloud is now available! http://blog.datomic
>>> .com/2018/01/datomic-cloud.html
>>>
>>> --
>>> You received this message because you are subscribed to the Google
>>> Groups "Clojure" group.
>>> To post to this group, send email to clojure@googlegroups.com
>>> Note that posts from new members are moderated - please be patient with
>>> your first post.
>>> To unsubscribe from this group, send email to
>>> clojure+unsubscr...@googlegroups.com
>>> For more options, visit this group at
>>> http://groups.google.com/group/clojure?hl=en
>>> ---
>>> You received this message because you are subscribed to the Google
>>> Groups "Clojure" group.
>>> To unsubscribe from this group and stop receiving emails from it, send
>>> an email to clojure+unsubscr...@googlegroups.com.
>>> For more options, visit https://groups.google.com/d/optout.
>>>
>>
>> --
>> You received this message because you are subscribed to the Google
>> Groups "Clojure" group.
>> To post to this group, send email to clojure@googlegroups.com
>> Note that posts from new members are moderated - please be patient with
>> your first post.
>> To unsubscribe from this group, send email to
>> clojure+unsubscr...@googlegroups.com
>> For more options, visit this group at
>> http://groups.google.com/group/clojure?hl=en
>> ---
>> You received this message because you are subscribed to the Google Groups
>> "Clojure" group.
>> To unsubscribe from this group and stop receiving emails from it, send an
>> email to clojure+unsubscr...@googlegroups.com.
>> For more options, visit https://groups.google.com/d/optout.
>>
>
> --
> You received this message because you are subscribed to the Google
> Groups "Clojure" group.
> To post to this group, send email to clojure@googlegroups.com
> Note that posts from new members are moderated - please be patient with
> your first post.
> To unsubscribe from this group, send email to
> clojure+unsubscr...@googlegroups.com
> For more options, visit this group at
> http://groups.google.com/group/clojure?hl=en
> ---
> You received this message because you are subscribed to the Google Groups
> "Clojure" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to clojure+unsubscr...@googlegroups.com.
> For more options, visit https://groups.google.com/d/optout.
>

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


Re: Clojure for beginners

2017-12-06 Thread Nando Breiter
https://purelyfunctional.tv/
Living Clojure
https://lambdaisland.com/



Aria Media Sagl
+41 (0)76 303 4477 cell
skype: ariamedia

On Thu, Dec 7, 2017 at 12:40 AM, Gregg Reynolds  wrote:

>
>
> On Dec 6, 2017 5:24 PM, "Clojure beginner"  wrote:
>
> Hi all
> I heard about Clojure a week ago and have a new assignment at work to
> learn, develope and deploy to production. I haven't developed in 2 years.
> Programming background is: mainframe and informatica. I have bought 5
> books: and Clojure programming, Clojure for brave and true, Clojure in
> action, programming Clojure, the joy of clojure. I have also been on the
> main Clojure website. It's been a week and I still don't understand the
> meat and potatoes. Any recommendations where I can get a walk through of it
> with real examples.
>
>
> You have 5 books and you cannot find a real example?
>
> (Did I just take the troll-bait?)
>
> --
> You received this message because you are subscribed to the Google
> Groups "Clojure" group.
> To post to this group, send email to clojure@googlegroups.com
> Note that posts from new members are moderated - please be patient with
> your first post.
> To unsubscribe from this group, send email to
> clojure+unsubscr...@googlegroups.com
> For more options, visit this group at
> http://groups.google.com/group/clojure?hl=en
> ---
> You received this message because you are subscribed to the Google Groups
> "Clojure" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to clojure+unsubscr...@googlegroups.com.
> For more options, visit https://groups.google.com/d/optout.
>
>
> --
> You received this message because you are subscribed to the Google
> Groups "Clojure" group.
> To post to this group, send email to clojure@googlegroups.com
> Note that posts from new members are moderated - please be patient with
> your first post.
> To unsubscribe from this group, send email to
> clojure+unsubscr...@googlegroups.com
> For more options, visit this group at
> http://groups.google.com/group/clojure?hl=en
> ---
> You received this message because you are subscribed to the Google Groups
> "Clojure" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to clojure+unsubscr...@googlegroups.com.
> For more options, visit https://groups.google.com/d/optout.
>

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

2017-05-29 Thread Nando Breiter
I'm seeing a discrepancy in version numbers.

On github -> https://github.com/plexus/chestnut, the latest commit says "Bump
to v0.15.1 and release
"
and that matches the lein coordinates given.

On the documentation -> https://plexus.github.io/chestnut/ on the changelog
page, it seems to indicate Chestnut 0.9.0 is the latest version. Perhaps
that documentation is out of date?



Aria Media Sagl
+41 (0)76 303 4477 cell
skype: ariamedia

On Mon, May 29, 2017 at 5:40 PM, Timothy Baldridge 
wrote:

> Might be good to provide a quick overview of what Chestnut is. It's been a
> year, so I either missed the last announcement, or have forgotten in that
> time. Also I see a link that would take me to the project page.
>
> On Mon, May 29, 2017 at 5:03 AM, Arne Brasseur 
> wrote:
>
>> After almost a year I'm pleased to announce the next major version of
>> Chestnut.
>>
>>
>> Component
>>
>> The biggest change in this version is the use of Stuart Sierra's
>> Component library, both on the frontend and on the backend, in combination
>> with reloaded.repl and System.
>>
>> This makes this release a bit less minimalist than previous versions, but
>> it's in line with Chestnut's goal to provide a solid default structure to
>> build upon. It also allowed us to simplify some of the code around
>> starting/stopping/reloading of the application, and should all in all
>> provide a better REPL experience. It also makes it easier for Chestnut to
>> support more features in the future in a way that is modular and
>> maintainable.
>>
>>
>> New features and changes
>>
>> Command line flags now start with a + (e.g. +http-kit) instead of --.
>> This is more in line with what other templates are doing, and it works
>> better with the way Leiningen deals with command line flags. The old flags
>> are still supported as well.
>>
>> Three new UI frameworks are supported: +re-frame, +rum, and +om-next.
>>
>> A code_of_conduct.md is no longer included by default, instead it needs
>> to be requested explicitly with +code-of-conduct. While we strongly
>> encourage people to adopt a CoC, this is something that should be a
>> deliberate choice, because it has implications on how a project is managed.
>>
>> (run) has been renamed to (go), to be more in line with reloaded.repl,
>> and browser-repl has been renamed to (cljs-repl) to follow the Figwheel
>> API. The old versions are still available as aliases, they will be removed
>> in Chestnut 1.0.
>>
>> All dependencies have been upgraded to their latest versions, including
>>
>>- clojurescript 1.9.562
>>- compojure 1.6.0
>>- doo 0.1.7
>>- environ 1.1.0
>>- figwheel 0.5.10
>>- http-kit 2.2.0
>>- lein-cljsbuild 1.1.5
>>- lein-environ 1.1.0
>>- om 1.0.0-alpha48
>>- org.clojure/tools.nrepl 0.2.13
>>- reagent 0.6.0
>>- ring 1.6.1
>>- ring-defaults 0.3.0
>>- transit-clj 0.8.300
>>
>> Popularity poll
>>
>> By default a lein new chestnut will "phone home", reporting the Chestnut
>> version and command line flags being used. It is possible to opt-out with
>> the +no-poll flag.
>>
>> No other information is stored, any logging for these requests is
>> disabled. In particular there is no logging of the name given to the
>> application, or of IP addresses or other identifiable information.
>>
>> The reason for collecting this information is to help us decide which
>> features to focus on, and to get a sense of how many people are opting in
>> to the snapshot releases for early feedback.
>>
>>
>> Contributors
>>
>> Many thanks to the 41 people who have contributed to Chestnut since its
>> inception in 2014. For this release I'd like to thank Jeff Wong in
>> particular for pushing the Component integration forward.
>>
>> As the Clojure landscape keeps evolving, so must Chestnut evolve with it.
>> Contributions big and small are highly appreciated, whether it's code,
>> documentation, or testing. If you are interested in working on a feature
>> then get in touch, I would be more than happy to provide mentoring and help
>> you along the way. This applies to beginners and experienced developers
>> equally.
>>
>> --
>> You received this message because you are subscribed to the Google
>> Groups "Clojure" group.
>> To post to this group, send email to clojure@googlegroups.com
>> Note that posts from new members are moderated - please be patient with
>> your first post.
>> To unsubscribe from this group, send email to
>> clojure+unsubscr...@googlegroups.com
>> For more options, visit this group at
>> http://groups.google.com/group/clojure?hl=en
>> ---
>> You received this message because you are subscribed to the Google Groups
>> "Clojure" group.
>> To unsubscribe from this group and stop receiving emails from it, send an
>> email to clojure+unsubscr...@googlegroups.com.
>> For more options, visit https://groups.google.com/d/optout.
>>
>
>
>
> --
> “One of the main causes of th

Re: Writing (firstly) simple application for Android with Clojure

2017-03-13 Thread Nando Breiter
No need to buy iDevices (or a bunch of Android devices from various
manufacturers). The idea is to use emulators to run your app and test it.
For instance here is a service from Sauce Labs:
https://testobject.com/features#manual.



Aria Media Sagl
+41 (0)76 303 4477 cell
skype: ariamedia

On Mon, Mar 13, 2017 at 6:42 AM, Cecil Westerhof 
wrote:

> 2017-03-12 22:32 GMT+01:00 Nando Breiter :
>
>> Seems like the right list to me - at least good enough ... here's a few
>> videos from Jordan Leigh, the second one lays out the case for using React
>> Native, the first is a walkthrough of building a React Native app from
>> scratch.
>>
>> https://www.youtube.com/watch?v=r5OPRhelEIU
>> https://www.youtube.com/watch?v=CAc_PAbJkVU
>>
>> Jordan doesn't see the value in using ClojureScript for a React Native
>> app, but that's simply because to him, they are generally very simple apps.
>> But I think it is worthwhile to view these 2 videos to get a sense of the
>> React Native landscape.
>>
>
> ​The first is a bit long, so that I saved for when I have a bit of time.
> The second one is certainly interesting: I could easily develop for iOS at
> the same time as I develop for Android. The only ‘problem’ is that I should
> buy an iPhone​
>  ​and an iPad. ;-)
>
> --
> Cecil Westerhof
>
> --
> You received this message because you are subscribed to the Google
> Groups "Clojure" group.
> To post to this group, send email to clojure@googlegroups.com
> Note that posts from new members are moderated - please be patient with
> your first post.
> To unsubscribe from this group, send email to
> clojure+unsubscr...@googlegroups.com
> For more options, visit this group at
> http://groups.google.com/group/clojure?hl=en
> ---
> You received this message because you are subscribed to the Google Groups
> "Clojure" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to clojure+unsubscr...@googlegroups.com.
> For more options, visit https://groups.google.com/d/optout.
>

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

2017-03-12 Thread Nando Breiter
Cecil,

Seems like the right list to me - at least good enough ... here's a few
videos from Jordan Leigh, the second one lays out the case for using React
Native, the first is a walkthrough of building a React Native app from
scratch.

https://www.youtube.com/watch?v=r5OPRhelEIU
https://www.youtube.com/watch?v=CAc_PAbJkVU

Jordan doesn't see the value in using ClojureScript for a React Native app,
but that's simply because to him, they are generally very simple apps. But
I think it is worthwhile to view these 2 videos to get a sense of the React
Native landscape.



Aria Media Sagl
+41 (0)76 303 4477 cell
skype: ariamedia

On Sun, Mar 12, 2017 at 10:22 PM, Cecil Westerhof 
wrote:

> Oops, wrong mailing-list. :'-(
> Thanks for replying anyway. :-D
> I am going to evaluate you suggestions.
>
> 2017-03-12 20:38 GMT+01:00 Nando Breiter :
>
>> I'd suggest that React Native is an easier pathway. Take a look here as a
>> starting point: http://cljsrn.org/
>>
>> Note also that re-frame can be used to build native apps via React
>> Native.
>>
>> https://github.com/mjmeintjes/cljs-react-native-tictactoe
>> https://github.com/Day8/re-frame/
>>
>> For me, a big plus with re-frame is the excellent documentation.
>>
>>
>>
>> Aria Media Sagl
>> +41 (0)76 303 4477 <+41%2076%20303%2044%2077> cell
>> skype: ariamedia
>>
>> On Sun, Mar 12, 2017 at 7:52 PM, Cecil Westerhof 
>> wrote:
>>
>>> I have little experience with Clojure and none with Android programming.
>>> Is it feasible to use Clojure to write applications for Android? Or is it
>>> better to start programming in Java and when I have some experience with
>>> Android applications to switch to Clojure?
>>>
>>> --
>>> Cecil Westerhof
>>>
>>> --
>>> You received this message because you are subscribed to the Google
>>> Groups "Clojure" group.
>>> To post to this group, send email to clojure@googlegroups.com
>>> Note that posts from new members are moderated - please be patient with
>>> your first post.
>>> To unsubscribe from this group, send email to
>>> clojure+unsubscr...@googlegroups.com
>>> For more options, visit this group at
>>> http://groups.google.com/group/clojure?hl=en
>>> ---
>>> You received this message because you are subscribed to the Google
>>> Groups "Clojure" group.
>>> To unsubscribe from this group and stop receiving emails from it, send
>>> an email to clojure+unsubscr...@googlegroups.com.
>>> For more options, visit https://groups.google.com/d/optout.
>>>
>>
>> --
>> You received this message because you are subscribed to the Google
>> Groups "Clojure" group.
>> To post to this group, send email to clojure@googlegroups.com
>> Note that posts from new members are moderated - please be patient with
>> your first post.
>> To unsubscribe from this group, send email to
>> clojure+unsubscr...@googlegroups.com
>> For more options, visit this group at
>> http://groups.google.com/group/clojure?hl=en
>> ---
>> You received this message because you are subscribed to the Google Groups
>> "Clojure" group.
>> To unsubscribe from 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.
>>
>
>
>
> --
> Cecil Westerhof
>
> --
> You received this message because you are subscribed to the Google
> Groups "Clojure" group.
> To post to this group, send email to clojure@googlegroups.com
> Note that posts from new members are moderated - please be patient with
> your first post.
> To unsubscribe from this group, send email to
> clojure+unsubscr...@googlegroups.com
> For more options, visit this group at
> http://groups.google.com/group/clojure?hl=en
> ---
> You received this message because you are subscribed to the Google Groups
> "Clojure" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to clojure+unsubscr...@googlegroups.com.
> For more options, visit https://groups.google.com/d/optout.
>

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

2017-03-12 Thread Nando Breiter
I'd suggest that React Native is an easier pathway. Take a look here as a
starting point: http://cljsrn.org/

Note also that re-frame can be used to build native apps via React Native.

https://github.com/mjmeintjes/cljs-react-native-tictactoe
https://github.com/Day8/re-frame/

For me, a big plus with re-frame is the excellent documentation.



Aria Media Sagl
+41 (0)76 303 4477 cell
skype: ariamedia

On Sun, Mar 12, 2017 at 7:52 PM, Cecil Westerhof 
wrote:

> I have little experience with Clojure and none with Android programming.
> Is it feasible to use Clojure to write applications for Android? Or is it
> better to start programming in Java and when I have some experience with
> Android applications to switch to Clojure?
>
> --
> Cecil Westerhof
>
> --
> You received this message because you are subscribed to the Google
> Groups "Clojure" group.
> To post to this group, send email to clojure@googlegroups.com
> Note that posts from new members are moderated - please be patient with
> your first post.
> To unsubscribe from this group, send email to
> clojure+unsubscr...@googlegroups.com
> For more options, visit this group at
> http://groups.google.com/group/clojure?hl=en
> ---
> You received this message because you are subscribed to the Google Groups
> "Clojure" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to clojure+unsubscr...@googlegroups.com.
> For more options, visit https://groups.google.com/d/optout.
>

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

2016-11-04 Thread Nando Breiter
You could also check this out:
https://purelyfunctional.tv/courses/complete-web-app-from-scratch/



Aria Media Sagl
+41 (0)76 303 4477 cell
skype: ariamedia

On Fri, Nov 4, 2016 at 12:24 PM, Joris Peeters 
wrote:

> I'm really enjoying https://github.com/magomimmo/modern-cljs. It mostly
> focuses on the front-end (not sure if you're focusing mostly on back-end or
> front-end here), but goes into nice detail about ring/compojure as well,
> and how to share code between a clojure back-end and a clojurescript
> front-end. It's amazing!
>
>
> On Wednesday, November 2, 2016 at 7:01:29 PM UTC, Rickesh Bedia wrote:
>>
>> Hi,
>>
>> I am fairly new to Clojure, only been learning about it for a around 2
>> months. I have mainly been spending my time learning through "Clojure for
>> the Brave and True", Clojure Koans and 4Clojure. However, I have recently
>> been reading about Clojure's use in creating Web Apps. I have been
>> following "Web Development with Clojure" by Dmitri Sotnikov but I feel that
>> it is still a bit too advanced for me at this time and a lot of the
>> concepts and ideas are going over my head.
>>
>> Is there any other resources that anyone could recommend that would be
>> closer to my current knowledge levels or would it be best to carry on with
>> my current book?
>>
>> Thanks in advance.
>>
> --
> You received this message because you are subscribed to the Google
> Groups "Clojure" group.
> To post to this group, send email to clojure@googlegroups.com
> Note that posts from new members are moderated - please be patient with
> your first post.
> To unsubscribe from this group, send email to
> clojure+unsubscr...@googlegroups.com
> For more options, visit this group at
> http://groups.google.com/group/clojure?hl=en
> ---
> You received this message because you are subscribed to the Google Groups
> "Clojure" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to clojure+unsubscr...@googlegroups.com.
> For more options, visit https://groups.google.com/d/optout.
>

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


Re: Slides for my talk at EuroClojure 2016

2016-10-20 Thread Nando Breiter
Works on Chrome for me ...



Aria Media Sagl
+41 (0)76 303 4477 cell
skype: ariamedia

On Fri, Oct 21, 2016 at 12:41 AM, Colin Yates  wrote:

> I'm using Safari on El Capitan - just tried again with the same
> effect. However, in Chrome (on the same machine) it works fine.
>
> I wouldn't worry, it is probably just the magnetic force I seem to be
> emitting at the moment which makes computers do randomly stupid
> things.
>
>
>
> On 20 October 2016 at 23:37, Dragan Djuric  wrote:
> > Hmm, what browser do you use? The link that I'm been shown in the
> browser is
> > http://dragan.rocks/talks/EuroClojure2016/clojure-is-
> not-afraid-of-the-gpu.html
> > and it works...
> >
> > On Thursday, October 20, 2016 at 11:43:05 PM UTC+2, Colin Yates wrote:
> >>
> >> Unfortunately clicking on the 'here' link takes you to a 404:
> >> http://talks/EuroClojure2016/clojure-is-not-afraid-of-the-gpu.html
> >>
> >> On 20 October 2016 at 22:38, Dragan Djuric  wrote:
> >> > Hi all, I posted slides for my upcoming EuroClojure talk, so you can
> >> > enjoy
> >> > the talk without having to take notes:
> >> >
> >> > http://dragan.rocks/articles/16/Clojure-is-not-afraid-of-
> the-GPU-slides-EuroClojure
> >> >
> >> > --
> >> > You received this message because you are subscribed to the Google
> >> > Groups "Clojure" group.
> >> > To post to this group, send email to clo...@googlegroups.com
> >> > Note that posts from new members are moderated - please be patient
> with
> >> > your
> >> > first post.
> >> > To unsubscribe from this group, send email to
> >> > clojure+u...@googlegroups.com
> >> > For more options, visit this group at
> >> > http://groups.google.com/group/clojure?hl=en
> >> > ---
> >> > You received this message because you are subscribed to the Google
> >> > Groups
> >> > "Clojure" group.
> >> > To unsubscribe from this group and stop receiving emails from it, send
> >> > an
> >> > email to clojure+u...@googlegroups.com.
> >> > For more options, visit https://groups.google.com/d/optout.
> >
> > --
> > You received this message because you are subscribed to the Google
> > Groups "Clojure" group.
> > To post to this group, send email to clojure@googlegroups.com
> > Note that posts from new members are moderated - please be patient with
> your
> > first post.
> > To unsubscribe from this group, send email to
> > clojure+unsubscr...@googlegroups.com
> > For more options, visit this group at
> > http://groups.google.com/group/clojure?hl=en
> > ---
> > You received this message because you are subscribed to the Google Groups
> > "Clojure" group.
> > To unsubscribe from this group and stop receiving emails from it, send an
> > email to clojure+unsubscr...@googlegroups.com.
> > For more options, visit https://groups.google.com/d/optout.
>
> --
> You received this message because you are subscribed to the Google
> Groups "Clojure" group.
> To post to this group, send email to clojure@googlegroups.com
> Note that posts from new members are moderated - please be patient with
> your first post.
> To unsubscribe from this group, send email to
> clojure+unsubscr...@googlegroups.com
> For more options, visit this group at
> http://groups.google.com/group/clojure?hl=en
> ---
> You received this message because you are subscribed to the Google Groups
> "Clojure" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to clojure+unsubscr...@googlegroups.com.
> For more options, visit https://groups.google.com/d/optout.
>

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


Re: Should I switch to Clojure after 3 years of learning another full stack ?

2016-10-07 Thread Nando Breiter
> I want to learn the language and "frameworks" (or how to create the
> architecture) much quicker than previous attempt.
>

I recently came across an excellent course:
https://www.coursera.org/learn/learning-how-to-learn that I think can be
very helpful for someone trying to learn something efficiently, especially
on their own. Essentially, the course explains how the brain learns things,
and unless you have picked up a knack for this along the way, it's not all
all obvious.

In a nutshell, our brains have only 4 "slots" of working memory. As
programmers, whether learning something new or developing a program in a
language we know, we often have a need to significantly overload our
working memory - 4 slots isn't enough. In the course, that process is
called "chunking" - grouping bits of knowledge together to free up working
memory so that you can continue to learn, or think about something complex.
In the end, learning Clojure efficiently will boil down to how efficiently
you can chunk and store in long term memory how to program in Clojure.

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


Re: [ANN] Clojure 1.9.0-alpha1

2016-05-24 Thread Nando Breiter
Alex,

The spec usage guide is excellent! Thank you!

Perhaps a small correction? Below the example:

(s/valid? ::person {::first-name "Elon" ::last-name "Musk" ::email "
e...@example.com"})

;; Fails required key check

You might want to include what that spec call returns under it, which I
assume would be *true*. I got a little confused trying to figure out why
you were saying it was failing ... until I figured out the comment applied
to the next example.






Aria Media Sagl
+41 (0)76 303 4477 cell
skype: ariamedia

On Tue, May 24, 2016 at 9:13 PM, Alex Miller  wrote:

> No. I would expect on the order of months.
>
> On Tuesday, May 24, 2016 at 1:52:12 PM UTC-5, Gary Trakhman wrote:
>>
>> The inevitable question: is there a release schedule for 1.9 yet? I would
>> love to start writing greenfield spec code ASAP, knowing that would help me
>> communicate tradeoffs.
>>
> --
> You received this message because you are subscribed to the Google
> Groups "Clojure" group.
> To post to this group, send email to clojure@googlegroups.com
> Note that posts from new members are moderated - please be patient with
> your first post.
> To unsubscribe from this group, send email to
> clojure+unsubscr...@googlegroups.com
> For more options, visit this group at
> http://groups.google.com/group/clojure?hl=en
> ---
> You received this message because you are subscribed to the Google Groups
> "Clojure" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to clojure+unsubscr...@googlegroups.com.
> For more options, visit https://groups.google.com/d/optout.
>

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


Re: which GC optimizations work better with Clojure?

2016-04-30 Thread Nando Breiter
I've found Censum by jClarity to be an excellent tool to tune JVM GC
parameters to your specific application running on a particular server. You
add a few GC parameters to enable logging that the tool needs, run your app
under load for enough time to get sufficient data, and then feed the log
directly into Censum, which analyzes it and then suggests improvements that
can be made to your GC parameters. There is also a list where you can ask
questions about the analysis and its suggestions and get in depth replies
from people who have extensive experience tuning JVMs.

https://www.jclarity.com/censum/



Aria Media Sagl
+41 (0)76 303 4477 cell
skype: ariamedia

On Sat, Apr 30, 2016 at 11:50 AM, Niels van Klaveren <
niels.vanklave...@gmail.com> wrote:

> GC parameters used by a lot of projects are handed down like traditions
> for years, even spreading to others. They're almost never re-evaluated,
> which means they might actually lose out on new performance improvements,
> or worse, might even cause performance regressions.
>
> Most parameters in the Overtone lib for instance have been the default for
> quite some time (ParNew GC, TLAB). Where restricting New Gen might be a
> good idea to reduce new gen GC latency, it can cause unwanted promotions,
> longer tenured GC's and in the end heap fragmentation resulting in a full
> defrag gc that can take 10s of seconds.
>
> Defaults are there for a reason, to take care of most situations. Any
> settings other than the three default Garbage Collectors (Default for
> shortest time to finish, CMS for shortest pause , G1 for short pauses but
> long running times) and at most a pause hint for their heuristics means
> you're entering case-specific  territory and should be treating it so.
>
> This means realistic benchmarking, profiling and comparisons between
> different settings. I'd treat any JVM product or library with more than 2
> GC parameters with care, because if they need so much tweaking as their
> default, you can be sure to need both a good understanding of their inner
> workings and JVM memory managent as well to keep them performing in your
> specific case.
>
> --
> You received this message because you are subscribed to the Google
> Groups "Clojure" group.
> To post to this group, send email to clojure@googlegroups.com
> Note that posts from new members are moderated - please be patient with
> your first post.
> To unsubscribe from this group, send email to
> clojure+unsubscr...@googlegroups.com
> For more options, visit this group at
> http://groups.google.com/group/clojure?hl=en
> ---
> You received this message because you are subscribed to the Google Groups
> "Clojure" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to clojure+unsubscr...@googlegroups.com.
> For more options, visit https://groups.google.com/d/optout.
>

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


Re: Running Clojure apps using less memory.

2016-03-28 Thread Nando Breiter
If you want to get more deeply into JVM memory tuning, *perhaps* jClarity's
Censum tool can help: https://www.jclarity.com/censum/. It will run an
analysis of your specific applications memory usage patterns and make
suggestions how to configure the JVM for it.



Aria Media Sagl
+41 (0)76 303 4477 cell
skype: ariamedia

On Mon, Mar 28, 2016 at 4:45 PM, Gary Trakhman 
wrote:

> I always work in a single process, REPL and server, there's no need to
> separate them out generally.
>
> You might have better luck with the G1 collector, in addition to JVM
> tuning.  The G1 has the useful property of giving memory back to the OS
> when a GC is performed.
> Use the command-line flag: -XX:+UseG1GC
>
> If this is confusing, in short, PHP is 'interpreted', thus it's leaner and
> slower than a 'compiled' language like clojure.  There's a lot of stuff
> that needs to be loaded for clojure to work (the compiler lives in memory),
> and you'll take a hit in startup-time and memory footprint.  Some of this
> is java-specific, probably CLJS on V8 can do better in terms of memory
> footprint.
>
> On Mon, Mar 28, 2016 at 10:36 AM Michael Willis 
> wrote:
>
>> You can tune memory usage by passing parameters to the JVM:
>>
>> http://docs.oracle.com/cd/E19900-01/819-4742/abeik/index.html
>>
>> The sample leiningen project file has an example of how to pass
>> parameters to the JVM:
>>
>>
>> https://github.com/technomancy/leiningen/blob/master/sample.project.clj#L264
>>
>> Hope that helps,
>> Michael Willis
>>
>>
>>
>> On Monday, March 28, 2016 at 7:11:49 AM UTC-5, Jason Basanese wrote:
>>>
>>> Hello all! I'm new to this forum. My name Is Jason Basanese and I am a
>>> relatively new clojurist.
>>>
>>> I recently began hosting my first small full stack Clojure web app.
>>> While doing this I ran into memory problems with my admittedly small load
>>> server. The maximum it can take in temp memory is 741MB. Too much of that
>>> memory is consumed giving an error when I try to run two REPLs on the
>>> server. One for testing and editing code and the other for leaving the app
>>> running. My other dynamic content websites which use php directly with
>>> Apache use minimal memory. Why is it that running a Clojure app like such
>>> "lein run -m clojureweb.core/serve" takes up so much memory? Here is the
>>> code of the function I am running with that command.
>>>
>>> (defn serve [& args]
>>>   (org.apache.log4j.BasicConfigurator/configure)
>>>   (run-server
>>>(logger/wrap-with-logger
>>> (reload/wrap-reload app))
>>>{:port 8080}))
>>>
>>> Are the logger or the wrap-reload making it take up so much memory? Is
>>> there a better way to run Clojure apps that is less robust? Or is using a
>>> relatively large amount of memory just a bullet to bite when using Clojure?
>>> Yes I know an obvious solution would just be to upgrade the server, but
>>> where's the fun in that?
>>>
>>> Requests for more detail, comments, answers and opinions all welcome!
>>>
>>> --
>> You received this message because you are subscribed to the Google
>> Groups "Clojure" group.
>> To post to this group, send email to clojure@googlegroups.com
>> Note that posts from new members are moderated - please be patient with
>> your first post.
>> To unsubscribe from this group, send email to
>> clojure+unsubscr...@googlegroups.com
>> For more options, visit this group at
>> http://groups.google.com/group/clojure?hl=en
>> ---
>> You received this message because you are subscribed to the Google Groups
>> "Clojure" group.
>> To unsubscribe from this group and stop receiving emails from it, send an
>> email to clojure+unsubscr...@googlegroups.com.
>> For more options, visit https://groups.google.com/d/optout.
>>
> --
> You received this message because you are subscribed to the Google
> Groups "Clojure" group.
> To post to this group, send email to clojure@googlegroups.com
> Note that posts from new members are moderated - please be patient with
> your first post.
> To unsubscribe from this group, send email to
> clojure+unsubscr...@googlegroups.com
> For more options, visit this group at
> http://groups.google.com/group/clojure?hl=en
> ---
> You received this message because you are subscribed to the Google Groups
> "Clojure" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to clojure+unsubscr...@googlegroups.com.
> For more options, visit https://groups.google.com/d/optout.
>

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

Re: Compare between clojure and Java

2016-01-05 Thread Nando Breiter
A proper comparison extends beyond a lines of code comparison. Clojure is a
functional language, while Java is object oriented. If you haven't seen it,
an excellent talk comparing the 2 approaches can be found here:
https://www.youtube.com/watch?v=Tb823aqgX_0



Aria Media Sagl
Via Rompada 40
6987 Caslano
Switzerland

+41 (0)91 600 9601
+41 (0)76 303 4477 cell
skype: ariamedia

On Tue, Jan 5, 2016 at 3:51 PM, Thomas  wrote:

> While these examples are good (there is also a good one in Suart Halloways
> book for instance) I think it would be better to look at the difference for
> a whole project. There is for instance a talk from Nokia Bristol a few
> years ago (Now MixRadio)  where they went from 44K LOC to 4K LOC with more
> functionality. There are a few more examples around on the web I think.
>
> Thomas
>
>
> On Tuesday, 5 January 2016 13:27:10 UTC, Thomas Saillard wrote:
>>
>> Dear,
>>
>> In order to good understand the powerful of Clojure,
>> I have heard that compare to a code in java you need only few lines in
>> clojure.
>> Is that true ?
>> If it is the case, have you a sample of the 2 codes ?
>> I appreciate your help.
>> My Kind regards,
>> Thomas
>>
> --
> You received this message because you are subscribed to the Google
> Groups "Clojure" group.
> To post to this group, send email to clojure@googlegroups.com
> Note that posts from new members are moderated - please be patient with
> your first post.
> To unsubscribe from this group, send email to
> clojure+unsubscr...@googlegroups.com
> For more options, visit this group at
> http://groups.google.com/group/clojure?hl=en
> ---
> You received this message because you are subscribed to the Google Groups
> "Clojure" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to clojure+unsubscr...@googlegroups.com.
> For more options, visit https://groups.google.com/d/optout.
>

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


Re: Reducing the pain of a clojars outage

2016-01-03 Thread Nando Breiter
I've spent some time looking into both Cloudflare and Fastly over the
weekend. Fastly seems to have a sophisticated purging mechanism which the
ticket mentions would be a requirement. See
https://docs.fastly.com/guides/purging/

Initial setup is dead easy (for both), basically requiring a signup and a
change to the DNS record, adding a CNAME. Fastly charges for bandwidth and
caches everything. Cloudflare charges monthly flat rates but only caches
the most popular assets, unless the subscriber pays $200 a month. In a
nutshell, you have full control over the content cached in the CDN with
Fastly and full control of the price paid, but not the service rendered,
with Cloudflare.



Aria Media Sagl
Via Rompada 40
6987 Caslano
Switzerland

+41 (0)91 600 9601
+41 (0)76 303 4477 cell
skype: ariamedia

On Sun, Jan 3, 2016 at 8:00 PM, Toby Crawley  wrote:

> Cloudflare (or a similar CDN) would be useful - we have an open issue
> to implement that, but haven't had a chance to get to it:
> https://github.com/clojars/clojars-web/issues/434
>
> - Toby
>
> On Sat, Jan 2, 2016 at 4:30 AM, Nando Breiter 
> wrote:
> > Would CloudFlare help on the short term? I haven't used the service yet,
> I
> > just ran across it researching DDoS solutions, but judging from the
> overview
> > of how it works, it might be able to cache all clojars.org assets in a
> > distributed manner and handle the DNS issue as well.
> > https://www.cloudflare.com/ If it would work, the advantage is a very
> quick
> > initial setup. All you need to do is let them handle the DNS.
> >
> >
> >
> >
> >
> > Aria Media Sagl
> > Via Rompada 40
> > 6987 Caslano
> > Switzerland
> >
> > +41 (0)91 600 9601
> > +41 (0)76 303 4477 cell
> > skype: ariamedia
> >
> > On Sat, Jan 2, 2016 at 4:31 AM, Toby Crawley  wrote:
> >>
> >> Given the recent DDoS-triggered outages at linode (including the one
> >> today that has been the worst yet, currently 10 hours at the time I'm
> >> writing this), I've been giving some more thought to how we can make
> >> future outages less painful for the community.
> >>
> >> I have an open issue[1] (but no code yet) to move the repository off
> >> of the server and on to a block store (s3, etc), with the goal there
> >> to make repo reads (which is what we use clojars for 99.9% of the
> >> time) independent of the status of the server. But I'm not sure that
> >> really solves the problem we are seeing today. Currently, we have two
> >> points of failure for repo reads:
> >>
> >> (1) the server itself (hosted on linode)
> >> (2) DNS for the clojars.org domain (also hosted on linode)
> >>
> >> moving the repo off of the server to a block store still has two
> >> points of failure:
> >>
> >> (1) the block store (aws, rackspace, etc)
> >> (2) DNS for the clojars.org domain, since we would CNAME the block
> >>  store (hosted on linode)
> >>
> >> Though the block store provider would probably be better distributed,
> >> and have more resources to withstand a DDoS (but do any block store
> >> providers have 100% uptime?).
> >>
> >> The block store solution is complex - it introduces more moving parts
> >> into clojars, and requires reworking the way we generate usage stats,
> >> and how the api gets its data. It also requires reworking the way we
> >> administer the repo (deletion requests, cleaning up failed/partial
> >> deploys). And it may not solve the availability problem at all, since
> >> we still have two points of failure.
> >>
> >> I think a better solution may be to have multiple mirrors of the repo,
> >> either run by concerned citizens or maintained by the clojars staff. I
> >> know some folks in the community already run internal caching proxies
> >> or rsynced mirrors (and are probably chuckling knowingly at those of
> >> us affected by the outage), but those proxies don't really help those
> >> in the community that don't have that internal infrastructure. And I
> >> don't want to recommend that everyone set up a private mirror - that
> >> seems like a lot of wasted effort.
> >>
> >> Ideally, it would be nice if we had a turn-key tool for creating a
> >> mirror of clojars. We currently provide a way to rsync the repo[2], so
> >> the seed for a mirror could be small, and could then slurp down the
> >> full repo (and could continue to do so on a schedule to remain up to
> >> date). We could then publish 

Re: Reducing the pain of a clojars outage

2016-01-02 Thread Nando Breiter
Would CloudFlare help on the short term? I haven't used the service yet, I
just ran across it researching DDoS solutions, but judging from
the overview of how it works, it *might* be able to cache all clojars.org
assets in a distributed manner and handle the DNS issue as well.
https://www.cloudflare.com/ If it would work, the advantage is a very quick
initial setup. All you need to do is let them handle the DNS.





Aria Media Sagl
Via Rompada 40
6987 Caslano
Switzerland

+41 (0)91 600 9601
+41 (0)76 303 4477 cell
skype: ariamedia

On Sat, Jan 2, 2016 at 4:31 AM, Toby Crawley  wrote:

> Given the recent DDoS-triggered outages at linode (including the one
> today that has been the worst yet, currently 10 hours at the time I'm
> writing this), I've been giving some more thought to how we can make
> future outages less painful for the community.
>
> I have an open issue[1] (but no code yet) to move the repository off
> of the server and on to a block store (s3, etc), with the goal there
> to make repo reads (which is what we use clojars for 99.9% of the
> time) independent of the status of the server. But I'm not sure that
> really solves the problem we are seeing today. Currently, we have two
> points of failure for repo reads:
>
> (1) the server itself (hosted on linode)
> (2) DNS for the clojars.org domain (also hosted on linode)
>
> moving the repo off of the server to a block store still has two
> points of failure:
>
> (1) the block store (aws, rackspace, etc)
> (2) DNS for the clojars.org domain, since we would CNAME the block
>  store (hosted on linode)
>
> Though the block store provider would probably be better distributed,
> and have more resources to withstand a DDoS (but do any block store
> providers have 100% uptime?).
>
> The block store solution is complex - it introduces more moving parts
> into clojars, and requires reworking the way we generate usage stats,
> and how the api gets its data. It also requires reworking the way we
> administer the repo (deletion requests, cleaning up failed/partial
> deploys). And it may not solve the availability problem at all, since
> we still have two points of failure.
>
> I think a better solution may be to have multiple mirrors of the repo,
> either run by concerned citizens or maintained by the clojars staff. I
> know some folks in the community already run internal caching proxies
> or rsynced mirrors (and are probably chuckling knowingly at those of
> us affected by the outage), but those proxies don't really help those
> in the community that don't have that internal infrastructure. And I
> don't want to recommend that everyone set up a private mirror - that
> seems like a lot of wasted effort.
>
> Ideally, it would be nice if we had a turn-key tool for creating a
> mirror of clojars. We currently provide a way to rsync the repo[2], so
> the seed for a mirror could be small, and could then slurp down the
> full repo (and could continue to do so on a schedule to remain up to
> date). We could then publish a list of mirrors that the community
> could turn to in times of need (or use all the time, if they are
> closer geographically or just generally more responsive). Any deploys
> would still need to hit the primary server, but deploys are are
> dwarfed by reads.
>
> There are a few issues with using mirrors:
>
> (1) security - with artifacts in more places, there are more
> opportunities to to introduce malicious versions. This could be
> prevented if we had better tools for verifying that the artifacts
> are signed by trusted keys, and we required that all artifacts be
> signed, but that's not the case currently. But if we had a regular
> process that crawled all of the mirrors and the canonical repo to
> verify that the checksums every artifact are identical, this could
> actually improve security, since we could detect if any checksum
> had been changed (a malicious party would have to change the
> checksum of a modified artifact, since maven/lein/boot all confirm
> checksums by default).
>
> (2) download stats - any downloads from a mirror wouldn't get
> reflected in the stats for the artifact unless we had some way to
> report those stats back to clojars.org. We currently generate the
> stats by parsing the nginx access logs, mirrors could do the same
> and report stats back to clojars.org if we care enough about
> this. We don't get stats from the existing private mirrors, and
> the stats aren't critical, so this may be a non-issue, and
> definitely isn't something that has to be solved right away, if
> ever.
>
> The repo is just served as static files, so I think a mirror could
> simply be:
>
> (1) a webserver (preferably (required to be?) HTTPS)
> (2) a cronjob that rsyncs every N minutes
>
> And the cronjob would just need the rsync command in [2], so, to get
> this started, we just need:
>
> (1) linode to be up
> (2) people willing to run mirrors
>
> (I would say "

Re: [ANN] Let's make clojure.org better!

2015-11-12 Thread Nando Breiter
Expanding on the content idea for new-comers *to Clojure*, like me, (but
not necessarily to programming in general), I've found the approachs taken
by Living Clojure and PurelyFunctional.tv to be really helpful. Both Carin
Meier and Eric Normand (for example) take a relatively shallow angle of
attack and yet maintain an engaging pace, focusing on key areas of the
language. They lay out a *path* to learn, and invite the new-comer to
follow along. Not everyone might need tutoring like this, but judging from
the recommendations I've seen, others seem to appreciate it.

The Getting Started page is currently a list of resources. That's certainly
needed. But it can take someone new to Clojure a considerable amount of
time to dive into all of it. And it's easy to get bogged down. While there
may be value in letting folks sort it out and slog through it all for
themselves, there's no learning path laid out on the website. Hence I think
a dedicated page or section named, for instance, "How to learn Clojure"
might be helpful.

What should go in this section? Content that would help someone having at
least some difficulty learning Clojure. Content that would help them sort
out how to approach learning the language. Content that would help them
prioritize which resources to use at which level.







Aria Media Sagl
Via Rompada 40
6987 Caslano
Switzerland

+41 (0)91 600 9601
+41 (0)76 303 4477 cell
skype: ariamedia

On Wed, Nov 11, 2015 at 9:24 PM, Harrison Maseko  wrote:

> Content idea: Would be nice to have a section for new-comers to
> programming, introducing them to programming through Clojure. All of the
> existing Clojure books that I know of are aimed at those with intermediate
> to advanced programming skills in Clojure or another language. The content
> and learning gradient in those books can be steep and could put off a
> beginner. Although Clojure is such an advanced language, I think it's
> possible to implant programming concepts in a complete beginner by using a
> subset of Clojure. But maybe the the clojure.org Website is not the right
> place for that?
> Thanks,
> H
>
>
> On Tuesday, November 10, 2015 at 5:57:45 PM UTC+2, Alex Miller wrote:
>>
>> Hi Hildeberto,
>>
>> I built spikes of the site in a number of technologies like Cryogen,
>> Stasis, Sphinx, Asciidoctor, and some of the other Ruby-based static
>> generators as well. In the end, I found that JBake was the best match for
>> our goals at this time. The site build architecture has been decided and
>> we're not interested in revisiting that at this time. At some point down
>> the road, based on experience and tool evolution, we may take another look,
>> but not soon.
>>
>> Cryogen is a great tool and I would recommend it to others. One problem I
>> had with it was its flexibility with respect to the url structure. I
>> actually think for the purposes of creating a blog etc that is a dimension
>> that is good to remove, but it was a downside for our use.
>>
>> We are working with a designer on the site look and feel and at some
>> point that will be visible. At the point where that is visible, I expect
>> there will be some evolution on front page, navigation structure, etc and
>> would be happy to get feedback on that.
>>
>> Right now, we are primarily looking for content ideas and would love
>> thoughts on that. Or if there is interest in enhancing existing pages, I
>> would also like to talk about those.
>>
>> Thanks,
>> Alex
>>
>>
>>
>> On Tuesday, November 10, 2015 at 9:41:40 AM UTC-6, Hildeberto Mendonça
>> wrote:
>>>
>>> That's a great initiative! Thanks! But I'm just sad to see JBake instead
>>> of Cryogen (https://github.com/cryogen-project/cryogen-core) which is
>>> written in Clojure :-( Can we send a pull request replacing JBake by
>>> Cryogen or is JBake a final decision?
>>>
>>> --
>>> Hildeberto Mendonça, Ph.D
>>> Blog: http://www.hildeberto.com
>>> Twitter: https://twitter.com/htmfilho
>>>
>> --
> You received this message because you are subscribed to the Google
> Groups "Clojure" group.
> To post to this group, send email to clojure@googlegroups.com
> Note that posts from new members are moderated - please be patient with
> your first post.
> To unsubscribe from this group, send email to
> clojure+unsubscr...@googlegroups.com
> For more options, visit this group at
> http://groups.google.com/group/clojure?hl=en
> ---
> You received this message because you are subscribed to the Google Groups
> "Clojure" group.
> To unsubscribe from 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 m

Re: [:ann :book] ClojureScript Unraveled

2015-07-19 Thread Nando Breiter
I'm a Clojure beginner and wanted to compliment the authors on a very clear
yet concise text. Thank you.



Aria Media Sagl
Via Rompada 40
6987 Caslano
Switzerland

+41 (0)91 600 9601
+41 (0)76 303 4477 cell
skype: ariamedia

On Fri, Jul 17, 2015 at 7:30 PM, Alejandro Gómez 
wrote:

> Hello everybody,
>
> I'm happy to announce that Andrey Antoukh (@niwinz) and I published the
> book about ClojureScript
> that we have been writing lately on Leanpub. It's not still 100%
> complete but the sections about
> the language and compiler are almost done. We'd greatly appreciate any
> feedback, errata or suggestions
> for the book.
>
> It is an open source book licensed under a Creative Commons BY-SA
> license and will forever remain
> free and open to community participation. Publishing it on Leanpub is a
> convenient way for readers
> to be notified whenever a new release comes out and not to go through
> the process of generating the
> book themselves. If you feel like it and can afford it you can make a
> donation and buy us a beer too!
>
> - Leanpub: https://leanpub.com/clojurescript-unraveled
> - GitHub repository: https://github.com/funcool/clojurescript-unraveled
> - HTML version: http://funcool.github.io/clojurescript-unraveled/
>
> Yours,
>
> Alejandro
>
> --
> You received this message because you are subscribed to the Google
> Groups "Clojure" group.
> To post to this group, send email to clojure@googlegroups.com
> Note that posts from new members are moderated - please be patient with
> your first post.
> To unsubscribe from this group, send email to
> clojure+unsubscr...@googlegroups.com
> For more options, visit this group at
> http://groups.google.com/group/clojure?hl=en
> ---
> You received this message because you are subscribed to the Google Groups
> "Clojure" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to clojure+unsubscr...@googlegroups.com.
> For more options, visit https://groups.google.com/d/optout.
>

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


Re: [ANN] Clojure Applied: From Practice to Practitioner

2015-04-13 Thread Nando Breiter
Alex,

Would you also like general feedback at the pragprog.com url? Or is that
better here?



Aria Media Sagl
Via Rompada 40
6987 Caslano
Switzerland

+41 (0)91 600 9601
+41 (0)76 303 4477 cell
skype: ariamedia

On Mon, Apr 13, 2015 at 3:16 PM, Alex Miller  wrote:

> Thanks Mohit!
>
> There was a bug around this that I had fixed at one point, perhaps I
> didn't get that change applied. BTW, for future "bugs" on the book, it's
> best to file them here so we can track them:
> https://pragprog.com/titles/vmclojeco/errata
>
> Alex
>
>
> On Sunday, April 12, 2015 at 1:28:03 AM UTC-5, Mohit Thatte wrote:
>>
>> Alex
>>
>> I read the preview chapters, great read so far. Looking forward to the
>> whole book.
>>
>> There seems to be a small error in the Value Based Dispatch section on
>> page 8, where the comments don't match the code. oz and lb seem to be
>> flipped!
>>
>> (defmulti convert
>>> "Convert quantity from unit1 to unit2, matching on [unit1 unit2]"
>>> (fn [unit1 unit2 quantity] [unit1 unit2]))
>>>
>>> ;; lb to oz
>>> (defmethod convert [:lb :oz] [_ _ oz] (* oz 16))
>>>
>>> ;; oz to lb
>>> (defmethod convert [:oz :lb] [_ _ lb] (/ lb 16))
>>>
>>
>>
>> Cheers,
>> Mohit
>>
>> On Saturday, April 11, 2015 at 6:35:05 AM UTC+5:30, Alex Miller wrote:
>>>
>>> Great to hear!
>>
>>  --
> You received this message because you are subscribed to the Google
> Groups "Clojure" group.
> To post to this group, send email to clojure@googlegroups.com
> Note that posts from new members are moderated - please be patient with
> your first post.
> To unsubscribe from this group, send email to
> clojure+unsubscr...@googlegroups.com
> For more options, visit this group at
> http://groups.google.com/group/clojure?hl=en
> ---
> You received this message because you are subscribed to the Google Groups
> "Clojure" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to clojure+unsubscr...@googlegroups.com.
> For more options, visit https://groups.google.com/d/optout.
>

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


Re: [ANN] Clojure Applied: From Practice to Practitioner

2015-04-08 Thread Nando Breiter
Thanks Alex (and Ben)! I rushed off to buy it, and look forward to cracking
it open this evening. It looks like exactly the type of material I've been
looking for.





Aria Media Sagl
Via Rompada 40
6987 Caslano
Switzerland

+41 (0)91 600 9601
+41 (0)76 303 4477 cell
skype: ariamedia

On Wed, Apr 8, 2015 at 3:27 PM, Alex Miller  wrote:

> Hey all,
>
> I'm very happy to announce that Clojure Applied is now available in beta:
>
> https://pragprog.com/book/vmclojeco/clojure-applied
>
> I've been working on this with Ben Vandgrift for a long time, hoping to
> fill the underserved niche of *intermediate* Clojure material. Our goal
> is to step in after you've read any of the fine introductory books and
> provide the next level of guidance needed to successfully apply Clojure to
> real problems.
>
> The chapters are:
>
> 1. Model Your Domain - an overview of modeling domain entities, modeling
> relationships, validating them, and creating domain operations.
> 2. Collect And Organize Your Data - choosing the right collection,
> updating collections, accessing collections, and building custom
> collections.
> 3. Processing Sequential Data - using sequence functions and transducers
> to transform your data.
> 4. State, Identity, and Change - modeling change and state with Clojure's
> state constructs.
> 5. Use Your Cores - waiting in the background, queues and workers,
> parallelism with reducers, and thinking in processes with core.async.
> 6. Creating Components - organizing your code with namespaces, designing
> component APIs, connecting components with core.async channels, and
> implementing components with state.
> 7. Compose Your Application - assembling components, configuration, and
> entry points.
> 8. Testing Clojure - example- and property-based testing with
> clojure.test, expectations, and test.check.
> 9. Playing With Others - details TBD
> 10. Getting Out The Door - publishing your code and deploying your
> application.
>
> Chapters 1-6 and 10 are available now in beta form. We expect to release a
> new chapter every 2-3 weeks until completion. The printed book should be
> available this fall.
>
> Alex
>
> --
> You received this message because you are subscribed to the Google
> Groups "Clojure" group.
> To post to this group, send email to clojure@googlegroups.com
> Note that posts from new members are moderated - please be patient with
> your first post.
> To unsubscribe from this group, send email to
> clojure+unsubscr...@googlegroups.com
> For more options, visit this group at
> http://groups.google.com/group/clojure?hl=en
> ---
> You received this message because you are subscribed to the Google Groups
> "Clojure" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to clojure+unsubscr...@googlegroups.com.
> For more options, visit https://groups.google.com/d/optout.
>

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

2014-09-15 Thread Nando Breiter
I don't have any experience configuring Clojure apps on the JVM, yet, but
it may be that increasing the RAM on the server does not increase the RAM
allocated to the JVM instance Clojure is running on.



Aria Media Sagl
Via Rompada 40
6987 Caslano
Switzerland

+41 (0)91 600 9601
+41 (0)76 303 4477 cell
skype: ariamedia

On Mon, Sep 15, 2014 at 4:04 PM, larry google groups <
lawrencecloj...@gmail.com> wrote:

> > 1. Which API calls pause? If only certain calls pause, then probably you
> have something
> > specific to suspect. Try adding a dummy REST call - see if that call
> pauses
> > while others do.
>
> I will add a dummy REST call, although this pause does not seem specific
> to a particular API call.
>
>
> > 2. Is any of your services running on a t1.micro or a burst-oriented EC2
> > instance on AWS? Try changing the instance type in that case.
>
> We started on a small instance but recently we moved up to a reasonably
> powered machine with 4 gigs of RAM.
>
>
> > Have you tried printing GC info?
>
> No, but I will. Thank you.
>
>
>
> On Monday, September 15, 2014 12:44:54 AM UTC-4, Shantanu Kumar wrote:
>>
>> Few thing to consider:
>> 1. Which API calls pause? If only certain calls pause, then probably you
>> have something specific to suspect. Try adding a dummy REST call - see if
>> that call pauses while others do.
>> 2. Is any of your services running on a t1.micro or a burst-oriented EC2
>> instance on AWS? Try changing the instance type in that case.
>> 3. Can you mock out the components that you suspect could be a problem?
>> Begin by mocking out everything you suspect, then replace the mock with
>> actual impl one component at a time until you isolate the problematic
>> component.
>> 4. Have you tried running a profiler?
>> 5. Have you tried printing GC info? Maybe this could be useful:
>> http://blog.ragozin.info/2011/09/hotspot-jvm-garbage-collection-options.
>> html
>>
>> Shantanu
>>
>> On Monday, 15 September 2014 09:45:14 UTC+5:30, larry google groups wrote:
>>>
>>>
>>> I have an embarrassing problem. I convinced my boss that I could use
>>> Clojure to build a RESTful API. I was successful in so far as that went,
>>> but now I face the issue that every once in a while, the program pauses,
>>> for a painfully long time -- sometimes 30 seconds, which causes some
>>> requests to the API to timeout. We are still in testing, so there is no
>>> real load on the app, just the frontenders, writing Javascript and making
>>> Ajax calls to the service.
>>>
>>> The service seems like a basic Clojure web app. I use Jetty as the
>>> webserver, and the libraries in use are:
>>>
>>> Ring
>>>
>>> Compojure
>>>
>>> Liberator
>>>
>>> Monger
>>>
>>> Timbre
>>>
>>> Lamina
>>>
>>> Dire
>>>
>>> When someone complains about the pauses, I will go test the service, and
>>> I can hit with 40 requests in 10 seconds and it has great performance. The
>>> pauses actually seem to come after periods of inactivity, which made me
>>> think that this had something to do with garbage collection, except that
>>> the pauses are so extreme -- like I said, sometimes as much as 30 seconds,
>>> causing requests to timeout. When the app does finally start to respond it
>>> again, it goes very fast, and responds to those pending request very fast.
>>>
>>> But I have to find a way to fix these pauses.
>>>
>>> Right now I packaged the app as an Uberjar and put it on the server,
>>> spun it up on port 24000 and proxied it through Apache. I put a script in
>>> /etc/init.d to start the app using  start-stop-daemon.
>>>
>>> Possible things that could be going wrong:
>>>
>>> Maybe Jetty needs more threads, or maybe less threads? How would I test
>>> that?
>>>
>>> Maybe the link to MongoDB sometimes dies? (Mongo is on another server at
>>> Amazon) How would I test that?
>>>
>>> Maybe it is garbage collection? How would I test that?
>>>
>>> Maybe I have some code that somehow blocks the whole app? Seems unlikely
>>> but I'm trying to keep an open mind.
>>>
>>> Maybe the thread pool managed by Lamina sometimes gets overwhelmed? How
>>> would I test that?
>>>
>>> Maybe when Timbre writes to the log file it causes things to pause? (But
>>> I believe Timbre does this in its own thread?) How do I test that?
>>>
>>> This is a small app: only about 1,100 lines of code.
>>>
>>> I don't have much experience debugging problems on the JVM, so I welcome
>>> any suggestions.
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>  --
> You received this message because you are subscribed to the Google
> Groups "Clojure" group.
> To post to this group, send email to clojure@googlegroups.com
> Note that posts from new members are moderated - please be patient with
> your first post.
> To unsubscribe from this group, send email to
> clojure+unsubscr...@googlegroups.com
> For more options, visit this group at
> http://groups.google.com/group/clojure?hl=en
> ---
> You received this message because you are subscribed to the Google Groups
> "Clojure" group.
> To unsubscribe from this 

Re: Is Clojure a language for growth?

2014-08-20 Thread Nando Breiter
Perhaps the question is more "Is your boss (or company) suitable for
Clojure?"

On Wed, Aug 20, 2014 at 2:56 PM, Joshua Ballanco  wrote:

> My advice on convincing your boss to use Clojure for a new project: don’t.
>
> Projects succeed or fail for any number of different reasons, but I can
> guarantee you that if you *start* a new project with Clojure, and it does
> happen to fail, then the choice of Clojure will bear the brunt of the blame
> whether it deserves it or not.

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

2014-03-20 Thread Nando Breiter
I'm not sure what you mean by "scheduling asymmetries". If you mean that
someone misunderstood where and when you are supposed to meet, that's one
thing. Instead of a web application, you could use a simple email to
confirm appointments in this way. At least your clients already use email
and would not need to be motivated to use a separate web application to
confirm appointments only with you.

If confirming appointments is your main goal, then you could build a simple
application to enter your appointments and send out confirmation emails
with a link to click, which would back to your application and would
register the appointment as confirmed while displaying a "Thanks!
Appointment confirmed" message. That makes it simple, both for your clients
and for you. If your clients have to log into an app to confirm
appointments only will you, you might wind up sending emails to to remind
them to do it more often than you'd like, and they might simply reply to
your email saying "appointment ok for tuesday".

If you mean that the application should assist users to find possible
meeting times, calculating how their schedules overlap with conflicting
appointment times and then finding gaps where a meeting could possibly
occur, well, having worked on a scheduling application for the last several
years, I'd say this might be more complex than it first seems, especially
if you are new to programming. We have an intuitive grasp of time periods
that may make it *seem* deceptively simple to program. I'm not saying it's
especially difficult, but it is challenging.

In the real world, people use different applications to schedule their
appointments, and to be effective, your application would need to grab that
data from various sources from all users. I don't think people would easily
enter appointments in multiple applications, even if there are unique
benefits to your app.

Nando




Aria Media Sagl
Via Rompada 40
6987 Caslano
Switzerland

+41 (0)91 600 9601
+41 (0)76 303 4477 cell
skype: ariamedia


On Thu, Mar 20, 2014 at 1:52 PM, Tim Visher  wrote:

> I would just use Google Calendar for that.
>
> On Thu, Mar 20, 2014 at 3:53 AM, kurofune  wrote:
> >
> > At my job, I have to meet clients multiple times a week and schedule
> > appointments with them at various places around town. Recently, I have
> seen
> > a boom in business and while this is very fortunate it has made
> scheduling
> > tedious. Lamenting this fact, it dawned on me that I might be able to
> make a
> > web-application that tells me if there are any scheduling asymmetries
> > between me and my clients. I am thinking of something with a front page
> like
> > this:
> >
> > | myself:
> > | other-person:
> > | appointment-time:
> > | location:
> >
> > Both parties would enter the appropriate information on separate devices
> or
> > desktops. The information would be pushed to a database, new users would
> be
> > automatically added. A scan will be made at intervals to find mismatched
> > appointments, the asymmetry logged and a notice sent out to one or both
> of
> > the users, suggesting they reconfirm the appointment. Well aligned
> > appointments will have green status; mis-aligned ones, red, both viewable
> > via a monitoring screen that updates automatically. Of course, there
> might
> > be other functionality that I will want to add in later: login/security,
> > aesthetics, customized behavior for appointments with multiple users and
> > clear distinctions between business and client. In the beginning,
> however, I
> > just want to breathe a little easier knowing that my appointments are
> > sorted, something that simple calendar apps cannot do.
> >
> > I am relatively new to both Clojure and programming, but have managed to
> get
> > myself to a point where I can make websites that include functionality
> and
> > rendering. I have done a few tutorials utilizing databases (Datomic,
> jdbc,
> > postgresql), read a handful of books, and completed a lot of tutorials. I
> > still feel, however, that I don't know how to tie everything I have
> learned
> > together to tackle larger tasks that require complexity management. I
> don't
> > really know where to start, and would be grateful if someone could give
> me
> > advice in terms of what technologies I should use and how I should
> organize
> > the project. Should I use Clojures built in state management features
>  and
> > jdbc/postgresql or view this as an opportunity to dip into Datomic and
> > core.async. I am excited about making something that utilizes all of
> > Clojure's technologies that other people can use and learn from, but is
> it
> > possible to go too far down the Clojure rabbit-hole? Also, if this type
> of
> > web-app already exists and you happen to have heard of it, please tell me
> > and I will be happy to use it instead of having to make it from scratch.
> >
> > Jesse
> >
> > --
> > You received this message because you are subscribed to the Google
> > Groups "Clojure" group.
> > To p

Clojure Cookbook is out

2014-03-20 Thread Nando Breiter
I got an email from O'Reilly this morning saying that the Clojure Cookbook
had been released, and bought it immediately. Thanks to everyone who
contributed! It's very helpful.

http://shop.oreilly.com/product/0636920029786.do

Nando


Aria Media Sagl
Via Rompada 40
6987 Caslano
Switzerland

+41 (0)91 600 9601
+41 (0)76 303 4477 cell
skype: ariamedia

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


Re: Help a Startup use Clojure!

2014-03-13 Thread Nando Breiter
Ah, that's a pity cfmljure isn't as easy to use as I thought it was. In the
tradeoff between skilled Clojure developers being a rare and perhaps
expensive commodity and the need to rapidly develop an app
to fulfill business goals (and keep your job), cfmljure seems like it could
offer a means to slowly integrate and learn Clojure as skills and a real
need develop.



Aria Media Sagl
Via Rompada 40
6987 Caslano
Switzerland

+41 (0)91 600 9601
+41 (0)76 303 4477 cell
skype: ariamedia


On Thu, Mar 13, 2014 at 7:58 PM, Sean Corfield  wrote:

> As the author of cfmljure, it's not something I'd recommend anyone to use
> in its current form and combining CFML and Clojure (as we do at World
> Singles) is a bit of a dark art that I wouldn't encourage others to
> attempt, unless they're already up to their eyeballs in CFML, and running
> on Railo (instead of Adobe's commercial product), and they are desperate to
> use Clojure _as well_ rather than _instead_.
>
> I'm working on a new version of cfmljure that will be MUCH easier to use
> but I'm wrestling with classloader issues (due to quirks in how both Railo
> and Clojure deal with classloaders).
>
> And good luck persuading anyone that a startup, with some PHP and some
> Clojure experience, should consider CFML / Railo instead :)
>
> Sean
>
> On Mar 13, 2014, at 8:49 AM, Nando Breiter  wrote:
>
> I'm developing applications in CFML, which runs on the JVM. If you use the
> open source Railo version, it is possible to run Clojure and CFML side by
> side, sharing data structures between them, which should allow you to
> refactor, or initially build, those parts of the application that would
> benefit from Clojure, while still leveraging the fast and easy development
> that CFML provides. My long term plan is to look at leveraging Clojure's
> strengths within the current codebase I'm developing. The short-term plan
> is to rapidly get the app to a stage where it is feature complete using
> CFML only.
>
> CFML has its legacy warts (as I'm sure PHP has as well), which can be
> simply avoided when writing code. But it will be very easy for a developer
> coming into CFML to get up to speed with the language. With the proper
> guidance, a developer new to the language can be productive in several days
> to a week's time.
>
> http://github.com/framework-one/cfmljure
>
>
>
>

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


Re: Help a Startup use Clojure!

2014-03-13 Thread Nando Breiter
I'm developing applications in CFML, which runs on the JVM. If you use the
open source Railo version, it is possible to run Clojure and CFML side by
side, sharing data structures between them, which should allow you to
refactor, or initially build, those parts of the application that would
benefit from Clojure, while still leveraging the fast and easy development
that CFML provides. My long term plan is to look at leveraging Clojure's
strengths within the current codebase I'm developing. The short-term plan
is to rapidly get the app to a stage where it is feature complete using
CFML only.

CFML has its legacy warts (as I'm sure PHP has as well), which can be
simply avoided when writing code. But it will be very easy for a developer
coming into CFML to get up to speed with the language. With the proper
guidance, a developer new to the language can be productive in several days
to a week's time.

http://github.com/framework-one/cfmljure



Aria Media Sagl
Via Rompada 40
6987 Caslano
Switzerland

+41 (0)91 600 9601
+41 (0)76 303 4477 cell
skype: ariamedia


On Thu, Mar 13, 2014 at 8:13 AM, Savas Alparslan  wrote:

> Bad mouthing PHP only leads to more resistance.
>
> This video would help.
>
> Master Plan for Clojure Enterprise Mindshare Domination
> http://www.youtube.com/watch?v=2WLgzCkhN2g
>
>
>
> On Wed, Mar 12, 2014 at 11:00 PM,  wrote:
>
>> I just spent the day writing this document for my boss, called "The case
>> for Clojure."  I hope it helps.  We are in exactly the same boat, so it
>> should be extremely relevant.
>>
>> P.S. If the company I work doesn't make the switch I plan on looking for
>> a new position.  So hit me up if you're in need of another Clojure
>> developer.
>>
>> David
>>
>>  --
>> You received this message because you are subscribed to the Google
>> Groups "Clojure" group.
>> To post to this group, send email to clojure@googlegroups.com
>> Note that posts from new members are moderated - please be patient with
>> your first post.
>> To unsubscribe from this group, send email to
>> clojure+unsubscr...@googlegroups.com
>> For more options, visit this group at
>> http://groups.google.com/group/clojure?hl=en
>> ---
>> You received this message because you are subscribed to the Google Groups
>> "Clojure" group.
>> To unsubscribe from this group and stop receiving emails from it, send an
>> email to clojure+unsubscr...@googlegroups.com.
>> For more options, visit https://groups.google.com/d/optout.
>>
>
>  --
> You received this message because you are subscribed to the Google
> Groups "Clojure" group.
> To post to this group, send email to clojure@googlegroups.com
> Note that posts from new members are moderated - please be patient with
> your first post.
> To unsubscribe from this group, send email to
> clojure+unsubscr...@googlegroups.com
> For more options, visit this group at
> http://groups.google.com/group/clojure?hl=en
> ---
> You received this message because you are subscribed to the Google Groups
> "Clojure" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to clojure+unsubscr...@googlegroups.com.
> For more options, visit https://groups.google.com/d/optout.
>

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

2013-11-01 Thread Nando Breiter
Yes.



Aria Media Sagl
Via Rompada 40
6987 Caslano
Switzerland

+41 (0)91 600 9601
+41 (0)76 303 4477 cell
skype: ariamedia


On Fri, Nov 1, 2013 at 9:19 AM, Josh Kamau  wrote:

> I am interested.
>
> Thanks.
> Josh
>
>
> On Fri, Nov 1, 2013 at 3:57 AM, Tilak Thapa  wrote:
>
>> +1, @James, i'm in.
>>
>>
>> On Wednesday, October 30, 2013 4:32:18 AM UTC+5:45, Russell Whitaker
>> wrote:
>>
>>> I, for one, would happily pay (my employer's) money for such a thing.
>>>
>>> R
>>>
>>> On Tue, Oct 29, 2013 at 3:39 PM, James Reeves 
>>> wrote:
>>> > I'm considering putting together a screencast, or a series of
>>> screencasts,
>>> > based on my Functional Web Architecture talk. The base presentation
>>> would be
>>> > improved, and I'd probably wind up going into more detail on certain
>>> topics.
>>> > I'll probably charge a small fee (perhaps $10 or so) to cover costs.
>>> >
>>> > Would there be any interest in this?
>>> >
>>> > - James
>>>
>>> --
>>> Russell Whitaker
>>> http://twitter.com/**OrthoNormalRuss
>>>
>>  --
>> --
>> You received this message because you are subscribed to the Google
>> Groups "Clojure" group.
>> To post to this group, send email to clojure@googlegroups.com
>> Note that posts from new members are moderated - please be patient with
>> your first post.
>> To unsubscribe from this group, send email to
>> clojure+unsubscr...@googlegroups.com
>> For more options, visit this group at
>> http://groups.google.com/group/clojure?hl=en
>> ---
>> You received this message because you are subscribed to the Google Groups
>> "Clojure" group.
>> To unsubscribe from 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.
>>
>
>  --
> --
> You received this message because you are subscribed to the Google
> Groups "Clojure" group.
> To post to this group, send email to clojure@googlegroups.com
> Note that posts from new members are moderated - please be patient with
> your first post.
> To unsubscribe from this group, send email to
> clojure+unsubscr...@googlegroups.com
> For more options, visit this group at
> http://groups.google.com/group/clojure?hl=en
> ---
> You received this message because you are subscribed to the Google Groups
> "Clojure" group.
> To unsubscribe from 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.
>

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

2013-10-11 Thread Nando Breiter
Pedestal comes to mind. http://pedestal.io/ I'd assume anything open source
that the guys at Relevance (now Cognitect) have released as open source
would be a good source for learning from.



Aria Media Sagl
Via Rompada 40
6987 Caslano
Switzerland

+41 (0)91 600 9601
+41 (0)76 303 4477 cell
skype: ariamedia


On Fri, Oct 11, 2013 at 10:19 AM, albert cortez
wrote:

> That sounds pretty interesting. I wonder how old the list was. If it was
> made a while ago, i'm sure there are new projects that have come along. If
> you find the link I would be interested.
>
>
> On Thursday, October 10, 2013 11:41:05 PM UTC+2, Jeff Heon wrote:
>>
>> I remember reading a post with a list of open source projects with
>> excellent clojure code.
>>
>> Unfortunately, I can't find it anymore, but I remember Ring was on the
>> list.
>>
>  --
> --
> You received this message because you are subscribed to the Google
> Groups "Clojure" group.
> To post to this group, send email to clojure@googlegroups.com
> Note that posts from new members are moderated - please be patient with
> your first post.
> To unsubscribe from this group, send email to
> clojure+unsubscr...@googlegroups.com
> For more options, visit this group at
> http://groups.google.com/group/clojure?hl=en
> ---
> You received this message because you are subscribed to the Google Groups
> "Clojure" group.
> To unsubscribe from 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.
>

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

2013-10-09 Thread Nando Breiter
>
>
> The best explanation of these misunderstandings I've come across is "What
> to Know Before Debating Type Systems":
>
> http://cdsmith.wordpress.com/2011/01/09/an-old-article-i-wrote/
>
>
I have learned quite a lot from reading this article and following this
discussion, particularly that "type" and "type checking" is much more
nuanced and complex than I have understood until now, and that the terms
"static" and "dynamic" expand into a much larger range of issues upon close
examination, such as the difference between explicitly declaring types (as
in Java) and implicitly inferring types from code context. Quoting from the
article:

*Many programmers approach the question of whether they prefer static or
dynamic types by comparing some languages they know that use both
techniques. This is a reasonable approach to most questions of preference.
The problem, in this case, is that most programmers have limited
experience, and haven’t tried a lot of languages. For context, here, six or
seven doesn't count as “a lot.”*
*
*

So I can say I prefer dynamic typing, but the reasons are more personal,
and molded by my development experience.

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

2013-10-08 Thread Nando Breiter
On Tue, Oct 8, 2013 at 11:41 AM, Phillip Lord
wrote:

>
>
> Guess you have programmed before. Besides which, if I am teaching any
> significant number of students, I will get the sys admins to do the
> installation; otherwise, you the first two weeks, you spend running
> around fixing peoples environment.
>
> This kind of nonsense is soul-destroying for new programmers; it's
> depressing and saps their desire to learn.


Ah, ok. Understood. Point taken.


> Old programmers know the
> tricks to get through this quickly (students never believe me when I
> tell them that they will still be writing hello world in 10 years time);
> and besides, most old programmers sold their souls years ago.
>
> All aside from the confusion that of "to start Clojure, type lein". Does
> that make any sense?
>
> Phil


To me, this begins to look more like a "user interface" issue than strictly
a programming issue. The folks who do interface design have a technique -
"pretend it's magic". What would the solution look like if it was "magic" (
setting all programming considerations aside for the moment) ?

The student installs something  ... opens something ... and something just
works. How would you flesh that out?

Aria Media Sagl
Via Rompada 40
6987 Caslano
Switzerland

+41 (0)91 600 9601
+41 (0)76 303 4477 cell
skype: ariamedia

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

2013-10-08 Thread Nando Breiter
>
> >   1. Types are useful for structures that HOLD data (ints, strings,
> >  maps, arrays… ) because they provide ways defining standard
> >  operations to manipulate data that make sense in the context of
> >  that type of data. It is helpful to have a type checker check
> >  that I am not accessing the 6th element of a hashmap or that I am
> >  adding 10 to "Hello".
>
> This would be useful indeed. Although, a hard core type head would say
> "I want to distinguish between a string that is an email, someones name,
> and a day of the week". This is not unreasonable.
>
> Perhaps some may see this as an oversimplification, but ...

If you try and add 10 to "Hello" in a typed language, you get an error. If
you try to do the same in a dynamic language, you get an error. The only
difference seems to be that in a dynamic language, you need to *run* the
code to get the error, rather than compile it.

That said, not all programming errors in a typed language will be found at
compile time, so these need to be run anyway to test them.

As I understand it, in a dynamic language, if you want to check if a string
is an email, you need some function like defn (email? [str]). You'd need
the same in a typed language.

I've never understood the essential distinction here. (+ 10 "Hello")
doesn't work in both dynamic or typed languages because, well, 10 and
"Hello" are different *types* of things. Both dynamic and typed languages
interpret them as different types.

I do understand, however, that typed languages are more difficult to learn
and program in, and that the same task can take longer in a typed language.

It also seems to me that it is easier to lose the forest for the trees in a
typed language. When we speak with each other, we don't generally say "The
number 6 plus the number 4 equals the number 10." There's a good reason for
that. "6 plus 4 equals 10" is not only sufficient, but easier to
understand. The incidental complexity that type systems add *can* foster
programming errors, even as typed languages are supposed to prevent them.

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


Re: Newbie seeks advice

2013-10-07 Thread Nando Breiter
Functional Thinking with Neal Ford

http://www.youtube.com/watch?v=JeK979aqqqc



Aria Media Sagl
Via Rompada 40
6987 Caslano
Switzerland

+41 (0)91 600 9601
+41 (0)76 303 4477 cell
skype: ariamedia


On Mon, Oct 7, 2013 at 4:22 PM, vMac  wrote:

> Thank you very much James for that detailed advice. I think it will take a
> while
> to get used to that new programming style.
> Is there any good source of information for learning functional
> programming (online, book)
> you could recommend?
> I'm right now programming mostly C -stylish with a bit knowledge of OO.
>
> -v
>
> --
> --
> You received this message because you are subscribed to the Google
> Groups "Clojure" group.
> To post to this group, send email to clojure@googlegroups.com
> Note that posts from new members are moderated - please be patient with
> your first post.
> To unsubscribe from this group, send email to
> clojure+unsubscr...@googlegroups.com
> For more options, visit this group at
> http://groups.google.com/group/clojure?hl=en
> ---
> You received this message because you are subscribed to the Google Groups
> "Clojure" group.
> To unsubscribe from 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.
>

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

2013-10-07 Thread Nando Breiter
I'm in the process of trying to Clojure, and the fact that you need to
install leiningen (I think ...) isn't a problem. All I need is clear,
simple to follow instructions, and an explanation how all this plumbing
works, and what its advantages are. I find installation instructions rather
easily. Clear explanations about how the dependency plumbing works seem to
be a bit lacking up front.



Aria Media Sagl
Via Rompada 40
6987 Caslano
Switzerland

+41 (0)91 600 9601
+41 (0)76 303 4477 cell
skype: ariamedia


On Mon, Oct 7, 2013 at 10:28 AM, Phillip Lord
wrote:

> Lee Spector  writes:
> > I teach Clojure, to beginning programmers among others.
> >
> > IMHO you really have to specify your audience(s) before any advice about
> how
> > best to teach Clojure (or programming in general) will make much sense.
>
> I'd absolutely agree with this. If you are teaching brand new
> programmers, then you really don't want to teach clojure at all; you
> want to teach programming, with the language being somewhat of a detail.
>
> You also need to know *why* you are teaching them. I teach differently
> if I am teaching new programmers hoping to gain a general understanding
> of computer science, than new programmers who have an immediate
> practical need.
>
>
> > Also IMHO (just trying to deflect some flames here) the Clojure
> > ecosystem currently lacks the ideal environment for this.
>
> Tend to agree with this also. As nice as leiningen is, Clojure seems to
> inherit from Java bulky projects. Compare these two hello worlds:
>
> (println "hello world")
>
> to
>
> #!/usr/bin/python
> print( "hello world" )
>
> Both equivalently simple, up and till the point you actually try to run
> them. The best I came up with is...
>
> java -jar ~/.m2/repository/org/clojure/clojure/1.5.1/clojure-1.5.1.jar
> hello_world.clj
>
> which, of course, depends on me having installed leiningen and used it.
>
>
> > So this may be totally wrong for many of your purposes, but FWIW:
> > https://github.com/lspector/clojinc
>
>
> That's a nice idea.
>
> Phil
>
> --
> --
> You received this message because you are subscribed to the Google
> Groups "Clojure" group.
> To post to this group, send email to clojure@googlegroups.com
> Note that posts from new members are moderated - please be patient with
> your first post.
> To unsubscribe from this group, send email to
> clojure+unsubscr...@googlegroups.com
> For more options, visit this group at
> http://groups.google.com/group/clojure?hl=en
> ---
> You received this message because you are subscribed to the Google Groups
> "Clojure" group.
> To unsubscribe from 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.
>

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