Re: What's clojure killer app? I don't see any.

2014-04-20 Thread JPH
I think that because of Clojure's resistance to heavy-weight frameworks,
you won't necessarily see a "killer app" in the way Rails was for Ruby.

I think the killer feature of Clojure is the sum of its parts. At first
glance it's hard to immediately see the value, but once you start
plugging together reliable components, taking advantage of the Java
interop and tooling from Leiningen, the advantages begin to appear.

This doesn't make it easy to advocate until you've first sold your
audience on the value of Clojure principles: functional, simple, immutable.

On 04/20/2014 12:15 AM, Paulo Suzart wrote:
> Hi all, (warning, this is kinda confusing email)
>
> Been following the list for some time and specially paying attention to
> what could be the killer clojure app as Akka is for Scala.
>
> I keep seeing small libs (I like libs) popping up like ants, but I don't
> believe none of them (alone at least)  can make clojure explode and become
> main technology in a old school /ordinary company.
>
> People say clojure is good for data. But where are the cases? And more
> specifically, where are the frameworks and libs to support it? Are they
> talking about wrappers around java for Hadoop? Sigh...
>
> Pulsar is quite dead, core async isn't clear regarding remoting, and avout?
> And lamina? And aleph? Where are the tools that can make clojure to cover
> from Web to big data and batch?
>
> Luminous,  caribou, etc, are they going to become the next grails? Huumm..
> Will take lot of time. Clojure Script alone will not go any further than
> the current server side.
>
> What made me give up scala was Scalaz, and I hope the "create thousand
> disconnected libs and publish a post with ANN sufix" approach doesn't make
> me give up clojure.
>
> Sorry guys, I've been posting about Clojure since 2009, and still can't see
> it becoming the main technology even being the CTO of the company.
>
> What is the killer app for you? Or how do you think we can make clojure
> supporting apps like Facebook or something big like that?
>

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

2014-04-20 Thread Zach Tellman
I could represent the map {0 :foo, 100 :bar} as an array, but it would 
have to be a million element array with a lot of empty space. This would be 
(maybe) faster w.r.t. lookups, but would be vastly slower for enumerating 
entries, merging other maps, and adding keys that are larger than the 
boundaries of the underlying array.  This data structure, which is 
described by the paper linked in the readme,  I also mention the 
possibility of using this to represent a sparse vector (as opposed to the 
array, which is dense) in the readme.

Hope that answers your question,
Zach

On Sunday, April 20, 2014 9:44:21 PM UTC-7, Plinio Balduino wrote:
>
> "it's an immutable map that can only have positive integers as keys" -- Like 
> an array?
>
> (My question is child of my complete ignorance, and I'm not questioning 
> your knowledge or motivation)
>
> Plínio
>
>
> On Mon, Apr 21, 2014 at 1:40 AM, Zach Tellman 
> > wrote:
>
>> This one's pretty simple: it's an immutable map that can only have 
>> positive integers as keys.  It can be found at 
>> https://github.com/ztellman/immutable-int-map.
>>
>> The one interesting aspect of this is that it has an efficient merge 
>> mechanism, which means it plays better with Clojure's reducer framework 
>> than Clojure's own data structures.  This was a non-obvious consequence to 
>> me before I started working on it, so I figure others might also find it 
>> interesting.
>>  
>> -- 
>> 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.


Re: [ANN] immutable-int-map

2014-04-20 Thread Plínio Balduino
"it's an immutable map that can only have positive integers as keys" -- Like
an array?

(My question is child of my complete ignorance, and I'm not questioning
your knowledge or motivation)

Plínio


On Mon, Apr 21, 2014 at 1:40 AM, Zach Tellman  wrote:

> This one's pretty simple: it's an immutable map that can only have
> positive integers as keys.  It can be found at
> https://github.com/ztellman/immutable-int-map.
>
> The one interesting aspect of this is that it has an efficient merge
> mechanism, which means it plays better with Clojure's reducer framework
> than Clojure's own data structures.  This was a non-obvious consequence to
> me before I started working on it, so I figure others might also find it
> interesting.
>
> --
> You received this message because you are subscribed to the Google
> Groups "Clojure" group.
> To post to this group, send email to clojure@googlegroups.com
> Note that posts from new members are moderated - please be patient with
> your first post.
> To unsubscribe from this group, send email to
> clojure+unsubscr...@googlegroups.com
> For more options, visit this group at
> http://groups.google.com/group/clojure?hl=en
> ---
> You received this message because you are subscribed to the Google Groups
> "Clojure" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to clojure+unsubscr...@googlegroups.com.
> For more options, visit https://groups.google.com/d/optout.
>

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


[ANN] immutable-int-map

2014-04-20 Thread Zach Tellman
This one's pretty simple: it's an immutable map that can only have positive 
integers as keys.  It can be found at 
https://github.com/ztellman/immutable-int-map.

The one interesting aspect of this is that it has an efficient merge 
mechanism, which means it plays better with Clojure's reducer framework 
than Clojure's own data structures.  This was a non-obvious consequence to 
me before I started working on it, so I figure others might also find it 
interesting.

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

2014-04-20 Thread Alex Miller
Hi Sean, 

Cost is _always_ in mind when choosing venues and we always try to get the 
best rate we can to keep overall attendee costs down. Depending on time of 
year, dates, venue choices, etc things don't always work out the way we'd 
like. Those rates directly affect our bottom line as well for speaker hotel 
rooms, so we are equally as motivated to find the best rate we can!

We are in discussion with some possible venues for this year and hope to 
have more info in a few weeks.

Alex


On Sunday, April 20, 2014 3:12:41 PM UTC-5, Sean Corfield wrote:
>
> On Apr 20, 2014, at 10:14 AM, David Andrews > 
> wrote: 
> > Alex, I mentioned to Lynn that the agenda for Conj#4 was published too 
> late.  I'd have loved to come up to Alexandria (especially with the train 
> station so convenient) and kept my streak going - but I needed to see an 
> agenda before committing.  Unfortunately, it didn't materialize in time and 
> I had to miss.  Aargh. 
>
> I'd attend regardless of the agenda - there's always enough good stuff to 
> make it worthwhile, and there's also the very important "hallway track". 
>
> That said, the real killer last year was the cost of the hotel. For myself 
> and my colleague - both West Coast - we both had to stay three nights and 
> that meant nearly $900 each, just for the hotel! That makes the Conj a very 
> expensive proposition. 
>
> I shared my room with a random Clojurian to save costs but that isn't 
> always possible (or appropriate). 
>
> I hope the venue is chosen with _cost_ in mind this year! 
>
> Sean Corfield -- (904) 302-SEAN 
> An Architect's View -- http://corfield.org/ 
>
> "Perfection is the enemy of the good." 
> -- Gustave Flaubert, French realist novelist (1821-1880) 
>
>
>
>

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


Re: When is "The Conj" this year? (eom)

2014-04-20 Thread Alex Miller
Agreed. We will try to publish sooner this year.

On Sunday, April 20, 2014 12:14:46 PM UTC-5, David Andrews wrote:
>
> Alex, I mentioned to Lynn that the agenda for Conj#4 was published too 
> late.  I'd have loved to come up to Alexandria (especially with the train 
> station so convenient) and kept my streak going - but I needed to see an 
> agenda before committing.  Unfortunately, it didn't materialize in time and 
> I had to miss.  Aargh.
>

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

2014-04-20 Thread Mark Mandel
I wrote a blog post a while back on working with EDN, which could be
helpful:
http://www.compoundtheory.com/clojure-edn-walkthrough/

>From there, fire up a REPL, load in clojure.edn, and start converting
vectors and maps to EDN and see what the format looks like :)

Mark


On Mon, Apr 21, 2014 at 2:21 AM, Mike Haney  wrote:

> Found the project I lifted my config code from, it's this one:
> https://github.com/bellkev/dacom
>
> Look through that, it should give you a good starting point.  If you still
> have questions, feel free to ask and we'll try to help.
>
> --
> You received this message because you are subscribed to the Google
> Groups "Clojure" group.
> To post to this group, send email to clojure@googlegroups.com
> Note that posts from new members are moderated - please be patient with
> your first post.
> To unsubscribe from this group, send email to
> clojure+unsubscr...@googlegroups.com
> For more options, visit this group at
> http://groups.google.com/group/clojure?hl=en
> ---
> You received this message because you are subscribed to the Google Groups
> "Clojure" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to clojure+unsubscr...@googlegroups.com.
> For more options, visit https://groups.google.com/d/optout.
>



-- 
E: mark.man...@gmail.com
T: http://www.twitter.com/neurotic
W: www.compoundtheory.com

2 Devs from Down Under Podcast
http://www.2ddu.com/

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


DITA-OT clojurage

2014-04-20 Thread Gregg Reynolds
Hi folks,

I've started hacking away at a project to replace Ant by Leiningen in
DITA-OT .  For what it's worth, DITA is
an excellent tech documentation "solution"; when you're ready to move past
markdown and wikis to a "real" tech doc system, DITA is the way to go
(IMHO).  Judging by various dita mailing lists it's picking up steam (five
years ago it was a wilderness).

I just find Ant only slightly better than assembler language, and I want to
use DITA for some writing projects, plus this sort of conversion is an
excellent way to get up close an personal to the Java<->Clojure interface.
I want dita, including customization, to be easy-peasy, and clojure seems a
way better way to do that than Ant and XML.

The project is at https://github.com/dita/dita-clj.  It's pre-pre-...
alpha, but if you're interested, I've taken fairly extensive notes on the
DITA-OT job control logic.

I've gotten far enough to think the project is plausible; at least, I can
execute the first step of DITA-OT preprocessing without using the Ant
stuff, Clojure code only (about a dozen lines of code!)

I've run into a tricky bit, however, for which I could use some help.  The
situation is this: DITA-OT uses a Configuration.java file that fixes config
at compile time.  It's entirely final static; it reads some config files,
populates some data structures, and then at runtime responds to "get(key)"
requests etc.  What I'd like to do is replace this with clojure code that
reads config data (maybe in project.clj, maybe an EDN file) at runtime, but
implements the same protocol as Configuration.java so it looks the same to
clients.  Simply put, I want to just add a setter method, so my
leiningen/clojure job control can create the thing at runtime, populate it
with config data from (maybe user-specified) files, and then pass it to the
DITA-OT "kernel".  To make this work, my idea is that putting my
Configuration.clj prior to the java implemenation (same package, but
*.java) will make the clojure stuff effectively override the java stuff.
May be a bad idea in the Grand Scheme of things, but for now that's just
the way I live my life and I'd like to figure out how to make it go.

I'm trying to use gen-class to do this, but not having a lot of luck.  I'm
getting a lot of "error: cannot find symbol" since presumably my
Configuration.clj is doing a lousy job of exposing symbols.  Explaining it
all would make this message way too long, so I've described it (among other
things) in the README and in the doc dir; see also
https://github.com/dita/dita-clj/blob/master/src/clj/org/dita/dost/util/Configuration.clj.


Thanks,

Gregg

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

2014-04-20 Thread Sean Corfield
On Apr 20, 2014, at 10:14 AM, David Andrews  wrote:
> Alex, I mentioned to Lynn that the agenda for Conj#4 was published too late.  
> I'd have loved to come up to Alexandria (especially with the train station so 
> convenient) and kept my streak going - but I needed to see an agenda before 
> committing.  Unfortunately, it didn't materialize in time and I had to miss.  
> Aargh.

I'd attend regardless of the agenda - there's always enough good stuff to make 
it worthwhile, and there's also the very important "hallway track".

That said, the real killer last year was the cost of the hotel. For myself and 
my colleague - both West Coast - we both had to stay three nights and that 
meant nearly $900 each, just for the hotel! That makes the Conj a very 
expensive proposition.

I shared my room with a random Clojurian to save costs but that isn't always 
possible (or appropriate).

I hope the venue is chosen with _cost_ in mind this year!

Sean Corfield -- (904) 302-SEAN
An Architect's View -- http://corfield.org/

"Perfection is the enemy of the good."
-- Gustave Flaubert, French realist novelist (1821-1880)





signature.asc
Description: Message signed with OpenPGP using GPGMail


Re: What's clojure killer app? I don't see any.

2014-04-20 Thread Daniel Orias


On Saturday, April 19, 2014 9:15:38 AM UTC-7, Paulo Suzart wrote:
>
> Hi all, (warning, this is kinda confusing email) 
>
> Been following the list for some time and specially paying attention to 
> what could be the killer clojure app as Akka is for Scala.
>

Etc.
>
The languages that you do use daily. What was their killer app? What are 
the 25 killer apps for the Top 25 programming languages as ranked by 
mention in a survey of programmers? With C, the answer of Unix is fairly 
straight-forward, but C's popularity is not because people kept making os 
after os and since the late 70s people have been creating language after 
language to polish off C's very rough edges. Perl ruled web applications 
for a bit, by virtue of string processing and regexes. What is the most 
popular app written in C#? What was the killer app for C++? The primary use 
case for Python? Not being perl?

Objective-C is more popular now than ever in its third decade of existence 
and that is by virtue of its affiliation with a very successful platform. 
Android is a more popular platform and, yet, have we seen folks reigniting 
the passion for java that was there in the late 90s? 

You also may misunderstand the "killer app" theory, which I think is about 
how novel applications move platforms from early adopters into a 
mainstream. The most successful platform of recent times has been the 
smartphone. Its "killer apps?" Maps, Phone, Music, Messaging, Browser? All 
of the above?

Every new programming language is a commentary on its antecedents. The 
language designers imagine that a class of algorithms or processes could be 
more quickly and safely programmed or execute better if a language 
expressed the solution more clearly. From mathematics, we know that every 
sufficiently powerful language is as powerful as another. We also know that 
some problems are undecidable and some programs will yield answers that are 
occasionally sub-optimal because the correct answer won't be outputted 
until after the heat-death of the universe.

Within a few pages of any book on Clojure, one may see the comments the 
language makes on predecessors, including Lisp, Java, and Haskell. (Not all 
comments are along the lines of "they got it wrong.") The primary directive 
for the language was to make concurrency more manageable while leveraging 
Lisp's first class and higher order functions and code as data, the jvm's 
engineering, java's library, and Haskell's laziness.

I respectfully submit that you ask the wrong question, just as those who 
early last decade asked "Where's java's popular desktop app?"

What problem does your company have to solve? Are you really going to 
rewrite all your existing products if you find the most awesome language? 
If Akka is sliced-bread good, why keep looking? What does technical debt 
mean to you? What types of bugs show up all the time and would a different 
language exchange those bugs for easier to find and fix bugs? Can you hire 
enough great people to make the changeover work, or will it be an uncanny 
valley disaster as management underestimates resource requirements and 
time-to-expertise? Does the person using a reliable COBOL program really 
care that the language hasn't been hip since 1959? Users and customers. 
That is the focus. If Clojure helps you deliver better value to those 
groups or if it seems to make problem solving more fun or efficient, use 
it. Don't expect the advantages to be obvious. The processes that are 
"obviously" better are the ones more likely to be fads or traditions 
wrapped in buzzwords. There are no silver bullets.




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


Re: What's clojure killer app? I don't see any.

2014-04-20 Thread Magnus Therning
On Sat, Apr 19, 2014 at 01:15:38PM -0300, Paulo Suzart wrote:
> Hi all, (warning, this is kinda confusing email)
> 
> Been following the list for some time and specially paying attention
> to what could be the killer clojure app as Akka is for Scala.
> 
[...]
> 
> Sorry guys, I've been posting about Clojure since 2009, and still
> can't see it becoming the main technology even being the CTO of the
> company.
> 
> What is the killer app for you? Or how do you think we can make
> clojure supporting apps like Facebook or something big like that?

It's LISP.  That's the killer app.  It's that simple!

/M

-- 
Magnus Therning  OpenPGP: 0xAB4DFBA4 
email: mag...@therning.org   jabber: mag...@therning.org
twitter: magthe   http://therning.org/magnus

In a hierarchy, every employee tends to rise to his level of incompetence.
 -- The Peter Principle


pgpbeoCXsTakT.pgp
Description: PGP signature


Re: When is "The Conj" this year? (eom)

2014-04-20 Thread David Andrews
Alex, I mentioned to Lynn that the agenda for Conj#4 was published too 
late.  I'd have loved to come up to Alexandria (especially with the train 
station so convenient) and kept my streak going - but I needed to see an 
agenda before committing.  Unfortunately, it didn't materialize in time and 
I had to miss.  Aargh.

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

2014-04-20 Thread Mike Haney
Found the project I lifted my config code from, it's this one: 
 https://github.com/bellkev/dacom

Look through that, it should give you a good starting point.  If you still 
have questions, feel free to ask and we'll try to help.

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

2014-04-20 Thread Marcus Blankenship
Yup, I have the same mindset!  :-)

Sent from my iPhone

> On Apr 20, 2014, at 9:01 AM, Mike Haney  wrote:
> 
> Marcus - are you planning on going?  This will be my first Conj, and I'm 
> going no matter what it takes.  
> 
> -- 
> You received this message because you are subscribed to the Google
> Groups "Clojure" group.
> To post to this group, send email to clojure@googlegroups.com
> Note that posts from new members are moderated - please be patient with your 
> first post.
> To unsubscribe from this group, send email to
> clojure+unsubscr...@googlegroups.com
> For more options, visit this group at
> http://groups.google.com/group/clojure?hl=en
> --- 
> You received this message because you are subscribed to the Google Groups 
> "Clojure" group.
> To unsubscribe from this group 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.


When is "The Conj" this year? (eom)

2014-04-20 Thread Mike Haney
Marcus - are you planning on going?  This will be my first Conj, and I'm going 
no matter what it takes.  

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


Dealing with edn for the first time

2014-04-20 Thread Mike Haney
1.  In its simplest form, EDN is just clojure data literals.  So for simple 
cases like configuration, just use a map:

{ :database-uri "some-uri"
  :another-param "some value"
  :debug-mode true }

2. You can use clojure.java.io/resource to access resources, but for config 
files you usually don't want them as resources, since those will be embedded in 
the jar/war file when you deploy, making it difficult to configure for 
different deployment environments.

I have some generic code for loading config files that I use in most projects 
now.  I originally lifted it from some open-source project at one point (can't 
remember which, or I would give credit).  I'll create a gist and post the link 
in a bit.

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


Re: What's clojure killer app? I don't see any.

2014-04-20 Thread Mike Haney
I'm glad Daniel mentioned Enlive, because it's a great example of something 
that AFAIK is completely unique to clojure.  It was one of the first libraries 
I dove into when I started with clojure, and I was blown away.  It is such a 
logical approach to templating that seems so obvious in hindsight, yet I've 
never seen anything else like it in any of the languages/tools I'm familiar 
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.


Dealing with edn for the first time

2014-04-20 Thread Hussein B.
Hi,

I want to save the configuration of my application in edn file.

Lein is used (of course). I want to pub my config.edn under /resources 
directory.

But honestly, I don't know the format of edn. I tried to google it, but I 
didn't get anything helpful. The format is in its early stages.

So, my questions:

1) What is the equivalent of the following in edn:

database.url=localhost
username=foo
password=bar

2) Since my edn file is under /resources . I need a way to read from the 
classpath.
How to do this?

Thanks for help and time.

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


Re: What's clojure killer app? I don't see any.

2014-04-20 Thread Paulo Suzart
Very valuable, Daniel.

Really thanks


On 20 April 2014 09:23, Daniel Kersten  wrote:

> For me the "killer" thing about Clojure isn't a specific library or
> feature, its the philosophy that the community fosters and the collection
> of features and libraries that this nurtures:
>
>
>- Simplicity
>- Decomplection (extreme separation of concerns)
>- Data-centric code (data-structure-first, explicit data, sequence
>abstraction, ...)
>- Immutability (which is really an enabler for the above)
>- Managed state and side effects
>- Small libraries that do one thing well, but can be composed as
>needed to build solutions that are well fitted to the problem
>
> All these things lead to easier to understand, easier to maintain, easier
> to test, easier to extend and adapt code.
>
> But.. if we must name some libraries and tools that I consider part of the
> "killer" ecosystem:
>
>- Om
>- core.async as a "glue" between components and libraries
>- Enlive, enliven, enfocus, kioo
>- If it lives up to its promises, Pedestal, when its ready
>- Typed Clojure looks like it could become an integral and
>indispensable part of the ecosystem
>- Storm
>- Though I haven't yet used it, going by the community response,
>Datomic
>- Ring
>
> Together these things, in my opinion, make Clojure quite special.
>
>
> On 20 April 2014 01:19, Sean Corfield  wrote:
>
>> On Apr 19, 2014, at 9:15 AM, Paulo Suzart  wrote:
>>
>> Been following the list for some time and specially paying attention to
>> what could be the killer clojure app as Akka is for Scala.
>>
>>
>> I don't think Akka is a "killer app" for Scala. Scala is a multi-paradigm
>> general purpose language that is a "better Java" as well as a functional
>> programming language. I think the whole "killer app" for a language is a
>> ridiculous idea to be honest.
>>
>> I keep seeing small libs (I like libs) popping up like ants, but I don't
>> believe none of them (alone at least)  can make clojure explode and become
>> main technology in a old school /ordinary company.
>>
>>
>> The more important question is "Does Clojure need to become
>> 'mainstream'?" for some definition of 'mainstream'. I think the answer is
>> no. We're past the time of "one language to rule them all". For years it
>> was C/C++, then it slowly shifted to Java, and then C# became a dominant
>> language for Windows while Java dominated everywhere else. But that
>> homogeneity has pros and cons. Lately we've seen an explosion of
>> programming languages, most of which are general purpose, and many of which
>> are based on the JVM. Now we have choice: we can use whatever language we
>> find most suitable for the task at hand - or even whatever language we just
>> plain ol' prefer! A company can use multiple languages and know they'll all
>> play nicely together. Each team can choose their favorite JVM language and
>> it won't cause problems with other teams. This is a HUGE improvement on the
>> "only Java" world in my opinion.
>>
>> What made me give up scala was Scalaz
>>
>>
>> Well, that I can understand :)
>>
>> Sorry guys, I've been posting about Clojure since 2009, and still can't
>> see it becoming the main technology even being the CTO of the company.
>>
>>
>> A lot of companies are using Clojure for everyday things. A lot of
>> companies are quite happily using Clojure as their main technology. But if
>> the CTO is too conservative to pick Clojure, that's their choice. It's
>> worth remembering that Clojure "endeavors to be a general-purpose
>> language suitable in those areas where Java is suitable." --
>> http://clojure.org/rationale
>>
>> At World Singles, we use Clojure for accessing databases (MySQL and
>> MongoDB), interacting with third party web services (JSON, XML, REST, even
>> SOAP - ugh, but it's so much nicer than doing it in Java!), analyzing data,
>> transforming data, managing internationalization, logging, environment
>> control... pretty much everything. We use it for all our long-running
>> background processes - one of which generates and sends about 1.5M HTML
>> emails a day and runs millions of JSON queries against a custom search
>> engine. We have a real-time chat server written in Clojure (based on a Java
>> Socket.IO implementation). We're just starting down the path of using
>> ClojureScript for an internal-facing analysis app - using Om and D3 for
>> real-time data display, with core.async over web sockets (via Sente).
>>
>> All new server-side development is in Clojure for us. Two reasons:
>>
>> * The Clojure code is much simpler, shorter and easier to maintain.
>> * The team *love* writing Clojure! They're having more fun in their jobs
>> than ever.
>>
>> The immutability, easy concurrency, DSLs and so on - those are all icing
>> on the cake.
>>
>> Sean Corfield -- (904) 302-SEAN
>> An Architect's View -- http://corfield.org/
>>
>> "Perfection is the enemy of the good."
>> -- Gustave Flaubert, French realis

This is "why clojure", for those who are always asking.

2014-04-20 Thread Dave Tenny
A lot of people who've used lisp dialect languages will get "why clojure".

Even then, a lot of us lispers wanted more.  We wanted to leverage some of 
the vast amounts of code that have been written in recent years, in my 
case, for Java.
I like lisp a lot but had sworn it off for many years because the older 
lisp implementations I enjoyed weren't sufficiently blended with the newer 
tools I used to solve
problems.   So for a long time I've been looking at Scheme and Lisp 
implementations that interfaced with Java or had other 'critical support 
factors' that appealed to me.
Clojure seems to fit my needs for Lisp in 2014.

Here's an example of "why clojure" based on some recent Clojure scripting I 
was involved with.

Last week I decided I was tired of my hacks for calling 'ssh' via shell 
interfaces from Java (mostly because of pty hacks for sudo commands).
Granted, this is not a modern problem, but it was a very nice trip down 
lisp lane with a rewarding result in a few minutes at the lisp REPL prompt.

The ganymed2 java ssh library has been around a long time, so I decided to 
try that. I'd never used it before.

There was an example of using proxies with ganymed here:

https://code.google.com/p/ganymed-ssh-2/source/browse/trunk/examples/BasicWithHTTPProxy.java
(101 lines)

I adapted that in one REPL session to something like this:

http://pastebin.com/r0aTqFXp
(33 lines)

Throw a single dependency into your lein dependencies, experiment from the 
REPL,
and poof, ssh problems solved.

It isn't just the lines of code.
It isn't just that all the maven or ant and other build headaches went away.

It's just the best of both worlds, java and all that that implies, and lisp
and all that that implies, nicely brought together to solve whatever the 
problem-du-jour may be.

Actually, to solve my particular problem, I also needed to add one more 
line of code to the example I posted in the pastebin.

 (.requestDumbPTY session)

Now I can do my 'sudo' commands on Amazon EC2 instances with a pseudo tty 
with a lisp scripting environment.


So Lisp + Java + Good Interoperability == loads of fun and quick solutions.
That's "Why Clojure" for me.

Hope that helps any of you who (a) are wondering about  clojure and (b) 
need an ssh client from 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.


When is "The Conj" this year? (eom)

2014-04-20 Thread Alex Miller
Don't know yet - we are working on finding a venue and date.

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.


Re: What's clojure killer app? I don't see any.

2014-04-20 Thread Daniel Kersten
For me the "killer" thing about Clojure isn't a specific library or
feature, its the philosophy that the community fosters and the collection
of features and libraries that this nurtures:


   - Simplicity
   - Decomplection (extreme separation of concerns)
   - Data-centric code (data-structure-first, explicit data, sequence
   abstraction, ...)
   - Immutability (which is really an enabler for the above)
   - Managed state and side effects
   - Small libraries that do one thing well, but can be composed as needed
   to build solutions that are well fitted to the problem

All these things lead to easier to understand, easier to maintain, easier
to test, easier to extend and adapt code.

But.. if we must name some libraries and tools that I consider part of the
"killer" ecosystem:

   - Om
   - core.async as a "glue" between components and libraries
   - Enlive, enliven, enfocus, kioo
   - If it lives up to its promises, Pedestal, when its ready
   - Typed Clojure looks like it could become an integral and indispensable
   part of the ecosystem
   - Storm
   - Though I haven't yet used it, going by the community response, Datomic
   - Ring

Together these things, in my opinion, make Clojure quite special.


On 20 April 2014 01:19, Sean Corfield  wrote:

> On Apr 19, 2014, at 9:15 AM, Paulo Suzart  wrote:
>
> Been following the list for some time and specially paying attention to
> what could be the killer clojure app as Akka is for Scala.
>
>
> I don't think Akka is a "killer app" for Scala. Scala is a multi-paradigm
> general purpose language that is a "better Java" as well as a functional
> programming language. I think the whole "killer app" for a language is a
> ridiculous idea to be honest.
>
> I keep seeing small libs (I like libs) popping up like ants, but I don't
> believe none of them (alone at least)  can make clojure explode and become
> main technology in a old school /ordinary company.
>
>
> The more important question is "Does Clojure need to become 'mainstream'?"
> for some definition of 'mainstream'. I think the answer is no. We're past
> the time of "one language to rule them all". For years it was C/C++, then
> it slowly shifted to Java, and then C# became a dominant language for
> Windows while Java dominated everywhere else. But that homogeneity has pros
> and cons. Lately we've seen an explosion of programming languages, most of
> which are general purpose, and many of which are based on the JVM. Now we
> have choice: we can use whatever language we find most suitable for the
> task at hand - or even whatever language we just plain ol' prefer! A
> company can use multiple languages and know they'll all play nicely
> together. Each team can choose their favorite JVM language and it won't
> cause problems with other teams. This is a HUGE improvement on the "only
> Java" world in my opinion.
>
> What made me give up scala was Scalaz
>
>
> Well, that I can understand :)
>
> Sorry guys, I've been posting about Clojure since 2009, and still can't
> see it becoming the main technology even being the CTO of the company.
>
>
> A lot of companies are using Clojure for everyday things. A lot of
> companies are quite happily using Clojure as their main technology. But if
> the CTO is too conservative to pick Clojure, that's their choice. It's
> worth remembering that Clojure "endeavors to be a general-purpose
> language suitable in those areas where Java is suitable." --
> http://clojure.org/rationale
>
> At World Singles, we use Clojure for accessing databases (MySQL and
> MongoDB), interacting with third party web services (JSON, XML, REST, even
> SOAP - ugh, but it's so much nicer than doing it in Java!), analyzing data,
> transforming data, managing internationalization, logging, environment
> control... pretty much everything. We use it for all our long-running
> background processes - one of which generates and sends about 1.5M HTML
> emails a day and runs millions of JSON queries against a custom search
> engine. We have a real-time chat server written in Clojure (based on a Java
> Socket.IO implementation). We're just starting down the path of using
> ClojureScript for an internal-facing analysis app - using Om and D3 for
> real-time data display, with core.async over web sockets (via Sente).
>
> All new server-side development is in Clojure for us. Two reasons:
>
> * The Clojure code is much simpler, shorter and easier to maintain.
> * The team *love* writing Clojure! They're having more fun in their jobs
> than ever.
>
> The immutability, easy concurrency, DSLs and so on - those are all icing
> on the cake.
>
> Sean Corfield -- (904) 302-SEAN
> An Architect's View -- http://corfield.org/
>
> "Perfection is the enemy of the good."
> -- Gustave Flaubert, French realist novelist (1821-1880)
>
>
>
>

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