Re: [ANN] Predicat 0.2.2

2016-03-27 Thread adrian . medina
This looks really interesting and useful. Thanks for sharing. Thinking out 
loud, it would be interesting to see these failures integrated with 
something like Probe (https://github.com/VitalLabs/probe), which could not 
only record the failures but also potentially feed them into a monitoring 
system. Also, in tandem with Manifold 
(https://github.com/ztellman/manifold), I could see this greatly aiding 
asynchronous error tracing. 

On Sunday, March 27, 2016 at 8:03:46 PM UTC-4, Sébastien Bocq wrote:
>
> Hi all,
>
> I'm pleased to announce Predicat , a 
> new validation library that permits to create and compose predicate 
> functions whose failures always carry the expression and the input of the 
> predicate that fails.
>
> See readme on github for the motivation examples:
> https://github.com/sbocq/predicat
>
> I hope you find it useful!
>
> Sébastien
>

-- 
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: Interest in a Full Featured Clojure Blog Engine

2016-03-27 Thread Timothy Washington
Ah just seeing this now. Duplicating a response to Nate, as I thought it
was just in my inbox. While I did get some initial interest, subsequent
requests for an architectural review (see here

 and here
),
didn't garner any interest. So I abandoned the effort. Perun and Cryogen
look really good. But I still think a full-featured blog engine would be a
useful tool. At the time though, I didn't have the bandwidth to invest into
something that wouldn't be used.

The real trick for me, was getting right, the bi-directional communication
between the blog's kernel and components, and between components
themselves. I can go into the thinking a little more if anyone's
interested. But in short, Stefon  ,
while getting a few stars, didn't get enough feedback for me to continue
investing time and effort.

Hth
Tim


On Sat, Mar 26, 2016 at 12:50 PM, Adei Josol  wrote:

> Another is Cryogen , which is
> on Leiningen instead of Boot.
>
>
> On Thursday, 24 March 2016 20:29:18 UTC, uns...@gmail.com wrote:
>>
>> I ran across this today: Perun 
>>
>> On Thursday, 18 July 2013 08:24:06 UTC-6, frye wrote:
>>>
>>> Hello,
>>>
>>> I'm thinking of how to build a composable blogging engine in Clojure.
>>> There have been a few attempts at this, with cow-blog
>>>  and my-blog
>>> . But these seem to be
>>> abandoned, and not heavily used. Vijay Kiran, last year, even wrote a
>>> series of blog posts (see here
>>> )
>>> about building a blog engine. As far as a list of posts goes, the data
>>> structure for each record was simple:
>>>
>>>- title
>>>- content
>>>- status
>>>- created-date
>>>- published-date
>>>- author
>>>
>>>
>>> I think this is the most basic thing you could do, to get running. But
>>> I'm thinking of approaching the feature set of Wordpress
>>> . So I'm thinking of the
>>> Data Structure(s) of features like:
>>>
>>>- Web UI component; wyswyg editor, themes
>>>- Server component; embeddable in Compojure or Pedestal
>>>- Database component;
>>>- raw data structures, txt, rtf, images, audio, videos, documents
>>>   - adapters for Datomic, SQL(Postgres, etc), NoSQL (Mongo, etc)
>>>   - tags / categories for content
>>>- Authentication & Authorization; OpenID
>>>- Workflow component; preview, collaboration & editor review
>>>- Commenting component; default or an external comments service,
>>>like disqus  or discourse
>>>
>>>- Administration Console
>>>- Plug-in support
>>>- Import / Export
>>>- Multi-lang / Internationalization
>>>
>>>
>>> I know that I currently wish I had a Clojure weblog engine that I could
>>> stick into a site I'm building. If there's already something available,
>>> I'll obviously just use that. But otherwise, is this something that would
>>> be interesting to people?
>>>
>>>
>>> Thanks
>>>
>>> Tim Washington
>>> Interruptsoftware.ca / Bkeeping.com
>>> 416.843.9060
>>>
>>> --
> You received this message because you are subscribed to the Google
> Groups "Clojure" group.
> To post to this group, send email to clojure@googlegroups.com
> Note that posts from new members are moderated - please be patient with
> your first post.
> To unsubscribe from this group, send email to
> clojure+unsubscr...@googlegroups.com
> For more options, visit this group at
> http://groups.google.com/group/clojure?hl=en
> ---
> You received this message because you are subscribed to the Google Groups
> "Clojure" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to clojure+unsubscr...@googlegroups.com.
> For more options, visit https://groups.google.com/d/optout.
>

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


[ANN] Predicat 0.2.2

2016-03-27 Thread Sébastien Bocq
Hi all,

I'm pleased to announce Predicat , a new 
validation library that permits to create and compose predicate functions 
whose failures always carry the expression and the input of the predicate 
that fails.

See readme on github for the motivation examples:
https://github.com/sbocq/predicat

I hope you find it useful!

Sébastien

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


Re: How manage this state problem The Clojure Way?

2016-03-27 Thread James Reeves
On 27 March 2016 at 23:10, hiskennyness  wrote:
>
> On Saturday, March 26, 2016 at 8:53:24 PM UTC-4, James Reeves wrote:
>>
>> Have you considered modelling this as a functional problem first?
>>
>
> Well. I was doing that in Cells 0.1... Worked great but quickly failed on
> scalability as formula depended on formula so we quickly moved to caching
> calculated values and then a scheme to know when the cache was obolete.
>

Isn't that just a data structure problem?

I mean, I guess you'd have a function to update the data structure you're
keeping the cells in:

(set-cell cells :x 2) => cells'

So you know which cell is being directly updated, and if you use a
dependency  graph, you can
quickly work out all the dependent cells as well. Then you recalculate all
the cells with formulae that are dependent upon the cell being updated.

- James

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


Re: How manage this state problem The Clojure Way?

2016-03-27 Thread hiskennyness


On Saturday, March 26, 2016 at 8:53:24 PM UTC-4, James Reeves wrote:
>
> Have you considered modelling this as a functional problem first?
>

Well. I was doing that in Cells 0.1, which was invented to manage DUI 
layout no matter what wanted to be positioned or sized relative to what 
attribute of what object (as long as no circularity was attempted).

Worked great but quickly failed on scalability as formula depended on 
formula so we quickly moved to caching calculated values and then a scheme 
to know when the cache was obolete.


> So perhaps start out with an immutable data structure to model your cells:
>
> (def cells
>   {:x [:const 1]
>:y [:const 2]
>:z [:derive [:x :y] (fn [x y] (+ x y))]}
>
> Then you could use a function to calculate the value:
>
>(calculate cells)
>=> {:x 1, :y 2, :z 3}
>
> If you want cells to act more like refs, then you can keep a global 
> database:
>
> (def cells-data (atom {})
>
> Then use an watch on the atom to keep a cache of the calculation whenever 
> the cells change.
>

Oh, cool, I did not know about watch. Maybe I can use that somewhere. But 
having the whole model (which can have hundreds of datapoints mediated by 
cells all in one global atom might be a little too unspecific when a change 
comes along.


> When you create a cell, it adds to the global database. When you deref a 
> cell, it just refers to the cached calculation.
>
> If you need more performance than an atom, you could use something like 
> the megaref 
> 
>  library.
>

Intriguing! Right now the Cells library orders everything so no two updates 
can run concurrently, but something like megarefs could let me relax that 
yet retain much consistency.

Thank for the input.

-kenneth
 

>
> - James
>
> On 26 March 2016 at 12:07, hiskennyness  
> wrote:
>
>> Follow-up question: how do I test that I am collision-proof?
>>
>> Perhaps:
>>
>>1. Kick off two threads (call them 1st and 2nd) 100ms apart
>>2. Have them update the same ref
>>3. Have 1st do the initial reset! to the ref then sleep for 200ms
>>4. 2nd just charges ahead
>>5. Check that each took full and complete effect, with 2nd appearing 
>>before 1st (do I have that right? Collisions are detected when a dosync 
>>finishes and attempts to write to the refs?)
>>
>> How'm I doin?
>>
>> Thx, hk
>>
>> -- 
>> You received this message because you are subscribed to the Google
>> Groups "Clojure" group.
>> To post to this group, send email to clo...@googlegroups.com 
>> 
>> Note that posts from new members are moderated - please be patient with 
>> your first post.
>> To unsubscribe from this group, send email to
>> clojure+u...@googlegroups.com 
>> For more options, visit this group at
>> http://groups.google.com/group/clojure?hl=en
>> --- 
>> You received this message because you are subscribed to the Google Groups 
>> "Clojure" group.
>> To unsubscribe from this group and stop receiving emails from it, send an 
>> email to clojure+u...@googlegroups.com .
>> For more options, visit https://groups.google.com/d/optout.
>>
>
>

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


[ANN] clojure.java.jdbc 0.5.0 available

2016-03-27 Thread Sean Corfield
What?
Clojure contrib wrapper for JDBC & SQL

Where?
https://github.com/clojure/java.jdbc/

Details?

Release 0.5.0 on 2016-03-27
* Allow PreparedStatement in db-do-prepared-return-keys JDBC-115.
* Remove exception wrapping JDBC-114.
* Drop Clojure 1.3 compatibility.

Despite the version jump from 0.4.2 to 0.5.0, this is a minor feature release, 
with the caveat that Clojure 1.3 is no longer supported. Dropping 1.3 allowed 
the exception unwrapping logic to be removed (because Clojure 1.4 stopped 
wrapping exceptions!) which cleans up the library quite a bit.

The main focus of 0.5.0 is JDBC-115 which improves handling of how (generated) 
keys can be returned across more databases and is a continuation of JDBC-104 in 
release 0.4.2. prepare-statement can now return keys for more databases, and 
db-do-prepared-return-keys now accepts a PreparedStatement or a SQL string, 
bringing it in line with several other APIs in the library. This allows more 
control over how keys are returned (since you can now call prepare-statement 
and pass a vector of key column names, and then pass that to the db-do-* 
function instead of relying on its defaults).

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

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




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


Re: more minimal clojurescript intro/app

2016-03-27 Thread Lee Spector

Thanks Alan, Pedro, and Colin! 

All of those look like good starting points, and I will explore them soon.

 -Lee


> On Sat, Mar 26, 2016 at 8:06 AM, Lee Spector > 
> wrote:
> 
> Can anybody tell me or point me to a resource that will tell me how to get my 
> Clojure program running as a Clojurescript program in a web page? Ideally, I 
> would like to do this without learning a lot about Javascript or web 
> programming. I just want this existing, pure Clojure program to run in a 
> client's browser, running a computation and providing text output.

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


Global catastrophic risks

2016-03-27 Thread Alex Miller
Let's keep this group on Clojure topics please, thanks.

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


Global catastrophic risks

2016-03-27 Thread Richard Möhn
http://worrydream.com/ClimateChange/

I hadn't been thinking about global overheating (aka climate change) much 
before Eric Normand recommended that article of Bret Victor's in his 
Clojure Gazette. Now I'm thinking about it a lot and thought I'd try and 
bring it to broader attention in the communities I know. For everyone here 
who hasn't found something to devote her- or himself to; for everyone who 
thinks that devoting oneself to creating yet another picture chat¹ is 
worthwhile; for everyone else, too: I strongly suggest reading that 
article. (The discussion on Hackernews 
 might be helpful as well.)

Global overheating is not the only extistential risk humanity is facing. In 
the wake of reading Bret Victor's article I discovered a bunch of other 
people who take on the burden of worrying about more than their private 
lives. This might be a good entrypoint: 
http://www.openphilanthropy.org/focus/global-catastrophic-risks The Open 
Philanthropy Project has a list of more global catastrophic risks 

.

Or, for an even more general approach: http://www.effectivealtruism.org/

Please think about it.

Richard

PS. Sorry for posting off topic.

¹…or Wiki software or React wrapper or cat video publishing platform or…… – 
I don't mean to bash people creating such things. Only to weigh the 
importance of such things against the importance of helping humanity 
survive.

-- 
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: more minimal clojurescript intro/app

2016-03-27 Thread Colin Fleming
In terms of learning a minimum about how ClojureScript itself works, I'd
recommend starting from the Quick Start
. It uses no
external tooling so there's no house of cards effect which can be
discouraging for new users. You'll end up with a very minimal setup, I'd
recommend that as a point to start from.

On 27 March 2016 at 11:11, Pedro Santos  wrote:

> I've done somehting like that:
>
> https://medium.com/@donbonifacio/running-clojure-code-on-javascript-e1f37071e69e#.mmasgmo7q
>
>
> On Saturday, 26 March 2016, Alan Thompson  wrote:
>
>> Have you seen this tutorial?   https://github.com/magomimmo/modern-cljs
>> Alan
>>
>> On Sat, Mar 26, 2016 at 8:06 AM, Lee Spector 
>> wrote:
>>
>>> Hi all,
>>>
>>> I have a pure Clojure program and I would like to make it run in the
>>> browser on client machines. It has no dependencies other than Clojure, it
>>> does no Java interop, and it has no GUI. There's no database, no user
>>> interaction (except for starting the program), and no networking. It just
>>> computes something and prints text (which goes to the REPL in the Clojure
>>> version). From what I've read, it should run exactly the same in
>>> Clojurescript with no changes.
>>>
>>> For the sake of argument -- and this isn't very far from the truth --
>>> let's say that I have absolutely no web programming experience, and that I
>>> don't know how to run Clojurescript at all (although I've been using
>>> Clojure for many years). I can produce basic HTML files and I can put files
>>> on a server in a public directory with a known URL, but that's it in terms
>>> of web "programming." And let's suppose that I know absolutely nothing
>>> about Javascript.
>>>
>>> Can anybody tell me or point me to a resource that will tell me how to
>>> get my Clojure program running as a Clojurescript program in a web page?
>>> Ideally, I would like to do this without learning a lot about Javascript or
>>> web programming. I just want this existing, pure Clojure program to run in
>>> a client's browser, running a computation and providing text output.
>>>
>>> Searching for "minimal clojurescript" turns up things much less minimal,
>>> assuming that I know more about Javascript and/or web programming, and/or
>>> that I want something more sophisticated than I've outlined here.
>>>
>>> If I can get this working then I will eventually want something
>>> *slightly* more complex in terms of user interaction: a text field on the
>>> page into which the user can type, and from which my program can read. But
>>> aside from this, and I guess a "Start" button, I need no GUI.
>>>
>>> I would appreciate any pointers that anyone can provide!
>>>
>>> Thanks,
>>>
>>>  -Lee
>>>
>>>
>>>
>>>
>>>
>>> --
>>> You received this message because you are subscribed to the Google
>>> Groups "Clojure" group.
>>> To post to this group, send email to clojure@googlegroups.com
>>> Note that posts from new members are moderated - please be patient with
>>> your first post.
>>> To unsubscribe from this group, send email to
>>> clojure+unsubscr...@googlegroups.com
>>> For more options, visit this group at
>>> http://groups.google.com/group/clojure?hl=en
>>> ---
>>> You received this message because you are subscribed to the Google
>>> Groups "Clojure" group.
>>> To unsubscribe from this group and stop receiving emails from it, send
>>> an email to clojure+unsubscr...@googlegroups.com.
>>> For more options, visit https://groups.google.com/d/optout.
>>>
>>
>> --
>> You received this message because you are subscribed to the Google
>> Groups "Clojure" group.
>> To post to this group, send email to clojure@googlegroups.com
>> Note that posts from new members are moderated - please be patient with
>> your first post.
>> To unsubscribe from this group, send email to
>> clojure+unsubscr...@googlegroups.com
>> For more options, visit this group at
>> http://groups.google.com/group/clojure?hl=en
>> ---
>> You received this message because you are subscribed to the Google Groups
>> "Clojure" group.
>> To unsubscribe from this group and stop receiving emails from it, send an
>> email to clojure+unsubscr...@googlegroups.com.
>> For more options, visit https://groups.google.com/d/optout.
>>
>
>
> --
> Pedro Pereira Santos
> https://twitter.com/donbonifacio
>
> --
> 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,