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

2015-04-08 Thread Mike Haney
I've been waiting for this since the Conj, and so far it has been worth the 
wait.

One thing that impressed me right off the bat was the amount of content - 300 
pages in this beta version.  A pleasant surprise considering the recent trend 
of early access books that only have 2-3 chapters completed (and often times 
just the introductory info at 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] Clojure Applied: From Practice to Practitioner

2015-04-08 Thread Mike Haney
Yeah, I noticed my mistake after I posted.  I regularly use the kindle app and 
iBooks and I forgot how they represent page numbers differently.

So I'll use a different, more appropriate metric - AIDKT's (Ah, I didn't know 
that).  About 30% of the way through the book, and I'm registering 3-4 AIDKT's 
per chapter.  Good stuff.

-- 
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: Deterministic macro expansion for Clojure?

2015-03-31 Thread Mike Haney
You also might want to check out this talk http://youtu.be/YHctJMUG8bI

In part of the talk, he describes how they generate symbols deterministically 
to use in query fragments that can be predictably combined into Datomic 
queries.  Different application, but mostly the same requirements as you stated.

-- 
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][book] Clojure Reactive Programming

2015-03-26 Thread Mike Haney
There is value in comparing approaches, minus the personal attacks.  I would 
suggest starting a different thread, though.

Bringing this back to the original topic - I'm about 25% through the book, and 
it is really good so far.  Thank you Leonardo for writing what so far appears 
to be a very timely and useful reference.

-- 
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][book] Clojure Reactive Programming

2015-03-24 Thread Mike Haney
This is the first new Clojure book that has looked interesting to me in some 
time.  I just picked it up, I'll let you know my thoughts when I've had time to 
read through 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.
For more options, visit https://groups.google.com/d/optout.


[ANN] cqrs-server - An opinionated CQRS/ES implementation using Onyx, Datomic, DynamoDB, Kafka and Zookeeper.

2015-02-14 Thread Mike Haney
Deon,

This is outstanding.  I experimented with a similar approach last summer, but 
struggled with a couple of things.  First was what to use for the event store.  
I considered a few options, like using Datomic for that as well (I.e. annotate 
transactions and treat the sequence of transactions as the event stream) and 
even just using Kafka and retaining the logs indefinitely.  Both of those 
options have problems.  I like your approach of using a simple KV store - I'm 
embarrassed that I didn't think of that earlier.

Probably the biggest issue was the overall glue to tie the system together in 
an extensible way.  This was before Onyx was released, and although when I saw 
Onyx I thought it was promising, I had moved on to a different project and 
didn't have the time look into it fully.  I'm glad to see someone else has done 
that work.

I think this approach is very promising, and I will be digging into your system 
at the first opportunity.  Thank you so much for sharing this work with the 
community.

Mike

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


alternatives to component (like) systems

2015-01-27 Thread Mike Haney
I can say from experience that it's quite a bit easier to use component from 
the beginning than to retrofit it, plus it solves the problem of controlling 
startup order quite nicely (among others).  If you're planning on using 
component anyway, you might as well bite the bullet and start with it now.  As 
a bonus, you'll have a smoother workflow with the reloaded pattern, and you can 
use prebuilt components from juxt/modular or danielsz/system for a lot of 
common services you are likely to need, which saves you more time.

It's not that hard to pick up - a good starting point is Stuart's Clojure West 
talk from last year (on YouTube).  There are also several lein templates out 
there that will get you up and running quickly.  And you can learn a lot just 
reading through the source of components in those libraries I mentioned.

If you still have problems, feel free to ask and someone will be able to help 
you out.  A lot of people use component and related libs, and I've seen 
excellent answers to component questions on here before (so a search of the 
list archives might be in order too).

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


Pedestal comparison to Sente/HTTPKit

2015-01-26 Thread Mike Haney
I haven't had a chance to really dig into Pedestal yet, but Ryan Neufeld did a 
video sometime back that really opened my eyes to how Pedestal works:  
http://youtu.be/sFT_0v-iKVQ

Pedestal is primarily focused on letting you provide your services (RESTful or 
otherwise) while still providing some ability to push updates out to clients 
through SSE.  In my view (someone may correct me on this) it would be ideal for 
servers where you are mostly servicing api requests, but occasionally need to 
push notifications out to clients.

In contrast, Sente is purely focused on socket communications between client 
and server.  There's no real facility there for providing RESTful services, 
because that's not it's purpose.  You would either have to model your requests 
as a message going over the client-server socket, or provide a separate 
RESTful endpoint running alongside your socket connection.  So it really 
depends on your apps architecture.

I've experimented with Sente quite a bit, and it really is cool and quite 
robust, but it's fairly low level in that you would need to build your 
messaging system on top of it, since it is only concerned with managing the 
socket connection.  If you are planning a very dynamic app that needs real-time 
updates, it's a great platform on which to build it, but it is just a platform.

A third option would be to use Ring and maybe Liberator to provide a REST 
endpoint and Sente to handle mainly the server-client notifications.  This is 
comparable to the Pedestal approach, and if this is the style app you need, the 
real comparison is between Ring+Sente (or some other method of push updates) 
and Pedestal.  Comparing Pedestal directly to just Sente is apples and oranges.

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


Pedestal comparison to Sente/HTTPKit

2015-01-26 Thread Mike Haney
Forgot to mention, as far as raw performance/latency of HTTP servers go, you 
can find a comparison here: 
https://github.com/ptaoussanis/clojure-web-server-benchmarks

-- 
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] dformat 0.1.0

2015-01-15 Thread Mike Haney
I completely agree that the order of arguments is backwards - precludes the use 
of 'partial'.

Other than that, good job.  Very clever idea.

-- 
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 Desktop UI Design Application

2015-01-13 Thread Mike Haney
My evolution is similar to Colin's, with more SWT than Swing.  And I 
understand where you're coming from - did Java for 15 years and C++ before 
that.  I didn't even really learn about functional programming until about 
3 years ago, and after an aborted dive into learning Scala I switched to 
Clojure 18 months ago and haven't looked back.

Anyway, given what I know today If I had to write a desktop GUI, my first 
instinct would be Clojurescript+node-webkit.

There's not as much to learn as you might think.  It sounds like you 
already know Clojure, so Clojurescript isn't a big leap.  Core.async is 
not, but by no means a requirement - you can safely ignore it for now and 
only reach for it if it solves a particular problem you are having.  For 
the database, there is Datascript which is basically Datomic in the 
browser.  This would give you a very capable embedded database that you can 
simply serialize to a file to store your document in a desktop app.  

Coming from a mostly server background, I found the React model very 
familiar and easy to pick up.  You get a request, query the database, and 
render a template.  It looks very different in React, but conceptually it's 
the same thing as PHP or Spring MVC or whatever.  You also gain access to a 
huge number of JS widgets for just about anything you can imagine, from 
fancy input controls to graphs and charts and even 3d rendering.  

Here's a simple model you can start with and build on as-needed - use 
Datascript as your source of truth for your data, and all your event 
handlers and other application logic simply transacts against this DB. 
 Your views simply query the DB to construct their data.  All that's left 
is triggering when the view refreshes to reflect changes in the DB, and 
that will depend on which React wrapper library you are using.  

In my experience, to integrate with Datascript the easiest to hardest 
choices are: Rum, Quiescent, Reagent, Om.  I've recently switched to Rum 
(by the same guy who wrote Datascript) and it's dead simple - like 3 lines 
of code, done!  But Rum is very new and fairly low level, so it might not 
be the easiest to start with.  For overall ease of use, Reagent is a great 
choice although the integration with Datascript is a bit more work.  If 
you're interested, I can go into more detail on how you might integrate 
Datascript with a given library.



On Tuesday, January 13, 2015 at 10:21:24 AM UTC-6, MS wrote:

 Hi, thanks for the response.  Yes I've thought about a web-based platform. 
  There are tools like LightTable and UpVerter which are inspiring, and I 
 understand the V8 javascript engine renders stuff pretty quickly. 
  Unfortunately that would require getting up to speed on yet another way of 
 thinking about things, clojurescript, etc.  I'm kind of still stuck in the 
 90's and I have only so much brain power/attention/time available. :)  I'll 
 take a look at datomic.  There are so many libraries and various tools for 
 asynchronous frp javascript web based back-end server json immutable 
 reactive things I really can't keep up with all the cool kids.  

 On Tuesday, January 13, 2015 at 7:15:26 AM UTC-8, Colin Yates wrote:

 Wow, there is a lot to deal with :), so let me throw out some ideas:
  - have you considered building a web-app instead of a desktop app? If 
 so, have a look at one of the react based languages (om or reagent would be 
 my choice). Alternatively take a look at other 
 http://en.wikipedia.org/wiki/Functional_reactive_programming libraries. 

 It is a different way of working, but its programming model restricts you 
 in a way that removes many problems (if you see what I mean).

 Also, I would be reaching for an in-memory database (assuming a server 
 isn't involved) about now, datatomic would be the obvious choice.

 I don't think what you are trying to do is stupid, I do think you might 
 want to do some thought experiments about different architectures and 
 paradigms (specifically FRP related paradigms).

 Oh, and have a quick scan through http://swannodette.github.io/, there 
 are a few mind-changing posts.

 On Monday, 12 January 2015 18:53:07 UTC, MS wrote:

 (Cross-posted on StackOverflow)

 I'm trying to design a desktop UI for schematics, layout, drawing stuff. 
  Just looking for high level advice from actual software designers.

 Assuming an in-memory database, (clojure map of arbitrary depth for 
 all user data, and possibly another one for application preferences, etc.), 
 I'm examining how to do the model-view-controller thing on these, where the 
 data may be rendered *and modified by* any one or more of:

  1. A standalone text field that shows a single parameter, such as box 
 width.
  2. An inspector type of view that shows multiple parameters of a 
 selected object, such as box width, height, color, checkboxes, etc.
  3. A table/spreadsheet type of view that shows multiple parameters of 
 multiple objects, potentially the whole database
  4. A 

Re: Clojure for Desktop UI Design Application

2015-01-13 Thread Mike Haney
I know it seems overwhelming, and if you try to keep up with all the latest 
cool libraries, 

-- 
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: [lein] compile sass?

2014-12-28 Thread Mike Haney
Cool, I'll give your fork a try.  I've been using lein-shell to just run sassc 
directly, but it's annoying because sassc bombs if the target folder doesn't 
exist.

-- 
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: Thnx for clojureconj videos !!

2014-11-24 Thread Mike Haney
Seconding the recommendation for the Clojure Gazette.  If you aren't subscribed 
already, just do it.  It's a fantastic resource, and I am very grateful for 
Eric Normand and the tireless effort he puts into it.

On a side note, I had the pleasure of meeting Eric at the Conj, and he is one 
of the nicest people you could ever meet.  He does the Gazette and all his 
videos in his free time while holding down a day job and supporting a family.  
That requires a tremendous level of commitment and personal sacrifice, and it's 
people like him that makes this community so special.  We need to support these 
efforts any way we can - subscribe to the Gazette, sponsor it if you are in a 
position to do so, or buy his videos, if not for yourself maybe for that friend 
you drive crazy by going on and on about 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: If code is data why do we use text editors?

2014-11-15 Thread Mike Haney
Colin - I'm just curious if you have any experience with Jetbrains MPS?  I was 
into it pretty heavily before I got into Clojure, and I've thought a lot about 
how to add support for Clojure to it (would be pretty straightforward, 
actually), but haven't had the time to pursue it or the conviction that it 
would be worthwhile.

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


Idiomatic way to return a single value from an async function

2014-11-10 Thread Mike Haney
Eric Normand has an interesting article on this here: 
http://www.lispcast.com/core-async-code-style

-- 
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: Modelling in Clojure

2014-10-21 Thread Mike Haney
I can't remember if someone posted this already, and the thread is too long and 
I am too lazy to go back and check, so I apologize if it's already been 
mentioned.

Anyway, I found this talk very helpful when I started learning Clojure, getting 
used to data-oriented thinking:

http://www.infoq.com/presentations/Thinking-in-Data

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


Programming Clojure in the large: libraries, frameworks, oh my

2014-09-19 Thread Mike Haney
Just a note - juxt/jig isn't being maintained, and has been replaced by 
juxt/modular.  Modular is based on Stuart Sierra's component library, and 
mainly consists of several pre-built components and some nice helpers for 
wiring and configuring components.  It also plays well with juxt/ceylon, which 
provides a growing collection of pre-built security components and looks very 
promising.

-- 
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] CrossClj, a tool for cross-referencing the clojure ecosystem

2014-06-11 Thread Mike Haney
Very cool.  Is there a public REST api?

I ask because I'm thinking a lighttable plugin that uses this to search for 
dependencies and automatically add them to project.clj would be pretty easy to 
write and quite useful.  Yes, I could use clojars directly, but this would 
allow more options in the future.

-- 
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] CrossClj, a tool for cross-referencing the clojure ecosystem

2014-06-11 Thread Mike Haney
I think he mentioned he was using tools.analyzer.

I would also be interested in seeing the source.  Pairing this with codeq could 
be 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.


clojurescript: modifying function definitions

2014-05-14 Thread Mike Haney
There's a library for that - https://github.com/technomancy/robert-hooke/

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

2014-05-01 Thread Mike Haney
One thing to keep in mind since he's using Datomic - there is currently no way 
to restrict access to the transactor, so it needs to be run behind a firewall.  
This can be done easily on AWS by creating a VPC where only the peer is exposed 
to the net.

Outside of AWS, you're pretty much on your own.  This can be done on most 
hosting platforms, you just have to figure out the configuration for yourself.  
I'm not sure about Heroku - because of the way they build their dynos, I'm not 
sure how or even if a transactor could be deployed there.

It would probably be a good idea to start collecting info on deploying Datomic 
to different platforms as people try it and find what works (or doesn't).  
Maybe a community wiki or something.

-- 
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 web project? Talk me into it!

2014-04-30 Thread Mike Haney
Pedestal-app is pretty much dead, but pedestal (service)  is alive and well, 
and that is what I was talking about. 

I know some people were upset when pedestal-app was put on hiatus, but I look 
at it a different way.  Libraries like react (and its clojurescript 
counterparts) are changing the way people think about client-side development, 
and that's starting to look like the next big evolutionary step in ui's.  
Pedestal app was very new when this firestorm hit, with very little adoption, 
so I think Cognitect made a prudent choice to suspend it rather than encourage 
people to continue down a path that could end up in obsolescence.  Sure, they 
could have pressed on and made incremental changes as the technology coalesced, 
but why go down that path when it was still early enough to scrap the library 
without affecting many users?

Pedestal-service is a different story.  It's been around longer and from what 
I've seen Cognitect hasn't wavered at all in their support for 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.
For more options, visit https://groups.google.com/d/optout.


Re: Clojure for web project? Talk me into it!

2014-04-29 Thread Mike Haney
Pedestal was developed by Cognitect and I would assume they use it on many of 
their consulting projects.  Since future support appears be a major concern for 
you (rightly so), Pedestal probably fulfills that requirement better than 
anything else out there right now.  Even if you don't need all the features it 
offers, it's worth considering building your server-side stack around it for 
that reason alone.

-- 
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: *** Congratulations to our GSoC 2014 students!

2014-04-29 Thread Mike Haney
Wow, lots of cool projects to look forward to.  Congrats to all the GSoC 
students, and thank you to all their mentors.

-- 
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-23 Thread Mike Haney
This sounds similar to what the Cognician guys are doing.

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


Which linux distro has intelij ?

2014-04-22 Thread Mike Haney
I've used Intellij on Arch and Ubuntu, so I know it works on those (or at least 
it did - I switched to a Mac 18 months ago).

Intellij runs on the JVM, so it should work on any distro in theory.  JetBrains 
has a good knowledge base and forums on their site, so you can probably find 
details on configuring it for various distros there.

As for Cursive, I can't help because I haven't tried it but I have heard good 
things about it.  I did try the La Clojure plugin when I first started and was 
not impressed.  The CCW plugin for eclipse is quite good, but I chose 
Lighttable and haven't looked back.

Let us know how it works out, and welcome to 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: Books for learning Clojure

2014-04-22 Thread Mike Haney
Yeah, JoC is my favorite clojure book, but I agree it's not the best to start 
with.

Let me throw a couple others into the mix that haven't been mentioned yet.  If 
you come from a solid OO background, I highly recommend Brian Marick's book 
Functional Programming For the Object Oriented programmer.  He sells it on 
Leanpub, so it's not as well known as some of the others.  But for someone with 
lots of OO experience trying to wrap their head around functional concepts, I 
think it's a great book.  I've started recommending it to all my old Java 
friends who are interested in Clojure.

Another book I found useful starting out was Web Development in Clojure (I 
think that's the name) from PragPub.  It's main contribution is showing you how 
to put all the pieces together end to end into a finished app.

One last one that I know seems completely out of place is Functional 
JavaScript by Fogus (one of the JoC authors).  Even if you never use 
JavaScript, the book is worth reading for his explanations of functional 
concepts.

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


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.


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: What's clojure killer app? I don't see any.

2014-04-19 Thread Mike Haney
What's killer about clojure is not an app, but an idea.  Simplicity.  
Everything else stems from that idea.  Immutability, decomplecting, data first, 
consistent abstractions - all the things we like to talk about in clojure are 
really about simplicity.  It's about getting all the crap out of your way so 
you can focus on solving the problem YOU want to solve, not the problems 
foisted upon you by your language or framework or methodology/dogma.

I've heard all these promises before over my 20+ years in the industry, and had 
just about written it all off as a pipe dream.  I'm sure you have too - and we 
all known that if something seems too good to be true...

But not this time.  Clojure is true.

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


Hosting Providers

2014-04-18 Thread Mike Haney
In addition to heroku, there is Amazon Elastic Beanstalk, which lets you deploy 
a WAR file on EC2 without having to setup the infrastructure yourself.  Both 
are great ways to go.  

I lean towards using Heroku for it's simplicity, but Amazon makes sense when 
you need to use other Amazon services like Dynamo DB (which looks like a great 
option for a Datomic backing store).

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

2014-04-18 Thread Mike Haney
I know they also have Mongo and Neo4j available on Heroku, but neither of those 
are supported as a Datomic back end.  Postgres will work with Datomic just 
fine, though.  The only hitch with Heroku is that I'm not sure how to go about 
deploying a transactor.  Maybe someone has done it and blogged about it (i 
haven't looked), otherwise you'll have to figure it out on your own.

If you go the AWS route, there is good documentation for configuring Dynamo and 
deploying a transactor on the Datomic site.  Then you could deploy your peer 
through Beanstalk and you're good to go.

That's the route I'm planning to take, but I'm still weeks away from setting up 
a staging environment.  When I do get to that point, I can share my experience 
and any gotchas I encounter.  If you get there first, or especially if you 
figure out how to do it on Heroku, maybe you could do the same?

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


Why I'm giving Clojure a try

2014-04-16 Thread Mike Haney
Welcome aboard!  Fasten your seatbelt, it will be a wild (and exhilarating) 
ride.  I'm still relatively new, but I've learned enough to know that clojure 
(and clojurescript and Datomic) are what I need to be focusing on.  Besides all 
the other benefits, it's just plain fun.  I haven't had this much fun or felt 
as empowered as a programmer - well, ever.

You are spot on about the community as well.  It appears to me that the clojure 
community has made a conscious effort to avoid the mistakes of the LISP 
communities in the past, and it shows.  I think another part of it - for me at 
least - is that once you discover the power and sheer joy of a better way to 
solve problems, you just want to share that.

BTW, I followed a similar path as you, picking Scala over Clojure for most of 
the same reasons.  But Scala never took with me.  I always had the feeling I 
was headed in the wrong direction with Scala.  This was before I started 
watching Rich Hickey's talks, but I think I just intuitively knew that adding 
complexity as Scala does was not the solution to our problems.  I had been down 
that road before with numerous technologies (OSGI, reprogramming, 
model-driven-whatever) and it's the same thing - trying to simplify by adding 
complexity.  To me, that makes about as much sense as trying to spend your way 
out of debt.

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


Re: Why I'm giving Clojure a try

2014-04-16 Thread Mike Haney
It's almost cliche to say it, but you really do get used to the parenthesis.  
Once you do, you won't give it a second thought, and for me at least, it's the 
other languages that start to look weird with their irregular syntax.  And at 
least one a week I catch myself writing (if ... or (for ... in java, which 
I have to use for my day job. :(

Lighttable is a great environment to start with, and even beyond.  I assumed 
from the beginning I would have to learn emacs at some point, but so far I 
haven't hit limitations with lighttable that are enough to justify pushing 
through the pain to learn more emacs.

One big advantage of lighttable is screen real estate.  I probably work 60% of 
the time on my MacBook with no external monitor, so screen space is precious.  
With emacs or sublime, you pretty much need to split your screen and keep a 
repl in one part.  With lighttable, I get the results of eval right next to the 
code, which is a very efficient way to solve this problem.

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


Light table

2014-04-16 Thread Mike Haney
Lots of people use it, including me.   I don't think it's a bad choice for 
beginners at all.

The conventional wisdom seems to be that you will end up learning emacs 
eventually if you spend any amount of time doing clojure or lisp, so you might 
as well learn it from the start.  That is definitely the approach taken in the 
braveclojure book, and he may be right, but I have no regrets starting with 
lighttable.

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


Re: Why I'm giving Clojure a try

2014-04-16 Thread Mike Haney
Sean - funny, I used Together/J when it first came out, way before Borland 
bought it.  It's been a long time, but I remember being quite enamored with it 
as well.  It was certainly ahead of it's time.

Then we switched to Visual Age for Java, which was pretty cool at first.  Until 
it corrupted its workspace and you lost work.  And that seemed to happen more 
the larger the project grew.  And eventually it was happening 2-3 times per 
week for each dev.  Man, I hated that tool by the end of that project.

-- 
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: Puppet Labs and Trapperkeeper

2014-04-14 Thread Mike Haney
Great timing on the new blog post.  I'm ramping up on my first real clojure 
app, and have been planning to use Component for this piece.  I read the first 
blog post yesterday and it sounded interesting, but I've pretty much locked 
down the stack I'm going to use (you can evaluate libraries forever, but at 
some point you just have to stop looking and pick one to go with).

But after reading the new post, I think it's worth taking a look at 
Trapperkeeper.  Even if I don't switch now, if all goes well I would like to 
turn this app into a larger SaS offering, possibly multi-tenant, and I could 
see something like Trapperkeeper helping there.

I get the distinct impression you have some former OSGI users on your team?  
This reminds me a lot of the service registry in OSGI.  And I don't mean that 
as an insult - the service registry was the best part, it was all the other 
crap that made it painful to use (particularly anything from eclipse, which 
ruined OSGI in my opinion, but that's another rant).

Anyway, this looks like something that could be useful in many cases, and thank 
you for open-sourcing 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.
For more options, visit https://groups.google.com/d/optout.


Re: Om and core.async: Necessary together?

2014-04-10 Thread Mike Haney
Thanks for the clarification, that helps a lot.  And I agree you wouldn't 
expose channels in the public API for a component, that's definitely an 
implementation detail.

I have more ideas/questions on the topic, but I don't want to hijack this 
thread, and I probably need to spend some more hammock time before I propose 
anything.

Thanks again.

-- 
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: Real World Example

2014-04-10 Thread Mike Haney
I'm in the early stages of developing a real-world app for a customer that will 
use a full clojure stack.  It's maybe not as sexy as all the social networking 
examples you see, but I think it's more representative of the types of apps 
most people write to satisfy real business needs.

The app is for a service company doing industrial electrical work, and will be 
used to manage jobs, schedule crews, order parts, tie into the accounting 
system for invoicing - typical stuff that every business needs to manage.  It 
will have a web interface as well as mobile, since one of main goals is to 
equip the crews with tablets to use in the field.

It's a big project that I wouldn't even attempt as a side project if it weren't 
for the leverage clojure gives me.

One thing I would like to do is blog about the project as I work on it.  I 
think this would not only be valuable for the community at large, but also 
would help me to vet my design choices based on feedback.

I'm meeting with the customer tomorrow and will bring this up.  I know him 
well, and I expect to get his approval, so hopefully I'll have the blog up in 
the next week or so.

-- 
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: Real World Example

2014-04-10 Thread Mike Haney
Yes, it's just me.  Crazy, right?  Like I said, I wouldn't even have attempted 
it without the productivity gains I've seen since I've started using clojure.

Fortunately, the customer isn't in we need this yesterday mode (a refreshing, 
but rare, circumstance).

-- 
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 experience with Cognitect?

2014-04-09 Thread Mike Haney
Thanks for the feedback.

Resume updated - check
Cover letter written - check
Email sent - check
Ego intact - pending

-- 
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: Om and core.async: Necessary together?

2014-04-09 Thread Mike Haney
David,

This seems to be a different take on things than you proposed in your 
series of CSP articles last summer.  I'm not saying that is a bad thing - 
if an idea doesn't pan out, it needs to be scrapped (and most of us cling 
to bad ideas longer than we should).  I'm just curious why the change of 
heart (if that is the case, maybe I'm just misunderstanding you).  You've 
mentioned reusability a couple of times, but I just don't see how the Om 
approach improves that over the architecture you described in those 
articles.

What attracted me to the React approach initially was how well it seemed to 
fit in with CSP.  The idea of separate coordinated processes manipulating 
the application state, while the UI representation is just a function of 
that state (i.e. a pure transformation from the app state to a DOM, or 
virtual DOM in React's case) is very appealing. I know things are usually 
uglier in practice, and you have far more experience with this stuff than I 
do, so maybe you have just hit enough ugly parts to rethink the approach 
(if so, please share)?

I thought I had figured out the missing piece to my comprehension when I 
read one of your posts on the Clojurescript group the other day, where you 
talked about Om components that don't render.  I didn't even know that was 
possible before you mentioned it, and then the lightbulb came on and I 
started thinking about how to adapt your CSP examples in that context.  It 
seems like you could have processes like a highlighter or selector that are 
implemented as non-rendering Om components and they could wrap and compose 
with other components.  I was anxious to try that out on my current 
project, but I've been tied up on Datomic stuff all week and didn't get the 
chance yet.

But after reading this post, I'm not so sure about that now.  I know you've 
been thinking through some of the reusability issues over the last week, so 
maybe I just need to wait until you write up your ideas.  I really want to 
figure this out and use it on a non-trivial real-world project (the one I 
mentioned above).  So if you need a lab rat for some of these ideas...   

On Wednesday, April 9, 2014 6:57:50 PM UTC-5, David Nolen wrote:

 Also don't use a channel unless you actually need complex coordination. I 
 would always default to a callback first.

 David


 On Wed, Apr 9, 2014 at 7:56 PM, David Nolen dnolen...@gmail.comjavascript:
  wrote:

 Reusable components - use callbacks
 Application components (non-reusable or less re-usable) - use channels

 David


 On Wed, Apr 9, 2014 at 7:53 PM, Brendan Stromberger 
 brendanst...@gmail.com javascript: wrote:

 How can one build up the intuition to know, in what situation, whether 
 it would be more beneficial to use callbacks or channels? Are there 
 'rules-of-thumb' that I could follow until that intuition is established?


 On Wednesday, April 9, 2014 8:40:19 AM UTC-7, David Nolen wrote:

 It's mostly for demonstration purposes, but I think it will be a common 
 pattern when more complex coordination is required. I think components 
 should probably communicate via callbacks and applications can glue things 
 together with core.async if it's beneficial.

 David


 On Wed, Apr 9, 2014 at 10:54 AM, Kendall Buchanan 
 ken...@teachbanzai.com wrote:

 Hi,

 I have a question about Om's Basic Tutorial, and perhaps 
 core.async's role generally:

 The example given in the section, Intercomponent Communication, uses 
 core.async for communication between two components. Is this necessary? 
 Or, 
 is it demonstration? It seems in testing that I can even more easily pass 
 functions between components as I might a channel, but without go loops?

 I've used React.js to some extent and obviously it lacks 
 Clojurescripts asynchronous fanciness. Where might core.async excel in Om?

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

Any experience with Cognitect?

2014-04-08 Thread Mike Haney
Cognitect (and previously Relevance) always seem to have openings for 
contract Clojure developers.  I was wondering if anyone here has applied 
for and/or actually been hired for one of these positions, and was willing 
to share their experience?

I have thought about the possibility of being a contractor for Cognitect 
for awhile, and it's been pretty much my target goal as I've been learning 
Clojure/Datomic over the last 8-9 months.  The bar seems pretty high - I 
mean, do you have to be a Mike Fogus or Tim Baldridge to work there?

My current contract is winding up soon, and my Clojure skills are at the 
point where I think I am almost productive enough to use it professionally 
(IMO you have to actually USE something professionally to reach that last 
level of productivity, which is why I said almost).  This would be an ideal 
time to make the switch, but I don't want to apply too soon and ruin my 
chances.

One other question - for anyone who has worked as a contractor for them, 
was there usually/always enough work to keep you busy full time, or would I 
need to plan on doing other freelance work to fill in the gaps between 
assignments for them?

TIA for any advice.  

 

-- 
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-12 Thread Mike Haney
Have you considered node.js?  It's fantastic for building web services, very 
easy to deploy (Heroku), and should scale well enough that most startups won't 
outgrow it (and if you do, that's a very good problem to have).

You can still build your app using Clojurescript, either for the entire thing, 
or just in areas where it makes the most sense, which would probably be more 
palatable for your investors and other business types.  

The thing is, most developers would probably rather use something like 
Clojurescript once they learn it, compared to writing raw JavaScript, so that 
would actually aid your adoption.  

Framing the choice as PHP vs Clojure makes it an all or nothing decision.  But 
shifting the discussion to the merits of node.js, you can easily justify why it 
makes sense for your application.  Then you can address the JS vs CLJS issue, 
and even if you lose initially, you still have the stealthy approach of using 
CLJS to solve a hairy problem in an isolated part of your app, then leveraging 
that to revisit the merits of using it on a larger scale.

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