6:41callen-nyc: LauJensen: that explains it. regardless if you hammer nginx with high concurrency load it's going to vastly outperform.

6:41 LauJensen: baking might be a better idea for any website that is mostly content.

6:42 LauJensen: one potential idea, to solve race conditions, queue changesets/transactions, feed them into map-reduce on a database, dump from database into flat files

6:42LauJensen: callen-nyc: Yea, when it dawned on me that both the html presentation and sql data, were both the very same thing, I couldnt resist fusing them. With Enlive you can browse an html file as easily as an sql database

6:46brehaut: LauJensen: the only down side i can see with your code is the unlikely even that the who JVM dies and you loose 1 minute of comments?

6:46callen-nyc: LauJensen: personal experience with hacky things I've seen before, so, anecdote, and knowledge of how VMs work such that the notion of streaming writes into anything but something like a database makes me cringe.

6:46LauJensen: brehaut: thats right, there is no durability guaratees for in-memory storage

6:46callen-nyc: LauJensen: frankly, I take reliability pretty seriously and if I lost data I'd be really mad.

7:38Bjering: I left for a long lunch-meeting, but now back and perhaps I missed a solution to my problem. Sadly it remains her on my end, how to I call a java method with this signature? public static ChannelBuffer wrappedBuffer(byte[]... arrays)

7:46clojurebot: "([aseq] [type aseq]); Returns an array with components set to the values in aseq. The array's component type is type if provided, or the type of the first value in aseq if present, or Object. All values in aseq must be compatible with the component type. Class objects for the primitive types can be obtained using, e.g., Integer/TYPE."

8:01clojurebot: "([type len] [type dim & more-dims]); Creates and returns an array of instances of the specified class of the specified dimension(s). Note that a class object is required. Class objects can be obtained by using their imported or fully-qualified name. Class objects for the primitive types can be obtained using, e.g., Integer/TYPE."

11:22fogus: cemerick: Do you mean something that is called automatically?

11:23cemerick: fogus: yeah, I thought that was where you were going. e.g. (assoc foo :slot some-illegal-value) -> AssertException("some-illegal-value is not within the acceptable range of [-π π]"), etc

13:32slyrus: somnium: yeah, but if I do it this way I have the option of using a name as the key, or the value itself as the key.

13:34 this is for keeping track of nodes in a graph. sometimes I want a node like "5". It's pretty self explanatory. 5 is the value, the name, etc... Other times I might want "carbon-atom-34" as the name. I could keep a separate map of names to objects, but it might by easiest to just do it this way.

15:31jarodluebbert: would clojure be a good choice for writing a web crawler?

15:33qchamaeleon: Hi all... Got a question regarding import of java classes/interfaces.. Is it possible to import a java interface that happens to be inside a java class? Haven't had any luck with it at all.

15:33 The particular case I'm looking at is creating a proxy for an interface in Piccolo2D, edu.umd.cs.piccolo.activities.PActivity.PActivityDelegate, where PActivity is a class containing the interface PActivityDelegate.

16:39clojurebot: "([& body]); If an io! block occurs in a transaction, throws an IllegalStateException, else runs body in an implicit do. If the first expression in body is a literal string, will use that as the exception message."