Stuart Halloway
RWX / CDX
Fort Lauderdale · December 3 - 6, 2013
President of Cognitect
Stuart Halloway is a founder and President of Cognitect, Inc. (www.cognitect.com). He is a Clojure committer, and a developer of the Datomic database.
Stuart has spoken at a variety of industry events, including StrangeLoop, Clojure/conj, EuroClojure, ClojureWest, SpeakerConf, QCon, GOTO, OSCON, RailsConf, RubyConf, JavaOne, and NFJS.
Stuart has written a number of books and technical articles. Of these, he is most proud of Programming Clojure.
Learn more about Stu's presentations on his wiki.
Presentations
Narcissistic Design: 10 Steps to Complex Code and Job Security
The software industry changes rapidly, but you can protect yourself
from these changes by creating code that is complicated enough that
only you can maintain it.
ClojureScript
ClojureScript brings the sophisticated semantics of a world-class
production language (Clojure) to the world's dominant deployment
platform (JavaScript, especially running in the browser).
ClojureScript enables browser development that is cheaper, leaner, and
more performant than JavaScript (and “slightly enhanced JavaScript”
alternatives), and makes it possible to share code between
client and server side development.
core.async
The goal of core.async is to decouple producers and consumers of
information in software, without dictating specific thread or blocking
semantics, and without introducing callback hell. Also, to do all of this
as a library, portable anywhere you can run a dialect of Clojure.
Queues are a powerful tool for decoupling software
programs. Unfortunately, platforms that have powerful queueing
libraries (e.g. Java) may require blocking threads on the ends of the
queue. And the world's biggest platform (JavaScript in the browser)
doesn't even have queues or threads.
core.async builds upon the work done with Communicating Sequential
Processes,
and provides:
- facilities for independent threads of activity, communicating via
queue-like channels - both real threads and shared use of thread
pools (in any combination), as well as ClojureScript on JS engines