---
title: Presentations
use: [presentations]
---

{% set today = 'today'|date('U') %}
{% set presentation_count = data.presentations|reduce((count, presentation) => count + (presentation.events|filter(e => e.date|date('U') < today)|length), 0) %}

<p>Since September 2012, I have given {{ presentation_count }} public talks and workshops at various conferences and meetups, in-person and remotely, on topics including PHP, Drupal, automated testing, Git, CSS, and systems administration.</p>

{% for presentation in data.presentations|sort((a, b) => a.events|last.date|date('U') > b.events|last.date|date('U') ? -1 : 1) %}
  <article>
    <div class="not-prose">
      <h2 class="text-xl font-bold">
        <a class="font-bold text-blue-primary dark:text-blue-400" href="{{ presentation.url|trim('/', 'right') }}">{{ presentation.title }}</a>
      </h2>
    </div>

    <p>{{ presentation.description }}</p>
  </article>
{% endfor %}