<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Talks on xdg.me</title>
    <link>https://xdg.me/talks/</link>
    <description>Slides and videos from public speaking and other presentations</description>
    <generator>Hugo -- gohugo.io</generator>
    <language>en-us</language>
    <managingEditor>xdg@xdg.me (David Golden)</managingEditor>
    <webMaster>xdg@xdg.me (David Golden)</webMaster>
    <copyright>Unless otherwise noted, text and media are licensed under a Creative Commons Attribution-ShareAlike 4.0 International License. Code samples licensed under The MIT License.</copyright>
    <lastBuildDate>Wed, 08 Jun 2022 00:00:00 +0000</lastBuildDate><atom:link href="https://xdg.me/talks/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>Supercharging MongoDB Atlas Data Lake (MongoDB World)</title>
      <link>https://xdg.me/supercharging-mongodb-atlas-data-lake/</link>
      <pubDate>Wed, 08 Jun 2022 00:00:00 +0000</pubDate>
      <author>xdg@xdg.me (David Golden)</author>
      <guid>https://xdg.me/supercharging-mongodb-atlas-data-lake/</guid>
      <description>&lt;h2 id=&#34;original-abstract&#34;&gt;Original abstract&lt;/h2&gt;
&lt;p&gt;Data Lake Storage (DLS) is a new, managed data service that automatically
optimizes your ingested data for lightning-fast analytic queries.&lt;/p&gt;
&lt;p&gt;Join MongoDB staff engineer David Golden as he explains how we built DLS and
why it improves query performance.  We&amp;rsquo;ll cover how DLS ingests, partitions,
and automatically rebalances your data.  We&amp;rsquo;ll explain how this works in
concert with our new metadata catalog to optimize query planning.  And we&amp;rsquo;ll
describe the asynchronous workflow underneath it all that seamlessly recovers
from outages to keep your data safe.&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>Slice Recycling Performance and Pitfalls (GothamGo)</title>
      <link>https://xdg.me/slice-recycling-performance-and-pitfalls-gothamgo/</link>
      <pubDate>Fri, 12 Apr 2019 00:00:00 +0000</pubDate>
      <author>xdg@xdg.me (David Golden)</author>
      <guid>https://xdg.me/slice-recycling-performance-and-pitfalls-gothamgo/</guid>
      <description>&lt;h2 id=&#34;original-abstract&#34;&gt;Original abstract&lt;/h2&gt;
&lt;p&gt;When you drink a soda, do you recycle the can? When you allocate a slice, do
you recycle the memory? Recycling cans is good for the planet and recycling
slices can be good for your program. But how? The garbage collector? A
sync.Pool? Something else? You’ll be surprised what a difference it makes!&lt;/p&gt;
&lt;h2 id=&#34;sample-code&#34;&gt;Sample code&lt;/h2&gt;
&lt;p&gt;&lt;a href=&#34;https://github.com/xdg-go/zzz-slice-recycling&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;https://github.com/xdg-go/zzz-slice-recycling&lt;/a&gt;&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>Safer Chainsaw Juggling (TPC)</title>
      <link>https://xdg.me/safer-chainsaw-juggling-tpc/</link>
      <pubDate>Tue, 19 Jun 2018 00:00:00 +0000</pubDate>
      <author>xdg@xdg.me (David Golden)</author>
      <guid>https://xdg.me/safer-chainsaw-juggling-tpc/</guid>
      <description>&lt;p&gt;(Lightning talk)&lt;/p&gt;
&lt;h2 id=&#34;original-abstract&#34;&gt;Original abstract&lt;/h2&gt;
&lt;p&gt;At YAPC::NA 2015, I gave a talk comparing MongoDB to Perl as another
Swiss-Army chainsaw. This year, I&amp;rsquo;ll give a chronology of changes that make
MongoDB less likely to take your leg off.&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>Taking Perl to Eleven With Higher-Order Functions (TPC)</title>
      <link>https://xdg.me/taking-perl-to-eleven-with-higher-order-functions-tpc/</link>
      <pubDate>Mon, 18 Jun 2018 00:00:00 +0000</pubDate>
      <author>xdg@xdg.me (David Golden)</author>
      <guid>https://xdg.me/taking-perl-to-eleven-with-higher-order-functions-tpc/</guid>
      <description>&lt;h2 id=&#34;original-abstract&#34;&gt;Original abstract&lt;/h2&gt;
&lt;p&gt;Sometimes, you just need your Perl to go one higher. This talk will teach
you how to use functions that return functions for powerful, succinct
solutions to some repetitive coding problems. Along the way, you’ll see
concrete examples using higher-order Perl to generate declarative,
structured “fake” data for testing.&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>How I Get to the ☞  (TPC)</title>
      <link>https://xdg.me/how-i-get-to-the-point/</link>
      <pubDate>Tue, 20 Jun 2017 00:00:00 +0000</pubDate>
      <author>xdg@xdg.me (David Golden)</author>
      <guid>https://xdg.me/how-i-get-to-the-point/</guid>
      <description>&lt;p&gt;(Lightning talk)&lt;/p&gt;
&lt;h2 id=&#34;original-abstract&#34;&gt;Original abstract&lt;/h2&gt;
&lt;p&gt;How I stitch together apps, RSS, and web services to trickle out
interesting articles I&amp;rsquo;ve read to Twitter.&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>Real World Optimization (TPC)</title>
      <link>https://xdg.me/real-world-optimization-tpc/</link>
      <pubDate>Mon, 19 Jun 2017 00:00:00 +0000</pubDate>
      <author>xdg@xdg.me (David Golden)</author>
      <guid>https://xdg.me/real-world-optimization-tpc/</guid>
      <description>&lt;h2 id=&#34;original-abstract&#34;&gt;Original abstract&lt;/h2&gt;
&lt;p&gt;This case study gives an inside look at optimization of the MongoDB Perl
driver, including custom benchmarking tools, step-by-step changes and
results that will surprise and amaze. If you ever needed to optimize some
Perl and wondered how people go about it, this talk is for you.&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>One BSON to Rule Them (NYPM)</title>
      <link>https://xdg.me/one-bson-to-rule-them-nypm/</link>
      <pubDate>Thu, 08 Dec 2016 00:00:00 +0000</pubDate>
      <author>xdg@xdg.me (David Golden)</author>
      <guid>https://xdg.me/one-bson-to-rule-them-nypm/</guid>
      <description>&lt;h2 id=&#34;original-abstract&#34;&gt;Original abstract&lt;/h2&gt;
&lt;p&gt;David Golden will talk about his work on &amp;ldquo;BSON&amp;rdquo;, a &lt;a href=&#34;https://metacpan.org/pod/BSON&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;Perl
module&lt;/a&gt; and a &lt;a href=&#34;http://bsonspec.org/&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;binary encoded data
format&lt;/a&gt; used by MongoDB, and the challenge of
serializing strongly-typed data into and out of Perl.&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>IsTrue(true)? (YAPC)</title>
      <link>https://xdg.me/istruetrue-yapc/</link>
      <pubDate>Wed, 22 Jun 2016 00:00:00 +0000</pubDate>
      <author>xdg@xdg.me (David Golden)</author>
      <guid>https://xdg.me/istruetrue-yapc/</guid>
      <description>&lt;h2 id=&#34;original-abstract&#34;&gt;Original abstract&lt;/h2&gt;
&lt;p&gt;Is up down? Is black white? Is true false?  In one very surprising case,
yes!&lt;/p&gt;
&lt;p&gt;&lt;em&gt;In the video below, my part starts around 57:52.&lt;/em&gt;&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>Practical Consistency (YAPC)</title>
      <link>https://xdg.me/practical-consistency-yapc/</link>
      <pubDate>Tue, 21 Jun 2016 00:00:00 +0000</pubDate>
      <author>xdg@xdg.me (David Golden)</author>
      <guid>https://xdg.me/practical-consistency-yapc/</guid>
      <description>&lt;h2 id=&#34;original-abstract&#34;&gt;Original abstract&lt;/h2&gt;
&lt;p&gt;Distributed database consistency is a jargon-filled tarpit - of great
interest to theorists but misunderstood or ignored by developers. But it
doesn&amp;rsquo;t have to be. What if you had a simple mental model for reasoning
about consistency? What if you had simple rules of thumb for making the
right tradeoffs in your applications? MongoDB staff engineer David Golden
will share ideas for practical consistency and demonstrate how to achieve
it with the MongoDB Perl driver.&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>Smokin&#39; Git Rebase (DCBPW)</title>
      <link>https://xdg.me/smokin-git-rebase-dcbpw/</link>
      <pubDate>Sat, 16 Apr 2016 00:00:00 +0000</pubDate>
      <author>xdg@xdg.me (David Golden)</author>
      <guid>https://xdg.me/smokin-git-rebase-dcbpw/</guid>
      <description>&lt;h2 id=&#34;original-abstract&#34;&gt;Original abstract&lt;/h2&gt;
&lt;p&gt;This lightning talk will show you why and how to smoke test your git
rebase.  Git rebase is a great tool, but you lose confidence in having
tested every commit once you rewrite them.  This talk shows a clever way to
smoke test during the rebase itself, so you can stop and fix any failures
as you go.&lt;/p&gt;
&lt;h2 id=&#34;details-of-the-technique&#34;&gt;Details of the technique&lt;/h2&gt;
&lt;p&gt;The slides are a bit useless without audio/video, but the key technique is
on pages 22-24 and repeated here:&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>Juggling Chainsaws (YAPC)</title>
      <link>https://xdg.me/juggling-chainsaws-yapc/</link>
      <pubDate>Wed, 10 Jun 2015 00:00:00 +0000</pubDate>
      <author>xdg@xdg.me (David Golden)</author>
      <guid>https://xdg.me/juggling-chainsaws-yapc/</guid>
      <description>&lt;h2 id=&#34;original-abstract&#34;&gt;Original abstract&lt;/h2&gt;
&lt;p&gt;Perl and MongoDB both embody the twin ideals of whipuptitude and
manipulexity. Both have wildly enthusiastic communities. Both are regularly
reviled by outsiders. What happens when we bring them together? No
children, trees or animals will be harmed during this talk.&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>Make Comments Stand Out (YAPC)</title>
      <link>https://xdg.me/make-comments-stand-out-yapc/</link>
      <pubDate>Mon, 08 Jun 2015 00:00:00 +0000</pubDate>
      <author>xdg@xdg.me (David Golden)</author>
      <guid>https://xdg.me/make-comments-stand-out-yapc/</guid>
      <description>&lt;h2 id=&#34;original-abstract&#34;&gt;Original abstract&lt;/h2&gt;
&lt;p&gt;Most syntax highlighters get comment coloring wrong.&lt;/p&gt;
&lt;p&gt;&lt;em&gt;In the video below, my part starts around 27:57.&lt;/em&gt;&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>State of the Velociraptor Mini-Keynote (YAPC)</title>
      <link>https://xdg.me/state-of-the-velociraptor-mini-keynote-yapc/</link>
      <pubDate>Mon, 08 Jun 2015 00:00:00 +0000</pubDate>
      <author>xdg@xdg.me (David Golden)</author>
      <guid>https://xdg.me/state-of-the-velociraptor-mini-keynote-yapc/</guid>
      <description>&lt;h2 id=&#34;abstract&#34;&gt;Abstract&lt;/h2&gt;
&lt;p&gt;In 2015, the Perl &amp;ldquo;State of the Velociraptor&amp;rdquo; keynote was delivered as a
series of lightning talks by community members.  I was asked to speak about
the Perl Toolchain and the Perl QA Hackathon.  I covered the &lt;a href=&#34;http://neilb.org/tag/cpan-river/&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;CPAN
River&lt;/a&gt; and the &lt;a href=&#34;http://cpan.io/ref/toolchain/berlin-consensus.html&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;Berlin
Consensus&lt;/a&gt;
recommendations for CPAN Standards of Care.&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Unfortunately, the video is a recording of a live-streamed broadcast and
is a bit choppy.  If the video doesn&amp;rsquo;t automatically start at my portion, I
start at 25:18.&lt;/em&gt;&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>Adventures in Optimization (NYPM)</title>
      <link>https://xdg.me/adventures-in-optimization-nypm/</link>
      <pubDate>Wed, 30 Jul 2014 00:00:00 +0000</pubDate>
      <author>xdg@xdg.me (David Golden)</author>
      <guid>https://xdg.me/adventures-in-optimization-nypm/</guid>
      <description>&lt;h2 id=&#34;original-abstract&#34;&gt;Original abstract&lt;/h2&gt;
&lt;p&gt;What makes your code slow? How do you make it faster? And how do you prove
it?&lt;/p&gt;
&lt;p&gt;This talk will describe my adventures benchmarking and optimizing ordered
hashes in Perl, culminating in the release of
&lt;a href=&#34;http://p3rl.org/Hash::Ordered&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;Hash::Ordered&lt;/a&gt; — which outperforms all
other CPAN alternatives, often by a substantial margin. We will cover:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;How to customize Benchmark.pm&lt;/li&gt;
&lt;li&gt;How and why to benchmark at different scales&lt;/li&gt;
&lt;li&gt;Why tied anything in Perl is a horrible idea&lt;/li&gt;
&lt;li&gt;How ordered hashes got faster from a simple algorithm change&lt;/li&gt;
&lt;/ul&gt;</description>
    </item>
    
    <item>
      <title>Cooking Perl With Chef (OSCON)</title>
      <link>https://xdg.me/cooking-perl-with-chef-oscon/</link>
      <pubDate>Thu, 19 Jul 2012 00:00:00 +0000</pubDate>
      <author>xdg@xdg.me (David Golden)</author>
      <guid>https://xdg.me/cooking-perl-with-chef-oscon/</guid>
      <description>&lt;h2 id=&#34;original-abstract&#34;&gt;Original abstract&lt;/h2&gt;
&lt;p&gt;Reliable and scalable applications need repeatable, automatable application
deployment. Configuration management tools like Chef, Puppet and others
make it easy to deploy an entire application stack, but support for Perl
applications has lagged behind other popular, dynamic languages.&lt;/p&gt;
&lt;p&gt;Face it: Perl application deployment is complex. Can you redeploy your
application if your server fails? Can you replicate the application on
another server to scale horizontally? Can you do it quickly and error-free?
Will it have the exact same version of Perl and all necessary CPAN modules?
Are you sure?&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>Acme::Tiny (Perl Seminar NY)</title>
      <link>https://xdg.me/acmetiny-perl-seminar-ny/</link>
      <pubDate>Tue, 16 Nov 2010 00:00:00 +0000</pubDate>
      <author>xdg@xdg.me (David Golden)</author>
      <guid>https://xdg.me/acmetiny-perl-seminar-ny/</guid>
      <description>&lt;p&gt;This talk introduced an evening of lighting talks about CPAN &amp;ldquo;Tiny&amp;rdquo;
modules.&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>Free QA! (OSCON)</title>
      <link>https://xdg.me/free-qa-oscon/</link>
      <pubDate>Thu, 22 Jul 2010 00:00:00 +0000</pubDate>
      <author>xdg@xdg.me (David Golden)</author>
      <guid>https://xdg.me/free-qa-oscon/</guid>
      <description>&lt;h2 id=&#34;original-abstract&#34;&gt;Original Abstract&lt;/h2&gt;
&lt;p&gt;&lt;em&gt;Did you know that CPAN comes with a free QA team? CPAN Testers is a
distributed, grass-roots project with over 6.5 million test reports. This
talk describes how the project benefits Perl developers and offers four
important practices for any large-scale, volunteer QA effort&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;If you&amp;rsquo;ve heard of Perl, you&amp;rsquo;ve probably heard of CPAN. But did you know
that CPAN comes with a free QA team? CPAN Testers is a large-scale,
distributed, grass-roots project to continuously collect and syndicate Perl
library tests from over 80 different platforms and every version of Perl
since 5.6.&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>Perl 5 Version 13 (OSCON)</title>
      <link>https://xdg.me/perl-5-version-13-oscon/</link>
      <pubDate>Thu, 22 Jul 2010 00:00:00 +0000</pubDate>
      <author>xdg@xdg.me (David Golden)</author>
      <guid>https://xdg.me/perl-5-version-13-oscon/</guid>
      <description>&lt;p&gt;This lightning talk described work in progress on Perl 5 Version 13.&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>CPAN Testers&#43;&#43; (Perl Seminar NY)</title>
      <link>https://xdg.me/cpan-testers-perl-seminar-ny/</link>
      <pubDate>Tue, 18 May 2010 00:00:00 +0000</pubDate>
      <author>xdg@xdg.me (David Golden)</author>
      <guid>https://xdg.me/cpan-testers-perl-seminar-ny/</guid>
      <description>&lt;p&gt;This talk summarizes changes in progress to the CPAN Testers project.&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>Quality Hacking in Birmingham (Perl Seminar NY)</title>
      <link>https://xdg.me/quality-hacking-in-birmingham-perl-seminar-ny/</link>
      <pubDate>Tue, 19 May 2009 00:00:00 +0000</pubDate>
      <author>xdg@xdg.me (David Golden)</author>
      <guid>https://xdg.me/quality-hacking-in-birmingham-perl-seminar-ny/</guid>
      <description>&lt;p&gt;This talk summarizes my experience at the second Perl QA Hackathon
in Birmingham, UK.&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>Hackers Gone Wild: Spring Break in Oslo (Perl Seminar NY)</title>
      <link>https://xdg.me/hackers-gone-wild-spring-break-in-oslo-perl-seminar-ny/</link>
      <pubDate>Tue, 20 May 2008 00:00:00 +0000</pubDate>
      <author>xdg@xdg.me (David Golden)</author>
      <guid>https://xdg.me/hackers-gone-wild-spring-break-in-oslo-perl-seminar-ny/</guid>
      <description>&lt;p&gt;This talk summarizes my experience at the first Perl QA Hackathon
in Oslo, Norway.&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>Vanilla Perl (Perl Seminar NY)</title>
      <link>https://xdg.me/vanilla-perl-perl-seminar-ny/</link>
      <pubDate>Tue, 17 Oct 2006 00:00:00 +0000</pubDate>
      <author>xdg@xdg.me (David Golden)</author>
      <guid>https://xdg.me/vanilla-perl-perl-seminar-ny/</guid>
      <description>&lt;p&gt;This talk describes the origins of Vanilla Perl and my work creating
Strawberry Perl.&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>Eversion 101: Inside Out Objects (YAPC)</title>
      <link>https://xdg.me/eversion-101-inside-out-objects-yapc/</link>
      <pubDate>Mon, 26 Jun 2006 00:00:00 +0000</pubDate>
      <author>xdg@xdg.me (David Golden)</author>
      <guid>https://xdg.me/eversion-101-inside-out-objects-yapc/</guid>
      <description>&lt;h2 id=&#34;original-abstract&#34;&gt;Original abstract&lt;/h2&gt;
&lt;p&gt;Inside-out objects offer intriguing advantages over traditional Perl
objects, but at the cost of substantial complexity.  This talk reviews pros
and cons of inside-out objects and teaches the basics of how they work.  It
includes three core concepts, four ways to make them and five pitfalls to
avoid. Familiarity with traditional object-oriented Perl will be assumed.&lt;/p&gt;
&lt;p&gt;Previously given at&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Perl Seminar NY, January 2006&lt;/li&gt;
&lt;li&gt;Boston.pm, June 2006&lt;/li&gt;
&lt;/ul&gt;</description>
    </item>
    
    <item>
      <title>Pod::WikiDoc (YAPC)</title>
      <link>https://xdg.me/podwikidoc-yapc/</link>
      <pubDate>Mon, 26 Jun 2006 00:00:00 +0000</pubDate>
      <author>xdg@xdg.me (David Golden)</author>
      <guid>https://xdg.me/podwikidoc-yapc/</guid>
      <description>&lt;p&gt;This lightning talk described an alternative &amp;lsquo;dialect&amp;rsquo; of POD.&lt;/p&gt;</description>
    </item>
    
  </channel>
</rss>
