Talks and Papers

The slides and videos (when available) for my talks.
The original Apple Keynote files can be found in this GitHub repo.
See also my Google Scholar page for papers, some of which are listed below.



Can We Make Model Alignment a Software Engineering Process?

The AI Conference, San Francisco, September 10, 2024, Chicago Meetups, September 25 and 26, 2024

This talk explores two unique challenges for software developers that were created by Gen AI: 1) How the non-determinism of model outputs makes testing harder, and 2) Ways we can make model tuning and related refinements more incremental and iterative.



The State of AI: A Less Technical Discussion

Private industry briefing, New York City, November 7, 2024

A discussion of the current state of generative AI: what works, what doesn't, risks, etc., prepared for a less technical audience.


Issues Blocking AI Adoption: A Decentralization Perspective

The Summit on Responsible Decentralized Intelligence, NYC, August 6, 2024

A short talk before a panel discussion on what open means in AI and one challenge blocking AI adoption, Alignment. The event was The Summit on Responsible Decentralized Intelligence —— Future of Decentralization and AI, hosted by Berkeley RDI, which aimed to bring together researchers, innovators, thought leaders, and builders to showcase and discuss responsible innovation in decentralization and AI for a greater future for humanity.






Download PDF (GOTO 2023 version: Download PDF)


Lessons Learned from 15 Years of Scala in the Wild

Several Conferences, 2021-2022

Since I joined the Scala community roughly 15 years ago, the Scala community has learned a lot to make the language more robust and easier to use effectively. I've also learned lots of lessons about effective "enterprise" programming using Scala. Finally, I see warning signs for FP's future growth.



Modularity: A Retrospective

GOTO Chicago Nights, February 18, 2020 and Scala in the City, May 28, 2020

A look at what we've accomplished in making software modular and where we need to go.



Ray - Scalability from a Laptop to a Cluster

YOW! Data, July, 2020, and CodeMesh, Nov., 2020

Ray is a distributed computing system that offers a concise, intuitive API, with excellent performance for distributed workloads. It emerged out of the AI community at U.C. Berkeley.




Download PDF Watch Video (A similar webinar)


Stream All the Things!!

Software Architecture Conference NYC 2017, Strata London and NYC 2017, Reactive Summit 2017, ScalaIO 2017, YOW! Data 2018

I discuss the emerging architecture for large-scale stream data processing, that also integrates the best of microservice architectures.


Bash and All That

GOTO Chicago 2018

A celebration of the UNIX philosophy and the tools it spawned, like bash, make, grep, ...


Scala and the JVM for Big Data: Lessons from Spark

Strata San Jose and Singapore 2016

The JVM is the standard platform for Big Data and Scala is emerging as the standard programming language for Big Data Developers, driven in part by Spark. What lessons can we draw from this picture?





Download PDF Watch Video (Scala eXchange)


Copious Data, the Killer App for Functional Programming

LambdaJam Chicago, others

I argued that "Copious" Data (okay, Big Data) is driving adoption of Functional Programming (FP), more so than multicore concurrency concerns, because more developers will grapple with data problems than concurrency. Because FP is based on Mathematics, it is a natural fit for working with Data, whereas languages like Java, in which Hadoop is written, are poor choices. I revisited this subject in March 2020. The original talks where presented at events in 2013-2014

2020 Update - short version: Download PDF Original 2014 Talk - long version: Download PDF Video


The Seductions of Scala

Various Venues

An introduction to Scala that I often give at conferences and user groups. The PDF includes a lot of extra material that won't fit into a 50-60 minute time slot. The GitHub page for this talk also has the sources used for the examples. In particular, for the Akka-based Actor example at the end of the talk, see README.md. (November 19, 2013)


MapReduce and Its Discontents

QCon NYC 2012, and Big Data Techcon Boston 2013

My first public talk where I claimed that MapReduce is the Enterprise JavaBeans of our time. I criticized the MapReduce programming model and the technical limitations of the Hadoop implementation, in particular. In part, I argued that Java (pre Java-8 especially) is the wrong tool for developing Big Data applications and middleware. Instead, we should be using Functional Programming, since when we work with data, we are really doing Mathematics! (April 11, 2013)


Why Big Data Needs to Be Functional

NE Scala Symposium 2011

A more general version of the previous "Discontents" talk, where I argue that the Hadoop community needs to drop reliance on Java-centric, Object-Oriented approaches and embrace Functional Programming and languages like Scala. (April 15th, 2012)




Polyglot and Poly-paradigm Programming

QCon San Francicso 2008

An argument that modern development problems benefit from a multi-paradigm and/or multi-language solution strategy. Different strategies are discussed in the contexts of example problems (April 2, 2011)

Download PDF Watch Video (Early version of this talk)

Hive - SQL for Hadoop

Chicago Hadoop Users Group

This talk introduces Hive, the original SQL tool for Hadoop and explains why it's a key technology that drove adoption of the ecosystem, primarily because it makes it easier to transition SQL-based data warehouses to Hadoop and it enables conventional data analysts to work with Hadoop. (January 2012)


Research Papers and Other Presentations

In addition to the talks above, here are a few other talks and the research papers I have written or co-written.

Akka

Reactive Programming

The Reactive Manifesto lays out a vision for Reactive Programming. These talks explore various aspects of Reactive.

Aquarium

General AOSD

Other