Clojure Con: Day 1 Sessions Recap and Highlights

Table of Contents

1. Sessions, Day 1

1.1. Notes

  • Lunch programs

1.2. Core.Async in Use, Timothy Baldridge

https://twitter.com/timbaldridge?lang=en

  • batch operations

go -> loop -> when-some -> if -> when | recur

  • transducers are a recommended key starting point

xf comp cat partition-all

  • pipeline
  • AutoCompleter example with params:query

The OM.next example indicates how the framework is responsible for the async parts of the problem. Changes to the query will cause dependent UI to rerender.

  • Pedestal Interceptors

http://pedestal.io/reference/interceptors

1.3. With Great Composition Comes Great Responsibility, Elizabeth Engelman

1.4. Using spec to Transparently Replace a Legacy System, Daniel Solano Gómez

https://twitter.com/deepbluelambda?lang=en

1.5. Testing Made Simple, Tony Kay

https://github.com/awkay

Look at the amount of time that is actually spent in doing UI spot checking, database seeding, unit testing, etc. that contributes to the quality of the product.

There's a culture of fear and expertise that permeates the time spent testing vs. actually developing the application.

What is the coverage actually provided by the testing that is done manually vs. automated.

Use a Haskell-style approach of side-effecting and non-side-effection components of the application.

zThis also the approach used to effectively test the "functional" or utility methods.

What are the trade-offs between less and more code and the relationship with local and globale confidence.

Example: testing the C implementation of sin (approx 800)

1.6. Practical Clojure Profiling in Production, Gregory Sizemore

1.7. Navigating ClojureScript's Fire Swamps, Peter Schuck

1.8. Clojure Remixed: Pyroclast Data Processing, Michael Drogalis

2. Unsessions

  • Machine Learning in Clojure with Cortex
  • spec
  • Getting Up and Running with ClojureScript

3. Sessions, Day 2

3.1. Full Stack Teleport Testing with Om Next & Datomic, António Monteiro, Mike Kaplinskiy

  • UI data tree to DOM
  • teleport provides a set of quick steps to move into a particular state
  • cookies and headers modelled in the test system
  • the PR issue: teleports created with each commit and branches are up to date with master (not just conflict free)

3.3. Testing Stateful and Concurrent Systems Using test.check, Eric Normand

  • use gnerative testing to increase the space associated with the test cover
  • test check starts by removing characters
  • (->Javascriptify

The other Sussman course that should be parallel is

https://groups.csail.mit.edu/mac/users/gjs/6.945/

This uses multi-methods for multiplying different interfaces

See also

3.4. It's Just Data, Bob Calco

3.5. Physics in Clojure, Colin Smith

3.6. Symbolic Assembly: Using Clojure to Meta-program Bytecode, Ramsey Nasser

https://twitter.com/ra

  • inspection into the system

3.7. Emulators, Immutability, and Time Travel, Angus Fletcher

3.8. Synthesis and Verification for All, Emina Torlak

Author: Jason Walsh

Created: 2024-08-12 Mon 20:46

Validate