Steve Miner

Software Developer - miner@velisco.com

Steve Miner is a software developer focused on Clojure. He has programmed professionally in many languages, including Common Lisp, Smalltalk, Objective-C and Java. Most of his career has been with Silicon Valley companies such as SRI International, Xerox PARC, ParcPlace and Apple. At Apple, he was a senior software engineer on the Enterprise Objects Framework, WebObjects and Core Data projects. Steve received a Bachelor of Science degree in Electrical Engineering from Stanford University.

github: https://github.com/miner/

twitter: @miner

blog: conjobble.velisco.com



Recent Talks

Juggling Patterns and Programs

Clojure/conj, December 2016

JugPat


The art of juggling has fascinated people since the days of ancient Egypt. In this talk, we posit that juggling theory can inform software development. We start with the mathematical insights of Claude Shannon, renowned as the father of Information Theory. After introducing “siteswap” notation, we use Clojure to visualize juggling patterns. Finally, we review some interesing results in neuroscience regarding juggling. 

project: https://github.com/miner/rastelli

slides: https://speakerdeck.com/miner/juggling-patterns-and-programs

video: https://www.youtube.com/watch?v=TqG176T69VM




Generating Generators

Clojure/conj, November 2014

Gen-Gen-YouTube

Property-based testing provides good test coverage and automatic shrinking of failure cases. However, coding universal properties with the test.check generator combinators is somewhat of an art. In many cases, it's easier to start from a declarative description of the test data. The Herbert library automatically generates test.check generators from EDN schemas. Learn how schemas can offer simplified testing, easier maintenance and better documentation for your Clojure code.

project: https://github.com/miner/herbert

slides: https://speakerdeck.com/miner/generating-generators

video: https://www.youtube.com/watch?v=4JGu33WF0Us



The Way to Eden

Clojure/conj, November 2013

way-to-eden

This presentation was given as a lightning talk at Clojure/conj.  It introduced the Herbert project, which implements a schema language for Clojure data.  The whiteboard-compatible notation (represented as EDN values) is useful for documentation and testing.

project: https://github.com/miner/herbert

PDF: https://github.com/miner/way-to-edn

slides: https://speakerdeck.com/miner/the-way-to-edn

video: https://www.youtube.com/watch?v=bmHTFo2Rf2w&t=19m55s



The Data-Reader's Guide to the Galaxy

Clojure West, March 2013

data-readers-guide

Don't panic if you're unsure about picking up data-readers. It turns out that tagged literals are mostly harmless. Much as Douglas Adams produced "The Hitchhicker's Guide" material in multiple forms, a Clojure programmer can assign data-readers to process tagged literals with customized implementations. Clojure 1.5 adds a new feature that makes dealing with unknown tags simple and convenient. We'll also talk about the Extensible Data Notation (EDN), which aims to be the Babel fish of data transfer. Finally, we will explore a few unorthodox uses for data-readers.

PDF: https://github.com/miner/data-readers-guide

slides: https://speakerdeck.com/miner/the-data-readers-guide-to-the-galaxy

video: https://www.infoq.com/presentations/Clojure-Data-Reader



Challenges for Logic Programming

Clojure/conj, November 2012

miner-clp-fryar

The core.logic library (a port of miniKANREN) has sparked an interest in logic programming among Clojure users. Back in the '80s, logic programming inspired the Japanese Fifth Generation Computer Systems Project, which was poised to leap past the rest of the world, but it didn't work out that way. In this talk, we'll review "What Went Wrong" (from Hewitt's infamous paper). We'll discuss some of the challenges that logic programming faces today and how Clojure might help.

PDF: https://github.com/miner/challenges-for-lp

slides: https://speakerdeck.com/miner/challenges-for-logic-programming

video: https://www.youtube.com/watch?v=y6WKr9j76kw

Steve Miner


© 2019 Steve Miner