The mission of the NYC-Clojure Users Group is to meet with developers who are interested in the Clojure programming language in an atmosphere of collaboration and learning.
Arcadia is a project which integrates Clojure 1.7 into the Unity3D game engine and development platform. Based on Clojure's CLR branch, Arcadia compiles to optimized bytecode, with performance suitable for general game development. It includes a networked REPL that can be targeted by arbitrary editors, and provides functionality for fast, bidirectional conversion between Unity objects and persistent Clojure data.
Software engineer Ramsey Nasser and programmer Tims Gardner talk about usage, setup, patterns for live game development, and Arcadia's approach to the Unity API. They also talk about speculative implications of dynamic functional games and graphics.
This talk was given at the NYC Clojure Users Group meetup at Codeacademy HQ.
Developer Alan Shaw talks about Guibas and Stolfi's quad-edge structure and demonstrates the symmetries that make it so beautiful: it's capable of simultaneously representing a graph, its dual, and its mirror image; it exports just two topological primitives which suffice to implement arbitrary graph construction; and all operations are reversible.
He also explores the Voronoi diagram, mentions some of its application domains, and looks at some of its related structures.
The implementation uses @toxi's thi.ng/geom Clojure/ClojureScript libraries for computational geometry; a generic Om/canvas animator component; Om's time-machine capability; and some function decorators for pre-, post-, and substitute actions to facilitate recording and playback of algorithm results, incidental computations, and debug/logging information.
Repository available here: https://github.com/nodename/edge-algebra
This talk was given at the NYC Clojure Users Group meetup at Two Sigma Investments.
John Chapin (Senior Software Engineer, Intent Media Inc.) gives an overview of Vert.x’s capabilities and practical use cases with a focus on the newly-released Clojure language support. He gives a demo of launching Clojure verticles and modules using vertx-chat.
This talk was hosted by NYC Clojure Users Group at Two Sigma Investments in NYC.
In this talk, he'll cover the basic architecture, setup, and lessons he's learned while developing these apps.
This talk was given at the NYC Clojure Users Group hosted by Two Sigma Investments in NYC.
In this talk, we hear from Marc Schwartz about mobile app development in Clojure. First, we'll hear about the Clojure mobile development landscape. Then, we'll dive into details about Marc's new platform, which solves the slow development cycle that hampered earlier approaches. This talk was recorded at the NYC Clojure Users Group meetup at Two Sigma Investments.
In this talk, Brandon Bloom, engineer at Code.org, talks about the many trees that are in a Clojure programmer's software. Both the values Clojure programmers manipulate and the code they manipulate them with, are made from trees. It's way too easy to get caught up in a project and miss the forest for the trees, but one can also ask how often they've missed the trees for the forest? This talk is an exploration of trees from a unique perspective that will hopefully inform your thinking and lead your program design out of the woods. This talk was recorded at the NYC Clojure Users group meetup at Two Sigma Investments.
Note: This is the transcript from the "Core.async a Clojure Library for Asynchronous Programming" presentation by David Nolen from The New York Times. The video of his presentation can be found here: http://g33ktalk.com/core-async-a-clojure-library/
David Nolen: My name is David Nolen. I’m going to talk a bit about ClojureScript in core.async. How many people here have ever read about Core’s communicating sequential processes? Cool. That’s good. Has anybody ever tried using Golang, Rob Pike's Golang? Only one, okay. Has anybody used a language that actually implements CSP? I mean, Go is one. So not that many. So this is something I think is really funny that something that nearly everybody has heard of, but nobody has tried. There’s been languages in the past. You had Occam-pi for the transputer, you had Concurrent ML, which was a variant of Standard ML that supported CSP. Then Go is actually really making waves. People really like it. I don’t really like it, but I think the CSP aspect of it is actually pretty cool. It very much holds very closely to Tony Hoare’s ideas.
So, Rich Hickey decided more or less to just copy Go’s interpretation of Tony Hoare’s original ideas, so I’m not going to assume that you know too much about CSP, and so we’ll go slow, but we’ll end up going fast later, so it won’t be boring if you think you know this stuff.
In this talk, we hear from David Nolen from the New York Times about core.async, the new library for asynchronous programming in Clojure and ClojureScript. He'll be talking about Communicating Sequential Processes & Responsive Design. This talk was recorded at the NYC Clojure Users Group meetup at Two Sigma Investments. The transcript from this talk can be found here: http://g33ktalk.com/transcript-coreasync-clojure-library/
As clients diversify on all fronts, how do we program flexible user interfaces without getting mired in software bloat and rampant complexity? Communicating Sequential Processes gives us the tools we need to design modular user interface components - we'll see how with ClojureScript and core.async.
Here's the audio of the first talk from the NYC Clojure Meetup last week at Google.
Talk #1 - David Nolen on Optimizing ClojureScript Protocols
(10 mins, followed by Q/A)
Here's the audio of the third talk from the NYC Clojure Meetup last week at Google.
Talk #3 - Rich Hickey on Reducers: Clojure's New Fold/Reduce Framework
(43 mins, followed by Q/A)