Why Does Theory Matter in Computer Science? (Meta-Commentary)

Note on the Making (Writing?) of this Talk/Series

When I first started doing this writeup, I did not expect to still be working on it 6 months later. Finishing this was a long, long overdue task for a while. This is the second write-up I’ve done of a talk I’ve given. The first one I did was for “How to be a Talentless Hack in Public”, which I published in zine form first, before then publishing the text on this blog several months later.
Read more...

Getting to the End of the Thought; or, Why Write in the Age of AI?

I’ve been thinking a lot about the value of writing recently, especially in regard to how it’s been influenced by the advent of generative AI. In the past few months, I’ve had a lot of conversations in which people claimed that generative AI is just as good at writing as humans now, or better, in many cases. While I agree that AI generation tools are, at this point, better at the mechanics of writing than the average person, I have always found their outputs to be shallow and devoid of interesting surprises.
Read more...

Why Does Theory Matter in Computer Science? (Part 5)

References, Resources, and Further Reading

Here is a long list of sources I consulted at various points while doing research for this project. As it might have become clear through reading the previous installments of this series, this was more a talk about the densest subgraph problem than it was about theory being useful in computer science. There are a few reasons for that, which I might explain in more detail at some point in the future. This means that I presented a lot of information that I borrowed from other people! Here’s an annotated bibliography of sorts, in case you were interested in going deeper, for whatever reason.
Read more...

Why Does Theory Matter in Computer Science? (Part 4)

Set Functions, Supermodularity and the Densest Supermodular Set Problem

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.
Read more...