<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Coding on tl</title><link>https://blog.tklingard.com/tags/coding/</link><description>Recent content in Coding on tl</description><generator>Hugo</generator><language>en</language><lastBuildDate>Thu, 28 May 2026 00:00:00 +0000</lastBuildDate><atom:link href="https://blog.tklingard.com/tags/coding/index.xml" rel="self" type="application/rss+xml"/><item><title>Thoughts on Testing Code</title><link>https://blog.tklingard.com/posts/2026-05/thoughts-on-code-testing/</link><pubDate>Thu, 28 May 2026 00:00:00 +0000</pubDate><guid>https://blog.tklingard.com/posts/2026-05/thoughts-on-code-testing/</guid><description>&lt;p&gt;I was watching a recent episode of &lt;a href="https://youtu.be/XOiCFa5niuM" class="external-link" target="_blank" rel="noopener"&gt;The Rest Is Science&lt;/a&gt; about how humans find abstract reasoning inherently difficult, and it got me wondering about how we think about code quality and the link between coding and the contracts we make when defining expected behaviour of code.&lt;/p&gt;
&lt;p&gt;For reference, the episode (which you should go watch!) introduces a reasoning test, the &lt;a href="https://en.wikipedia.org/wiki/Wason_selection_task" class="external-link" target="_blank" rel="noopener"&gt;Wason selection task&lt;/a&gt; which reads as the following&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;You are shown a set of four cards placed on a table, each of which has a letter on one side and a number on the other. The visible faces of the cards show &lt;code&gt;7&lt;/code&gt;, &lt;code&gt;8&lt;/code&gt;, &lt;code&gt;G&lt;/code&gt; and &lt;code&gt;A&lt;/code&gt;. Which card(s) must you turn over in order to test that if a card shows &lt;code&gt;A&lt;/code&gt; on the letter face, then its opposite number face is a &lt;code&gt;7&lt;/code&gt;?&lt;/p&gt;</description></item></channel></rss>