<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Explainers on rkempe’s blog</title>
    <link>https://blog.rkempe.ca/tags/explainers/</link>
    <description>Recent content in Explainers on rkempe’s blog</description>
    <generator>Hugo</generator>
    <language>en-ca</language>
    <copyright>&amp;copy; Copyright 2026 Rebecca Kempe</copyright>
    <lastBuildDate>Mon, 08 Jun 2026 00:11:31 -0400</lastBuildDate>
    <atom:link href="https://blog.rkempe.ca/tags/explainers/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>A Few Notes on Distributed Systems Models and Failures</title>
      <link>https://blog.rkempe.ca/posts/2026/06/a-few-notes-on-distributed-systems-models-and-failures/</link>
      <pubDate>Mon, 08 Jun 2026 00:11:31 -0400</pubDate>
      <guid>https://blog.rkempe.ca/posts/2026/06/a-few-notes-on-distributed-systems-models-and-failures/</guid>
      <description>While the terms &amp;ldquo;distributed systems&amp;rdquo; and &amp;ldquo;distributed computing&amp;rdquo; are often used interchangeably, for my purposes, I’ve found it useful to draw a distinction. Distributed systems research is often focused on how to get multiple components of a system to act together in a reliable way, whereas distributed computing research is focused on how to use multi-component systems to solve a problem by breaking it down into different parts. While distributed systems is more of an engineering discipline focused on systems architecture, distributed computing is more of a mathematical discipline focused on the design of algorithms.</description>
    </item>
    <item>
      <title>The Researcher Alignment Matrix</title>
      <link>https://blog.rkempe.ca/posts/2026/05/the-researcher-alignment-matrix/</link>
      <pubDate>Mon, 25 May 2026 23:06:44 -0400</pubDate>
      <guid>https://blog.rkempe.ca/posts/2026/05/the-researcher-alignment-matrix/</guid>
      <description>&lt;p&gt;Ever since I decided to get myself involved in academic research two years ago, I’ve spent a lot of time thinking about the habits and behaviours of the different researchers I’ve interacted with. Most researchers are crazy, but they’re crazy in different ways because their actions are driven by different forces.&lt;/p&gt;&#xA;&lt;p&gt;Understanding your particular brand of influences and craziness as a researcher and comparing it with those of others may help you to understand why your collaborations with some researchers work very well and why others drive you insane. Therefore, I hereby present to you the “Researcher Alignment Matrix”.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Noble Gases Make Bonds</title>
      <link>https://blog.rkempe.ca/posts/2025/06/noble-gases-make-bonds/</link>
      <pubDate>Fri, 20 Jun 2025 21:44:10 -0400</pubDate>
      <guid>https://blog.rkempe.ca/posts/2025/06/noble-gases-make-bonds/</guid>
      <description>This is (almost) verbatim text from a chemistry unit project I did in Grade 12, and I still think it holds up, so I’m putting it up here. Damn, I was so funny back then. I miss the version of me that was willing to be so cheeky on assignments.</description>
    </item>
    <item>
      <title>Why Does Theory Matter in Computer Science? (Part 4)</title>
      <link>https://blog.rkempe.ca/posts/2025/05/why-does-theory-matter-in-computer-science-part-4/</link>
      <pubDate>Thu, 22 May 2025 21:28:43 -0400</pubDate>
      <guid>https://blog.rkempe.ca/posts/2025/05/why-does-theory-matter-in-computer-science-part-4/</guid>
      <description>In Part 3, we discussed the densest subgraph problem (DSP) and some algorithms for solving it. In this section, we’ll be looking at how we can generalize this problem and those algorithms to solve some other problems. This is the part of the talk where I will introduce some fancy new math I had to learn in order to understand how one might generalize iterative peeling to solve adjacent problems.</description>
    </item>
    <item>
      <title>Why Does Theory Matter in Computer Science? (Part 3)</title>
      <link>https://blog.rkempe.ca/posts/2025/02/why-does-theory-matter-in-computer-science-part-3/</link>
      <pubDate>Thu, 13 Feb 2025 23:17:01 -0500</pubDate>
      <guid>https://blog.rkempe.ca/posts/2025/02/why-does-theory-matter-in-computer-science-part-3/</guid>
      <description>In Part 2 of this talk, we gave a crash course to graph theory and showed how we can use it to view some real-world problems as instances of the densest subgraph problem (DSP). But what exactly is the DSP? If you’ve studied graph theory, you may have heard of something called the Maximum Clique Problem. The goal of the max clique problem is to find the largest complete subgraph in a graph. If we consider our vertices to be people, and edges to represent a friendship relationship between two people, in the max clique problem we are trying to find the largest friend group in a community.</description>
    </item>
    <item>
      <title>Do You Need to Understand the Math Behind a System to Implement It?</title>
      <link>https://blog.rkempe.ca/posts/2025/01/do-you-need-to-understand-the-math-behind-a-system-to-implement-it/</link>
      <pubDate>Sun, 26 Jan 2025 14:17:20 -0500</pubDate>
      <guid>https://blog.rkempe.ca/posts/2025/01/do-you-need-to-understand-the-math-behind-a-system-to-implement-it/</guid>
      <description>&lt;p&gt;&lt;em&gt;A while ago, someone in a Discord server I’m in asked how much of the math behind a system you need to know to implement it. I thought it was an interesting question, and I felt qualified to answer it, so I ended up writing quite a lengthy response. It just occurred to me that it might also be useful to other people, so I thought I would clean it up a little bit and archive it here.&lt;/em&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>Why Does Theory Matter in Computer Science? (Part 2)</title>
      <link>https://blog.rkempe.ca/posts/2025/01/why-does-theory-matter-in-computer-science-part-2/</link>
      <pubDate>Fri, 24 Jan 2025 12:47:46 -0500</pubDate>
      <guid>https://blog.rkempe.ca/posts/2025/01/why-does-theory-matter-in-computer-science-part-2/</guid>
      <description>In the first part of this talk, I made the case that theory is useful because it allows us to find (or at the very least, have the correct toolkit and language to explore) solutions to real-world problems. In this part, we are going to look at some examples of such problems and develop mathematical language to be able to discuss them more abstractly. I’ve put the term “real-world” in quotes in the title, because I’m going to be talking about these problems in a lot of generality. However, I want to stress that specific instances of these problems are actually relevant in industry, and I think it’ll be easy to see why once I start talking about them.</description>
    </item>
    <item>
      <title>The Nonfiction Spectrum</title>
      <link>https://blog.rkempe.ca/posts/2024/12/the-nonfiction-spectrum/</link>
      <pubDate>Tue, 31 Dec 2024 23:50:00 -0500</pubDate>
      <guid>https://blog.rkempe.ca/posts/2024/12/the-nonfiction-spectrum/</guid>
      <description>&lt;p&gt;I write across multiple genres, but my main genre is Creative Nonfiction, which writers typically refer to as “CNF” for short. Unfortunately, I always end up having to explain what CNF is to people, because the common view of nonfiction seems to be that it’s entirely comprised of informative texts and academic essays (with maybe the occasional memoir slipped in).&lt;/p&gt;&#xA;&lt;p&gt;Earlier today I was thinking about this, and I thought it would be really funny to place various types of “nonfiction writing” on a graph with labelled axes to prove my point. I present to you the “Nonfiction Spectrum”. On one axis, we have how “accessible” or easy to understand the text is; on the other, we have how “artistic” the presentation of the text is.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Why Does Theory Matter in Computer Science? (Part 1)</title>
      <link>https://blog.rkempe.ca/posts/2024/12/why-does-theory-matter-in-computer-science-part-1/</link>
      <pubDate>Sun, 29 Dec 2024 00:38:01 -0500</pubDate>
      <guid>https://blog.rkempe.ca/posts/2024/12/why-does-theory-matter-in-computer-science-part-1/</guid>
      <description>If you’re a computer science student, you probably had to take an introductory discrete math course at some point. Did you enjoy it? If so, this talk probably isn’t for you, so you can feel free to skip the rest. (Or not – hopefully you feel like you can still learn something from me!) Jokes aside, it’s actually okay not to enjoy your intro to discrete math course: like, personally, I loved mine, but I also completely hated my discrete probability course and would prefer never to see it again. But I pick on discrete math because I feel like if it’s taught well, it can be a turning point for many people, and it certainly was for me.</description>
    </item>
  </channel>
</rss>
