<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/">
  <channel>
    <title>rich text</title>
    <link>https://www.lafferty.ca/</link>
    <description>Recent content on rich text</description>
    <image>
      <title>rich text</title>
      <url>https://www.lafferty.ca/papermod-cover.png</url>
      <link>https://www.lafferty.ca/papermod-cover.png</link>
    </image>
    <generator>Hugo -- 0.139.2</generator>
    <language>en</language>
    <copyright>2023 Rich Lafferty</copyright>
    <lastBuildDate>Thu, 28 Nov 2024 13:01:24 -0400</lastBuildDate>
    <atom:link href="https://www.lafferty.ca/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>Speak Alt Text on MacOS</title>
      <link>https://www.lafferty.ca/blog/2024-11-speak-alt-text-on-macos/</link>
      <pubDate>Thu, 28 Nov 2024 13:01:24 -0400</pubDate>
      <guid>https://www.lafferty.ca/blog/2024-11-speak-alt-text-on-macos/</guid>
      <description>&lt;p&gt;I&amp;rsquo;ve been using Bluesky a lot lately (I&amp;rsquo;m &lt;a href=&#34;https://bsky.app/profile/rich.lafferty.ca&#34;&gt;@rich.lafferty.ca&lt;/a&gt;
there), and one of the conventions there, like on Mastodon, is that
images should have alt text.&lt;sup id=&#34;fnref:1&#34;&gt;&lt;a href=&#34;#fn:1&#34; class=&#34;footnote-ref&#34; role=&#34;doc-noteref&#34;&gt;1&lt;/a&gt;&lt;/sup&gt;  I &lt;a href=&#34;https://bsky.app/profile/tealfuleyes.art/post/3lb2tb37y3c2j&#34;&gt;configure my account to require
it&lt;/a&gt; so I don&amp;rsquo;t
forget, especially on mobile.&lt;/p&gt;
&lt;p&gt;But one challenge with alt text is that you don&amp;rsquo;t know what it will sound like
to someone using speech-to-text, and while that&amp;rsquo;s not the only way people
use alt text, it is &lt;em&gt;one&lt;/em&gt; use case.&lt;/p&gt;</description>
    </item>
    <item>
      <title>WIP limits in a nutshell</title>
      <link>https://www.lafferty.ca/blog/2023-12-wip-limits/</link>
      <pubDate>Sat, 09 Dec 2023 16:23:57 -0400</pubDate>
      <guid>https://www.lafferty.ca/blog/2023-12-wip-limits/</guid>
      <description>&lt;p&gt;This is the whiteboard diagram I have repeated the most in my career. Stop doing
so much at once and you&amp;rsquo;ll deliver value sooner.&lt;/p&gt;
&lt;p&gt;&lt;img alt=&#34;Two diagrams. In the first, three projects run concurrently all deliver their value after three months. In the second, each project is run consecutively, and so the first project&amp;rsquo;s value is delivered after the first month, the second after the second month, and the third after the third month.&#34; loading=&#34;lazy&#34; src=&#34;https://www.lafferty.ca/blog/2023-12-wip-limits/wiplimits.png&#34;&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>Four stars and a horse ⭐️⭐️⭐️⭐️🐴</title>
      <link>https://www.lafferty.ca/blog/2023-11-four-stars-and-a-horse/</link>
      <pubDate>Sat, 18 Nov 2023 21:14:29 -0400</pubDate>
      <guid>https://www.lafferty.ca/blog/2023-11-four-stars-and-a-horse/</guid>
      <description>&lt;p&gt;This is one of my favorite bugs, and because of various website redesigns it&amp;rsquo;s
all but fallen off the internet, so noting here for posterity. I was reminded
of it earlier today talking with a friend about what &amp;ldquo;four and a half nines&amp;rdquo;
means in reliability, and I suggested &amp;ldquo;four nines and a horse&amp;rdquo; and got to
introduce him to this bug!&lt;/p&gt;
&lt;p&gt;Back in May 2014, Etsy had a bug where they accidentally replaced their half-star
image in ratings with a horse.  Twitter user marykuris thankfully
&lt;a href=&#34;https://twitter.com/marykuris/status/542832346131476480&#34;&gt;posted a screenshot&lt;/a&gt;:&lt;/p&gt;</description>
    </item>
    <item>
      <title>Four Kinds of Dates</title>
      <link>https://www.lafferty.ca/blog/2023-11-four-kinds-of-dates/</link>
      <pubDate>Sat, 11 Nov 2023 16:38:51 -0400</pubDate>
      <guid>https://www.lafferty.ca/blog/2023-11-four-kinds-of-dates/</guid>
      <description>&lt;p&gt;Software engineers always seem to resist talking about dates. Estimating is
hard, but it is also dangerous &amp;ndash; sometimes you make an estimate and the next
thing you know it&amp;rsquo;s a deadline that has consequences if missed! But you never
committed to anything! &lt;em&gt;What happened?&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;People are imprecise when they talk about dates, and interpret
things to meet their needs. A while ago I learned&lt;sup id=&#34;fnref:1&#34;&gt;&lt;a href=&#34;#fn:1&#34; class=&#34;footnote-ref&#34; role=&#34;doc-noteref&#34;&gt;1&lt;/a&gt;&lt;/sup&gt; about a model of four kinds
of dates which can help avoid misinterpretations. I&amp;rsquo;ve used it for a long time
and it&amp;rsquo;s helped clear up a bunch of date-related confusion.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Alarm fatigue and ignorable warnings</title>
      <link>https://www.lafferty.ca/blog/2023-04-alarm-fatigue-and-ignorable-warnings/</link>
      <pubDate>Fri, 28 Apr 2023 20:45:27 -0300</pubDate>
      <guid>https://www.lafferty.ca/blog/2023-04-alarm-fatigue-and-ignorable-warnings/</guid>
      <description>&lt;p&gt;We had a minor Major Incident&lt;sup&gt;*&lt;/sup&gt; today, and it was a nice little example of alarm fatigue.&lt;/p&gt;
&lt;p&gt;A service — which was thankfully not in use yet — just up and stopped running in production. No sign of it where it used to be in Kubernetes or even in ArgoCD. Thankfully, when we spun up the &lt;a href=&#34;https://response.pagerduty.com&#34;&gt;major incident process&lt;/a&gt;, someone had an &amp;ldquo;oh&amp;hellip; oh no&amp;rdquo; moment and realized that they&amp;rsquo;d done a &lt;code&gt;terraform apply&lt;/code&gt; in what should&amp;rsquo;ve been an unrelated repo right around the time the incident started and proactively joined the call.&lt;/p&gt;</description>
    </item>
    <item>
      <title>ChatGPT, Python and Misplaced Confidence</title>
      <link>https://www.lafferty.ca/blog/2022-12-chatgpt-python-and-misplaced-confidence/</link>
      <pubDate>Thu, 08 Dec 2022 21:14:28 -0400</pubDate>
      <guid>https://www.lafferty.ca/blog/2022-12-chatgpt-python-and-misplaced-confidence/</guid>
      <description>&lt;p&gt;I had an amazing encounter with the &lt;a href=&#34;https://chat.openai.com/chat&#34;&gt;ChatGPT AI&lt;/a&gt;
today.&lt;/p&gt;
&lt;p&gt;Someone on the &lt;a href=&#34;https://www.halihax.com/&#34;&gt;Halihax slack&lt;/a&gt; who was working on
today&amp;rsquo;s &lt;a href=&#34;https://adventofcode.com/2022/day/8&#34;&gt;Advent of Code challenge&lt;/a&gt; was
bemoaning the absence of a way to tell a Python &lt;a href=&#34;https://realpython.com/list-comprehension-python/&#34;&gt;list
comprehension&lt;/a&gt; to stop
after the first N iterations. That didn&amp;rsquo;t seem completely unreasonable, but I
didn&amp;rsquo;t know how to do it, so I thought I&amp;rsquo;d find out if ChatGPT knew how.&lt;/p&gt;
&lt;p&gt;For those unfamiliar with list comprehensions: in Python there is a convenient
syntax for working with lists, so that instead of writing something like&lt;/p&gt;</description>
    </item>
    <item>
      <title>Welcome</title>
      <link>https://www.lafferty.ca/blog/2022-04-welcome/</link>
      <pubDate>Fri, 15 Apr 2022 14:37:39 -0300</pubDate>
      <guid>https://www.lafferty.ca/blog/2022-04-welcome/</guid>
      <description>&lt;p&gt;The problem with a brand-new blog is getting the first post out. Breaking the
seal, so to speak. So to force myself through that, I figured I&amp;rsquo;d give a quick
introduction.&lt;/p&gt;
&lt;figure class=&#34;align-center&#34;&gt;
    &lt;img loading=&#34;lazy&#34; src=&#34;hat.jpg#center&#34;/&gt; &lt;figcaption&gt;
            I like hats.
        &lt;/figcaption&gt;
&lt;/figure&gt;

&lt;p&gt;I&amp;rsquo;m Rich Lafferty, a site reliability engineer in Dartmouth, Nova Scotia,
Canada, across the harbour from Halifax. I&amp;rsquo;ve been doing this kind of thing
since 1999 under various titles like &amp;ldquo;sysadmin&amp;rdquo;, &amp;ldquo;ops engineer&amp;rdquo;, and now &amp;ldquo;SRE&amp;rdquo;,
and spent a bit of time in a management role as well before returning to an
engineering role at PagerDuty where I am currently a staff engineer.&lt;/p&gt;</description>
    </item>
  </channel>
</rss>
