<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Quarrelsome</title>
    <link>https://sockpuppet.org/</link>
    <description>Recent content on Quarrelsome</description>
    <generator>Hugo</generator>
    <language>en-us</language>
    <lastBuildDate>Tue, 12 May 2026 00:00:00 +0000</lastBuildDate>
    <atom:link href="https://sockpuppet.org/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>The Emacsification of Software</title>
      <link>https://sockpuppet.org/blog/2026/05/12/emacsification/</link>
      <pubDate>Tue, 12 May 2026 00:00:00 +0000</pubDate>
      <guid>https://sockpuppet.org/blog/2026/05/12/emacsification/</guid>
      <description>&lt;p&gt;&lt;b&gt;You want a good Markdown viewer more than you think you do.&lt;/b&gt;&lt;/p&gt;&#xA;&lt;p&gt;We’re all reading a ton of Markdown. It&amp;rsquo;s been the lingua franca of software development since long before LLMs. But now agents have led us into a cursed renaissance of TUI tooling, and the reading experience has become intolerable. I’m certain that at least 14% of the agita about AI code is driven by exhaustion over incessantly scrolling terminal Markdown.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Vulnerability Research Is Cooked</title>
      <link>https://sockpuppet.org/blog/2026/03/30/vulnerability-research-is-cooked/</link>
      <pubDate>Mon, 30 Mar 2026 00:00:00 +0000</pubDate>
      <guid>https://sockpuppet.org/blog/2026/03/30/vulnerability-research-is-cooked/</guid>
      <description>&lt;p&gt;For the last two years, technologists have ominously predicted that AI coding agents will be responsible for a deluge of security vulnerabilities. They were right! Just, not for the reasons they thought.&lt;/p&gt;&#xA;&lt;p&gt;Within the next few months, coding agents will drastically alter both the practice and  the economics of exploit development. Frontier model improvement won’t be a slow burn, but rather a step function. Substantial amounts of high-impact vulnerability research (maybe even most of it) will happen simply by pointing an agent at a source tree and typing “find me zero days”.&lt;/p&gt;</description>
    </item>
    <item>
      <title>I Went To SQL Injection Court</title>
      <link>https://sockpuppet.org/blog/2025/02/09/fixing-illinois-foia/</link>
      <pubDate>Sun, 09 Feb 2025 00:00:00 +0000</pubDate>
      <guid>https://sockpuppet.org/blog/2025/02/09/fixing-illinois-foia/</guid>
      <description>&lt;p&gt;Should public bodies in Illinois, like cities and school districts&#xA;and sheriff&amp;rsquo;s departments, be allowed to hide information from Freedom&#xA;of Information requests by keeping them in databases? That question is&#xA;before the 104th Illinois General Assembly, thanks to a bill sponsored&#xA;by Donald P. DeWitte, elected state senator by the wise citizens of&#xA;Batavia and Elgin (motto: &amp;ldquo;The City In The Suburbs&amp;rdquo;; indeed), and&#xA;prompted in part by my friend Matt Chapman.&lt;/p&gt;</description>
    </item>
    <item>
      <title>14 DNS Nerds Don&#39;t Control The Internet</title>
      <link>https://sockpuppet.org/blog/2016/10/27/14-dns-nerds-dont-control-the-internet/</link>
      <pubDate>Thu, 27 Oct 2016 00:00:00 +0000</pubDate>
      <guid>https://sockpuppet.org/blog/2016/10/27/14-dns-nerds-dont-control-the-internet/</guid>
      <description>&lt;p&gt;&lt;img src=&#34;https://frinkiac.com/meme/S06E12/562411.jpg?b64lines=&#34; alt=&#34;&#34; title=&#34;Welcome to the sacred order of the Stonecutters, number 908.&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;You’re reading this page because you’ve suggested that “14 people control the Internet through the DNSSEC root keys”. If you’re unlucky, you might be a journalist preparing a story about those people. Stop!&lt;/p&gt;&#xA;&lt;p&gt;DNSSEC doesn’t do anything. Dramatic ceremonies notwithstanding, &lt;strong&gt;if the secret DNSSEC keys leaked on Pastebin tomorrow, it’s unlikely that anything would break.&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;p&gt;Practically all commerce on the Internet happens without DNSSEC. Web browsers don’t support it.&#xA;&lt;span class=&#34;sidenote&#34;&gt;or DANE, the DNSSEC-based replacement for certificate authorities.&lt;/span&gt;&#xA;Most DNS domains don’t either. If you log in to your online banking and wire money to Transnistria, no DNSSEC will happen.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Be Coachable</title>
      <link>https://sockpuppet.org/blog/2015/08/21/be-coachable/</link>
      <pubDate>Fri, 21 Aug 2015 00:00:00 +0000</pubDate>
      <guid>https://sockpuppet.org/blog/2015/08/21/be-coachable/</guid>
      <description>&lt;p&gt;This is the first in a series of posts that have been rattling around in my head about lessons I’ve learned from taking up a sport in my 40s. The summary of the back story here is that I started out with Derby Lite in 2012, got kicked out, went back a year later, and,… well, I fell in love with roller derby. Apparently this is a thing that happens. I sat in the bleachers, watching the game with an intensity and focus that made me realise I wanted to play.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Is Extended Random A Malicious NSA Plot?</title>
      <link>https://sockpuppet.org/blog/2015/08/04/is-extended-random-malicious/</link>
      <pubDate>Tue, 04 Aug 2015 00:00:00 +0000</pubDate>
      <guid>https://sockpuppet.org/blog/2015/08/04/is-extended-random-malicious/</guid>
      <description>&lt;p&gt;Did Clyde Frog&lt;span class=&#39;sidenote&#39;&gt;  If I call NSA &amp;ldquo;Clyde Frog&amp;rdquo; long enough, eventually other people will too. Someone has to start the meme! &lt;/span&gt;subvert crypto standards with a backdoored random number generator called Dual_EC? &lt;a href=&#34;https://projectbullrun.org/dual-ec/index.html&#34;&gt;Little doubt remains among practitioners&lt;/a&gt;. Long after cryptographers published an analysis showing that Dual_EC could have been a backdoor, &lt;a href=&#34;http://eprint.iacr.org/2015/767.pdf&#34;&gt;circumstantial evidence&lt;/a&gt; continues to pile up suggesting that&amp;rsquo;s exactly what it was.&lt;span class=&#39;sidenote&#39;&gt;  I think Dual_EC is a backdoor. &lt;/span&gt;&lt;/p&gt;&#xA;&lt;p&gt;Did Clyde Frog then appeal to the IETF to get them to alter TLS to make the backdoor easier to exploit? That’s a theory getting a &lt;a href=&#34;http://www.reuters.com/article/2014/03/31/us-usa-security-nsa-rsa-idUSBREA2U0TY20140331&#34;&gt;lot of attention&lt;/a&gt; in 2015, centering on a series of proposals referred to as “Extended Random”. I don’t know what to think about this theory, and I’d like to dig into it.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Starfighter, Summer 2015</title>
      <link>https://sockpuppet.org/blog/2015/07/13/starfighter/</link>
      <pubDate>Mon, 13 Jul 2015 00:00:00 +0000</pubDate>
      <guid>https://sockpuppet.org/blog/2015/07/13/starfighter/</guid>
      <description>&lt;p&gt;&lt;em&gt;An Erin post!&lt;/em&gt;&lt;/p&gt;&#xA;&lt;h3 id=&#34;1&#34;&gt;1&lt;/h3&gt;&#xA;&lt;p&gt;I don’t really like games.&lt;/p&gt;&#xA;&lt;p&gt;Screen graphics make me nauseous. The political interactions between players are tedious. I’m not a fan of chance, I stink at riddles and it’s rare that someone can concoct a mystery that I cannot immediately resolve.&lt;/p&gt;&#xA;&lt;p&gt;Then I became an app pentester. And not long after I started my new career, I realized I’d found a game I loved. I stayed at my pentesting job at &lt;a href=&#34;https://web.archive.org/web/20150315010602/http://matasano.com/careers/&#34;&gt;Matasano&lt;/a&gt;3x longer than any other job. Why? Every week, there was a new puzzle to solve.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Checksums, MACs, and Signatures</title>
      <link>https://sockpuppet.org/blog/2015/06/23/checksums/</link>
      <pubDate>Tue, 23 Jun 2015 00:00:00 +0000</pubDate>
      <guid>https://sockpuppet.org/blog/2015/06/23/checksums/</guid>
      <description>&lt;h2 id=&#34;a-checksum&#34;&gt;A Checksum&lt;/h2&gt;&#xA;&lt;p&gt;&lt;em&gt;Examples: CRC-32, MD5, SHA3.&lt;/em&gt;&lt;/p&gt;&#xA;&lt;p&gt;Use a checksum when you want to protect data from accidental corruption.&lt;/p&gt;&#xA;&lt;p&gt;Checksums are deterministic and don’t rely on secrets. An adversary who can make guesses about the kinds of data you send can spoof a checksum. So checksums aren’t useful against adversaries. Trying to use them for security is a famous class of cryptographic mistakes; for instance, it’s why we use SSH2 rather than SSH1.&lt;/p&gt;</description>
    </item>
    <item>
      <title>The Hiring Post</title>
      <link>https://sockpuppet.org/blog/2015/03/06/the-hiring-post/</link>
      <pubDate>Fri, 06 Mar 2015 00:00:00 +0000</pubDate>
      <guid>https://sockpuppet.org/blog/2015/03/06/the-hiring-post/</guid>
      <description>&lt;h2 id=&#34;1&#34;&gt;1&lt;/h2&gt;&#xA;&lt;p&gt;The software developer job interview doesn’t work. Companies should stop relying on them. The savviest teams will outcompete their peers by devising alternative hiring schemes.&lt;/p&gt;&#xA;&lt;p&gt;Years from now, we’ll look back at the 2015 developer interview as an anachronism, akin to hiring an orchestra cellist with a personality test and a quiz about music theory rather than a blind audition.&lt;/p&gt;&#xA;&lt;p&gt;Being good at navigating hiring processes requires a basket of skills that isn’t correlated with job performance. The world is full of people who can speak expertly about programming, but can’t effectively code. The majority of people who&lt;em&gt;can&lt;/em&gt;code can’t do it well in an interview. Our hiring process therefore systematically misprices candidates. It’s a moral problem and a market failure. Profit from its correction.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Against DNSSEC</title>
      <link>https://sockpuppet.org/blog/2015/01/15/against-dnssec/</link>
      <pubDate>Thu, 15 Jan 2015 00:00:00 +0000</pubDate>
      <guid>https://sockpuppet.org/blog/2015/01/15/against-dnssec/</guid>
      <description>&lt;p&gt;&lt;em&gt;This post also has an &lt;a href=&#34;https://sockpuppet.org/stuff/dnssec-qa.html&#34;&gt;FAQ&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;&#xA;&lt;h2 id=&#34;dnssec-is-unnecessary&#34;&gt;DNSSEC is Unnecessary&lt;/h2&gt;&#xA;&lt;p&gt;All secure crypto on the Internet assumes that the DNS lookup from names to IP addresses are insecure. Securing those DNS lookups therefore enables no meaningful security. DNSSEC does make some attacks against insecure sites harder. But it doesn’t make those attacks &lt;em&gt;infeasible&lt;/em&gt;, so sites still need to adopt secure transports like TLS. With TLS properly configured, DNSSEC adds nothing.&lt;/p&gt;&#xA;&lt;p&gt;Take &lt;a href=&#34;http://security.stackexchange.com/questions/41289/please-help-verify-my-understanding-of-domain-validation-dv-ssl-certificate&#34;&gt;“domain-validated TLS certificates”&lt;/a&gt;. Some TLS CAs will sign certificates based solely on the requester’s ability to receive a confidential email sent to a domain. DNSSEC makes attacks against this scheme harder. But domain-validated certificates remain insecure, because SMTP is itself insecure. Put differently: the problem is “validating domain ownership via email” in the first place, not that the DNS is insecure.&lt;/p&gt;</description>
    </item>
    <item>
      <title>A Liquid Nitrogen Cocktail Party</title>
      <link>https://sockpuppet.org/blog/2015/01/13/liquid-nitrogen-cocktail-party/</link>
      <pubDate>Tue, 13 Jan 2015 00:00:00 +0000</pubDate>
      <guid>https://sockpuppet.org/blog/2015/01/13/liquid-nitrogen-cocktail-party/</guid>
      <description>&lt;p&gt;My friends and I religiously follow Dave Arnold’s &lt;a href=&#34;http://www.heritageradionetwork.org/programs/51-Cooking-Issues&#34;&gt;Cooking Issues podcast&lt;/a&gt;. David “Momofuku” Chang explains why:&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;p&gt;He is the smartest person I have ever met. He carries a spelunker’s headlight and a length of rope made out of some indestructible material with him &lt;em&gt;at all times&lt;/em&gt;. There are some aspects of cooking and eating that he probably knows more about than anyone who’s ever lived. He’s also an impossibly good get to get drunk with on a train.&lt;/p&gt;</description>
    </item>
    <item>
      <title>You Don&#39;t Want XTS</title>
      <link>https://sockpuppet.org/blog/2014/04/30/you-dont-want-xts/</link>
      <pubDate>Wed, 30 Apr 2014 00:00:00 +0000</pubDate>
      <guid>https://sockpuppet.org/blog/2014/04/30/you-dont-want-xts/</guid>
      <description>&lt;p&gt;&lt;em&gt;This piece is written for software designers, not end-users. If you’re an end-user looking for crypto advice: use Truecrypt, use Filevault, use dm-crypt. Also, use PGP, and Tarsnap. Read on only if you’re interested in crypto nerdery.&lt;/em&gt;&lt;/p&gt;&#xA;&lt;p&gt;XTS is the de-facto standard disk encryption mode.&lt;/p&gt;&#xA;&lt;p&gt;Because it’s relatively new and high-profile, XTS looks like a desirable general-purpose mode. It isn’t. Be wary of applications that claim to use it for anything other than disk encryption.&lt;/p&gt;</description>
    </item>
    <item>
      <title>How To Safely Generate A Random Number</title>
      <link>https://sockpuppet.org/blog/2014/02/25/safely-generate-random-numbers/</link>
      <pubDate>Tue, 25 Feb 2014 00:00:00 +0000</pubDate>
      <guid>https://sockpuppet.org/blog/2014/02/25/safely-generate-random-numbers/</guid>
      <description>&lt;h2 id=&#34;use-urandom&#34;&gt;Use urandom&lt;/h2&gt;&#xA;&lt;p&gt;Use &lt;a href=&#34;http://blog.cr.yp.to/20140205-entropy.html&#34;&gt;urandom&lt;/a&gt;. Use &lt;a href=&#34;http://cr.yp.to/talks/2011.09.28/slides.pdf&#34;&gt;urandom&lt;/a&gt;. Use &lt;a href=&#34;http://golang.org/src/pkg/crypto/rand/rand_unix.go&#34;&gt;urandom&lt;/a&gt;. Use &lt;a href=&#34;http://security.stackexchange.com/questions/3936/is-a-rand-from-dev-urandom-secure-for-a-login-key&#34;&gt;urandom&lt;/a&gt;. Use &lt;a href=&#34;http://stackoverflow.com/a/5639631&#34;&gt;urandom&lt;/a&gt;. Use &lt;a href=&#34;https://twitter.com/bramcohen/status/206146075487240194&#34;&gt;urandom&lt;/a&gt;.&lt;/p&gt;&#xA;&lt;h2 id=&#34;but-what-about-for-crypto-keys&#34;&gt;But what about for crypto keys?&lt;/h2&gt;&#xA;&lt;p&gt;Still &lt;a href=&#34;https://twitter.com/bramcohen/status/206146075487240194&#34;&gt;urandom&lt;/a&gt;.&lt;/p&gt;&#xA;&lt;h2 id=&#34;why-not-securerandom-openssl-havaged-c&#34;&gt;Why not {SecureRandom, OpenSSL, havaged, &amp;amp;c}?&lt;/h2&gt;&#xA;&lt;p&gt;These are userspace CSPRNGs. You want to use the kernel’s CSPRNG, because:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;The kernel has access to raw device entropy.&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;It can promise not to share the same state between applications.&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;A good kernel CSPRNG, like FreeBSD&amp;rsquo;s, can also promise not to feed you random data before it&amp;rsquo;s seeded.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Applied Cryptography Engineering</title>
      <link>https://sockpuppet.org/blog/2013/07/22/applied-practical-cryptography/</link>
      <pubDate>Mon, 22 Jul 2013 00:00:00 +0000</pubDate>
      <guid>https://sockpuppet.org/blog/2013/07/22/applied-practical-cryptography/</guid>
      <description>&lt;p&gt;If you’re reading this, you’re probably a red-blooded American programmer with a simmering interest in cryptography. And my guess is your interest came from Bruce Schneier’s &lt;em&gt;Applied Cryptography&lt;/em&gt;.&lt;/p&gt;&#xA;&lt;p&gt;&lt;em&gt;Applied Cryptography&lt;/em&gt; is a deservedly famous book that lies somewhere between survey, pop-sci advocacy, and almanac. It taught two generations of software developers everything they know about crypto. It’s literate, readable, and ambitious. What’s not to love?&lt;/p&gt;&#xA;&lt;p&gt;Just this: as an instruction manual, &lt;em&gt;Applied Cryptography&lt;/em&gt; is dreadful. &lt;a href=&#34;http://www.schneier.com/blog/archives/2009/09/the_cult_of_sch.html&#34;&gt;Even Schneier seems to concede the point.&lt;/a&gt;This article was written with several goals: to hurry along the process of getting &lt;em&gt;Applied Cryptography&lt;/em&gt; off the go-to stack of developer references, to point out the right book to replace it with, and to spell out what you else you need to know even after reading that replacement. Finally, I wrote this as a sort of open letter to Schneier and his co-authors.&lt;/p&gt;</description>
    </item>
  </channel>
</rss>
