<?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 Stephen Finucane (Fin-oo-can)</title>
    <link>https://that.guru/talks/</link>
    <description>Recent content in Talks on Stephen Finucane (Fin-oo-can)</description>
    <generator>Hugo -- gohugo.io</generator>
    <language>en-IE</language>
    <managingEditor>stephenfinucane@hotmail.com (Stephen Finucane)</managingEditor>
    <webMaster>stephenfinucane@hotmail.com (Stephen Finucane)</webMaster>
    <lastBuildDate>Sat, 18 Oct 2025 00:00:00 +0000</lastBuildDate><atom:link href="https://that.guru/talks/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>Manage Your OpenStack Resources From Kubernetes With ORC</title>
      <link>https://that.guru/talks/manage-your-openstack-resources-from-kubernetes-with-orc/</link>
      <pubDate>Sat, 18 Oct 2025 00:00:00 +0000</pubDate>
      <author>stephenfinucane@hotmail.com (Stephen Finucane)</author>
      <guid>https://that.guru/talks/manage-your-openstack-resources-from-kubernetes-with-orc/</guid>
      <description>&lt;p&gt;This talk introduced OpenStack Resource Controller (ORC), a set of controllers that allows management of OpenStack
resources using Kubernetes CRDs. It was delivered during &lt;a href=&#34;https://summit2025.openinfra.org/a/schedule/#&#34;&gt;OpenInfra Summit Europe&lt;/a&gt; in Paris in October 2025.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Managing OpenStack resources efficiently can be complex, especially when striving for cloud-native agility and GitOps
workflows. In this talk, we&amp;rsquo;ll introduce the OpenStack Resource Controller (ORC), a powerful solution combining the
benefits of Kubernetes Custom Resource Definitions (CRDs) and controllers with OpenStack&amp;rsquo;s rich and mature APIs and
application ecosystem. We&amp;rsquo;ll explore ORC&amp;rsquo;s fundamental &amp;ldquo;raison d&amp;rsquo;être,&amp;rdquo; highlighting how it directly addresses common
provisioning pain points many developers and operators face. We&amp;rsquo;ll compare ORC against “the competition”, exploring
both its strengths and weaknesses. Discover its core goals, design philosophy, and how ORC simplifies the declarative
management of your OpenStack infrastructure, enabling seamless resource orchestration for modern cloud-native
applications.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;More information is available on the &lt;a href=&#34;https://summit2025.openinfra.org/a/schedule/#&#34;&gt;OpenInfra Summit Europe 2025&lt;/a&gt; website.&lt;/p&gt;

&lt;script async class=&#34;speakerdeck-embed&#34; data-id=&#34;fe689fb7df5f470bacc5f701b2ee968c&#34; data-ratio=&#34;1.77777777777778&#34; src=&#34;//speakerdeck.com/assets/embed.js&#34;&gt;&lt;/script&gt;


</description>
    </item>
    
    <item>
      <title>Steps Down the OpenAPI Path</title>
      <link>https://that.guru/talks/steps-down-the-openapi-path/</link>
      <pubDate>Sat, 18 Oct 2025 00:00:00 +0000</pubDate>
      <author>stephenfinucane@hotmail.com (Stephen Finucane)</author>
      <guid>https://that.guru/talks/steps-down-the-openapi-path/</guid>
      <description>&lt;p&gt;This talks was delivered during the &lt;a href=&#34;https://summit2025.openinfra.org/a/schedule/#&#34;&gt;OpenInfra Summit Europe&lt;/a&gt; in Paris in
October 2025. It was a continuation of a talk I gave at the &lt;a href=&#34;https://that.guru/talks/api-contracts-bringing-openapi-and-typing-to-openstack/&#34;&gt;previous OpenInfra Summit&lt;/a&gt;
and focused on the continued development of the OpenAPI effort over the intervening two OpenStack releases.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;OpenStack has been on a journey towards implementing formal OpenAPI v3.1 API specifications for all services for a
number of releases now. We have many goals - better understanding our APIs, improving our documentation, easing client
and library development, etc. - and we are finally delivering on many of these. Come learn about the milestones we&amp;rsquo;ve
reached to date, and the benefits we&amp;rsquo;re already seeing from these efforts, and our plans for the next . We&amp;rsquo;ll talk
about the complexities of implementing common functionality across services with vastly different APIs and stacks, the
cool/horrifying things we&amp;rsquo;ve (re)discovered about our APIs, and the oxidation of our clients. We&amp;rsquo;ll also demonstrate
some of the fruits of our labours and discuss how you, as a user, deployer, or contributor, can get involved in the
effort.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;More information is available on the &lt;a href=&#34;https://summit2025.openinfra.org/a/schedule/#&#34;&gt;OpenInfra Summit Europe 2025&lt;/a&gt; website.&lt;/p&gt;

&lt;script async class=&#34;speakerdeck-embed&#34; data-id=&#34;7f0c15e3f8554064b4f69db5b5951b27&#34; data-ratio=&#34;1.77777777777778&#34; src=&#34;//speakerdeck.com/assets/embed.js&#34;&gt;&lt;/script&gt;


</description>
    </item>
    
    <item>
      <title>API Contracts: Bringing OpenAPI and Typing to OpenStack</title>
      <link>https://that.guru/talks/api-contracts-bringing-openapi-and-typing-to-openstack/</link>
      <pubDate>Wed, 11 Sep 2024 00:00:00 +0000</pubDate>
      <author>stephenfinucane@hotmail.com (Stephen Finucane)</author>
      <guid>https://that.guru/talks/api-contracts-bringing-openapi-and-typing-to-openstack/</guid>
      <description>&lt;p&gt;This talk was delivered during the &lt;a href=&#34;https://2024.openinfraasia.org/&#34;&gt;OpenInfra Summit Asia in Suwon&lt;/a&gt; in September 2024. It focused on two efforts
currently underway in the OpenStack community, one to add OpenAPI schema generation to many services, and another to add
type annotations to the SDK and OpenStackClient.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;OpenStack&amp;rsquo;s APIs - of both RESTful and Python variety - have evolved organically over time. This has allowed them to
grow and change as new use cases have arisen (and older ones died away), but this organic growth has resulted in a
large amount of cruft, weird corner cases and bugs, and generally lots of undefined behaviour, all things commonly
known as tech debt. While a lot has been done to reduce this tech debt - ranging from low-hanging fruit like improved
docstrings and better unit test coverage to bigger efforts like the api-ref docs and functional API tests - we know
from experience that there are a non-trivial number of latent issues just waiting to be triggered. Fortunately, the
broader tech ecosystem has not stood still since OpenStack was first introduced in the early 2010s. Two technologies
in particular promise to massively improve how we document and understand our APIs: OpenAPI and Python type
annotations. OpenAPI promises to provide a machine-readable definition of the various APIs, while Python type
annotations allow us a way to provide guarantees about type information that were not previously possible in Python.
In this talk, we will explore the work that has been ongoing to integrate both technologies into projects across
OpenStack, how you as a user or developer can taking advantage of them, and how you can get involved.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;More information is available on the &lt;a href=&#34;https://2024.openinfraasia.org/&#34;&gt;OpenInfra Summit Asia 2024&lt;/a&gt; website.&lt;/p&gt;

&lt;script async class=&#34;speakerdeck-embed&#34; data-id=&#34;06a0288d97cf415a944d3d1fd36ab907&#34; data-ratio=&#34;1.77777777777778&#34; src=&#34;//speakerdeck.com/assets/embed.js&#34;&gt;&lt;/script&gt;


</description>
    </item>
    
    <item>
      <title>Zero-Downtime Upgrades With SQLAlchemy and Alembic</title>
      <link>https://that.guru/talks/zero-downtime-upgrades-with-alembic-and-sqlalchemy/</link>
      <pubDate>Sun, 13 Nov 2022 00:00:00 +0000</pubDate>
      <author>stephenfinucane@hotmail.com (Stephen Finucane)</author>
      <guid>https://that.guru/talks/zero-downtime-upgrades-with-alembic-and-sqlalchemy/</guid>
      <description>&lt;p&gt;This talk was delivered at &lt;a href=&#34;https://python.ie/pycon-2022/schedule/&#34;&gt;PyCon Ireland 2022&lt;/a&gt;. As the name would suggest,
I aimed to describe how to implement a database upgrade pattern using
SQLAlchemy + Alembic that would allow you to evolve you database schema without
incurring downtime.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Alembic is a database migrations tool written by the author of SQLAlchemy.
Alembic is easy to get started with an provides a number of sensible defaults
out-of-the-box. However, like SQLAlchemy itself, when you look under the hood
you find a seriously capable engine capable of powering all sorts of database
schema migrations. It can even auto-generate the migration files themselves!&lt;/p&gt;
&lt;p&gt;In this presentation, we seek to explore some of these advanced features by
implementing a pattern - the expand-contract pattern - that can allow for near
zero-downtime database upgrades.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;More information is available on the &lt;a href=&#34;https://python.ie/pycon-2022/schedule/&#34;&gt;Python Ireland&lt;/a&gt; website.&lt;/p&gt;

&lt;script async class=&#34;speakerdeck-embed&#34; data-id=&#34;1114ae54fe09427c98a6cff38c9041f8&#34; data-ratio=&#34;1.77777777777778&#34; src=&#34;//speakerdeck.com/assets/embed.js&#34;&gt;&lt;/script&gt;


</description>
    </item>
    
    <item>
      <title>Openstack From 10000ft</title>
      <link>https://that.guru/talks/openstack-from-10000ft/</link>
      <pubDate>Sat, 12 Nov 2022 00:00:00 +0000</pubDate>
      <author>stephenfinucane@hotmail.com (Stephen Finucane)</author>
      <guid>https://that.guru/talks/openstack-from-10000ft/</guid>
      <description>&lt;p&gt;This talk was a lightning talk I gave at PyCon Ireland 2022. There&amp;rsquo;s no real
abstract.&lt;/p&gt;

&lt;script async class=&#34;speakerdeck-embed&#34; data-id=&#34;c7e9c43bd0cb4715b72e9ace211e5370&#34; data-ratio=&#34;1.77777777777778&#34; src=&#34;//speakerdeck.com/assets/embed.js&#34;&gt;&lt;/script&gt;


</description>
    </item>
    
    <item>
      <title>Teaching Padawans to Chop Wood and Carry Water in Their Open Source Journey</title>
      <link>https://that.guru/talks/teaching-padawans-to-chop-wood-and-carry-water-in-their-open-source-journey/</link>
      <pubDate>Tue, 14 Jun 2022 00:00:00 +0000</pubDate>
      <author>stephenfinucane@hotmail.com (Stephen Finucane)</author>
      <guid>https://that.guru/talks/teaching-padawans-to-chop-wood-and-carry-water-in-their-open-source-journey/</guid>
      <description>&lt;p&gt;This talk was delivered during the &lt;a href=&#34;https://www.eventbrite.com/e/openinfra-summit-berlin-2022-tickets-211374997307&#34;&gt;OpenInfra Summit 2022&lt;/a&gt; in Berlin. The
aim was to provide some background on the mentoring activities happening in the
OpenStack community and provide some advice for potential mentors and mentees
on how to get involved in and run a successful mentorship.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Maintainers of most open source projects long for everlasting engagement from
their contributors. Community-driven projects stand a better chance at this,
provided the community itself is well-fed with new contributors and fresh
ideas. Contributors may begin their journey with many motivations, however
staying and taking on maintenance responsibilities is aided by the
community&amp;rsquo;s culture and willingness to mentor. We began building engagement
for the OpenStack Manila community years ago with one-on-one mentoring of new
contributors. We scouted for interested folk at events, conducted hands-on
workshops and continuously improved our on-boarding documentation. Our
methods constantly changed with feedback from mentees. After mentoring nearly
two dozen Outreachy, GSOC and college interns from across the world, we want
to share our process and learnings through this presentation.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;More information is available on the &lt;a href=&#34;https://www.eventbrite.com/e/openinfra-summit-berlin-2022-tickets-211374997307&#34;&gt;Eventbrite&lt;/a&gt; website.&lt;/p&gt;

&lt;script async class=&#34;speakerdeck-embed&#34; data-id=&#34;57f85300bf234d328854b04addfac837&#34; data-ratio=&#34;1.77777777777778&#34; src=&#34;//speakerdeck.com/assets/embed.js&#34;&gt;&lt;/script&gt;


</description>
    </item>
    
    <item>
      <title>What Is Nova?</title>
      <link>https://that.guru/talks/what-is-nova/</link>
      <pubDate>Wed, 10 Jun 2020 00:00:00 +0000</pubDate>
      <author>stephenfinucane@hotmail.com (Stephen Finucane)</author>
      <guid>https://that.guru/talks/what-is-nova/</guid>
      <description>&lt;p&gt;This talk was delivered to a number of Red Hat interns at the start of their
internship and served as a brief, high-level overview of the OpenStack Compute
(nova) project. On the day, it was bookended by an intro to OpenStack itself
and an intro to the OpenStack Networking (neutron) project. There isn&amp;rsquo;t really
a bio of note to share 🤷&lt;/p&gt;

&lt;script async class=&#34;speakerdeck-embed&#34; data-id=&#34;2760b3b3098343ef84e49cd35b11a8ec&#34; data-ratio=&#34;1.77777777777778&#34; src=&#34;//speakerdeck.com/assets/embed.js&#34;&gt;&lt;/script&gt;


</description>
    </item>
    
    <item>
      <title>A Documentation Driven Approach to Building APIs</title>
      <link>https://that.guru/talks/a-documentation-driven-approach-to-building-apis/</link>
      <pubDate>Wed, 13 May 2020 00:00:00 +0000</pubDate>
      <author>stephenfinucane@hotmail.com (Stephen Finucane)</author>
      <guid>https://that.guru/talks/a-documentation-driven-approach-to-building-apis/</guid>
      <description>&lt;p&gt;This talk was delivered during a &lt;a href=&#34;https://www.meetup.com/pythonireland/events/270053282/&#34;&gt;Python virtual meetup&lt;/a&gt;. The aim was to
introduce Django REST Framework and OpenAPI, in order to demonstrate how they
could be combined to produce a well-tested, well-documented RESTful API.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Django REST Framework (DRF) does for REST APIs what Django does for web
applications more generally. That is, it provides a powerful, flexible
framework to help quickly building applications. OpenAPI (formerly Swagger)
provides a machine-readable schema for describing the REST APIs made possible
by the likes of DRF. When combined, they allow you to do some pretty neat
things, which we&amp;rsquo;re going to cover in this talk.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Automatic generation of schemas from your API&lt;/li&gt;
&lt;li&gt;Validation of APIs using schemas&lt;/li&gt;
&lt;li&gt;Documentation!&lt;/li&gt;
&lt;li&gt;The competition&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Let&amp;rsquo;s see if OpenAPI really is the one API schema to rule them all&amp;hellip;or
something like that.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;More information is available on the &lt;a href=&#34;https://www.meetup.com/pythonireland/events/270053282/&#34;&gt;Meetup&lt;/a&gt; website.&lt;/p&gt;

&lt;script async class=&#34;speakerdeck-embed&#34; data-id=&#34;3011a7535ab04961b652b60d18d3a180&#34; data-ratio=&#34;1.77777777777778&#34; src=&#34;//speakerdeck.com/assets/embed.js&#34;&gt;&lt;/script&gt;


</description>
    </item>
    
    <item>
      <title>A Lion, A Head, and A Dash of YAML</title>
      <link>https://that.guru/talks/a-lion-a-head-and-a-dash-of-yaml-pycon-limerick/</link>
      <pubDate>Sat, 29 Feb 2020 00:00:00 +0000</pubDate>
      <author>stephenfinucane@hotmail.com (Stephen Finucane)</author>
      <guid>https://that.guru/talks/a-lion-a-head-and-a-dash-of-yaml-pycon-limerick/</guid>
      <description>&lt;p&gt;This talk, delivered at &lt;a href=&#34;https://pyconlimerick.github.io/#abstracts-for-morning-session-2&#34;&gt;PyCon Limerick 2020&lt;/a&gt;, was a repeat of a talk I&amp;rsquo;d
previously given at &lt;a href=&#34;https://that.guru/talks/a-lion-a-head-and-a-dash-of-yaml/&#34;&gt;FOSDEM 2018&lt;/a&gt;. Once again, this talk provided a quick
dive into the somewhat complicated world of Sphinx extensions.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;If you&amp;rsquo;ve read documentation for a Python library, you&amp;rsquo;ve almost certainly
seen the end product of a docutils or Sphinx-powered documentation toolchain.
Sphinx builds upon docutils and together, they provide the tool of choice for
a majority of projects across the Python ecosystem.&lt;/p&gt;
&lt;p&gt;One of the great advantages of both tools is their inherent customisability
and extensibility: not only can you customise the output of the tools, be
that HTML, LaTeX or something else, but you can also write extensions that
allow you to do things up to and including automatically generating
documentation for you.&lt;/p&gt;
&lt;p&gt;In this presentation, which is part talk, part workshop, we&amp;rsquo;ll look at the
basics for building and using your own extension for these tools, with the
goal of solving the kinds of issues that have been seen in large Python-first
communities like OpenStack. Some prior Python experience will be necessary,
but no Sphinx or docutils experience is assumed.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;More information is available on the &lt;a href=&#34;https://pyconlimerick.github.io/#abstracts-for-morning-session-2&#34;&gt;PyCon Limerick 2020&lt;/a&gt; website.&lt;/p&gt;

&lt;script async class=&#34;speakerdeck-embed&#34; data-id=&#34;a494e97bf79a480ba7d4ea9e728d734a&#34; data-ratio=&#34;1.77777777777778&#34; src=&#34;//speakerdeck.com/assets/embed.js&#34;&gt;&lt;/script&gt;


</description>
    </item>
    
    <item>
      <title>Will Someone *Please* Tell Me Whats Going On? (Redux)</title>
      <link>https://that.guru/talks/will-someone-please-tell-me-whats-going-on-redux/</link>
      <pubDate>Sat, 01 Feb 2020 00:00:00 +0000</pubDate>
      <author>stephenfinucane@hotmail.com (Stephen Finucane)</author>
      <guid>https://that.guru/talks/will-someone-please-tell-me-whats-going-on-redux/</guid>
      <description>&lt;p&gt;This was a talk I gave at &lt;a href=&#34;https://fosdem.org/2020/schedule/event/python2020_manage_change/&#34;&gt;FOSDEM 2020&lt;/a&gt;. I had previously given this talk at
&lt;a href=&#34;https://that.guru/talks/will-someone-please-tell-me-whats-going-on/&#34;&gt;PyCon Limerick&lt;/a&gt;. The summary is repeated below.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Software rarely stands still (unless it&amp;rsquo;s TeX). Things are added, things are
removed, things break and are then hopefully fixed. Managing this, from both
the developer and user perspective, can be tough. In this talk we examine and
compare some of the tools that one can use to make this process easier, such
as &amp;lsquo;debtcollector&amp;rsquo;, &amp;lsquo;reno&amp;rsquo; and &amp;rsquo;towncrier&amp;rsquo;, and contrast these with
alternatives used in other projects.&lt;/p&gt;
&lt;p&gt;This talk would mainly be of interest to developers of open source libraries,
though the same tooling can be used for any Python library or application
that wishes to maintain stable interfaces and/or document changes in their
product.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;More information is available on the &lt;a href=&#34;https://fosdem.org/2020/schedule/event/python2020_manage_change/&#34;&gt;FOSDEM 2020&lt;/a&gt; website.&lt;/p&gt;

&lt;script async class=&#34;speakerdeck-embed&#34; data-id=&#34;d1fb37e9f76548b3a404e632653b818e&#34; data-ratio=&#34;1.77777777777778&#34; src=&#34;//speakerdeck.com/assets/embed.js&#34;&gt;&lt;/script&gt;


</description>
    </item>
    
    <item>
      <title>Trading Flexibility for Performance: The HPC Story in OpenStack</title>
      <link>https://that.guru/talks/trading-flexibility-for-performance/</link>
      <pubDate>Mon, 27 May 2019 00:00:00 +0000</pubDate>
      <author>stephenfinucane@hotmail.com (Stephen Finucane)</author>
      <guid>https://that.guru/talks/trading-flexibility-for-performance/</guid>
      <description>&lt;p&gt;This lightning talk was presented at &lt;a href=&#34;https://indico.cern.ch/event/776411/timetable/#20190527&#34;&gt;OpenStack Days CERN&lt;/a&gt; in May 2019. It
gave an overview of the state of the art for HPC and NFV in the OpenStack
Compute. The talk focused on three of the most important and complex NFV/HPC
features in nova - CPU pinning, NUMA awareness and real-time - and detailed
what they were, why they existed, and how we were trying to make them better.&lt;/p&gt;

&lt;script async class=&#34;speakerdeck-embed&#34; data-id=&#34;5dd03237e78c4d73aaa68e216941b177&#34; data-ratio=&#34;1.77777777777778&#34; src=&#34;//speakerdeck.com/assets/embed.js&#34;&gt;&lt;/script&gt;


</description>
    </item>
    
    <item>
      <title>Working With Documentation, The Openstack Way</title>
      <link>https://that.guru/talks/working-with-documentation-the-openstack-way/</link>
      <pubDate>Tue, 30 Apr 2019 00:00:00 +0000</pubDate>
      <author>stephenfinucane@hotmail.com (Stephen Finucane)</author>
      <guid>https://that.guru/talks/working-with-documentation-the-openstack-way/</guid>
      <description>&lt;p&gt;This talk was co-presented with &lt;a href=&#34;https://twitter.com/dewsday/&#34;&gt;Alex Settle&lt;/a&gt; at the &lt;a href=&#34;https://www.openstack.org/summit/denver-2019/summit-schedule/events/23292/working-with-documentation-the-openstack-way&#34;&gt;Denver OpenStack
Summit&lt;/a&gt; in April 2019. It serves as a brief history of documentation within
OpenStack along with a how-to on contributing to documentation today.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Back in the old days, OpenStack&amp;rsquo;s documentation was managed by a central team
and written in the unspeakable horror that is DocBook. Things have changed a
lot since then, with documentation now spread out across multiple projects
and Sphinx the documentation tool du jour. This presents a lot of
opportunities for people, be they long-term contributors or novices, to make
a real impact to OpenStack&amp;rsquo;s documentation. In this talk, we detail how one
can get started contributing in this area, be it through writing your own
guides, using Sphinx to automatically generate docs or simply fixing a typo.
Viva la documentation!&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;More information is available on the &lt;a href=&#34;https://www.openstack.org/summit/denver-2019/summit-schedule/events/23292/working-with-documentation-the-openstack-way&#34;&gt;OpenStack Summit&lt;/a&gt; website.&lt;/p&gt;

&lt;script async class=&#34;speakerdeck-embed&#34; data-id=&#34;49008e093b0a465d95b1b36297a89f5c&#34; data-ratio=&#34;1.77777777777778&#34; src=&#34;//speakerdeck.com/assets/embed.js&#34;&gt;&lt;/script&gt;


</description>
    </item>
    
    <item>
      <title>Will Somebody *Please* Tell Me What Is Going On?</title>
      <link>https://that.guru/talks/will-someone-please-tell-me-whats-going-on/</link>
      <pubDate>Sat, 23 Mar 2019 00:00:00 +0000</pubDate>
      <author>stephenfinucane@hotmail.com (Stephen Finucane)</author>
      <guid>https://that.guru/talks/will-someone-please-tell-me-whats-going-on/</guid>
      <description>&lt;p&gt;This was a talk I gave at the inaugural &lt;a href=&#34;https://pyconlimerick.github.io/&#34;&gt;PyCon Limerick&lt;/a&gt; in March 2019.  I
explored some tools available within the Python ecosystem that can be used to
manage change. Naturally, many of these were tools developed and used within
OpenStack but I looked at other options to help present a more complete picture
(hint: the OpenStack tools were all more mature, IMO).&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Software rarely stands still (unless it&amp;rsquo;s TeX). Things are added, things are
removed, things break and are then hopefully fixed. Managing this, from both
the developer and user perspective, can be tough. In this talk we examine and
compare some of the tools that one can use to make this process easier, such
as &amp;lsquo;debtcollector&amp;rsquo;, &amp;lsquo;reno&amp;rsquo; and &amp;rsquo;towncrier&amp;rsquo;, and contrast these with
alternatives used in other projects.&lt;/p&gt;
&lt;p&gt;This talk would mainly be of interest to developers of open source libraries,
though the same tooling can be used for any Python library or application
that wishes to maintain stable interfaces and/or document changes in their
product.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;More information is available on the &lt;a href=&#34;https://pyconlimerick.github.io/&#34;&gt;PyCon Limerick&lt;/a&gt; website.&lt;/p&gt;

&lt;script async class=&#34;speakerdeck-embed&#34; data-id=&#34;278610b590f0450dbe0919e09733431b&#34; data-ratio=&#34;1.77777777777778&#34; src=&#34;//speakerdeck.com/assets/embed.js&#34;&gt;&lt;/script&gt;


</description>
    </item>
    
    <item>
      <title>Who Needs pandoc When You Have Sphinx?</title>
      <link>https://that.guru/talks/who-needs-pandoc-when-you-have-sphinx/</link>
      <pubDate>Sat, 02 Feb 2019 00:00:00 +0000</pubDate>
      <author>stephenfinucane@hotmail.com (Stephen Finucane)</author>
      <guid>https://that.guru/talks/who-needs-pandoc-when-you-have-sphinx/</guid>
      <description>&lt;p&gt;This was a talk I gave at &lt;a href=&#34;https://fosdem.org/2019/schedule/event/sphinx/&#34;&gt;FOSDEM 2019&lt;/a&gt;. In this talk, subtitled &amp;ldquo;An
exploration of the parsers and builders of the Sphinx documentation tool&amp;rdquo;, I
explored some of the less well known aspects of both Sphinx and docutils.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Using Sphinx doesn&amp;rsquo;t necessarily mean using reStructuredText for input and
HTML for output. We explore Sphinx&amp;rsquo;s newfound support for Markdown as well as
it&amp;rsquo;s broad range output formats available, before moving onto an overview of
how you can develop your parser and builder extensions.&lt;/p&gt;
&lt;p&gt;Sphinx is the documentation tool of choice for an increasing amount of
projects, both inside and outside Python. Thanks to the success of platforms
like Read the Docs, building documentation with this toolkit has never been
easier. Most people associate Sphinx with the reStructuredText syntax
provided by docutils, and typically output documents to HTML and,
occasionally, PDF. However, Sphinx is capable of so much more. Since Sphinx
1.8, it is possible to use source documents written in the CommonMark syntax,
while the amount of builders provided both in-tree and out-of-tree continue
to grow.&lt;/p&gt;
&lt;p&gt;Through this talk, we explore how one can build their documentation using
Sphinx and Markdown source documents. We detail the variety of builders
available as part of the standard Sphinx installation and as third-party
extensions, including some basic configuration tips for the more commonly
useful ones like man pages and LaTeX/PDF. Finally, we provide a high-level
overview on how you can go about writing your own extensions to parse other
plain-text documentation formats and output in additional documentation
format. The latter of these will touch on docutils, a foundational component
of Sphinx, so one can understand the intermediate documentation model it
provides.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Full information is available on the &lt;a href=&#34;https://fosdem.org/2019/schedule/event/sphinx/&#34;&gt;FOSDEM&lt;/a&gt; website.&lt;/p&gt;

&lt;script async class=&#34;speakerdeck-embed&#34; data-id=&#34;c7922a6d0b2c4e6a81cf63d6bba906ae&#34; data-ratio=&#34;1.77777777777778&#34; src=&#34;//speakerdeck.com/assets/embed.js&#34;&gt;&lt;/script&gt;


</description>
    </item>
    
    <item>
      <title>How to Double* the Performance of vSwitch-based Deployments</title>
      <link>https://that.guru/talks/how-to-double-the-performance-of-vswitch-based-deployments/</link>
      <pubDate>Tue, 13 Nov 2018 00:00:00 +0000</pubDate>
      <author>stephenfinucane@hotmail.com (Stephen Finucane)</author>
      <guid>https://that.guru/talks/how-to-double-the-performance-of-vswitch-based-deployments/</guid>
      <description>&lt;p&gt;This was a talk I have at the &lt;a href=&#34;https://www.openstack.org/summit/berlin-2018/summit-schedule/events/22582/how-to-double-the-performance-of-vswitch-based-deployments&#34;&gt;OpenStack Summit Berlin&lt;/a&gt; in November 2018. In
this talk, I discussed the &lt;a href=&#34;https://specs.openstack.org/openstack/nova-specs/specs/rocky/implemented/numa-aware-vswitches.html&#34;&gt;NUMA-aware vSwitches&lt;/a&gt; feature recently added to
OpenStack Nova, explaining what it was, why you&amp;rsquo;d want it and how you could use
it.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;vSwitch solutions, such as DPDK-accelerated Open vSwitch, promise to provide
much of the performance of SR-IOV with increased flexibility and decreased
operational cost. However, while the switch may be virtual, the hardware that
the vSwitch and VMs are running on is not. Unlike SR-IOV, NUMA affinity was
not accounted for when instances using vSwitch-backed networking. This could
result in a loss of up to 50% of network performance.&lt;/p&gt;
&lt;p&gt;This changes in Rocky. With the completion of the NUMA-aware vSwitch feature,
nova now has the ability to schedule and create you instances in a manner
that will deliver the maximum possible performance from your vSwitch-powered
network. Come learn how we did it and how you can start using this new
functionality in your own deployments.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;What can I expect to learn?&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;How NUMA can adversely affect the performance of your vSwitch-based
deployment&lt;/li&gt;
&lt;li&gt;What features nova provides to eliminate this performance penalty and how
you can use this functionality in your own deployments&lt;/li&gt;
&lt;li&gt;The work ongoing to continue improving performance in this area and related
areas&lt;/li&gt;
&lt;/ul&gt;
&lt;/blockquote&gt;
&lt;p&gt;More information is available on the &lt;a href=&#34;https://www.openstack.org/summit/berlin-2018/summit-schedule/events/22582/how-to-double-the-performance-of-vswitch-based-deployments&#34;&gt;OpenStack Summit Berlin&lt;/a&gt; website.&lt;/p&gt;

&lt;script async class=&#34;speakerdeck-embed&#34; data-id=&#34;bafb785670034d3097959099f4549c42&#34; data-ratio=&#34;1.77777777777778&#34; src=&#34;//speakerdeck.com/assets/embed.js&#34;&gt;&lt;/script&gt;


</description>
    </item>
    
    <item>
      <title>The Wonders of NUMA</title>
      <link>https://that.guru/talks/the-wonders-of-numa/</link>
      <pubDate>Wed, 23 May 2018 00:00:00 +0000</pubDate>
      <author>stephenfinucane@hotmail.com (Stephen Finucane)</author>
      <guid>https://that.guru/talks/the-wonders-of-numa/</guid>
      <description>&lt;p&gt;This talk was presented at the &lt;a href=&#34;https://www.openstack.org/summit/vancouver-2018/summit-schedule/events/20831/the-wonders-of-numa-or-why-your-high-performance-application-doesnt-perform&#34;&gt;OpenStack Summit in Vancouver&lt;/a&gt; in May 2018.
It provided an in-depth summary of what NUMA is and why it matters so much for
high-performance workloads. It was delivered as a lightning talk which, to be
honest, wasn&amp;rsquo;t really sufficient for such a complicated area (at least in the
context on NUMA within OpenStack) but the slides should provide a decent
overview of the topic.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;You select the best possible hardware for the job, you optimize the host OS
to deliver the best performance ever seen by mankind, and you tweak your
high-performance vSwitch to ensure nothing, nothing, could possibly stop you
now. You rub your bloodshot eyes, run &lt;code&gt;openstack server create&lt;/code&gt; and, well,
things don&amp;rsquo;t look so rosy.&lt;/p&gt;
&lt;p&gt;Welcome to the world of OpenStack on NUMA-based architectures, where one poor
scheduling decision can result in drastic performance reductions. Thankfully,
OpenStack realized this some time ago and has been doing many wonderful
things since then to prevent this pain. In this talk, we shine a light on all
things NUMA, from both a general and OpenStack-orientated perspective.&lt;/p&gt;
&lt;p&gt;Coming out of this talk, you should know everything there is to know about
NUMA in OpenStack and will be able to, one can hope, finally put those
performance issues to bed and get some sleep.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;What can I expect to learn?&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;The talk is multi-faceted, covering a breadth of topics from hardware design
right up to user interaction with OpenStack deployments. We aim to cover:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;What NUMA is and why it exists&lt;/li&gt;
&lt;li&gt;How and to what extent NUMA can affect your OpenStack deployment, and the
techniques we use under-the-hood to prevent any performance degradation&lt;/li&gt;
&lt;li&gt;What you, as a user, can do to further optimize your instances&amp;rsquo; performance&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;In addition, work continues on these features. We also take a look forward at
some of the work we&amp;rsquo;re doing to further improve things:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Why OVS-DPDK doesn&amp;rsquo;t deliver on NUMA-based systems, and what we&amp;rsquo;re doing
about it (*)&lt;/li&gt;
&lt;li&gt;Why live migration with CPU pinning doesn&amp;rsquo;t work, and what we&amp;rsquo;re doing
about it (*)&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;(*) If we haven&amp;rsquo;t already &lt;em&gt;done&lt;/em&gt; something about it by now&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;More information is available on the &lt;a href=&#34;https://www.openstack.org/summit/vancouver-2018/summit-schedule/events/20831/the-wonders-of-numa-or-why-your-high-performance-application-doesnt-perform&#34;&gt;OpenStack Summit Vancouver&lt;/a&gt; website.&lt;/p&gt;

&lt;script async class=&#34;speakerdeck-embed&#34; data-id=&#34;a1fb06c606014e3ca67b79ec9b99b3f0&#34; data-ratio=&#34;1.77777777777778&#34; src=&#34;//speakerdeck.com/assets/embed.js&#34;&gt;&lt;/script&gt;


</description>
    </item>
    
    <item>
      <title>A Lion, A Head, and A Dash of YAML</title>
      <link>https://that.guru/talks/a-lion-a-head-and-a-dash-of-yaml/</link>
      <pubDate>Sun, 04 Feb 2018 00:00:00 +0000</pubDate>
      <author>stephenfinucane@hotmail.com (Stephen Finucane)</author>
      <guid>https://that.guru/talks/a-lion-a-head-and-a-dash-of-yaml/</guid>
      <description>&lt;p&gt;This talk, delivered at &lt;a href=&#34;https://archive.fosdem.org/2018/schedule/event/automating_documentation_with_sphinx_extensions/&#34;&gt;FOSDEM 2018&lt;/a&gt;, provided a quick dive into the
somewhat complicated world of Sphinx extensions. Sphinx is an incredibly
powerful tool but, surprisingly for a documentation, suffers from poor quality
documentation. This talk aimed to fill in some of the blanks for users that
aren&amp;rsquo;t so familiar with the tool and its inner workings.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;The Sphinx documentation tool provides tremendous extensibility and theming
options; options which are massively underutilized. We demonstrate how you
can go about writing your own extensions and themes for Sphinx and ultimately
how you treat your docs like code.&lt;/p&gt;
&lt;p&gt;If you work in open source, then it&amp;rsquo;s increasingly likely that you&amp;rsquo;ve come
across the Sphinx documentation tool. Originally written by and for the
Python community, the past few years have seen an increasingly rapid adoption
by non-Python projects. Recent adopters of Sphinx include the Linux kernel,
Open vSwitch and the Dataplane Development Kit (DPDK), while other projects
such as QEMU are preparing plans to migrate. Meanwhile, the Python ecosystem
itself has only grown in strength and communities such as OpenStack have
adopted the tool and have made extensive use of it.&lt;/p&gt;
&lt;p&gt;Unfortunately, despite the widespread adoption and existence of multiple
extensions, Sphinx is not always a very well understood tool. Extensions
provide a pathway to greater functionality, for example, automatically
generating documentation or generating docs in different output formats.
Themes, meanwhile, provide a way to give a consistent, project-focused feel
to your docs. The OpenStack community makes significant use of these
extensibility features, which allow us to solve a number of problems in an
automated manner.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;How can I avoid documenting a command line application twice: once in code
and once in my docs?&lt;/li&gt;
&lt;li&gt;How can I take a large dataset and automatically convert this into multiple
human-readable documents?&lt;/li&gt;
&lt;li&gt;How can I move documents about without breaking links?&lt;/li&gt;
&lt;li&gt;How can I automatically spell-check my documents?&lt;/li&gt;
&lt;li&gt;How can I style my docs to match my project website?&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Through this talk we will demonstrate how each of the above problems, and how
many more, can be solved in an easy and automated manner through the power of
Sphinx extensions and themes. We also demonstrate how you can share your
extensions and themes with the world, if you&amp;rsquo;re so inclined&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;More information is available on the &lt;a href=&#34;https://archive.fosdem.org/2018/schedule/event/automating_documentation_with_sphinx_extensions/&#34;&gt;FOSDEM&lt;/a&gt; website.&lt;/p&gt;

&lt;script async class=&#34;speakerdeck-embed&#34; data-id=&#34;07094f5da49e4430b308685cc82080ff&#34; data-ratio=&#34;1.77777777777778&#34; src=&#34;//speakerdeck.com/assets/embed.js&#34;&gt;&lt;/script&gt;


</description>
    </item>
    
    <item>
      <title>Keeping It Real(Time)</title>
      <link>https://that.guru/talks/keeping-it-real-time/</link>
      <pubDate>Sat, 03 Feb 2018 00:00:00 +0000</pubDate>
      <author>stephenfinucane@hotmail.com (Stephen Finucane)</author>
      <guid>https://that.guru/talks/keeping-it-real-time/</guid>
      <description>&lt;p&gt;This talk was an expanded version of the talk &lt;a href=&#34;https://that.guru/talks/keeping-it-real-time-sydney&#34;&gt;I had given previously at the
Sydney OpenStack Summit&lt;/a&gt; and, as then, I once again discussed the real-time
capabilities of OpenStack Nova. It was delivered at &lt;a href=&#34;https://archive.fosdem.org/2018/schedule/event/vai_keeping_it_realtime/&#34;&gt;FOSDEM 2018&lt;/a&gt; to a crowd
of Virtualization and IaaS enthusiasts.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Real-time in OpenStack is a thing now. Let&amp;rsquo;s explore what this actually looks
like to a user, and (in brief) how it works under the hood.&lt;/p&gt;
&lt;p&gt;Since Juno, OpenStack projects like nova have been on a steady march towards
adding the features and capabilities that users with NFV and HPC workloads
really need from their cloud. The latest of these nova features builds upon
earlier work to finally make real-time workloads in an OpenStack cloud a
reality. In this talk, we take a peek under the nova hood to see how this
feature works and how it ties into earlier work in this area (hint: KVM +
libvirt do most of the heavy lifting). We then demonstrate why this matters
and how you can use this feature and others like it in your own applications.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;More information is available on the &lt;a href=&#34;https://archive.fosdem.org/2018/schedule/event/vai_keeping_it_realtime/&#34;&gt;FOSDEM&lt;/a&gt; website.&lt;/p&gt;
&lt;p&gt;(note: I can&amp;rsquo;t find the original cover photo, sadly. If anyone locates the
source, please let me know)&lt;/p&gt;

&lt;script async class=&#34;speakerdeck-embed&#34; data-id=&#34;c4cccd2ad97646629b6395d6bf585ea9&#34; data-ratio=&#34;1.77777777777778&#34; src=&#34;//speakerdeck.com/assets/embed.js&#34;&gt;&lt;/script&gt;


</description>
    </item>
    
    <item>
      <title>Keeping It Real(Time)</title>
      <link>https://that.guru/talks/keeping-it-real-time-sydney/</link>
      <pubDate>Mon, 06 Nov 2017 00:00:00 +0000</pubDate>
      <author>stephenfinucane@hotmail.com (Stephen Finucane)</author>
      <guid>https://that.guru/talks/keeping-it-real-time-sydney/</guid>
      <description>&lt;p&gt;&lt;strong&gt;Update:&lt;/strong&gt; An &lt;a href=&#34;https://that.guru/talks/keeping-it-real-time&#34;&gt;expanded version of this talk&lt;/a&gt; was delivered at FOSDEM 2018
and is well worth the read if you&amp;rsquo;re interested in this.&lt;/p&gt;
&lt;p&gt;This talk was given as a lightning talk at the &lt;a href=&#34;https://www.openstack.org/summit/sydney-2017/summit-schedule/events/19861/keeping-it-real-time&#34;&gt;OpenStack Summit in Sydney&lt;/a&gt;
in November 2017. It focused on the new-found ability of OpenStack Nova to
schedule real-time instances.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Ever get the feeling your cloud is just a bit too&amp;hellip;cloudy? The flexibility
and resource utilization that the cloud can offer might seem fantastic at
first, but things look a little less rosy when you start thinking about the
performance impacts the cloud can have on your applications, right?&lt;/p&gt;
&lt;p&gt;Never fear: the OpenStack community hears you and and since Juno, projects
like Nova have been on a steady march towards adding the features and
capabilities that users with NFV and HPC workloads really need from their
cloud. The latest of these Nova features builds upon earlier work to finally
make real-time workloads in an OpenStack cloud a reality. In this talk, we
take a peek under the Nova hood to see how this feature works and how it ties
into earlier work in this area. We then demonstrate why this matters and how
you can use this feature and others like it in your own applications.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;What can I expect to learn?&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;This talk is mainly targeted towards attendees working in the Telco/NFV and
HPC markets. These attendees are expected to learn about the real time
features recently added to OpenStack Nova. In addition, these features build
upon many existing features and we will cover some of these as part of the
talk.&lt;/p&gt;
&lt;p&gt;By the end of the talk, we would hope that attendees will have vastly
expanded their knowledge of OpenStack Nova&amp;rsquo;s NFV/HPC capabilities, and would
be able to use their knowledge of these capabilities in their own
applications.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;More information is available on the &lt;a href=&#34;https://www.openstack.org/summit/sydney-2017/summit-schedule/events/19861/keeping-it-real-time&#34;&gt;OpenStack Summit Sydney&lt;/a&gt; website.&lt;/p&gt;

&lt;script async class=&#34;speakerdeck-embed&#34; data-id=&#34;22e2838c18d845419d8bc45f9dbe235d&#34; data-ratio=&#34;1.77777777777778&#34; src=&#34;//speakerdeck.com/assets/embed.js&#34;&gt;&lt;/script&gt;


</description>
    </item>
    
    <item>
      <title>Mailing List, Meet CI</title>
      <link>https://that.guru/talks/mailing-list-meet-ci/</link>
      <pubDate>Sun, 05 Feb 2017 00:00:00 +0000</pubDate>
      <author>stephenfinucane@hotmail.com (Stephen Finucane)</author>
      <guid>https://that.guru/talks/mailing-list-meet-ci/</guid>
      <description>&lt;p&gt;This talk was presented as a lightning talk at &lt;a href=&#34;https://fosdem.org/2017/schedule/event/patchwork_jenkins/&#34;&gt;FOSDEM 2017&lt;/a&gt;. It described
the CI features provided in Patchwork 2.0, which was at the time unreleased. I
wrote a &lt;a href=&#34;https://that.guru/blog/patchwork-and-ci-in-a-tree/&#34;&gt;blog post&lt;/a&gt; to accompany the talk which is well worth reading
(updated since to reflect changes in Patchwork 2.0 final).&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;What does it take to implement continuous integration-style automated testing
into a mailing list-driven software project? Not a lot, actually. In this
talk, we demonstrate how a simple but easily scaled testing system can be
implemented for a such a project through the combination of Patchwork, the
web-based patch tracking system, and open source CI tools such as Jenkins.&lt;/p&gt;
&lt;p&gt;At FOSDEM 2016, developers working on Patchwork, the web-based patch tracking
system, demonstrated some of the ongoing work in Patchwork. This work ranged
from UI improvements to new features and APIs but, collectively, it had the
goal of enabling automated testing functionality for software projects
developed via mailing lists. The Patchwork developers have been busy since
then and the application, in widespread use since 2008, recently hit the 2.0
milestone, marking this functionality as complete.&lt;/p&gt;
&lt;p&gt;Projects such as the Dataplane Development Kit (DPDK) have quickly adopted
the features that 2.0 brings, using them to enable real time, automated
testing of patches sent to the mailing list. This automated testing provides
a mechanism for developers to not only sidestep the more perfunctory of
tasks, such as coding standard checks, but also to test changes in
environments that they may not have at their disposal, such as differing
hardware or OS configurations. As seen in projects pairing open source code
collaboration tools like Gerrit or Rietveld with CI systems such as Jenkins
or BuildBot, this continuous testing can provide huge improvements in
developer velocity.&lt;/p&gt;
&lt;p&gt;In this talk, we demonstrate how to build a basic &amp;ldquo;checkstyle&amp;rdquo; testing system
through a combination of Patchwork and an off-the-shelf, open source CI
system. This system will retrieve patches and dependencies, apply and test
them, and report the results back to both Patchwork and a separate mailing
list. This configuration demonstrates the best of Patchwork&amp;rsquo;s new features,
and can be easily extended to cover far more complex testing scenarios.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;script async class=&#34;speakerdeck-embed&#34; data-id=&#34;ce06b0e45f1e460b9fc3d5d96e65ab31&#34; data-ratio=&#34;1.77777777777778&#34; src=&#34;//speakerdeck.com/assets/embed.js&#34;&gt;&lt;/script&gt;


</description>
    </item>
    
  </channel>
</rss>
