Re: [ANN] Clojure Applied: From Practice to Practitioner
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
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?
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
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
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.
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
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
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
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
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
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
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?
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 !!
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?
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
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
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
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
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
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
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
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!
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!
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!
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.
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 ?
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
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.
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
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)
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
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.
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
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
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
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
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
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
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
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?
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
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
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?
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?
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?
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!
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.