<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Papi Picante's Spice Log</title><link>https://yawn.io/</link><description>Recent content on Papi Picante's Spice Log</description><generator>Hugo -- gohugo.io</generator><language>en-gb</language><lastBuildDate>Sat, 09 Aug 2025 19:01:00 +0200</lastBuildDate><atom:link href="https://yawn.io/index.xml" rel="self" type="application/rss+xml"/><item><title>curl | sudo bash isn't a security issue (on Linux)</title><link>https://yawn.io/posts/curl-bash/</link><pubDate>Wed, 30 Jul 2025 12:11:23 +0200</pubDate><guid>https://yawn.io/posts/curl-bash/</guid><description>&lt;p>When I want to try out a new tool and its &amp;ldquo;Getting Started&amp;rdquo; page kicks off with
&lt;code>curl https://thingy.dev/install.sh | sudo bash&lt;/code>, I usually &lt;a href="https://yawn.io/assets/xbox_360.gif">turn
360°&lt;/a> and walk away&lt;sup id="fnref:1">&lt;a href="#fn:1" class="footnote-ref" role="doc-noteref">1&lt;/a>&lt;/sup>. It&amp;rsquo;s not worth it.&lt;/p>
&lt;p>But this is &lt;em>not&lt;/em> because I&amp;rsquo;m worried about security. In fact I don&amp;rsquo;t think
there&amp;rsquo;s any real security issue with the &lt;code>curl | sudo bash&lt;/code> here.&lt;/p>
&lt;p>To understand why, let&amp;rsquo;s start by considering what happens if we drop this sudo.
Is &lt;code>curl | sudo bash&lt;/code> more of a security risk than plain &lt;code>curl | bash&lt;/code>? I don&amp;rsquo;t
think so, because there&amp;rsquo;s no significant security boundary between users on
Linux. There are two reasons for this:&lt;/p></description></item><item><title>Learning an alphabet is easy</title><link>https://yawn.io/posts/alphabet/</link><pubDate>Tue, 29 Jul 2025 12:40:54 +0200</pubDate><guid>https://yawn.io/posts/alphabet/</guid><description>&lt;p>I studied Russian at school. People often say, &amp;ldquo;Wow, Russian, that must be so
hard, with the different alphabet and all.&amp;rdquo; I think this reveals that they&amp;rsquo;re
thinking wrongly about learning a language. I think this wrongness is
instructive.&lt;/p>
&lt;p>Learning a language is a really, really big deal. But you can memorise the
Cyrillic alphabet in an hour&amp;rsquo;s work. You could probably master it in 10. It&amp;rsquo;s
much harder than using chopsticks but it&amp;rsquo;s much, &lt;em>much&lt;/em> easier than speaking
Russian&lt;sup id="fnref:1">&lt;a href="#fn:1" class="footnote-ref" role="doc-noteref">1&lt;/a>&lt;/sup>.&lt;/p></description></item><item><title>The YX Problem (Reverse XY Problem)</title><link>https://yawn.io/posts/yx-problem-v2/</link><pubDate>Sun, 02 Mar 2025 13:28:10 +0100</pubDate><guid>https://yawn.io/posts/yx-problem-v2/</guid><description>&lt;p>&lt;a href="https://xyproblem.info/">XY Problem&lt;/a> interactions go something like this:&lt;/p>
&lt;blockquote>
&lt;p>&lt;strong>Tess&lt;/strong>: How do I disable SELinux?&lt;/p>
&lt;p>&lt;strong>Burt&lt;/strong>: Don&amp;rsquo;t disable SELinux. Go and read &lt;a href="https://xyproblem.info">https://xyproblem.info&lt;/a> then ask
your ACTUAL question.&lt;/p>
&lt;p>&lt;strong>Tess&lt;/strong>: My webserver is crashing with &amp;ldquo;can&amp;rsquo;t read /etc/foo.conf: permission denied&amp;rdquo;&lt;/p>
&lt;p>&lt;strong>Burt&lt;/strong>: You need to do &lt;code>chmod a+r /etc/foo.conf&lt;/code>.&lt;/p>&lt;/blockquote>
&lt;p>And yeah, fine, in this case Burt had a point. But what about this one:&lt;/p>
&lt;blockquote>
&lt;p>&lt;strong>Tess&lt;/strong>: How do I disable SELinux?&lt;/p>
&lt;p>&lt;strong>Burt&lt;/strong>: Don&amp;rsquo;t disable SELinux. Go and read &lt;a href="https://xyproblem.info">https://xyproblem.info&lt;/a> then ask
your ACTUAL question.&lt;/p></description></item><item><title>Meandering nonsense about the YX Problem</title><link>https://yawn.io/posts/yx-problem/</link><pubDate>Sat, 25 Jan 2025 15:37:25 +0100</pubDate><guid>https://yawn.io/posts/yx-problem/</guid><description>&lt;p class="callout">&lt;strong>Note&lt;/strong>:
There&amp;rsquo;s now a punchier, less silly and obtuse version of this argument &lt;a href="https://yawn.io/posts/yx-problem-v2/">here&lt;/a>.&lt;/p>
&lt;p>&lt;a href="https://xyproblem.info/">The XY Problem&lt;/a> is a name for the phenomenon that
people asking for help often &amp;ldquo;skip ahead&amp;rdquo; to questions about the solution they
envisage, instead of asking questions about their problem.&lt;/p>
&lt;p>The classic example goes something like this:&lt;/p>
&lt;blockquote>
&lt;p>&lt;em>Schlörbert&lt;/em>: How can I disable SELinux on my GRUNDUS device?&lt;/p>
&lt;p>&lt;em>Æthelred&lt;/em>: Don&amp;rsquo;t do that. Why do you want to do that? That&amp;rsquo;s insecure.&lt;/p></description></item><item><title>WENUS Priests</title><link>https://yawn.io/2024/02/07/psychic-wenus.html</link><pubDate>Wed, 07 Feb 2024 19:56:03 +0000</pubDate><guid>https://yawn.io/2024/02/07/psychic-wenus.html</guid><description>&lt;p>I work for a big tech company. I have a laptop that I carry to work in my bike
bag and plug into the screens and keyboard and mouse. I mainly use it to log
into a virtual machine in &amp;ldquo;Western Europe&amp;rdquo;. I like &amp;ldquo;my&amp;rdquo; virtual machine because
it has lots of virtual CPUs and virtual RAM, although when it reboots it&amp;rsquo;s
pretty slow for a while. I think this is because its virtual disk dissipates
into the ether of a staggeringly complex globally distributed data storage
system and has to be reconstituted on-demand.&lt;/p></description></item><item><title>Some Observations About German</title><link>https://yawn.io/2023/05/06/german.html</link><pubDate>Sat, 06 May 2023 16:28:03 +0000</pubDate><guid>https://yawn.io/2023/05/06/german.html</guid><description>&lt;p>I&amp;rsquo;ve been living in Zürich and therefore learning German for the last few years.
Here are some things about German that are funny or interesting.&lt;/p>
&lt;ul>
&lt;li>
&lt;p>Some things are countable in German that are not in English. This quickly
polluted my brain and now I find myself saying things like &amp;ldquo;can you pick up a
bread from the shop&amp;rdquo; when speaking English.&lt;/p>
&lt;/li>
&lt;li>
&lt;p>&amp;ldquo;Willst du mich verarschen?&amp;rdquo; means something like &amp;ldquo;are you fucking with me?
Literally &amp;ldquo;do you want to arse me?&amp;rdquo;&lt;/p></description></item><item><title>Papi Picante's 'Mirchi Mama' vegan curries</title><link>https://yawn.io/recipes/2021/12/31/curries.html</link><pubDate>Fri, 31 Dec 2021 17:36:06 +0000</pubDate><guid>https://yawn.io/recipes/2021/12/31/curries.html</guid><description>&lt;p>I wanted to cook for a really large number of people and decided curry was the
way to make the most delicious food for the least labour. I doubted my ability
to eyeball the amount of spices etc. since I&amp;rsquo;m used to cooking for 2-4 people
max. So I made them in normal portions and measured all the quantities, so that
I could scale them up.&lt;/p>
&lt;p>All the fresh vegetables are in season in the winter in Europe. All the
ingredients that aren&amp;rsquo;t in mainstream supermarkets can be found in south-Asian
speciality shops.&lt;/p></description></item><item><title>Tax Choices</title><link>https://yawn.io/foo/2021/09/09/tax-choices.html</link><pubDate>Thu, 09 Sep 2021 10:00:00 +0000</pubDate><guid>https://yawn.io/foo/2021/09/09/tax-choices.html</guid><description>&lt;p>Today Boris Johnson&amp;rsquo;s Commons majority voted to break their manifesto promise by increasing National Insurance in England.&lt;/p>
&lt;p>National Insurance is a &lt;em>regressive&lt;/em> tax: the richer you are, the smaller the proportion of your income you pay. There are lots of different ways for the government to raise tax revenue - but they chose to hike a tax that minimally affects rich people.&lt;/p>
&lt;p>Some elements in the media have managed to mention this, but most have focussed on Tory and Labour talking points that fail to address the fundamental issue: we need to tax the rich.&lt;/p></description></item><item><title>eBPF is Turing Complete</title><link>https://yawn.io/jekyll/update/2020/02/19/turing-complete.html</link><pubDate>Wed, 19 Feb 2020 23:43:00 +0000</pubDate><guid>https://yawn.io/jekyll/update/2020/02/19/turing-complete.html</guid><description>&lt;p>Recently my teammate and I were discussing our project with another colleague at the coffee machine. Our project is closely tied to &lt;a href="https://lwn.net/Articles/740157/">eBPF&lt;/a>. Our colleague didn&amp;rsquo;t really know what that was, so my team-mate summed it up as &amp;ldquo;a non-Turing-complete bytecode VM in the Linux kernel&amp;rdquo;. This triggered a pointless argument, which is the topic of this post.&lt;/p>
&lt;p>My colleague&amp;rsquo;s rationale was that an eBPF program is only allowed to execute &lt;a href="https://lwn.net/Articles/794934/">one million instructions&lt;/a>. To use the traditional definition of Turing-completeness, that clearly means it cannot simulate the infinite &amp;ldquo;tape&amp;rdquo; of a Turing machine.&lt;/p></description></item><item><title>A Humiliating Update on 'Pangrammatic Autograms'</title><link>https://yawn.io/2019/09/07/pangram-update.html</link><pubDate>Sat, 07 Sep 2019 00:00:00 +0000</pubDate><guid>https://yawn.io/2019/09/07/pangram-update.html</guid><description>&lt;p>In my &lt;a href="https://yawn.io/2019/08/28/pangrammatic-autograms.html">previous post on &amp;ldquo;pangrammatic autograms&amp;rdquo;&lt;/a>, I included a cute tool to fiddle with
these magical sentences and see whether they were correct. I then exclaimed (!)
that the pan-autogram that I found in Hofstadter&amp;rsquo;s &lt;em>I Am A Strange Loop&lt;/em> was
&lt;em>incorrect&lt;/em>!&lt;/p>
&lt;p>Well, a Reddit user &lt;a href="https://www.reddit.com/r/programming/comments/cxusz6/pangrammatic_autograms/eypyot0?utm_source=share&amp;amp;utm_medium=web2x">pointed
out&lt;/a>
that I am a completely useless idiot and deserve to be cast into the North Sea
on a raft of overripe bananas, because the reason why my cute tool found
Hofstadter&amp;rsquo;s pangram to be bogus was simply that it didn&amp;rsquo;t account for capital
letters. I usually consider myself a competent programmer so this is pretty
embarrassing. I should probably add some daily self-flaggelation to my
banana-raft itinerary.&lt;/p></description></item><item><title>Pangrammatic Autograms</title><link>https://yawn.io/2019/08/28/pangrammatic-autograms.html</link><pubDate>Wed, 28 Aug 2019 00:00:00 +0000</pubDate><guid>https://yawn.io/2019/08/28/pangrammatic-autograms.html</guid><description>&lt;p>In &lt;em>Gödel, Escher, Bach&lt;/em>, Douglas Hofstadter lays out how self-reference
underpins some staggering philosophical truths. Relatedly, it&amp;rsquo;s &lt;em>satisfying&lt;/em> and
&lt;em>funny&lt;/em>. Pangrams - sentence containing every letter - are also satisfying, and
though perhaps I never actually LOL&amp;rsquo;d at &amp;ldquo;the quick brown fox jumps over the
lazy dog&amp;rdquo;, I think they&amp;rsquo;re sort of funny (maybe they are a weak form of Tom 7&amp;rsquo;s
&lt;a href="https://www.youtube.com/watch?v=ar9WRwCiSr0">&amp;ldquo;improper hierarchy&amp;rdquo;&lt;/a>).&lt;/p>
&lt;p>So this, a sentence in Douglas Hofstadter&amp;rsquo;s later book &lt;em>I am a Strange Loop&lt;/em>, is
pretty captivating:&lt;/p></description></item><item><title>Finding a flashcard app to learn vocabulary</title><link>https://yawn.io/2019/02/09/flashcards-app.html</link><pubDate>Sat, 09 Feb 2019 00:00:00 +0000</pubDate><guid>https://yawn.io/2019/02/09/flashcards-app.html</guid><description>&lt;p>I wanted an app to learn Vietnamese vocab. My requirements are:&lt;/p>
&lt;ul>
&lt;li>Easy to import and export cards, so you&amp;rsquo;re not locked in&lt;/li>
&lt;li>Sensible interface for creating new cards&lt;/li>
&lt;li>A smart system for deciding which cards need studying when&lt;/li>
&lt;/ul>
&lt;p>Of course you want a mobile app, so you can study in any spare moment, and so
you can note down new vocab you encounter - straight into the memory hopper.
Also in my case, Vietnamese has loads of diacritical marks which seem easier to
deal with on a mobile keyboard.&lt;/p></description></item><item><title>Papi Picante's "Spicy Father" Noodle Soup</title><link>https://yawn.io/recipes/2018/09/30/spicy-father.html</link><pubDate>Sun, 30 Sep 2018 14:28:03 +0000</pubDate><guid>https://yawn.io/recipes/2018/09/30/spicy-father.html</guid><description>&lt;p>Here is the long-awaited recipe for Papi Picante&amp;rsquo;s &amp;ldquo;Spicy Father&amp;rdquo; sort-of-Sichuan-style noodle soup. &lt;del>I forgot to take pictures of the actual food, so you&amp;rsquo;ll just have to make it to see how it looks&lt;/del>.&lt;/p>
&lt;p>&lt;img src="https://yawn.io/assets/noodles-cooked.jpg" alt="The food">&lt;/p>
&lt;h3 id="you-will-need">You will need&amp;hellip;&lt;/h3>
&lt;p>&amp;hellip; To go to the Chinese supermarket. And get&amp;hellip;&lt;/p>
&lt;ul>
&lt;li>
&lt;p>Fresh coriander, spring onions, garlic&lt;/p>
&lt;/li>
&lt;li>
&lt;p>Ginger (I just use ginger paste out of a jar)&lt;/p>
&lt;/li>
&lt;li>
&lt;p>Toasted sesame oil&lt;/p>
&lt;/li>
&lt;li>
&lt;p>Tofu. I use firm tofu but anything would work. The best would be the porous spongy type but I don&amp;rsquo;t know what this is called and I haven&amp;rsquo;t found it in shops.&lt;/p></description></item></channel></rss>