Re: Nginx-Clojure Let You Deploy Clojure Web App on Nginx Without Any Java Web Server

2014-01-13 Thread Sergey Didenko
Looks very interesting, thank you for your work! I wonder how this is going to improve latency in comparison to nginx + http-kit for some real world test that is not using heavy DB operations. On Mon, Jan 13, 2014 at 5:57 AM, Xfeep Zhang easyj...@163.com wrote: So far I have found why

Re: Nginx-Clojure Let You Deploy Clojure Web App on Nginx Without Any Java Web Server

2014-01-20 Thread Sergey Didenko
Hi Xfeep, What are the good ways to handle some heavy Clojure calculations when using nginx-clojure? Under nginx model it's bad to block other incoming requests by holding a working thread for too long, right? So is it better to route complex job to http-kit? Or to use some kind of queue? Or

Re: Nginx-Clojure Let You Deploy Clojure Web App on Nginx Without Any Java Web Server

2014-01-21 Thread Sergey Didenko
I see, thanks. On Tue, Jan 21, 2014 at 4:17 PM, Xfeep Zhang easyj...@163.com wrote: On Tuesday, January 21, 2014 6:25:02 AM UTC+8, Sergey Didenko wrote: Hi Xfeep, What are the good ways to handle some heavy Clojure calculations when using nginx-clojure? Do you mean every request

Clojure Terracotta - TIM

2009-11-15 Thread Sergey Didenko
Hi from a Clojure newbie! I have read the april thread Clojure + Terracotta Update and it looks pretty positive. A few question for TIM users: Is there newer version than http://github.com/pjstadig/tim-clojure-1.0-snapshot ? Are there still bugs? Can it be called production ready? Regards,

Re: Clojure Terracotta - TIM

2009-11-16 Thread Sergey Didenko
Thanks for your answer, Paul! I'm certainly going to try this TIM. Another question: You say that it requires runtime replacement of some Clojure classes but the lines that include modified *TC.java files are commented ( see ClojureTerracottaConfigurator.java from tim-clojure-1.0-snapshot ).

Re: Clojure Terracotta - TIM

2009-11-17 Thread Sergey Didenko
Hi Paul, the code from [1] does not work under the latest Terracotta (3.1.1) with clojure-slim.jar's in the following combinations: 1) branch 1.0.x from [3] 2) branch 1.0.x from [3] + modified ClojureTerracottaConfigurator.java (uncommented lines) 3) [2] svn revision 1335 + modified

making rlwrap Clojure friendly

2009-11-23 Thread Sergey Didenko
Hi, has anybody tried to make rlwrap lexer more Clojure friendly? Just adding - to the word characters would be a big gain (to enjoy auto-completion.) I spent some time looking through rlwrap sources but has not find a good place to do the changes. Regards, Sergey. -- You received this

Re: making rlwrap Clojure friendly

2009-11-23 Thread Sergey Didenko
Probably it can be done with Rlwrap filters, I have not tried it yet. On Sat, Nov 21, 2009 at 2:30 PM, Sergey Didenko sergey.dide...@gmail.com wrote: Hi, has anybody tried to make rlwrap lexer more Clojure friendly? Just adding - to the word characters would be a big gain (to enjoy auto

Re: Clojure Terracotta - TIM

2009-11-23 Thread Sergey Didenko
Hi Paul, This time I tested it under Linux, following the instructions exactly and it worked. Though when I opened the second REPL it failed with a NullPointerException. I repeated the step and had two REPLs with the same vars. For some reason it failed earlier on Windows, I will try to make it

Re: making rlwrap Clojure friendly

2009-11-23 Thread Sergey Didenko
So simple :) Thanks! On Mon, Nov 23, 2009 at 4:47 PM, Chouser chou...@gmail.com wrote: The shell script I use to start my Clojure REPLs includes this: rlwrap --remember --complete-filenames \   --history-filename ~/.clojure/history \   --break-chars \\\'(){}[],^%$#@;:| \   java and its

Re: Deep deref

2009-11-23 Thread Sergey Didenko
Hi, Andre, Danny's first approach is about syncing only on the root object, so that every piece of data is behind one deref: (def root (ref {:persons [ ... no other refs here... ])) This approach is simpler to code but can lead to a lot of retried transactions under heavy concurrent load, as I

Re: Deep deref

2009-11-23 Thread Sergey Didenko
BTW I'm also coding the simple persistence for Clojure data structures. Though I took Prevayler approach (http://prevayler.org), so I journal function calls that change my root object. This approach is better than simple snapshotting when your data grows big, so you can't do the snapshots very

Re: Oh, yeah, transients are fast!

2009-11-25 Thread Sergey Didenko
Here are my results. The transient version performs slightly better on windows 32bit client JVM, and considerably better on linux 64bit server JVM (they are both 1.06.0_17) -- You received this message because you are subscribed to the Google Groups Clojure group. To post to this group, send

Re: simple journal-based persistenсe for Clojure

2009-12-02 Thread Sergey Didenko
It creates journals in readable and executable form: 1.journal (tr-fn 1 2) ;1 (tr-fn 10 20) ;2 (tr-fn-swap) ;3 (tr-inc) ;4 -- 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

Re: simple journal-based persistenсe for Clojure

2009-12-03 Thread Sergey Didenko
Well, I'm not fluent with git yet. I'll create the github project, that can not be hard. In comparison with Prevayler, the persister does not block the reads, because it relies on Clojure STM. However it blocks the writes as Prevayler, because currently there is no way to reliably get/ generate

Re: simple journal-based persistenсe for Clojure

2009-12-04 Thread Sergey Didenko
Here is the GitHub project: http://github.com/SergeyDidenko/Simple-Persistence-for-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 -

Re: simple journal-based persistenсe for Clojure

2009-12-04 Thread Sergey Didenko
transactions are replayed? On Fri, Dec 4, 2009 at 6:40 AM, John Harrop jharrop...@gmail.com wrote: On Thu, Dec 3, 2009 at 6:31 PM, Sergey Didenko sergey.dide...@gmail.comwrote: In comparison with Prevayler, the persister does not block the reads, because it relies on Clojure STM. However

Re: simple journal-based persistenсe for Clojure

2009-12-04 Thread Sergey Didenko
global transaction id from Clojure STM if it's possible. On Fri, Dec 4, 2009 at 2:16 PM, John Harrop jharrop...@gmail.com wrote: On Fri, Dec 4, 2009 at 6:50 AM, Sergey Didenko sergey.dide...@gmail.comwrote: Without the global transaction counter another problem arises. Suppose transaction B

Re: simple journal-based persistenсe for Clojure

2009-12-04 Thread Sergey Didenko
That was for Windows and client JVM. On my Linux server JVM sometimes even 100 of (dosync (alter myref inc)) has the same nanoTimes. So it's rather dangerous approach, unless your program follows the condition. (dosync (alter myref inc)) takes much longer than timer granularity on my Windows

Re: simple journal-based persistenсe for Clojure

2009-12-05 Thread Sergey Didenko
Nice idea, Luc! Useful details, Jon. So I'm implementing (dosync (let [ tr-id (swap! tr-atom inc)] (transaction-itself) and then loading transactions in their tr-id's order in the next release. Probably with some floating window of postponed transactions in order not to load all the

Re: simple journal-based persistenсe for Clojure

2009-12-09 Thread Sergey Didenko
: (tr4) ;4 (tr2) ;2 So additional script is needed to backup inactive (closed) journal files into a safe set of transactions. What do you think? Is it worth to complicate things this way? On Sat, Dec 5, 2009 at 9:12 PM, Sergey Didenko sergey.dide...@gmail.comwrote: Nice idea, Luc! Useful

Re: simple journal-based persistenсe for Clojure

2009-12-12 Thread Sergey Didenko
I'm going to postpone the discussed above removing of locking - the write bottleneck. Because: 1. In-memory writes are very quick 2. there is no demand right now 3. it makes the backup workflow more complex The next thing I'm going to add is snapshotting. However it is not a priority for me

Re: Funding Clojure 2010

2009-12-15 Thread Sergey Didenko
I suggest to make a call for popularizing Clojure also. I feel lack of publicity and *quick explanations* with *simple examples* of why Clojure is better than others. May be we have a situation when everybody thinks that Clojure is so excellent that everybody understands it. But though Clojure

Re: 1.0 Compatible Terracotta Integration Module

2009-12-18 Thread Sergey Didenko
Sounds interesting! Thanks. Hope to look at it when I have more time in my hands. On Thu, Dec 10, 2009 at 1:37 PM, Paul Stadig p...@stadig.name wrote: There is a new repo at http://github.com/pjstadig/tim-clojure-1.0.0/ that has a 1.0 compatible version of the TIM. It should be simpler to

Re: Why use monads

2009-12-27 Thread Sergey Didenko
Not on the topic, but quite important - that yellow column on the left is a usability killer, it makes text hard to read. I had to manually change it in Firebug just to read the article. -- You received this message because you are subscribed to the Google Groups Clojure group. To post to this

Clojure - Python Style suggestion

2013-02-04 Thread Sergey Didenko
Hi, For us as Clojure community it is easy to see how Clojure benefits from being a Lisp. Homoiconity, extreme conciseness, esoteric look and feel, etc. However it is hard to see from the inside how Clojure as ecosystem (probably) suffer from being a Lisp. Please don't throw rotten eggs at me, I

Re: Clojure - Python Style suggestion

2013-02-04 Thread Sergey Didenko
The main point is to reach new market by providing parentheses-lite Clojure syntax. Of course real serious Clojurians will be using the current syntax :) Parens actually don't complect, they have a very very clear meaning. They organize functions and arguments. Let's take one line from your

Re: Clojure - Python Style suggestion

2013-02-04 Thread Sergey Didenko
Unfortunately I don't know Python good enough to answer this. The point though is just to mimic Python a very tiny bit. Basically to convert some of ( and ) to indentations. Sois that the python equivalent to which of these? filter(smaller(xs)) filter(smaller, xs) filter(smaller(), xs())

Re: Clojure - Python Style suggestion

2013-02-04 Thread Sergey Didenko
My point is to introduce a second-class syntax to attract orthodox users. Definitely not migrating. The rules of transformation can be so simple that any useful library written by Clojure Python style adopters could be translated to the canonical style automatically with a few line program. I

Re: Tutorial about web development with Clojure

2011-06-29 Thread Sergey Didenko
Nice to see so documented example! A few remarks: 1) IMHO sandbar's approach to authorization is better that this ad-hoc one: it places auth data just in the routes instead of controllers, see https://github.com/brentonashworth/sandbar/wiki/Authentication-and-Authorization 2) It would be nice

Re: Leiningen 1.6.1 released

2011-07-06 Thread Sergey Didenko
Hi Phil, Is it an intention or a bug that dev-dependencies are being copied into lib/dev when :local-repo-classpath is true? Regards, Sergey. -- You received this message because you are subscribed to the Google Groups Clojure group. To post to this group, send email to

Re: Leiningen 1.6.1 released

2011-07-06 Thread Sergey Didenko
IMHO new people only will benefit from installing lein. It's very simple in basic usage. It can be used both from command line and with IDE. Though I prefer my own scripts for starting REPL with readline instead of lein repl. It can be used with Enclojure by running lein pom every time you

Clojure Wiki for general public

2011-07-11 Thread Sergey Didenko
It seems we don't have a *centralized* wiki not just for the Clojure Core developers, but for everybody in our community. Application developers have to look for *broad* info all over different resources. I have just tried Clojure 1.3 and realized I have to google a lot to find answers. -

Re: Results from 2011 State of Clojure survey

2011-07-12 Thread Sergey Didenko
Public relations -- Project status and activity. This area seems to suggest the main Clojure page should be covered in tickers and feeds of various kinds I think the main site needs just a pane with a big noticeable header News, that shows one-two latest important stories and updates one time

Re: Results from 2011 State of Clojure survey

2011-07-12 Thread Sergey Didenko
You know that from inside. A Clojure outsider can have a completely other point of view. He can choose between Python, server side Javascript, new C#, Go, Scala, F#, Haskell, Erlang, haXe, Clojure. Besides the languages itself, the outsider wants to evaluate libraries, community, platforms,

Re: Anyone on Google+ yet?

2011-07-14 Thread Sergey Didenko
IMHO, it's worth to add Clojure to your Sparks. Mine: https://profiles.google.com/109116565377929735698 -- 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

Re: Anyone on Google+ yet?

2011-07-14 Thread Sergey Didenko
I wrote on Google+, but I feel it can left unnoticed with the current message pace. Let's not post our common messages to the Clojure Circle to make it more useful. P.S. Posting to Public also posts to Clojure. -- You received this message because you are subscribed to the Google Groups

Re: FleetDB or other NoSQL store for Clojure?

2011-07-15 Thread Sergey Didenko
1) IMHO full SQL-like transaction support and NoSQL are quite contradicting things. You can have some atomic operations with NoSQL but not that heavy transactions as in traditional SQL world. (Correct me if I wrong). So one of the option is to use SQL and serialize/ deserialize documents in your

Re: Anyone on Google+ yet?

2011-07-15 Thread Sergey Didenko
Jeremy, I can send you an invitation. Do you need it? On Fri, Jul 15, 2011 at 4:53 PM, Jeremy Heiler jeremyhei...@gmail.comwrote: Is Google+ invite based? How did all of you get a profile? -- You received this message because you are subscribed to the Google Groups Clojure group. To post to

Re: can't set up Clojure 1.2.1

2011-07-15 Thread Sergey Didenko
Larry, it seems that the current folder . is not in your default classpath. Either try ...-cp ./clojure.jar ... or add . into your default CLASSPATH. -- You received this message because you are subscribed to the Google Groups Clojure group. To post to this group, send email to

Re: Anyone on Google+ yet?

2011-07-15 Thread Sergey Didenko
Well, if you are going to spam, I guess Claudia will be penalized :) Claudia beat you to it ;-) But thank you! -- 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

Re: can't set up Clojure 1.2.1

2011-07-16 Thread Sergey Didenko
I've updated the wiki [1], can't update the main site page[2]. http://en.wikibooks.org/wiki/Clojure_Programming/Getting_Started#Running_Clojure http://clojure.org/getting_started -- You received this message because you are subscribed to the Google Groups Clojure group. To post to this group,

Re: can't set up Clojure 1.2.1

2011-07-16 Thread Sergey Didenko
It was already mentioned recently that clojure.org looks outdated. May be we just need the main site to link to a few valuable proven community resources? -- You received this message because you are subscribed to the Google Groups Clojure group. To post to this group, send email to

Re: FleetDB or other NoSQL store for Clojure?

2011-07-17 Thread Sergey Didenko
Ad hoc transactions are possible in MongoDB, they are just not provided out-of-the-box and (I guess) impose performance penalty. http://www.mongodb.org/display/DOCS/two-phase+commit -- You received this message because you are subscribed to the Google Groups Clojure group. To post to this

Re: FleetDB or other NoSQL store for Clojure?

2011-07-17 Thread Sergey Didenko
Tim, I think you mean CouchDB, which indeed is master-master. MongoDB is extended master-slave. On Sun, Jul 17, 2011 at 6:45 PM, Tim Robinson tim.blacks...@gmail.comwrote: MongoDB is similar, in that it supports conflict resolution, only I believe you only have the option for the last write

Re: Clojure Books

2011-07-19 Thread Sergey Didenko
Also check this great online introduction (targeting 1.0): http://java.ociweb.com/mark/clojure/article.html -- 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

Re: better community docs: getting started

2011-07-23 Thread Sergey Didenko
I checked the great manual 113 Design Guidelines for Homepage Usability from Jakob Nielsen and here are my thoughts about the main page (clojure.org ): 1) It's misleading that some links in the left pane are underlined (API, Recent changes, Libraries, Community) while others are not. 2) It's

Re: better community docs: getting started

2011-07-25 Thread Sergey Didenko
IMO, it's a very good idea to give much more accent on the easiest options for newcomers. Other than not recommending Emacs, do people think that the overall organization I suggested is a good idea? I should reiterate that other information needs to be accessible; for now I'd just like to see

clojurescript additional js dependencies

2011-08-01 Thread Sergey Didenko
Are there plans to decrease the amount of js dependencies that ClojureScript makes compared to the raw Google Closure? Currently the difference in final js code size is about 28kb (5kb zipped) in advanced mode for a simple example. -- You received this message because you are subscribed to the

Re: clojurescript additional js dependencies

2011-08-02 Thread Sergey Didenko
Yes, after compiling this example and its raw Google Closure equivalent: (ns bgcolor (:require [goog.fx.dom :as fx-dom])) (defn ^:export animate [elem start end] (let [ anim (fx-dom/BgColorTransform. elem start end 2000)] (.play anim ( After compilation through the Google

Re: New to Clojure -- Errors Are Frustrating

2011-08-02 Thread Sergey Didenko
It got improved a lot in Clojure 1.3 which is beta for a while. -- 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

Re: Stanford AI Class

2011-08-12 Thread Sergey Didenko
BTW, Is there a case when AI self-modifying program is much more elegant than AI just-data-modifying program? I just can't figure out any example when there is a lot of sense to go the self-modifying route. -- You received this message because you are subscribed to the Google Groups Clojure

Re: clojure-based non-blocking webserver like Node.js

2011-09-03 Thread Sergey Didenko
On Sat, Sep 3, 2011 at 3:01 AM, Tal Liron tal.li...@gmail.com wrote: I always ask, though, why people think they need async I/O for a web server. Async might be important if you are streaming video, audio, etc. (And if you are, you're probably better off with a robust CDN.) Async can also

Re: coming from statically typed oo languages - how do deal with complex objects graphs in clojure?

2011-09-03 Thread Sergey Didenko
You can also put a commented out example call of the function, like this: (defn some-magic [spells wizards] ...) ; (some-magic 5 [:gendalf :einstein]) Which is also handy for quick evaluation in the REPL. Or you can put these example calls in the (automatic) test code. -- You received this

Re: coming from statically typed oo languages - how do deal with complex objects graphs in clojure?

2011-09-04 Thread Sergey Didenko
Dennis, may I suggest you to read this great article on Clojure: http://java.ociweb.com/mark/clojure/article.html -- 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

Re: Migration to 1.3 for mortals

2011-09-08 Thread Sergey Didenko
Just my 2 cents: If you are ok with a quick dirty hack you can fix contrib libraries locally. -- 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 -

good ways to deal with compiler errors in SLIME (emacs)

2011-09-13 Thread Sergey Didenko
Hi, How can I see the error line number in SLIME? Or even somehow place editor point on the place of the error? For example when I load file in a lein repl, it prints: java.lang.Exception: Unable to resolve symbol: dd in this context (mytest.clj:447) However when I load this file in the SLIME

Re: good ways to deal with compiler errors in SLIME (emacs)

2011-09-13 Thread Sergey Didenko
Thanks, Phil ! That's it. I was using slime-load-file instead of slime-compile-and-load-file If you compile using C-c C-k (where it sends the filename instead of the contents of the file) then it can determine line numbering. -- You received this message because you are subscribed to the

Re: debugging

2011-09-14 Thread Sergey Didenko
Also bear in mind that due to the functional nature of Clojure you can debug a lot of problems using tracing, like clojure.contrib.trace (for 1.3), C-c C-t in Emacs, or this handy macro: (defmacro dbg[x] `(let [x# ~x] (println dbg: '~x = x#) x#)) (func1 (func2 arg1) arg2) - (dbg (func1 (dbg

Re: trace-forms macro

2011-09-14 Thread Sergey Didenko
Looks interesting. Did you use it with Clojure 1.3 or earlier? -- 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

two form assert does not exist in 1.3.0-master-SNAPHOT

2011-09-14 Thread Sergey Didenko
Despite of what written here: http://dev.clojure.org/display/doc/1.3 there is no two form assert in 1.3.0-master-SNAPHOT -- 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

Re: two form assert does not exist in 1.3.0-master-SNAPHOT

2011-09-14 Thread Sergey Didenko
I see, my lein - maven thinks that the latest clojure-1.3.0-master-SNAPSHOT.jar was built in January. current master seems to disagree with you: https://github.com/clojure/clojure/blob/master/src/clj/clojure/core.clj#L4222 -- You received this message because you are subscribed to the Google

Re: two form assert does not exist in 1.3.0-master-SNAPHOT

2011-09-14 Thread Sergey Didenko
I see, there is no clojure-1.3.0-master-SNAPSHOT.jar in maven and I should use 1.3.0-RC0  I see, my lein - maven thinks that the latest clojure-1.3.0-master-SNAPSHOT.jar was built in January. current master seems to disagree with you:

Re: two form assert does not exist in 1.3.0-master-SNAPHOT

2011-09-14 Thread Sergey Didenko
Apparently not: 1.3.0-master-SNAPSHOT/ 20-Dec-2010 there used to be http://build.clojure.org/snapshots, but I don't know whether it's still cared for. -- You received this message because you are subscribed to the Google Groups Clojure group. To post to this group, send email to

case on primitives warning in 1.3-RC0

2011-09-14 Thread Sergey Didenko
Is this the intended behavior? Note the present/missing default clause user (set! *warn-on-reflection* true) user (case (rand-int 3) 0 :zero 1 :one 2 :two) Performance warning, NO_SOURCE_FILE:1 - case has int tests, but tested expression is not primitive. :two user (case (rand-int 3) 0 :zero 1

Re: case on primitives warning in 1.3-RC0

2011-09-14 Thread Sergey Didenko
Indeed. Then clojure.core/rand-int should be improved I guess. The default case in `case' (what a sentence) is not paired like in `cond'.  You want something like: -- You received this message because you are subscribed to the Google Groups Clojure group. To post to this group, send email to

^long vs (long arg)

2011-09-14 Thread Sergey Didenko
What is the intended difference between type hinting like ^long and type coercing like (long arg)? For example my gut feeling for this case is to use ^long but it is forbidden: (loop [^long x 0] ...) Can't type hint a local with a primitive initializer So I use (loop [x (long 0)] ...) But

Re: ^long vs (long arg)

2011-09-14 Thread Sergey Didenko
I mean in Clojure 1.3 . -- 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

autoboxing in 1.3 RC-0

2011-09-15 Thread Sergey Didenko
Hi, Is it a bug or I'm doing something wrong? I can't get rid of auto-boxing in the second example, neither by type hinting nor by type coercing of changed* locals. (set! *warn-on-reflection* true) This compiles fine: (loop [x 1 changed 0] (if (= x 10) changed (recur (inc x)

misuse of or bug in transients?

2011-09-16 Thread Sergey Didenko
When I convert the following code to use transients it returns different result. Am I doing anything wrong or is it a bug in transients? (defn tt [] (loop [i 0 tset #{}] (if (= i (int 5e5)) (count tset) (recur (inc i) (let [nn (rem (* i (int 1e3)) 131071)

Re: misuse of or bug in transients?

2011-09-16 Thread Sergey Didenko
Then it is contrary to the docs: http://clojure.org/transients Transients support the read-only interface of the source, i.e. you can call nth, get, count and fn-call a transient vector, just like a persistent vector. Examining the Java sources it looks like the transient collections do not

Re: misuse of or bug in transients?

2011-09-16 Thread Sergey Didenko
Yes, now it works. Thanks. Try rewriting (contains? tset %) as (tset %). Let me know if that change fixes your program. -- 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

Re: docs for 1.3

2011-10-03 Thread Sergey Didenko
My last mail remain unnoticed, so I'll clarify the question: Clearly (the main) clojure.org is not the main documentation source for 1.3. To prove it - try to find the mention of Factory function taking a map, e.g. map-MyRecord there. So what is the best search strategy right now to find the

Re: docs for 1.3

2011-10-04 Thread Sergey Didenko
Thanks, I see now. Just want to stress that it is important to have a single point of diving into the documentation. And it's best of all to be on the http://clojure.org , not just http://dev.clojure.org. IMHO with the call to community to move to 1.3 the current outdated clojure.org can fight

Re: The Website / Wikispaces

2011-10-07 Thread Sergey Didenko
Me 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

java.lang.ClassFormatError: Invalid method Code length

2011-10-25 Thread Sergey Didenko
I get the subject error when trying to deserialize a big map (70kb) using load-file. Is this by design? There was an advice in the old thread to use smaller methods. But while small methods are good, breaking continuous data into smaller pieces looks like a hack. Should I use some other

Re: java.lang.ClassFormatError: Invalid method Code length

2011-10-25 Thread Sergey Didenko
Indeed. Thanks for the answer! If it's really just data (not containing function or macro calls you are expecting to be evaluated), just use (read ...). That will parse the file, returning a Clojure data structure without evaluating it. // ben -- You received this message because you are

primitive type hints do not work when destructuring

2011-11-02 Thread Sergey Didenko
Seems like a bug: The following compiles: (let [[^Double x ^Double y] [0.1 0.2]] (+ x y)) This does not: (let [[^double x ^double y] [0.1 0.2]] (+ x y)) Unable to resolve classname: double -- You received this message because you are subscribed to the Google Groups Clojure group. To post to

Re: primitive type hints do not work when destructuring

2011-11-02 Thread Sergey Didenko
tested under Clojure 1.3 -- 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

Re: Overused phrases in the Clojure community

2011-11-17 Thread Sergey Didenko
I coded mutable Dejkstra algorithm isolated in a single function, because it's easier for me to maintain it - I used to write a lot of mutable algorithms. But I consider this code not idiomatic though useful in my case. So I think idiomatic Clojure code is not as ubiquitous as you probably mean

Re: Has Clojure Fixed the Social Problem that LISP is Too Powerful?

2011-01-03 Thread Sergey Didenko
Clojure is extremely consise. IMO it's very beneficial for maintaining a complex codebase and underestimated in the corporate world. -- 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

Re: Funding 2011?

2011-01-05 Thread Sergey Didenko
I completely understand the Rich desire to keep flexibility and fun in Clojure development. And I think it is important for the success of Clojure. As for me a donation is much more about what is already done and enforces little if any obligations. I hope Rich will accept them from people who

Re: Enclojure requires editor when installing plugin

2011-01-19 Thread Sergey Didenko
I use it with Netbeans 6.9.1 . Usually it takes some time for Enclojure to be adapted to the latest Netbeans. -- 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

Re: which IDEs are you all using?

2011-01-19 Thread Sergey Didenko
lein: I just use lein new MyProject then lein pom and open the pom in Netbeans. Thus I have both lein and Enclojure. The drawback is that you have to run lein pom every time you change the project dependencies (in the lein project.clj). Loosing settings: I observed that too in rare circumstances

Re: ANN: Clojure Libraries

2011-03-01 Thread Sergey Didenko
Thanks, Glen. A correction: calx does not belong to the GUI category. May be Utility is better? -- 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

Re: ANN: Clojure Libraries

2011-03-04 Thread Sergey Didenko
Another correction: there are too fleet mentions: http://clojure-libraries.appspot.com/show/27049 http://clojure-libraries.appspot.com/show/32017 On Wed, Mar 2, 2011 at 1:00 AM, Glen Stampoultzis gst...@gmail.com wrote: Changed. Thanks. -- You received this message because you are

Re: New version of the Enclojure plugin for Netbeans 7.0 is up.

2011-05-02 Thread Sergey Didenko
Thanks, Eric! On Fri, Apr 29, 2011 at 8:56 PM, Eric Thorsen ethor...@enclojure.orgwrote: This version is a port of 1.4 to run on Netbeans 7.0. You can get this using the update site. For more information, please go to: www.enclojure.org -- You received this message because you are

Re: How to setup IntelliJ with Leiningen?

2011-06-07 Thread Sergey Didenko
Hi Vicent, I think it's: *project.clj editing* lein deps lein pom On Tue, Jun 7, 2011 at 12:18 PM, Vicente Bosch vbosch.cloj...@gmail.comwrote: After we insert a new dependency in project.clj, we have to run lein pom again so that everything gets refreshed. I am totally fine with this. Is

Re: Little becnhmark (need insight)

2012-07-23 Thread Sergey Didenko
Hi, lazy seqs are slow for number crunching, you can try to remove them. Then you can check that you make (set! *warn-on-reflection* true). And that your code does not have the warnings. Then may be use native (Java) data structures or even arrays. Then you can change defn for definline for

Re: Clojure web framework

2012-09-29 Thread Sergey Didenko
So we are back to the documentation reach issue again. I think the best solution would be one (!) central community wiki and prominent mentions of it from the clojure.org . The wiki could contain the links to the latest tutorials and so on. It should have quite low barrier to entry. -- You

Re: Slightly updated Clojure cheatsheet available

2012-10-09 Thread Sergey Didenko
Thank you, Andy! -- 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,

Re: Efficiency of Dijkstra's algorithm

2012-11-20 Thread Sergey Didenko
I have used mutable code working on Java structures when I was implementing the kind of Dijkstra algorithm. As long as it is encapsulated in a function it seems quite a good approach to me. And also quite readable given the amount of mutable Dijkstra examples in the Internet. -- You received

LurePet - Digital Art Project Written in Clojure - Beauty Contest For Virtual Life (shamelessly advertising)

2011-12-23 Thread Sergey Didenko
Hi, finally I can show you some quite complex project that I made in Clojure. The Idea: Every lurepet (big picture) that you see on the site has some genes and is drawn according to them. After the best lurepets are selected they can be bred to make children looking like their parents. This is

Re: LurePet - Digital Art Project Written in Clojure - Beauty Contest For Virtual Life (shamelessly advertising)

2011-12-23 Thread Sergey Didenko
Yes, its http://lurepet.com Do you have a link to the running 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

Re: Problem with the Chas Emerick: Modeling the world ... video

2012-02-16 Thread Sergey Didenko
The same here. -- 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

Re: Lack in the documentation

2012-02-20 Thread Sergey Didenko
It looks like our community already has a lot of articles, tutorials, gists, but they are just not very reachable to beginners. May be what we really need is a meta site or article on clojure.org or promotion of other meta site like http://stackoverflow.com/questions/tagged/clojure, with a lot of

Re: Which emacs packages?

2012-03-12 Thread Sergey Didenko
* RainbowDelimiters * desktop-save-mode * ergoemacs-mode (modified) * bm for bookmarks * color-theme with modified color-theme-tomorrow * anything Not a plugin, but I found this setting useful: (setq recenter-positions '(0.2 0.4 0.6 0.8 bottom top)) -- You received this message because you are

can Clojure 1.3 code always be made as fast as Java for numeric computations?

2012-03-26 Thread Sergey Didenko
Hi, I believe I've heard claims that nothing stops Clojure 1.3 code to be made very close to Java in terms of execution speed. However when trying to match the speed of ad-hoc Heapsort implementation I have faced essential obstacles. Setting type hints and coercions was quite easy. A bit harder

Re: Newbie question about rebinding local variables

2012-04-21 Thread Sergey Didenko
There is also a non-idiomatic way - transform your code to use a native Java data structure like ArrayList or primitive array. You may want it for the speed or if the mutable algorithm is more readable. Anyway isolation of the mutable code is always a good advice. (defn new-game [] (let

Re: Faster application startup for rapid development

2012-05-15 Thread Sergey Didenko
Also discovered I can prefix `java -cp ...` with `rlwrap` to get back a nice REPL experience. If you want to use rlwrap, check out its options like --remember, -c, -b and -f. Here is the script I use to run repl from the root of the lein project: breakchars=(){}[],^%$#@\\;:''|\\

  1   2   >