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
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
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
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
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
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