o do with the DOM, so I don't know how this could
> > happen.
> >
> > On Wed, Aug 19, 2015 at 3:00 PM, Malcolm Sparks
> wrote:
> >
> >> Would you mind pasting the rest of your dependencies? This is the most
> >> curious of puzzles and I'
Would you mind pasting the rest of your dependencies? This is the most
curious of puzzles and I'd love to know the answer - but I'm really stumped
so please provide the next clue!
On Wednesday, 19 August 2015 19:32:22 UTC+1, Daniel Higginbotham wrote:
>
> I've found that using core.async in one
If I were you, I would reach into my toolbox for
https://github.com/ztellman/byte-streams - worth a try
On Wednesday, 19 August 2015 20:57:57 UTC+1, Lawrence Krubner wrote:
>
> I know this has been asked before, but Google is interpreting
> "HttpInputOverHTTP" as "Http Input Over HTTP" which ren
I've been writing quite a lot of tests recently, with clojure.test
I wrote a little macro to help.
It means you could replace this :
(require '[clojure.test :refer :all]
'[schema.core :as s])
(deftest my-test
(let [response ...]
(is (= (:status response) 200))
(is (= (count (
idi.clj#L88
> .
>
> Best
> Dylan
>
> On Monday, June 29, 2015 at 11:47:00 AM UTC-4, Malcolm Sparks wrote:
>>
>> bidi is a routing library that lets you define the URI routes for your
>> website as data.
>>
>> Until now, there has been no way to val
bidi is a routing library that lets you define the URI routes for your
website as data.
Until now, there has been no way to validate whether that data conforms to
the expected structure. Not doing so can often lead to problems.
I've just released a new version that defines a Prismatic Schema fo
yada exploits aleph's async model of returning futures and leverages
manifold's ability to chain together futures and promises. This means you
can effectively use a Java synchronous API by wrapping it in a future, or
exploit an asynchronous Java API by returning a promise which is delivered
in
> How do we effectively leverage some of the more advanced Clojure-oriented
webservers such as Aleph and Immutant?
I've just posted about yada on another thread, a library for 'proper'
handling of Ring requests, fully supporting async. Although yada is a
separate library, it fully complements b
yada is a library for creating RESTful Ring handlers, similar(ish) to
Liberator. The main difference is that yada fully supports async operation
(provided by Zach Tellman's manifold library). It is a kind of reactive
Clojure-based response to Java's ratpack.io or Scala's spray.io.
yada is desig
I think it can be a dangerous road trying to create abstractions over data
sources. It can be a lot of work maintaining a stub/mock implementation to
work alongside a database, and sometimes it's not that much more work (or
less work) to install Postgres, SQLite, or whatever you're using, locall
Author of bidi here.
In his blog article, REST Litmus Test for Web Frameworks -
https://www.innoq.com/blog/st/2010/07/rest-litmus-test-for-web-frameworks/
- Stefan Tilkov asks of REST libraries:
"Is there an easy way to produce links that "point back" resources
identified by whatever mea
chan)) payload-decoder payload-json-decoder)
>
> (pipe source destination) just copies elements from source to destination.
> How is that any different than just using source here directly?:
>
> (-> source payload-decoder payload-json-decoder)
>
> What have I missed?
>
>
I've added a blog-site template called 'clean-blog' to the collection at
http://modularity.org - documented here:
http://modularity.org/templates/clean-blog.html
clean-blog is intended as a live site, rather than a static site generator
like Cryogen: https://github.com/cryogen-project/cryogen ,
I have recently written a blog article which explains how to use
transducers with core.async.
You can find it here: http://malcolmsparks.com/posts/transducers.html
On Wednesday, 18 February 2015 21:48:05 UTC, bsmith.occs wrote:
>
> I'm probably just especially dense today, but perhaps someone c
nent approach would work
very well with Modular and having a Compojure router component (together
with the endpoint-component function/pattern) would be very valuable.
Regards,
Malcolm
On Friday, 9 January 2015 16:34:05 UTC, James Reeves wrote:
>
> On 8 January 2015 at 15:10, Malcolm
Very nice!
On Monday, 12 January 2015 21:43:08 UTC, zirkonit wrote:
>
> A tiny library, my first open-source Clojure release. Removes some
> head-scratching when formatting dates (is it or ? or YYY?) by
> building date format strings automatically based on a sample. For example:
>
> (df
Hi Clifford,
First, br/resource-maybe can only appear as the second item of a route
pair, because it only satisfies the bidi.bidi/Matched protocol. The first
item of a route pair is for patterns only, i.e. types that satisfy
bidi.bidi/Pattern protocol.
What you are trying to do is easy (when y
other
> projects, such as my own Duct template, which has similar ideas.
>
> - James
>
> On 8 January 2015 at 14:42, Malcolm Sparks wrote:
>
>> I've created a new website to help new Clojure developers get started
>> with Clojure and specifically with Stuart Sierr
I've created a new website to help new Clojure developers get started with
Clojure and specifically with Stuart Sierra's component/reloaded-workflow
pattern.
On http://modularity.org you can find documentation about modular. Modular
comprises :-
- a set of pre-written components
- a template
LISP systems work better when they are continually up-and-running. Take
Emacs for example. Clojure systems aren't much different.
I prefer to think of lein more as a launch tool than a build tool.
I don't think anyone has mentioned it on this thread yet, but lots of
people are using Stuart Sie
I once worked with a Clojure dev who had a note stuck to his monitor with
the words 'Have you tried lein clean?'. :)
On Thursday, 16 May 2013 11:56:58 UTC+1, Joachim De Beule wrote:
>
> Just a small follow up in case somebody else hits the same problems: they
> disappear after a "lein clean"...
I agree with you and Meikel's points about wrapping protocols with API
functions, it makes sense, especially if you want to combine these calls
with (Prismatic) schema checks.
However, I'm not sure about your point that Stuart made an 'unfortunate'
design to 'expose' protocol methods directly,
Thanks for the nice words about Bidi (https://github.com/juxt/bidi). For
the record, Bidi now supports ClojureScript too.
btw. The reason for matching on the path (rather than allowing matches on
the query-string) is intentional, since I think that encourages a more
RESTful architecture. Howeve
o-loop` seems dangerous. If not, how does backpressure work?
>
> On Wed, Dec 17, 2014 at 8:07 AM, Malcolm Sparks wrote:
>>
>> Here is a solution for SSE over http-kit channels
>>
>> (defn server-event-source [ch] ;; Adding a mult here is dangerous
>> because it bleeds the u
Here is a solution for SSE over http-kit channels
(defn server-event-source [ch] ;; Adding a mult here is dangerous because
it bleeds the underlying ;; channel dry. We should provide the mult via
modular.async (let [m (async/mult ch)] (fn [req] (let [ch (async/chan 16)]
(async/tap m ch) (with-c
I think you should consider using Clojure's protocols feature rather that
code-loading.
Frameworks take control away from a developer, seeing the developer's code
as somewhat subservient to the framework. The more common approach in
Clojure applications is to provide libraries, and expect your
Adding a vote for Potemkin's import-vars.
Also, I've been using Stuart's component approach for almost a year in a
half-dozen projects and it's real value is having a consistent architecture
- I find projects that don't use it are likely to invent their own ad-hoc,
informally-specified alternat
Michael is right, but I'll expand a bit.
Jig is based on Stuart's tools.namespace and workflow-reloaded pattern, and
I released it before I was really aware of Stuart's component library.
Neale Swinnerton introduced me to 'component' and persuaded me of the
strengths of Stuart's approach, in pa
Hi Michael. No, it wasn't intentional. I think I've fixed it now, let me
know if you still can't see the content. Regards, Malcolm
On Tuesday, August 5, 2014 1:01:11 PM UTC+1, Michael Klishin wrote:
>
> On 5 August 2014 at 15:54:58, Malcolm Sparks (mal...@juxt.pro
&
Hi,
As a follow-up to my talk at EuroClojure 2014, I have deployed the latest
modular and cylon releases to clojars.
Both of these projects contain pre-built components to get up-and-running
quickly with a component-based application as described by Stuart Sierra :-
[1] https://github.com/stua
It's a nice idea to load your schema and data on every reset, if you can.
But if you need to, place you data anywhere under the :safe key in the
system map and it will survive a reset.
On 18 Mar 2014 15:57, "Joachim De Beule" wrote:
> Got it! :-)
>
> One more thing. While developing, I often hav
Yes, I believe it will be posted there soon.
On 13 March 2014 17:35, Laurens Van Houtven <_...@lvh.cc> wrote:
> Hi Malcolm,
>
>
> Love the code, excited about the talk as well. Will it eventually end up on
> infoq.com/Clojure?
>
>
> thanks in advance
> lvh
>
> --
> You received this message becaus
Hi Joachim,
What you're describing is a dynamic system map, whereas the current pattern
as described by Stuart in his classic blog post
http://thinkrelevance.com/blog/2013/06/04/clojure-workflow-reloadeddescribes
a static system map which is established at the beginning of a
reset cycle and remain
Karsten,
This is amazing. Watching you work with your geom library in this fantastic
video has really inspired me :-
http://www.youtube.com/watch?v=tKIVJ2TaS2k&feature=youtu.be&t=20m9s
I've been looking for some geom library to build animated data
visualizations, so I'm looking forward to exp
Sure. For SVG examples please view the presentation here:
http://qcon.juxt.pro - I'm sorry it isn't (yet) responsive or
touch-sensitive (getting it working on my laptop before the talk became the
overriding priority) so you'll need a keyboard to control it. Use the
left/right arrow keys to navi
There are some HTML-based tools out there (reveal.js, slidy, impress.js,
deck.js ...) for building slide-based presentations for conference talks.
But you usually have to write your slides in raw HTML. This feels
cumbersome when you're used to writing LISP s-expressions with paredit. And
if you
Hi Joachim,
I suggest you create a component, C, that assocs a channel in the system
map.
Now create a component, A that depends on C. A should start and stop a
thread in the usual start/stop Lifecycle. The component should get the
channel from the system map. The thread should check the resource
Hi Joachim
The component lifecycle protocol is used to group together the init, start
and stop functions tied to ephemeral services common to many Java
server-side applications. I'm not sure it makes sense for components to
satisfy other protocols that are functional in nature, as this invite
coup
There's also Jig : https://github.com/juxt/jig
Jig's recommendation is for configuration to be held in EDN files.
I much prefer EDN over environment variables. Environment variables feel
awkward when there you have lots of configuration, usually in the form of a
tree.
Usually it makes sense to
jure.core/comp/fn
> core.clj: 2330
> clojure.tools.nrepl.middleware.interruptible-eval/run-next/fn
> interruptible_eval.clj: 138
> clojure.lang.AFn.run
> AFn.java: 24
>
I'd like to announce a new URI routing library called bidi.
If you're planning to write HTTP/web applications in Clojure in 2014,
chances are you'll be including hyperlinks (URIs) in your
pages/views/templates. After all, this is what the web is all about. But
the code that includes/generates y
I modularize my Clojure systems using Jig: https://github.com/juxt/jig -
it's one of many possible approaches.
On 27 December 2013 15:23, Massimiliano Tomassoli wrote:
> On Friday, December 27, 2013 7:29:22 AM UTC+1, Sean Corfield wrote:
>
>> On Thu, Dec 26, 2013 at 8:32 AM, Massimiliano Tomasso
Hi Massimiliano.
The absence of a well-established framework for web development in Clojure
is not a sign of its immaturity (rather the opposite). Web frameworks can
give you some increased productivity to begin with, but as soon as you need
to do something that isn't naturally supported by you
Here's an article I wrote that takes you through the full process of
running nginx and and a Clojure web app.
https://juxt.pro/articles/manual-clojure-deployment.html
On Tuesday, December 17, 2013 12:44:34 PM UTC, Zeynel wrote:
>
> I've set up a home server with ubuntu and nginx and I can serve
> But niiice. Yeah, we're definitely thinking along the same lines. But
>> you're way ahead of me. Now just to be able to isolate that browser repl on
>> a per project basis.
>>
>>
>> Sweet
>>
>> Tim Washington
>> Interruptsoftware.c
s it flexible?
> ,currently I prefer to managing those side effect at one place but will not
> spread out to our other core functions.
>
> Thanks
>
> On Saturday, October 12, 2013 12:23:41 AM UTC+8, Malcolm Sparks wrote:
>>
>> A few months ago, Stuart Sierra blogged abo
he attractiveness
> of having that isolation.
>
> I'll try to put those in github issues. And also pick at the problem
> myself when I get some cycles. I think it would add a powerful feature to
> the tool. Anyways... :)
>
>
> Tim Washington
> Interruptsoftwa
Hi Tim,
The tests in JUXT accounting are using clojure.core.test. I'm fairly sure
Midje's :autotest feature does something dynamic to determine the tests to
run and that may not work with Jig's classloading approach. For example, if
something uses (System/getProperty "java.class.path") it will
e-fn, :context {:servlet #> io.pedestal.service.http.servlet.FnServlet@606acc48>, :servlet-config
>> #,
>> :servlet-response #>
>> >, :servlet-request #> org.eclipse.jetty.server.Request@5b8f67a6>}}
>> INFO io.pedestal.service.http - {:line 58, :msg &q
a few things that went awry.
>
>
> *A)* I had to rename the cloned repo for the referencing in
> "jig/config/config.clj" to work (:jig/project
> "../accounting/project.clj").
>
> ~/Projects/trial/*JIG*$ ls -la
>accounting/ *;; had to `mv juxt-acc
Hi Chris, yes I will try to do something like that very soon.
On Friday, October 18, 2013 12:30:20 AM UTC+1, zcaudate wrote:
>
> Would it be possible to put up a video of a typical workflow example with
> pedestal. It's quite difficult for me to piece everything together just by
> reading the do
Hi Tim,
Good to hear you're finding Jig useful.
There isn't any explicit support for Ring in Jig yet, it's just Pedestal
services right now. The separation of jig.web.server and jig.web.app into 2
components is to allow multiple 'virtual hosts' to share the same Jetty
server, if necessary.
I
On Sunday, 13 October 2013 01:21:40 UTC+1, Manuel Paccagnella wrote:
>
> Looks very interesting, thanks for sharing! BTW, documentation is
> impressive and quite comprehensive.
>
> On a related note: I've spotted a couple of typos in your README.md so
> far. Do you accept pull requests for smal
;; A Jig Component
> (deftype Component [config]
> Lifecycle
> (init [_ system] system)
> (start [_ system] system)
> (stop [_ system] system))
>
>
> *fig.3 - recordo/src/recordo/core.clj; ... recordo's project.clj has no
> mention of "**jig**"*
>
A few months ago, Stuart Sierra blogged about the workflow he follows for
building Clojure applications.
"One of the great pleasures of working with a dynamic language is being
able to build a system while simultaneously interacting with it. "
-- http://thinkrelevance.com/blog/2013/06/04/clojure
Michael,
There are some pre-existing libraries that could give you a headstart in
this work :-
tools.reader - can help you parse Clojure source -
https://github.com/clojure/tools.reader
tools.namespace can help you parse and manage graphs of namespaces -
https://github.com/clojure/tools.name
The Clojure tradition of mixing-and-matching small libraries rather than
relying on large frameworks like Spring did not emerge by accident. The
Java language itself causes library authors to create their own types
thereby creating an impedance mismatch with other libraries. Spring (and
similar
code-bases are different from Java ones,
but there all the same.
Regards,
Malcolm
On Thursday, December 27, 2012 10:45:26 PM UTC, Jozef Wagner wrote:
>
> This may also help https://github.com/cgrand/sjacket
>
> On Thursday, December 27, 2012 9:32:10 PM UTC+1, Malcolm Sparks wrote:
&
Thanks David, that was just the library I was looking for :)
On 27 Dec 2012 20:22, "David Nolen" wrote:
> https://github.com/Bronsa/blind
>
> This library is on its way to becoming a part of contrib as tools.reader
>
> David
>
>
> On Thu, Dec 27, 2012 at 3:17
Hi,
I need to parse Clojure code for purposes of code-insights, web
presentation with hyperlinks between symbols, potential re-factoring, dead
namespace illumination, visualization and inspection of increasingly large
Clojure code-bases, code-style and compliance violation monitoring, that
kin
> On Wednesday, August 8, 2012 7:48:23 PM UTC+3, Brian Marick wrote:
>>>
>>> I'm looking for medium-scale examples of using function-generating
>>> functions.
>>>
>>>
>>>
Brian, when I saw this I was reminded of ring middleware - eg.
http://jgre.org/2010/10/04/ring-middleware/
--
You received
61 matches
Mail list logo