<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>lochsh</title><link>https://mcla.ug/</link><description/><atom:link href="https://mcla.ug/blog/feeds/all.rss.xml" rel="self"/><lastBuildDate>Wed, 25 Feb 2026 00:00:00 +0000</lastBuildDate><item><title>Pandaí or "pandy" for a tin mug or jug</title><link>https://mcla.ug/pandy.html</link><description>&lt;h2&gt;Childhood memories&lt;/h2&gt;
&lt;p&gt;My mother was talking about her childhood summers in rural Donegal, and used
the word "pandy" to describe the tin drinking vessels she was often
tasked with bringing to the men out working, along with a pail of water from the
spring well to fill the vessels from …&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Hannah McLaughlin</dc:creator><pubDate>Wed, 25 Feb 2026 00:00:00 +0000</pubDate><guid>tag:mcla.ug,2026-02-25:/pandy.html</guid><category>misc</category></item><item><title>Goidé mar a deirtear "frog" i nGaedhilg?</title><link>https://mcla.ug/froganna.html</link><description>&lt;script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.3/jquery.min.js"&gt;&lt;/script&gt;
&lt;script src="https://cdnjs.cloudflare.com/ajax/libs/jquery-csv/1.0.40/jquery.csv.js"&gt;&lt;/script&gt;

&lt;p&gt;&lt;link rel="stylesheet" href="https://unpkg.com/leaflet@1.9.4/dist/leaflet.css"
     loading="lazy"
     integrity="sha256-p4NxAoJBhIIN+hmNHrzRCf9tD/miZyoHS5obTRR9BMY="
     crossorigin=""/&gt;&lt;/p&gt;
&lt;script src="https://unpkg.com/leaflet@1.9.4/dist/leaflet.js"
     integrity="sha256-20nQCchB9co0qIjJZRGuk2/Z9VM+kNiyxNV1lvTlZBo="
     crossorigin=""&gt;&lt;/script&gt;

&lt;script src="https://unpkg.com/leaflet.markercluster@1.4.1/dist/leaflet.markercluster-src.js"&gt;&lt;/script&gt;
&lt;p&gt;&lt;link rel="stylesheet" href="https://unpkg.com/leaflet.markercluster@1.4.1/dist/MarkerCluster.css" /&gt;
&lt;link rel="stylesheet" href="https://unpkg.com/leaflet.markercluster@1.4.1/dist/MarkerCluster.Default.css" /&gt;&lt;/p&gt;
&lt;p&gt;&lt;script
    src="https://unpkg.com/leaflet.markercluster.freezable@1.0.0/dist/leaflet.markercluster.freezable.js"
    integrity="sha384-QXTyM8sAAM5XAUeRoyzNadlfH7KuYt0C6i9O/T2vFb4wGIKwL9Ak++3y3JBqfGyg"
    crossorigin="anonymous"
&gt;&lt;/script&gt;
&lt;/p&gt;
&lt;script src="../static/froganna/map.js"&gt;&lt;/script&gt;

&lt;h2&gt;Cuairteoir gan iarraidh: an uninvited guest&lt;/h2&gt;
&lt;p&gt;Two months ago I was sitting on the sofa cuddling my cat when, out of the
corner of my eye, I seen something small and dark hop into the room through the
open doorway. I knew I'd seen a frog, but my brain was …&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Hannah McLaughlin</dc:creator><pubDate>Wed, 11 Feb 2026 00:00:00 +0000</pubDate><guid>tag:mcla.ug,2026-02-11:/froganna.html</guid><category>misc</category></item><item><title>"The most common vowel in English"?</title><link>https://mcla.ug/schwa.html</link><description>&lt;h2&gt;&lt;span class=ipa&gt;[hʉz̥ ɪ̞̠̃ŋgɫɪ̞̠ʃ]&lt;/span&gt;?&lt;/h2&gt;
&lt;p&gt;Popular factoids about the English language often leave me feeling contrarian,
as a native speaker of a variety of English often not included in these
broad, unqualified statements. "English has no second person plural"? What do
&lt;a href="https://en.wikipedia.org/wiki/Category:Second-person_plural_pronouns_in_English" target="”_blank”"&gt;yous&lt;/a&gt; mean? And the
&lt;a href="https://www.youtube.com/watch?v=qu4zyRqILYM" target="”_blank”"&gt;seemingly&lt;/a&gt; ever
&lt;a href="https://xkcd.com/2907/" target="_blank"&gt;popular&lt;/a&gt;: "schwa is the …&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Hannah McLaughlin</dc:creator><pubDate>Mon, 20 Oct 2025 00:00:00 +0100</pubDate><guid>tag:mcla.ug,2025-10-20:/schwa.html</guid><category>misc</category></item><item><title>Intro to Quantum Computing</title><link>https://mcla.ug/qc-intro.html</link><description>&lt;script&gt;
window.MathJax = {
  loader: {load: ['[tex]/braket']},
  tex: {packages: {'[+]': ['braket']}}
};

MathJax = {
  tex: { inlineMath: [['$', '$']] }
};
&lt;/script&gt;

&lt;script id="MathJax-script" async
  src="https://cdn.jsdelivr.net/npm/mathjax@3.0.0/es5/tex-mml-chtml.js"&gt;
&lt;/script&gt;

&lt;p&gt;I work at a trapped ion quantum computing company writing compiler and control
software in Rust and Python. I've had to learn about quantum computing for my
work, and I have found it hard to find introductory literature …&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Hannah McLaughlin</dc:creator><pubDate>Sat, 27 Jul 2024 00:00:00 +0100</pubDate><guid>tag:mcla.ug,2024-07-27:/qc-intro.html</guid><category>misc</category></item><item><title>Designing a RISC-V CPU, Part 2: Successfully executing (some) instructions</title><link>https://mcla.ug/risc-v-cpu-part-2.html</link><description>&lt;p&gt;The &lt;a href="https://mcla.ug/blog/risc-v-cpu-part-1.html"&gt;previous instalment&lt;/a&gt; of this
series was "basically an explanation of what FPGAs are and a 'hello world'
nMigen example."&lt;sup id="fnref:1"&gt;&lt;a class="footnote-ref" href="#fn:1"&gt;1&lt;/a&gt;&lt;/sup&gt; In this post, I will be detailing the design of my CPU as
it currently stands, and going over the various mistakes I made along the way.
As with …&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Hannah McLaughlin</dc:creator><pubDate>Mon, 01 Mar 2021 00:00:00 +0000</pubDate><guid>tag:mcla.ug,2021-03-01:/risc-v-cpu-part-2.html</guid><category>misc</category></item><item><title>Designing a RISC-V CPU, Part 1: Learning hardware design as a software engineer</title><link>https://mcla.ug/risc-v-cpu-part-1.html</link><description>&lt;p&gt;I have no experience in digital logic design. That is, I didn't until I
recently decided that I would like to try designing my own CPU and running it
on an FPGA! If you too are a software engineer with a vague interest in
hardware design, I hope this series …&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Hannah McLaughlin</dc:creator><pubDate>Tue, 16 Feb 2021 00:00:00 +0000</pubDate><guid>tag:mcla.ug,2021-02-16:/risc-v-cpu-part-1.html</guid><category>misc</category></item><item><title>Emulating an STM32F4 in QEMU to test ARM assembly</title><link>https://mcla.ug/emulating-stm32-qemu.html</link><description>&lt;p&gt;I recently published a blog post titled &lt;a href="https://mcla.ug/blog/how-to-flash-an-led.html" target="_blank"&gt;How to flash an
LED&lt;/a&gt; about writing ARM assembly
for an STM32. I was running my code on a
&lt;a href="https://1bitsy.org/" target="_blank"&gt;1bitsy&lt;/a&gt;
development board, but I wanted anyone to be able to have a go at writing the
assembly and testing it &amp;ndash; even if they …&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Hannah McLaughlin</dc:creator><pubDate>Sat, 04 Apr 2020 00:00:00 +0100</pubDate><guid>tag:mcla.ug,2020-04-04:/emulating-stm32-qemu.html</guid><category>misc</category></item><item><title>How to flash an LED</title><link>https://mcla.ug/how-to-flash-an-led.html</link><description>&lt;p&gt;Today we are going to be learning how to flash an LED on a microcontroller by
writing ARM assembly.&lt;/p&gt;
&lt;p&gt;If you write software but are  unfamiliar with basic electronics or embedded
software development, there will be explanations of some fundamentals &amp;ndash; I
expect you will not feel left behind :).&lt;/p&gt;
&lt;p&gt;If you'd …&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Hannah McLaughlin</dc:creator><pubDate>Fri, 27 Mar 2020 00:00:00 +0000</pubDate><guid>tag:mcla.ug,2020-03-27:/how-to-flash-an-led.html</guid><category>misc</category></item><item><title>Let's break CPython together, for fun and mischief</title><link>https://mcla.ug/cpython-hackage.html</link><description>&lt;p&gt;I promise that nothing we do here will be useful.&lt;/p&gt;
&lt;p&gt;But I promise it will be entertaining, and (hopefully) educational:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;if you don't know anything about the CPython internals, you're about to
learn (a bit)&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;if you do know about the CPython internals, you're hopefully about to
learn some new …&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Hannah McLaughlin</dc:creator><pubDate>Sun, 13 Oct 2019 00:00:00 +0100</pubDate><guid>tag:mcla.ug,2019-10-13:/cpython-hackage.html</guid><category>misc</category></item><item><title>C++ is not a superset of C</title><link>https://mcla.ug/cpp-is-not-a-superset-of-c.html</link><description>&lt;p&gt;If you're not familiar with both languages, you might have heard people say 
that C++ is a superset of C. If you're experienced in both languages, you'll 
know that this is not true at all.&lt;/p&gt;
&lt;p&gt;Of course, C++ has many features that C does not; but there are also a …&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Hannah McLaughlin</dc:creator><pubDate>Mon, 02 Sep 2019 00:00:00 +0100</pubDate><guid>tag:mcla.ug,2019-09-02:/cpp-is-not-a-superset-of-c.html</guid><category>misc</category></item><item><title>C++20 concepts are not like Rust traits</title><link>https://mcla.ug/cpp20-concepts-are-not-like-rust-traits.html</link><description>&lt;p&gt;At writing, &lt;a href="https://en.wikipedia.org/w/index.php?title=Rust_(programming_language)&amp;amp;oldid=910954500"&gt;Rust's 
Wikipedia&lt;/a&gt; 
currently says the following:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Functions can be given generic parameters, which usually require the generic 
type to implement a certain trait or traits. Within such a function, the 
generic value can only be used through those traits. This means that a generic 
function can be type-checked …&lt;/p&gt;&lt;/blockquote&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Hannah McLaughlin</dc:creator><pubDate>Wed, 21 Aug 2019 00:00:00 +0100</pubDate><guid>tag:mcla.ug,2019-08-21:/cpp20-concepts-are-not-like-rust-traits.html</guid><category>misc</category></item><item><title>Rust: a future for real-time and safety-critical software without C or C++</title><link>https://mcla.ug/rust-a-future-for-real-time-and-safety-critical-software.html</link><description>&lt;h1&gt;Overview&lt;/h1&gt;
&lt;p&gt;Rust is a fairly new programming language that I'm really excited about. I gave 
a talk about it to my coworkers, primarily aimed at C++ programmers. This is 
that talk translated to a blog post. I hope you will be excited about Rust too 
by the end of this …&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Hannah McLaughlin</dc:creator><pubDate>Tue, 20 Aug 2019 00:00:00 +0100</pubDate><guid>tag:mcla.ug,2019-08-20:/rust-a-future-for-real-time-and-safety-critical-software.html</guid><category>misc</category></item></channel></rss>