Mark Allen Curry On 2017 Interview

Mark Allen will be giving a talk at Curry On 2017. His talk is called The Sharp Edges of Leaky Abstraction.

Follow him on his GitHub and Twitter. How did you get into Functional Programming?

Mark Allen: I work at Alert Logic and the vast majority of our back end services are written in Erlang. That's how I first came in contact with a functional language. Lately I have been writing a good bit of Scala so that we can use Spark for some of our machine-learning based analytics. What is your talk about?

MA: My talk is about the way that industrial users interact with abstractions that started in or around academic projects. The basic premise that these systems are robust and powerful but they sometimes have compromises that make building reliable production systems challenging. Some of these factors include: logging, deployment, configuration management, metric collection, tutorials/documentation and learning curve. The goal is to start a dialog with researchers who are interested in building systems which are intended for use in industrial settings. Who is your talk for?

MA: Research teams and academics who build systems as a research project and people who use those systems (or their successors) in industrial settings in production environments. What do you hope people will take away from the talk?

MA: That getting abstractions right is really tough. That systems which come from the academic community ought to be more aware of how "regular every day" programmers interact with them and perhaps give some consideration to the needs of those users when they're designing them. What concepts do you recommend people be familiar with to maximize their experience with the talk?

MA: I don't think there's any specific background that would be helpful - I plan to present some examples from my own experience wor king on the Spark platform for machine learning. What resources are available for people who want to study up before the talk?

MA: One really interesting development that's recent is the DAWN project from Stanford which is a group of experienced academic researchers with some industrial background saying in a sense that the systems they've built for Machine Learning really require a high level of expertise with the concepts, terminology and underlying math of Machine Learning - and maybe we should make it simpler for people to deploy and use these techniques in new applications.

That kind of thinking is exactly the sort of discussion I'd like to start. Where can people follow you online?

MA: I'm [@bytemeorg on the Twitters]Twitter. I still own the domain name but the website hasn't been active for years. (Yeah, I oughta set up something. It's on my todo list.) Are there any projects you'd like people to be aware of? How can people help out?

MA: See Dawn above :) Where do you see the state of functional programming in 10 years?

MA: I am terrible at crystal ball questions, but I guess I would lay down a marker that in 10 years most programmers will be using techniques and concepts that come straight out of FP. If functional programming were a superhero, what superpower would it have?

MA: I think FP's super power is simplification. You take an idea, decompose it into all sorts of functions that do something embarrassingly simple and compose them into something larger and larger that can do increasingly complicated things but without the cognitive load that traditional programming can impose on you.