Journeys with Maps, Riemann, http.async.client, Canon fodder
summary
Opinionated migration notes on idioms and state handling with concrete takeaways: avoid heavyweight docstrings and hiding code, keep mutable globals to ns user or main, prefer explicit state-passing, and prefer decomposition over mocking; favor clear public API and small core namespaces. Riemann is a Netty‑based Clojure stream processor that handles 10k concurrent connections, ingests protobuf events, computes rollups and forwards to Graphite (used in production). http.async.client exposes promises for status headers body plus streaming callbacks and WebSocket support. Musical canons map to delay/interval/mirror/crab transformations and are implemented and played via Overtone.
AI-written summary · about
chapters (4)
- 0:00Journeys with Maps by Robert Rees: moving from Object-Orientated languages with a strong emphasis on typing to a functional style with a duck-typing approach. Expect the talk changed therefore: surprise! :-)
- 14:00Riemann by Sam Newman: Riemann is a Clojure stream processing server based on the c10k server Netty. Capable of processing a large number of concurrent events, using its elegant stream processing functions it is possible to collect large amounts of data from disparate clients.
- 24:00http.async.client by Hubert Iwaniuk: Simultaneously fetching a lot of data over HTTP, consuming HTTP stream, or just needing as painless interface as curl at you REPL – async.http.client is for you. It is lightweight, fast, asynchronous HTTP client.
- 36:30Canon fodder by Chris Ford: Musical canons employ a base melody accompanied by one or more ‘imitations’ – transformations of the original melody. Clojure lends itself to describing canons because the transformations can be represented by pure functions. This talk will use the Overtone audio environment to explore the canonic form, from ‘Row, Row, Row Your Boat’ to Johann Sebastian Bach.








