<?xml version="1.0" encoding="UTF-8"?>
<feed
xmlns="http://www.w3.org/2005/Atom"><author><name>Liam O'Connor</name><uri>https://liamoc.net/forest/liamoc/</uri></author><contributor><name>Arthur Azevedo de Amorim</name><uri>https://liamoc.net/forest/adeamorim/</uri></contributor><contributor><name>Christine Rizkallah</name><uri>https://liamoc.net/forest/crizkallah/</uri></contributor><contributor><name>Peter Schachte</name><uri>https://liamoc.net/forest/pschachte/</uri></contributor><contributor><name>Pilar Selene Linares Arévalo</name><uri>https://liamoc.net/forest/selene/</uri></contributor><contributor><name>Rayhana Amjad</name><uri>https://liamoc.net/forest/rayhana/</uri></contributor><contributor><name>Rob van Glabbeek</name><uri>https://liamoc.net/forest/rvg/</uri></contributor><contributor><name>Vincent Jackson</name><uri>https://liamoc.net/forest/vjackson/</uri></contributor><updated>2026-10-21</updated><title>Liam O'Connor › Weeknotes</title><id>https://liamoc.net/forest/loc-001B/</id><link
rel="alternate"
href="https://liamoc.net/forest/loc-001B/" /><link
rel="self"
href="https://liamoc.net/forest/loc-001B/atom.xml" /><entry><title>Weeknotes 2026-W42</title><published>2026-10-21T00:00:00Z</published><updated>2026-10-21T00:00:00Z</updated><author><name>Liam O'Connor</name><uri>https://liamoc.net/forest/liamoc/</uri></author><link
rel="alternate"
type="text/html"
href="https://liamoc.net/forest/2026-W42/" /><id>https://liamoc.net/forest/2026-W42/</id><content
type="xhtml"><div
xmlns="http://www.w3.org/1999/xhtml"><p
xmlns:html="http://www.w3.org/1999/xhtml">This week's weeknotes are late because I was trying to get everything working in Forester 6.0. Done now! It was also my birthday last Monday, as well as the birthday of my partner, so we had a nice dinner together.</p><section
class="block hide-metadata numbered"><header><h2>Porting to Forester 6.0</h2></header><p
xmlns:html="http://www.w3.org/1999/xhtml">This forest has now been ported to Forester 6.0. You may need to clear your cache to get rid of stale stylesheets or redirects. Despite the fact that the HTML backend of Forester 6.0 doesn't support any customisation, I was able to inject my
customisations including <span
class="link local"><a
href="/forest/loc-0015">Gregorian chants</a></span>, <span
class="link local"><a
href="/forest/loc-0029">syntax highlighting</a></span>, <span
class="link local"><a
href="/forest/loc-002F">TSV tables</a></span> and most of my
style tweaks simply by making a custom Forester 6.0 theme that replaces the existing <code>style.css</code> with a file that <code>@import</code>s my additional style sheets, and similarly the <code>min.js</code> with a file that imports all of my custom scripts.</p><p
xmlns:html="http://www.w3.org/1999/xhtml">There were a few bugs or minor things that I had to fix, that I'll document here:</p><ul
xmlns:html="http://www.w3.org/1999/xhtml"><li>The new search dialog looks for <code>forest.js</code> in the wrong place, so I hardcoded a fix for my forest in my custom theme.</li>
  <li>The generated pages preload <code>katex.min.css</code> but don't actually load it. I put a <code>@import(katex.min.css)</code> line into my stylesheet to fix this.</li>
  <li>The generated <code>index.html</code> redirects to the wrong place, so I put a custom <code>index.html</code> in the custom theme that overrides Forester's generated one.</li>
  <li>The top-level <code>.block</code> elements in a page didn't have the <code>data-taxon</code> attribute which my custom stylesheet depends on. I guess this is also a bug, as it's a regression from the previous Forester 5.0 pages. I added this to the Forester source code in my private fork.</li>
  <li>The download link meta-data that I added custom to my XSLT sheet in Forester 5.0 is now hardcoded in my private fork of Forester 6.0. Perhaps when more customisation options are added (and the above bug fixed), I will not need a private fork anymore, as this is really the only customisation I had that cannot already be accommodated by my custom theme.</li></ul></section><section
class="block hide-metadata numbered"><header><h2>Feast of St. Luke 2026</h2></header>
  <blockquote
xmlns:html="http://www.w3.org/1999/xhtml">
  Mihi autem nimis honoráti sunt amíci tui, Deus: nimis confortátus est principátus eórum.
  <br />
  Ego clamávi, quóniam exaudísti me, Deus: inclína aurem tuam, et exáudi verba mea: custódi me, Dómine, ut pupíllam óculi: sub umbra alárum tuárum prótege me.
</blockquote>
<p
xmlns:html="http://www.w3.org/1999/xhtml">This morning at <span
class="link external"><a
href="https://www.allsaintsainslie.org.au/">All Saints Ainslie</a></span> we sang <span
class="link external"><a
href="https://www.youtube.com/watch?v=ZjRb8mVY4Kw">Be still for the presence of the Lord</a></span>, which is way too 1980s for my taste but it is what it is:</p>
  <blockquote
xmlns:html="http://www.w3.org/1999/xhtml">
  <table
style="text-align: left">
    <tr><td>Be still, for the presence of the Lord,</td></tr>
    <tr><td>the Holy One is here.</td></tr>
    <tr><td>Come, bow before Him now,</td></tr>
    <tr><td>with reverence and fear.</td></tr>
    <tr><td>In Him no sin is found,</td></tr>
    <tr><td>we stand on holy ground.</td></tr>
    <tr><td>Be still, for the presence of the Lord,</td></tr>
    <tr><td>the Holy One is here.</td></tr>
    <tr><td><br /></td></tr>
    <tr><td>Be still, for the glory of the Lord,</td></tr>
    <tr><td>is shining all around.</td></tr>
    <tr><td>He burns with holy fire,</td></tr>
    <tr><td>with splendor He is crowned.</td></tr>
    <tr><td>How awesome is the sight,</td></tr>
    <tr><td>our radiant King of Light!</td></tr>
    <tr><td>Be still, for the glory of the Lord,</td></tr>
    <tr><td>is shining all around.</td></tr>
    <tr><td><br /></td></tr>
    <tr><td>Be still, for the power of the Lord,</td></tr>
    <tr><td>is moving in this place.</td></tr>
    <tr><td>He comes to cleanse and heal,</td></tr>
    <tr><td>to minister His grace.</td></tr>
    <tr><td>No work too hard for Him,</td></tr>
    <tr><td>in faith receive from Him.</td></tr>
    <tr><td>Be still, for the power of the Lord,</td></tr>
    <tr><td>is moving in this place. </td></tr>
  </table>
</blockquote>
<p
xmlns:html="http://www.w3.org/1999/xhtml">We chose this anthem because our original plan was too ambitious, and we had sung this anthem the day before at the wedding of Sajay (one of our choristers) and Jaclyn, along with Bob Chilcott's <span
class="link external"><a
href="https://www.youtube.com/watch?v=qMEAlzuEXWI">Be thou my vision</a></span>.</p></section></div></content></entry><entry><title>Weeknotes 2026-W41</title><published>2026-10-14T00:00:00Z</published><updated>2026-10-14T00:00:00Z</updated><author><name>Liam O'Connor</name><uri>https://liamoc.net/forest/liamoc/</uri></author><link
rel="alternate"
type="text/html"
href="https://liamoc.net/forest/2026-W41/" /><id>https://liamoc.net/forest/2026-W41/</id><content
type="xhtml"><div
xmlns="http://www.w3.org/1999/xhtml"><p
xmlns:html="http://www.w3.org/1999/xhtml">This week's weeknotes are late again, but our paper is done and submitted a few days <em>before</em> the deadline!</p><figure
xmlns:html="http://www.w3.org/1999/xhtml"><img
loading="lazy"
width="198px"
src="/forest/bafkyrzacicbincyeicr6m5gz3pnwlwbshylxp26fxhhrg2iuwg6jekdlefyfgpb3olxeda65u5itpbnqmwyfe4c6chc6wwthpjk6a7adtiyhsz6z.jpeg" /><img
loading="lazy"
width="198px"
src="/forest/bafkyrzacidqiyrwmw2ug4ofmodbyguvk7yge74nha4b7xeul6z77nrsdwpei3rnwt7labwvi2w6bkeqro3i7qaufwthnovlfi6fmvvkwgh24wgfi.jpeg" /><img
loading="lazy"
width="198px"
src="/forest/bafkyrzacidm7cmcm4uyq6xe3br2jfmatvuyswmwhsl6rts6ovtdhm3fpuril4ohz77iywgncu2dok2bzclfn5blhnskvbaa73e54i5jzi76vcpwe.jpeg" /><img
loading="lazy"
width="400px"
src="/forest/bafkyrzacidjyrxorrhrat775ir3hvw5mrryc6arewdroecd6aarib7jye5vevzn4lygpnrzctd4gz65wqnfmvl3dzw64eyrwkpn2parfttkbte7g.jpeg" /><figcaption>Spring is changing to summer.</figcaption></figure><section
class="block hide-metadata numbered"><header><h2>20th Sunday after Pentecost 2026</h2></header>
  <blockquote
xmlns:html="http://www.w3.org/1999/xhtml">
Si iniquitátes observáveris Dómine, Dómine quis sustinébit? quia apud te propítiatio est, Deus Israel.
</blockquote>
<p
xmlns:html="http://www.w3.org/1999/xhtml">This morning at <span
class="link external"><a
href="https://www.allsaintsainslie.org.au/">All Saints Ainslie</a></span> we had a very small choir so we sang some established repertoire with me as the only tenor and our director managing the soprano part, Byrd's <span
class="link external"><a
href="https://www.youtube.com/watch?v=R3vuU7XAaUM">Ave Verum Corpus</a></span>:</p>
  <blockquote
xmlns:html="http://www.w3.org/1999/xhtml">
  
  <table>
    
  <tr>
    
  <td>Ave verum corpus natum de María Vírgine,</td>

    
  <td>Hail, true body, born of the Virgin Mary,</td>

    </tr>

  <tr>
    
  <td>Vere passum immolátum in cruce pro hómine,</td>

    
  <td>True suffering, sacrificed on the cross for Man,</td>

    </tr>

  <tr>
    
  <td>Cuius latus perforátum unda fluxit sánguine,</td>

    
  <td>From whose pierced side flowed waves of blood,</td>

  </tr>

  <tr>
    
  <td>Esto nobis prægustátum in mortis exámine.</td>

    
  <td>Be for us a foretaste in death's trial.</td>

  </tr>

  <tr>
    
  <td>O dulcis, O pie, O Iesu fili Maríæ,</td>

    
  <td>O sweet! O blessed! O Jesus, son of Mary, </td>

  </tr>

  <tr>
    
  <td>Miserére mei, miserére mei, miserére mei.</td>

    
  <td>Have mercy on me, have mercy on me, have mercy on me. </td>

  </tr>

  </table>

</blockquote>
</section></div></content></entry><entry><title>Weeknotes 2026-W40</title><published>2026-10-08T00:00:00Z</published><updated>2026-10-08T00:00:00Z</updated><author><name>Liam O'Connor</name><uri>https://liamoc.net/forest/liamoc/</uri></author><link
rel="alternate"
type="text/html"
href="https://liamoc.net/forest/2026-W40/" /><id>https://liamoc.net/forest/2026-W40/</id><content
type="xhtml"><div
xmlns="http://www.w3.org/1999/xhtml"><p
xmlns:html="http://www.w3.org/1999/xhtml">This week's weeknotes are late, but it's only because I'm working so hard on our paper on monitorability theory.</p><figure
xmlns:html="http://www.w3.org/1999/xhtml"><img
loading="lazy"
width="300px"
src="/forest/bafkyrzacic653aidggzd2h3usrmyy7bdyqmt4dusrpsip6prml2qsghyl7ljnl3igclgeihbbgxna2esqrlur2ilziruegzrhnc3cfefxihef6ev.jpeg" /><figcaption>Daylight savings has kicked in, so my commute home is brighter now.</figcaption></figure><section
class="block hide-metadata numbered"><header><h2>OpenAI disgust me yet again</h2></header><p
xmlns:html="http://www.w3.org/1999/xhtml">OpenAI have foisted upon the mathematical community a dump of hundreds of new "results" in mathematics, excreted by their machines. I hope it goes without saying that this is a disgusting abuse of the mathematical community and the intellectual commons. I refer to the <span
class="link external"><a
href="https://www.ahmath.org/statements">statement by the Association for Human Mathematics</a></span>:  </p>
  <blockquote
xmlns:html="http://www.w3.org/1999/xhtml">
Releasing over 700 files at once is not a demonstration of scholarship, but a demonstration of power. We urge mathematicians to discontinue their work with OpenAI and to return to a vision of science that centers human understanding.</blockquote>
<p
xmlns:html="http://www.w3.org/1999/xhtml">I also quote <span
class="link local"><a
href="/forest/aeporreca">Antonio E. Porreca</a></span> from his <span
class="link external"><a
href="https://aeporreca.org/blog/why-we-should-reject-ai-in-academia/">excellent reaction</a></span> to this:</p>
  <blockquote
xmlns:html="http://www.w3.org/1999/xhtml">
  I believe that we, as researchers and teachers, must reject AI-powered “papers” like these as legitimate research, because they’re not. And even if they were, it’s research that’s not worth doing. It does not follow any of the rules or the values of academia: building on the work of others with citations, not scooping your colleagues, collaborating, learning, teaching… and, you know, actually writing your own stuff in good faith. We have a right not to read papers like these, we have a right, no, a duty, not to cite them, to refuse refereeing them.</blockquote>

  <blockquote
xmlns:html="http://www.w3.org/1999/xhtml"> Even if you, as a “senior” (meaning, with a permanent academic position) believe that it’s OK for yourself to do AI-powered “research”, you should think about your students and your junior and future colleagues. AI-powered “research” is not self-sustaining: you will always need a human expert in the loop, even if it’s just for asking question to your LLM chatbot, filtering all bullshit answers, and interpreting and applying the result (a job I wouldn’t wish on my worst enemy). If AI-powered “research”, let alone “teaching”, becomes the norm, we’ll lose at least a generation of human experts. I’ve personally witnessed whole classes of students pressured (by peers and, above all, by the behaviour of their teachers and the university bureaucrats) into using LLMs to write code. These students are not learning. They will never be the human expert in the loop. And the same thing will happen to our junior colleagues, if you force them to use LLMs to do their job. In fact, one day there will be no expert at all. Even if you don’t believe that, one day you will lose your expertise too if you let LLMs do your science for you. Snap out of it.
</blockquote>
</section><section
class="block hide-metadata numbered"><header><h2>Feast of St. Francis of Assisi 2026</h2></header>
  <blockquote
xmlns:html="http://www.w3.org/1999/xhtml">
In voluntáte tua, Dómine, univérsa sunt pósita, et non est qui possit resístere voluntáti tuæ: tu enim fecísti ómnia, cælum et terram, et univérsa quæ cæli ámbitu continéntur: Dóminus universórum tu es.<br />
Ego autem sicut olíva fructificávi in domo Dómini, sperávi in misericórdia Dei mei: et exspectábo nomen tuum, quóniam bonum est ante conspéctum sanctórum tuorum.
</blockquote>
<p
xmlns:html="http://www.w3.org/1999/xhtml">This morning I sang with a skeleton crew choir at <span
class="link external"><a
href="https://www.allsaintsainslie.org.au/">All Saints Ainslie</a></span>, for an, uh, <em>interesting</em> service replete with all the dogs of the congregation. The animal blessing itself was a bit too <em>Common Worship</em> for my taste, but it was nice to see all the cute animals. We sang <span
class="link external"><a
href="https://www.youtube.com/watch?v=Rsw1gix1CvA">Brother James' Air</a></span>: </p>
  <blockquote
xmlns:html="http://www.w3.org/1999/xhtml">
<table
style="text-align: left">
  <tr><td>The Lord's my Shepherd, I'll not want.</td></tr>
  <tr><td>He makes me down to lie</td></tr>
  <tr><td>In pastures green; He leadeth me</td></tr>
  <tr><td>The quiet waters by.</td></tr>
  <tr><td>He leadeth me, He leadeth me,</td></tr>
  <tr><td>the quiet waters by.</td></tr>
  <tr><td><br /></td></tr>
  <tr><td>My soul He doth restore again;</td></tr>
  <tr><td>And me to walk doth make</td></tr>
  <tr><td>Within the paths of righteousness,</td></tr>
  <tr><td>Ee'n for His own Name's sake.</td></tr>
  <tr><td>Within the paths of righteousness,</td></tr>
  <tr><td>Ee'n for His own Name's sake.</td></tr>
  <tr><td><br /></td></tr>
  <tr><td>Yea, though I pass through shadows death,</td></tr>
  <tr><td>Yet will I fear no ill;</td></tr>
  <tr><td>For Thou art with me; and Thy rod</td></tr>
  <tr><td>And staff me comfort still.</td></tr>
  <tr><td>Thy rod and staff they comfort still</td></tr>
  <tr><td>They comfort still.</td></tr>
  <tr><td><br /></td></tr>
  <tr><td>My table Thou hast furnishd</td></tr>
  <tr><td>In presence of my foes;</td></tr>
  <tr><td>My head with oil thou dost anoint,</td></tr>
  <tr><td>And my cup overflows.</td></tr>
  <tr><td>My head thou dost with oil anoint,</td></tr>
  <tr><td>And my cup overflows.</td></tr>
  <tr><td><br /></td></tr>
  <tr><td>Goodness and mercy all my days</td></tr>
  <tr><td>Will surely follow me;</td></tr>
  <tr><td>And in my father's heart alway</td></tr>
  <tr><td>My dwelling place shall be.</td></tr>
</table>
</blockquote>
</section></div></content></entry><entry><title>Weeknotes 2026-W39</title><published>2026-09-29T00:00:00Z</published><updated>2026-09-29T00:00:00Z</updated><author><name>Liam O'Connor</name><uri>https://liamoc.net/forest/liamoc/</uri></author><link
rel="alternate"
type="text/html"
href="https://liamoc.net/forest/2026-W39/" /><id>https://liamoc.net/forest/2026-W39/</id><content
type="xhtml"><div
xmlns="http://www.w3.org/1999/xhtml"><figure
xmlns:html="http://www.w3.org/1999/xhtml"><img
loading="lazy"
width="300px"
src="/forest/bafkyrzacidrhku4gswswvjgythaivxh2ey7zpm72aoffyycbiad3zu3tqjwl2ztz5su25qfhugbndx6f5eromhj2bg6o2tjn6upp4kitm2o3eh6j.jpeg" /><figcaption>Some more of Canberra spring-time.</figcaption></figure><p
xmlns:html="http://www.w3.org/1999/xhtml">This week there's not much to report work-wise: <span
class="link local"><a
href="/forest/kaiphan">Kai Phan</a></span> and I are working hard on our upcoming FoSSaCS submission, which is exciting stuff! It's nice to see a paper coming together.</p><section
class="block hide-metadata numbered"><header><h2>Reviews out for Cloudburst</h2></header><p
xmlns:html="http://www.w3.org/1999/xhtml">We (being <span
class="link external"><a
href="https://corocanberra.com/">Coro</a></span>) performed to a sizeable but not sold-out crowd for our second concert of the year, <span
class="link local"><a
href="/forest/loc-005D">Cloudburst</a></span>. </p><figure
xmlns:html="http://www.w3.org/1999/xhtml"><img
loading="lazy"
width="480px"
src="/forest/bafkyrzaciazgporak7mkfegynyoodkzchgw3lnjkrx7y5wyayiyuplqztudsizvgiirhzvkgzduojz45sj7dy7th43dthmgpse225fuad4coe7st.jpg" /><figcaption>It was a delight to sing with Coro again.</figcaption></figure><p
xmlns:html="http://www.w3.org/1999/xhtml">I really enjoyed working with our guest director, <span
class="link external"><a
href="https://en.wikipedia.org/wiki/Roland_Peelman">Roland Peelman</a></span>, and 
  it was great to have the opportunity to sing Tallis' <em>Lamentations of Jeremiah</em> (<span
class="link external"><a
href="https://www.youtube.com/watch?v=Ul8Hx1Fi-e8">Part 1</a></span> and <span
class="link external"><a
href="https://www.youtube.com/watch?v=fH_5SXZAtqY">Part 2</a></span>). </p><figure
xmlns:html="http://www.w3.org/1999/xhtml"><img
loading="lazy"
width="300px"
src="/forest/bafkyrzacib654hkwp2ekfmut3rvlp3geputs6gz7mlab2oagl4243xsnjvv33wn5mgioqzy3qohm5lobg3j6tqvhur7tpho5upwrpbbv6runefzh.jpeg" /><figcaption>The hand bells sounded great in Whitacre's <span
class="link external"><a
href="https://www.youtube.com/watch?v=FS0MireFbi0">Cloudburst</a></span>.</figcaption></figure><p
xmlns:html="http://www.w3.org/1999/xhtml">The full programme is outlined in <span
class="link external"><a
href="https://www.classikon.com/canberras-coro-performs-cloudburst-a-concert-of-dreams-visions-and-incantations/">this review</a></span> from Jacqui Smith at classikON. </p>
  <blockquote
xmlns:html="http://www.w3.org/1999/xhtml">
What a treat to hear a new choir (for me) performing such  a profound and deeply moving program, with excellent artistic programming, pace and delivery. I can’t wait to hear what they sing next.</blockquote>
<p
xmlns:html="http://www.w3.org/1999/xhtml">There was also a more <span
class="link external"><a
href="https://citynews.com.au/2026/coros-diverse-program-of-choral-works/">nitpicky review</a></span> on CityNews.</p><p
xmlns:html="http://www.w3.org/1999/xhtml">I'll likely be singing again with a subset of Coro for a special Christmas concert. Stay tuned!</p></section><section
class="block hide-metadata numbered"><header><h2>Feast of St. Michael and All Angels 2026</h2></header>
  <blockquote
xmlns:html="http://www.w3.org/1999/xhtml">
Benedícite Dóminum, omnes Angeli eius, poténtes virtúte, qui fácitis verbum eius, ad audiéndam vocem sermónum eius. <br />
In nómine Dómini omne genu flectátur, cæléstium, terréstrium et infernórum: quia Dominus factus obédiens usque ad mortem, mortem autem crucis: ídeo Dóminus Iesus Christus in glória est Dei Patris. <br />
Omnia quæ fecísti nobis, Dómine, in vero iudício fecísti, quia peccávimus tibi, et mandátis tuis non obedívimus: sed da glóriam nómini tuo, et fac nobíscum secúndum multitúdinem misericórdiæ tuæ.
</blockquote>
<p
xmlns:html="http://www.w3.org/1999/xhtml">This morning I was groggy after a night at the German club after my <span
class="link local"><a
href="/forest/loc-005N">Cloudburst</a></span> concert had wrapped up, but still cantored at <span
class="link external"><a
href="https://www.allsaintsainslie.org.au/">All Saints Ainslie</a></span> in a duet with our director Alasdair, singing Dering's <span
class="link external"><a
href="https://www.youtube.com/watch?v=HRQK4jfyYJU">Duo Seraphin</a></span>: </p>
  <blockquote
xmlns:html="http://www.w3.org/1999/xhtml">

  <table>
  
  <tr>
    
  <td>Duo séraphim clamábant alter ad álterum:</td>

    
  <td>Two seraphs cry out one after another:</td>

  </tr>

  
  <tr>
    
  <td>Sanctus, Sanctus, Sanctus Dóminus, Deus Sabaoth</td>

    
  <td>Holy, Holy, Holy Lord, God of Hosts</td>

  </tr>

  
  <tr>
    
  <td>Plena est omnis terra glória eius.</td>

    
  <td>All the earth is full of his glory.</td>

  </tr>

</table>

</blockquote>
<p
xmlns:html="http://www.w3.org/1999/xhtml">We also came together in the evening with the rest of the choir to sing Evensong. I think we sang <em>exceptionally well</em> but only seven or so people came to hear it. We sang Stainer's <span
class="link external"><a
href="https://www.youtube.com/watch?v=hYmHdJJAyeA">Hail, Gladdening Light</a></span> as usual, as well as Phillip Moore's third service for the <span
class="link external"><a
href="https://www.youtube.com/watch?v=hRN08tkNN_k">Magnificat</a></span> and <span
class="link external"><a
href="https://www.youtube.com/watch?v=KTqucmeGPR4">Nunc Dimittis</a></span>. For the preces and responses, we used Jack Oades' <span
class="link external"><a
href="https://www.youtube.com/watch?v=KPZ1-BdX9vM">lovely setting</a></span>. The anthem was John Goss' <span
class="link external"><a
href="https://www.youtube.com/watch?v=0QLS98Y47Vs">O Saviour of the World</a></span>: </p>
  <blockquote
xmlns:html="http://www.w3.org/1999/xhtml"><table
style="text-align: left">
  <tr><td>O Saviour of the world,</td></tr>
  <tr><td>who by thy Cross and precious Blood</td></tr>
  <tr><td>hast redeemed us:</td></tr>
  <tr><td>Save us, and help us,</td></tr>
  <tr><td>we humbly beseech thee, O Lord.</td></tr>
    <tr><td>Amen.</td></tr>
  </table></blockquote>
<p
xmlns:html="http://www.w3.org/1999/xhtml">I'm still annoyed by the anticipation of the feast day, but I'll never get my way here.</p></section></div></content></entry><entry><title>Weeknotes 2026-W38</title><published>2026-09-23T00:00:00Z</published><updated>2026-09-23T00:00:00Z</updated><author><name>Liam O'Connor</name><uri>https://liamoc.net/forest/liamoc/</uri></author><link
rel="alternate"
type="text/html"
href="https://liamoc.net/forest/2026-W38/" /><id>https://liamoc.net/forest/2026-W38/</id><content
type="xhtml"><div
xmlns="http://www.w3.org/1999/xhtml"><p
xmlns:html="http://www.w3.org/1999/xhtml">This weeknotes is a day late, but I'm blaming continuing jetlag.</p><figure
xmlns:html="http://www.w3.org/1999/xhtml"><img
loading="lazy"
width="195px"
src="/forest/bafkyrzacia5nm5c65dsm7szwtpxw75xbc4lm6ezc2cg2jnw2oetkjk6caex3tgbk3g6bs7t4exobaqho3clsjqnedbzess5ejdb47vmwaqygldiu.jpeg" /><img
loading="lazy"
width="195px"
src="/forest/bafkyrzaciccevu73mhsrpexjxqwy2l3wef5vikieimpamvmg6hpcf7omjjn47udkssx56t4fmjanq65dm4d2gbc7wkj7mt25udciocqxjmwepd7p.jpeg" /><img
loading="lazy"
width="195px"
src="/forest/bafkyrzaciblnfpyc4g4zhphlfhh5uq33jywm4xueiij6iut3ghtwou6ij3sgjpyjndgeldy4in4fnfh3ymocoqbrdfyaybdb7y35fyp5dhhkb2av.jpeg" /><figcaption>Spring has sprung in Canberra!</figcaption></figure><section
class="block hide-metadata numbered"><header><h2>September PhD Student Monitoring 2026</h2></header><p
xmlns:html="http://www.w3.org/1999/xhtml">Today we had our regular PhD monitoring event, where all students and faculty in the <span
class="link external"><a
href="https://comp.anu.edu.au/join/foundations/">Foundations</a></span> cluster go to a remote location for a day, listen to some talks, and hold interviews with students where we ensure they're well supported. We went, as with <span
class="link local"><a
href="/forest/loc-0043">last time</a></span>, to the <span
class="link external"><a
href="https://cuppacumbalong.com.au/en/">Cuppacumbalong Homestead</a></span> for this event. </p><figure
xmlns:html="http://www.w3.org/1999/xhtml"><img
loading="lazy"
width="290px"
src="/forest/bafkyrzacicnc6zuj7gthlqvseaw4bwhddwurxwsuv23mccxwsjqr3bqgdrd7qc4geogjrnk2ryhfntvufqgkw7atcyp7ly6trean7hx7qm2duk7f.jpeg" />
  <img
loading="lazy"
width="290px"
src="/forest/bafkyrzaciajxnp6xr7a734jozjwfmxzn6pgo3qu7otewak23svk6g5biezzfbgbqcvjzfx3ucnfjvyt3gafm46kxztqwdx5qe22ezghgp7x5cn42.jpeg" />
  <figcaption>Some sheep and guard alpacas were milling about nearby.</figcaption></figure><p
xmlns:html="http://www.w3.org/1999/xhtml">This time the schedule felt quite relaxed and I had a nice time, although I was still suffering from jetlag. My student <span
class="link local"><a
href="/forest/kaiphan">Kai Phan</a></span> said she had a better time this time around, which makes me glad.</p></section><section
class="block hide-metadata numbered"><header><h2>Feast of St. Matthew 2026</h2></header>
  <blockquote
xmlns:html="http://www.w3.org/1999/xhtml">
Salus pópuli ego sum, dicit Dóminus: de quacúmque tribulatióne clamáverint ad me, exáudiam eos: et ero illórum Dóminus in perpétuum. <br />
Eúntes, docéte omnes gentes, baptizántes eos, et docéntes eos serváre ómnia quæcúmque mandávi vobis, dicit Dóminus.
</blockquote>
<p
xmlns:html="http://www.w3.org/1999/xhtml">Today I returned to my usual <span
class="link external"><a
href="https://www.allsaintsainslie.org.au/">All Saints Ainslie</a></span> in the morning where we sang Mozart's <span
class="link external"><a
href="https://youtu.be/7AqGrEnx4C8">Ave Verum Corpus</a></span> under my (metaphorical) baton: </p>
  <blockquote
xmlns:html="http://www.w3.org/1999/xhtml">

  <table>
  
  <tr>
    
  <td>
      Ave verum corpus natum de María Vírgine;
    </td>

  <td>Hail, true body, born of the Virgin Mary;</td>

  </tr>

  <tr>
    
  <td>Vere passum, immolátum in cruce pro hómine;
      </td>

    
  <td>True suffering, sacrificed on the cross for Man;</td>

  </tr>

  
  <tr>
  <td>Cuius latus perforátum unda fluxit et sánguine</td>
 
  <td>From whose pierced side flowed waves of blood,</td>
</tr>

  
  <tr>
    
  <td> 
      Esto nobis prægustátum in mortis examine.</td>

    
  <td>Be for us a foretaste in death's trial.</td>

</tr>
</table>

</blockquote>
<p
xmlns:html="http://www.w3.org/1999/xhtml">I'm still annoyed by the anticipation of the feast day, but I don't think the rector is movable on this subject.</p></section></div></content></entry><entry><title>Weeknotes 2026-W37</title><published>2026-09-17T00:00:00Z</published><updated>2026-09-17T00:00:00Z</updated><author><name>Liam O'Connor</name><uri>https://liamoc.net/forest/liamoc/</uri></author><contributor><name>Rayhana Amjad</name><uri>https://liamoc.net/forest/rayhana/</uri></contributor><contributor><name>Rob van Glabbeek</name><uri>https://liamoc.net/forest/rvg/</uri></contributor><link
rel="alternate"
type="text/html"
href="https://liamoc.net/forest/2026-W37/" /><id>https://liamoc.net/forest/2026-W37/</id><content
type="xhtml"><div
xmlns="http://www.w3.org/1999/xhtml"><p
xmlns:html="http://www.w3.org/1999/xhtml">This weeknotes is two days late, because I'm still recovering from my arduous travel all the way back to Canberra from Scotland.</p><figure
xmlns:html="http://www.w3.org/1999/xhtml"><img
loading="lazy"
width="280px"
src="/forest/bafkyrzacicfiu3nknh7on77mjnzcqsq6pj356i3fs2cry6ftspqt7jdzeraeli5k6zwokjmvkrv3mhtnjy6wijlhf3w6e67vsknr4et6oguquoc2.jpeg" /><img
loading="lazy"
width="280px"
src="/forest/bafkyrzacibmtexdmnphbthnx2idmcrbpdgm7zwsebasbhqhh45slbgq3rxne7vv2uusozmazltrx3sjl2rkhna44fvtpucykqb576rm3mf3qyjq6.jpeg" /><figcaption>Two venues I regularly visited in Edinburgh. <span
class="link external"><a
href="https://www.cathedral.net/">St. Mary's Episcopal Cathedral</a></span> for Evensong and the <span
class="link external"><a
href="https://en.wikipedia.org/wiki/Caley_Picture_House">Caley Picture House</a></span>.</figcaption></figure><p
xmlns:html="http://www.w3.org/1999/xhtml">I really enjoyed my time in Edinburgh. Special thanks to Fr. <span
class="link local"><a
href="/forest/obrw">Oliver Brewer-Lennon</a></span> who always makes me feel so welcome in Edinburgh, and for introducing me to the <span
class="link external"><a
href="https://en.wikipedia.org/wiki/Caley_Picture_House">Caley Picture House</a></span>, pictured above, a converted art-deco movie theatre that's now a pub. I later went back to have lunch with <span
class="link local"><a
href="/forest/wadler">Philip Wadler</a></span> before I left.</p><section
class="block hide-metadata numbered"><header><h2>Happy Birthday, <span
class="link local"><a
href="/forest/plotkin">Gordon Plotkin</a></span></h2></header><p
xmlns:html="http://www.w3.org/1999/xhtml">We had a celebration of <span
class="link local"><a
href="/forest/plotkin">Gordon Plotkin</a></span>'s eightieth birthday today, featuring many interesting talks. It's hard <em>not</em> to run into Gordon's work if you do anything involving semantics or concurrency or programming languages. My favourite talk of the day was probably my friend <span
class="link local"><a
href="/forest/xnning">Ningning Xie</a></span>'s talk, but I also enjoyed <span
class="link local"><a
href="/forest/rvg">Rob van Glabbeek</a></span>'s talk on his Justness work.</p><p
xmlns:html="http://www.w3.org/1999/xhtml">My only major Gordon anecdote is that he was on my interview panel when I interviewed for the job at the <span
class="link local"><a
href="/forest/uoe">University of Edinburgh</a></span>, and I was astounded to realise that not only was he still alive, but also he somehow didn't appear much older than any of the famous pictures of him. </p><p
xmlns:html="http://www.w3.org/1999/xhtml">So, congratulations and happy birthday to the timeless Gordon Plotkin, a huge contributor to our field and an intellectual hero to many of us. </p></section><section
class="block hide-metadata numbered"><header><h2>LFCS 40</h2></header><p
xmlns:html="http://www.w3.org/1999/xhtml">We had a celebration of 40 years since the foundation of the Laboratory for Foundations of Computer Science (LFCS) by <span
class="link local"><a
href="/forest/milner">Robin Milner</a></span>, <span
class="link local"><a
href="/forest/burstall">Rod Burstall</a></span> and <span
class="link local"><a
href="/forest/plotkin">Gordon Plotkin</a></span> today. This was the institute that I was (and in some sense, remain) part of at the <span
class="link local"><a
href="/forest/uoe">University of Edinburgh</a></span>. I don't have much time for navel-gazing, and sadly most of the technical talks were either well outside my area, a demonstration of how brain-poisoned by LLMs my former Edinburgh colleagues have become, or both. I didn't really get much out of the day.</p><p
xmlns:html="http://www.w3.org/1999/xhtml">I am still glad to be here in Edinburgh for this week, though. It's great to catch up with some old friends.</p></section><section
class="block hide-metadata numbered"><header><h2>Wadler 70</h2></header><p
xmlns:html="http://www.w3.org/1999/xhtml">While his birthday was back in April, to fit with <span
class="link local"><a
href="/forest/loc-005G">Plotkin 80</a></span> and <span
class="link local"><a
href="/forest/loc-005H">LFCS 40</a></span>, we had a birthday event for <span
class="link local"><a
href="/forest/wadler">Philip Wadler</a></span> today, celebrating his 70th year.</p><p
xmlns:html="http://www.w3.org/1999/xhtml">I really loved <span
class="link local"><a
href="/forest/pigworker">Conor</a></span>'s talk on dependent session types, which was inspired by a question from Phil ten years earlier at his 60th birthday event. Her proposed design resembles <span
class="link local"><a
href="/forest/peterhancock">Peter Hancock</a></span>'s interaction structures quite a bit. Very nice work.</p><p
xmlns:html="http://www.w3.org/1999/xhtml">I also gave my talk, which I peppered with many anecdotes about meeting Phil. I got a lot of interest about potentially using Holbert-ng, including from <span
class="link local"><a
href="/forest/marcelofiore">Marcelo Fiore</a></span> among others. Very exciting stuff!</p><section
class="block hide-metadata numbered"
data-taxon="Reference"><header><h3>Down with Linear Mathematical Developments</h3></header><p
xmlns:html="http://www.w3.org/1999/xhtml">This talk presents some of my recent rough work on educational proof assistants. I spent many years building Holbert — a graphical proof assistant and document preparation system — with the eventual goal of writing a PL textbook in it. But Holbert's design, like that of most proof assistants, forces exposition to follow a single linearisation of the dependency order of definitions and theorems, which is a poor fit for good mathematical writing. This talk demonstrates work in progress on the next generation of Holbert, built on top of Forester, the notes system by Jon Sterling and Kento Okura. Forester's transclusion mechanism lets self-contained notes on definitions and theorems be composed bottom-up into a document. Holbert-NG maintains its own separate graph of mathematical dependencies, independent of Forester's document graph, decoupling how a text is composed from the dependency structure of its mathematics. </p></section></section><section
class="block hide-metadata numbered"><header><h2>A nice charity shop find</h2></header><p
xmlns:html="http://www.w3.org/1999/xhtml">There was a big movement of "community singing" in the UK during the 1920s (mostly pushed by tory rags). They commissioned Novello and similar music publishers to make score compilations to support community sing-alongs. Today while charity shop perusing, I managed to get the Daily Express compilation (edited by John Goss!) and the News Chronicle compilation, and had a read through. Lots of scottish airs, some hymns and carols, a few american spirituals and folk songs, sea shanties and some British patriotic songs. Interesting charity shop find!</p><figure
xmlns:html="http://www.w3.org/1999/xhtml"><img
loading="lazy"
width="280px"
src="/forest/bafkyrzacidnkipsajprra7jy6ahrm6bt4jliaggvemsnjfjwzc2gnojx5hjkaw2dfsumsd6tye6jw6uayay2elncdha2dkdayarkylpwlka6ho37.jpeg" /><img
loading="lazy"
width="280px"
src="/forest/bafkyrzacibmptk7lcpa5nmcihquwzo5a6ujoytwthccorjim44jecbgh6po66e7ptsltdlf5b5zbdozydeqrf6gugvmduztup5ctmykesikyxf2e.jpeg" /><figcaption>The books are still in great condition!</figcaption></figure></section><section
class="block hide-metadata numbered"><header><h2>Journal paper finally out</h2></header><p
xmlns:html="http://www.w3.org/1999/xhtml">The expanded version of our <span
class="link local"><a
href="/forest/amjad-vanglabbeek-oconnor-2024">2024 paper</a></span> has <em>finally</em> been published in the journal <span
class="link local"><a
href="/forest/inco">Information and Computation</a></span>. This paper includes some of the work that lays the foundation for <span
class="link local"><a
href="/forest/loc-004R">what I'm now doing</a></span> with <span
class="link local"><a
href="/forest/kaiphan">Kai Phan</a></span>.</p><section
class="block hide-metadata numbered"
data-taxon="Reference"><header><h3>The Infinite, in Finite Time</h3></header><p
xmlns:html="http://www.w3.org/1999/xhtml">An expanded version of <span
class="link local"><a
href="/forest/amjad-vanglabbeek-oconnor-2024">Semantics for Linear-time Temporal Logic with Finite Observations</a></span>.</p>
  <blockquote
xmlns:html="http://www.w3.org/1999/xhtml">Linear-time temporal properties, such as those described by Linear-time Temporal Logic, are typically modelled as sets of infinite traces. Yet, in a run-time verification context, such as when testing or monitoring a system, only a finite prefix of the system’s behaviour can be observed. For some properties, these finite prefixes may be definitive—a yes or no answer can be given without further observation. By enriching the semantics of LTL with these definitive prefixes, we give a proper inductive accounting of the semantics of LTL3, a multi-valued variant of Linear-time Temporal Logic for run-time verification applications. The semantic descriptions of LTL3 in previous work are given only in terms of their relationship to conventional LTL. We show that the semantics of LTL and of LTL3 are isomorphic. In addition, we formalise the formula progression evaluation technique, popularly used in runtime verification contexts, and show its soundness and completeness up to finite traces with respect to our semantics. Then, we turn to linear-time properties more generally: using our theory of definitive prefixes, we re-prove the well-known safety-liveness decomposition theorem, and reconstruct the topology of infinite traces. We define monitorability for properties, providing neat topological characterisations for various monitorability classes, and arrange them into a hierarchy. All of our definitions and proofs are mechanised in Isabelle/HOL.</blockquote>
</section></section><section
class="block hide-metadata numbered"><header><h2>16th Sunday after Pentecost 2026</h2></header>
  <blockquote
xmlns:html="http://www.w3.org/1999/xhtml">
Da pacem Dómine, sustinéntibus te, ut prophétæ tui fidéles inveniántur: exáudi preces servi tui, et plebis tuæ Israel.
</blockquote>
<p
xmlns:html="http://www.w3.org/1999/xhtml">I sang again at <span
class="link external"><a
href="https://smas.church/">St. Michael and all Saints</a></span> in the morning where we sang Palestrina's <span
class="link external"><a
href="https://www.youtube.com/watch?v=Tku8ceGJ4dk">Missa Brevis</a></span> and Wesley's <span
class="link external"><a
href="https://www.youtube.com/watch?v=0r3BkuxjD6k">Wash me throughly</a></span>: </p>
  <blockquote
xmlns:html="http://www.w3.org/1999/xhtml">
  <table
style="text-align: left">
    <tr><td>Wash me throughly from my wickedness</td></tr>
<tr><td>And forgive me all my sin</td></tr>
<tr><td>For I acknowledge my faults</td></tr>
<tr><td>And my sin is ever before me</td></tr></table>
</blockquote>
<p
xmlns:html="http://www.w3.org/1999/xhtml">I also joined the choir at <span
class="link external"><a
href="https://www.osp.org.uk/">Old St. Paul's</a></span> once again for Evensong and Benediction. We sang canticles by Harold Darke (both <span
class="link external"><a
href="https://www.youtube.com/watch?v=vNL2_M6LEaU">Magnificat</a></span> and <span
class="link external"><a
href="https://www.youtube.com/watch?v=XYwjopHRo_o">Nunc Dimittis</a></span>), and an anthem by our own John Kitchen: <span
class="link external"><a
href="https://youtu.be/cIdwDZPLfRQ?t=2512">Stand, Holy Cross</a></span>, a setting of a text by Gordon Graham (link is to the livestream of the service): </p>
  <blockquote
xmlns:html="http://www.w3.org/1999/xhtml"><table
style="text-align: left">
  <tr><td>Stand, Holy Cross, between my God and me</td></tr>
  <tr><td>And cast a shadow where my heart can hide</td></tr>
  <tr><td>Its frail mortality</td></tr>
  <tr><td>From his perspicuous light.</td></tr>
  <tr><td><br /></td></tr>
  <tr><td>The Cross's shade supplies my sin's disguise.</td></tr>
  <tr><td>My soul protected, I can turn my eyes;</td></tr>
  <tr><td>And now the Father’s light allows me view:</td></tr>
  <tr><td>A world, my world, made new.</td></tr>
  <tr><td><br /></td></tr>
  <tr><td>Then as horizons widen to a farther shore</td></tr>
  <tr><td>And light on light enlightens more and more,</td></tr>
  <tr><td>This larger vision brings a deeper peace</td></tr>
  <tr><td>And sin and sorrow cease.</td></tr>
  <tr><td><br /></td></tr>
  <tr><td>Stand, Holy Cross, between my God and me.</td></tr>
</table></blockquote>
</section></div></content></entry><entry><title>Weeknotes 2026-W36</title><published>2026-09-06T00:00:00Z</published><updated>2026-09-06T00:00:00Z</updated><author><name>Liam O'Connor</name><uri>https://liamoc.net/forest/liamoc/</uri></author><link
rel="alternate"
type="text/html"
href="https://liamoc.net/forest/2026-W36/" /><id>https://liamoc.net/forest/2026-W36/</id><content
type="xhtml"><div
xmlns="http://www.w3.org/1999/xhtml"><p
xmlns:html="http://www.w3.org/1999/xhtml">This weeknotes is a bit early, because I'm likely to be busy this Tuesday, and also to compensate for not posting any weeknotes last week — although I had a very good excuse, having caught COVID right before my travel to Scotland for the combined LFCS/Plotkin/Wadler event this week. I did recover and make it to Edinburgh in one piece, though.</p><figure
xmlns:html="http://www.w3.org/1999/xhtml"><img
loading="lazy"
width="380px"
src="/forest/bafkyrzaciacdv5wbqhc6wy5hvlolmaenjlojv37dltqrzcg5qvzx7zvbaq4fr3tlmisrk7tkvfie6mox2nr437gwvwtimzjdfecsep5a6cnjdva5.jpeg" /><figcaption>The West End of Edinburgh from my Hotel room.</figcaption></figure><section
class="block hide-metadata numbered"><header><h2>Holbert-ng nearing readiness</h2></header><p
xmlns:html="http://www.w3.org/1999/xhtml">I said in my <span
class="link local"><a
href="/forest/loc-005B">last post</a></span> that proof interface still needed work for Holbert-ng to reach feature parity with Holbert 1, but being sick with COVID meant that suddenly pressing work commitments vanished and I stayed home to isolate myself. This gave me a lot of programming time, so now a preliminary release of Holbert-ng is imminent.</p><figure
xmlns:html="http://www.w3.org/1999/xhtml"><img
loading="lazy"
width="450px"
src="/forest/bafkyrzacicz4ghoa7n2ihcexffifjyz2ptu6sykjwtd5mblbjdcevah2d7fldsbxd6hfgz6dfgo7hwtwx7w4mr3q5wtfpgnlruuk75un4rrb7cad.png" /></figure><p
xmlns:html="http://www.w3.org/1999/xhtml">The real test will be to actually start writing my PL course notes (similar to my <span
class="link local"><a
href="/forest/dt-001Y">domain theory</a></span> notes but more for an undergraduate PL theory course) with the proof assistant integrated throughout, as per my <span
class="link local"><a
href="/forest/loc-000V">original vision</a></span>. We're now almost at a point where that is a feasible thing to do. I will give a talk about some of my design decisions at the Wadler 70 event on Wednesday.</p></section><section
class="block hide-metadata numbered"><header><h2>Coro Concert: Cloudburst</h2></header><p
xmlns:html="http://www.w3.org/1999/xhtml"><span
class="link local"><a
href="/forest/loc-003G">Coro</a></span>'s concert has now been officially announced. Please <span
class="link external"><a
href="https://www.corocanberra.com/concerts">buy tickets</a></span> as soon as you can! The venue is my usual All Saints Ainslie church so the acoustic is good but seating is limited. A particular favourite from the programme this time is Tallis' Lamentations of Jeremiah, which I love singing.</p><figure
xmlns:html="http://www.w3.org/1999/xhtml"><span
class="link external"><a
href="https://www.corocanberra.com/concerts"><img
loading="lazy"
width="450px"
src="/forest/bafkyrzacicwzeckimsawjakyrm3hn3l7ljukdkg5ycqz5jzlfindgundslps67aw4gns6xaiaf7cibvapiw6qk3zoti7ciwipvcxgety3aqy66be.jpg" /></a></span></figure></section><section
class="block hide-metadata numbered"><header><h2>15th Sunday after Pentecost 2026</h2></header>
  <blockquote
xmlns:html="http://www.w3.org/1999/xhtml">
Iustus es Dómine, et rectum iudícium tuum: fac cum servo tuo secúndum misericórdiam tuam.
</blockquote>
<figure
xmlns:html="http://www.w3.org/1999/xhtml"><img
loading="lazy"
width="190px"
src="/forest/bafkyrzacibxcvjraesp7oguokxsb4xhw2vpekj52z4zyvfmr3gplel5r2kswv43obl24go5qxuvpebykracvo3wf62qyogjncrww6cddzfoegngu.jpeg" />
  <img
loading="lazy"
width="190px"
src="/forest/bafkyrzacidl54wkgptvxhzf374qb2ywyr57wwnac6qv5yulfahw4g6rckiwsyfrtjrhawj4ze67o6wvhys7oh5sszsmzl4vvzfr464l7a2a6njx5.jpeg" />
    <img
loading="lazy"
width="190px"
src="/forest/bafkyrzacicaiqtwraosxut7i6o773dwuulq6yryexitod2w5wz7ajnfq3zzbruen25lgobrjwqlcfdbl2vsxwtupt22n7xjnbthy7l27dog6z4wa.jpeg" />
  <figcaption>Back again at St. Michael and All Saints.</figcaption></figure><p
xmlns:html="http://www.w3.org/1999/xhtml">I am in Edinburgh this week for the combined LFCS/Plotkin/Wadler event so I stopped into my favourite church <span
class="link external"><a
href="https://smas.church/">St. Michael and all Saints</a></span> to sing in their choir for Mass today. We sang Darke's Mass in F (where I sang the tenor solo), chant propers (which I intoned) and Ola Gjeilo's <span
class="link external"><a
href="https://youtu.be/md2pmzJqtNc?t=4230">Ubi Caritas</a></span>. I linked to our performance in the livestream because SMAS's audio system is quite good and we sang it rather well I think. </p>
  <blockquote
xmlns:html="http://www.w3.org/1999/xhtml">
  
  <table>
    
  <tr>
  <td>Ubi cáritas et amor, Deus ibi est.</td>

  <td>Where there is charity and love, there God is.</td>
</tr>

    
  <tr>
  <td>Congregávit nos in unum Christi amor;</td>

  <td>The love of Christ has gathered us as one;</td>
</tr>

    
  <tr>
  <td>Exultémus et in ipso iucundémur;</td>

  <td>Let us then exult and delight in him;</td>
</tr>

    
  <tr>
  <td>Timeámus et amémus Deum vivum,</td>

  <td>Let us fear and love the living God,</td>
</tr>

    
  <tr>
  <td>Et ex corde diligámus nos sincéro.</td>

  <td>And love each other with sincere hearts.</td>
</tr>

    
  <tr>
  <td>Ubi cáritas et amor, Deus ibi est.</td>

  <td>Where there is charity and love, there God is.</td>
</tr>

    
  <tr>
  <td>Amen.</td>

  <td>Amen.</td>
</tr>

  </table>

</blockquote>
<p
xmlns:html="http://www.w3.org/1999/xhtml">I understand my usual choir at All Saints Ainslie sang Pitoni's <span
class="link external"><a
href="https://www.youtube.com/watch?v=6G4elpHkBng">Cantate Domino</a></span>.</p><p
xmlns:html="http://www.w3.org/1999/xhtml">I also joined the choir at <span
class="link external"><a
href="https://www.osp.org.uk/">Old St. Paul's</a></span> for Evensong and Benediction. We sang canticles by Attwood Walmisley (both <span
class="link external"><a
href="https://www.youtube.com/watch?v=Xoup1cor-6Q">Magnificat</a></span> and <span
class="link external"><a
href="https://www.youtube.com/watch?v=sL-VdxLCRG0">Nunc Dimittis</a></span>), and Wesley's anthem <span
class="link external"><a
href="https://www.youtube.com/watch?v=nIwxmEKdIQw">Lead me, Lord</a></span>: </p>
  <blockquote
xmlns:html="http://www.w3.org/1999/xhtml"><table
style="text-align: left">
  <tr><td>Lead me, Lord.</td></tr>
  <tr><td>Lead me in thy righteousness.</td></tr>
  <tr><td>Make thy way plain before my face.</td></tr>
  <tr><td>For it is thou, Lord,</td></tr>
  <tr><td>Thou, Lord, only,</td></tr>
  <tr><td>That makest me dwell in safety.</td></tr>
</table></blockquote>
</section></div></content></entry><entry><title>Weeknotes 2026-W34</title><published>2026-08-25T00:00:00Z</published><updated>2026-08-25T00:00:00Z</updated><author><name>Liam O'Connor</name><uri>https://liamoc.net/forest/liamoc/</uri></author><link
rel="alternate"
type="text/html"
href="https://liamoc.net/forest/2026-W34/" /><id>https://liamoc.net/forest/2026-W34/</id><content
type="xhtml"><div
xmlns="http://www.w3.org/1999/xhtml"><figure
xmlns:html="http://www.w3.org/1999/xhtml"><img
loading="lazy"
width="380px"
src="/forest/bafkyrzacidjvwz2bg4uquzokpp4g3vxd6yucgxgbm3e5ppfgbdgxfqny2cx6u2smedelkrvnju2zgx757koyd7gksmes4cevabcqvgvqr3p42qrj.jpeg" /><figcaption>Some brave cockatoos on my morning commute.</figcaption></figure><p
xmlns:html="http://www.w3.org/1999/xhtml">This week I finally finished the bulk of my reviewing for <span
class="link local"><a
href="/forest/popl27">POPL</a></span>. Glad that's mostly done!</p><section
class="block hide-metadata numbered"><header><h2>Holbert-ng in Forester: It works!</h2></header><p
xmlns:html="http://www.w3.org/1999/xhtml">While the proof interface is still very minimal, my students <span
class="link local"><a
href="/forest/joshbrown">Josh Brown</a></span> and <span
class="link local"><a
href="/forest/miowu">Mio Wu</a></span> have done some amazing work getting the reasoning core of Holbert-ng together. Because I am planning to talk about this work at WadlerFest in two weeks, I began finally to try to realise my <span
class="link local"><a
href="/forest/loc-000V">original vision</a></span> for this project and integrate the proof assistant into Forester itself.</p><p
xmlns:html="http://www.w3.org/1999/xhtml">It still has some rough edges, but, it works.</p><figure
xmlns:html="http://www.w3.org/1999/xhtml"><img
loading="lazy"
width="380px"
src="/forest/bafkyrzacibesvbuskba6nfa5y5cipduu7nfwt3hjmnhzxk4jlbk2h2wuqhozmpbuypkn57jkqpsprs4g23hoy3aja5gx6dqcytqavnxvf53yyz5f.png" /></figure><p
xmlns:html="http://www.w3.org/1999/xhtml">In particular, while it's not demonstrated by the above screenshot, proof and definition nodes can
span multiple pages, have their own dependency graph (independent of Forester's), can appear in multiple pages, and have all of their state synced to local storage. It's very exciting and motivating to see this in action.</p></section><section
class="block hide-metadata numbered"><header><h2>Feast of St. Bartholomew 2026</h2></header>
  <blockquote
xmlns:html="http://www.w3.org/1999/xhtml">
  MIHI autem nimis honoráti sunt amíci tui, Deus: nimis confortátus est principátus eórum.
  <br />
  EGO autem sicut olíva fructificávi in domo Dómini, sperávi in misericórdia Dei mei: et exspectábo nomen tuum, quóniam bonum est ante conspéctum sanctórum tuórum.
  <br />
  Inclína Dómine, aurem tuam ad me, et exáudi me: salvum fac servum tuum, Deus meus, sperántem in te: miserére mihi, Domine, quóniam ad te clamávi tota die.
</blockquote>
<p
xmlns:html="http://www.w3.org/1999/xhtml">Today our choir at <span
class="link external"><a
href="https://allsaintsainslie.org.au/">All Saints Ainslie</a></span> sang for Evensong, so I sang my arrangement of Hildegard of Bingen's <em>O Virtus Sapientiae</em> with a psalm appended during the morning mass. The livestream can be found <span
class="link external"><a
href="https://youtu.be/HT71KWbjrlU?t=3199">here</a></span>:</p>
  <blockquote
xmlns:html="http://www.w3.org/1999/xhtml">
  
  <table>
    
  <tr>
    
  <td>O Virtus Sapiéntiæ</td>

    
  <td>O Strength of Wisdom!</td>

    </tr>

  <tr>
    
  <td>Quæ circúiens circuísti,</td>

    
  <td>Thou who, circling, hast encircled  </td>

    </tr>

  <tr>
    
  <td>Comprehéndendo ómnia in una via quæ habet vitam.</td>

    
  <td>Comprehending all things in the one way that hath life.</td>

  </tr>

  <tr>
    
  <td>Tres alas habens:</td>

    
  <td>Three wings thou hast: </td>

  </tr>

  
  <tr>
      
  <td>Quarum una in altum volat,</td>

      
  <td>The one which soareth on high,</td>

    </tr>

    
  <tr>
  <td>Et áltera de terra sudat,</td>

    
  <td>The other sweateth from the Earth</td>
</tr>

    
  <tr>
        
  <td>Et tértia úndique volat,</td>

        
  <td>And the third flieth everywhere about.</td>

      </tr>

      
  <tr>
          
  <td>Laus tibi sit, sicut te decet, O Sapiéntia.</td>

          
  <td>Praise be to thee, as is meet, O Wisdom.</td>

        </tr>

  </table>

</blockquote>
<p
xmlns:html="http://www.w3.org/1999/xhtml">In between the morning mass and evensong, I began rehearsing for our next <span
class="link local"><a
href="/forest/loc-003G">Coro</a></span> concert. This meant I was singing at the church from morning to night!</p><p
xmlns:html="http://www.w3.org/1999/xhtml">For evensong, I selected the music but our normal director conducted. We sang Morley's fauxbourdon <span
class="link external"><a
href="https://www.youtube.com/watch?v=CGjV7UCTSzE">Magnificat</a></span> and <span
class="link external"><a
href="https://www.youtube.com/watch?v=ZMBVn7mJiRw">Nunc Dimittis</a></span>, and Tallis' <span
class="link external"><a
href="https://www.youtube.com/watch?v=zkdg9pFMLYA">O Lord give thy Holy Spirit</a></span> as the anthem.</p>
  <blockquote
xmlns:html="http://www.w3.org/1999/xhtml">
  <table
style="text-align: left">
    <tr><td>O Lord, give thy Holy Spirit into our hearts,</td></tr>
    <tr><td>And lighten our understanding,</td></tr>
    <tr><td>That we may dwell in the fear of thy Name,</td></tr>
    <tr><td>All the days of our life;</td></tr>
    <tr><td>That we may know thee, the only True God:</td></tr>
    <tr><td>And Jesus Christ, whom thou hast sent.</td></tr>
  </table>
</blockquote>
</section></div></content></entry><entry><title>Weeknotes 2026-W33</title><published>2026-08-18T00:00:00Z</published><updated>2026-08-18T00:00:00Z</updated><author><name>Liam O'Connor</name><uri>https://liamoc.net/forest/liamoc/</uri></author><link
rel="alternate"
type="text/html"
href="https://liamoc.net/forest/2026-W33/" /><id>https://liamoc.net/forest/2026-W33/</id><content
type="xhtml"><div
xmlns="http://www.w3.org/1999/xhtml"><p
xmlns:html="http://www.w3.org/1999/xhtml">I'm now setting Tuesday as my weeknote day, so this week's note is not late, but on time.</p><section
class="block hide-metadata numbered"><header><h2>Reviewing is becoming untenable</h2></header><p
xmlns:html="http://www.w3.org/1999/xhtml">As I have previously mentioned, I'm on the PC of <span
class="link local"><a
href="/forest/popl27">POPL</a></span> this year. There were an unprecedented number of submissions (&gt;600), which meant that even with reserve reviewers, each PC member ended up with 14 papers to review. Seeing as POPL papers are typically dense with a fair bit of maths, this is an extreme amount of work. </p><p
xmlns:html="http://www.w3.org/1999/xhtml">My workload was exacerbated by the fact that the <span
class="link external"><a
href="https://torontopapermatching.org/">Toronto paper matching system</a></span> used by POPL seemed to produce ranks worse than random, so even before being assigned reviews I had to examine (at least the titles of) every submission to the conference to figure out what to bid on.</p><p
xmlns:html="http://www.w3.org/1999/xhtml">I don't think we want our PL and FM conferences to end up like AI conferences, with enormous PCs and an even higher volume of papers. I don't want our research to turn into a paper mill where we throw papers over the wall that even the reviewers barely read, let alone anyone else (at best, a disgusting AI summary might be all that is left of our papers for human consumption). But if things keep progressing this way, that's exactly where we'll end up — the volume of papers even in this iteration of POPL is such that I'm having to take shortcuts just to get the reviews done in time.</p><p
xmlns:html="http://www.w3.org/1999/xhtml">Normally, my policy is to write a review, wait a day (while not reading anything else), and then submit it, because often I will keep thinking about the paper while I go about my day. This PC membership has made that impossible.</p></section><section
class="block hide-metadata numbered"><header><h2>Feast of Mary the Mother 2026</h2></header>
  <blockquote
xmlns:html="http://www.w3.org/1999/xhtml">
  Signum magnum appáruit in cælo: múlier amícta sole, et luna sub pédibus, et in cápite eius in coróna stellárum duodécim.<br />
  
  Gaudeámus omnes in Dómino, diem festum celebrántes sub honóre Maríaæ Vírginis: de cuius assumptióne gaudent Angeli, et colláudant Fílium Dei.
</blockquote>
<p
xmlns:html="http://www.w3.org/1999/xhtml">Our director was back from his trip today, so I returned to my deputy role at <span
class="link external"><a
href="https://allsaintsainslie.org.au/">All Saints Ainslie</a></span>. Today was a transferred Marian feast which ought to be called "The Assumption of the Blessed Virgin Mary" but due to our protestant-friendly lectionary it's watered down to a feast of "Mary the Mother". While I didn't direct it, I selected the anthem for this week, Stravinsky's <span
class="link external"><a
href="https://www.youtube.com/watch?v=Luh-UlFvxEk">Ave Maria</a></span>:</p>
  <blockquote
xmlns:html="http://www.w3.org/1999/xhtml">
  
  <table>
    
  <tr>
    
  <td>Ave María, gratia plena, Dóminus tecum.</td>

    
  <td>Hail Mary, full of grace, the Lord is with thee.</td>

    </tr>

  <tr>
    
  <td>Benedícta tu in muliéribus et benedíctus fructus ventris tui, Jesus.</td>

    
  <td>Blessed art thou among women, and blessed is the fruit of your womb, Jesus.</td>

    </tr>

  <tr>
    
  <td>Sancta María, mater Dei, ora pro nobis peccatóribus,</td>

    
  <td>Holy Mary, mother of God, pray for us sinners,</td>

  </tr>

  <tr>
    
  <td>Nunc et in hora mortis nostræ. Amen.</td>

    
  <td>Now and at the hour of our death. Amen.</td>

  </tr>

  </table>

</blockquote>
<p
xmlns:html="http://www.w3.org/1999/xhtml">In exchange for subjecting the congregation to a more unusual setting, I sang Schubert's <span
class="link external"><a
href="https://www.youtube.com/watch?v=f6O0Ye5BPBk">Ave Maria</a></span> (in Latin, to the same lyrics) at the end of the service.</p><p
xmlns:html="http://www.w3.org/1999/xhtml">We also had a choir management meeting yesterday to set priorities for the coming few months. Nothing firm to announce yet, but we might be bringing some new people into our team, which is very exciting. </p></section></div></content></entry><entry><title>Weeknotes 2026-W32</title><published>2026-08-11T00:00:00Z</published><updated>2026-08-11T00:00:00Z</updated><author><name>Liam O'Connor</name><uri>https://liamoc.net/forest/liamoc/</uri></author><link
rel="alternate"
type="text/html"
href="https://liamoc.net/forest/2026-W32/" /><id>https://liamoc.net/forest/2026-W32/</id><content
type="xhtml"><div
xmlns="http://www.w3.org/1999/xhtml"><p
xmlns:html="http://www.w3.org/1999/xhtml">This weeknotes is two days late again. Perhaps I should just make my weeknoting day Tuesday instead? It would perhaps suit my schedule better.</p><figure
xmlns:html="http://www.w3.org/1999/xhtml"><img
loading="lazy"
width="380px"
src="/forest/bafkyrzacialsa5m5htfrlcylj3cb5aw56ep6ffmpkjtoocffxifok7sncc2n5xefkfjaawvfte2r5lem7x45k56synfu3hkhgjjcar6424nthxpx.jpeg" /><figcaption>Night falls on Black Mountain.</figcaption></figure><section
class="block hide-metadata numbered"><header><h2>Reading for power</h2></header><p
xmlns:html="http://www.w3.org/1999/xhtml">I know I'm a bit of a broken record with the anti-LLM posting, but I recently read <span
class="link external"><a
href="https://www.theguardian.com/books/ng-interactive/2026/aug/08/i-hate-what-ai-is-doing-to-the-minds-and-happiness-of-the-young-katherine-rundell-on-the-view-from-the-classroom">this excellent article</a></span> from Katherine Rundell in the Guardian that was not only extremely compelling but also strangely gave me a bit of hope, or at least a call to action.</p>
  <blockquote
xmlns:html="http://www.w3.org/1999/xhtml">
  I talk a great deal about reading for pleasure; I’ve written elsewhere about the necessity of pleasure in the classroom, and why it is not an optional extra but the hallmark of true education. We must find ways to show children that reading gives you access to an inexhaustible source of delight. But I worry, too, that we are limiting the meaning of the word pleasure. Learning is a strange and discomfiting experience; it’s a struggle and a frustration, and epiphanies are rare. It is not always pleasure in its easiest sense.</blockquote>

  <blockquote
xmlns:html="http://www.w3.org/1999/xhtml">So I think we also need to talk to young people about reading to outrun and outfight injustice. Reading to get faster, swifter and tougher; to develop powers of scrutiny and criticism and huge creative imagination. Reading human work to insist that we are human. Reading for liberation and emancipation; reading for intellectual freedom, and to have the strength to fight in the arenas of the mind, because when we let a computer think for us, we put a gun to the head of civilisation.</blockquote>

  <blockquote
xmlns:html="http://www.w3.org/1999/xhtml"> There are dark days ahead. If we are to fight against those with untold financial wealth, we will need untold intellectual wealth. We will need tough-minded people; people with stamina, a huge range of knowledge, and an ability to see wide and far enough to understand in real time what is being done to us. Reading for pleasure and delight are vital – but alongside that and even more urgently: reading for power.</blockquote>
</section><section
class="block hide-metadata numbered"><header><h2>I got an award last year</h2></header><p
xmlns:html="http://www.w3.org/1999/xhtml">Somehow I missed it that I got an award for my supervision last year. It slipped my mind completely until I got this certificate in my inbox: </p><figure
xmlns:html="http://www.w3.org/1999/xhtml"><img
loading="lazy"
width="420px"
src="/forest/bafkyrzacidhmaaigjkdhgan7bxrqgthruzkejxie2hoxipyaod6wlkgdgjy5xqjhiv4uh6iuphutzr24vi4h2etbof3gpobeoke3wekp5skxnwbg.png" /></figure><p
xmlns:html="http://www.w3.org/1999/xhtml">Looking at the list of awardees, it seems any supervisor who was nominated was awarded such a commendation (except for the first-place winners). Thank you to whichever of <span
class="link local"><a
href="/forest/loc-0002">my students</a></span> nominated me!</p></section><section
class="block hide-metadata numbered"><header><h2>Feast of the Transfiguration 2026</h2></header>
  <blockquote
xmlns:html="http://www.w3.org/1999/xhtml">
  Tibi dixit cor meum, quæsívi vultum tuum, vultum tuum Dómine requíram: ne avértas fáciem tuam a me.
</blockquote>
<p
xmlns:html="http://www.w3.org/1999/xhtml">I was once again the director of our choir at <span
class="link external"><a
href="https://allsaintsainslie.org.au/">All Saints Ainslie</a></span>, on a cold and wet Sunday with few choristers and few parishioners, even though it was a transferred feast. We sang Stopford's <span
class="link external"><a
href="https://www.youtube.com/watch?v=8aNISuvsP5M">Do not be afraid</a></span>, a poem by Gerard Markland based on the words of Isaiah:</p>
  <blockquote
xmlns:html="http://www.w3.org/1999/xhtml">
  <table
style="text-align: left">
    <tr><td>Do not be afraid, for I have redeemed you.</td></tr>
    <tr><td>I have called you by your name;</td></tr>
    <tr><td>you are mine.</td></tr>
    <tr><td>When you walk through the waters,</td></tr>
    <tr><td>I'll be with you;</td></tr>
    <tr><td>you will never sink beneath the waves.</td></tr>
    <tr><td>When the fire is burning all around you,</td></tr>
    <tr><td>you will never be consumed by the flames.</td></tr>
    <tr><td>When the fear of loneliness is looming,</td></tr>
    <tr><td>then remember I am at your side.</td></tr>
    <tr><td>When you dwell in the exile of a stranger,</td></tr>
    <tr><td>remember you are precious in my eyes.</td></tr>
    <tr><td>You are mine, O my child,</td></tr>
    <tr><td>I am your Father,</td></tr>
    <tr><td>and I love you with a perfect love.</td></tr>
    <tr><td>Do not be afraid, for I have redeemed you.</td></tr>
    <tr><td>I have called you by your name;</td></tr>
    <tr><td>you are mine.</td></tr>
  </table>
</blockquote>
<p
xmlns:html="http://www.w3.org/1999/xhtml">There's something weird going on, because we celebrated the Transfiguration already on <span
class="link local"><a
href="/forest/loc-0038">Quinquagesima Sunday</a></span>, and last year they made no special observance of the feast of the Transfiguration. The transferring of feasts is such a mess! I'm liking <span
class="link local"><a
href="/forest/obrw">Oliver Brewer-Lennon</a></span>'s policy of never transferring anything and celebrating feasts on the day more and more.</p></section></div></content></entry><entry><title>Weeknotes 2026-W31</title><published>2026-08-04T00:00:00Z</published><updated>2026-08-04T00:00:00Z</updated><author><name>Liam O'Connor</name><uri>https://liamoc.net/forest/liamoc/</uri></author><link
rel="alternate"
type="text/html"
href="https://liamoc.net/forest/2026-W31/" /><id>https://liamoc.net/forest/2026-W31/</id><content
type="xhtml"><div
xmlns="http://www.w3.org/1999/xhtml"><p
xmlns:html="http://www.w3.org/1999/xhtml">This weeknotes is two days late, but I was suffering from a bout of rheumatoid symptoms so that's my excuse.</p><figure
xmlns:html="http://www.w3.org/1999/xhtml"><img
loading="lazy"
width="400px"
src="/forest/bafkyrzaciak5petu6yi4r7yldco2bj45skos4zpul5k64yppr6tfro5b7mk33v7ehvebydmnfuiirnzf2cghcrr7o2sd7skjlnaviwz27jriy7m4.jpeg" /><figcaption>One of the most common birds in Canberra is also one of the loveliest.</figcaption></figure><section
class="block hide-metadata numbered"><header><h2>CCS with Termination</h2></header><p
xmlns:html="http://www.w3.org/1999/xhtml">As part of <span
class="link local"><a
href="/forest/xinloi">Xin Lu</a></span>'s project we needed to come up with a version of CCS that supports explicit termination in the style of ACP. There is a <span
class="link local"><a
href="/forest/aceto-hennessy-1994">paper</a></span> by <span
class="link local"><a
href="/forest/aceto">Luca Aceto</a></span> and <span
class="link local"><a
href="/forest/mhennessy">Matthew Hennessy</a></span> which introduces a termination predicate, but they require that a nondeterministic choice <span
class="katex-math"
data-display="inline"
data-tex="P + Q">P + Q</span> is judged terminating (written <span
class="katex-math"
data-display="inline"
data-tex="P + Q \checkmark ">P + Q \checkmark </span>) only when <em>both</em> <span
class="katex-math"
data-display="inline"
data-tex="P \checkmark ">P \checkmark </span> and <span
class="katex-math"
data-display="inline"
data-tex="Q \checkmark ">Q \checkmark </span>. In other words, a process is only terminating if it has <em>no choice</em> but to terminate.  </p><p
xmlns:html="http://www.w3.org/1999/xhtml">In our case, we want a judgement for <em>possible</em> termination, not <em>guaranteed</em> termination. So we had to come up with our own notions. We've formalised this in Isabelle, but what follows is the same but presented as Forester notes. Eventually, these notes may become part of another research notebook or even lecture notes. </p><section
class="block hide-metadata numbered"
data-taxon="Definition"><header><h3>Syntax of (non-recursive) CCS</h3></header><p
xmlns:html="http://www.w3.org/1999/xhtml">The <em>Calculus of Communicating Systems</em> (CCS) is a process algebra with the following basic syntax.</p><span
class="katex-math"
data-display="block"
data-tex="
  \begin {array}{lcll}
  \alpha  &amp; &amp; &amp; \text {(names)}\\
  a &amp; ::= &amp; \alpha  \mid  \overline {\alpha } \mid  \tau  &amp; \text {(actions, co-actions, and internal moves)}\\
  P &amp; ::= &amp; \textbf {0} &amp; \\
    &amp; \mid  &amp; a.P &amp; \text {(action prefixing)}  \\
    &amp; \mid  &amp; \sum _{i \in  I} P_i &amp; \text {(nondeterministic choice)} \\
    &amp; \mid  &amp; P | Q &amp; \text {(parallel composition)} \\ 
    &amp; \mid  &amp; P \setminus  \alpha  &amp; \text {(restriction)} \\ 
    &amp; \mid  &amp; P [ f ] &amp; \text {(renaming)}
  \end {array}
">
  \begin {array}{lcll}
  \alpha  &amp; &amp; &amp; \text {(names)}\\
  a &amp; ::= &amp; \alpha  \mid  \overline {\alpha } \mid  \tau  &amp; \text {(actions, co-actions, and internal moves)}\\
  P &amp; ::= &amp; \textbf {0} &amp; \\
    &amp; \mid  &amp; a.P &amp; \text {(action prefixing)}  \\
    &amp; \mid  &amp; \sum _{i \in  I} P_i &amp; \text {(nondeterministic choice)} \\
    &amp; \mid  &amp; P | Q &amp; \text {(parallel composition)} \\ 
    &amp; \mid  &amp; P \setminus  \alpha  &amp; \text {(restriction)} \\ 
    &amp; \mid  &amp; P [ f ] &amp; \text {(renaming)}
  \end {array}
</span><p
xmlns:html="http://www.w3.org/1999/xhtml">In the above, <span
class="katex-math"
data-display="inline"
data-tex="f">f</span> denotes a valid <em>renaming</em> function that satisfies the side-condition <span
class="katex-math"
data-display="inline"
data-tex="\forall  a.\; f(\overline {a}) = \overline {f(a)}">\forall  a.\; f(\overline {a}) = \overline {f(a)}</span>. Here we have naturally extended the co-action notation (<span
class="katex-math"
data-display="inline"
data-tex="\overline {\alpha }">\overline {\alpha }</span>) to an operation on actions <span
class="katex-math"
data-display="inline"
data-tex="a">a</span>, where <span
class="katex-math"
data-display="inline"
data-tex="\overline {\overline {a}} = a">\overline {\overline {a}} = a</span> and <span
class="katex-math"
data-display="inline"
data-tex="\overline {\tau } = \tau ">\overline {\tau } = \tau </span>.</p><p
xmlns:html="http://www.w3.org/1999/xhtml">We allow for infinite sums in nondeterministic choice. To recover finite choice, we use a two element index set like <span
class="katex-math"
data-display="inline"
data-tex="\mathbb {B} = \{\top ,\bot \}">\mathbb {B} = \{\top ,\bot \}</span>, as follows:</p><span
class="katex-math"
data-display="block"
data-tex=" P + Q \equiv  \sum _{i \in  \mathbb {B}} R_i\; \text {where}\ R_\top  = P\ \text {and}\ R_\bot  = Q"> P + Q \equiv  \sum _{i \in  \mathbb {B}} R_i\; \text {where}\ R_\top  = P\ \text {and}\ R_\bot  = Q</span></section><section
class="block hide-metadata numbered"
data-taxon="Definition"><header><h3>Operational semantics for (non-recursive) CCS</h3></header><p
xmlns:html="http://www.w3.org/1999/xhtml">We assign an operational semantics to <span
class="link local"><a
href="/forest/pa-0001">CCS</a></span> by describing a series of transition rules <span
class="katex-math"
data-display="inline"
data-tex="P \xrightarrow {a} Q">P \xrightarrow {a} Q</span> inductively as follows:</p><span
class="katex-math"
data-display="block"
data-tex="
  \begin {gather*}
  \dfrac { }{a.P \xrightarrow {a} P} \quad  \dfrac {P_k \xrightarrow {a} P'}{\sum _{i \in  I} P_i \xrightarrow {a} P'}  \\[2em]
  \dfrac { P \xrightarrow {a} P'}{P|Q \xrightarrow {a} P'|Q}  \quad  \dfrac { Q \xrightarrow {a} Q'}{P|Q \xrightarrow {a} P|Q'}
    \dfrac { P \xrightarrow {a} P' \quad  Q \xrightarrow {\overline {a}} Q'}{P|Q \xrightarrow {\tau } P'|Q'} \\[2em]
    \dfrac { P \xrightarrow {a} P' \quad  a \notin  \{\alpha , \overline {\alpha }\}}{ P\setminus  \alpha  \xrightarrow {a} P' \setminus  \alpha } \quad     \dfrac { P \xrightarrow {a} P'}{ P [ f ] \xrightarrow {f(a)} P' [ f ]}
  \end {gather*}
">
  \begin {gather*}
  \dfrac { }{a.P \xrightarrow {a} P} \quad  \dfrac {P_k \xrightarrow {a} P'}{\sum _{i \in  I} P_i \xrightarrow {a} P'}  \\[2em]
  \dfrac { P \xrightarrow {a} P'}{P|Q \xrightarrow {a} P'|Q}  \quad  \dfrac { Q \xrightarrow {a} Q'}{P|Q \xrightarrow {a} P|Q'}
    \dfrac { P \xrightarrow {a} P' \quad  Q \xrightarrow {\overline {a}} Q'}{P|Q \xrightarrow {\tau } P'|Q'} \\[2em]
    \dfrac { P \xrightarrow {a} P' \quad  a \notin  \{\alpha , \overline {\alpha }\}}{ P\setminus  \alpha  \xrightarrow {a} P' \setminus  \alpha } \quad     \dfrac { P \xrightarrow {a} P'}{ P [ f ] \xrightarrow {f(a)} P' [ f ]}
  \end {gather*}
</span><p
xmlns:html="http://www.w3.org/1999/xhtml">Let the relation <span
class="katex-math"
data-display="inline"
data-tex="P \xrightarrow {\sigma }^\ast  Q">P \xrightarrow {\sigma }^\ast  Q</span> denote the <span
class="link local"><a
href="/forest/dm-0001">reflexive</a></span>, <span
class="link local"><a
href="/forest/dm-0002">transitive</a></span> closure of the above step relation, where <span
class="katex-math"
data-display="inline"
data-tex="\sigma ">\sigma </span> denotes a <em>finite trace</em> (a finite sequence of actions):</p><span
class="katex-math"
data-display="block"
data-tex="
  \dfrac { }{P \xrightarrow {\varepsilon }^\ast  P} \quad  \dfrac {P \xrightarrow {a} P' \quad  P' \xrightarrow {\sigma }^\ast  Q}{P \xrightarrow {a\sigma }^\ast  Q}
">
  \dfrac { }{P \xrightarrow {\varepsilon }^\ast  P} \quad  \dfrac {P \xrightarrow {a} P' \quad  P' \xrightarrow {\sigma }^\ast  Q}{P \xrightarrow {a\sigma }^\ast  Q}
</span></section><section
class="block hide-metadata numbered"
data-taxon="Definition"><header><h3>Partial trace semantics for (non-recursive) CCS</h3></header><p
xmlns:html="http://www.w3.org/1999/xhtml">A simple <span
class="link local"><a
href="/forest/dt-0001">denotational semantics</a></span> for <span
class="link local"><a
href="/forest/pa-0001">CCS</a></span> is in terms of partial traces: finite sequences of actions.</p><span
class="katex-math"
data-display="block"
data-tex="
  \begin {array}{lcl}
  \llbracket  \textbf {0} \rrbracket _\text {PT} &amp; = &amp; \{ \varepsilon  \} \\
  \llbracket  a.P \rrbracket _\text {PT} &amp; = &amp; \{ a\sigma  \mid  \sigma  \in  \llbracket  P \rrbracket _\text {PT} \} \cup  \{ \varepsilon  \}\\
  \llbracket  \sum _{i \in  I} P_i \rrbracket _\text {PT} &amp; = &amp; \{ \varepsilon  \} \cup  \bigcup _{i \in  I} \llbracket  P_i \rrbracket _\text {PT} \\
  \llbracket  P|Q \rrbracket _\text {PT} &amp; = &amp; \bigcup _{\sigma  \in  \llbracket  P \rrbracket _\text {PT}} \bigcup _{\rho  \in  \llbracket  Q \rrbracket _\text {PT}} \sigma  \bowtie  \rho  \\
  \llbracket  P \setminus  \alpha  \rrbracket _\text {PT} &amp; = &amp; \{ \sigma  \in  \llbracket  P \rrbracket _\text {PT} \mid  \alpha  \notin  \sigma  \land  \overline {\alpha } \notin  \sigma  \} \\
    \llbracket  P [ f ] \rrbracket _\text {PT} &amp; = &amp; \{ \hat {f}(\sigma ) \mid  \sigma  \in  \llbracket  P \rrbracket _\text {PT} \}
  \end {array}
">
  \begin {array}{lcl}
  \llbracket  \textbf {0} \rrbracket _\text {PT} &amp; = &amp; \{ \varepsilon  \} \\
  \llbracket  a.P \rrbracket _\text {PT} &amp; = &amp; \{ a\sigma  \mid  \sigma  \in  \llbracket  P \rrbracket _\text {PT} \} \cup  \{ \varepsilon  \}\\
  \llbracket  \sum _{i \in  I} P_i \rrbracket _\text {PT} &amp; = &amp; \{ \varepsilon  \} \cup  \bigcup _{i \in  I} \llbracket  P_i \rrbracket _\text {PT} \\
  \llbracket  P|Q \rrbracket _\text {PT} &amp; = &amp; \bigcup _{\sigma  \in  \llbracket  P \rrbracket _\text {PT}} \bigcup _{\rho  \in  \llbracket  Q \rrbracket _\text {PT}} \sigma  \bowtie  \rho  \\
  \llbracket  P \setminus  \alpha  \rrbracket _\text {PT} &amp; = &amp; \{ \sigma  \in  \llbracket  P \rrbracket _\text {PT} \mid  \alpha  \notin  \sigma  \land  \overline {\alpha } \notin  \sigma  \} \\
    \llbracket  P [ f ] \rrbracket _\text {PT} &amp; = &amp; \{ \hat {f}(\sigma ) \mid  \sigma  \in  \llbracket  P \rrbracket _\text {PT} \}
  \end {array}
</span><p
xmlns:html="http://www.w3.org/1999/xhtml">The trace merge operator <span
class="katex-math"
data-display="inline"
data-tex="\bowtie ">\bowtie </span> is defined as follows:</p><span
class="katex-math"
data-display="block"
data-tex="\begin {array}{lcl}
  \sigma  \bowtie  \varepsilon  &amp;=&amp; \{\sigma  \} \\
  \varepsilon  \bowtie  \sigma  &amp;=&amp; \{\sigma  \} \\
  a\sigma  \bowtie  b\rho  &amp;=&amp; \{ a\varsigma  \mid  \varsigma  \in  \sigma  \bowtie  b\rho  \} \\
                     &amp;\cup &amp; \{ b\varsigma  \mid  \varsigma  \in  a\sigma  \bowtie  \rho  \} \\
                     &amp;\cup &amp; \{ \tau \varsigma  \mid  \varsigma  \in  \sigma  \bowtie  \rho  \land  a = \overline {b} \} \\
\end {array}
">\begin {array}{lcl}
  \sigma  \bowtie  \varepsilon  &amp;=&amp; \{\sigma  \} \\
  \varepsilon  \bowtie  \sigma  &amp;=&amp; \{\sigma  \} \\
  a\sigma  \bowtie  b\rho  &amp;=&amp; \{ a\varsigma  \mid  \varsigma  \in  \sigma  \bowtie  b\rho  \} \\
                     &amp;\cup &amp; \{ b\varsigma  \mid  \varsigma  \in  a\sigma  \bowtie  \rho  \} \\
                     &amp;\cup &amp; \{ \tau \varsigma  \mid  \varsigma  \in  \sigma  \bowtie  \rho  \land  a = \overline {b} \} \\
\end {array}
</span></section><section
class="block hide-metadata numbered"
data-taxon="Theorem"><header><h3>Soundness and adequacy of partial trace semantics for (non-recursive) CCS</h3></header><p
xmlns:html="http://www.w3.org/1999/xhtml">The finite partial trace <span
class="link local"><a
href="/forest/dt-0003">denotational semantics of CCS</a></span> gives exactly those finite partial traces reachable via the <span
class="link local"><a
href="/forest/dt-0002">operational semantics</a></span>.</p><span
class="katex-math"
data-display="block"
data-tex="\llbracket  P \rrbracket _\text {PT} = \{ \sigma  \mid  \exists  Q.\ P \xrightarrow {\sigma }^\ast  Q \} ">\llbracket  P \rrbracket _\text {PT} = \{ \sigma  \mid  \exists  Q.\ P \xrightarrow {\sigma }^\ast  Q \} </span>


<section
class="block hide-metadata"
data-taxon="Proof">
  <p
xmlns:html="http://www.w3.org/1999/xhtml">Proved by induction on <span
class="katex-math"
data-display="inline"
data-tex="P">P</span>.</p>
</section></section><section
class="block hide-metadata numbered"><header><h3>Explicit termination for (non-recursive) CCS</h3></header><p
xmlns:html="http://www.w3.org/1999/xhtml">We add to <span
class="link local"><a
href="/forest/pa-0001">syntax of CCS</a></span> an additional process constant, <span
class="katex-math"
data-display="inline"
data-tex="\textbf {1}">\textbf {1}</span>, which, like <span
class="katex-math"
data-display="inline"
data-tex="\mathbf {0}">\mathbf {0}</span>, has no rules in the <span
class="link local"><a
href="/forest/dt-0002">operational semantics</a></span>, and whose <span
class="link local"><a
href="/forest/dt-0003">finite partial traces</a></span> are just  <span
class="katex-math"
data-display="inline"
data-tex="\llbracket  \textbf {1} \rrbracket _\text {PT} = \{\varepsilon \}">\llbracket  \textbf {1} \rrbracket _\text {PT} = \{\varepsilon \}</span>. </p><p
xmlns:html="http://www.w3.org/1999/xhtml">The difference between <span
class="katex-math"
data-display="inline"
data-tex="\textbf {0}">\textbf {0}</span> and <span
class="katex-math"
data-display="inline"
data-tex="\textbf {1}">\textbf {1}</span> only comes in once we introduce a notion of <em>possible successful termination</em>. Intuitively, we want the ability to denote when it is OK for a process to stop.</p><section
class="block hide-metadata numbered"
data-taxon="Definition"><header><h4>Possible termination predicate for CCS with <span
class="katex-math"
data-display="inline"
data-tex="\textbf {1}">\textbf {1}</span></h4></header><p
xmlns:html="http://www.w3.org/1999/xhtml">We define an inductive judgement <span
class="katex-math"
data-display="inline"
data-tex="P \checkmark ">P \checkmark </span>, where <span
class="katex-math"
data-display="inline"
data-tex="P">P</span> is a process in <span
class="link local"><a
href="/forest/pa-0001">CCS</a></span> augmented with an additional process constant <span
class="katex-math"
data-display="inline"
data-tex="\textbf {1}">\textbf {1}</span>:</p><span
class="katex-math"
data-display="block"
data-tex="
  \begin {gather*}
  \dfrac { }{ \textbf {1} \checkmark } \quad  \dfrac {P_k \checkmark }{\sum _{i \in  I} P_i \checkmark }  \\[2em]
  \dfrac { P \checkmark  \quad  Q \checkmark }{P|Q \checkmark }
    \dfrac { P \checkmark }{ P\setminus  \alpha  \checkmark } \quad     \dfrac { P \checkmark }{ P [ f ] \checkmark }
  \end {gather*}
">
  \begin {gather*}
  \dfrac { }{ \textbf {1} \checkmark } \quad  \dfrac {P_k \checkmark }{\sum _{i \in  I} P_i \checkmark }  \\[2em]
  \dfrac { P \checkmark  \quad  Q \checkmark }{P|Q \checkmark }
    \dfrac { P \checkmark }{ P\setminus  \alpha  \checkmark } \quad     \dfrac { P \checkmark }{ P [ f ] \checkmark }
  \end {gather*}
</span></section><section
class="block hide-metadata numbered"
data-taxon="Definition"><header><h4>Finite completed trace semantics for CCS with <span
class="katex-math"
data-display="inline"
data-tex="\textbf {1}">\textbf {1}</span></h4></header><p
xmlns:html="http://www.w3.org/1999/xhtml">We offer a <span
class="link local"><a
href="/forest/dt-0001">denotational semantics</a></span> for <span
class="link local"><a
href="/forest/pa-0001">CCS</a></span> augmented with a <span
class="katex-math"
data-display="inline"
data-tex="\textbf {1}">\textbf {1}</span> constant, denoting successful termination. Unlike our <span
class="link local"><a
href="/forest/pa-0003">partial trace semantics</a></span>, this semantics only includes finite <em>completed</em> traces — traces where the process has terminated.</p><span
class="katex-math"
data-display="block"
data-tex="
  \begin {array}{lcl}
  \llbracket  \textbf {0} \rrbracket _\text {CT} &amp; = &amp; \emptyset  \\
  \llbracket  \textbf {1} \rrbracket _\text {CT} &amp; = &amp; \{ \varepsilon  \} \\
  \llbracket  a.P \rrbracket _\text {CT} &amp; = &amp; \{ a\sigma  \mid  \sigma  \in  \llbracket  P \rrbracket _\text {CT} \}\\
  \llbracket  \sum _{i \in  I} P_i \rrbracket _\text {CT} &amp; = &amp; \bigcup _{i \in  I} \llbracket  P_i \rrbracket _\text {CT} \\
  \llbracket  P|Q \rrbracket _\text {CT} &amp; = &amp; \bigcup _{\sigma  \in  \llbracket  P \rrbracket _\text {CT}} \bigcup _{\rho  \in  \llbracket  Q \rrbracket _\text {CT}} \sigma  \bowtie  \rho  \\
  \llbracket  P \setminus  \alpha  \rrbracket _\text {CT} &amp; = &amp; \{ \sigma  \in  \llbracket  P \rrbracket _\text {CT} \mid  \alpha  \notin  \sigma  \land  \overline {\alpha } \notin  \sigma  \} \\
    \llbracket  P [ f ] \rrbracket _\text {CT} &amp; = &amp; \{ \hat {f}(\sigma ) \mid  \sigma  \in  \llbracket  P \rrbracket _\text {CT} \}
  \end {array}
">
  \begin {array}{lcl}
  \llbracket  \textbf {0} \rrbracket _\text {CT} &amp; = &amp; \emptyset  \\
  \llbracket  \textbf {1} \rrbracket _\text {CT} &amp; = &amp; \{ \varepsilon  \} \\
  \llbracket  a.P \rrbracket _\text {CT} &amp; = &amp; \{ a\sigma  \mid  \sigma  \in  \llbracket  P \rrbracket _\text {CT} \}\\
  \llbracket  \sum _{i \in  I} P_i \rrbracket _\text {CT} &amp; = &amp; \bigcup _{i \in  I} \llbracket  P_i \rrbracket _\text {CT} \\
  \llbracket  P|Q \rrbracket _\text {CT} &amp; = &amp; \bigcup _{\sigma  \in  \llbracket  P \rrbracket _\text {CT}} \bigcup _{\rho  \in  \llbracket  Q \rrbracket _\text {CT}} \sigma  \bowtie  \rho  \\
  \llbracket  P \setminus  \alpha  \rrbracket _\text {CT} &amp; = &amp; \{ \sigma  \in  \llbracket  P \rrbracket _\text {CT} \mid  \alpha  \notin  \sigma  \land  \overline {\alpha } \notin  \sigma  \} \\
    \llbracket  P [ f ] \rrbracket _\text {CT} &amp; = &amp; \{ \hat {f}(\sigma ) \mid  \sigma  \in  \llbracket  P \rrbracket _\text {CT} \}
  \end {array}
</span><p
xmlns:html="http://www.w3.org/1999/xhtml">The trace merge operator <span
class="katex-math"
data-display="inline"
data-tex="\bowtie ">\bowtie </span> is defined exactly as in the <span
class="link local"><a
href="/forest/pa-0003">partial trace semantics</a></span>. </p></section><section
class="block hide-metadata numbered"
data-taxon="Theorem"><header><h4>Soundness and adequacy of finite completed trace semantics for CCS</h4></header><p
xmlns:html="http://www.w3.org/1999/xhtml">The <span
class="link local"><a
href="/forest/dt-0007">finite completed trace semantics of CCS</a></span> gives exactly those finite partial traces reachable via the <span
class="link local"><a
href="/forest/dt-0002">operational semantics</a></span> that end in a <span
class="link local"><a
href="/forest/pa-0006">terminating state</a></span>.</p><span
class="katex-math"
data-display="block"
data-tex="\llbracket  P \rrbracket _\text {CT} = \{ \sigma  \mid  \exists  Q.\ P \xrightarrow {\sigma }^\ast  Q \land  Q \checkmark  \} ">\llbracket  P \rrbracket _\text {CT} = \{ \sigma  \mid  \exists  Q.\ P \xrightarrow {\sigma }^\ast  Q \land  Q \checkmark  \} </span>


<section
class="block hide-metadata"
data-taxon="Proof">
  <p
xmlns:html="http://www.w3.org/1999/xhtml">Proved by induction on <span
class="katex-math"
data-display="inline"
data-tex="P">P</span>.</p>
</section></section><section
class="block hide-metadata numbered"
data-taxon="Definition"><header><h4>A translation to turn partial traces into completed traces</h4></header><p
xmlns:html="http://www.w3.org/1999/xhtml">Define a syntactic transformation on <span
class="link local"><a
href="/forest/pa-0001">CCS terms</a></span> (augmented with <span
class="katex-math"
data-display="inline"
data-tex="\textbf {1}">\textbf {1}</span>) <span
class="katex-math"
data-display="inline"
data-tex="\Upsilon ">\Upsilon </span> as follows:</p><span
class="katex-math"
data-display="block"
data-tex="\begin {array}{lcl}
\Upsilon (\textbf {0}) &amp;=&amp; \textbf {1} \\
\Upsilon (\textbf {1}) &amp;=&amp; \textbf {1} \\
\Upsilon (a.P) &amp;=&amp; \textbf {1} + a.\Upsilon (P) \\
\Upsilon (\sum _{i \in  I} P_i) &amp;=&amp; \textbf {1} + \sum _{i \in  I} \Upsilon (P_i) \\
\Upsilon (P | Q) &amp;=&amp; \Upsilon (P) | \Upsilon (Q)\\
\Upsilon (P \setminus  \alpha ) &amp;=&amp; \Upsilon (P) \setminus  \alpha  \\
\Upsilon (P [ f ]) &amp;=&amp; \Upsilon (P) [ f ]
\end {array}">\begin {array}{lcl}
\Upsilon (\textbf {0}) &amp;=&amp; \textbf {1} \\
\Upsilon (\textbf {1}) &amp;=&amp; \textbf {1} \\
\Upsilon (a.P) &amp;=&amp; \textbf {1} + a.\Upsilon (P) \\
\Upsilon (\sum _{i \in  I} P_i) &amp;=&amp; \textbf {1} + \sum _{i \in  I} \Upsilon (P_i) \\
\Upsilon (P | Q) &amp;=&amp; \Upsilon (P) | \Upsilon (Q)\\
\Upsilon (P \setminus  \alpha ) &amp;=&amp; \Upsilon (P) \setminus  \alpha  \\
\Upsilon (P [ f ]) &amp;=&amp; \Upsilon (P) [ f ]
\end {array}</span></section><section
class="block hide-metadata numbered"
data-taxon="Theorem"><header><h4>Correctness of the <span
class="katex-math"
data-display="inline"
data-tex="\Upsilon ">\Upsilon </span> translation</h4></header><p
xmlns:html="http://www.w3.org/1999/xhtml">Our syntactic transformation <span
class="katex-math"
data-display="inline"
data-tex="\Upsilon ">\Upsilon </span> gives a process whose <span
class="link local"><a
href="/forest/pa-0007">completed traces</a></span> are the same as the <span
class="link local"><a
href="/forest/pa-0003">partial traces</a></span> of the original process.</p><span
class="katex-math"
data-display="block"
data-tex="\llbracket  P \rrbracket _\text {PT} = \llbracket  \Upsilon (P) \rrbracket _\text {CT}">\llbracket  P \rrbracket _\text {PT} = \llbracket  \Upsilon (P) \rrbracket _\text {CT}</span>


<section
class="block hide-metadata"
data-taxon="Proof">
  <p
xmlns:html="http://www.w3.org/1999/xhtml">A very straightforward structural induction on <span
class="katex-math"
data-display="inline"
data-tex="P">P</span>, where each case follows from the definitions.</p></section></section></section></section><section
class="block hide-metadata numbered"><header><h2>The Dark Night of Mathematics</h2></header><p
xmlns:html="http://www.w3.org/1999/xhtml">
You know the drill by now. Another article I read about the damage LLMs are doing to our intellectual pursuits. This is a deeply personal reflection from a mathematician, Kirwin Hampshire: <span
class="link external"><a
href="https://substack.com/home/post/p-208406391">The Dark Night of Mathematics</a></span>.</p>
  <blockquote
xmlns:html="http://www.w3.org/1999/xhtml">There is nothing I can do. There may be nothing you can do. I have no prescriptions, policy recommendations, or coherent call to action. I just want to be honest and open about my emotional and spiritual response. I want to feel seen. I want folks like me to feel seen. I need the architects of our new mathematical paradigm to look me in the eye and acknowledge our shared humanity and soul before they deliver the coup de grâce. I need, most of all, for us to understand what we are <em>really</em> doing.</blockquote>
</section><section
class="block hide-metadata numbered"><header><h2>10th Sunday after Pentecost 2026</h2></header>
  <blockquote
xmlns:html="http://www.w3.org/1999/xhtml">
Deus in adiutórium meum inténde: Dómine ad adiuvándum me festína: confundántur et revereántur inimíci mei, qui quærunt ánimam meam.
</blockquote>
<p
xmlns:html="http://www.w3.org/1999/xhtml">I was once again the director of our choir at <span
class="link external"><a
href="https://allsaintsainslie.org.au/">All Saints Ainslie</a></span>, for the special <em>Missing Persons Sunday</em> today, with representatives from the Australian Federal Police present to offer special reflections and awareness about those who are missing in our territory and support their loved ones, many of whom were in attendance. We performed Rachmaninoff's <span
class="link external"><a
href="https://www.youtube.com/watch?v=InMhSNBlIg8">Bogoroditse Devo</a></span>:</p>
  <blockquote
xmlns:html="http://www.w3.org/1999/xhtml">
  
  <table>
    
  <tr>
    
  <td>Богородице Дево, радуйся,</td>

    
  <td>Rejoice, virgin mother of God,</td>

    </tr>

  <tr>
    
  <td>Благодатная Марие, Господь с тобою.</td>

    
  <td>Mary, full of grace, the Lord is with you.</td>

    </tr>

  <tr>
    
  <td>Благословена ты в женах,</td>

    
  <td>Blessed are you among women,</td>

  </tr>

  <tr>
    
  <td>и благословен плод чрева твоего,</td>

    
  <td>and blessed is the fruit of your womb,</td>

  </tr>

  <tr>
    
  <td>яко Спаса родила еси душ наших. </td>

    
  <td>for you have borne the Saviour of our souls. </td>

  </tr>

  </table>

</blockquote>
</section></div></content></entry><entry><title>Weeknotes 2026-W30</title><published>2026-07-27T00:00:00Z</published><updated>2026-07-27T00:00:00Z</updated><author><name>Liam O'Connor</name><uri>https://liamoc.net/forest/liamoc/</uri></author><link
rel="alternate"
type="text/html"
href="https://liamoc.net/forest/2026-W30/" /><id>https://liamoc.net/forest/2026-W30/</id><content
type="xhtml"><div
xmlns="http://www.w3.org/1999/xhtml"><p
xmlns:html="http://www.w3.org/1999/xhtml">This weeknotes is a day late, but it's good to be back in the swing of things.</p><figure
xmlns:html="http://www.w3.org/1999/xhtml"><img
loading="lazy"
width="280px"
src="/forest/bafkyrzacibd3jldcbvywqetxoiecl2ayfafemibge2c5ya5bltjetnlgnz33c2kqjwmox5mfwcfssctmhccndeg7odn56lhlcp3fwnenfs3xfq3l.jpeg" /><img
loading="lazy"
width="280px"
src="/forest/bafkyrzacicfvbarvs4yveqvo2zojtbalrhtraun4dtl7cq4cfyazevu5ibbgfr6o4motictvvveuosrzflrifoqbwb3ix366huzuc5jzmcnuufot.jpeg" /><img
loading="lazy"
width="280px"
src="/forest/bafkyrzacic5ssappguoquz7g3consyjaw2wghjtelj5l7i4pqdn2v3gkbdrklktc4lsqq36skv4ffn5vy5h2ltho36wafye422jgv6atvutfltob.jpeg" /><figcaption>The crisp clear winter days in Canberra.</figcaption></figure><section
class="block hide-metadata numbered"><header><h2>Progress on the LTP notes</h2></header><p
xmlns:html="http://www.w3.org/1999/xhtml">I've begun adding more to the material in my research notes on <span
class="link local"><a
href="/forest/ltp-0001">linear temporal properties</a></span>. We've now covered the "top diamond" described in <span
class="link local"><a
href="/forest/loc-004R">my note</a></span> about my work with <span
class="link local"><a
href="/forest/kaiphan">Kai Phan</a></span>. Hope to add more this week!</p></section><section
class="block hide-metadata numbered"><header><h2>9th Sunday after Pentecost 2026</h2></header>
  <blockquote
xmlns:html="http://www.w3.org/1999/xhtml">
Deus in loco sancto suo: Deus, qui inhabitáre facit unánimes in domo: ipse dabit virtútem et fortitúdinem plebi suæ.
</blockquote>
<p
xmlns:html="http://www.w3.org/1999/xhtml">I was once again the director of our choir at <span
class="link external"><a
href="https://allsaintsainslie.org.au/">All Saints Ainslie</a></span>, where we sang two anthems to a packed house: there were fourteen confirmees, and the bishop (and primate of Australia) came to
  induct them into the church. Our choir sang a favourite of mine, Lloyd's <span
class="link external"><a
href="https://www.youtube.com/watch?v=n4XdIWfdmlo">View Me, Lord</a></span>, a lovely poem from Thomas Campion:</p>
  <blockquote
xmlns:html="http://www.w3.org/1999/xhtml">
  <table
style="text-align: left">
    <tr><td>View me, Lord, a work of thine.</td></tr>
    <tr><td>Shall I then lie drown'd in night?</td></tr>
    <tr><td>Might thy grace in me but shine,</td></tr>
    <tr><td>I should seem made all of light.</td></tr>
    <tr><td><br /></td></tr>
    <tr><td>Cleanse me, Lord, that I may kneel</td></tr>
    <tr><td>At thine altar, pure and white.</td></tr>
    <tr><td>They that once thy mercies feel</td></tr>
    <tr><td>gaze no more on Earth's delight.</td></tr>
    <tr><td><br /></td></tr>
    <tr><td>Worldly joys, like shadows, fade</td></tr>
    <tr><td>When the heav'nly light appears;</td></tr>
    <tr><td>But the cov'nants thou hast made,</td></tr>
    <tr><td>Endless, know not days nor years.</td></tr>
    <tr><td><br /> </td></tr>
    <tr><td>In thy word, Lord, is my trust;</td></tr>
    <tr><td>To thy mercies fast I fly.</td></tr>
    <tr><td>Though I am but clay and dust,</td></tr>
    <tr><td>Yet thy grace can lift me high.</td></tr>
  </table>
</blockquote>
<p
xmlns:html="http://www.w3.org/1999/xhtml">As well as Tallis' <span
class="link external"><a
href="https://www.youtube.com/watch?v=eqt005j1dB0">If ye love me</a></span>, which, at least in my edition, was in the exact same key.</p>
  <blockquote
xmlns:html="http://www.w3.org/1999/xhtml">
  <table
style="text-align: left">
    <tr><td>If ye love me, keep my commandments.</td></tr>
    <tr><td>And I will pray the Father,</td></tr>
    <tr><td>And He shall give you another comforter:</td></tr>
    <tr><td>That He may bide with you forever, e'en the Spirit of Truth.</td></tr>
  </table>
</blockquote>
<p
xmlns:html="http://www.w3.org/1999/xhtml">I also directed us for evensong, where we sang a mostly plainchant evensong, along with Stainer's <span
class="link external"><a
href="https://www.youtube.com/watch?v=hYmHdJJAyeA">Hail, Gladdening Light</a></span> as usual, plus Vaughan Williams' <span
class="link external"><a
href="https://www.youtube.com/watch?v=jg9QZ_Jeqqo">The Call</a></span> as an anthem (with solo verse sung by yours truly), from his settings
of George Herbert poems, the Five Mystical Songs.</p>
  <blockquote
xmlns:html="http://www.w3.org/1999/xhtml"><table
style="text-align: left">
<tr><td>Come, my Way, my Truth, my Life;</td></tr>
<tr><td>Such a Way as gives us breath,</td></tr>
<tr><td>Such a Truth as ends all strife,</td></tr>
<tr><td>Such a Life as killeth death.</td></tr>
<tr><td><br /></td></tr>
<tr><td>Come, my Light, my Feast, my Strength;</td></tr>
<tr><td>Such a Light as shows a Feast,</td></tr>
<tr><td>Such a Feast as mends in length,</td></tr>
<tr><td>Such a Strength as makes his guest.</td></tr>
<tr><td><br /></td></tr>
<tr><td>Come, my Joy, my Love, my Heart;</td></tr>
<tr><td>Such a Joy as none can move,</td></tr>
<tr><td>Such a Love as none can part,</td></tr>
<tr><td>Such a Heart as joys in love.</td></tr>
</table></blockquote>
</section></div></content></entry><entry><title>Weeknotes 2026-W29</title><published>2026-07-19T00:00:00Z</published><updated>2026-07-19T00:00:00Z</updated><author><name>Liam O'Connor</name><uri>https://liamoc.net/forest/liamoc/</uri></author><link
rel="alternate"
type="text/html"
href="https://liamoc.net/forest/2026-W29/" /><id>https://liamoc.net/forest/2026-W29/</id><content
type="xhtml"><div
xmlns="http://www.w3.org/1999/xhtml"><p
xmlns:html="http://www.w3.org/1999/xhtml">This weeknotes covers three weeks, but I have only a little to report, as I was travelling in Sydney with my in-laws.</p><figure
xmlns:html="http://www.w3.org/1999/xhtml"><img
loading="lazy"
width="480px"
src="/forest/bafkyrzacidjkzegams6e64tjfxdm6bvglslblzcgg5onvwto3r4ivgx2ddwxdiwrfdv2j25rcdwq3krf3l25as27emgkgxomtobruoodp7fbtxtn.jpeg" /><img
loading="lazy"
width="480px"
src="/forest/bafkyrzacibcxajs4sruioo3t4yegc4jcboil2aiyjmzsbalazge4rqmpnxeww6t2pskvotxla2h5c5srpkrn3saafsv5fcb45jbxtirjolcj2x2k.jpeg" /><img
loading="lazy"
width="480px"
src="/forest/bafkyrzacicemugygd2kyruhbcytmosghigmc4idmzuhtm6gpyviu5wn2koeycz7rdnnw3toezapk6xsmfvs6qp2525jgt2watrc64rvr57cdlrwp.jpeg" /><figcaption>Some sights of Sydney.</figcaption></figure><section
class="block hide-metadata numbered"><header><h2>Good SELT results for <span
class="link local"><a
href="/forest/COMP1110">Structured Programming</a></span></h2></header><p
xmlns:html="http://www.w3.org/1999/xhtml">We got back our student experience evaluations for our teaching in semester one. I'm pleased to report that I managed to bring <span
class="link local"><a
href="/forest/COMP1110">Structured Programming</a></span> from being one of the most unpopular courses in the university to one of the more liked, with 83%
    of respondents giving the thumbs up to the course and 95%
    to my teaching specifically, and no negative ratings. In particular, I was pleased that 100%
    of respondents indicated that I "treat students with respect".</p><p
xmlns:html="http://www.w3.org/1999/xhtml">I particularly was glad to read this comment:</p>
  <blockquote
xmlns:html="http://www.w3.org/1999/xhtml">
Liam is an excellent communicator, educator, and convenor. He consistently takes time after his lectures to answer student questions and support them with the course content. His live coding is impressive, and he battles through IT issues without losing it, which is impressive in it's own right. His lectures are engaging and for those who attend I believe it to be an excellent learning experience. By doing crowd informed live coding he engages each of us in the process of solving the problem the first time, while he demonstrates the new concept. This leaves you feeling like you CAN do it. That the new concept isn't so alien, because you saw all the steps to build it. This is a huge confidence booster going into the lab, as now this is the second time you are trying to implement the concept, alone this time. He was quick to address student concerns on the forum and consistently asking students for feedback and suggested improvements.  He showed genuine concern in the students that were struggling in the midsemester exams and adapted the course for their expressed needs. He is an excellent educator and I hope to take more of his classes in the future.</blockquote>
</section><section
class="block hide-metadata numbered"><header><h2>ANU Logic Summer School 2026</h2></header><p
xmlns:html="http://www.w3.org/1999/xhtml">
  The <span
class="link local"><a
href="/forest/anu">ANU</a></span> Logic Summer School is back again this year, and I will once again teach my <span
class="link local"><a
href="/forest/isa-0001">ITP course</a></span>. The timetable is not yet finalised, but I will likely not have to teach it all over two days as I did last year, which is a relief. It will likely run in the early days of December.
</p><p
xmlns:html="http://www.w3.org/1999/xhtml"> 
  If you or your students have an interest in logic or verification, please consider sending your students! We also have some limited scholarships available.
</p></section><section
class="block hide-metadata numbered"><header><h2>Sixth Sunday after Pentecost 2026</h2></header>
  <blockquote
xmlns:html="http://www.w3.org/1999/xhtml">
Dóminus fortitúdo plebis suæ, et protéctor salutárium Christi sui est: salvum fac pópulum tuum, Domine, et bénedic hereditáti tuæ, et rege eos usque in sæculum.
</blockquote>
<p
xmlns:html="http://www.w3.org/1999/xhtml">Today I didn't attend my usual <span
class="link external"><a
href="https://allsaintsainslie.org.au/">All Saints Ainslie</a></span> as I was visiting Sydney, so I attended <span
class="link external"><a
href="https://ccsl.org.au/">Christ Church St. Laurence</a></span> instead. The choir was mens voices who sang the gregorian mass setting <em>cum jubilo</em> as well as <span
class="link external"><a
href="https://www.youtube.com/watch?v=GSvXGIrPYQ8">The Call</a></span> by Ralph Vaughan Williams, a setting of a poem by Herbert:</p>
  <blockquote
xmlns:html="http://www.w3.org/1999/xhtml">
  <table
style="text-align: left">
    <tr><td>Come, my Way, my Truth, my Life:</td></tr>
    <tr><td>Such a Way, as gives us breath:</td></tr>
    <tr><td>Such a Truth, as ends all strife:</td></tr>
    <tr><td>Such a Life, as killeth death.</td></tr>
    <tr><td><br /></td></tr>
    <tr><td>Come, My Light, my Feast, my Strength:</td></tr>
    <tr><td>Such a Light, as shows a feast:</td></tr>
    <tr><td>Such a Feast, as mends in length:</td></tr>
    <tr><td>Such a Strength, as makes his guest.</td></tr>
    <tr><td><br /></td></tr>
    <tr><td>Come, my Joy, my Love, my Heart:</td></tr>
    <tr><td>Such a Joy, as none can move:</td></tr>
    <tr><td>Such a Love, as none can part:</td></tr>
    <tr><td>Such a Heart, as joys in love.  </td></tr></table>
</blockquote>
<p
xmlns:html="http://www.w3.org/1999/xhtml">It was a very restorative service, even for my (Buddhist) in-laws. I believe that my usual choir performed "Thee we adore" by T. Frederick H. Candlyn in my absence, an arrangement of <em>adoro te devote</em>.</p></section><section
class="block hide-metadata numbered"><header><h2>Seventh Sunday after Pentecost 2026</h2></header>
  <blockquote
xmlns:html="http://www.w3.org/1999/xhtml">
Omnes gentes, pláudite mánibus, iubiláte Deo in voce exsultatiónis. Quóniam Dóminus excélsus, terríbilis: Rex mangus super omnem terram.
</blockquote>
<p
xmlns:html="http://www.w3.org/1999/xhtml">Today we were in light numbers at <span
class="link external"><a
href="https://allsaintsainslie.org.au/">All Saints Ainslie</a></span> but still pulled off a solid performance of How's <span
class="link external"><a
href="https://www.youtube.com/watch?v=Ro16TEogDG4">Day by Day</a></span></p>
  <blockquote
xmlns:html="http://www.w3.org/1999/xhtml">
  <table
style="text-align: left">
    <tr><td>Day by day, dear Lord,</td></tr>
<tr><td>of thee three things I pray;</td></tr>
<tr><td>to see thee more clearly,</td></tr>
<tr><td>to love thee more dearly,</td></tr>
<tr><td>to follow thee more nearly,</td></tr>
<tr><td>day by day.</td></tr>
</table>
</blockquote>
<p
xmlns:html="http://www.w3.org/1999/xhtml">This service included the baptism of many children all from the same family, so it was a rather special service in that respect. Later in the month we will have a confirmation service with fourteen (14!) confirmees, which is a promising sign for the health of the parish.</p></section><section
class="block hide-metadata numbered"><header><h2>Feast of St. James 2026</h2></header>
  <blockquote
xmlns:html="http://www.w3.org/1999/xhtml">
Ego autem sicut olíva fructificávi in domo Dómini, sperávi in misericórdia Dei mei: et exspectábo nomen tuum, quóniam bonum est ante conspéctum sanctórum tuórum.
</blockquote>
<p
xmlns:html="http://www.w3.org/1999/xhtml">As our director has started a UK tour with his secular singing ensemble, I have taken on the job of interim director at <span
class="link external"><a
href="https://allsaintsainslie.org.au/">All Saints Ainslie</a></span>, where we sang today Howell's <span
class="link external"><a
href="https://www.youtube.com/watch?v=gc-DEHAyoTk">My eyes for beauty pine</a></span>:</p>
  <blockquote
xmlns:html="http://www.w3.org/1999/xhtml">
  <table
style="text-align: left">
  <tr><td>My eyes for beauty pine,</td></tr>
  <tr><td>My soul for Goddës grace:</td></tr>
  <tr><td>No other care nor hope is mine, </td></tr>
  <tr><td>To heaven I turn my face. </td></tr>
  <tr><td><br /></td></tr>
  <tr><td>One splendour thence is shed </td></tr>
  <tr><td>From all the stars above : </td></tr>
  <tr><td>'Tis named when God's name is said, </td></tr>
  <tr><td>'Tis Love, 'tis heavenly Love. </td></tr>
  <tr><td><br /></td></tr>
  <tr><td>And every gentle heart, </td></tr>
  <tr><td>That burns with true desire, </td></tr>
  <tr><td>Is lit from eyes that mirror part </td></tr>
  <tr><td>Of that celestial fire. </td></tr>
</table>
</blockquote>
<p
xmlns:html="http://www.w3.org/1999/xhtml">I think they transferred the feast of St. James to today rather than to the following Sunday (which is closer), because they want to focus the service next week on confirmations with the Bishop.</p></section></div></content></entry><entry><title>Weeknotes 2026-W26</title><published>2026-06-28T00:00:00Z</published><updated>2026-06-28T00:00:00Z</updated><author><name>Liam O'Connor</name><uri>https://liamoc.net/forest/liamoc/</uri></author><link
rel="alternate"
type="text/html"
href="https://liamoc.net/forest/2026-W26/" /><id>https://liamoc.net/forest/2026-W26/</id><content
type="xhtml"><div
xmlns="http://www.w3.org/1999/xhtml"><p
xmlns:html="http://www.w3.org/1999/xhtml">I will likely skip next week's weeknotes as I will be in Sydney with my partner's family as they visit Australia. I might have something to post about when I get back.</p><section
class="block hide-metadata numbered"><header><h2>AIs make for adversarial communication</h2></header><p
xmlns:html="http://www.w3.org/1999/xhtml">I quite enjoyed <span
class="link external"><a
href="https://blog.glyph.im/2026/06/adversarial-communication.html">this article</a></span> by Glyph. It pins down quite well what makes me somewhat concerned about the "autoformalisation" hype in the mathematics community. Mathematics has, up to now, considered all communication (beyond obvious cranks) to have some degree of good faith. The use of LLMs in mathematics have the potential to turn all of mathematics into an adversarial "find the flaw" game. I don't want to participate in an intellectual field like that. </p><p
xmlns:html="http://www.w3.org/1999/xhtml">I know I'm becoming a <span
class="link local"><a
href="/forest/loc-003L">broken record</a></span> in collecting anti-LLM articles and talking points, but it really is an <span
class="link local"><a
href="/forest/loc-004J">article of faith</a></span> for me.</p></section><section
class="block hide-metadata numbered"><header><h2>Kangaroos at UC</h2></header><p
xmlns:html="http://www.w3.org/1999/xhtml">My partner will be studying at the <span
class="link local"><a
href="/forest/uc">University of Canberra</a></span> so I went on a little tour of their campus with her. There seems to be a mob of Kangaroos (is that the right collective noun?) that lives on the campus there. They are the grey Kangaroos that can be seen elsewhere in Canberra, but that doesn't stop the males from being intimidating both in size and musculature. I was also struck by how small the campus is in terms of buildings for the amount of space it occupies. A much smaller scale operation than the <span
class="link local"><a
href="/forest/anu">Australian National University</a></span> seems to be.</p><figure
xmlns:html="http://www.w3.org/1999/xhtml"><img
loading="lazy"
width="480px"
src="/forest/bafkyrzacia6l62mponmzm2fmao5zvo2xhz6t263th3ngeoenjm4wht5quycokzwloj5yntlu45ewlqq443kb2m2pdosxiqc32oa3pzaxnaftsyrh.jpeg" /><img
loading="lazy"
width="480px"
src="/forest/bafkyrzaciaaeqoy6j3z6xqdlhrkp3qu3366bbup6z3rhutezibsw6rj4faq6wdsdy3tnl2otjmqyvo5hszatxrxqaatk5v6ga7osjqy5rhofwnbf.jpeg" /><img
loading="lazy"
width="480px"
src="/forest/bafkyrzacidzpjkbkwcyp7g2mtpfkfmokrz2igfsdyyolwg7fguicv5wzf5c7rm5em2wyzi3nbnpkuzwfs6hk4qgscf3r7jsgtdh2iwur45ita3f6.jpeg" /><img
loading="lazy"
width="480px"
src="/forest/bafkyrzaciblz632tge4v4qp7d3w23q4ebtnnq464shgg7szrqi22ezbev7exnmhqi6rdoaa7xocett34zdo2a7esef4nvfxoybgolkqrfagbubwl.jpeg" /></figure></section><section
class="block hide-metadata numbered"><header><h2>Feast of St. Peter and St. Paul 2026</h2></header>
  <blockquote
xmlns:html="http://www.w3.org/1999/xhtml">
  NUNC scio vere, quia  misit Dóminus Angelum suum: et erípuit me de manu Heródis, et de omni expectatióne plebis Iudæórum.
</blockquote>
<p
xmlns:html="http://www.w3.org/1999/xhtml">This morning at <span
class="link external"><a
href="https://allsaintsainslie.org.au/">All Saints Ainslie</a></span> I was the cantor for the morning mass, and with a soprano Cindy Chen (who was playing the organ for the other parts of the mass), we sang a 13th century English "gymel" piece, arranged by yours truly (I don't have a recording sadly):</p>
  <blockquote
xmlns:html="http://www.w3.org/1999/xhtml">
  
  <table>
    
  <tr>
    
  <td>Jesu Cristes milde moder stud biheld hire sone o rofe that he was ipined on.</td>

    
  <td>Jesus Christ's mild mother stood and beheld her son on the rood that he was pinned on.</td>

    </tr>

  <tr>
    
  <td>The son heng, the moder stud and biheld hire childes blud wu it of hise wundes ran.</td>

    
  <td>The son hanged, the mother stood, and beheld her child's blood as it from his wounds ran.</td>

    </tr>

  <tr>
    
  <td>Neue blisse he us broute that mankin so dere boute, and for us gaf is dere lif.</td>

    
  <td>New blessings he to us brought, for mankind so dearly bought, and for us gave his dear life.</td>

  </tr>

  <tr>
    
  <td>Glade and blithe thu us make, for thi swete sones sake, edi maiden blisful wif.</td>

    
  <td>Glad and blythe thou us make, for thy sweet son's sake, noble maiden, blessed wife.</td>

  </tr>

  <tr>
    
  <td>Quen of evene for thi blisse lithe al hure sorinesse and went hur yvel al into qud.</td>

    
  <td>Queen of Heaven, for thy blessedness lightens all our sorrows and turns our evil all into good.</td>

  </tr>

  <tr>
    
  <td>Bring hus, moder, to thi sonne, mak hus ever with him wone that hus boute wit this blud.</td>

    
  <td>Bring us, mother, to thy son. Make us ever with him one, that he bought with this blood.</td>

  </tr>

  
  <tr>
    
  <td>Amen.</td>

  <td>Amen.</td>

  </tr>

  </table>

</blockquote>
<p
xmlns:html="http://www.w3.org/1999/xhtml">I returned to the church in the evening for Evensong.  We sang Stainer's <span
class="link external"><a
href="https://www.youtube.com/watch?v=hYmHdJJAyeA">Hail, Gladdening Light</a></span> as usual, as well as Phillip Moore's third service for the <span
class="link external"><a
href="https://www.youtube.com/watch?v=hRN08tkNN_k">Magnificat</a></span> and <span
class="link external"><a
href="https://www.youtube.com/watch?v=KTqucmeGPR4">Nunc Dimittis</a></span>. For anthem, we sang the first of Parry's Songs of Farewell, which we had previously performed at <span
class="link local"><a
href="/forest/loc-004M">our recent concert</a></span>: <span
class="link external"><a
href="https://www.youtube.com/watch?v=F9AacmOZp3g">My soul there is a country</a></span></p>
  <blockquote
xmlns:html="http://www.w3.org/1999/xhtml">
  <table
style="text-align: left">
    <tr><td>My soul, there is a country</td></tr>
    <tr><td>Far beyond the stars,</td></tr>
    <tr><td>Where stands a wingèd sentry</td></tr>
    <tr><td>All skilful in the wars:</td></tr>
    <tr><td><br /></td></tr>
    <tr><td>There, above noise and danger,</td></tr>
    <tr><td>Sweet Peace sits crown'd with smiles,</td></tr>
    <tr><td>And One born in a manger</td></tr>
    <tr><td>Commands the beauteous files.</td></tr>
    <tr><td><br /></td></tr>
    <tr><td>He is thy gracious Friend,</td></tr>
    <tr><td>And—O my soul, awake!—</td></tr>
    <tr><td>Did in pure love descend</td></tr>
    <tr><td>To die here for thy sake.</td></tr>
    <tr><td><br /></td></tr>
    <tr><td>If thou canst get but thither,</td></tr>
    <tr><td>There grows the flower of Peace,</td></tr>
    <tr><td>The Rose that cannot wither,</td></tr>
    <tr><td>Thy fortress, and thy ease.</td></tr>
    <tr><td><br /></td></tr>
    <tr><td>Leave then thy foolish ranges;</td></tr>
    <tr><td>For none can thee secure</td></tr>
    <tr><td>But One who never changes—</td></tr>
    <tr><td>Thy God, thy life, thy cure. </td></tr>
    </table></blockquote>
</section></div></content></entry><entry><title>Weeknotes 2026-W25</title><published>2026-06-21T00:00:00Z</published><updated>2026-06-21T00:00:00Z</updated><author><name>Liam O'Connor</name><uri>https://liamoc.net/forest/liamoc/</uri></author><link
rel="alternate"
type="text/html"
href="https://liamoc.net/forest/2026-W25/" /><id>https://liamoc.net/forest/2026-W25/</id><content
type="xhtml"><div
xmlns="http://www.w3.org/1999/xhtml"><p
xmlns:html="http://www.w3.org/1999/xhtml">I skipped a week of weeknoting, just because I didn't have much to say and I don't want weeknoting to feel like a chore. But there is a fair bit to say this week!</p><figure
xmlns:html="http://www.w3.org/1999/xhtml"><img
loading="lazy"
width="480px"
src="/forest/bafkyrzacicpwbjej66fudqakj2e4dp2b6vnw6zovh5rwbrzcheacz7avjb4pnajj2dminxw6ow2xoaa5hujrrsv2jstv3kit4742vb5vnpx446dz.jpeg" /><img
loading="lazy"
width="480px"
src="/forest/bafkyrzacib2flluj5ug6h4ktu4zqmskcwfizgubuvpfaib4jrfmnj27x6b3sbaqkggbbtzxdcuauf7fy5unb4chc5suykz3gzpot26vubnjaqazc.jpeg" /><figcaption>Another spectacular Canberra sunset.</figcaption></figure><section
class="block hide-metadata numbered"><header><h2>Teaching finished, at last!</h2></header><p
xmlns:html="http://www.w3.org/1999/xhtml">I finished and marked the final exam for <span
class="link local"><a
href="/forest/COMP1110">Structured Programming</a></span> last week. I enjoyed teaching this course but I am very glad it's over. Perhaps surprisingly, considering the <span
class="link local"><a
href="/forest/loc-004B">catastrophic results from my earlier exam</a></span>, but the students in general did alright. Perhaps the poor performance shocked them into action somewhat and they practiced more. I also think I made the final exam a little gentler than the other assessments.</p><p
xmlns:html="http://www.w3.org/1999/xhtml">One thing that I regret doing, and will change in future iterations, is that the homework assignments (which I no longer trust as summative assessment, as they are solvable by LLM) did not have fixed due dates, but instead only recommended due dates before the exam/test for which they served as practice. The actual final due date was just at the end of semester, before the final exam I just marked. The result was, predictably in hindsight, that students didn't do the homework until the last minute, depriving them of the necessary programming practice before the midsession tests. We won't repeat this mistake.</p></section><section
class="block hide-metadata numbered"><header><h2>The monitorability prism</h2></header><p
xmlns:html="http://www.w3.org/1999/xhtml"><span
class="link local"><a
href="/forest/kaiphan">Kai Phan</a></span> has been building on her already <span
class="link local"><a
href="/forest/loc-0046">very impressive result</a></span> to produce a very nice picture of the monitorability landscape. I will present a brief summary of her results here, but eventually they will be incorporated into my <span
class="link local"><a
href="/forest/ltp-0001">research notebook</a></span> on linear-time temporal properties. Mostly, our results concern the space of program <span
class="link local"><a
href="/forest/ltp-0003">properties</a></span> — sets of program <span
class="link local"><a
href="/forest/ltp-0002">behaviours</a></span>.</p><figure
xmlns:html="http://www.w3.org/1999/xhtml"><img
src="/forest/5aa182dd9fb98cf81f01f7302469d7fd.svg"
loading="lazy" /></figure><p
xmlns:html="http://www.w3.org/1999/xhtml">The classes of <span
class="link local"><a
href="/forest/ltp-0004">safety</a></span> and <span
class="link local"><a
href="/forest/ltp-0005">guarantee</a></span> above are the familiar closed and open sets respectively in the <span
class="link local"><a
href="/forest/ltp-0007">topology of program behaviours</a></span>.  In the above diagram, <strong>decision</strong> properties are the clopen sets — those sets that are both <span
class="link local"><a
href="/forest/ltp-0004">Safety properties</a></span> and <span
class="link local"><a
href="/forest/ltp-0005">Guarantee properties</a></span>, and <strong>obligation properties</strong> are, following <span
class="link local"><a
href="/forest/pnueli">Amir Pnueli</a></span>, any boolean combination of closed or open sets.  </p><p
xmlns:html="http://www.w3.org/1999/xhtml">Kai's <span
class="link local"><a
href="/forest/loc-0046">original result</a></span> was to show that all <em>Bauer monitorable</em> properties — that is, all properties for which a monitor can always <em>potentially</em> give an answer — cannot be distinguished from an obligation property by any monitor observing finite prefixes. What she has now done is prove that Bauer monitorable properties are <em>exactly</em> those properties that approximate an obligation property in this way. This led us to re-christen Bauer monitorability as the class of <em>quasi-obligation</em> properties. In a similar way, she has also identified the classes of <em>quasi-safety</em> and <em>quasi-guarantee</em>, which cannot be monitorably distinguished from safety and guarantee properties respectively, and proved that <em>quasi-obligation</em> properties are exactly those that are made up of boolean combinations of these.</p><p
xmlns:html="http://www.w3.org/1999/xhtml">At the bottom of the prism, we have another set of classes. What is commonly called <em>weak monitorability</em> sits at the very bottom — those properties for which there is at least one finite prefix that causes a monitor to give a definitive answer. We also have <em>good monitorability</em> and <em>bad monitorability</em>, which are those properties with at least one <span
class="link local"><a
href="/forest/ltp-000D">good</a></span> or <span
class="link local"><a
href="/forest/ltp-000B">bad</a></span> prefix respectively. It is easy to see that <em>weak monitorability</em> is the union of these classes. (Taking boolean combinations, as in the higher levels of the cube, leads to a trivial class containing all properties).  </p><p
xmlns:html="http://www.w3.org/1999/xhtml">Kai has also now defined CTL characterisations for all of these lower classes, expressed as formulae over monitor trees, which we define reminiscent of <span
class="link local"><a
href="/forest/neilghani">Ghani</a></span>, <span
class="link local"><a
href="/forest/peterhancock">Hancock</a></span> and <span
class="link local"><a
href="/forest/dirkpattinson">Pattinson</a></span>'s <span
class="link local"><a
href="/forest/ghani-hancock-pattinson-2009">stream processors</a></span>. She then showed that the CTL formulae for all of the middle layer classes of the prism are obtained by wrapping the corresponding formula for the class below with <span
class="katex-math"
data-display="inline"
data-tex="\mathbf {AG}">\mathbf {AG}</span>. For example, <em>weak</em> monitorability is defined as <span
class="katex-math"
data-display="inline"
data-tex="\mathbf {EF}\ (\mathit {yes} \lor  \mathit {no})">\mathbf {EF}\ (\mathit {yes} \lor  \mathit {no})</span>, and <em>quasi-obligation</em> is just <span
class="katex-math"
data-display="inline"
data-tex="\mathbf {AG}\ \mathbf {EF}\ (\mathit {yes} \lor  \mathit {no})">\mathbf {AG}\ \mathbf {EF}\ (\mathit {yes} \lor  \mathit {no})</span>. Because of the aforementioned indistinguishability result (and because indistinguishable properties have indentical monitors), it's not possible to write CTL formulae for the top level of the prism, except for Decision properties (clopen sets) which correspond exactly to those monitors described by inductive trees — where all paths eventually terminate with an answer.</p><p
xmlns:html="http://www.w3.org/1999/xhtml">We're aiming to get this into ESOP or FoSSaCS this year. Hoping for the best! I think this is great work.</p></section><section
class="block hide-metadata numbered"><header><h2>Third Sunday after Pentecost 2026</h2></header>
  <blockquote
xmlns:html="http://www.w3.org/1999/xhtml">
Dóminus illuminátio mea, et salus mea, quem timébo? Dóminus defénsor vitæ meæ, a quo trepidábo? Qui tríbulant me inimíci mei, infirmáti sunt, et cecidérunt.<br />
Si iniquitátes observáveris Dómine, Dómine quis sustinébit? Quia apud te propitiátio est, Deus Israel.
</blockquote>
<p
xmlns:html="http://www.w3.org/1999/xhtml">Today at <span
class="link external"><a
href="https://allsaintsainslie.org.au/">All Saints Ainslie</a></span> we sang Palestrina's well-known <span
class="link external"><a
href="https://www.youtube.com/watch?v=dU7k-hiiVjw">Sicut Cervus</a></span>:</p>
  <blockquote
xmlns:html="http://www.w3.org/1999/xhtml">
  
  <table>
    
  <tr>
    
  <td>Sicut cervus desíderat ad fontes aquárum:</td>

    
  <td>Like as the hart desireth the waterbrooks:</td>

    </tr>

  <tr>
    
  <td>ita desíderat ánima mea ad te, Deus.</td>

    
  <td>So longeth my soul after thee, O God.</td>

    </tr>

  </table>

</blockquote>
<p
xmlns:html="http://www.w3.org/1999/xhtml">We didn't make any observation of the Sacred Heart, but that's not entirely unexpected for an Anglican parish, even a relatively spikey one.</p></section><section
class="block hide-metadata numbered"><header><h2>Fourth Sunday after Pentecost 2026</h2></header>
  <blockquote
xmlns:html="http://www.w3.org/1999/xhtml">
Exáudi Dómine vocem meam, qua clamávi ad te: adiútor meus esto, ne derelínquas me neque despícias me, Deus salutáris meus.
</blockquote>
<p
xmlns:html="http://www.w3.org/1999/xhtml">Today at <span
class="link external"><a
href="https://allsaintsainslie.org.au/">All Saints Ainslie</a></span> we were in very reduced numbers — 1 to a part — but we sang Bob Chilcott's <span
class="link external"><a
href="https://www.youtube.com/watch?v=CgURpcfj9ss">God so loved the world</a></span> wonderfully!</p>
  <blockquote
xmlns:html="http://www.w3.org/1999/xhtml">
  <table
style="text-align: left">
    <tr><td>God so loved the world</td></tr>
    <tr><td>That he gave his only-begotten son</td></tr>
    <tr><td>That whoso believeth in him should not perish</td></tr>
    <tr><td>But have everlasting life.</td></tr>
  </table>
</blockquote>
<p
xmlns:html="http://www.w3.org/1999/xhtml">Special thanks to Cindy Chen, our soprano soloist, and Mary-Anne Neilsen for stepping in and playing the organ at the last minute.</p></section></div></content></entry><entry><title>Weeknotes 2026-W23</title><published>2026-06-07T00:00:00Z</published><updated>2026-06-07T00:00:00Z</updated><author><name>Liam O'Connor</name><uri>https://liamoc.net/forest/liamoc/</uri></author><link
rel="alternate"
type="text/html"
href="https://liamoc.net/forest/2026-W23/" /><id>https://liamoc.net/forest/2026-W23/</id><content
type="xhtml"><div
xmlns="http://www.w3.org/1999/xhtml"><p
xmlns:html="http://www.w3.org/1999/xhtml">This week my partner finally was able to move to Australia from Korea. She will be living with me while studying English. Therefore, I was off for most of the week, but I still did have time to attend FMOz26.</p><section
class="block hide-metadata numbered"><header><h2>FMOz 2026</h2></header><p
xmlns:html="http://www.w3.org/1999/xhtml">This week I attended (along with many others from ANU including <span
class="link local"><a
href="/forest/hoefner">Peter Höfner</a></span>, <span
class="link local"><a
href="/forest/alinosher">Ali Nosherwan Hamed</a></span>, <span
class="link local"><a
href="/forest/xinloi">Xin Lu</a></span>, <span
class="link local"><a
href="/forest/kaiphan">Kai Phan</a></span> and <span
class="link local"><a
href="/forest/carloz">Carlo Zancanaro</a></span>) the yearly meeting of Formal Methods researchers in Australia at the <span
class="link local"><a
href="/forest/uq">University of Queensland</a></span>. It was good to hear from colleagues again, and I was very impressed by the size of the group.</p><figure
xmlns:html="http://www.w3.org/1999/xhtml"><img
loading="lazy"
width="180px"
src="/forest/bafkyrzacicdi37knwu4e4m3ybcykmo73v76gdztdbwfwgjetabhqeksegujgxlf6ikpsvnybvkean22jmlc365uvxl4friirhtdarycgycadzrsj.jpeg" /><img
loading="lazy"
width="180px"
src="/forest/bafkyrzacicdoujbyc3ibdare7gxhbu4zfoyu7ryh3bhavn77kpeazk6jonbxgrtpoqxagdhu62g65pr5hjai7kninfe43y26kfj56i7d62wsbcb4.jpeg" /><img
loading="lazy"
width="180px"
src="/forest/bafkyrzacic26ae4xr5ngay7zhi74k2oblvrg4gkkhktkutmx5mkshjk7ck75hcaodyeevudb6j7inkzqzbrzsjlvznodbplbde5m5t3ucvb52ckr.jpeg" /></figure><p
xmlns:html="http://www.w3.org/1999/xhtml"><span
class="link local"><a
href="/forest/hoefner">Peter Höfner</a></span> also presented some of the initial thoughts and work around <span
class="link local"><a
href="/forest/yiyao">Yi Yao</a></span>'s PhD topic, and it was good to help clarify our thinking there. I think I will encourage all of my students not just to attend, but also to speak next year.</p><figure
xmlns:html="http://www.w3.org/1999/xhtml"><img
loading="lazy"
width="320px"
src="/forest/bafkyrzacibnxny2h3jwvmptoxskpu3um2hngnhuxtdhstt3azzjn4bvlb4ebvyfusejl777vz4r7dbqwgs22kr4dux4xt7r4n4uxnmkjnlwhrjn7.jpeg" /><figcaption>The fearless kookaburra of St. Lucia campus.</figcaption></figure><p
xmlns:html="http://www.w3.org/1999/xhtml">We encountered a kookaburra at breakfast that seemed determined to steal people's sausages (swooping right in front of them). This kookaburra seems to have absolutely no fear of humans, so I was able to get very close to take a picture. Eventually we saw it smashing a piece of bread against the table to "kill" it, as they do to lizards and snakes in more natural contexts.</p></section><section
class="block hide-metadata numbered"><header><h2>Concert: To the Soul's Quiet Harbour</h2></header><p
xmlns:html="http://www.w3.org/1999/xhtml">This is a special edition of <span
class="link local"><a
href="/forest/loc-000P">Church Music Corner</a></span> where I share the programme for the second church choir concert of 2026, <em>To the Soul's Quiet Harbour</em>, continuing in the funerial theme established by our <span
class="link local"><a
href="/forest/loc-003R">first concert</a></span>. The student musicians from Burgmann Anglican School joined us at <span
class="link external"><a
href="https://allsaintsainslie.org.au/">All Saints Ainslie</a></span> to perform an afternoon of chamber music to a fairly full house. We sang pretty well despite being lopsided in numbers (I was the only tenor.)</p><p
xmlns:html="http://www.w3.org/1999/xhtml">The main works performed by the choir (interspersed by instrumental performances from Burgmann) were the first four of Parry's <em>Songs of Farewell</em>: <span
class="link external"><a
href="https://www.youtube.com/watch?v=F9AacmOZp3g">My soul, there is a country</a></span>, then <span
class="link external"><a
href="https://www.youtube.com/watch?v=o9tsW2Kgdts">I know my soul hath power</a></span>, then <span
class="link external"><a
href="https://www.youtube.com/watch?v=F5fpVWHeCxk">Never weatherbeaten sail</a></span> and <span
class="link external"><a
href="https://www.youtube.com/watch?v=XNmwIiq0ESY">There is an old belief</a></span>. The last item of the concert was <span
class="link external"><a
href="https://www.youtube.com/watch?v=Yr9O440q998">O How Amiable</a></span> by Ralph Vaughan Williams, which we sung with pipe organ, choir, <em>and</em> instruments. </p><p
xmlns:html="http://www.w3.org/1999/xhtml">I think the concert went rather well. Thanks to all who put the effort in to make it possible, and to everyone that attended!</p></section><section
class="block hide-metadata numbered"><header><h2>Second Sunday after Pentecost 2026</h2></header>
  <blockquote
xmlns:html="http://www.w3.org/1999/xhtml">
Respice in me, et miserére mei, Dómine: quóniam únicus et pauper sum ego: vide humilitátem meam, et labórem meum: et dimíte ómnia peccáta mea, Deus meus.<br />
Cibávit eos ex ádipe fruménti, allelúia, et de petra, melle saturávit eos, allelúia, allelúia, allelúia.
</blockquote>
<p
xmlns:html="http://www.w3.org/1999/xhtml">Today at <span
class="link external"><a
href="https://allsaintsainslie.org.au/">All Saints Ainslie</a></span> we were in few numbers after our <span
class="link local"><a
href="/forest/loc-004M">concert yesterday</a></span> but we still managed to sing Tallis' <span
class="link external"><a
href="https://www.youtube.com/watch?v=KaQ_DRvHqr8">Verily, verily I say unto you</a></span> (link to my own recording I made <span
class="link local"><a
href="/forest/loc-0010">last year</a></span>):</p>
  <blockquote
xmlns:html="http://www.w3.org/1999/xhtml">
  <table
style="text-align: left">
  <tr><td>Verily, verily, I say unto you:</td></tr>
  <tr><td>Except ye eat the flesh of the Son of Man</td></tr>
  <tr><td>and drink his blood, </td></tr>
  <tr><td>ye have no life in you. </td></tr>
  <tr><td /></tr>
  <tr><td>Whoso eateth my flesh, </td></tr>
  <tr><td>And drinketh my blood, </td></tr>
  <tr><td>Hath eternal life. </td></tr>
  <tr><td /></tr>
  <tr><td>For my flesh is meat indeed,</td></tr>
  <tr><td>and my blood is drink indeed, </td></tr>
  <tr><td>He that eateth my flesh and drinketh my blood</td></tr>
  <tr><td>Dwelleth in me, and I in him.</td></tr>
  </table>
</blockquote>
<p
xmlns:html="http://www.w3.org/1999/xhtml">We didn't make any observation of the feast of Corpus Christi which I'm a bit unhappy about (but that's why we have at least got that Tallis anthem programmed).</p></section></div></content></entry><entry><title>Weeknotes 2026-W22</title><published>2026-05-31T00:00:00Z</published><updated>2026-05-31T00:00:00Z</updated><author><name>Liam O'Connor</name><uri>https://liamoc.net/forest/liamoc/</uri></author><link
rel="alternate"
type="text/html"
href="https://liamoc.net/forest/2026-W22/" /><id>https://liamoc.net/forest/2026-W22/</id><content
type="xhtml"><div
xmlns="http://www.w3.org/1999/xhtml"><p
xmlns:html="http://www.w3.org/1999/xhtml">This week I finally wrapped up my teaching obligations for <span
class="link local"><a
href="/forest/COMP1110">Structured Programming</a></span>. Just the final exam left to worry about.</p><figure
xmlns:html="http://www.w3.org/1999/xhtml"><img
loading="lazy"
width="280px"
src="/forest/bafkyrzacichah5bvt5fwfiu4buwrswylsdacr6urbutqnfulaby5gvdj6j2rbqt6yoggrbkrbibfvjd7qt4n66qqyufowisodzvgdxzaafl6kbkl.jpeg" /><img
loading="lazy"
width="280px"
src="/forest/bafkyrzacibszej2tglzaktoien5vhuf73me5hn3uetzhchk5ad5bx7sumux4ynyhdtgj7u7l3jrfao4x5hm6rq6catx4jit26x43ocrwxbdfudt4.jpeg" /><img
loading="lazy"
width="280px"
src="/forest/bafkyrzacidmwljwjxfiszpg332j6gedqkdrmzv3yf7dnkapayq6a4nd353jyz4ym2jzxyreplyjy4jbw3uatjkygsbcqgkjw75uhqjbie3ofyosi.jpeg" /><img
loading="lazy"
width="280px"
src="/forest/bafkyrzacibqgdxleao5qkunvbsw3yzxkowsqfiznimyow64ydppszlcdhaputatyvtf6je5wmkkixnwtvmwagkr6p57hyznfgsr25yoxhlmbdt6a.jpeg" /><figcaption>An afternoon walk home after a wet day.</figcaption></figure><section
class="block hide-metadata numbered"><header><h2>The new papal encyclical</h2></header><p
xmlns:html="http://www.w3.org/1999/xhtml">I have been reading and digesting in pieces the new encyclical from Pope Leo XIV, <span
class="link external"><a
href="https://www.vatican.va/content/leo-xiv/en/encyclicals/documents/20260515-magnifica-humanitas.html">Magnifica Humanitas</a></span>. While in some places I feel it doesn't quite go far enough, and the <span
class="link external"><a
href="https://futurism.com/artificial-intelligence/anthropic-cofounder-vatican-pope-unsettling">Vatican has troubling connections to Anthropic</a></span>, I think that the content of the encylclical itself is very good.</p><p
xmlns:html="http://www.w3.org/1999/xhtml">One of the things that I always believed even while I was an atheist was the infinite worth of human beings. This aspect that underpins much of Catholic social teaching has always been one of the things I agree with, and part of why I find artificial simulacra of human connection, human relationships, human personality or human creativity so offputting and spiritually uncomfortable.</p><p
xmlns:html="http://www.w3.org/1999/xhtml">The Pope's new writing really rams home this foundation of Catholic social teaching with reference to AI. It's not really an encyclical about AI, but rather using the issue of AI to introduce folks to this teaching of the church.</p>
  <blockquote
xmlns:html="http://www.w3.org/1999/xhtml">
There is also the more profound and important level of ontological dignity. This is the dignity that belongs to every human being simply by virtue of existing, of having been willed, created and loved by God. No sin, failure, humiliation or exclusion can diminish the profound value of a human life that God has willed and called into being.</blockquote>
<p
xmlns:html="http://www.w3.org/1999/xhtml">Another aspect of Christianity that I really like is that it embraces love as a relation. We must express and receive love for one another to experience God. Without acknowledging others, embracing and accepting others, and loving others, we cannot be any nearer to God. Simply meditating or looking within oneself may clarify one's thoughts but it cannot bring us to love. Understanding and accepting human life, in all its diversity, including all its joys and difficulties, as something to be loved and experienced rather than suppressed or even transcended is a part of the Christian view, and something that I really appreciate. It seems like Leo agrees: </p>
  <blockquote
xmlns:html="http://www.w3.org/1999/xhtml">Even when limitations are experienced as inner suffering, human wisdom teaches us not to deny or suppress it, but to integrate it. To eliminate suffering entirely would mean, in the end, extinguishing love and desire as well. Those who love and desire cannot avoid passing through trial and suffering; and over the years, we carry within us lessons that leave their mark like scars, the memories of a journey shaped by freedom and failure, dreams and disappointments. It is only thanks to the interplay of these elements that the wonders of the soul occur within us, allowing us to sense the richness of our humanity. To renounce this adventure, both tragic and splendid, in the name of a presumed transcendence of all limits, could mean many things, but it would no longer be human.</blockquote>
<p
xmlns:html="http://www.w3.org/1999/xhtml">He touches on many more topics, and I strongly recommend folks take the time to read it. I'll finish by just quoting one passage that seems to be sending a lot of LLM-poisoned idiots on twitter into a tizzy, despite being obviously correct:</p>
  <blockquote
xmlns:html="http://www.w3.org/1999/xhtml">So-called artificial intelligences do not undergo experiences, do not possess a body, do not feel joy or pain, do not mature through relationships and do not know from within what love, work, friendship or responsibility mean. Nor do they have a moral conscience, since they do not judge good and evil, grasp the ultimate meaning of situations, or bear responsibility for consequences. They may imitate language, behavior and analytical skills, or even simulate empathy and understanding, but they do not understand what they produce, for they lack the affective, relational and spiritual perspective through which human beings grow in wisdom. Even when these tools are described as capable of “learning,” their way of doing so is different from that of a human person. It is not the experience of those who allow themselves to be shaped by life and grow over time through choices, mistakes, forgiveness and fidelity. Rather, it is a form of statistical adaptation based on data and feedback, which can be very effective, but does not imply inner growth.
</blockquote>
</section><section
class="block hide-metadata numbered"><header><h2>Trinity Sunday 2026</h2></header>
  <blockquote
xmlns:html="http://www.w3.org/1999/xhtml">
Benedícta sit sancta Trínitas, atque indivísa Unitas: confitébimur ei, quia fecit nobíscum misericórdiam suam.<br />
Caritas Dei diffúsa est in córdibus nostris, alleluia: per inhabitántem Spíritum eius in nobis, allelúia, allelúia.
</blockquote>
<p
xmlns:html="http://www.w3.org/1999/xhtml">Today at <span
class="link external"><a
href="https://allsaintsainslie.org.au/">All Saints Ainslie</a></span> our choir <em>absolutely nailed</em> the performance of William Byrd's beautiful and heartbreaking setting of <span
class="link external"><a
href="https://www.youtube.com/watch?v=R3vuU7XAaUM">Ave Verum Corpus</a></span></p>
  <blockquote
xmlns:html="http://www.w3.org/1999/xhtml">
  
  <table>
    
  <tr>
    
  <td>Ave verum corpus natum de María Vírgine,</td>

    
  <td>Hail, true body, born of the Virgin Mary,</td>

    </tr>

  <tr>
    
  <td>Vere passum immolátum in cruce pro hómine,</td>

    
  <td>True suffering, sacrificed on the cross for Man,</td>

    </tr>

  <tr>
    
  <td>Cuius latus perforátum unda fluxit sánguine,</td>

    
  <td>From whose pierced side flowed waves of blood,</td>

  </tr>

  <tr>
    
  <td>Esto nobis prægustátum in mortis exámine.</td>

    
  <td>Be for us a foretaste in death's trial.</td>

  </tr>

  <tr>
    
  <td>O dulcis, O pie, O Iesu fili Maríæ,</td>

    
  <td>O sweet! O blessed! O Jesus, son of Mary, </td>

  </tr>

  <tr>
    
  <td>Miserére mei, miserére mei, miserére mei.</td>

    
  <td>Have mercy on me, have mercy on me, have mercy on me. </td>

  </tr>

  </table>

</blockquote>
<p
xmlns:html="http://www.w3.org/1999/xhtml">This Thursday is Corpus Christi, but I'm flying to Brisbane so I won't be able to make any observances this year, and Ainslie doesn't do anything in any case.</p><p
xmlns:html="http://www.w3.org/1999/xhtml">Also, this Saturday our choir is doing a concert with instrumentalists from the Burgmann Anglican School in Gungahlin. </p><span
class="link external"><a
href="https://www.trybooking.com/events/landing/1586855"><img
xmlns:html="http://www.w3.org/1999/xhtml"
loading="lazy"
width="420px"
src="/forest/bafkyrzacidztxq76n3zndtm73hyr4pnfxymxatqlw6repgxpfh6qasvvyqxb55eg4amnoluql3xdmddhxizlq5qtmmg6xqbzpdxlacayc5hjgzv2.jpeg" /></a></span><p
xmlns:html="http://www.w3.org/1999/xhtml">The instrumentalists will perform a variety of pieces interspersing our performance of (the first four of) Parry's Songs of Farewell, finishing with us all performing some Ralph Vaughan Williams.</p><p
xmlns:html="http://www.w3.org/1999/xhtml">Do come down to All Saints Ainslie and support our music fund!</p></section></div></content></entry><entry><title>Weeknotes 2026-W21</title><published>2026-05-25T00:00:00Z</published><updated>2026-05-25T00:00:00Z</updated><author><name>Liam O'Connor</name><uri>https://liamoc.net/forest/liamoc/</uri></author><link
rel="alternate"
type="text/html"
href="https://liamoc.net/forest/2026-W21/" /><id>https://liamoc.net/forest/2026-W21/</id><content
type="xhtml"><div
xmlns="http://www.w3.org/1999/xhtml"><p
xmlns:html="http://www.w3.org/1999/xhtml">The past week went well, although I was very busy preparing four exams (two practice, two final) for <span
class="link local"><a
href="/forest/COMP1110">Structured Programming</a></span>. I'm so glad that's nearly over.</p><section
class="block hide-metadata numbered"><header><h2>Pentecost 2026</h2></header>
  <blockquote
xmlns:html="http://www.w3.org/1999/xhtml">
  Spíritus Dómini replévit orbem terrárum, allelúia: et hoc quod cóntinet ómnia, sciéntiam habet vocis,  allelúia, allelúia, allelúia.
</blockquote>
<p
xmlns:html="http://www.w3.org/1999/xhtml">Today at <span
class="link external"><a
href="https://allsaintsainslie.org.au/">All Saints Ainslie</a></span> the Choir was on for Evensong so our director Alasdair handled the music in the morning with our guest accompanist, Zac Hamilton-Russell. He sang Dering's <em>Duo Seraphim</em> with Zac's partner (whose name I now can't recall, sorry!) who has a lovely soprano voice! I stayed at the church all day reorganising our music, and because Alasdair and Zac had <span
class="link external"><a
href="https://citynews.com.au/2026/alasdair-stretch-blends-art-song-with-sharp-humour/">a recital</a></span> until the late afternoon, I rehearsed and conducted the choir for Evensong. We sang Stainer's <span
class="link external"><a
href="https://www.youtube.com/watch?v=hYmHdJJAyeA">Hail, Gladdening Light</a></span> as usual, as well as Phillip Moore's third service for the <span
class="link external"><a
href="https://www.youtube.com/watch?v=hRN08tkNN_k">Magnificat</a></span> and <span
class="link external"><a
href="https://www.youtube.com/watch?v=KTqucmeGPR4">Nunc Dimittis</a></span>. For anthem, we sang Hurford's <span
class="link external"><a
href="https://www.youtube.com/watch?v=GlfPVysrEnA">Litany to the Holy Spirit</a></span>:</p>
  <blockquote
xmlns:html="http://www.w3.org/1999/xhtml">
    <table
style="text-align: left">
      <tr><td>In the hour of my distress, </td></tr>
      <tr><td>When temptations me oppress, </td></tr>
      <tr><td>And when I my sins confess, </td></tr>
      <tr><td>         Sweet Spirit, comfort me! </td></tr>
      <tr><td><br /></td></tr>
      <tr><td>When I lie within my bed, </td></tr>
      <tr><td>Sick in heart and sick in head, </td></tr>
      <tr><td>And with doubts discomforted, </td></tr>
      <tr><td>         Sweet Spirit, comfort me! </td></tr>
      <tr><td><br /></td></tr>
      <tr><td>When the house doth sigh and weep, </td></tr>
      <tr><td>And the world is drown'd in sleep, </td></tr>
      <tr><td>Yet mine eyes the watch do keep, </td></tr>
      <tr><td>         Sweet Spirit, comfort me!     </td></tr>
    </table>
</blockquote>
<p
xmlns:html="http://www.w3.org/1999/xhtml">It was a bit stressful as I wasn't planning to direct our choir but I did okay I think. </p><p
xmlns:html="http://www.w3.org/1999/xhtml">Also, the sermon by <span
class="link local"><a
href="/forest/obrw">Oliver Brewer-Lennon</a></span> from St. Michael and All Saints was brilliant as usual. He's the only priest whose (usually quite brief!) homilies I actually seek out and listen to, sometimes multiple times. Because my partner was curious, I <span
class="link local"><a
href="/forest/loc-004H">translated it into Korean</a></span>. </p></section><section
class="block hide-metadata numbered"><header><h2>Coro concert reviewed in City News</h2></header><p
xmlns:html="http://www.w3.org/1999/xhtml">Our concert <span
class="link local"><a
href="/forest/loc-0045">Radiant Dawn</a></span> got a nice review in the local Canberra paper City News. You can read it <span
class="link external"><a
href="https://citynews.com.au/2026/choir-traces-an-emotional-path-from-sorrow-to-joy/">here</a></span>. </p><p
xmlns:html="http://www.w3.org/1999/xhtml">Mostly the review recapitulates the programme, but I'm glad that we "sung with emotional intensity and joyful celebration."</p><p
xmlns:html="http://www.w3.org/1999/xhtml">I do agree with the one commenter though:</p>
  <blockquote
xmlns:html="http://www.w3.org/1999/xhtml">
Incredibly disappointing to see the program notes were written with AI.
</blockquote>
<p
xmlns:html="http://www.w3.org/1999/xhtml">I do know how this happened (things were prepared very much at the last minute), but I don't think it's an excuse. I'll have a word with Coro next time we run a concert to make sure this doesn't happen again.</p></section></div></content></entry><entry><title>Weeknotes 2026-W20</title><published>2026-05-17T00:00:00Z</published><updated>2026-05-17T00:00:00Z</updated><author><name>Liam O'Connor</name><uri>https://liamoc.net/forest/liamoc/</uri></author><link
rel="alternate"
type="text/html"
href="https://liamoc.net/forest/2026-W20/" /><id>https://liamoc.net/forest/2026-W20/</id><content
type="xhtml"><div
xmlns="http://www.w3.org/1999/xhtml"><p
xmlns:html="http://www.w3.org/1999/xhtml">This week went well, I think. Still lots to do, but the end is in sight for <span
class="link local"><a
href="/forest/COMP1110">Structured Programming</a></span>.</p><figure
xmlns:html="http://www.w3.org/1999/xhtml"><img
loading="lazy"
width="390px"
src="/forest/bafkyrzacia62fpai3njrqjxniu5yan3f34j333q43al5zepdojbcckfwsb2yccfdbkkcbkic5ccaabi2fmnigxtzxofrgzg5btcz2lgnq3grjdam.jpeg" /><figcaption>Some golden clouds on my walk home.</figcaption></figure><section
class="block hide-metadata numbered"><header><h2>Teaching grant successful</h2></header><p
xmlns:html="http://www.w3.org/1999/xhtml">I'm happy to report that the small grant I applied for with <span
class="link local"><a
href="/forest/cpmpercussion">Charles Martin</a></span> was successful. We will get a few thousand dollars to set up a teaching activity where students will program with <em>punch cards</em> again. </p><p
xmlns:html="http://www.w3.org/1999/xhtml">The key to this approach will be having only <em>one</em> card reading/program executing machine for all students, who must then book computer time just like in the old days of batch processing. I also thing there's something important about the physicality of punching holes in cards that students might appreciate. It's also LLM-proof programming, so there's that.</p></section><section
class="block hide-metadata numbered"><header><h2>Church cleaning bee and a new anthem book</h2></header><p
xmlns:html="http://www.w3.org/1999/xhtml">Today we had a cleaning bee at All Saints Ainslie where we cleaned up the organ loft and choir section of the church. It's a much nicer space to sing in now!</p><p
xmlns:html="http://www.w3.org/1999/xhtml">The choir has accumulated several musical treasures, one of which is an old but still decent edition of the original Church Anthem Book from Oxford, which I was allowed to take home with me. This impression is from 1954, but it was first printed in 1933. The successor book, the New Church Anthem Book, includes many of the same anthems but there are several (now added to my <span
class="link local"><a
href="/forest/loc-002D">Music Index</a></span>) anthems that are new to my collection. </p><figure
xmlns:html="http://www.w3.org/1999/xhtml"><img
loading="lazy"
width="390px"
src="/forest/bafkyrzacia2gt3m47dr7nimgt7jaqvys67tydqprv3i5wr4jdgxnhib6wykhkp7pc6tl5his5za7butajxshukdmtrmlwd63seykyf2b2x673ssk.jpeg" /><figcaption>The Church Anthem Book</figcaption></figure></section><section
class="block hide-metadata numbered"><header><h2>The Ascension of the Lord 2026</h2></header>
  <blockquote
xmlns:html="http://www.w3.org/1999/xhtml">
Viri Galilæi, quid admirámini aspiciéntes in cælum? Allelúia: quemádmodum vidístis eum ascendéntem in cælum, ita véniet, allelúia, allelúia, allelúia. 
</blockquote>
<p
xmlns:html="http://www.w3.org/1999/xhtml">Today at <span
class="link external"><a
href="https://allsaintsainslie.org.au/">All Saints Ainslie</a></span> we sang very well for Isom's <span
class="link external"><a
href="https://www.youtube.com/watch?v=MNs6-lUtYXY">King of all ages</a></span>. I'm a bit disappointed that, unlike <span
class="link local"><a
href="/forest/loc-000U">last year</a></span>, we transferred the feast to the Sunday, though:</p>
  <blockquote
xmlns:html="http://www.w3.org/1999/xhtml">
    <table
style="text-align: left">
      <tr><td>King of all Ages, throned on high,</td></tr>
      <tr><td>Yet saviour too of those with faith,</td></tr>
      <tr><td>Death at your onslaught died in fear,</td></tr>
      <tr><td>And grace triumphant rules supreme.</td></tr>
      <tr><td><br /></td></tr>
      <tr><td>Risen from death, the heav'nly Christ,</td></tr>
      <tr><td>Receives from God the Father's hand,</td></tr>
      <tr><td>Power over all created things,</td></tr>
      <tr><td>A gift he could not know on Earth.</td></tr>
      <tr><td><br /></td></tr>
      <tr><td>Then at your coming on the clouds,</td></tr>
      <tr><td>With shining strength to be our judge,</td></tr>
      <tr><td>Cancel the debt we owe you still,</td></tr>
      <tr><td>Give back the glory we have lost.</td></tr>
      <tr><td><br /></td></tr>
      <tr><td>Glory to you, O Christ our Lord,</td></tr>
      <tr><td>Exalted far beyond our sight,</td></tr>
      <tr><td>Reigning and forevermore,</td></tr>
      <tr><td>with Father and with Paraclete.</td></tr>
    </table>
</blockquote>
</section></div></content></entry><entry><title>Weeknotes 2026-W19</title><published>2026-05-10T00:00:00Z</published><updated>2026-05-10T00:00:00Z</updated><author><name>Liam O'Connor</name><uri>https://liamoc.net/forest/liamoc/</uri></author><link
rel="alternate"
type="text/html"
href="https://liamoc.net/forest/2026-W19/" /><id>https://liamoc.net/forest/2026-W19/</id><content
type="xhtml"><div
xmlns="http://www.w3.org/1999/xhtml"><p
xmlns:html="http://www.w3.org/1999/xhtml">This week was so busy preparing for the Coro concert and dealing with the aftermath of exams.</p><figure
xmlns:html="http://www.w3.org/1999/xhtml"><img
loading="lazy"
width="390px"
src="/forest/bafkyrzacidhns2hrbxbhtyw5kszw6fqxsudrmwcdxali36g2ga7vryxwyrz4mak7eutm4olkladrew7nz2ph6pb4ab7zuuoqwsqg4ydbm2fdublg.jpeg" /><figcaption>A nice view of Black Mountain from Ainslie.</figcaption></figure><section
class="block hide-metadata numbered"><header><h2>Don't try to optimise your life</h2></header><p
xmlns:html="http://www.w3.org/1999/xhtml">I made a <span
class="link external"><a
href="https://types.pl/@liamoc/116544766606217101">post on Mastodon</a></span> that seemingly did numbers.</p>
  <blockquote
xmlns:html="http://www.w3.org/1999/xhtml">I don't know who needs to read this, but: there's value in doing things slowly, in your own way. Trying to maximise efficiency in your life is a fool's errand, and will just hurt you. Take the longer route with the nicer scenery. Write that email by hand instead of asking a bot to do it. Spend some time to read and not just skim. Take your time and cook a nice meal for yourself. Pursue little hobbies, even if you're not good at them. Don't compare yourself to others, don't focus on improving. Just enjoy every activity for itself. Don't let the world convince you that you always have to be optimising yourself. Just be sub-optimal and happy!</blockquote>
<p
xmlns:html="http://www.w3.org/1999/xhtml">The reason I wrote this is because I read a thread on X (the everything app) which made my blood boil somewhat. Academics were saying that the reason they train students rather than just do research themselves with <span
class="link local"><a
href="/forest/loc-003P">dreaded bots</a></span> doing all the legwork is that there's value in the apprenticeship, in training a person. To me, that's a bad argument because it presupposes both that we should be prioritising efficiency above all else (definitely disagree) and that working with AI is more efficient in the long run than working with a student (also disagree but falsifiable).</p></section><section
class="block hide-metadata numbered"><header><h2>Catastrophic result in <span
class="link local"><a
href="/forest/COMP1110">Structured Programming</a></span></h2></header><p
xmlns:html="http://www.w3.org/1999/xhtml">I was devastated earlier this week when I marked the midsemester test for the <span
class="link local"><a
href="/forest/COMP1110">first year course</a></span> I'm teaching at the <span
class="link local"><a
href="/forest/anu">ANU</a></span>. Less than one in five students passed the test, with more than half of submissions showing compile errors when running automatic tests on their code (this is for the <em>second</em> programming course in our programme, mind). My tutors completed the exam (100% correctly) in 25 minutes, and I gave my students 90 minutes.   </p><p
xmlns:html="http://www.w3.org/1999/xhtml">I am fairly confident that this result is not a result of some deep failing on my part — I've taught first year students before with much better results — so I did a little digging to see how much students are engaging with my course. The results were not encouraging. More than half of students had not even started Homework 1, which came out at the beginning of semester (ten weeks ago), and fewer than one in five students had started Homework 2, which was directly intended to prepare them for the very test they failed. I hear reports from my tutors that students have begun education-defeating practices like copying a lab exercise into ChatGPT <em>without even reading it.</em></p><p
xmlns:html="http://www.w3.org/1999/xhtml">This is all a symptom of the broader <span
class="link local"><a
href="/forest/loc-001I">engagement crisis in teaching</a></span> and an overall <span
class="link local"><a
href="/forest/loc-001M">worrying decline in conscientiousness</a></span> that is deeply troubling and bodes poorly for the future. Lecture attendance is extremely low. Usually I get no more than twenty students (out of about one hundred and twenty) in my lecture theatre. Frustratingly, it's precisely those students — the students I can actually reach — that I'm <em>not</em> worried about. When bad results come out like this, a lot of the relatively conscientious but struggling students begin to feel like they should give up and withdraw (and this pressure disproportionally affects under-represented groups such as female students). The rest of the semester has become a delicate morale balancing act where I need to <em>shock</em> students enough to get them to switch their brains on, but avoid demoralising students such that those who have ability but lack confidence are not discouraged.</p><p
xmlns:html="http://www.w3.org/1999/xhtml">I've retooled the remainder of the semester. We're going to do only the essentials in terms of more content. The rest will just be drilling exercises to help them gain the basic study skills they should already have by now. I'm so much more depressed and anxious running my course this way. I hope I can teach a 3rd year elective one day and be somewhat relieved of this.</p></section><section
class="block hide-metadata numbered"><header><h2>First Coro concert finished</h2></header><p
xmlns:html="http://www.w3.org/1999/xhtml">I successfully performed in <span
class="link local"><a
href="/forest/loc-0049">my first concert with Coro</a></span>. I think it went very well, and I saw some familiar faces in the audience (including <span
class="link local"><a
href="/forest/muehlboeck">Fabian Mühlböck</a></span>!). The programme was a very nice (although eclectic) collection of music
spanning centuries. Some of my favourites included Lobo's <span
class="link external"><a
href="https://www.youtube.com/watch?v=fZ_FeBMsIlw">Versa est in luctum</a></span>,  Stravinsky's <span
class="link external"><a
href="https://www.youtube.com/watch?v=Luh-UlFvxEk">Ave Maria</a></span>, the Agnus Dei movements from all of Byrd's Masses, including the <span
class="link external"><a
href="https://www.youtube.com/watch?v=TXvvnypcg6k">Byrd 5</a></span>, and Morten Lauridsen's <span
class="link external"><a
href="https://www.youtube.com/watch?v=tZ-nuU-hda8">O Magnum Mysterium</a></span>. It was a delight to sing with these talented singers and I'm looking forward to our next concert later in the year!  </p></section><section
class="block hide-metadata numbered"><header><h2>6th Sunday of Easter 2026</h2></header>
  <blockquote
xmlns:html="http://www.w3.org/1999/xhtml">
  Vocem iucunditátis annuntiáte, et audiátur, allelúia: nuntiáte usque ad extrémum terræ: liberávit Dóminus pópulum suum, allelúia, allelúia.
</blockquote>
<p
xmlns:html="http://www.w3.org/1999/xhtml">Today at <span
class="link external"><a
href="https://allsaintsainslie.org.au/">All Saints Ainslie</a></span> I conducted a small group for the <span
class="link external"><a
href="https://www.youtube.com/watch?v=PXGKd7-G84Q">Crux Fidelis</a></span> commonly (but almost certainly wrongly) attributed to John IV of Portugal (I took Neale's translation rather than a more direct one): </p>
  <blockquote
xmlns:html="http://www.w3.org/1999/xhtml">
  <table>
  
  <tr>
  <td>Crux fidélis, inter omnes</td>

  <td>Faithful Cross, above all other,</td>
</tr>

  
  <tr>
  <td>Arbor una nóbilis:</td>

  <td>One and only noble tree:</td>
</tr>

  
  <tr>
  <td>Nulla talem silva profert,</td>

  <td>None in foliage, none in blossom,</td>
</tr>

  
  <tr>
  <td>Fronde, flóre, gérmine.</td>

  <td>None in fruit thy peer may be.</td>
</tr>

  
  <tr>
  <td>Dulce lignum, dulci clavo,</td>

  <td>Sweetest wood and sweetest iron,</td>
</tr>

  
  <tr>
  <td>Dulce pondus sústinens.</td>

  <td>Sweetest weight is hung on thee.</td>
</tr>

</table>

</blockquote>
</section></div></content></entry><entry><title>Weeknotes 2026-W18</title><published>2026-05-03T00:00:00Z</published><updated>2026-05-03T00:00:00Z</updated><author><name>Liam O'Connor</name><uri>https://liamoc.net/forest/liamoc/</uri></author><link
rel="alternate"
type="text/html"
href="https://liamoc.net/forest/2026-W18/" /><id>https://liamoc.net/forest/2026-W18/</id><content
type="xhtml"><div
xmlns="http://www.w3.org/1999/xhtml"><p
xmlns:html="http://www.w3.org/1999/xhtml">This week the public holiday on Monday and the running the <span
class="link local"><a
href="/forest/COMP1110">Structured Programming</a></span> exam on Friday meant I had little time for anything else.</p><figure
xmlns:html="http://www.w3.org/1999/xhtml"><img
loading="lazy"
width="290px"
src="/forest/bafkyrzacia7iin6qx54y2nbts2rimvmbgskg5detrybjgysy4pkznxyk4zvkdouydlernwavkjnfcsx2m37vgerrcu4n57xkvombkfxbocgkqf7x.jpeg" /><img
loading="lazy"
width="290px"
src="/forest/bafkyrzacicol6jwnw7jknhjii3o67gyrhnpqmivsfio2mhelcxwlw3banvr7zapy2xukxtvnzr7nslijtu4clekjirzfql4bqc5lalhkjgk5uhrv.jpeg" /><img
loading="lazy"
width="290px"
src="/forest/bafkyrzacid73szka3qrpnhhtk6uh67r2ue7roht4kexdjbuc4kdyy4miwjppewpcwvneamnmufgbca7lu2qn454xv32fnfn4vm63jjjdgzwqt3vf.jpeg" /><img
loading="lazy"
width="290px"
src="/forest/bafkyrzacibwhq34mvaq3hpsap7k37bs2xnckhplczbxg5jlvcs76vn2froji62ottujwmaeliepgzctaix2w4gdnb646dg7qkima2drsa2njlqdt.jpeg" /><figcaption>Enjoying my commute to work rich with 단풍</figcaption></figure><section
class="block hide-metadata numbered"><header><h2>Could I be getting too many PhD students?</h2></header><p
xmlns:html="http://www.w3.org/1999/xhtml">I'm in a bit of a pickle, although I accept it sounds like an academic "first-world problem": I already have three first year PhD students (<span
class="link local"><a
href="/forest/yiyao">Yi</a></span>, <span
class="link local"><a
href="/forest/kaiphan">Kai</a></span> and <span
class="link local"><a
href="/forest/xinloi">Xin</a></span>) that I supervise quite actively. I still have funding for one more international place and I'm currently talking to <em>four</em> additional people who want to do a PhD with me, some of whom are local students so very likely to get funding. The worry is twofold:</p><ol
xmlns:html="http://www.w3.org/1999/xhtml"><li>I'm starting to run out of good topic ideas to help possible students get started on a proposal, and</li>
<li> I don't think I'm capable of supervising many more students, at least not in their first year. Once my existing students are further along it might be easier. </li></ol><p
xmlns:html="http://www.w3.org/1999/xhtml">I am worried that I might have to start turning good people down — although I don't want to. But I fear that if I accept too many students the outcome will be worse for all of us.</p></section><section
class="block hide-metadata numbered"><header><h2>5th Sunday of Easter 2026</h2></header>
  <blockquote
xmlns:html="http://www.w3.org/1999/xhtml">
  Cantáte Dómino cánticum novum, allelúia: quia mirabília fecit Dóminus, allelúia: ante conspéctum géntium revelávit iustítiam suam, allelúia, allelúia.
</blockquote>
<p
xmlns:html="http://www.w3.org/1999/xhtml">Today at <span
class="link external"><a
href="https://allsaintsainslie.org.au/">All Saints Ainslie</a></span> we reprised Goss' anthem <span
class="link external"><a
href="https://www.youtube.com/watch?v=0QLS98Y47Vs">O Saviour of the World</a></span> from our <span
class="link local"><a
href="/forest/loc-003R">concert earlier in the year</a></span>: </p>
  <blockquote
xmlns:html="http://www.w3.org/1999/xhtml"><table
style="text-align: left">
  <tr><td>O Saviour of the world,</td></tr>
  <tr><td>who by thy Cross and precious Blood</td></tr>
  <tr><td>hast redeemed us:</td></tr>
  <tr><td>Save us, and help us,</td></tr>
  <tr><td>we humbly beseech thee, O Lord.</td></tr>
    <tr><td>Amen.</td></tr>
  </table></blockquote>
<p
xmlns:html="http://www.w3.org/1999/xhtml">After that I had a rehearsal with Coro for our upcoming concert, <span
class="link local"><a
href="/forest/loc-0045">Coro Concert: Radiant Dawn</a></span>. Please buy tickets and come along!</p></section></div></content></entry><entry><title>Weeknotes 2026-W17</title><published>2026-04-26T00:00:00Z</published><updated>2026-04-26T00:00:00Z</updated><author><name>Liam O'Connor</name><uri>https://liamoc.net/forest/liamoc/</uri></author><link
rel="alternate"
type="text/html"
href="https://liamoc.net/forest/2026-W17/" /><id>https://liamoc.net/forest/2026-W17/</id><content
type="xhtml"><div
xmlns="http://www.w3.org/1999/xhtml"><p
xmlns:html="http://www.w3.org/1999/xhtml">This week was the first week back teaching, but we are off to a good start, I think.</p><figure
xmlns:html="http://www.w3.org/1999/xhtml"><img
loading="lazy"
width="290px"
src="/forest/bafkyrzacidcqlpopdootqdqzuvyxnyqaexy4zu7fcut3yfadwtyqjom7puhxyf7hdnuufxtktg4gls6hwz3bab7m35t2obn3t7fyxgfwuzthpbsk.jpeg" /><img
loading="lazy"
width="290px"
src="/forest/bafkyrzacicz5ij3ldznfsyt6dkebqlbloapkcufjocn5jsuhyj7myfckxkj2ippvpj5wedmvvklwl7xkhibdfy6aqta735uwiltgprzidmelt6gq.jpeg" /><img
loading="lazy"
width="290px"
src="/forest/bafkyrzacicdq4fcrtt5br72qeobfknmx6ridszwbdrv6nznc7exmvvtr5dpgavyqlgeczzlxs4du6iaivmui6dilgfdr45tssqu7uths6ux6zife.jpeg" /><figcaption>Autumnal sights around Lyneham and Acton.</figcaption></figure><section
class="block hide-metadata numbered"><header><h2>Deep result in monitoring theory</h2></header><p
xmlns:html="http://www.w3.org/1999/xhtml">My student <span
class="link local"><a
href="/forest/kaiphan">Kai Phan</a></span> was absolutely on fire this week. About five times I threw out a few idle conjectures I had, and within hours she'd come back with a proof or a counterexample. We made more progress in one week than I had thinking about this stuff for months.</p><p
xmlns:html="http://www.w3.org/1999/xhtml">It's well known in the world of runtime verification that the class of <em>monitorable</em> properties (by which I mean the definition used by Bauer, where no monitor will get into an "ugly" state where no informative answer is possible) is larger than the set of <span
class="link local"><a
href="/forest/ltp-0004">safety</a></span> or <span
class="link local"><a
href="/forest/ltp-0005">guarantee</a></span> properties, or their boolean combinations (called <em>obligation</em> properties or <span
class="katex-math"
data-display="inline"
data-tex="\Delta _2">\Delta _2</span>).</p><p
xmlns:html="http://www.w3.org/1999/xhtml">What Kai showed recently is that all monitorable properties are indistinguishable by any monitor from an obligation property. This shows that a lot of the monitorability classes we find in the literature are making a distinction from standard sets in <span
class="katex-math"
data-display="inline"
data-tex="\Delta _2">\Delta _2</span> that is <em>only observable at infinity anyway</em>. So the "largeness" of the monitorability classes is illusory, and obligation properties are all you need.</p><p
xmlns:html="http://www.w3.org/1999/xhtml">The proof has been mechanised in Isabelle/HOL, and we have a number of other supporting contributions that I think will make a good paper for POPL or LICS. I'm very proud of Kai's progress so far! I think this result will reinforce her plan for her thesis, which is to semantically tackle <em>revocable</em> monitors (i.e. monitors that can change their mind). Seeing as the difference hierarchy is contained at all finite levels in <span
class="katex-math"
data-display="inline"
data-tex="\Delta _2">\Delta _2</span>, we should have an easy time justifying restricting to <span
class="katex-math"
data-display="inline"
data-tex="\Delta _2">\Delta _2</span> properties now.</p></section><section
class="block hide-metadata numbered"><header><h2>Coro Concert: Radiant Dawn</h2></header><p
xmlns:html="http://www.w3.org/1999/xhtml"><span
class="link local"><a
href="/forest/loc-003G">Coro</a></span>'s concert has now been officially announced. Please <span
class="link external"><a
href="https://www.corocanberra.com/concerts">buy tickets</a></span> as soon as you can! The venue is my usual All Saints Ainslie church so the acoustic is good but seating is limited.</p><figure
xmlns:html="http://www.w3.org/1999/xhtml"><span
class="link external"><a
href="https://www.corocanberra.com/concerts"><img
loading="lazy"
width="450px"
src="/forest/bafkyrzacidufarr3h7j44ehjvokphp4aabnbjzp4myv3l5ahek7euejofxnfqg4edwgxhihqb3kcwih2i3gt3s5mm56a2dl2762563murkpnw7iv.png" /></a></span></figure>
  <blockquote
xmlns:html="http://www.w3.org/1999/xhtml">
  <p>Coro, one of Canberra's leading choral ensembles and two-time Canberra Critics' CIrcle Award recipient, invites audiences to experience Radiant Dawn: From Lamentation to Light, an extraordinary hour of choral music that traces the path from sorrow and supplication to renewal, wonder, and radiant joy.</p>

  <p>This thoughtfully curated program - the ensemble's first for 2026 - brings together masterpieces from the Renaissance and the modern era, revealing how composers across centuries have responded to the deepest human emotions with beauty, faith, and hope.</p>

  <p>Beginning in stillness and grief with three great sacred works of the Renaissance by Handl, Victoria, and Lobo, these works explore mortality, sorrow, and the search for consolation. Yet from darkness emerges hope. William Byrd’s three exquisite settings of the Agnus Dei — for three, four, and five voices — chart a journey from intimate simplicity to glorious fullness of sound. Interwoven are Igor Stravinsky’s luminous Ave Maria and Claude Le Jeune’s joyful Revecy venir du printemps, suggesting grace, renewal, and the first stirrings of life.</p>

<p>At the centre of the evening, and giving the concert its title, stands James MacMillan’s breathtaking O Radiant Dawn, a contemporary choral masterpiece of glowing sonorities and spiritual intensity. </p>

<p>Celebrating life with energy, intimacy and warmth, the afternoon closes with works by Finzi and Chilcott, followed by Morten Lauridsen’s beloved O Magnum Mysterium. </p>

<p>Radiant Dawn: From Lamentation to Light is a concert of striking contrasts and deep emotional resonance — music that journeys through shadow into brilliance, reminding us of the enduring power of the human spirit.</p>
</blockquote>
</section><section
class="block hide-metadata numbered"><header><h2>4th Sunday of Easter 2026</h2></header>
  <blockquote
xmlns:html="http://www.w3.org/1999/xhtml">
  Misericórdia Dómini plena est terra, allelúia: verbo Dei cæli firmáti sunt, allelúia, allelúia.
</blockquote>
<p
xmlns:html="http://www.w3.org/1999/xhtml">Today at <span
class="link external"><a
href="https://allsaintsainslie.org.au/">All Saints Ainslie</a></span> I was planning to sing Dering's Duo Seraphim as a duet with our choir director but he was exhausted and unable to come in for the morning mass, so instead I sang some Gregorian chants, specifically the introit for this Sunday in Latin (text above), the Easter Sequence in English using an older translation I remember from St. Mary's Cathedral (text below), and then the introit for <span
class="link local"><a
href="/forest/loc-0042">last sunday</a></span>: </p>
  <blockquote
xmlns:html="http://www.w3.org/1999/xhtml"><table
style="text-align: left">
  <tr><td>Christians to the Paschal victim offer sacrifice and praise.</td></tr>
  <tr><td>The sheep are ransomed by the Lamb;</td></tr>
  <tr><td>And Christ, the undefiled, hath sinners to his Father reconciled.<br /></td></tr>
  <tr><td>Death and life contended, combat strangely ended:</td></tr>
  <tr><td>Life's own champion slain, yet lives to reign.</td></tr>
  <tr><td>Tell us, Mary, what thou didst see upon the way.<br /></td></tr>
  <tr><td>The tomb the living did enclose, I saw Christ's glory as he rose.</td></tr>
  <tr><td>The angels attesting, shroud with graveclothes resting.</td></tr>
  <tr><td>Christ my hope has risen! He goes before you into Gallilee.<br /></td></tr>
  <tr><td>That Christ is truly risen from the dead we know.</td></tr>
  <tr><td>Victorious King, thy mercy show. Amen. Alleluia.</td></tr>
  </table></blockquote>
<p
xmlns:html="http://www.w3.org/1999/xhtml">After that we had choral evensong for this month, this time directed by our usual director. We sang Stainer's <span
class="link external"><a
href="https://www.youtube.com/watch?v=hYmHdJJAyeA">Hail, Gladdening Light</a></span> as usual, as well as Phillip Moore's third service for the <span
class="link external"><a
href="https://www.youtube.com/watch?v=hRN08tkNN_k">Magnificat</a></span> and <span
class="link external"><a
href="https://www.youtube.com/watch?v=KTqucmeGPR4">Nunc Dimittis</a></span> (it's hard to find good recordings). Because it was the day after Anzac Day, we also sang Daley's <span
class="link external"><a
href="https://www.youtube.com/watch?v=nMES2S1O7Y8">In Remembrance</a></span>.</p>
  <blockquote
xmlns:html="http://www.w3.org/1999/xhtml"><table
style="text-align: left">
  <tr><td>Do not stand at my grave and weep;</td></tr>
  <tr><td>I am not there, I do not sleep:</td></tr>
  <tr><td>I am a thousand winds that blow,</td></tr>
  <tr><td>I am the diamond glint on snow,</td></tr>
  <tr><td>I am the sunlight on ripened grain,</td></tr>
  <tr><td>I am the gentle morning rain.</td></tr>
  <tr><td>And when you wake in the morning's hush,</td></tr>
  <tr><td>I am the sweet uplifting rush</td></tr>
  <tr><td>Of quiet birds in circled flight.</td></tr>
  <tr><td>I am the soft stars that shine at night.</td></tr>
  <tr><td>Do not stand at my grave and cry,</td></tr>
  <tr><td>I am not there, I did not die.</td></tr>
</table>
</blockquote>
</section></div></content></entry><entry><title>Weeknotes 2026-W16</title><published>2026-04-19T00:00:00Z</published><updated>2026-04-19T00:00:00Z</updated><author><name>Liam O'Connor</name><uri>https://liamoc.net/forest/liamoc/</uri></author><link
rel="alternate"
type="text/html"
href="https://liamoc.net/forest/2026-W16/" /><id>https://liamoc.net/forest/2026-W16/</id><content
type="xhtml"><div
xmlns="http://www.w3.org/1999/xhtml"><p
xmlns:html="http://www.w3.org/1999/xhtml">I was a little unwell at the beginning of this week, and extremely busy in the second half, mostly preparing <span
class="link local"><a
href="/forest/COMP1110">Structured Programming</a></span> mid-term tests. Teaching courses is hard work!</p><figure
xmlns:html="http://www.w3.org/1999/xhtml"><img
loading="lazy"
width="290px"
src="/forest/bafkyrzacibx5xkmlivrcrtzp537t7hcspyw4e5x2cqqzkmfnaoaetx7tsm6gxb5o6bpejcya7eju62jxcxrakenlimehmadeaw4wgcf5wbz6lcbg.jpeg" /><img
loading="lazy"
width="290px"
src="/forest/bafkyrzacia2rv3bpzqdt4dpvewajwpcpaln4bkrgx2hq77qhjf3gcx2djqvqybejrq4gmjlm2hbefbeto3nrb7pz2prql2t74mh4zmlljy3mhc4k.jpeg" /><img
loading="lazy"
width="290px"
src="/forest/bafkyrzacibjtao3zrocacgz4njgozqrr2pdldw2zjjupl33am4vya4se7k6qiocphab27bjedrxlgllyqwdso65t5haqz6x5uxr6ut2qrjheveje.jpeg" /><img
loading="lazy"
width="290px"
src="/forest/bafkyrzaciaosvicqzrkftisjfjwv7pzb4zdguvhgs6oprat73ms7wtbe2lokkjeg3wiz5hgipmnbywqyrbqnuekmu3k7ko6odlayi4etprwclrgt.jpeg" /><figcaption>Autumn is coming to Canberra</figcaption></figure><section
class="block hide-metadata numbered"><header><h2>April PhD Monitoring 2026</h2></header><p
xmlns:html="http://www.w3.org/1999/xhtml">Today we had our regular PhD monitoring event, where all students and faculty in the <span
class="link external"><a
href="https://comp.anu.edu.au/join/foundations/">Foundations</a></span> cluster go to a remote location for a day, listen to some talks, and hold interviews with students where we ensure they're well supported. We also try to run some fun activities and get the students socialising with each other. It's always an enjoyable day.</p><figure
xmlns:html="http://www.w3.org/1999/xhtml"><img
loading="lazy"
width="290px"
src="/forest/bafkyrzacibfz7ry2azfep3n7pqrepnwod4nojjj2aqunzdqc4sxoj7bj737auigntktjsnjgy2phnig5np4dvdxljsuovm5lg2ngqoqrqgaenzn6.jpeg" />
  <img
loading="lazy"
width="290px"
src="/forest/bafkyrzacibm5ctudbi4tume2qnria67j5xtariqqtjkswzngccoxvytcqtnl2fhmwqa2idmdnou3bogjoqjrguy3aqusbr3537muugxnmltykgeu.jpeg" /></figure><p
xmlns:html="http://www.w3.org/1999/xhtml">This time we had a fairly packed schedule and many students to get through, so I didn't get any time to play frisbee, although I did take a few nice shots of the landscape around the Cuppacumbalong Homestead where we held our event.</p><figure
xmlns:html="http://www.w3.org/1999/xhtml"><img
loading="lazy"
width="290px"
src="/forest/bafkyrzacibgdni7sunp7m3pemfvvr66patb5zvsxljkp2ntall3synnnrvstrrlckmdzmzigr72fmsfjmnu332m7faktdfsachviewlrw45e6cnx.jpeg" />
  <img
loading="lazy"
width="290px"
src="/forest/bafkyrzacicigz4tq3ymuwuwdb7lb5ouvj4ttins223vd7jo6wyaupbd2cpvxemilsg2kpv3jlutxjx5d7hwaotl3me5clt2sib3kkajngix5xxrh.jpeg" /></figure><p
xmlns:html="http://www.w3.org/1999/xhtml">I met a few students who were new to me and had a few stimulating research discussions, and my students <span
class="link local"><a
href="/forest/kaiphan">Kai Phan</a></span>, <span
class="link local"><a
href="/forest/xinloi">Xin Lu</a></span> and <span
class="link local"><a
href="/forest/yiyao">Yi Yao</a></span> got to know each other and other students a bit better. The day was quite a success, I think.</p></section><section
class="block hide-metadata numbered"><header><h2>3rd Sunday of Easter 2026</h2></header>
  <blockquote
xmlns:html="http://www.w3.org/1999/xhtml">
  Iubiláte Deo omnis terra, allelúia: psalmum dícite nómini eius, allelúia: date glóriam laudi eius, allelúia, allelúia, allelúia. 
</blockquote>
<p
xmlns:html="http://www.w3.org/1999/xhtml">Today at <span
class="link external"><a
href="https://allsaintsainslie.org.au/">All Saints Ainslie</a></span> our director Alasdair was our ad-hoc organist as we sang Mozart's <span
class="link external"><a
href="https://www.youtube.com/watch?v=pscsAvGjQI0">Ave Verum Corpus</a></span>: </p>
  <blockquote
xmlns:html="http://www.w3.org/1999/xhtml">

  <table>
  
  <tr>
    
  <td>
      Ave verum corpus natum de María Vírgine;
    </td>

  <td>Hail, true body, born of the Virgin Mary;</td>

  </tr>

  <tr>
    
  <td>Vere passum, immolátum in cruce pro hómine;
      </td>

    
  <td>True suffering, sacrificed on the cross for Man;</td>

  </tr>

  
  <tr>
  <td>Cuius latus perforátum unda fluxit et sánguine</td>
 
  <td>From whose pierced side flowed waves of blood,</td>
</tr>

  
  <tr>
    
  <td> 
      Esto nobis prægustátum in mortis examine.</td>

    
  <td>Be for us a foretaste in death's trial.</td>

</tr>
</table>

</blockquote>
<p
xmlns:html="http://www.w3.org/1999/xhtml">After the mass I had my first rehearsal for the upcoming <span
class="link external"><a
href="https://www.corocanberra.com/">Coro</a></span> concert. It was very productive. One piece of repertoire that really stuck with me was the Stravinsky <span
class="link external"><a
href="https://www.youtube.com/watch?v=Luh-UlFvxEk">Ave Maria</a></span>, which I'd not heard before.</p></section></div></content></entry><entry><title>Weeknotes 2026-W15</title><published>2026-04-12T00:00:00Z</published><updated>2026-04-12T00:00:00Z</updated><author><name>Liam O'Connor</name><uri>https://liamoc.net/forest/liamoc/</uri></author><link
rel="alternate"
type="text/html"
href="https://liamoc.net/forest/2026-W15/" /><id>https://liamoc.net/forest/2026-W15/</id><content
type="xhtml"><div
xmlns="http://www.w3.org/1999/xhtml"><p
xmlns:html="http://www.w3.org/1999/xhtml">Thankfully this is the first week of semester break, so I was actually able to do a little research work.</p><figure
xmlns:html="http://www.w3.org/1999/xhtml"><img
loading="lazy"
width="480px"
src="/forest/bafkyrzacic74hwt5jgjjue7aeiz2caqgmo3hezkdfckzhvdabfleb5eohlgvowf7qribqhfxht762k35wyxbsoqvwhqyu3l5cyachgn4b63dnkwr.jpg" /><figcaption>All Saints Ainslie in evening silhouette.</figcaption></figure><section
class="block hide-metadata numbered"><header><h2>Progress on linear-temporal properties research notes</h2></header><p
xmlns:html="http://www.w3.org/1999/xhtml">I have made significant additions to my research notes on <span
class="link local"><a
href="/forest/ltp-0001">Linear-time temporal properties</a></span>. Now I have all the relevant content from <span
class="link local"><a
href="/forest/alpern-schneider-1985">Defining Liveness</a></span>, and some of the definitions that will appear in the forthcoming journal paper from me and <span
class="link local"><a
href="/forest/rayhana">Rayhana Amjad</a></span>. This paper finally got reviews back, and we have quite a few things to do but I'm confident we'll get there.</p></section><section
class="block hide-metadata numbered"><header><h2>Holbert-NG status: pluggable terms and tangled</h2></header><p
xmlns:html="http://www.w3.org/1999/xhtml">My students <span
class="link local"><a
href="/forest/miowu">Mio Wu</a></span> and <span
class="link local"><a
href="/forest/joshbrown">Josh Brown</a></span> have been doing some great work on <span
class="link local"><a
href="/forest/loc-000V">the next generation of the Holbert proof assistant</a></span>. In particular, <span
class="link local"><a
href="/forest/joshbrown">Josh</a></span> has now implemented a <em>pluggable</em> term structure, allowing various types of terms, each with their own unification methods and structure definitions, to be combined together in judgements. <span
class="link local"><a
href="/forest/miowu">Mio</a></span> is confident she can generalise his approach to work for higher order terms as well, which is very exciting.</p><p
xmlns:html="http://www.w3.org/1999/xhtml">As part of my general desire to stop using anything that feeds the LLM bots, I am gradually beginning to migrate off of GitHub. Fortunately the Holbert-NG crew are also happy to leave GitHub, so we are going to move to <span
class="link external"><a
href="https://tangled.org/liamoc.net/holbert-ng">tangled</a></span> for the time being. </p><p
xmlns:html="http://www.w3.org/1999/xhtml">I also got the chance to do some programming work myself. Soon we should have a similar proof UI to what the original Holbert has. I think most of the architecture is in place now.</p></section><section
class="block hide-metadata numbered"><header><h2>Low Sunday 2026</h2></header>
  <blockquote
xmlns:html="http://www.w3.org/1999/xhtml">
  Quasi modo géniti infántes, allelúia: rationábile, sine dolo lac concupíscite, allelúia, allelúia, allelúia
</blockquote>
<p
xmlns:html="http://www.w3.org/1999/xhtml">Today at <span
class="link external"><a
href="https://allsaintsainslie.org.au/">All Saints Ainslie</a></span> we had small numbers (I was the only tenor) but sang well for Walford Davies' <span
class="link external"><a
href="https://www.youtube.com/watch?v=jkFUl-jq3sk">Blessed are the pure in heart</a></span>: </p>
  <blockquote
xmlns:html="http://www.w3.org/1999/xhtml">
  <table
style="text-align: left">
    <tr><td>Blessed are the pure in heart,</td></tr>
    <tr><td>For they shall see our God.</td></tr>
    <tr><td>The secret of the Lord is theirs,</td></tr>
    <tr><td>Their soul is Christ's abode.<br /></td></tr>
    <tr><td>Still to the lowly soul</td></tr>
    <tr><td>He doth himself impart,</td></tr>
    <tr><td>And for his dwelling and his throne</td></tr>
    <tr><td>Chooseth the pure in heart.</td></tr>
  </table>
</blockquote>
<p
xmlns:html="http://www.w3.org/1999/xhtml">Unfortunately we were plagued once again with sound system gremlins today. I'm honestly sick of it, the speakers and microphones are always barely working or not working. Apparently fixing it properly would cost tens of thousands of dollars the parish doesn't have. I don't know what can be done, but it's very frustrating.</p></section></div></content></entry><entry><title>Weeknotes 2026-W14</title><published>2026-04-05T00:00:00Z</published><updated>2026-04-05T00:00:00Z</updated><author><name>Liam O'Connor</name><uri>https://liamoc.net/forest/liamoc/</uri></author><link
rel="alternate"
type="text/html"
href="https://liamoc.net/forest/2026-W14/" /><id>https://liamoc.net/forest/2026-W14/</id><content
type="xhtml"><div
xmlns="http://www.w3.org/1999/xhtml"><p
xmlns:html="http://www.w3.org/1999/xhtml">This week was holy week, so I was mostly occupied by church singing. Now I'm thankfully on teaching break, so I might have a chance to get some research work done.</p><figure
xmlns:html="http://www.w3.org/1999/xhtml"><img
loading="lazy"
width="270px"
src="/forest/bafkyrzaciactinaxjp34vywl6nbwyov27yqy4vfls5zdjlxzn3kq44f554bfyhczg6tuhjxzzfqfpgnum7bk2tui3tzudarplkqmzci2rtjlcj67.jpeg" /><img
loading="lazy"
width="270px"
src="/forest/bafkyrzacibotkr536y7lulbq3cvxmivqrgnnbjj43lcupvot4ymin4eha43fylend4ugzr37vbgdhcasptzzp6cdeslhgflekbhqllsgjmf6nbxe.jpeg" /><img
loading="lazy"
width="270px"
src="/forest/bafkyrzacica35e4a7ospfqqdebxftkpq6rvum6owdieal3ipdcqywclo5u3itibb6ryszmthy6n6nn4ulxfzdb4cybexigbem6vbluxwn3xqonwt.jpeg" /><figcaption>Various sights from walking to and from church so often this week.</figcaption></figure><section
class="block hide-metadata numbered"><header><h2>More LLM Griping</h2></header><p
xmlns:html="http://www.w3.org/1999/xhtml">Part of my job as an educator is to create situations where my students will be stressed, they will struggle, they might get frustrated, they might even hate me (although that's rare). My mentor <span
class="link local"><a
href="/forest/kaie">Kai Engelhardt</a></span> said that part of his job was to "torture students". It's a joke of course but there is a kernel of truth there: particularly for learning skills like debugging, there's no better way to learn than by trying to reason your way out of a buggy mess of your own creation. Inflicting this kind of stuff on students is actually kind of essential to education. </p><p
xmlns:html="http://www.w3.org/1999/xhtml">A lot of students these days are totally unused to feeling stuck. I asked my <span
class="link local"><a
href="/forest/COMP1110">Structured Programming</a></span> students who failed my midterm test the other week how they studied. Many of them actually did quite a lot of practice! But the moment they encountered a bug they couldn't immediately fix, they turned to the bots to solve their problem for them. They read and understood what the bot did, and they conflated that with being able to do it themselves.</p><p
xmlns:html="http://www.w3.org/1999/xhtml">Part of the reason <span
class="link local"><a
href="/forest/loc-002O">these bots are hurting education</a></span> because they undercut my ability to inflict (educational, non-excessive) stress on my students. I used to design effective programming courses that would keep the stress levels low enough to avoid demoralising students but high enough that they had to engage and work and learn. Now if stress levels go over a certain (low) threshold, all the work gets done by AI unless it's in an invigilated exam, which I used to avoid because they're stress spikes. I don't have a good solution. Just very unhappy.</p></section><section
class="block hide-metadata numbered"><header><h2>Surprising no one, Claude Code is a pile of vibe-coded garbage slop.</h2></header><p
xmlns:html="http://www.w3.org/1999/xhtml">I found <span
class="link external"><a
href="https://neuromatch.social/@jonny/116324676116121930">this excellent mastodon thread</a></span> where someone was brave enough to have a look at the leaked Claude Code source code. Anthropic proudly boasted that much of Claude Code was written by Claude Code — and it definitely shows, and not in a good way. One of the most atrocious code bases I've ever seen. I guess they anticipate going out of business before they have to maintain this crap. </p></section><section
class="block hide-metadata numbered"><header><h2>Holy Week Feriæ 2026</h2></header>
  <blockquote
xmlns:html="http://www.w3.org/1999/xhtml">Dómine ne longe fácias auxílium tuum a me, ad defensiónem meam áspice: líbera me de ore leónis, et a córnibus unicornuórum humilitátem meam. 
</blockquote>
<p
xmlns:html="http://www.w3.org/1999/xhtml">For the first three ferias of Holy Week, I sang gregorian chants (mostly various lenten introits) for the introit and recessional of our contemplative evening masses at <span
class="link external"><a
href="https://allsaintsainslie.org.au/">All Saints Ainslie</a></span>. On the Wednesday, I was joined by Lynda Tooth on piano and we performed Dowland's <span
class="link external"><a
href="https://www.youtube.com/watch?v=r5wznr0HAnU">In this trembling shadow</a></span>:</p>
  <blockquote
xmlns:html="http://www.w3.org/1999/xhtml"><table
style="text-align: left">
  <tr><td>In this trembling shadow, cast</td></tr>
  <tr><td>From those boughes which thy winds shake</td></tr>
  <tr><td>Farre from humane troubles plac’d</td></tr>
  <tr><td>Songs to the Lord would I make</td></tr>
  <tr><td>Darknesse from my minde then take</td></tr>
  <tr><td>For thy rites none may begin</td></tr>
  <tr><td>Till they feele thy light within.</td></tr>
</table></blockquote>
</section><section
class="block hide-metadata numbered"><header><h2>Paschal Triduum 2026</h2></header>
  <blockquote
xmlns:html="http://www.w3.org/1999/xhtml">Nos autem gloriári opórtet, in cruce Dómini nostri Iesu Christi: in quo est salus, vita et ressuréctio nostra: per quem salváti, et liberáti sumus.
  <br />
  Adorámus te, Christe, et benedícimus tibi, quia per crucem sanctam tuam redemísti mundum.
</blockquote>
<p
xmlns:html="http://www.w3.org/1999/xhtml">The triduum at <span
class="link external"><a
href="https://allsaintsainslie.org.au/">All Saints Ainslie</a></span> consisted just of two main services: the Mass of the Lord's Supper on the Thursday night, followed by the Liturgy of the Passion the following morning. On Thursday we sang <span
class="link external"><a
href="https://www.youtube.com/watch?v=4XL6bI_egk0">I Give You a New Commandment</a></span> by Nardone during the foot washing:</p>
  <blockquote
xmlns:html="http://www.w3.org/1999/xhtml"><table
style="text-align: left">
  <tr><td>I give to you a new commandment;</td></tr>
  <tr><td>A new commandment I give to you:</td></tr>
  <tr><td>That you love one another,</td></tr>
  <tr><td>Love one another as I have loved you.</td></tr>
  <tr><td>(Ubi cáritas et vera, Deus ibi est)</td></tr>
  <tr><td>(Congregávit nos in unum Christi amor)</td></tr>
  <tr><td>(Exultémus et in ipso iucundémur)</td></tr>
  <tr><td>(Timeámus et amémus Deum vivum.)</td></tr>    
  <tr><td>(Et ex corde diligámus nos sincéro.)</td></tr>
  <tr><td>Amen.</td></tr>
  </table>
</blockquote>
<p
xmlns:html="http://www.w3.org/1999/xhtml">As well as Duruflé's <span
class="link external"><a
href="https://www.youtube.com/watch?v=l1BTWCpEFRQ">Ubi Caritas</a></span> during communion, with a very similar but slightly different text:</p>
  <blockquote
xmlns:html="http://www.w3.org/1999/xhtml">
  
  <table>
    
  <tr>
  <td>Ubi cáritas et amor, Deus ibi est.</td>

  <td>Where there is charity and love, there God is.</td>
</tr>

    
  <tr>
  <td>Congregávit nos in unum Christi amor;</td>

  <td>The love of Christ has gathered us as one;</td>
</tr>

    
  <tr>
  <td>Exultémus et in ipso iucundémur;</td>

  <td>Let us then exult and delight in him;</td>
</tr>

    
  <tr>
  <td>Timeámus et amémus Deum vivum,</td>

  <td>Let us fear and love the living God,</td>
</tr>

    
  <tr>
  <td>Et ex corde diligámus nos sincéro.</td>

  <td>And love each other with sincere hearts.</td>
</tr>

    
  <tr>
  <td>Ubi cáritas et amor, Deus ibi est.</td>

  <td>Where there is charity and love, there God is.</td>
</tr>

    
  <tr>
  <td>Amen.</td>

  <td>Amen.</td>
</tr>

  </table>

</blockquote>
<p
xmlns:html="http://www.w3.org/1999/xhtml">We weren't high church enough to do a proper Eucharistic procession, but there was a stripping of the altar afterwards with the recitation of Psalm 22. <span
class="link external"><a
href="https://smas.church/">St. Michael and All Saints</a></span> showed us how it's done with procession, veneration, stripping of the altar, the cleaning of the altar with water and wine, then Fr. <span
class="link local"><a
href="/forest/obrw">Oliver Brewer-Lennon</a></span> dramatically threw aside the brush used to clean the altar, <em>smashed the old Paschal candle on the sanctuary steps</em>, locked shut the sanctuary gates, tied them with his stole, and ran away (cf. <span
class="link external"><a
href="https://www.biblegateway.com/verse/en/Matthew%2026:56">Matthew 26:56</a></span>), plunging the church into darkness.</p><p
xmlns:html="http://www.w3.org/1999/xhtml">The following Good Friday liturgy consisted primarily of the veneration of the Cross and the distribution of the Eucharist which was consecrated the night before. For veneration, we sang first the Victoria <span
class="link external"><a
href="https://www.youtube.com/watch?v=7BT6oMgC7UU">Reproaches</a></span>:</p>
  <blockquote
xmlns:html="http://www.w3.org/1999/xhtml">
  <table
style="text-align: left">
    <tr><td>O my people, what have I done to you?</td></tr>
    <tr><td>Or in what way have I offended you?</td></tr>
    <tr><td>Answer me.</td></tr>
    <tr><td>Ἅγιος ὁ Θεός, Holy God,</td></tr>
    <tr><td>Ἅγιος ἰσχυρός, Holy and Strong,</td></tr>
    <tr><td>Ἅγιος ἀθάνατος, ἐλέησον ἡμᾶς.</td></tr>
    <tr><td>Holy and Immortal One, have mercy upon us.</td></tr>
  </table>
</blockquote>
<p
xmlns:html="http://www.w3.org/1999/xhtml">Then we sang Leighton's <span
class="link external"><a
href="https://www.youtube.com/watch?v=3adowKA4x8g">Solus ad Victimam</a></span>:</p>
  <blockquote
xmlns:html="http://www.w3.org/1999/xhtml">
  <table
style="text-align: left">
    <tr><td>Alone to sacrifice thou goest, Lord,</td></tr>
    <tr><td>Giving thyself to death, whom thou hast slain.</td></tr>
    <tr><td>For us thy wretched folk is any word?</td></tr>
    <tr><td>Who knew that for our sins this is thy pain?</td></tr>
    <tr><td>For they are ours, O Lord, our deeds,</td></tr>
    <tr><td>Why must thou suffer torture for our sins?</td></tr>
    <tr><td>Let our hearts suffer in thy Passion, Lord,</td></tr>
    <tr><td>That very suffering may thy mercy win.</td></tr>
    <tr><td>This is the night of tears, the three days' space.</td></tr>
    <tr><td>Sorrow abiding in the eventide,</td></tr>
    <tr><td>Until the daybreak with the risen Christ,</td></tr>
    <tr><td>And hearts that sorrowed shall be satisfied.</td></tr>
    <tr><td>So may our hearts share in thine anguish, Lord,</td></tr>
    <tr><td>That they may sharers of thy glory be;</td></tr>
    <tr><td>Heavy with weeping may the three days pass,</td></tr>
    <tr><td>To win the laughter of thine Easter Day.</td></tr>
  </table>
</blockquote>
<p
xmlns:html="http://www.w3.org/1999/xhtml">During the distribution of communion we sang <span
class="link external"><a
href="https://www.youtube.com/watch?v=m11B9GuDUmM">O vos omnes</a></span> from Victoria's Tenebræ responsories.</p>
  <blockquote
xmlns:html="http://www.w3.org/1999/xhtml">
  
  <table>
    
  <tr>
  <td>O vos omnes qui tránsitis per viam,</td>

  <td>O all you people that travel by this road,</td>
</tr>

    
  <tr>
  <td>Atténdite et vidéte!</td>

  <td>Look and see</td>
</tr>

    
  <tr>
  <td>Si est dolor símilis, sicut dolor meus.</td>

  <td>Whether there is any sorrow like my sorrow.</td>
</tr>

    
  <tr>
  <td>Atténdite, univérsi pópuli et vidéte dolórem meum</td>

  <td>Look, all you people, and see my anguish.</td>
</tr>

    
  <tr>
  <td>Si est dolor símilis, sicut dolor meus.</td>

  <td>Whether there is any sorrow like my sorrow.</td>
</tr>

  </table>

</blockquote>
</section><section
class="block hide-metadata numbered"><header><h2>Easter 2026</h2></header>
  <blockquote
xmlns:html="http://www.w3.org/1999/xhtml">
  RESURREXI, et adhuc tecum sum, allelúia: posuísti super me manum tuam, allelúia: mirábilis facta est sciéntia tua, allelúia, allelúia.
</blockquote>
<p
xmlns:html="http://www.w3.org/1999/xhtml">For Easter this year the church at <span
class="link external"><a
href="https://allsaintsainslie.org.au/">All Saints Ainslie</a></span> was filled with flowers, which was lovely. We had a vigil service at night followed by a service in the morning. Sadly the Vigil service didn't include a litany, but we sang <span
class="link external"><a
href="https://www.youtube.com/watch?v=KLr12AX7mEs">Holy is the True Light</a></span> at the vigil: </p>
  <blockquote
xmlns:html="http://www.w3.org/1999/xhtml">
  <table
style="text-align: left">
    <tr><td>Holy is the True Light, and passing wonderful,</td></tr>
    <tr><td>Lending radiance to them that endured</td></tr>
    <tr><td>In the heat of the conflict.</td></tr>
    <tr><td>From Christ they inherit a home of unfading splendour,</td></tr>
    <tr><td>Wherein they rejoice with gladness evermore. Alleluia!</td></tr>
  </table>
</blockquote>
<p
xmlns:html="http://www.w3.org/1999/xhtml">We also sang the Easter inaugural Gloria from the <span
class="link external"><a
href="https://www.youtube.com/watch?v=9_YotRZXipY">Darke Mass in F</a></span>, both in the vigil and the Sunday Mass.</p><p
xmlns:html="http://www.w3.org/1999/xhtml">For the Sunday Mass we sang Ouseley's <span
class="link external"><a
href="https://www.youtube.com/watch?v=CnEFkTCOuEE">From the Rising of the Sun</a></span>: </p>
  <blockquote
xmlns:html="http://www.w3.org/1999/xhtml"><table
style="text-align: left">
  <tr><td>From the rising of the sun</td></tr>
  <tr><td>To the going down of the same,</td></tr>
  <tr><td>My Name shall be great among the Gentiles,</td></tr>
  <tr><td>And in ev'ry place incense shall be offer'd up unto my Name:</td></tr>
  <tr><td>For My Name shall be great among the heathen,</td></tr>
  <tr><td>Thus saith the Lord!</td></tr>
</table>
</blockquote>
<p
xmlns:html="http://www.w3.org/1999/xhtml">I was also given the honour and privilege to once again proclaim the resurrection during the vigil, video below. This chant is <span
class="link local"><a
href="/forest/loc-0012">my own version</a></span> by expurgating some bits from the Roman Missal for length. I got a lot of compliments afterwards; although I can detect a few wobbly notes, I think my delivery is improved compared to <span
class="link local"><a
href="/forest/loc-000O">last year</a></span>.</p><iframe
xmlns:html="http://www.w3.org/1999/xhtml"
style="aspect-ratio: 16 / 9;"
width="100%
   "
src="https://www.youtube.com/embed/wXlG2XW6D2U"
title="Easter Proclamation 2026"
frameborder="0"
allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share"
referrerpolicy="strict-origin-when-cross-origin" /></section></div></content></entry><entry><title>Weeknotes 2026-W13</title><published>2026-03-30T00:00:00Z</published><updated>2026-03-30T00:00:00Z</updated><author><name>Liam O'Connor</name><uri>https://liamoc.net/forest/liamoc/</uri></author><link
rel="alternate"
type="text/html"
href="https://liamoc.net/forest/2026-W13/" /><id>https://liamoc.net/forest/2026-W13/</id><content
type="xhtml"><div
xmlns="http://www.w3.org/1999/xhtml"><p
xmlns:html="http://www.w3.org/1999/xhtml">These weeknotes are only one day late this time. I'm getting back on the ball! I don't have much to report this week, although I was very busy: mostly the week was occupied with preparation for the concert and for the ANU Open Day, both of which went successfully on Saturday, as well as the usual <span
class="link local"><a
href="/forest/COMP1110">Structured Programming</a></span> stress.</p><figure
xmlns:html="http://www.w3.org/1999/xhtml"><img
loading="lazy"
width="320px"
src="/forest/bafkyrzacichmnyll3qjirn2wzbyyai7qf6dt6m2l6discbxnk7uaasosyvht4ic3sd7uthykilpj62nr6g2i7fxwbyjfjbpb7hxs4tp7b5f7b5jv.jpeg" /><figcaption>My computers on display for the open day.</figcaption></figure><section
class="block hide-metadata numbered"><header><h2>Concert: In the Midst of Life</h2></header><p
xmlns:html="http://www.w3.org/1999/xhtml">This is a special edition of <span
class="link local"><a
href="/forest/loc-000P">Church Music Corner</a></span> where I share the programme for our Lenten Concert, <em>In the Midst of Life</em>, that happened today at <span
class="link external"><a
href="https://allsaintsainslie.org.au/">All Saints Ainslie</a></span>.</p><p
xmlns:html="http://www.w3.org/1999/xhtml">The concert opened with some lovely piano playing by Lynda Tooth followed by Gibbons' <span
class="link external"><a
href="https://www.youtube.com/watch?v=TQaLMoPGJzk">Drop, Drop Slow Tears</a></span>. Then we sang some music from the English renaissance: Farrant's <span
class="link external"><a
href="https://www.youtube.com/watch?v=MPYgrR84yxY">Call to Remembrance</a></span>, Morley's <span
class="link external"><a
href="https://www.youtube.com/watch?v=Et6l-Gop5Es">Nolo Mortem Peccatoris</a></span>, the Agnus Dei from Byrd's <span
class="link external"><a
href="https://www.youtube.com/watch?v=oJG7H-Xa5xI">Mass for Four Voices</a></span>, and Tallis' <span
class="link external"><a
href="https://www.youtube.com/watch?v=8KXemDXXjzM">Hear the Voice and Prayer</a></span>. Then, to give us a break, Lynda played variations on the theme of Amazing Grace on the piano, followed by the more dramatic fare of the concert: Anerio's <span
class="link external"><a
href="https://www.youtube.com/watch?v=fArGQY_wvmA">Christus factus est</a></span>, Victoria's <span
class="link external"><a
href="https://www.youtube.com/watch?v=m11B9GuDUmM">O vos omnes</a></span>, Purcell's <span
class="link external"><a
href="https://www.youtube.com/watch?v=mY0QyXiJVVo">Funeral Sentences for Queen Mary</a></span> (from which the title of the concert is drawn),  Attwood's <span
class="link external"><a
href="https://www.youtube.com/watch?v=sqgOMVfPr_c">Turn thy Face</a></span> with Dan Walker singing the solo section, Goss' <span
class="link external"><a
href="https://www.youtube.com/watch?v=0QLS98Y47Vs">O Saviour of the World</a></span>, Stainer's <span
class="link external"><a
href="https://www.youtube.com/watch?v=dLvthjDEUnQ">God So Loved the World</a></span> and finally Lloyd's <span
class="link external"><a
href="https://www.youtube.com/watch?v=n4XdIWfdmlo">View me, Lord</a></span>. For an encore we sang the Nunc Dimittis from Gibbons' <span
class="link external"><a
href="https://www.youtube.com/watch?v=4ejmLREGDWo">Short Service</a></span>. </p><p
xmlns:html="http://www.w3.org/1999/xhtml">The concert was quite well attended and raised some much needed funds for the music of the church. We got a lot of positive feedback, I think the concert went very well. Thanks especially to our guest singers, Dan Walker and Patrick Baker! </p></section><section
class="block hide-metadata numbered"><header><h2>Palm Sunday 2026</h2></header>
  <blockquote
xmlns:html="http://www.w3.org/1999/xhtml">Hosánna fílio David, benedíctus qui venit in nómine Dómini. Rex Israël: Hosánna in excélsis.<br />
  Púeri Hebræórum, portántes ramos olivárum, obviavérunt Dómino, clamántes et dicéntes: Hosánna in excélsis.<br />
  Púeri Hebræórum vestiménta prosternébant in via, et clámabant dicéntes: Hosánna fílio David, benedíctus qui venit in nómine Dómini.
</blockquote>
<p
xmlns:html="http://www.w3.org/1999/xhtml">This Palm Sunday at <span
class="link external"><a
href="https://allsaintsainslie.org.au/">All Saints Ainslie</a></span> went rather well considering that we were all exhausted from <span
class="link local"><a
href="/forest/loc-003R">our concert the night before</a></span>.  We sang Mathias' <span
class="link external"><a
href="https://www.youtube.com/watch?v=Wa7VMMvsvAg">Lift up your heads</a></span>:</p>
  <blockquote
xmlns:html="http://www.w3.org/1999/xhtml"><table
style="text-align: left">
  <tr><td>Lift up your heads, O ye gates:</td></tr>
  <tr><td>And be ye lift up, ye everlasting doors:</td></tr>
  <tr><td>And the King of Glory shall come in.</td></tr>
  <tr><td>Who is this King of Glory?</td></tr>
  <tr><td>The Lord, strong and mighty, </td></tr>
  <tr><td>The Lord, mighty in battle.</td></tr>
  <tr><td>Lift up your heads, O ye gates:</td></tr>
  <tr><td>Even lift them up, ye everlasting doors:</td></tr>
  <tr><td>And the King of Glory shall come in.</td></tr>
  <tr><td>Who is this King of Glory?</td></tr>
  <tr><td>The Lord of Hosts, he is the King of Glory.</td></tr>
</table></blockquote>
</section></div></content></entry><entry><title>Weeknotes 2026-W12</title><published>2026-03-25T00:00:00Z</published><updated>2026-03-25T00:00:00Z</updated><author><name>Liam O'Connor</name><uri>https://liamoc.net/forest/liamoc/</uri></author><link
rel="alternate"
type="text/html"
href="https://liamoc.net/forest/2026-W12/" /><id>https://liamoc.net/forest/2026-W12/</id><content
type="xhtml"><div
xmlns="http://www.w3.org/1999/xhtml"><p
xmlns:html="http://www.w3.org/1999/xhtml">These weeknotes are even more late because I was occupied by my singing engagements and then I caught a cold.</p><figure
xmlns:html="http://www.w3.org/1999/xhtml"><img
loading="lazy"
width="290px"
src="/forest/bafkyrzacicvxh7sj4regczf4c3e5fwghklkl3vo5dtkoh5tuc5t62am4mehk5nbtv5nyk4vbg2v3mj3slxw6fyu6oodfm6ltxrmzd327iwxcw6jx.jpeg" /><img
loading="lazy"
width="290px"
src="/forest/bafkyrzaciamrs2eroblerwpwceh6j3dapjlpjvy37jjb6d262d3docpaow67osles6pmh7izadroo5vgddbyin42jsqvczkb5j4ojqbc76rjkthx.jpeg" /><figcaption>Purple skies for a few minutes on a Friday sunset.</figcaption></figure><section
class="block hide-metadata numbered"><header><h2>Reviving the Apple IIe for the open day</h2></header><p
xmlns:html="http://www.w3.org/1999/xhtml">On the 28th of March (the same day as our <span
class="link local"><a
href="/forest/loc-003K">choir concert</a></span>), we have the ANU open day. I'll be there in the morning, showcasing some of my 
retro computer collection. I decided to write a 140KB program for my Apple IIe (just enough to fit on one floppy image) that prospective students can use to learn about our degree programmes. </p><figure
xmlns:html="http://www.w3.org/1999/xhtml"><img
loading="lazy"
width="550px"
src="/forest/bafkyrzaciclouooo73zbc5ygbvtrjwuhreyxxqrdjjqkoy3xbvvt3xgpgofyehwdin42kfoqvnzp33ujuac4kb3kt4ysbja7cv55gf3klwuu6exl.jpeg" /></figure><p
xmlns:html="http://www.w3.org/1999/xhtml">This was about 1000 lines of assembly: the entire thing is actually graphics, I don't use the Apple II text mode at all. It's actually quite impressive that the Apple IIe is fast enough to do this kind of bitmap rendering. But it truly is a bizarre system: the addressing for the bitmap data is super weird (all over the place), and each byte of bitmap data is 7 (not 8) pixels of data. Still, it means you can do some impressive graphics considering when the
first Apple II came out. </p><p
xmlns:html="http://www.w3.org/1999/xhtml">It also has a screensaver to stop the burn in on my amber monochrome monitor (which has the right colours for ANU). </p></section><section
class="block hide-metadata numbered"><header><h2>Humanity in CS/PL, now more than ever</h2></header><p
xmlns:html="http://www.w3.org/1999/xhtml">I really recommend <span
class="link external"><a
href="https://koronkevi.ch/posts/humanity.html">this article</a></span> by <span
class="link local"><a
href="/forest/koronkebitch">Paulette D. Koronkevich</a></span>. It perfectly expresses some of the same thoughts that I've been having about CS, both research and teaching, in this AI-polluted age.</p><p
xmlns:html="http://www.w3.org/1999/xhtml">I am only in this business because of the people. My PhD advisor <span
class="link local"><a
href="/forest/gckeller">Gabi</a></span> and her husband <span
class="link local"><a
href="/forest/chak">Manuel</a></span>, my mentor <span
class="link local"><a
href="/forest/kaie">Kai</a></span>, my collaborators <span
class="link local"><a
href="/forest/rvg">Rob</a></span> and <span
class="link local"><a
href="/forest/hoefner">Peter</a></span> and <span
class="link local"><a
href="/forest/crizkallah">Christine</a></span> and <span
class="link local"><a
href="/forest/zilinc">Zilin</a></span>, my colleagues <span
class="link local"><a
href="/forest/ohad">Ohad</a></span> and <span
class="link local"><a
href="/forest/jamesmckinna">James</a></span> and <span
class="link local"><a
href="/forest/slindley">Sam</a></span>, and most of all my students over the years, among whom in particular I would name Andrew, Jiyeong, Tammy, Emmett, <span
class="link local"><a
href="/forest/sandwichman">Amy</a></span>, <span
class="link local"><a
href="/forest/keshen">Ke</a></span> and <span
class="link local"><a
href="/forest/rayhana">Rayhana</a></span>.</p></section><section
class="block hide-metadata numbered"><header><h2>Fifth Sunday of Lent 2026</h2></header>
  <blockquote
xmlns:html="http://www.w3.org/1999/xhtml">Iudica me Deus, et discérne causam meam de gente non sancta: ab hómine iníquo et dolóso éripe me: quia tu es Deus meus, et fortitúdo mea. 
</blockquote>
<p
xmlns:html="http://www.w3.org/1999/xhtml">This final Sunday before Holy Week at <span
class="link external"><a
href="https://allsaintsainslie.org.au/">All Saints Ainslie</a></span> was an Evensong sunday, so I sang for the morning
  service and directed our choir for evensong. In the morning I sang Dowland's <span
class="link external"><a
href="https://www.youtube.com/watch?v=r5wznr0HAnU">In this trembling shadow</a></span> accompanied by Callum Tolhurst-Close on the organ.</p>
  <blockquote
xmlns:html="http://www.w3.org/1999/xhtml"><table
style="text-align: left">
  <tr><td>In this trembling shadow, cast</td></tr>
  <tr><td>From those boughes which thy winds shake</td></tr>
  <tr><td>Farre from humane troubles plac’d</td></tr>
  <tr><td>Songs to the Lord would I make</td></tr>
  <tr><td>Darknesse from my minde then take</td></tr>
  <tr><td>For thy rites none may begin</td></tr>
  <tr><td>Till they feele thy light within.</td></tr>
</table></blockquote>
<p
xmlns:html="http://www.w3.org/1999/xhtml">For Evensong, I sang the <em>Venite</em> chant followed by the Choir singing Stainer's <span
class="link external"><a
href="https://www.youtube.com/watch?v=hYmHdJJAyeA">Hail, Gladdening Light</a></span>,  ferial preces and responses, my own <em>tonus peregrinus</em> arrangement with organum for the Magnificat and the Nunc Dimittis from Orlando Gibbons' <span
class="link external"><a
href="https://www.youtube.com/watch?v=4ejmLREGDWo">Short Service</a></span>. For the anthem we sang Wesley's <span
class="link external"><a
href="https://www.youtube.com/watch?v=nIwxmEKdIQw">Lead Me, Lord</a></span>. This
was the first time I've directed a choir for Evensong.</p>
  <blockquote
xmlns:html="http://www.w3.org/1999/xhtml"><table
style="text-align: left">
  <tr><td>Lead me, Lord.</td></tr>
  <tr><td>Lead me in thy righteousness.</td></tr>
  <tr><td>Make thy way plain before my face.</td></tr>
  <tr><td>For it is thou, Lord,</td></tr>
  <tr><td>Thou, Lord, only,</td></tr>
  <tr><td>That makest me dwell in safety.</td></tr>
</table></blockquote>
</section></div></content></entry><entry><title>Weeknotes 2026-W11</title><published>2026-03-18T00:00:00Z</published><updated>2026-03-18T00:00:00Z</updated><author><name>Liam O'Connor</name><uri>https://liamoc.net/forest/liamoc/</uri></author><link
rel="alternate"
type="text/html"
href="https://liamoc.net/forest/2026-W11/" /><id>https://liamoc.net/forest/2026-W11/</id><content
type="xhtml"><div
xmlns="http://www.w3.org/1999/xhtml"><p
xmlns:html="http://www.w3.org/1999/xhtml">These weeknotes are a few days late because I was swamped by preparing, running, and marking the first mid-term test for <span
class="link local"><a
href="/forest/COMP1110">Structured Programming</a></span>.</p><figure
xmlns:html="http://www.w3.org/1999/xhtml"><img
loading="lazy"
width="290px"
src="/forest/bafkyrzacia7g7faruqhtfc6pelxjqfr7hpxjlgkacebfjzcpwqxlxorszrcfc2znoe6crr27syyxln2vl3dw5ahmkocy7tmcmhhwgbxavgetzvvy.jpeg" /><img
loading="lazy"
width="290px"
src="/forest/bafkyrzacicijtr75nm46tdwhi556xahnjghrlw4irakjtng64d65mlkf5r6vzdhzbe6a2ays75pz72rveatqej3yxgaja7okqyqssdq2ml545vak.jpeg" /><figcaption>Some sights from my walking commute.</figcaption></figure><section
class="block hide-metadata numbered"><header><h2>Some more anti-AI articles</h2></header><p
xmlns:html="http://www.w3.org/1999/xhtml">Perhaps I should consolodate all of my previous posts linking to articles discussing various aspects of why LLMs are so unconscionable to me:</p><ol
xmlns:html="http://www.w3.org/1999/xhtml"><li><span
class="link local"><a
href="/forest/loc-001H">Open Letter against LLMs in Education</a></span></li>
  <li><span
class="link local"><a
href="/forest/loc-001M">Old Man Yells at Cloud</a></span></li>
  <li><span
class="link local"><a
href="/forest/loc-002O">"AI is Destroying Learning Itself"</a></span></li>
  <li><span
class="link local"><a
href="/forest/loc-0035">It's rude to show AI output to people.</a></span></li></ol><p
xmlns:html="http://www.w3.org/1999/xhtml">This post is adding to their number. <span
class="link local"><a
href="/forest/wilbowma">William J. Bowman</a></span> recently wrote up <span
class="link external"><a
href="https://www.williamjbowman.com/blog/2026/03/05/against-vibes-when-is-a-generative-model-useful/">this excellent article</a></span> which really delves into whether LLMs could actually be considered useful. A great point he made is that as the models get "better", they actually require <em>more</em> work to be useful, as finding the problems in their output becomes harder and harder.</p><p
xmlns:html="http://www.w3.org/1999/xhtml">I was also relieved to see that <span
class="link external"><a
href="https://gizmodo.com/people-hate-ai-even-more-than-they-hate-ice-poll-finds-2000731438">AI is even less popular than ICE in the US</a></span> (although I was slightly annoyed by the headline of the article, which claims that people hate AI more than ICE, a claim not supported by the poll, which does not measure intensity of dislike).</p><p
xmlns:html="http://www.w3.org/1999/xhtml">Also Anthony Moser wrote <span
class="link external"><a
href="https://anthonymoser.github.io/writing/ai/haterdom/2025/08/26/i-am-an-ai-hater.html">this excellent piece</a></span> that was very cathartic for me to read. </p><p
xmlns:html="http://www.w3.org/1999/xhtml">Finally, I was glad to see <span
class="link external"><a
href="https://noai.starlightnet.work/list.html">this list of software that has pledged not to accept AI contributions and not to integrate generative AI features</a></span>. While most of the software on this list is not useful to me at present, I hope it takes off and grows. I do have a very brutal approach: if any software I use tries to integrate AI features, I immediately cut it out of my workflow, no matter how essential. And, if a project accepts AI-authored contributions, I'm on high alert for any possible replacement. This is, for example, why I stopped using ghostty.</p></section><section
class="block hide-metadata numbered"><header><h2>Fourth Sunday of Lent 2026</h2></header>
  <blockquote
xmlns:html="http://www.w3.org/1999/xhtml">Lætáre Ierúsalem: et convéntum fácite omnes qui dilígitis eam: gaudéte cum lætítia, qui in tristítia fuístis: ut exultétis, et satiémini ab ubéribus consolatiónis vestræ.
</blockquote>
<p
xmlns:html="http://www.w3.org/1999/xhtml">This was a fairly routine Sunday at <span
class="link external"><a
href="https://allsaintsainslie.org.au/">All Saints Ainslie</a></span>, where we sang Gibbons' <span
class="link external"><a
href="https://www.youtube.com/watch?v=lZTFLZiZUSo">Drop, Drop Slow Tears</a></span>:</p>
  <blockquote
xmlns:html="http://www.w3.org/1999/xhtml"><table
style="text-align: left">
  <tr><td>Drop, drop slow tears</td></tr>
  <tr><td>And bathe those beauteous feet,</td></tr>
  <tr><td>Which brought from heav'n the news and Prince of Peace.<br /></td></tr>
  <tr><td>Cease not, wet eyes,</td></tr>
  <tr><td>His mercies to entreat,</td></tr>
  <tr><td>To cry for vengeance, sin doth never cease.<br /></td></tr>
  <tr><td>In your deep floods</td></tr>
  <tr><td>Drown all my faults and fears,</td></tr>
  <tr><td>Nor let His eye see sin, but through my tears.</td></tr>
</table></blockquote>
<p
xmlns:html="http://www.w3.org/1999/xhtml">Next week is Evensong (I'll cantor for the morning mass) and the following week is our concert, <span
class="link external"><a
href="https://www.trybooking.com/events/landing/1554834">In The Midst of Life</a></span>. Please do come along!</p><figure
xmlns:html="http://www.w3.org/1999/xhtml"><img
loading="lazy"
width="480px"
src="/forest/bafkyrzacib2kxl2vf6iedo3ugtijmg4xly6fc5kqkvlux3nn4uxfg7xx6ns3k34xd6fgyycantahzy6meo4s7am4ty4fbp2f6w226k5cwpgdavw3.png" /></figure></section></div></content></entry><entry><title>Weeknotes 2026-W10</title><published>2026-03-08T00:00:00Z</published><updated>2026-03-08T00:00:00Z</updated><author><name>Liam O'Connor</name><uri>https://liamoc.net/forest/liamoc/</uri></author><link
rel="alternate"
type="text/html"
href="https://liamoc.net/forest/2026-W10/" /><id>https://liamoc.net/forest/2026-W10/</id><content
type="xhtml"><div
xmlns="http://www.w3.org/1999/xhtml"><p
xmlns:html="http://www.w3.org/1999/xhtml">This week I started to feel a bit more on top of things, and enjoying living in one of the nicest cities in the world.</p><figure
xmlns:html="http://www.w3.org/1999/xhtml"><img
loading="lazy"
width="480px"
src="/forest/bafkyrzacidxqtp62ebkgmxivef3gs7l4tyb4imacvzynxbu4jpmos2bceao7o7goz7iy445l6ppkuhnf4qt2f7cbuo5qezcbsznog3udxss2jwbe.jpeg" /><figcaption>The corellas assemble on my way to my <span
class="link external"><a
href="https://corocanberra.com/">Coro</a></span> audition. </figcaption></figure><section
class="block hide-metadata numbered"><header><h2>Old-fashioned Mac Software still unbeaten</h2></header><p
xmlns:html="http://www.w3.org/1999/xhtml">Growing increasingly frustrated with the Apple mail client's seemingly unfixable inability to search for emails <em>I just read</em>, I made the switch to <span
class="link external"><a
href="https://freron.com/">MailMate</a></span>, a good old-fashioned Mac OS X-style app with a lot of useful features, good performance, and, most importantly, <em>working search</em>. Of course, ANU in their infinite wisdom have not seen fit to bless MailMate as an allowed client on their OAuth server, but this is nothing that a little <span
class="link external"><a
href="https://davmail.sourceforge.net/">davmail</a></span> can't fix... </p><p
xmlns:html="http://www.w3.org/1999/xhtml">In general, the quality of software on the Mac is getting worse, primarily because a large amount of it isn't even <em>for the Mac</em> (and secondarily because Apple themselves are enshittifying their software and their design guidelines). I'm tired of running 18 instances of Chromium to do basic tasks. This is why I continue to use <span
class="link external"><a
href="https://nova.app/">Nova</a></span>, <span
class="link external"><a
href="https://macromates.com/">TextMate</a></span>, MailMate, etc. I would use <span
class="link external"><a
href="https://orionbrowser.com/">Orion</a></span> too, except for its jankiness and poor performance compared to <span
class="link external"><a
href="https://zen-browser.app/">Zen</a></span>. The other major motivation is my aversion to the dreaded bots and those who use them, which is why I moved away from ghostty and to <span
class="link external"><a
href="https://alacritty.org/">alacritty</a></span> lately, although I'd welcome suggestions there. </p></section><section
class="block hide-metadata numbered"><header><h2>A TextMate bundle for Forester</h2></header><p
xmlns:html="http://www.w3.org/1999/xhtml">As part of my embrace of well-designed old Mac software, I've started using <span
class="link external"><a
href="https://macromates.com/textmate/">TextMate</a></span> again. I made a bundle for building Forester forests that supports completion using <code>forester complete</code> (not LSP, as TextMate predates that).</p><p
xmlns:html="http://www.w3.org/1999/xhtml">The bundle can be downloaded from my <span
class="link external"><a
href="https://tangled.org/liamoc.net/forester.tmbundle">git repository on tangled</a></span>.</p><figure
xmlns:html="http://www.w3.org/1999/xhtml"><img
loading="lazy"
width="550px"
src="/forest/bafkyrzaciceyiay5miszqt3igutl7dpxidwexx437zyb4jrpbl573alqvfuxy2ocdilojifbo62qfduggwtemexnhrwiyj3ugswqw243sau3gy4n.png" />
  <img
loading="lazy"
width="550px"
src="/forest/bafkyrzaciaflh7uhycyzgoj7azwyrnhalrdwnqahxxutwbiekrhrvfjgvhmvir5sekumkl35kkennvx2lsrzb7pq2obkbrhomwh6ugold6xtkvee.png" /></figure></section><section
class="block hide-metadata numbered"><header><h2>I've joined Coro</h2></header><p
xmlns:html="http://www.w3.org/1999/xhtml">Last week I auditioned for <span
class="link external"><a
href="https://www.corocanberra.com/concerts">Coro</a></span>, a festival concert choir located here in Canberra. I'm delighted to announce that they have invited me to sing with them starting with <em>Motets</em>, their first concert for 2026, scheduled in May. </p></section><section
class="block hide-metadata numbered"><header><h2>Third Sunday of Lent 2026</h2></header>
  <blockquote
xmlns:html="http://www.w3.org/1999/xhtml">Oculi mei semper ad Dóminum, quia ipse evéllet de láqueo pedes meos: réspice in me, et miserére mei, quóniam únicus et pauper sum ego.
</blockquote>
<p
xmlns:html="http://www.w3.org/1999/xhtml">This Sunday our director was hit with the double-whammy of being both sick and busy, so the choir at <span
class="link external"><a
href="https://allsaintsainslie.org.au/">All Saints Ainslie</a></span>  was under my (figurative) baton as we sang Saint-Saëns' <span
class="link external"><a
href="https://www.youtube.com/watch?v=rBZo0qP9B6A">Ave Verum Corpus</a></span>, a piece new to me: </p>
  <blockquote
xmlns:html="http://www.w3.org/1999/xhtml">

  <table>
  
  <tr>
    
  <td>
      Ave verum corpus natum de María Vírgine;
    </td>

  <td>Hail, true body, born of the Virgin Mary;</td>

  </tr>

  <tr>
    
  <td>Vere passum, immolátum in cruce pro hómine;
      </td>

    
  <td>True suffering, sacrificed on the cross for Man;</td>

  </tr>

  
  <tr>
  <td>Cuius latus perforátum unda fluxit sánguine</td>
 
  <td>From whose pierced side flowed waves of blood,</td>
</tr>

  
  <tr>
    
  <td> 
      Esto nobis prægustátum in mortis examine.</td>

    
  <td>Be for us a foretaste in death's trial.</td>

</tr>
</table>

</blockquote>
<p
xmlns:html="http://www.w3.org/1999/xhtml">Our organ scholar Lillian also very successfully played for the entire service for the first time. Congratulations to her!</p></section></div></content></entry><entry><title>Weeknotes 2026-W09</title><published>2026-03-01T00:00:00Z</published><updated>2026-03-01T00:00:00Z</updated><author><name>Liam O'Connor</name><uri>https://liamoc.net/forest/liamoc/</uri></author><link
rel="alternate"
type="text/html"
href="https://liamoc.net/forest/2026-W09/" /><id>https://liamoc.net/forest/2026-W09/</id><content
type="xhtml"><div
xmlns="http://www.w3.org/1999/xhtml"><p
xmlns:html="http://www.w3.org/1999/xhtml">This week was also very busy, with my teaching obligations starting in earnest. </p><figure
xmlns:html="http://www.w3.org/1999/xhtml"><img
loading="lazy"
width="350px"
src="/forest/bafkyrzacibasgbpyeqesctljfz62txf6jebxa6q7zkev4hmumt57p4iccgbcmwxdxmf2svddw7henrejbxtopxo67pq66x3azyosqxwnyqx5g7qr.jpeg" />
 <figcaption>The sunset after rain in Canberra. </figcaption></figure><section
class="block hide-metadata numbered"><header><h2>Welcome, <span
class="link local"><a
href="/forest/kaiphan">Kai Phan</a></span> and <span
class="link local"><a
href="/forest/edwinpark">Edwin Park</a></span>!</h2></header><p
xmlns:html="http://www.w3.org/1999/xhtml">I have taken on another PhD student, <span
class="link local"><a
href="/forest/kaiphan">Kai Phan</a></span>, who (at least to start) will conduct some investigations into incorrectness logic, along with me, <span
class="link local"><a
href="/forest/xinloi">Xin Lu</a></span>, and <span
class="link local"><a
href="/forest/hoefner">Peter Höfner</a></span>.  Welcome, Kai!</p><p
xmlns:html="http://www.w3.org/1999/xhtml"><span
class="link local"><a
href="/forest/edwinpark">Edwin Park</a></span>, a new honours student, has also arrived from <span
class="link local"><a
href="/forest/unimelb">University of Melbourne</a></span> to do an honours project with me here at the ANU. We are looking at program calculational techniques such as <span
class="link local"><a
href="/forest/ccm">Carroll Morgan</a></span>'s refinement calculus, and exploring proof-assistant-integrated program calculation techniques.</p></section><section
class="block hide-metadata numbered"><header><h2>Teaching <span
class="link local"><a
href="/forest/COMP1110">Structured Programming</a></span> begins</h2></header><p
xmlns:html="http://www.w3.org/1999/xhtml">I began teaching my lectures for <span
class="link local"><a
href="/forest/COMP1110">Structured Programming</a></span> over the last week. To my surprise, despite being the same cohort for which I saw <span
class="link local"><a
href="/forest/loc-001I">soul-destroyingly low attendance last semester</a></span>, attendance this time was surprisingly decent. Perhaps it's the higher perceived difficulty of the course, the nicer weather, or the slightly more convenient location. Whatever the cause, I'm glad to actually have sufficient students to engage in a conversational lecture. </p><p
xmlns:html="http://www.w3.org/1999/xhtml">I have a bit of a sowing-and-then-reaping issue though. I designed the course outline to include weekly lab exercises, three homework tasks, and two mid-term exams. This is all well and good, except now I have to <em>make</em> all of this material. I'm very overwhelmed but well supported by some good tutors including <span
class="link local"><a
href="/forest/xinloi">Xin Lu</a></span>, <span
class="link local"><a
href="/forest/kaiphan">Kai Phan</a></span>, <span
class="link local"><a
href="/forest/carloz">Carlo Zancanaro</a></span> and others.</p></section><section
class="block hide-metadata numbered"><header><h2>Second Sunday of Lent 2026</h2></header>
  <blockquote
xmlns:html="http://www.w3.org/1999/xhtml">Tibi dixit cor meum, qeæsívi vultum tuum, vultum tuum Dómine requíram: ne avértas fáciem tuam a me.<br />
  
Reminíscere miseratiónum tuárum, Dómine, et misericórdiæ tuæ, quæ a saéculo sunt: ne unquam dominéntur nobis inimíci nostri: líbera nos Deus Israel ex ómnibus angústiis nostris.
</blockquote>
<p
xmlns:html="http://www.w3.org/1999/xhtml">This Sunday our director was away at <span
class="link external"><a
href="https://allsaintsainslie.org.au/">All Saints Ainslie</a></span> so I directed us for the Agnus Dei from Byrd's <span
class="link external"><a
href="https://www.youtube.com/watch?v=oJG7H-Xa5xI">Mass for Four Voices</a></span>, one of my favourite pieces: </p>
  <blockquote
xmlns:html="http://www.w3.org/1999/xhtml">

  <table>
  
  <tr>
    
  <td>
      Agnus Dei, qui tollis peccáta mundi, miserére nobis.
    </td>

  <td>Lamb of God, that taketh away the sins of the world, have mercy upon us.</td>

  </tr>

  <tr>
    
  <td>
      Agnus Dei, qui tollis peccáta mundi, miserére nobis.</td>

    
  <td>Lamb of God, that taketh away the sins of the world, have mercy upon us.</td>

  </tr>

  <tr>
    
  <td> 
      Agnus Dei, qui tollis peccáta mundi, dona nobis pacem.</td>

    
  <td>Lamb of God, that taketh away the sins of the world, grant us peace.</td>

</tr>
</table>

</blockquote>
<p
xmlns:html="http://www.w3.org/1999/xhtml">I also auditioned for the <span
class="link external"><a
href="https://www.corocanberra.com/">Coro</a></span> choir. I think I stuffed up the sight reading, but I'll hope for the best.</p></section></div></content></entry><entry><title>Weeknotes 2026-W08</title><published>2026-02-22T00:00:00Z</published><updated>2026-02-22T00:00:00Z</updated><author><name>Liam O'Connor</name><uri>https://liamoc.net/forest/liamoc/</uri></author><link
rel="alternate"
type="text/html"
href="https://liamoc.net/forest/2026-W08/" /><id>https://liamoc.net/forest/2026-W08/</id><content
type="xhtml"><div
xmlns="http://www.w3.org/1999/xhtml"><p
xmlns:html="http://www.w3.org/1999/xhtml">This week was insanely busy, as I was (and am) preparing to teach <span
class="link local"><a
href="/forest/COMP1110">Structured Programming</a></span> this semester. </p><figure
xmlns:html="http://www.w3.org/1999/xhtml"><img
loading="lazy"
width="280px"
src="/forest/bafkyrzaciaokfmryhazbqcdaiha4j7imrbixzbteubr37iccucpchss7ne52urrfnvbvzmbaucauvx6zcxbrz3ykldxrnxl5snpklm757k24xvqf.jpeg" />
  <img
loading="lazy"
width="280px"
src="/forest/bafkyrzacicsk3w7ltwm5sodmocdypwalyf342x2nhru4bqs35rgxg6u3jctv4a4ypabnl72r6or33kixhkfgzt772wjf6mghzqcz6mtd3432uuxx.jpeg" />
  <img
loading="lazy"
width="360px"
src="/forest/bafkyrzacidfavroaqogj6kvfsbscjjz6vq7nfd27mxbtalnefh3nqbku5kddmvfjk7cylnmezp643fedk6m2wjobfoejvv2b7obui5tnjzgj647i.jpeg" /><figcaption>The stunning Lyneham Wetlands on my commute to work. </figcaption></figure><section
class="block hide-metadata numbered"><header><h2>Lunar New Year at Dickson</h2></header><p
xmlns:html="http://www.w3.org/1999/xhtml">I had to head to the office today even though it's a Saturday to prepare for my upcoming <span
class="link local"><a
href="/forest/COMP1110">Structured Programming</a></span> course, but I was surprised to see Lunar New Years festivities had been transferred to the weekend.</p><figure
xmlns:html="http://www.w3.org/1999/xhtml"><img
loading="lazy"
width="360px"
src="/forest/bafkyrzacidg2erqqbccmnhkv4nvycwfvk32bqmygn7h5xaiwywdw3ej723krjyhvbhze5bhxshqldor3vnt3n2locecakfczzxvqcx67sv5mlyq6.png" />
 <figcaption>Happy Year of the Horse! </figcaption></figure><p
xmlns:html="http://www.w3.org/1999/xhtml">I saw the Dragon and Lion dances as well as some other performances from Chinese and Vietnamese residents of Dickson, and the Canberra Yut Hung Kung Fu school: </p><figure
xmlns:html="http://www.w3.org/1999/xhtml"><img
loading="lazy"
width="280px"
src="/forest/bafkyrzaciaqiydyl3qvixld7as64qgvlh53vi77hagz5l3keq4thlcbf7cnccrbphazki43wwtuvyjfo7f3r7txfmd5xidmryrl7ebwtcehbg6va.jpeg" />
  <img
loading="lazy"
width="280px"
src="/forest/bafkyrzacidl35dndxebh5pkfffkkvl3c5y4poxsd6mmgmfaq6ghx2e23ussnxuysdleejzito3qr6sgk5yy5hocvjpkmcaxdjrinetmdc7zvb6h3.jpeg" />
  <img
loading="lazy"
width="280px"
src="/forest/bafkyrzaciabjdubtkwb4qysqn7ihx3hmyin7453xeu5l3urce4jglwq7toior5gf76irsppgfsn2ki5l6nozxvrtjt7auihfesxk264htygnlo3u.jpeg" /></figure><p
xmlns:html="http://www.w3.org/1999/xhtml">In the nearby market stall there was a Korean 호떡 vendor. From our conversation I gathered that there were Korean 설날 events there as well, but in the morning and I was already too late. Oh well, the 호떡 was delicious though! </p></section><section
class="block hide-metadata numbered"><header><h2>Ash Wednesday 2026</h2></header>
  <blockquote
xmlns:html="http://www.w3.org/1999/xhtml">Miseréris ómnium Dómine, et nihil odísti eórum quæ fecísti, dissímulans peccáta hóminum propter pæniténtiam, et parcens illis, quia tu es Dóminus Deus noster.
</blockquote>
<p
xmlns:html="http://www.w3.org/1999/xhtml">This Ash Wednesday was my second at <span
class="link external"><a
href="https://allsaintsainslie.org.au/">All Saints Ainslie</a></span>, and I intoned the <em>Trisagion</em> again this year. We had a decent compliment of choristers to perform Duruflé's <span
class="link external"><a
href="https://www.youtube.com/watch?v=l1BTWCpEFRQ">Ubi Caritas</a></span>:</p>
  <blockquote
xmlns:html="http://www.w3.org/1999/xhtml">

  <table>
  
  <tr>
    
  <td>
     Ubi cáritas et amor, Deus ibi est.
    </td>

  <td>Where there is charity and love, there God is.</td>

  </tr>

  <tr>
    
  <td>
      Congregávit nos in unum Christi amor,</td>

    
  <td>The love of Christ gathers us as one,</td>

  </tr>

  <tr>
    
  <td>Exultémus et in ipso iucundémur</td>

    
  <td>Let us rejoice and be glad in him,</td>

</tr>

  <tr>
  <td>
  Timeámus et amémus Deum vivum</td>


  <td>Let us fear and love the living God</td>

</tr>


  <tr>
  <td>Et ex corde diligámus nos sincéro.</td>


  <td>And love each other with sincere hearts.</td>
</tr>

</table>

</blockquote>
<p
xmlns:html="http://www.w3.org/1999/xhtml">As well as Gibbons' <span
class="link external"><a
href="https://www.youtube.com/watch?v=TQaLMoPGJzk">Drop, Drop Slow Tears</a></span> which is just a lovely poem:</p>
  <blockquote
xmlns:html="http://www.w3.org/1999/xhtml"><table
style="text-align: left">
  <tr><td>Drop, drop slow tears</td></tr>
  <tr><td>And bathe those beauteous feet,</td></tr>
  <tr><td>Which brought from heav'n the news and Prince of Peace.<br /></td></tr>
  <tr><td>Cease not, wet eyes,</td></tr>
  <tr><td>His mercies to entreat,</td></tr>
  <tr><td>To cry for vengeance, sin doth never cease.<br /></td></tr>
  <tr><td>In your deep floods</td></tr>
  <tr><td>Drown all my faults and fears,</td></tr>
  <tr><td>Nor let His eye see sin, but through my tears.</td></tr>
</table></blockquote>
<p
xmlns:html="http://www.w3.org/1999/xhtml">For this Lent I am making some private observances and sacrifices, but I will also be singing the evening office (either Roman or Scottish Episcopal) every day of this Lent. This Sunday will be a choral Evensong!</p></section><section
class="block hide-metadata numbered"><header><h2>First Sunday of Lent 2026</h2></header>
  <blockquote
xmlns:html="http://www.w3.org/1999/xhtml">Invocábit me, et ego dixi exáudiam eum: erípiam eum, et glorificábo eum: longitúdine diérum adimplébo eum.
</blockquote>
<p
xmlns:html="http://www.w3.org/1999/xhtml">This Sunday was a busy one for me, as the choir of <span
class="link external"><a
href="https://allsaintsainslie.org.au/">All Saints Ainslie</a></span> sings Evensong now on the final Sunday of the month. I, along with a few of our other male singers, sang for the morning mass without the rest of the choir. I sang a special <em>tonus peregrinus</em> gospel acclamation, and for an anthem I sang Tallis' <span
class="link external"><a
href="https://www.youtube.com/watch?v=F4LHpA5PWKg">Why Fumeth in Sight</a></span>, the famous Theme of Ralph Vaughan Williams' <em>Fantasia</em> fame. I've linked to a recording of me singing the first verse.  </p>
  <blockquote
xmlns:html="http://www.w3.org/1999/xhtml"><table
style="text-align: left">
  <tr><td>Why fumeth in sight: the Gentils spite,</td></tr>
  <tr><td>In fury raging stout?</td></tr>
  <tr><td>Why taketh in hond: the people fond,</td></tr>
  <tr><td>Vayne thinges to bring about?</td></tr>
  <tr><td>The kinges arise: the lordes devise,</td></tr>
  <tr><td>in counsayles mett therto:</td></tr>
  <tr><td>Agaynst the Lord: with false accord,</td></tr>
  <tr><td>against his Christ they go.<br /></td></tr>
  <tr><td>Let us they say: breake downe their ray,</td></tr>
  <tr><td>of all their bondes and cordes:</td></tr>
  <tr><td>We will renounce: that they pronounce,</td></tr>
  <tr><td>their loores as stately lordes.</td></tr>
  <tr><td>But God of might: in heaven so bright,</td></tr>
  <tr><td>Shall laugh them all to scorne:</td></tr>
  <tr><td>The Lord on hie: shall them defie,</td></tr>
  <tr><td>they shall be once forlorne.<br /></td></tr>
  <tr><td>Then shall his ire: speake all in fire,</td></tr>
  <tr><td>to them agayne therfore:</td></tr>
  <tr><td>He shall with threate: their malice beate,</td></tr>
  <tr><td>in his displeasure sore.</td></tr>
  <tr><td>Yet am I set: a king so great,</td></tr>
  <tr><td>on Sion hill full fast:</td></tr>
  <tr><td>Though me they kill: yet will that hill,</td></tr>
  <tr><td>my lawe and worde outlast.</td></tr>
</table></blockquote>
<p
xmlns:html="http://www.w3.org/1999/xhtml">For Evensong we sang Psalm 51 to a nice Anglican chant, and the <span
class="link external"><a
href="https://www.youtube.com/watch?v=6YRRgC0bjk0">Nunc Dimittis</a></span> from Gibbons' Short Service. We didn't get the Magnificat ready in time, so Alasdair and I just sang an antiphonal plainchant Magnificat to the <em>tonus peregrinus.</em> For the anthem, we sang an old favourite of mine, Morley's <span
class="link external"><a
href="https://www.youtube.com/watch?v=Et6l-Gop5Es">Nolo Mortem Peccatoris</a></span>:</p><table
xmlns:html="http://www.w3.org/1999/xhtml"
style="text-align: left">
  <tr><td><em>Nolo mortem peccatoris,</em></td></tr>
  <tr><td><em>Haec sunt verba salvatoris.</em><br /></td></tr>
  <tr><td>Father, I am thine only Son</td></tr>
  <tr><td>Sent down from heav'n mankind to save,</td></tr>
  <tr><td>Father, all things fulfill'd and done</td></tr>
  <tr><td>According to thy will, I have.</td></tr>
  <tr><td>Father, my will, now all is this:</td></tr>
  <tr><td><em>Nolo mortem peccatoris.</em><br /></td></tr>
  <tr><td>Father behold my painful smart.</td></tr>
  <tr><td>Taken for man on ev'ry side;</td></tr>
  <tr><td>E'en from my birth to death most tart,</td></tr>
  <tr><td>No kind of pain I have denied</td></tr>
  <tr><td>But suffered all, and all for this:</td></tr>
  <tr><td><em>Nolo mortem peccatoris.</em><br /></td></tr>  
  <tr><td><em>Nolo mortem peccatoris.</em></td></tr>
</table></section></div></content></entry><entry><title>Weeknotes 2026-W07</title><published>2026-02-15T00:00:00Z</published><updated>2026-02-15T00:00:00Z</updated><author><name>Liam O'Connor</name><uri>https://liamoc.net/forest/liamoc/</uri></author><link
rel="alternate"
type="text/html"
href="https://liamoc.net/forest/2026-W07/" /><id>https://liamoc.net/forest/2026-W07/</id><content
type="xhtml"><div
xmlns="http://www.w3.org/1999/xhtml"><p
xmlns:html="http://www.w3.org/1999/xhtml">I returned to Canberra this week. I needed the remainder of the week to recover from my illness and the flight, but I'm feeling alright now. As much as I enjoyed being in Edinburgh again, it's great to be back in clean, sunny, quiet Canberra. </p><figure
xmlns:html="http://www.w3.org/1999/xhtml"><img
loading="lazy"
width="360px"
src="/forest/bafkyrzaciacetgf3ioyogi2weckmg44ctiufrjav2dntdgprgtfyfgojlvmzek4lqbc7uzjiu4rivanrfzfqe2iaw2ocmwieiujdgxsl2fo7qfgy.jpeg" /><figcaption>A Leafy Canberra Street. </figcaption></figure><section
class="block hide-metadata numbered"><header><h2>Begun Notes on Linear-time Temporal Properties</h2></header><p
xmlns:html="http://www.w3.org/1999/xhtml">In my work with <span
class="link local"><a
href="/forest/rayhana">Rayhana Amjad</a></span> and <span
class="link local"><a
href="/forest/rvg">Rob van Glabbeek</a></span>, I've been thinking a bit about the space of linear-time temporal properties <span
class="katex-math"
data-display="inline"
data-tex="\Sigma ^\omega ">\Sigma ^\omega </span>. There are a lot of results about this, some of which we're still working on proving. While the canonical account will be in our forthcoming journal paper and <span
class="link local"><a
href="/forest/rayhana">Rayhana</a></span>'s PhD thesis, I'm going to start writing <span
class="link local"><a
href="/forest/ltp-0001">a research notebook</a></span> on this topic. I've decided to do this rather than blog about our results, because it's more in the spirit of Zettelkästen (Zettelkastengeist?) — the post I had in mind ended up ballooning in size because it needed so much context. Instead, I will just fill in the notebook including our current conjectures.</p><p
xmlns:html="http://www.w3.org/1999/xhtml">Currently, there isn't much there, just some basic definitions from <span
class="link local"><a
href="/forest/alpern-schneider-1985">Defining Liveness</a></span>. But I will eventually hopefully have a fairly well-developed summary of a lot of the work in this area over there.</p></section><section
class="block hide-metadata numbered"><header><h2>Quinquagesima Sunday 2026</h2></header>
  <blockquote
xmlns:html="http://www.w3.org/1999/xhtml">Tibi dixit cor meum, quæsívi vultum tuum, vultum tuum Dómine requíram: ne avértas fáciam tuam a me.<br />
  Esto mihi in Deum protectórem, et in locum refúgii, ut salvum me fácias: quóniam firmaméntum meum, et refúgium meum es tu: et propter nomen tuum dux mihi eris, et enútries me.
</blockquote>
<p
xmlns:html="http://www.w3.org/1999/xhtml">This Sunday was bizarrely called the Sunday of the "Transfiguration", despite that not being the actual feast of the Transfiguration. It's because my church <span
class="link external"><a
href="https://allsaintsainslie.org.au/">All Saints Ainslie</a></span> is hewing to the Revised Common Lectionary. I entitled this post Quinquagesima Sunday because that's what is listed in the Scottish Book of Common Prayer (and <span
class="link local"><a
href="/forest/loc-0033">I am a Scottish Episcopalian</a></span>). I joined the Ainslie choir for the first time in 2026. We performed Ouseley's <span
class="link external"><a
href="https://www.youtube.com/watch?v=CnEFkTCOuEE">From the Rising of the Sun</a></span>: </p>
  <blockquote
xmlns:html="http://www.w3.org/1999/xhtml"><table
style="text-align: left">
  <tr><td>From the rising of the sun</td></tr>
  <tr><td>To the going down of the same,</td></tr>
  <tr><td>My Name shall be great among the Gentiles,</td></tr>
  <tr><td>And in ev'ry place incense shall be offer'd up unto my Name:</td></tr>
  <tr><td>For My Name shall be great among the heathen,</td></tr>
  <tr><td>Thus saith the Lord!</td></tr>
</table>
</blockquote>
<p
xmlns:html="http://www.w3.org/1999/xhtml">I also received some CD recordings from John Kitchen at <span
class="link external"><a
href="https://www.osp.org.uk/">Old St. Paul's</a></span> while I was in Edinburgh, that I took the time to listen to recently. Calum Robertson, who plays the organ at Old St. Paul's, wrote <span
class="link external"><a
href="https://www.youtube.com/watch?v=Eamf9BAikeo">a beautiful anthem</a></span> from this moving poem by Irene Zimmerman:</p><section
class="block hide-metadata numbered"
data-taxon="Poem"><header><h3>Liturgy</h3></header><table
xmlns:html="http://www.w3.org/1999/xhtml"
style="text-align: left">
  <tr><td>All the way to Elizabeth</td></tr>
<tr><td>and in the months afterward</td></tr>
<tr><td>she wove him, pondering,</td></tr>
<tr><td>“This is my body, my blood!”<br /></td></tr>
<tr><td>Beneath the watching eyes</td></tr>
<tr><td>of donkey, ox, and sheep</td></tr>
<tr><td>she rocked him, crooning,</td></tr>
<tr><td>“This is my body, my blood!”<br /></td></tr>
<tr><td>In the moonless desert flight</td></tr>
<tr><td>and the Egypt-days of his growing,</td></tr>
<tr><td>she nourished him, singing,</td></tr>
<tr><td>“This is my body, my blood!”<br /></td></tr>
<tr><td>Under the blood-smeared cross</td></tr>
<tr><td>she rocked his mangled bones,</td></tr>
<tr><td>remembering him, moaning,</td></tr>
<tr><td>“This is my body, my blood!”<br /></td></tr>
<tr><td>When darkness, stones, and tomb</td></tr>
<tr><td>bloomed to Easter morning,</td></tr>
<tr><td>she ran to him, shouting,</td></tr>
<tr><td>“This is my body, my blood!”<br /></td></tr>
<tr><td>And no one thought to tell her:</td></tr>
<tr><td>“Woman, it is not fitting</td></tr>
<tr><td>for you to say those words.</td></tr>
<tr><td>You don’t resemble him.”</td></tr>
</table></section><p
xmlns:html="http://www.w3.org/1999/xhtml">The poem, at least to my reading, seems to clearly advocate for women's ordination, despite the author's communion opposing the same.</p></section></div></content></entry><entry><title>Weeknotes 2026-W06</title><published>2026-02-08T00:00:00Z</published><updated>2026-02-08T00:00:00Z</updated><author><name>Liam O'Connor</name><uri>https://liamoc.net/forest/liamoc/</uri></author><link
rel="alternate"
type="text/html"
href="https://liamoc.net/forest/2026-W06/" /><id>https://liamoc.net/forest/2026-W06/</id><content
type="xhtml"><div
xmlns="http://www.w3.org/1999/xhtml"><p
xmlns:html="http://www.w3.org/1999/xhtml">This week was unfortunately marred by a nasty cold that took me out of most of it. Nonetheless I got some church singing done, and I had a productive meeting that generated some new ideas, which I might blog about next week.</p><figure
xmlns:html="http://www.w3.org/1999/xhtml"><img
loading="lazy"
width="360px"
src="/forest/bafkyrzacia22dj5k65pbtp4uxjla66k4pa2bkt3537n7tgehjahwh3yqkhn42dqa2ierve7ynhfxhqzmgpissdjcjiosyh5qsfgi3yz5lor7ek4u.jpeg" /><figcaption>My spiritual home: St. Michael and All Saints, Edinburgh </figcaption></figure><section
class="block hide-metadata numbered"><header><h2>It's rude to show AI output to people.</h2></header><p
xmlns:html="http://www.w3.org/1999/xhtml">I came across <span
class="link external"><a
href="https://distantprovince.by/posts/its-rude-to-show-ai-output-to-people/">this article</a></span> by Alex Martsinovich which I thought captured very well one of the main objections I have to LLMs as a technology. It used to be that every piece of text, even down to a road sign, was written by a human somewhere with the intention of communicating something to you, the reader — what Alex calls "proof of thought". Thanks to LLMs, this fundamental property of language has been irrevocably destroyed: a massive tragedy in my view.  </p></section><section
class="block hide-metadata numbered"><header><h2>Presentation of the Lord 2026</h2></header>
  <blockquote
xmlns:html="http://www.w3.org/1999/xhtml">Suscépimus Deus, misericórdiam tuam in médio templi tui : secúndum nomen tuum Deus, ita et laus tua in fines terræ: iustítia plena est déxtera tua.
</blockquote>
<p
xmlns:html="http://www.w3.org/1999/xhtml">For this special feast at <span
class="link external"><a
href="https://smas.church/">St. Michael and All Saints</a></span> (which, per Fr. <span
class="link local"><a
href="/forest/obrw">Oliver</a></span>'s policy, was <em>not</em> transferred to the Sunday), I offered to sing the traditional Gregorian chant propers for the mass, which I had typeset conveniently <span
class="link local"><a
href="/forest/loc-0031">in Forester</a></span> for easy reading. Despite the fact that I had a cold, I got a lot of compliments about my chanting and I feel it made the service really special. I also enjoyed a non-alcoholic pint with Fr. Oliver afterwards. </p></section><section
class="block hide-metadata numbered"><header><h2>Fifth Sunday after Epiphany 2026</h2></header>
  <blockquote
xmlns:html="http://www.w3.org/1999/xhtml">Veníte adorémus Deum, et procidámus ante Dóminum: plorémus ante eum, qui fecit nos: quia ipse est Dóminus Deus noster.
</blockquote>
<p
xmlns:html="http://www.w3.org/1999/xhtml">This Sunday I once again sang at both <span
class="link external"><a
href="https://smas.church/">St. Michael and All Saints</a></span> and <span
class="link external"><a
href="https://www.osp.org.uk/">Old St. Paul's</a></span>, despite a cold preventing me from intoning the propers or singing at full voice. In the morning we sang Wood's <span
class="link external"><a
href="https://www.youtube.com/watch?v=Qf202pdjMZk">Hey You, the Middle Ball</a></span>: </p>
  <blockquote
xmlns:html="http://www.w3.org/1999/xhtml">
  <table
style="text-align: left">
    <tr><td>O thou the central orb of righteous love,</td></tr>
    <tr><td>Pure beam of the Most High,</td></tr>
    <tr><td>Eternal Light of this our wintry world,</td></tr>
    <tr><td>Thy radiance bright awakes new joy in faith,</td></tr>
    <tr><td>Hope soars above.</td></tr>
    <tr><td><br /></td></tr>
    <tr><td>Come, quickly come and let thy glory shine,</td></tr>
    <tr><td>Gilding our darksome heav'n with rays divine.</td></tr>
    <tr><td>Thy saints with holy lustre round thee move,</td></tr>
    <tr><td>As stars about thy throne, set in the height</td></tr>
    <tr><td>Of God's ordaining counsel, </td></tr>
    <tr><td>As thy sight gives measured grace to each.</td></tr>
    <tr><td>Thy power to prove.</td></tr>
    <tr><td><br /></td></tr>
    <tr><td>Let thy bright beams disperse the gloom of sin,</td></tr>
    <tr><td>Our nature all shall feel eternal day,</td></tr>
    <tr><td>In fellowship with thee,</td></tr>
    <tr><td>Transforming day to souls erewhile unclean,</td></tr>
    <tr><td>now pure within.</td></tr>
    <tr><td><br /></td></tr>
    <tr><td>Amen.</td></tr>
  </table>
</blockquote>
<p
xmlns:html="http://www.w3.org/1999/xhtml">We also sang Victoria's <span
class="link external"><a
href="https://www.youtube.com/watch?v=0P5gMpJtVZY">Missa O Quam Gloriosum</a></span> for a mass setting. In the evening, in a rare exception to the normal Evensong service, Old St. Pauls instead had an event to introduce the choir and congregation to the new Revised English Hymnal.</p></section></div></content></entry><entry><title>Weeknotes 2026-W05</title><published>2026-02-01T00:00:00Z</published><updated>2026-02-01T00:00:00Z</updated><author><name>Liam O'Connor</name><uri>https://liamoc.net/forest/liamoc/</uri></author><link
rel="alternate"
type="text/html"
href="https://liamoc.net/forest/2026-W05/" /><id>https://liamoc.net/forest/2026-W05/</id><content
type="xhtml"><div
xmlns="http://www.w3.org/1999/xhtml"><p
xmlns:html="http://www.w3.org/1999/xhtml">This week was primarily spent working in Edinburgh.</p><figure
xmlns:html="http://www.w3.org/1999/xhtml"><img
loading="lazy"
width="260px"
src="/forest/bafkyrzacibjfwmvupzorgza2lq6behwmavsymakpvy2y63nbgkfecu7lodmhfuafjkecj2vvtolnqhu65qexlbxqmh35qfdf3tm4jqvrg4uczshn.jpeg" /><img
loading="lazy"
width="260px"
src="/forest/bafkyrzacid4noxd3litm37fbx6a7bob5nu4ydzb57uw2ftc7cq3dqvw37k7lsmp3yshq4x4bumnv6vc5fyummjioppufqt62gpyctc5xohzhtlvz.jpeg" /><figcaption>A rare glimpse of the sun in wintry Edinburgh.</figcaption></figure><section
class="block hide-metadata numbered"><header><h2>I am a Scottish Episcopalian</h2></header><p
xmlns:html="http://www.w3.org/1999/xhtml">I have <span
class="link local"><a
href="/forest/loc-0022">previously</a></span> <span
class="link local"><a
href="/forest/loc-002W">written</a></span> <span
class="link local"><a
href="/forest/loc-002X">extensively</a></span> about my struggles with faith and the particular mode of agnostic faith that I hold. Recently, Fr. <span
class="link local"><a
href="/forest/obrw">Oliver Brewer-Lennon</a></span> was kind enough to host me at his home for hours where we had a wide-ranging conversation, including about my faith. For the first time in my life I found a priest who I feel I can rely upon for spiritual direction and who also is just a good friend. He offered a compelling solution to my <span
class="link local"><a
href="/forest/loc-002X">census dilemma</a></span> — I can just write "Scottish Episcopalian" on the form. Surely if people can write Jedi as their religion, Scottish Episcopalianism would be acceptable. Next time I visit Edinburgh I will probably take part in a ceremony where I can be officially received into the church. Even though I am thousands of kilometres away usually, I can still call <span
class="link external"><a
href="https://smas.church/">St. Michael and All Saints</a></span> my parish 
and <span
class="link local"><a
href="/forest/obrw">Oliver Brewer-Lennon</a></span> my priest.</p><p
xmlns:html="http://www.w3.org/1999/xhtml">He was also nice enough to give me free access to the church whenever I want to use it, so I have been chanting the evening office there according to the Use of Sarum. To avoid keeping 17 places open in 3 books simultaneously, I transcribed large parts of the Sarum vespers and compline office into Forester. You can see the results <span
class="link local"><a
href="/forest/sarum-26-01-22">here</a></span> for example, but there are more that can be found by searching "Ordo". They use my chant plugins. Fr. <span
class="link local"><a
href="/forest/obrw">Oliver</a></span> will join me for the <span
class="link local"><a
href="/forest/sarum-26-02-03">vespers</a></span> and <span
class="link local"><a
href="/forest/sarum-26-02-03-b">compline</a></span> of St. Blaise next week.   </p><p
xmlns:html="http://www.w3.org/1999/xhtml">On the way back from our chat I stopped by a charity shop and got this old illustrated KJV bible for free:</p><figure
xmlns:html="http://www.w3.org/1999/xhtml"><img
loading="lazy"
width="350px"
src="/forest/bafkyrzaciaolhibgsvmgeysx6imewgyrffaldc37jqrjmj7xv6bqv5p4azjil66oscfo7fcnnyy2y2idwab62jfylqbe5b6bhsj3ixhket4m22ig.jpeg" /></figure></section><section
class="block hide-metadata numbered"><header><h2>Fourth Sunday after Epiphany 2026</h2></header>
  <blockquote
xmlns:html="http://www.w3.org/1999/xhtml">Laetétur cor quæréntium Dóminum : quaérite Dóminum, et confirmámini: quaérite fáciem eius semper.
</blockquote>
<p
xmlns:html="http://www.w3.org/1999/xhtml">This Sunday I once again sang at both <span
class="link external"><a
href="https://smas.church/">St. Michael and All Saints</a></span> and <span
class="link external"><a
href="https://www.osp.org.uk/">Old St. Paul's</a></span>. Old St. Pauls transferred Candlemas (the Presentation of the Lord) to Sunday, so the evensong was a special one, but the morning mass was an ordinary time mass. In the morning we sang Bach's <span
class="link external"><a
href="https://www.youtube.com/watch?v=Z3noM6iZrds">O Jesu Christ, meins Lebens Licht</a></span>: </p>
  <blockquote
xmlns:html="http://www.w3.org/1999/xhtml">

  <table>
  
  <tr>
    
  <td>
      O Jesu Christ, meins Lebens Licht, 
    </td>

  <td>Lord Jesu Christ, my life and light,</td>

  </tr>

  <tr>
    
  <td>
      Mein Hort, mein Trost, mein Zuversicht,</td>

    
  <td>My strength, my stay, my day-star bright,</td>

  </tr>

  <tr>
    
  <td> 
      Auf Erden bin ich nur ein Gast, :</td>

    
  <td>On earth I have no home or rest,</td>

</tr>

  <tr>
  <td>
  Und drückt mich sehr der Sünden Last.</td>


  <td>By all my grievous sin oppressed.</td>

</tr>
</table>

</blockquote>
<p
xmlns:html="http://www.w3.org/1999/xhtml">I cantored for the propers. For the Mass setting, we sang the <span
class="link external"><a
href="https://www.youtube.com/watch?v=4m23f0HCCQ4&amp;list=OLAK5uy_lR9KBwM8xDlMcafjOPICA3f7WawCwwe7U&amp;index=18">St. Anne Mass</a></span> by Sir James MacMillan.</p><p
xmlns:html="http://www.w3.org/1999/xhtml">In the evening, we began with a <span
class="link external"><a
href="https://www.youtube.com/watch?v=hYmHdJJAyeA">Stainer anthem</a></span> I'm sure I've done before but I'm not sure when, then this <span
class="link external"><a
href="https://www.youtube.com/watch?v=x7ienPABe_o">Mozart Magnificat</a></span> (for which I sang the tenor part in the brief solo quartet sections), a 'Mozart' (actually John Kitchen) Nunc Dimittis, for which no recording exists but can be heard on our <span
class="link external"><a
href="https://youtu.be/Iuxew7FwMpc?t=1843">livestream</a></span>. Finally for an anthem we sang the very challenging but interesting Rutter <span
class="link external"><a
href="https://www.youtube.com/watch?v=InI__zYVxfc">Hymn to the Creator of Light</a></span>:</p>
  <blockquote
xmlns:html="http://www.w3.org/1999/xhtml">
<table
style="text-align: left">
<tr><td>Glory be to thee, O Lord, glory be to thee,</td></tr>
<tr><td>Creator of the visible light, </td></tr>
<tr><td>the sun’s ray, the flame of fire;</td></tr>
<tr><td>Creator also of the light invisible and</td></tr> <tr><td>intellectual:</td></tr>
<tr><td>that which is known of God, the light invisible.</td></tr> 
<tr><td>Glory be to thee, O Lord, glory be to thee,</td></tr>
<tr><td>Creator of the light.</td></tr>
<tr><td>for writings of the law, glory be to thee:</td></tr>
<tr><td>for oracles of prophets, glory be to thee:</td></tr>
<tr><td>for melody of psalms, glory be to thee:</td></tr>
<tr><td>for wisdom of proverbs, glory be to thee:</td></tr>
<tr><td>experience of histories, glory be to thee:</td></tr>
<tr><td>a light which never sets.</td></tr>
<tr><td>God is the Lord, who hath shewed us light.<br /></td></tr>
<tr><td>Light, who dost my soul enlighten;</td></tr>
<tr><td>Sun, who all my life dost brighten;</td></tr>
<tr><td>Joy, the sweetest man e’er knoweth;</td></tr>
<tr><td>Fount, whence all my being floweth.</td></tr>
<tr><td>From thy banquet let me measure,</td></tr>
<tr><td>Lord, how vast and deep its treasure;</td></tr>
<tr><td>Through the gifts thou here dost give us,</td></tr>
<tr><td>As thy guest in heaven receive us.  </td></tr>
  </table>
</blockquote>
<p
xmlns:html="http://www.w3.org/1999/xhtml">As usual we did John Kitchen's <span
class="link external"><a
href="https://youtu.be/Iuxew7FwMpc?t=3440">Divine Praises</a></span> at the end during the Benediction, which was a magical experience when I first heard it in the congregation of OSP years ago.</p></section></div></content></entry><entry><title>Weeknotes 2026-W04</title><published>2026-01-25T00:00:00Z</published><updated>2026-01-25T00:00:00Z</updated><author><name>Liam O'Connor</name><uri>https://liamoc.net/forest/liamoc/</uri></author><link
rel="alternate"
type="text/html"
href="https://liamoc.net/forest/2026-W04/" /><id>https://liamoc.net/forest/2026-W04/</id><content
type="xhtml"><div
xmlns="http://www.w3.org/1999/xhtml"><p
xmlns:html="http://www.w3.org/1999/xhtml">This week was primarily spent travelling, although I have safely made it to Edinburgh. I'm here for two weeks or so, and I'm trying to maximise the amount of good church singing I do while I'm here.</p><figure
xmlns:html="http://www.w3.org/1999/xhtml"><img
loading="lazy"
width="260px"
src="/forest/bafkyrzaciakuakmeq4llgx5dnw5q44sbrjssis2atirhiauy32g5f45apvnq2hdi3lpilcoa4edzhjqf7agfzzpxcme2il5gfph4vn724dcha4rc.jpeg" /><img
loading="lazy"
width="260px"
src="/forest/bafkyrzacicjord35robi5efk343xb253aokxh5cgkppphn5xra7ezomlws3ryncthtqih74bv7erx7mpgrad3jhdidyey23ujrlkm2cnabwstrzw.jpeg" /><figcaption>Gloomy, wet, cold, miserable, lovely Edinburgh.</figcaption></figure><section
class="block hide-metadata numbered"><header><h2>David Byrne: Who is the Sky?</h2></header><figure
xmlns:html="http://www.w3.org/1999/xhtml"><img
loading="lazy"
width="350px"
src="/forest/bafkyrzacid65xn6wjjtph3xaxj4bqxskinl2ypur65tmh4mpniczljjuhv42jj742rv2azj4rzhgf6dt5hj5oea5aswf3oaouajaqlbhs5p56l2o.jpg" /></figure><p
xmlns:html="http://www.w3.org/1999/xhtml">Today in Sydney I saw David Byrne's concert tour, <em>Who is the Sky?</em>. The guy has incredible energy, even now that he's in his seventies. While he's not as active as he was in <span
class="link external"><a
href="https://www.youtube.com/watch?v=8al5cSQNmME">Stop Making Sense</a></span>, he is still a mesmerising performer. The setlist included a surprisingly large amount of Talking Heads classics: <em>Houses in Motion</em> (which was simply amazing), <em>Life During Wartime</em>, <em>And She Was</em>, <em>Slippery People</em>, <em>This Must Be The Place</em>, <em>Once in a Lifetime</em>, <em>Burning Down the House</em>, <em>Heaven</em>, <em>Psycho Killer</em> and <em>Nothing but Flowers</em>. There were also a few solo tracks I recognised: <em>Like Humans Do</em>, <em>Strange Overtones</em> and <em>Everybody's Coming to My House</em>. </p><p
xmlns:html="http://www.w3.org/1999/xhtml">What stands out to me is the <em>extremely</em> tight choreography and use of the stage space. The entire performance was just the performers carrying all their instruments like a marching band while wearing blue jumpsuits, with various images projected on the screens behind them. Somehow, it never got old. It was an utterly captivating performance, and the music was fantastic of course.</p></section><section
class="block hide-metadata numbered"><header><h2>Third Sunday after Epiphany 2026</h2></header>
  <blockquote
xmlns:html="http://www.w3.org/1999/xhtml">Dóminus secus mare Galiláeae vidit duos fratres, Petrum et Andréam, et vocávit eos: Veníte post me: fáciam vos fíeri piscatóres hóminum.<br />
Adoráte Deum omnes Angeli eius audívit, et lætáta est Sion: et exsultavérunt fíliæ Iudæ.
</blockquote>
<figure
xmlns:html="http://www.w3.org/1999/xhtml"><img
loading="lazy"
width="250px"
src="/forest/bafkyrzaciciaccildaufxlx5sgf4jo3ignsrdl4yr3f7acg4g64kqtvkqeszja67geqasa6g2hfkhosel7vg2h4qd5d4nf6qmi7ces5z2j4uyt6i.jpeg" />
   <img
loading="lazy"
width="250px"
src="/forest/bafkyrzacia7oahcx5anfatgnitaqrv2tfjog6beh5kzm3xp2krx6dootsz6bgr25sfqakeue66pq6geh4xk3wwt6se57lc3hnwdeuucjs5i5qpex.jpeg" />
   <figcaption>It's good to be back at St. Michael and All Saints.</figcaption></figure><p
xmlns:html="http://www.w3.org/1999/xhtml">This Sunday I sang with two choirs: <span
class="link external"><a
href="https://smas.church/">St. Michael and All Saints</a></span> for the morning mass and <span
class="link external"><a
href="https://www.osp.org.uk/">Old St. Paul's</a></span> for evensong, which included lucernarium and benediction of the Blessed Sacrament. In the morning we sang Franck's <span
class="link external"><a
href="https://www.youtube.com/watch?v=PK3TeWqSAZk">Panis Angelicus</a></span> and a simple choral mass setting whose composer I can't now recall. </p>
  <blockquote
xmlns:html="http://www.w3.org/1999/xhtml">

  <table>
  
  <tr>
    
  <td>
      Panis angelicus
    </td>

  <td>Bread of angels</td>

  </tr>

  <tr>
    
  <td>fit panis hominum;</td>

    
  <td>Becomes the bread of men;</td>

  </tr>

  <tr>
    
  <td>Dat panis cœlicus figuris terminum:</td>

    
  <td>The heavenly bread ends the old figures:</td>

</tr>

  <tr>
  <td>O res mirabilis!</td>


  <td>O wondrous thing!</td>

</tr>

  <tr>
  <td>Manducat Dominum</td>

  <td>To eat of the Lord</td>
</tr>

  <tr>
  <td>
pauper, servus et humilis.</td>

  <td>The poor, the servant, the humble.</td>
</tr>
</table>

</blockquote>
<p
xmlns:html="http://www.w3.org/1999/xhtml">I cantored for the propers. In the evening, as it's the Conversion of St. Paul, the namesake of the church, we performed some ambitious repertoire, including the <span
class="link external"><a
href="https://www.youtube.com/watch?v=AIsBdhEdfV0">Bairstow Magnificat</a></span> and <span
class="link external"><a
href="https://www.youtube.com/watch?v=3hnVnlZy5yo">Nunc Dimittis</a></span>, as well as Palestrina's Magnus Sanctus Paulus for eight voices, which I can't find a recording of anywhere.</p>
  <blockquote
xmlns:html="http://www.w3.org/1999/xhtml">
  
  <table>
    
  <tr>
      
  <td>Magnus sanctus Paulus,</td>

  <td>Saint Paul the Great,</td>

    </tr>

  <tr>
      
  <td>vas electiónis</td>

  <td>The vessel that was chosen,</td>

      </tr>

  <tr>
      
  <td>vere digne est glorificándus,</td>

  <td>truly worthy to be praised,</td>

      </tr>

  <tr>
      
  <td>qui et thronum duodécimum  méruit possidére.</td>

  <td>who merited the twelfth throne.</td>

      </tr>

  <tr>
      
  <td>intercéde pro nobis ad Deum,</td>

  <td>Intercede for us to God,</td>

      </tr>

  <tr>
      
  <td>qui te elegit, ut digni efficiamur gratia Dei.</td>

  <td>who chose thee, that we may be made worthy of the grace of God.</td>

      </tr>
    
    </table>

  </blockquote>
<p
xmlns:html="http://www.w3.org/1999/xhtml">We also performed Widor's <span
class="link external"><a
href="https://www.youtube.com/watch?v=i1FLpyxo3nw">Tantum Ergo</a></span> for the Benediction.</p><p
xmlns:html="http://www.w3.org/1999/xhtml">In between those two services I also stopped in to hear Evensong at St. Mary's Episcopal Cathedral in Edinburgh's west end. The choir there is very good, and I always like attending evensong there, although one of the sopranos was annoyingly out of tune this time.</p></section></div></content></entry><entry><title>Weeknotes 2026-W03</title><published>2026-01-18T00:00:00Z</published><updated>2026-01-18T00:00:00Z</updated><author><name>Liam O'Connor</name><uri>https://liamoc.net/forest/liamoc/</uri></author><link
rel="alternate"
type="text/html"
href="https://liamoc.net/forest/2026-W03/" /><id>https://liamoc.net/forest/2026-W03/</id><content
type="xhtml"><div
xmlns="http://www.w3.org/1999/xhtml"><p
xmlns:html="http://www.w3.org/1999/xhtml">This week has mostly been spent catching up with work and preparing for my Edinburgh trip.</p><figure
xmlns:html="http://www.w3.org/1999/xhtml"><img
loading="lazy"
width="260px"
src="/forest/bafkyrzacicr3crulznrc742sjf7gr3hvhtrpjm4g7eziks6cgwngbgycc7dqrhuvr6pj4fll2zenxfocr33pll5sydxns6vpwe2mey24yg3z2nv5.jpeg" /><img
loading="lazy"
width="260px"
src="/forest/bafkyrzacidd4q246iwkj742nocxi4nudfsn6tw2xe2beeksxkbvk5e4ytl6aucq2kkyr46no32yfz36gzlajrs6svf7wtprrdi2rdfxn4rfjz5es.jpeg" /><figcaption>A Kookaburra sighted on my way to work.</figcaption></figure><section
class="block hide-metadata numbered"><header><h2>Why I am not a Roman Catholic</h2></header><p
xmlns:html="http://www.w3.org/1999/xhtml">I was baptised into the Roman church and confirmed in the faith by a high-ranking prelate in the Church at St. Mary's Cathedral, where I sang in the choir for over a decade. I have attended and sung at traditional Latin masses, I'm very familiar with catholic theology and liturgy, and I even won an award for Catholic studies at my cathedral high school. I love the Latin language, I love the traditions of the Church, particularly its musical tradition, and I love the universality of the Roman church. Still, I left the Church gradually as I became preoccupied with other aspects of my life, and then various pedophilia scandals, including of <span
class="link external"><a
href="https://www.abc.net.au/news/2016-06-10/william-standen-catholic-brother-sentenced-jail-abuse/7501086">the headmaster of my school</a></span> and of the <span
class="link external"><a
href="https://en.wikipedia.org/wiki/George_Pell#Allegations_of_child_sexual_abuse">prelate who confirmed me</a></span>, were the nails in the coffin. I stopped regularly attending any church.</p><p
xmlns:html="http://www.w3.org/1999/xhtml">Gradually, particularly after moving to Edinburgh, as I accrued a greater understanding of <span
class="link local"><a
href="/forest/loc-0022">my own peculiar mode of belief</a></span>, I returned to regular churchgoing, but this time at an extremely "Anglo-catholic" Scottish Episcopal church, although I'd still pop into the Edinburgh Jesuit church for a Catholic mass now and again. The main thing that prevented me from wholly returning to Rome (aside from my personal affinity to that SEC church), was that I just couldn't bring myself to assent to the doctrines of the Roman church. While I'm not a fan in general of the Articles of Religion for the Church of England, article XIX has a point:</p>
  <blockquote
xmlns:html="http://www.w3.org/1999/xhtml">As the Church of Jerusalem, Alexandria, and Antioch, have erred; so also the Church of Rome hath erred, not only in their living and manner of Ceremonies, but also in matters of Faith.</blockquote>
<p
xmlns:html="http://www.w3.org/1999/xhtml">I don't think this point is particularly controversial, even among many lay Roman Catholics. It is hard to say with a straight face that the Church has <em>always</em> taught the right doctrines and that <em>all</em> of its authoritative teachings are irreversible, and yet the First Vatican Council effectively commits the Roman Church to precisely that position. Even where infallibility is narrowly defined, the broader assumption remains: that the Church cannot, in any meaningful sense, have been wrong in its teaching. This position is so ludicrous that it seems that recent popes quietly admit that it's not true while upholding continuity of magisterial teaching in public: what looks, in hindsight, like error must always be re-described as development, ambiguity, or misapplication. This makes genuine doctrinal correction (as opposed to "reinterpretation") impossible. </p><p
xmlns:html="http://www.w3.org/1999/xhtml">So, what would the Roman church have to do to win me back over?</p><ul
xmlns:html="http://www.w3.org/1999/xhtml"><li><strong>Overturn Vatican I, admit error, and confess wrongdoing</strong>. There is no way that any of the other changes in this list could be made without first admitting that the Church was wrong.</li>
  <li><strong>Equality between genders, including for holy orders and the episcopate.</strong> Recalling Galatians 3:28 <em>"In Christ there is no male or female"</em>, the argument that women cannot act <em>in persona Christi</em> for the purposes of the sacraments seems ridiculous. As for the episcopate, claiming that the gender of the apostles was <em>theologically</em> important rather than merely <em>socially convenient</em> seems completely scripturally and logically unfounded. Of course the apostles were male: the society of the time would have broadly rejected female philosophers, teachers, or evangelists. Their maleness gave them some <em>temporal</em> authority, but that doesn't mean that their maleness was in any way necessary for their <em>sacramental</em> authority. And, there's significant evidence that before the Constantinian adoption of Christianity into the Imperial system, early Christians had many female religious leaders, anyway — not least of which is Mary Magdalene, sometimes called Apostle to the Apostles.</li>
  <li><strong>Welcome and equality for LGBTQ+ individuals and couples, and apologise for harm done.</strong> There are ministries and pockets of the Church were gay people are welcome, because Christ is always on the side of those who are marginalised and oppressed. But, in general, the Church remains a deeply homophobic and transphobic institution (despite the presence, throughout the Church’s history, of much-lauded figures whose sex lives would sit <em>very</em> uneasily in the Church’s proscriptive framework). The Church would have to revise its exclusionary attitudes before I would consider fully returning. This would include extending the sacrament of matrimony to gay couples. </li>
  <li><strong>Eliminate overscrupulous sin accounting, particularly regarding sexual ethics.</strong> The Church produces elaborate frameworks for evaluating sin, and overformalises what it understands sin to be. In particular, the elaborate framework of sexual ethics based on "natural law" gets really weird fast. I'm not saying that there's no such thing as sinful sexual behaviour, but declaring contraception sinful (as an example) seems both scientifically illiterate and needlessly overproscriptive. The Church shouldn't be in the business of classifying more and more and more human activities into various levels of sinfulness. The fullness of the law is love, not a bureaucratic accounting of how many rules you break. </li>
  <li><strong>Distinguish between what is sinful and what ought to be illegal.</strong> The Church has already done this to a certain extent, pushing for the decriminalisation of homosexuality in those places where it is still illegal, but I think this should be applied more generally. For example,  while I'm not taking a firm position here, I'd be willing to accept that abortion might be a sin, even a grave sin, at least in most cases. I don't think it should be illegal, however, because the harm that is done seems by most measures far greater when abortion is illegal than when it is legal. Medical grey areas shouldn't invite legal intervention. The same goes for adultery, blasphemy and many other things that can be declared sinful with a lot of scriptural support but nonetheless shouldn't be banned by the state. </li>
  <li><strong>Recognise the validity of (most) Anglican orders.</strong> The <em>Apostolicæ curæ</em> letter of Leo XIII deemed Anglican ordinations invalid because the form and intention of some of the historical ordination rites didn't seem to refer to the sacrificial priesthood that the Roman church maintains. This is clearly a post-hoc rationalisation of the conclusion that he wanted to reach — Anglican orders being invalid — because many of the churches that the Roman Church deems <em>valid</em>, even the Eastern Rite churches within the Roman church itself, also omit some of the important sacrificial language used by the Roman rite. Apostolic succession can pass just as easily through Edwardine Anglicans as it can pass through Arian heretics during the time of St. Hilary. To reject this succession because the Anglican church erred at some points in its history sounds a lot like Donatism. If the Church does recognise these orders, along with the first two changes in my list, there is very little that stands in the way of reunification of these two faiths.</li></ul><p
xmlns:html="http://www.w3.org/1999/xhtml">None of these changes that would make a return to Rome conceivable for me can be addressed in isolation, because all of them would require the Church to admit that it has taught wrongly in the past. I'm not holding my breath.</p><p
xmlns:html="http://www.w3.org/1999/xhtml">Ultimately, what keeps me from swimming back across the Tiber is not any particular point of disagreement but a deeper structural problem: A church that cannot admit having been wrong in matters of faith cannot meaningfully repent, and a church that cannot meaningfully repent cannot convincingly claim to be guided by the Spirit of truth. I continue to love much of what the Roman Church has given me, but I cannot assent to a vision of the Church that treats its own history as something that must always be explained away rather than, at times, confessed.</p><p
xmlns:html="http://www.w3.org/1999/xhtml">As a postscript, I should add that none of the above should be read as a complaint about the Church’s <em>liturgical</em> inheritance, which remains one of the great treasures of Western Christianity. If anything, my frustration is that this inheritance is often treated carelessly or instrumentally, either as a battlefield for ideology or as something endlessly malleable (see <span
class="link local"><a
href="/forest/loc-002K">The ICEL Lord's Prayer is Terrible</a></span>). The fact is that here in Australia, finding a reverent, beautiful liturgy in a Catholic church is vanishingly rare — mostly limited to the big cathedrals, and those liturgies outside of the <em>novus ordo</em> milieu: the <span
class="link external"><a
href="https://en.wikipedia.org/wiki/Personal_ordinariate">personal ordinariates</a></span> and the FSSP Latin Masses, which have congregations that tend greatly towards far-right reactionary ideology. This is an issue of governance, not doctrine. A Church capable of regulating doctrine in extraordinary detail seems strangely incapable of insisting on reverence, beauty, and care in its public worship. This asymmetry only reinforces the impression of an authority structure that is confident where it should be cautious, and timid where it should be firm. </p></section><section
class="block hide-metadata numbered"><header><h2>Why I am not an Anglican</h2></header><p
xmlns:html="http://www.w3.org/1999/xhtml">If I still lived in Scotland, answering the Religion question on a census would be easy (at least, easy modulo <span
class="link local"><a
href="/forest/loc-0022">my peculiar mode of belief</a></span>): I would simply write "Scottish Episcopalian". The SEC aligns closely with the kind of worship and belief that matters to me — Catholic-style liturgy and theology, reverent sacramental practice, and a progressive, egalitarian, and consistent moral framework. But were I given the same question in Australia, it would be much harder to write "Anglican". The cognate church to the SEC in Australia is fragmented, factionalised, and often incoherent.</p><p
xmlns:html="http://www.w3.org/1999/xhtml">Were I to tell a Sydneysider that I was an Anglican, I might be mistaken for a member of the dreaded Sydney diocese — fiercely low-church and conservative. They deny women ordination; they discriminate against LGBTQ+ people; they celebrate the Eucharist with no liturgical reverence, while wearing a suit and tie; they pursue schism with the wider Anglican communion. The small Anglo-catholic outposts that survive in Sydney, like Christ Church St. Laurence, are stuck in a constant struggle against the broader diocese. Even St. James King St, which is more distinctly Anglican in its liturgy, is very much at odds with the diocese, which sometimes seems more like an American evangelical "non-denominational" group than a real Anglican diocese. Other dioceses in the Anglican Church of Australia, trying to maintain unity with this bunch of schismatic agitators masquerading as a diocese, pursue a minimal or compromise-driven theology and liturgy. This constant balancing act prevents the church from taking decisive action on ethical issues like women's ordination or LGBTQ+ inclusion, and liturgy, a tremendous source of beauty and devotion, is often sidelined or distorted (see <span
class="link local"><a
href="/forest/loc-002K">The ICEL Lord's Prayer is Terrible</a></span>). The more the church compromises to hold itself together, the less coherent and spiritually compelling it becomes. </p><p
xmlns:html="http://www.w3.org/1999/xhtml">Another difficulty I have with Anglicanism is the Thirty-Nine Articles of Religion. I disagree with several key aspects of the Articles: their emphasis on justification by faith alone, their rejection of purgatory and prayers for the dead, their apparent denial of the physical presence in the Eucharist, and their subordination of tradition to Scripture. In the Anglican Church of Australia, clergy are formally required to assent to the Articles, whereas laity generally are not. In practice, however, even among clergy the Articles are often interpreted loosely or ignored, to maintain unity or suit their own personal theological preferences. While this laxity is fortunate for someone like me who disagrees with many of the Articles, it also highlights the church's structural incoherence and inconsistency in both doctrine and governance. The Oxford Movement offers an interpretation of the Articles which is much more Catholic-leaning and far more agreeable to me, but even so, I do not find myself comfortable with the fundamentally Protestant theology that one would get from a basic reading.  The Scottish Episcopal Church, thankfully, does not impose the same subscription anywhere (they abandoned the Articles in 1979, after the Relief Act which enforced their subscription was finally repealed), which is one reason it feels much closer to my ideal. </p><p
xmlns:html="http://www.w3.org/1999/xhtml">More broadly, the Anglican Communion as a whole lacks a fixed, consistent set of beliefs. In the United States, bishops like John Shelby Spong moved so far away from the faith that they couldn't meaningfully be called Christian, let alone Anglican. In Australia, the aforementioned Sydney Diocese is a hyperconservative low-church enclave in tension with the rest of the Communion. In no sense could these two be said to share the same faith. Across the wider church, there is no guarantee that any given parish or diocese actually adheres to the same theological or moral framework. This absence of a coherent, shared faith makes it difficult to affirm Anglicanism as a whole, even when individual parishes (like CCSL or St. Peter's Eastern Hill) contain aspects I admire.</p><p
xmlns:html="http://www.w3.org/1999/xhtml">There are parts of Anglicanism that I genuinely appreciate — mostly, those elements that echo the Catholic tradition rather than the Protestant or uniquely Anglican. The more a parish resembles a reverent, sacramental, and theologically coherent Catholic church, the more it appeals to me.  In other words, what I value in Anglicanism is what it shares with Catholicism, not what makes it uniquely Anglican, with one massive exception: The Book of Common Prayer. Its beautiful language, Cranmer's excellent translations of Latin collects, the lovely rhythm of its condensed office and psalter, and its theological subtlety are consistently beautiful, and it remains a singular strength of the Anglican tradition. </p><p
xmlns:html="http://www.w3.org/1999/xhtml">Ultimately, I think my ideal Anglican church would end up looking a lot like <span
class="link local"><a
href="/forest/loc-002W">my ideal Catholic church</a></span>: reverent, sacramental, inclusive, fearlessly progressive, and theologically catholic; without hubristic claims to infallibility, yet undivided by factional squabbles. When I lay it out this way, it doesn't seem like such a church could exist any time soon. Until then, I will remain vaguely a non-Roman Catholic who worships predominantly at Anglican churches, although I have no idea what I'll write on the next census.  </p></section><section
class="block hide-metadata numbered"><header><h2>Second Sunday after Epiphany 2026</h2></header>
  <blockquote
xmlns:html="http://www.w3.org/1999/xhtml">Omnis terra adóret te, Deus, et psallat tibi: psalmum dicat nómini tuo, Altíssime.</blockquote>
<p
xmlns:html="http://www.w3.org/1999/xhtml">This Sunday I sang at my usual <span
class="link external"><a
href="https://allsaintsainslie.org.au/">All Saints Ainslie</a></span>, although the choir is still on break. Instead, our soprano Cindy Chen (who played the organ for the hymns) joined me for singing Prätorius' uncommon piece <span
class="link external"><a
href="https://www.youtube.com/watch?v=otx6qo7QcI0">Christe der du bist Tag und Licht</a></span> (translation is mine): </p>
  <blockquote
xmlns:html="http://www.w3.org/1999/xhtml">
  
  <table>
    
  <tr>
    
  <td>Christe der du bist tag und licht,</td>

    
  <td>O Christ, thou art both day and light,</td>

    </tr>

  <tr>
    
  <td>Vor dir ist, Herr, verborgen nicht;</td>

    
  <td>For there is, Lord, naught hid from thee;</td>

    </tr>

  <tr>
    
  <td>Du väterliches Lichtes glanz,</td>

    
  <td>Thy fatherly light upon us shine,</td>

  </tr>

  <tr>
    
  <td>Lehr' uns den Weg der Wahrheit ganz.</td>

    
  <td>Teach us thy way of perfect truth.</td>

  </tr>

</table>

</blockquote>
<p
xmlns:html="http://www.w3.org/1999/xhtml">Cindy and I sang it well, despite many tricky bits!</p></section></div></content></entry><entry><title>Weeknotes 2026-W02</title><published>2026-01-11T00:00:00Z</published><updated>2026-01-11T00:00:00Z</updated><author><name>Liam O'Connor</name><uri>https://liamoc.net/forest/liamoc/</uri></author><link
rel="alternate"
type="text/html"
href="https://liamoc.net/forest/2026-W02/" /><id>https://liamoc.net/forest/2026-W02/</id><content
type="xhtml"><div
xmlns="http://www.w3.org/1999/xhtml"><p
xmlns:html="http://www.w3.org/1999/xhtml">This week I have been holidaying in Melbourne!</p><figure
xmlns:html="http://www.w3.org/1999/xhtml"><img
loading="lazy"
width="250px"
src="/forest/bafkyrzacibh2isauubvdjmmplucrcav2ujro25pzlhli2z2hmg4a4f6mcev623map4qbyd6qjhqr6kjwkjvluht4xkbv464ri6vv6i36z7ghm6ns.jpeg" /><img
loading="lazy"
width="250px"
src="/forest/bafkyrzacidym6jh3s6b5mztsef76oarz6miezwn7rwtnkdthj5thdxoxb24hgx56absg4xdxbye6fznxbknpfmq3mtk4fxj4fzlj36ouk3vzlqxr.jpeg" /><img
loading="lazy"
width="250px"
src="/forest/bafkyrzacic4fyhhndm7gl7drwhxztsyjm66qgyh4mfalef26xa7hfbx3etpyue5enof4ydfrdcroeconostdex5hm2c7begheqxlqqmp6p5e2j2p.jpeg" /><img
loading="lazy"
width="250px"
src="/forest/bafkyrzacibowtj4kzgxjur7zm55kmg5dew6tkzymkmqg7ehrvbzlfdfyplzbpbyrfvjfexyojtkr3h4s5fqndqbfsrsahctbx2a6qly2jwmw5up5.jpeg" /><figcaption>Some sights of Melbourne.</figcaption></figure><section
class="block hide-metadata numbered"><header><h2>Churchy Tourism in Melbourne</h2></header><p
xmlns:html="http://www.w3.org/1999/xhtml">The clergy and lay canons at <span
class="link external"><a
href="https://www.stpeters.org.au/">St. Peter's Eastern Hill</a></span>, in addition to letting me <span
class="link local"><a
href="/forest/loc-002U">sing in their choir</a></span>, were also kind enough to let me join them for their private divine office, and I've been joining them every day I've been here in Melbourne. I start the day with Matins and Lauds and end the day with Vespers. It's been surprisingly restorative. For one, it stops me from sleeping in later and later which often happens over time when I travel. I plan to do the same thing when I travel to Edinburgh later in the month.</p><p
xmlns:html="http://www.w3.org/1999/xhtml">I also attended some services at the lovely Catholic <span
class="link external"><a
href="https://melbournecatholic.org/st-patricks-cathedral">St. Patrick's Cathedral</a></span> across the road, although I found their service schedule disappointing compared to Sydney's St. Mary's Cathedral. The building itself is beautiful, however: </p><figure
xmlns:html="http://www.w3.org/1999/xhtml"><img
loading="lazy"
width="250px"
src="/forest/bafkyrzacidugueqa3bkvnn7bdzemqzh7jvjts4ufg3qsdezf3nxj275lhamvnvguqlnzcnp7f4usuz6y7aublxad36rqxaqtdjlkk3bgh76q735j.jpeg" />
   <img
loading="lazy"
width="250px"
src="/forest/bafkyrzacibsfyfryavufpmmcla3kau65lmccthrbeb7pxb3eivxybpzgqyzhfzuftawfi4itccknfwk7yo6zye3kplyjyhcqgktugtowny74ai5r.jpeg" />
   <img
loading="lazy"
width="250px"
src="/forest/bafkyrzacibwqmbphw7ftzbbtz54d6wm7lv5bv7uh23r47c3qeg6lmvrvgxka2mhqfplh5bws3ux627m3er6gdhm54t4d6bku7lneaeqjfa37rmuq.jpeg" />
   <img
loading="lazy"
width="250px"
src="/forest/bafkyrzacidxufpdjxk5yahgjfbmqe3yvlpsxsgzcyn7ptowjjybnwvqx4pctwxe4lai7rpqiuwbbmhv2fktktz7eyh32ntlix7zvxugilnpk4oqu.jpeg" />
   <figcaption>St Patrick's Cathedral, Melbourne</figcaption></figure><p
xmlns:html="http://www.w3.org/1999/xhtml">Also, for completeness' sake I guess, I visited briefly the Anglican <span
class="link external"><a
href="https://cathedral.org.au/">St. Paul's Cathedral</a></span> near Flinders Street Station, but unlike St. Pat's it was quite overrun with tourists. Still much to appreciate in the building itself, however:</p><figure
xmlns:html="http://www.w3.org/1999/xhtml"><img
loading="lazy"
width="250px"
src="/forest/bafkyrzacibhhr7jjgca55m32aniuyxqgg2vxbbprpfkc7ogia3v4kocrgfaybkybvzgji6vsmow4kgiz74i7w27gslikw5tkwd4uhlrt6e3bxtdo.jpeg" />
    <img
loading="lazy"
width="250px"
src="/forest/bafkyrzacibqbtr4x2ezc4zp2yg24ojejk4ibm7naqhfemd2hgorhkifrgxzbc7nhxywgz5xc33mxpfshkyaklhocwme7gmyisekj6p43ec2rtepz.jpeg" />
    <img
loading="lazy"
width="250px"
src="/forest/bafkyrzacid2szalkqdacvvmcjj4vecs7jrjfz7o5iweaewd5repsw3c36y4mp26hocvxhu3w4j5s3eqk3wijuwatwzsgyeobtxpbjdzjelwzti7p.jpeg" />
    <figcaption>St Paul's Cathedral, Melbourne</figcaption></figure><p
xmlns:html="http://www.w3.org/1999/xhtml">I also went to the State Library of Victoria, where in addition to seeing the impressive La Trobe Reading Room I also got to have a look at a few manuscripts that were interesting to me:</p><figure
xmlns:html="http://www.w3.org/1999/xhtml"><img
loading="lazy"
width="250px"
src="/forest/bafkyrzaciac77adzjikdqglfc322jd47uwz4cuwsjbhv3ldgcopj55qy2lw62raodvxqxbrmdjqugkvpoul4ah2umjjeaiofl4gahn4ruesqxyfd.jpeg" />
   <img
loading="lazy"
width="250px"
src="/forest/bafkyrzacid3bwmaqatx2zlyr4pxecdcsbhvn2c6c63frzc4vip22eyh6vvdwxr7n5bj7izkeeo2aciv7xhizvth5dnepudqmmaqnfpuw57fo5dxx.jpeg" />
   <img
loading="lazy"
width="250px"
src="/forest/bafkyrzaciczzp2apw7uuoujekzhix2mpv3slzonj7pk3cqql4rzf6lucdddymqvmyaz44xflb6gxym4d5tby5twncnwbm537kb2xcfajdsmaanjs.jpeg" />
   <img
loading="lazy"
width="250px"
src="/forest/bafkyrzacicvkbqlc3fb6aik5sce54adyg66nhwouka737jpluolrifdwmhavy7xknrecdyv7vvdwttbrk63adnckprubsksycotxofvaorbfdztd.jpeg" />
   <figcaption>Some interesting finds at the State Library.</figcaption></figure><p
xmlns:html="http://www.w3.org/1999/xhtml">The first manuscript pictured above seems to be a chant for the text <em>Levíta Lauréntius</em>, but it doesn't seem to resemble any of the chants from the Solesmes books. I'm not sure where this melody comes from or where it's ended up (if anywhere) in the modern graduals. The next one, in a frame, seems to be a page from a nocturnal or antiphonary, because what starts halfway down the page is <em>Centum quadraginta</em>, an antiphon for the memorial of the Holy Innocents. The third shot, which isn't of a chant book, seems to be a missal of some kind, with a Eucharistic canon on the left and some propers on the right, including the <em>ad te levávi</em> text that immediately signifies the first Sunday of Advent. </p></section><section
class="block hide-metadata numbered"><header><h2>Baptism of the Lord 2026</h2></header>
  <blockquote
xmlns:html="http://www.w3.org/1999/xhtml">Dilexísti iustítiam, et odísti iniquitátem: proptérea unxit te Deus, Deus tuus. Óleo lætítiæ præ consórtibus tuis.<br />
  Benedíctus qui venit in nómine Dómini: benedíximus vobis de domo Dómini: Deus Dóminus, et illúxit nobis, allelúia, allelúia.
 </blockquote>
<figure
xmlns:html="http://www.w3.org/1999/xhtml"><img
loading="lazy"
width="250px"
src="/forest/bafkyrzacib7sghnob567b24nf3pt5kjgucfme2rbriqbe5a2yx6j53qj4rm3babqayo2gbl3pwzmgw6lwvg5pmxw6wbs55gkpv34tsupiu5ozx4s.jpeg" />
   <img
loading="lazy"
width="250px"
src="/forest/bafkyrzacic6okbx6m6zasvxatfm7l7dibto77nhllxzvuhbo5j27mcjito6tjex52mzs3zcb7oyx6mobzayzw6ds6ldpunlufyr4ao6ychgxev3s.jpeg" />
   <img
loading="lazy"
width="250px"
src="/forest/bafkyrzacic5wypq65zuvtkzi5zc36nayeqxdqxh5lo4p3odx7qdfogqbvtibfyfzyenu77yebx3vi2twomotqbzsikjxwytuu7zjwlqp6xpnss3a.jpeg" />
   <img
loading="lazy"
width="250px"
src="/forest/bafkyrzacic3kmbohwhwagcsyoqpi267mdsgrcttyn5ytwucp2ia62izn2pwdinjymm7paoii7we4mcpx5dbogcvwjrlfx5zrn225xjme342ze6yw.jpeg" />
   <figcaption>St Peter's Eastern Hill, Melbourne.</figcaption></figure><p
xmlns:html="http://www.w3.org/1999/xhtml">This Sunday I sang with the choir of <span
class="link external"><a
href="https://www.stpeters.org.au/">St. Peter's Eastern Hill</a></span> in Melbourne. We sang the Simple Communion Service in F Major by William Harris, for which I can't find a recording online (although the <span
class="link external"><a
href="https://www.youtube.com/watch?v=LsT4HF1ND7E">livestream link for St. Peter's</a></span> isn't bad, and we sang it well). For a motet we sang Marenzio's <span
class="link external"><a
href="https://www.youtube.com/watch?v=5DW4n-Wgcs8">Tribus miraculis</a></span>: </p>
  <blockquote
xmlns:html="http://www.w3.org/1999/xhtml">
  
  <table>
    
  <tr>
    
  <td>Tribus miráculis ornátum, diem sanctum cólimus:</td>

    
  <td>Distinguished by three miracles, this holy day is celebrated:</td>

    </tr>

  <tr>
    
  <td>Hódie stella Magos duxit ad præsépium:</td>

    
  <td>Today the star led the Magi to the manger;</td>

    </tr>

  <tr>
    
  <td>Hódie vinum ex aqua factum est ad núptias:</td>

    
  <td>Today wine was made from water at the wedding;</td>

  </tr>

  <tr>
    
  <td>Hódie in Jordáne a Joánne Christus baptizári vóluit,</td>

    
  <td>Today in the Jordan by John, Christ chose to be baptized</td>

  </tr>

  <tr>
    
  <td>ut salváret nos, Allelúia.</td>

    
  <td>in order to save us, Alleluia.</td>

  </tr>

</table>

</blockquote>
<p
xmlns:html="http://www.w3.org/1999/xhtml">It was really nice to sing with a choir that was a little more well-resourced, meet some lovely new people, and learn some music that was new to me. I'll be sure to join this choir again whenever I'm in Melbourne!</p></section></div></content></entry><entry><title>Weeknotes 2026-W01</title><published>2026-01-04T00:00:00Z</published><updated>2026-01-04T00:00:00Z</updated><author><name>Liam O'Connor</name><uri>https://liamoc.net/forest/liamoc/</uri></author><link
rel="alternate"
type="text/html"
href="https://liamoc.net/forest/2026-W01/" /><id>https://liamoc.net/forest/2026-W01/</id><content
type="xhtml"><div
xmlns="http://www.w3.org/1999/xhtml"><p
xmlns:html="http://www.w3.org/1999/xhtml">This new-years week was predominantly spent resting and preparing for my travel to Melbourne to avoid the dreaded Summernats festival, so I have little to report, save my church singing for the week.</p><figure
xmlns:html="http://www.w3.org/1999/xhtml"><img
loading="lazy"
width="350px"
src="/forest/bafkyrzaciae3ldgzjz57uk6olv2z4dfwhgpjwqlf7uy6eucuocku3oxhqltky3j2oxq6uplbt3hxnp2jrbv5q2gzas6kde7kculz3s54dv2icoc6.jpeg" /><figcaption>A Canberra moonrise from my apartment balcony.</figcaption></figure><section
class="block hide-metadata numbered"><header><h2>Epiphany of the Lord 2026</h2></header>
  <blockquote
xmlns:html="http://www.w3.org/1999/xhtml">Ecce advénit dominátor Dóminus: et regnum in manu eius, et potéstas, et impérium. 
 </blockquote>
<p
xmlns:html="http://www.w3.org/1999/xhtml">I was a one-man choir for the mass at <span
class="link external"><a
href="https://allsaintsainslie.org.au/">All Saints Ainslie</a></span> today. I sang a Christmas Gloria in place of the usual one from the Dudman mass setting, and for an anthem I sang Cornelius' <span
class="link external"><a
href="https://www.youtube.com/watch?v=a2dNKv48WJQ">The Three Kings</a></span>, where the choir was replaced with a lovely piano accompaniment:</p>
  <blockquote
xmlns:html="http://www.w3.org/1999/xhtml">
      <table
style="text-align: left">
        <tr><td>Three kings from Persian lands afar</td></tr>
        <tr><td>To Jordan follow the pointing star.</td></tr>
        <tr><td>And this the quest of the travellers three,</td></tr>
        <tr><td>Where the newborn King of the Jews may be.</td></tr>
        <tr><td>Full royal gifts they bear for the king;</td></tr>
        <tr><td>Gold, incense, myrrh are their offering.<br /></td></tr>
        <tr><td>The star shines out with a steadfast ray,</td></tr>
        <tr><td>The kings to Bethlehem make their way,</td></tr>
        <tr><td>And there in worship they bend the knee,</td></tr>
        <tr><td>As Mary's child in her lap they see.</td></tr>
        <tr><td>Full royal gifts they show to the king;</td></tr>
        <tr><td>Gold, incense, myrrh are their offering.<br /></td></tr>
        <tr><td>Thou child of Man, lo, to Bethlehem</td></tr>
        <tr><td>The kings are travelling; travel with them!</td></tr>
        <tr><td>The star of Mercy, the star of Grace,</td></tr>
        <tr><td>Shall lead thy heart to its resting place.</td></tr>
        <tr><td>Gold, incense, myrrh, thou canst not bring;</td></tr>
        <tr><td>Offer thy heart to the infant King.</td></tr>
        <tr><td>Offer thy heart.</td></tr>
      </table>
  </blockquote>
<p
xmlns:html="http://www.w3.org/1999/xhtml">I think it went rather well! I got many compliments during and after the service.</p><p
xmlns:html="http://www.w3.org/1999/xhtml">I've also finally added all my Chester-published polyphonic works and the English Church Music books to my <span
class="link local"><a
href="/forest/loc-002D">Music Index</a></span>, so the index should be more or less complete for now.</p></section></div></content></entry><entry><title>Weeknotes 2025-W52</title><published>2025-12-28T00:00:00Z</published><updated>2025-12-28T00:00:00Z</updated><author><name>Liam O'Connor</name><uri>https://liamoc.net/forest/liamoc/</uri></author><link
rel="alternate"
type="text/html"
href="https://liamoc.net/forest/2025-W52/" /><id>https://liamoc.net/forest/2025-W52/</id><content
type="xhtml"><div
xmlns="http://www.w3.org/1999/xhtml"><p
xmlns:html="http://www.w3.org/1999/xhtml">This week, perhaps obviously, has no research or teaching related news to report, but plenty of church engagements kept me busy, along with the usual family Christmas catchup.</p><section
class="block hide-metadata numbered"><header><h2>Nativity of the Lord 2025</h2></header>
  <blockquote
xmlns:html="http://www.w3.org/1999/xhtml"> Dóminus dixit ad me: Fílius meus es tu, Ego hódie génui te.
  <br />
  Puer natus est nobis, et fílius datus est nobis: cuius impérium super húmerum eius: et vocábitur nomen eius, magni consílii Angelus.
 </blockquote>
<p
xmlns:html="http://www.w3.org/1999/xhtml">This Christmas at <span
class="link external"><a
href="https://allsaintsainslie.org.au/">All Saints Ainslie</a></span> we reprised Bach's <span
class="link external"><a
href="https://www.youtube.com/watch?v=T5Df7f_BLU8">Jesu, Joy of Man's Desiring</a></span> at the Midnight Mass, this time with an oboe (our oboist also played the descant lines for the classic Willcocks carols):</p>
  <blockquote
xmlns:html="http://www.w3.org/1999/xhtml">
      <table
style="text-align: left">
        <tr><td>Jesu, joy of man's desiring,</td></tr>
        <tr><td>Holy wisdom, love most bright;</td></tr>
        <tr><td>Drawn by Thee, our souls aspiring</td></tr>
        <tr><td>Soar to uncreated light.<br /></td></tr>
          
        <tr><td>Word of God, our flesh that fashioned,</td></tr>
        <tr><td>With the fire of life impassioned,</td></tr>
        <tr><td>Striving still to truth unknown,</td></tr>
        <tr><td>Soaring, dying round Thy throne.<br /></td></tr>
          
        <tr><td>Through the way where hope is guiding,</td></tr>
        <tr><td>Hark, what peaceful music rings;</td></tr>
        <tr><td>Where the flock, in Thee confiding,</td></tr>
        <tr><td>Drink of joy from deathless springs.<br /></td></tr>
          
        <tr><td>Theirs is beauty's fairest pleasure;</td></tr>
        <tr><td>Theirs is wisdom's holiest treasure.</td></tr>
        <tr><td>Thou dost ever lead Thine own</td></tr>
        <tr><td>In the love of joys unknown.</td></tr>
      </table>
  </blockquote>
<p
xmlns:html="http://www.w3.org/1999/xhtml">There were many many stars visible in the night sky on the way to and from the service. Reminds me of the English version of the Cantique de Noël ("O Holy Night").</p><p
xmlns:html="http://www.w3.org/1999/xhtml">Our director Alasdair cantored solo for the Christmas day mass, so we only had to sing for one service. I also tuned into the livestreamed midnight mass at my old haunt <span
class="link external"><a
href="https://smas.church/">St. Michael and All Saints</a></span>, and got hit with massive liturgical envy. They did all of the ordinaries and propers in Latin with gregorian chant. Some really great liturgy work in general. I plan to sing with them again for two weeks next month!</p></section><section
class="block hide-metadata numbered"><header><h2>1st Sunday after Christmas 2025</h2></header>
  <blockquote
xmlns:html="http://www.w3.org/1999/xhtml">Deus in loco sancto suo: Deus, qui inhabitáre facit unánimes in domo: ipse dabit virtútem et fortitúdinem plebi suæ.
  <br />
  Dum médium siléntium tenérent ómnia, et nox in suo cursu médium iter habéret, omnípotens sermo tuus, Dómine, de cælis a regálibus sédibus venit.
 </blockquote>
<p
xmlns:html="http://www.w3.org/1999/xhtml">I got up early to attend the BCP service at <span
class="link external"><a
href="https://www.stjohnscanberra.org/">St. John's</a></span>, but was disappointed to see that the service was following the APBA and not the BCP. I think the BCP is only used after January. Furthermore, even by APBA standards the Eucharistic prayer was rushed and insufficiently reverent. Oh well, it is a lovely little church:</p><figure
xmlns:html="http://www.w3.org/1999/xhtml"><img
loading="lazy"
width="250px"
src="/forest/bafkyrzaciaj3xcvlqfzaoikgb3vakxu76igazab5zp7ex6yajhcjnohr2xzpeshv24pozlszgbfape42ig6fx3fmmiamcxgh4h54rpnvglvfl7he.jpeg" />
  <img
loading="lazy"
width="250px"
src="/forest/bafkyrzacidgcegonmahvrimvncwzryrge3de36cgdb4jvrj2avhnmqn3gdpokriyvnpma6ezmexr6glf72kdki7axviuve4cdhsjw2qdjqaqq2kk.jpeg" />
  <img
loading="lazy"
width="250px"
src="/forest/bafkyrzaciawabhu6ctragujefcc4lshl7snxgj2526s4ooovep25qi562rfrtrwpye7bce3kr5te4jnrsdxv7ttuxhosxntxkppl2yl7yllzsmyg.jpeg" />
  <figcaption>Church of St. John the Baptist, Reid.</figcaption></figure><p
xmlns:html="http://www.w3.org/1999/xhtml">Then I walked to <span
class="link external"><a
href="https://allsaintsainslie.org.au/">All Saints Ainslie</a></span>, and volunteered at the last minute to cantor for this choirless Sunday mass. I sang an old favourite of mine a capella: <span
class="link external"><a
href="https://www.youtube.com/watch?v=y2xZ_qfyApc">The truth sent from above</a></span> (famously used by Ralph Vaughan Williams in his Fantasia on Christmas Carols):</p>
  <blockquote
xmlns:html="http://www.w3.org/1999/xhtml">
      <table
style="text-align: left">
        <tr><td>This is the truth sent from above,</td></tr>
        <tr><td>The truth of God, the God of love,</td></tr>
        <tr><td>Therefore don't turn me from your door</td></tr>
        <tr><td>But hearken all, both rich and poor.<br /></td></tr>
          
        <tr><td>The first thing which I do relate</td></tr>
        <tr><td>Is that God did Man create;</td></tr>
        <tr><td>The next thing which to you I'll tell:</td></tr>
        <tr><td>Woman was made with Man to dwell.<br /></td></tr>
          
        <tr><td>Then after this 'twas God's own choice</td></tr>
        <tr><td>To place them both in Paradise,</td></tr>
        <tr><td>There to remain from Evil free,</td></tr>
        <tr><td>Except they ate of such a tree.<br /></td></tr>
          
        <tr><td>Thus we were heirs to endless woes</td></tr>
        <tr><td>Till God the Lord did interpose,</td></tr>
        <tr><td>And so a promise soon did run</td></tr>
        <tr><td>That he would redeem us by his Son. <br /></td></tr>
        
        <tr><td>And at this season of the year,</td></tr>
        <tr><td>Our blest Redeemer did appear.</td></tr>
        <tr><td>Here he did live, and here did preach,</td></tr>
        <tr><td>Any many thousands he did teach.<br /></td></tr>
        
        <tr><td>Thus he in Love to us behaved,</td></tr>
        <tr><td>To show us how we must be saved,</td></tr>
        <tr><td>And if you too want to know the way</td></tr>
        <tr><td>Be pleased to hear what He did say.</td></tr>
      </table>
  </blockquote>
</section></div></content></entry><entry><title>Weeknotes 2025-W51</title><published>2025-12-21T00:00:00Z</published><updated>2025-12-21T00:00:00Z</updated><author><name>Liam O'Connor</name><uri>https://liamoc.net/forest/liamoc/</uri></author><link
rel="alternate"
type="text/html"
href="https://liamoc.net/forest/2025-W51/" /><id>https://liamoc.net/forest/2025-W51/</id><content
type="xhtml"><div
xmlns="http://www.w3.org/1999/xhtml"><p
xmlns:html="http://www.w3.org/1999/xhtml">This week somehow I didn't end up getting much work done, although a bunch of admin was handled. Next week I will be singing at Midnight Mass and then travelling to Sydney to spend Christmas day with my family.</p><figure
xmlns:html="http://www.w3.org/1999/xhtml"><img
loading="lazy"
width="350px"
src="/forest/bafkyrzacic7piqlkn7fgaxc6j3k37tcbfbt5kkyvr2lxs4jrngoxfncfirtk6qxfqpdx5vnhcny2xamshsuwcouk2w4gvhrikdkpqx42ry4q3pby.jpeg" /><figcaption>A nice Canberra morning.</figcaption></figure><section
class="block hide-metadata numbered"><header><h2>4th Sunday of Advent 2025</h2></header>
  <blockquote
xmlns:html="http://www.w3.org/1999/xhtml"> Roráte cæli désuper, et nubes pluant iustum: aperiátur terra, et gérminet Salvatórem.
 </blockquote>
<figure
xmlns:html="http://www.w3.org/1999/xhtml"><img
loading="lazy"
width="350px"
src="/forest/bafkyrzacicecc7hhu72vfjtazko3y52yuz7mz5no56iuxwz3ksm5matmhydxs7mwqfid4rma2ewxbkb4anrpjwirhone2pvxjl3623nfceodftf3.jpeg" />
   <figcaption>Rehearsing in a hot and humid, but charming church.</figcaption></figure><p
xmlns:html="http://www.w3.org/1999/xhtml">This muggy Sunday at <span
class="link external"><a
href="https://allsaintsainslie.org.au/">All Saints Ainslie</a></span> we sang Prätorius' <span
class="link external"><a
href="https://www.youtube.com/watch?v=7RjAXOcTebI">Es ist ein Ros' entsprungen</a></span> under my direction. There was also a memorial minute of silence for the victims of the horrific Bondi shooting in Sydney last Sunday. </p>
  <blockquote
xmlns:html="http://www.w3.org/1999/xhtml">
      
  <table>
        
  <tr>
        
  <td>Es ist ein Ros entsprungen,</td>

        
  <td>There is a rose up-springing,</td>

        </tr>

  <tr>
        
  <td>aus einer Wurzel zart,</td>

        
  <td>from a tender root,</td>

        </tr>

  <tr>
        
  <td>wie uns die Alten sungen,</td>

        
  <td>as the ancients have sung,</td>

      </tr>

  <tr>
        
  <td>von Jesse kam die Art</td>

        
  <td>it comes from Jesse's branch.</td>

      </tr>

  <tr>
        
  <td>und hat ein Blümlein bracht</td>

        
  <td>Its blossom flowering bright,</td>

      </tr>

  <tr>
        
  <td>mitten im kalten Winter,</td>

        
  <td>amidst the cold winter,</td>

      </tr>

  <tr>
        
  <td>wohl zu der halben Nacht.</td>

        
  <td>when half the night remains.</td>

      </tr>

  <tr>
        
  <td><br /></td>

        
  <td />

      </tr>

  <tr>
        
  <td>Das Röslein, das ich meine,</td>

        
  <td>This little rose of which I sing,</td>

      </tr>

  <tr>
        
  <td>davon Jesaja sagt,</td>

        
  <td>of which Isaiah spoke, </td>

      </tr>

  <tr>
        
  <td>hat uns gebracht alleine</td>

        
  <td>was brought to us solely by</td>

      </tr>

  <tr>
        
  <td>Marie, die reine Magd.</td>

        
  <td>Mary, the pure maiden.</td>

      </tr>

  <tr>
        
  <td>Aus Gottes ew'gem Rat</td>

        
  <td>By God's eternal plan,</td>

      </tr>

  <tr>
        
  <td>hat sie ein Kind geboren</td>

        
  <td>a child was born to her</td>

      </tr>

  <tr>
        
  <td>und blieb doch reine Magd.</td>

        
  <td>but she remained a pure Maiden.</td>

      </tr>

  <tr>
        
  <td><br /></td>

        
  <td />

      </tr>

  <tr>
        
  <td>Das Blümelein so kleine,</td>

        
  <td>That little blossom, so tiny,</td>

      </tr>

  <tr>
        
  <td>das duftet uns so süß,</td>

        
  <td>that to us smells so sweet,</td>

      </tr>

  <tr>
        
  <td>mit seinem hellen Scheine</td>

        
  <td>with its bright shining</td>

      </tr>

  <tr>
        
  <td>Vertreibt's die Finsternis.</td>

        
  <td>drives away the darkness.</td>

      </tr>

  <tr>
        
  <td>Wahr' Mensch und wahrer Gott,</td>

        
  <td>True man and truer God,</td>

      </tr>

  <tr>
        
  <td>hilft uns aus allem Leide,</td>

        
  <td>He aids us from all suffering,</td>

      </tr>

  <tr>
        
  <td>rettet von Sünd und Tod.</td>

        
  <td>and saves us from sin and death.</td>

      </tr>

    </table>

  </blockquote>
<p
xmlns:html="http://www.w3.org/1999/xhtml"><em>Edit:</em> I tuned in to the mass at my old haunt <span
class="link external"><a
href="https://smas.church/">St. Michael and All Saints</a></span> and discovered that they sang the same anthem (but in English). Nice bit of synchronicity.</p><p
xmlns:html="http://www.w3.org/1999/xhtml"><em>Edit 2:</em> I also forgot to mention that last Wednesday, three of us also went to the <span
class="link external"><a
href="https://goodwin.org.au/retirement-living/">Goodwin Retirement Village</a></span> in Ainslie to sing for the Christmas service they held in their chapel, where we sang the <span
class="link external"><a
href="https://www.youtube.com/watch?v=WII-nEAykqY">Coventry Carol</a></span>:</p>
  <blockquote
xmlns:html="http://www.w3.org/1999/xhtml">
    <table
style="text-align: left">
      <tr><td>Lully, lullay, þow littell tyne childe,</td></tr>
      <tr><td>by, by, lully, lullay.</td></tr>
      <tr><td>þow littell tyne childe:</td></tr>
      <tr><td>by, by, lully, lullay.</td></tr>
      <tr><td><br /></td></tr>
      <tr><td>O! Sisters too, how may we do</td></tr>
      <tr><td>for to preserve this day</td></tr>
      <tr><td>this pore yongling for whom we do singe:</td></tr>
      <tr><td>by, by, lully, lullay?</td></tr>
      <tr><td><br /></td></tr>
      <tr><td>Herod, the king, in his raging,</td></tr>
      <tr><td>chargid he hath this day,</td></tr>
      <tr><td>his men of might in his owne sight,</td></tr>
      <tr><td>all yonge children to slay.</td></tr>
      <tr><td><br /></td></tr>
      <tr><td>That wo is me, pore childe, for Thee</td></tr>
      <tr><td>and ever morne and day</td></tr>
      <tr><td>for thi parting nether say nor singe:</td></tr>
      <tr><td>by, by, lully, lullay.</td></tr>
    </table>
  </blockquote>
</section></div></content></entry><entry><title>Weeknotes 2025-W50</title><published>2025-12-14T00:00:00Z</published><updated>2025-12-14T00:00:00Z</updated><author><name>Liam O'Connor</name><uri>https://liamoc.net/forest/liamoc/</uri></author><link
rel="alternate"
type="text/html"
href="https://liamoc.net/forest/2025-W50/" /><id>https://liamoc.net/forest/2025-W50/</id><content
type="xhtml"><div
xmlns="http://www.w3.org/1999/xhtml"><p
xmlns:html="http://www.w3.org/1999/xhtml">This week felt quite productive. The <span
class="link local"><a
href="/forest/loc-001W">Logic Summer School</a></span> has now finished, and my PhD student at <span
class="link local"><a
href="/forest/uoe">University of Edinburgh</a></span>, <span
class="link local"><a
href="/forest/rayhana">Rayhana Amjad</a></span>, has now embarked back to the UK. My course (<span
class="link local"><a
href="/forest/isa-0001">Interactive theorem proving</a></span>) was only for the first week, so I had some time to get work done this week. <span
class="link local"><a
href="/forest/hoefner">Peter Höfner</a></span> and I finally finished a mammoth proof in Isabelle that matrices over a Kleene algebra are themselves a Kleene algebra, a proof that's important for <span
class="link local"><a
href="/forest/dexterkozen">Dexter Kozen</a></span>'s completeness result for Kleene algebras. This required some novel proof engineering, and some constructions to make the proof go though that we think <span
class="link local"><a
href="/forest/dexterkozen">Dexter</a></span> may have missed in his pen-and-paper proof. I may write up my thoughts this coming week, but it's also possible that you might have to wait for a paper. <span
class="link local"><a
href="/forest/rayhana">Rayhana Amjad</a></span> and I also sketched out some future directions for our work, which is quite exciting.</p><figure
xmlns:html="http://www.w3.org/1999/xhtml"><img
loading="lazy"
width="350px"
src="/forest/bafkyrzacido4nxsetvlxztet5kjycmmmnmsxq7vonbyqa3asbvrjkg7n52aozosmgrluoews6zlh4yw7uvolvle7rvmc5e5ivmwz7bhrz2kung5p.jpeg" /><figcaption>A picturesque cloudy Canberra evening.</figcaption></figure><section
class="block hide-metadata numbered"><header><h2>Web Components are confusing; bugs fixed.</h2></header><p
xmlns:html="http://www.w3.org/1999/xhtml">I use <span
class="link external"><a
href="https://developer.mozilla.org/en-US/docs/Web/API/Web_components">Web Components</a></span> to make widgets that I can easily emit from Forester documents, such as my <span
class="link local"><a
href="/forest/loc-0015">Gregorian Chants in Forester</a></span> and <span
class="link local"><a
href="/forest/loc-0029">Syntax Highlighting</a></span> plugins. I noticed that on large pages (such as my <span
class="link local"><a
href="/forest/loc-001B">weeknotes page</a></span>) these plugins would sometimes mysteriously fail to load. I later realised that this is because the <code>innerText</code>, <code>innerHTML</code> and <code>textContent</code> properties may not be initialised when the web component is attached to the DOM, if the page is still loading. The solution requires attaching mutation listeners and waiting for the text to be added later. This seems unnecessarily complicated, but anyway, the plugins have been fixed now. </p></section><section
class="block hide-metadata numbered"><header><h2>"AI is Destroying Learning Itself"</h2></header><p
xmlns:html="http://www.w3.org/1999/xhtml">I've already listed a <span
class="link local"><a
href="/forest/loc-001H">decent number of anti-LLM articles</a></span> from various perspectives: the technological assault on artistic pursuit, authentic self-development, our social protocols, and on the stability of the economy, but (beyond the <span
class="link local"><a
href="/forest/loc-001H">open letter itself</a></span>) I hadn't seen much quality writing on the profound damage this technology is doing to higher education, until I read <span
class="link external"><a
href="https://www.currentaffairs.org/news/ai-is-destroying-the-university-and-learning-itself">this current affairs article</a></span> by Ronald Purser. A lot of it ties in with a <span
class="link local"><a
href="/forest/loc-001M">general decline in conscientiousness</a></span> that I think is not only a sign of a sick society, but also a deeply unfulfilling one. It's well worth the read.  </p></section><section
class="block hide-metadata numbered"><header><h2>3rd Sunday of Advent 2025</h2></header>
  <blockquote
xmlns:html="http://www.w3.org/1999/xhtml"> Gaudéte in Dómino semper: íterum dico, gaudéte: modéstia vestra nota sit ómnibus homínibus: Dóminus prope est. Nihil sollíciti sitis: sed omni orátione petitiónes vestræ innotéscant apud Deum.
 </blockquote>
<p
xmlns:html="http://www.w3.org/1999/xhtml">This "Gaudete" Sunday at <span
class="link external"><a
href="https://allsaintsainslie.org.au/">All Saints Ainslie</a></span> we had fun singing <span
class="link external"><a
href="https://www.youtube.com/watch?v=l1NgHonWNE0">this medieval carol</a></span>:</p>
  <blockquote
xmlns:html="http://www.w3.org/1999/xhtml">
  
  <table>
    
  <tr>
    
  <td>Gaudéte, gaudéte Christus est natus</td>

    
  <td>Rejoice! Rejoice, Christ is born</td>

    </tr>

  <tr>
    
  <td>ex María vírgine, Gaudéte!</td>

    
  <td>of the Virgin Mary, Rejoice!</td>

    </tr>

  <tr>
    
  <td>Tempus adest grátiæ, hoc quod optabámus,</td>

    
  <td>The time of grace has come, of which we wished,</td>

  </tr>

  <tr>
    
  <td>Carmina lætítiæ devóte reddámus!</td>

    
  <td>Let us faithfully render songs of joy!</td>

  </tr>

  <tr>
    
  <td>Deus homo factus est, nátura mirante</td>

    
  <td>God has become Man, nature marvels.</td>

  </tr>

  <tr>
    
  <td>Mundus renovátus est, a Christo regnánte</td>

    
  <td>The world is renewed by the reigning Christ.</td>

  </tr>

  <tr>
    
  <td>Ezechiélis porta clausa per tránsítur</td>

    
  <td>The closed gate of Ezekiel is passed,</td>

  </tr>

  <tr>
    
  <td>Unde lux est orta salus invenítur.</td>

    
  <td>Whence light has risen, salvation is found.</td>

  </tr>
 
  <tr>
    
  <td>Ergo nostra cóntio psallat iam in lústro,</td>

    
  <td>Now let our assembly sing psalms to him in gladness,</td>

  </tr>
 
  <tr>
    
  <td>Benedícat Dómino, salus regi nostro.</td>

    
  <td>Let us bless the Lord, greetings to our King.</td>

  </tr>

  
  <tr>
  
  <td>Gaudéte, gaudéte Christus est natus</td>

  
  <td>Rejoice! Rejoice, Christ is born</td>

  </tr>

  <tr>
  
  <td>ex María vírgine, Gaudéte!</td>

  
  <td>of the Virgin Mary, Rejoice!</td>

  </tr>

</table>

</blockquote>
</section></div></content></entry><entry><title>Weeknotes 2025-W49</title><published>2025-12-07T00:00:00Z</published><updated>2025-12-07T00:00:00Z</updated><author><name>Liam O'Connor</name><uri>https://liamoc.net/forest/liamoc/</uri></author><link
rel="alternate"
type="text/html"
href="https://liamoc.net/forest/2025-W49/" /><id>https://liamoc.net/forest/2025-W49/</id><content
type="xhtml"><div
xmlns="http://www.w3.org/1999/xhtml"><p
xmlns:html="http://www.w3.org/1999/xhtml">Much of this past week was spent organising for my <span
class="link local"><a
href="/forest/loc-001W">Logic Summer School</a></span> course or preparing for the Service of Lessons and Carols at Ainslie. Both went well I think! But I was so exhausted last night that these weeknotes are a day late.</p><section
class="block hide-metadata numbered"><header><h2>The first week of LSS is over</h2></header><figure
xmlns:html="http://www.w3.org/1999/xhtml"><img
width="250px"
src="/forest/bafkyrzacidy6yadnvz5dfanscm3nucfgl3xee6a63dlg6r7xemlxdt466kh7niyyc6zisx7ciyp2rwqne6eeq774twrnlhyjbkspkg4iap57bttr.jpeg"
loading="lazy" /></figure><p
xmlns:html="http://www.w3.org/1999/xhtml">The first week of the <span
class="link local"><a
href="/forest/anu">ANU</a></span> <span
class="link local"><a
href="/forest/loc-001W">Logic Summer School</a></span> has concluded, including my introductory course on <span
class="link local"><a
href="/forest/isa-0001">Interactive theorem proving</a></span>. I think the course went well and students learnt a little of what makes theorem proving fun. Chelsea Edmonds will follow on from my course in week 2 with her own course on software verification. I hope I prepared the students well. We went on an excursion to the Tidbinbilla nature reserve (photos of which I have also previously shared on <span
class="link local"><a
href="/forest/2025-W27">Weeknotes 2025-W27</a></span> and <span
class="link local"><a
href="/forest/2025-W44">Weeknotes 2025-W44</a></span>).</p><figure
xmlns:html="http://www.w3.org/1999/xhtml"><img
loading="lazy"
width="250px"
src="/forest/bafkyrzacia57sofk5xklktzermdphqpmve6hawt5yu2esvqnulkwufwvzmzlxbjavjhfd2o6nb63mt3xbufp33aymof5tavwdejsvscvlthkfuot.jpeg" />
  <img
loading="lazy"
width="250px"
src="/forest/bafkyrzacid5joq7e5lzkitjxcg22xih53lmdqsmppngz4jdjcoaqup6axdhurziciisphsevrkggsfrc42arhg6nwwnceautczykkbbbqtd4jrpe.jpeg" />
  <img
loading="lazy"
width="250px"
src="/forest/bafkyrzacibgibw4nry5glylapuhpzeivayz5wpf2akrlnsn3advp2mfijgqif4tz5faazrgayugtxapjvdg6643tdra3clpclyjdsu553qf2zc4u.jpeg" />
  <img
loading="lazy"
width="250px"
src="/forest/bafkyrzacibkcqbj33x3zmhdnwh5j2gl4l52sjwk6kylkhe3gkds2udtye3ctuowja4nyp5dujzuym2ae6hzloffnwhhv5dlmmgfrzjeeztztzp6z.jpeg" />
  <figcaption>Various Australian fauna seen at Tidbinbilla</figcaption></figure><p
xmlns:html="http://www.w3.org/1999/xhtml">It was a lot of fun to show some of our visiting students some of the natural landscapes so easily accessible from Canberra. I think we all had a really good day, even though it was sweltering hot. </p></section><section
class="block hide-metadata numbered"><header><h2>2nd Sunday of Advent 2025</h2></header>
  <blockquote
xmlns:html="http://www.w3.org/1999/xhtml">
  Populus Sion, ecce Dóminus véniet ad salvándas gentes: et audítam fáciet Dóminus glóriam vocis suæ, in lætítia cordis vestri.</blockquote>
<p
xmlns:html="http://www.w3.org/1999/xhtml">This was a big Sunday at <span
class="link external"><a
href="https://allsaintsainslie.org.au/">All Saints Ainslie</a></span>. In the morning a small group of us sang Bach's <span
class="link external"><a
href="https://www.youtube.com/watch?v=T5Df7f_BLU8">Jesu, Joy of Man's Desiring</a></span>:</p>
  <blockquote
xmlns:html="http://www.w3.org/1999/xhtml">
    <table
style="text-align: left">
      <tr><td>Jesu, joy of man's desiring,</td></tr>
      <tr><td>Holy wisdom, love most bright;</td></tr>
      <tr><td>Drawn by Thee, our souls aspiring</td></tr>
      <tr><td>Soar to uncreated light.<br /></td></tr>
        
      <tr><td>Word of God, our flesh that fashioned,</td></tr>
      <tr><td>With the fire of life impassioned,</td></tr>
      <tr><td>Striving still to truth unknown,</td></tr>
      <tr><td>Soaring, dying round Thy throne.<br /></td></tr>
        
      <tr><td>Through the way where hope is guiding,</td></tr>
      <tr><td>Hark, what peaceful music rings;</td></tr>
      <tr><td>Where the flock, in Thee confiding,</td></tr>
      <tr><td>Drink of joy from deathless springs.<br /></td></tr>
        
      <tr><td>Theirs is beauty's fairest pleasure;</td></tr>
      <tr><td>Theirs is wisdom's holiest treasure.</td></tr>
      <tr><td>Thou dost ever lead Thine own</td></tr>
      <tr><td>In the love of joys unknown.</td></tr>
    </table>
</blockquote>
<p
xmlns:html="http://www.w3.org/1999/xhtml">But, more significantly, we had our annual Lessons and Carols service. I cantored for the initial <span
class="link external"><a
href="https://www.youtube.com/watch?v=9uJdSvo1e2U">Matin Responsory</a></span> based on a Nunc Dimittis by Palestrina (despite the fact the Carols for Choirs edition says it's based on a Magnificat):</p>
  <blockquote
xmlns:html="http://www.w3.org/1999/xhtml"><table
style="text-align: left"><tr><td><strong>I look from afar,</strong></td></tr>
<tr><td>And lo, I see the power of God coming, and a cloud covering the whole Earth.</td></tr>
<tr><td><strong>Go ye out to meet him and say:</strong></td></tr>
<tr><td>Tell us, art thou he that should come to reign over thy people Israel?</td></tr>
<tr><td>High and low, rich and poor, one with another,</td></tr>
<tr><td>Go ye out to meet him and say:</td></tr>
<tr><td>Hear, O thou Shepherd of Israel, thou that leadest Joseph like a sheep,</td></tr>
<tr><td>Tell us, art thou he that should come?</td></tr>
<tr><td>Stir up thy strength, O Lord, and come</td></tr>
<tr><td>To reign over thy people, Israel.</td></tr>
<tr><td><strong>Glory be to the Father and to the Son, and to the Holy Ghost.</strong></td></tr>
<tr><td>I look from afar,</td></tr>
<tr><td>And lo, I see the power of God coming, and a cloud covering the whole Earth.</td></tr>
<tr><td>Go ye out to meet him and say:</td></tr>
<tr><td>Tell us, art thou he that should come to reign over thy people Israel?</td></tr></table></blockquote>
<p
xmlns:html="http://www.w3.org/1999/xhtml"> We had several guest singers join us including Rachel Mink and Dan Walker from Luminescence. Rachel sang the initial verse of <span
class="link external"><a
href="https://www.youtube.com/watch?v=rA4Ng96nb3Y">Once In Royal David's City</a></span>, after which we processed to the remaining verses. After the first lesson from yours truly, we performed Ord's <span
class="link external"><a
href="https://www.youtube.com/watch?v=oykLGvCfGCI">Adam Lay Ybounden</a></span>: </p>
  <blockquote
xmlns:html="http://www.w3.org/1999/xhtml"><table
style="text-align: left"><tr><td>Adam lay ybounden, bounden in a bond.</td></tr>
<tr><td>Four thousand winter thought he not too long.</td></tr>
<tr><td>And all was for an apple, an apple that he took,</td></tr>
<tr><td>As clerkes finden written in their book.</td></tr>
<tr><td>Ne had the apple taken been, the apple taken been,</td></tr>
<tr><td>Ne had never our ladye a been heavené queen.</td></tr>
<tr><td>Blessed be the time that apple taken was,</td></tr>
<tr><td>Therefore we moun singen <em>Deo Gracias</em>.</td></tr></table></blockquote>
<p
xmlns:html="http://www.w3.org/1999/xhtml">Following another reading, we had one of my favourite Christmas classics, Prätorius' <span
class="link external"><a
href="https://www.youtube.com/watch?v=7RjAXOcTebI">Es ist ein Ros' entsprungen</a></span>. </p>
  <blockquote
xmlns:html="http://www.w3.org/1999/xhtml">
    
  <table>
      
  <tr>
      
  <td>Es ist ein Ros entsprungen,</td>

      
  <td>There is a rose up-springing,</td>

      </tr>

  <tr>
      
  <td>aus einer Wurzel zart,</td>

      
  <td>from a tender root,</td>

      </tr>

  <tr>
      
  <td>wie uns die Alten sungen,</td>

      
  <td>as the ancients have sung,</td>

    </tr>

  <tr>
      
  <td>von Jesse kam die Art</td>

      
  <td>it comes from Jesse's branch.</td>

    </tr>

  <tr>
      
  <td>und hat ein Blümlein bracht</td>

      
  <td>Its blossom flowering bright,</td>

    </tr>

  <tr>
      
  <td>mitten im kalten Winter,</td>

      
  <td>amidst the cold winter,</td>

    </tr>

  <tr>
      
  <td>wohl zu der halben Nacht.</td>

      
  <td>when half the night remains.</td>

    </tr>

  <tr>
      
  <td><br /></td>

      
  <td />

    </tr>

  <tr>
      
  <td>Das Röslein, das ich meine,</td>

      
  <td>This little rose of which I sing,</td>

    </tr>

  <tr>
      
  <td>davon Jesaja sagt,</td>

      
  <td>of which Isaiah spoke, </td>

    </tr>

  <tr>
      
  <td>hat uns gebracht alleine</td>

      
  <td>was brought to us solely by</td>

    </tr>

  <tr>
      
  <td>Marie, die reine Magd.</td>

      
  <td>Mary, the pure maiden.</td>

    </tr>

  <tr>
      
  <td>Aus Gottes ew'gem Rat</td>

      
  <td>By God's eternal plan,</td>

    </tr>

  <tr>
      
  <td>hat sie ein Kind geboren</td>

      
  <td>a child was born to her</td>

    </tr>

  <tr>
      
  <td>und blieb doch reine Magd.</td>

      
  <td>but she remained a pure Maiden.</td>

    </tr>

  <tr>
      
  <td><br /></td>

      
  <td />

    </tr>

  <tr>
      
  <td>Das Blümelein so kleine,</td>

      
  <td>That little blossom, so tiny,</td>

    </tr>

  <tr>
      
  <td>das duftet uns so süß,</td>

      
  <td>that to us smells so sweet,</td>

    </tr>

  <tr>
      
  <td>mit seinem hellen Scheine</td>

      
  <td>with its bright shining</td>

    </tr>

  <tr>
      
  <td>Vertreibt's die Finsternis.</td>

      
  <td>drives away the darkness.</td>

    </tr>

  <tr>
      
  <td>Wahr' Mensch und wahrer Gott,</td>

      
  <td>True man and truer God,</td>

    </tr>

  <tr>
      
  <td>hilft uns aus allem Leide,</td>

      
  <td>He aids us from all suffering,</td>

    </tr>

  <tr>
      
  <td>rettet von Sünd und Tod.</td>

      
  <td>and saves us from sin and death.</td>

    </tr>

  </table>

</blockquote>
<p
xmlns:html="http://www.w3.org/1999/xhtml">After the next reading was the original traditonal arrangement of the <span
class="link external"><a
href="https://www.youtube.com/watch?v=WII-nEAykqY">Coventry Carol</a></span> with the crunchy false relation in the cadence.</p>
  <blockquote
xmlns:html="http://www.w3.org/1999/xhtml">
  <table
style="text-align: left">
    <tr><td>Lully, lullay, þow littell tyne childe,</td></tr>
    <tr><td>by, by, lully, lullay.</td></tr>
    <tr><td>þow littell tyne childe:</td></tr>
    <tr><td>by, by, lully, lullay.</td></tr>
    <tr><td><br /></td></tr>
    <tr><td>O! Sisters too, how may we do</td></tr>
    <tr><td>for to preserve this day</td></tr>
    <tr><td>this pore yongling for whom we do singe:</td></tr>
    <tr><td>by, by, lully, lullay?</td></tr>
    <tr><td><br /></td></tr>
    <tr><td>Herod, the king, in his raging,</td></tr>
    <tr><td>chargid he hath this day,</td></tr>
    <tr><td>his men of might in his owne sight,</td></tr>
    <tr><td>all yonge children to slay.</td></tr>
    <tr><td><br /></td></tr>
    <tr><td>That wo is me, pore childe, for Thee</td></tr>
    <tr><td>and ever morne and day</td></tr>
    <tr><td>for thi parting nether say nor singe:</td></tr>
    <tr><td>by, by, lully, lullay.</td></tr>
  </table>
</blockquote>
<p
xmlns:html="http://www.w3.org/1999/xhtml">The next reading was followed by <span
class="link external"><a
href="https://www.youtube.com/watch?v=LRuXdOb6TrA">O little town of Bethlehem</a></span> with the Willcocks descant. Then, after the next reading we sang the <em>significantly</em> less common arrangement of the Basque carol <em>Gabriel's Message</em>, also known as <em>the Angel Gabriel</em> or the <span
class="link external"><a
href="https://www.youtube.com/watch?v=RJnJ6Ko_kyw">Most Highly Flavoured Gravy</a></span>.</p>
  <blockquote
xmlns:html="http://www.w3.org/1999/xhtml">
  <table
style="text-align: left">
    <tr><td>The Angel Gabriel from heaven came,</td></tr>
    <tr><td>his wings as drifted snow, his eyes as flame;</td></tr>
    <tr><td>'All hail', said he, 'thou lowly maiden Mary</td></tr>
    <tr><td>Most highly favoured lady, <em>Gloria</em>.'</td></tr>
    <tr><td><br /></td></tr>
    <tr><td>'For known a blesséd Mother thou shalt be,</td></tr>
    <tr><td>all generations laud and honour thee,</td></tr>
    <tr><td>thy Son shall be Immanuel by seers foretold;</td></tr>
    <tr><td>Most highly favoured lady, <em>Gloria</em>.'</td></tr>
    <tr><td><br /></td></tr>
    <tr><td>Then gentle Mary meekly bowed her head,</td></tr>
    <tr><td>'To me be as it pleaseth God', she said,</td></tr>
    <tr><td>'My soul shall laud and magnify his holy name':</td></tr>
    <tr><td>most highly favoured lady, <em>Gloria</em>.</td></tr>
    <tr><td><br /></td></tr>
    <tr><td>Of her, Immanuel, the Christ was born</td></tr>
    <tr><td>in Bethlehem all on a Christmas morn,</td></tr>
    <tr><td>and Christian folk throughout the world will ever say:</td></tr>
    <tr><td>'most highly favoured lady, <em>Gloria</em>.'</td></tr>
  </table>
</blockquote>
<p
xmlns:html="http://www.w3.org/1999/xhtml">After one more reading, we performed what I think was a highlight of the whole service, and one of our best performances, Lauridsen's <span
class="link external"><a
href="https://www.youtube.com/watch?v=tZ-nuU-hda8">O Magnum Mysterium</a></span>:</p>
  <blockquote
xmlns:html="http://www.w3.org/1999/xhtml">
    
  <table>
      
  <tr>
      
  <td>O mágnum mystérium</td>

      
  <td>O great mystery,</td>

      </tr>

  <tr>
      
  <td>et admirábile sacraméntum,</td>

      
  <td>and wondrous sacrament,</td>

      </tr>

  <tr>
      
  <td>ut animália vidérent Dóminum nátum,</td>

      
  <td>that animals should see the newborn Lord,</td>

    </tr>

  <tr>
      
  <td>jacéntem in præsépio.</td>

      
  <td>lying in a manger.</td>

    </tr>

  <tr>
      
  <td>Beáta virgo, cújus víscera meruérunt</td>

      
  <td>Blessed virgin, whose womb was worthy</td>

    </tr>

  <tr>
      
  <td>portáre Dóminum Chrístum. Alleluia</td>

      
  <td>to bear the Lord Christ. Alleluia</td>

    </tr>

  </table>

</blockquote>
<p
xmlns:html="http://www.w3.org/1999/xhtml">Then we processed out <span
class="link external"><a
href="https://www.youtube.com/watch?v=ZOA2Y9Ms34s">while shepherds washed their socks</a></span> and ascended to the organ loft for the remainder of the service, where we performed Warlock's <span
class="link external"><a
href="https://www.youtube.com/watch?v=gQnuxaqbYx8">Bethlehem Down</a></span>. I heard that anthem was written on a napkin by an alcoholic and antitheist Peter Warlock in exchange for beer money, and that he died a few years after writing it. But the anthem itself is quite special.</p>
  <blockquote
xmlns:html="http://www.w3.org/1999/xhtml"><table
style="text-align: left"><tr><td>When He is King we will give him the King's gifts,</td></tr>
  <tr><td>Myrrh for its sweetness, and gold for a crown,</td></tr>
  <tr><td>"Beautiful robes", said the young girl to Joseph</td></tr>
  <tr><td>Fair with her first-born on Bethlehem Down.</td></tr>
  <tr><td><br /></td></tr>
  <tr><td>Bethlehem Down is full of the starlight</td></tr>
  <tr><td>Winds for the spices, and stars for the gold,</td></tr>
  <tr><td>Mary for sleep, and for lullaby music</td></tr>
  <tr><td>Songs of a shepherd by Bethlehem fold.</td></tr>
  <tr><td><br /></td></tr>
  <tr><td>When He is King they will clothe Him in grave-sheets,</td></tr>
  <tr><td>Myrrh for embalming, and wood for a crown,</td></tr>
  <tr><td>He that lies now in the white arms of Mary</td></tr>
  <tr><td>Sleeping so lightly on Bethlehem Down.</td></tr>
  <tr><td><br /></td></tr>
  <tr><td>Here He has peace and a short while for dreaming,</td></tr>
  <tr><td>Close-huddled oxen to keep Him from cold,</td></tr>
  <tr><td>Mary for love, and for lullaby music</td></tr>
  <tr><td>Songs of a shepherd by Bethlehem fold.</td></tr></table></blockquote>
<p
xmlns:html="http://www.w3.org/1999/xhtml">This was followed by another congregational carol with Willcocks descant, <span
class="link external"><a
href="https://www.youtube.com/watch?v=9Bwn0k0k8xI">Hark the Herald Angels Sing</a></span> and our last anthem of the evening, Wood's <span
class="link external"><a
href="https://www.youtube.com/watch?v=Qf202pdjMZk">Hey you! The Middle Ball</a></span>. </p>
  <blockquote
xmlns:html="http://www.w3.org/1999/xhtml">
  <table
style="text-align: left">
    <tr><td>O thou the central orb of righteous love,</td></tr>
    <tr><td>Pure beam of the Most High,</td></tr>
    <tr><td>Eternal Light of this our wintry world,</td></tr>
    <tr><td>Thy radiance bright awakes new joy in faith,</td></tr>
    <tr><td>Hope soars above.</td></tr>
    <tr><td><br /></td></tr>
    <tr><td>Come, quickly come and let thy glory shine,</td></tr>
    <tr><td>Gilding our darksome heav'n with rays divine.</td></tr>
    <tr><td>Thy saints with holy lustre round thee move,</td></tr>
    <tr><td>As stars about thy throne, set in the height</td></tr>
    <tr><td>Of God's ordaining counsel, </td></tr>
    <tr><td>As thy sight gives measured grace to each.</td></tr>
    <tr><td>Thy power to prove.</td></tr>
    <tr><td><br /></td></tr>
    <tr><td>Let thy bright beams disperse the gloom of sin,</td></tr>
    <tr><td>Our nature all shall feel eternal day,</td></tr>
    <tr><td>In fellowship with thee,</td></tr>
    <tr><td>Transforming day to souls erewhile unclean,</td></tr>
    <tr><td>now pure within.</td></tr>
    <tr><td><br /></td></tr>
    <tr><td>Amen.</td></tr>
  </table>
</blockquote>
<p
xmlns:html="http://www.w3.org/1999/xhtml">Of course, it wouldn't be a Christmas Carols service without the "Word of the Father" chord, so we finished up with Willcocks' arrangement of <span
class="link external"><a
href="https://www.youtube.com/watch?v=RkS57yCIk7E">O Come, All Ye Faithful</a></span>.
</p></section></div></content></entry><entry><title>Weeknotes 2025-W48</title><published>2025-11-30T00:00:00Z</published><updated>2025-11-30T00:00:00Z</updated><author><name>Liam O'Connor</name><uri>https://liamoc.net/forest/liamoc/</uri></author><link
rel="alternate"
type="text/html"
href="https://liamoc.net/forest/2025-W48/" /><id>https://liamoc.net/forest/2025-W48/</id><content
type="xhtml"><div
xmlns="http://www.w3.org/1999/xhtml"><p
xmlns:html="http://www.w3.org/1999/xhtml">I spent much of this week preparing notes for my upcoming Logic Summer School course, <span
class="link local"><a
href="/forest/isa-0001">Interactive theorem proving</a></span>.</p><figure
xmlns:html="http://www.w3.org/1999/xhtml"><img
loading="lazy"
width="250px"
src="/forest/bafkyrzaciay6gqikjpsgdu2j4csfe2eh2fwfzj3gvpntbc77a5eloa2zeledd7tzvotq7erfjhmqgoc2zl3r4nhaldcwwmdan2ecscyid6t5z2it.jpeg" /><img
loading="lazy"
width="250px"
src="/forest/bafkyrzaciam5n2n2ycn47ibrihmffwn7677rvbymtr7h3v3qscjyl53kggy4hydiiegbyguqume4zgo5yvnwe7u4csqhskl2676bpge2vhpmurq2.jpeg" />
 <figcaption>Clear skies on my walk to work.</figcaption></figure><section
class="block hide-metadata numbered"><header><h2>SAPLING Report</h2></header><p
xmlns:html="http://www.w3.org/1999/xhtml">Today I went with many colleagues to <span
class="link local"><a
href="/forest/google-syd">Google Sydney</a></span> for the <span
class="link external"><a
href="https://comp.anu.edu.au/sapling/index.html">Sydney Area Programming Languages Interest Group (SAPLING) 2025 meeting</a></span>. I didn't present anything at the meeting but my PhD student, <span
class="link local"><a
href="/forest/xinloi">Xin Lu</a></span> did a lightning talk introducing her work on incorrectness logic.</p><p
xmlns:html="http://www.w3.org/1999/xhtml">It was good to see many colleagues from <span
class="link local"><a
href="/forest/unsw">UNSW Sydney</a></span> and catch up with some of my former students who were now working for Google.</p></section><section
class="block hide-metadata numbered"><header><h2>The ICEL Lord's Prayer is Terrible</h2></header><p
xmlns:html="http://www.w3.org/1999/xhtml">One of my <em>many</em> bugbears with the Australian Anglican liturgy for the mass (based on <em>A Prayer Book for Australia</em>) is that they adopted the absolutely atrocious "modern" version of the Lord's Prayer from the Vatican's International Commission on English in the Liturgy some time during the 1970s:</p>
  <blockquote
xmlns:html="http://www.w3.org/1999/xhtml"><table
style="text-align: left">
  <tr><td>Our Father in Heaven,</td></tr>
  <tr><td>Hallowed be your name,</td></tr>
  <tr><td>Your kingdom come,</td></tr>
  <tr><td>Your will be done on Earth as in Heaven,</td></tr>
  <tr><td>Give us today our daily bread,</td></tr>
  <tr><td>And forgive us our sins,</td></tr>
  <tr><td>As we forgive those who sin against us,</td></tr>
  <tr><td>Save us from the time of trial,</td></tr>
  <tr><td>And deliver us from evil.</td></tr>
  <tr><td>(For the Kingdom, the Power and the Glory are yours, now and forever.)</td></tr>
  <tr><td>Amen</td></tr>
</table></blockquote>
<p
xmlns:html="http://www.w3.org/1999/xhtml">I won't get into whether or why the doxology should or shouldn't be included in the prayer (although the answer is that it shouldn't), but I think this is an absolutely <em>terrible</em> translation that is so egregiously bad that I mumble the prayer in Latin at that point in the service at All Saints when I sing there.</p><p
xmlns:html="http://www.w3.org/1999/xhtml">About 50-60 years ago when the ICEL attempted to make modern translations of liturgical prayers, they had four main goals in mind:</p><ul
xmlns:html="http://www.w3.org/1999/xhtml"><li><strong>Accessibility to normal English speakers</strong>. Unlike the archaic BCP English which often tends to be poetic, the ICEL liturgy was intended to be straightforward for normal English speakers with no special training to understand.</li>
<li><strong>Avoiding theological pitfalls</strong>. Lines such as "Lead us not into temptation" should be avoided because they imply that God somehow directly tempts us, which is theologically problematic. </li>
<li><strong>Ecumenism</strong>. The liturgy was intended for Roman Catholic liturgies worldwide, across all English-speaking cultures, and the liturgical movement it started was also carried forward by many mainline Protestant and Anglican churches.</li>
<li><strong>Dynamic Equivalence</strong>. Avoiding direct translation from the Latin or Greek, but instead trying to convey meaning in a natural, idiomatic, modern way for the target language.</li></ul><p
xmlns:html="http://www.w3.org/1999/xhtml">I personally disagree with some of these goals, but even putting aside my personal disagreements, I think this version of the prayer fails at all of these goals.</p><ul
xmlns:html="http://www.w3.org/1999/xhtml"><li><strong>Accessibility to normal English speakers</strong>. The line "Save us from the time of trial" seems to be referring to a particular time in the future — perhaps the time when Christ returns — rather than the trials and temptations of everyday life, to which the prayer was originally referring. In fact, I suspect almost all English-speaking Christians would think this line now refers to an apocalyptic time of trial. Doesn't seem very accessible to me.</li>
<li><strong>Avoiding theological pitfalls</strong>. They got rid of the theological problem of "leading into temptation" but added a brand new one: "As we forgive those who sin against us". Firstly, this line implies that it is possible to sin against a human being ("Every sin is chiefly against God" - Thomas Aquinas, ST-II-II 66.6) and, even worse, that human beings have the capacity to forgive sins ("Who can forgive sins but God alone?" - Mark 2:7).  </li>
<li><strong>Ecumenism</strong>. The ICEL came up with this translation for use in Roman Catholic liturgy, but it has now been completely removed from use in the same liturgy (and even before, was usually only used in a few dioceses), replaced with a much more direct translation from the Latin Missal. In fact, the only churches still using this terrible translation are mostly Anglican churches like mine.</li>
<li><strong>Dynamic Equivalence</strong>. They half-assed this, replacing the "thy"s and "art"s but leaving in several turns of phrase that clearly come from the Book of Common Prayer ("Hallowed be your name") that don't sound natural or idiomatic in modern English. </li></ul><p
xmlns:html="http://www.w3.org/1999/xhtml">I think there's some value in having something beautiful, poetic, or outside the norm in the liturgy. I think this is the value of the Latin liturgy, but the same value can be found in the poetic language of the BCP liturgies. Having something that appears "not of this world", different from the mundane language we use every day, is important to elevate the liturgy and set it apart from the normal day-to-day life of worshippers. The whole idea of "Dynamic Equivalence" robs the liturgy of its distinctiveness. I hope one day my church will put the APBA in the dustbin of history where it belongs.</p></section><section
class="block hide-metadata numbered"><header><h2>1st Sunday of Advent 2025</h2></header>
  <blockquote
xmlns:html="http://www.w3.org/1999/xhtml">
  Ad te levávi ánimam méam: Déus méus in te confido, non erubéscam: neque irrídeant me inimíci mei: étenim univérsi qui te expéctant, non confundéntur.</blockquote>
<p
xmlns:html="http://www.w3.org/1999/xhtml">This Sunday at <span
class="link external"><a
href="https://allsaintsainslie.org.au/">All Saints Ainslie</a></span> we were almost pre-warmed up from our rehearsal yesterday (for next week's Carol service). We sang Waters' lovely short anthem <span
class="link external"><a
href="https://www.youtube.com/watch?v=s6uU6lk4kd4">I sing of a maiden that is mateless</a></span>:</p>
  <blockquote
xmlns:html="http://www.w3.org/1999/xhtml">
    <table
style="text-align: left">
      <tr><td>I syng of a mayden þat is makeles,</td></tr>
      <tr><td>kyng of alle kynges to here sone che ches.</td></tr>
      <tr><td>He came also stylle þer his moder was</td></tr>
      <tr><td>as dew in aprylle, þat fallyt on þe gras.</td></tr>
      <tr><td><br /></td></tr>
      <tr><td>Moder &amp; mayden, was neuer non but che –</td></tr>
      <tr><td>wel may swych a lady, Godes moder be.</td></tr>
    </table>
</blockquote>
<p
xmlns:html="http://www.w3.org/1999/xhtml">I am starting to organise a group of monthy Evensong singers for next year. If you want to contriubte your voice, please get in touch with me!
</p><p
xmlns:html="http://www.w3.org/1999/xhtml">Also, as I recently got a collection of Tallis anthems to add to my <span
class="link local"><a
href="/forest/loc-002D">score collection</a></span>, I sang through a verse of <em>Why fum'th in sight</em>, the anthem that would, long after its writing, be rediscovered by Ralph Vaughan Williams and inspire his beautiful Fantasia for string orchestra.</p><iframe
xmlns:html="http://www.w3.org/1999/xhtml"
style="aspect-ratio: 16 / 9;"
width="100%
   "
src="https://www.youtube.com/embed/F4LHpA5PWKg"
title="Why Fum'th in Sight"
frameborder="0"
allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share"
referrerpolicy="strict-origin-when-cross-origin" /></section></div></content></entry><entry><title>Weeknotes 2025-W47</title><published>2025-11-23T00:00:00Z</published><updated>2025-11-23T00:00:00Z</updated><author><name>Liam O'Connor</name><uri>https://liamoc.net/forest/liamoc/</uri></author><link
rel="alternate"
type="text/html"
href="https://liamoc.net/forest/2025-W47/" /><id>https://liamoc.net/forest/2025-W47/</id><content
type="xhtml"><div
xmlns="http://www.w3.org/1999/xhtml"><p
xmlns:html="http://www.w3.org/1999/xhtml">I'm making these weeknotes in a rush, because I'm going to SAPLING tomorrow and I have to get up super early to get to Sydney on time.</p><figure
xmlns:html="http://www.w3.org/1999/xhtml"><img
loading="lazy"
width="250px"
src="/forest/bafkyrzacibosb3neqwwcig4b5il5vxti2r6zxnarj45xecogj7ep5wz6bfh2nunvdprrdhqpid47ncjdm3yrzzr3u3kx2jdcrpp22sx4lobmz272.jpeg" />
  <img
loading="lazy"
width="250px"
src="/forest/bafkyrzacicpuj34vcg2o3hwzmirhzvbhfgfc7b4y4k5nufwpqldina2a3d7f6jfd3xuns7etro63vukgd63bqxxlq4svrtmn473dma4rahx3vh6t.jpeg" />
  <figcaption>The wonderfully frequent technicolour sunsets in Canberra.</figcaption></figure><section
class="block hide-metadata numbered"><header><h2>I'm making a new programming language</h2></header><p
xmlns:html="http://www.w3.org/1999/xhtml">I've sketched out a design and begun implementation of a programming language, called Hito. Partly, this is just a programming exercise for me, but I also think the language might fill a niche that is currently unfilled.</p><figure
xmlns:html="http://www.w3.org/1999/xhtml"><img
loading="lazy"
width="250px"
src="/forest/bafkyrzacia66z4wuw2lvcfinrcjqlmndvznckr5kdfuchqblkgksutrzdetyv2v5qdn4ooenf2fbwauftsqtyqlzbbcfzct7k7r5wxy4blmmijv4.png" /></figure><p
xmlns:html="http://www.w3.org/1999/xhtml">Hito (from the Japanese pronunciation of the vaguely lambda-esque character 人, which also means "person"), is designed as a <em>embeddable</em>, <em>lightweight</em> scripting language that is <em>purely functional</em>. In particular, it's designed as an embeddable scripting language for situations where something like <span
class="link external"><a
href="https://www.lua.org/">Lua</a></span> even would be overkill. Often, full imperative procedures feel to me too heavy, but a language for quick specification of some calculations, formulas, pipelines or filters would be ideal. An example would be mark calculation formulae for a course gradebook. That said, the language is fairly extensible, so it could in theory be used for much more complicated applications. </p><p
xmlns:html="http://www.w3.org/1999/xhtml">I've nearly finished the first prototype implementation, which is written entirely in fairly clean, modern C. Primitive operations are pluggable, just as function pointers supplied to the runtime. It uses a simple mark-and-sweep precise garbage collector and a three-stack abstract machine design for executing the code. It will be dynamically typed, with support for pattern matching and a lightweight kind of algebraic data types, and higher-order functions and closures. The syntax is fairly clean, I think, and designed to be approachable to non-FP people. I have yet to make a proper website, but there is a <span
class="link external"><a
href="https://github.com/liamoc/hito">code repository</a></span> if you want to poke around.</p></section><section
class="block hide-metadata numbered"><header><h2>A Forester plugin for TSV tables</h2></header><p
xmlns:html="http://www.w3.org/1999/xhtml">
  I have a fairly large collection of anthem books and musical scores for sacred music (see my <span
class="link local"><a
href="/forest/loc-000P">Church Music Corner</a></span>), to the point where it has become difficult to actually remember what scores I have and where they might be found. So, I made a small plug-in for forester to make sortable, searchable tables for TSV files, and made a small database of all my anthem books. You can have a look at it <span
class="link local"><a
href="/forest/loc-002D">here</a></span>.
</p></section><section
class="block hide-metadata numbered"><header><h2>Getting away from GitHub</h2></header><p
xmlns:html="http://www.w3.org/1999/xhtml">I'm increasingly uncomfortable keeping my code, this forest, and many of my papers on GitHub, seeing as they feed data to the dreaded bots, they are owned by Microsoft (who feed data and money to the dreaded bots), and it no longer is as intuitive or useful as it used to be.</p><p
xmlns:html="http://www.w3.org/1999/xhtml">So, I'm interested in figuring out an alternative to host all my git repositories. <span
class="link external"><a
href="https://www.forester-notes.org/">Forester</a></span> uses <span
class="link external"><a
href="https://sourcehut.org/">sourcehut</a></span>, which is nice because it's so lightweight and free of the dreaded bots, but I find the interface for it very confusing. Perhaps I just need to get used to it. Does anyone have any other suggestions?</p></section><section
class="block hide-metadata numbered"><header><h2>Christ the King 2025</h2></header>
  <blockquote
xmlns:html="http://www.w3.org/1999/xhtml">
  DIGNUS est Agnus qui occísus est, accípere virtútem, et divinitátem, et sapiéntiam, et fortitúdinem, et honórem. Ipsi glória et impérium in sæcula sæculórum.
</blockquote>
<p
xmlns:html="http://www.w3.org/1999/xhtml">This Sunday we were very few in numbers and without a director at <span
class="link external"><a
href="https://allsaintsainslie.org.au/">All Saints Ainslie</a></span> but we held it together for Isom's <span
class="link external"><a
href="https://www.youtube.com/watch?v=MNs6-lUtYXY">King of all ages</a></span>:</p>
  <blockquote
xmlns:html="http://www.w3.org/1999/xhtml">
    <table
style="text-align: left">
      <tr><td>King of all Ages, throned on high,</td></tr>
      <tr><td>Yet saviour too of those with faith,</td></tr>
      <tr><td>Death at your onslaught died in fear,</td></tr>
      <tr><td>And grace triumphant rules supreme.</td></tr>
      <tr><td><br /></td></tr>
      <tr><td>Risen from death, the heav'nly Christ,</td></tr>
      <tr><td>Receives from God the Father's hand,</td></tr>
      <tr><td>Power over all created things,</td></tr>
      <tr><td>A gift he could not know on Earth.</td></tr>
      <tr><td><br /></td></tr>
      <tr><td>Then at your coming on the clouds,</td></tr>
      <tr><td>With shining strength to be our judge,</td></tr>
      <tr><td>Cancel the debt we owe you still,</td></tr>
      <tr><td>Give back the glory we have lost.</td></tr>
      <tr><td><br /></td></tr>
      <tr><td>Glory to you, O Christ our Lord,</td></tr>
      <tr><td>Exalted far beyond our sight,</td></tr>
      <tr><td>Reigning and forevermore,</td></tr>
      <tr><td>with Father and with Paraclete.</td></tr>
    </table>
</blockquote>
<p
xmlns:html="http://www.w3.org/1999/xhtml">I busted out my falsetto for a few bits, but we survived. The Carols and  Lessons service is coming up on December 7th, so we have many rehearsals over the next few weeks.
</p></section></div></content></entry><entry><title>Weeknotes 2025-W46</title><published>2025-11-16T00:00:00Z</published><updated>2025-11-16T00:00:00Z</updated><author><name>Liam O'Connor</name><uri>https://liamoc.net/forest/liamoc/</uri></author><link
rel="alternate"
type="text/html"
href="https://liamoc.net/forest/2025-W46/" /><id>https://liamoc.net/forest/2025-W46/</id><content
type="xhtml"><div
xmlns="http://www.w3.org/1999/xhtml"><p
xmlns:html="http://www.w3.org/1999/xhtml">This week was very productive. My <span
class="link local"><a
href="/forest/COMP1100">Programming as Problem Solving</a></span> students sat their exam, I finished some <span
class="link local"><a
href="/forest/jfp">Journal of Functional Programming</a></span> reviews, I assembled a bunch of furniture (see below), and I did a bunch of honours thesis marking. </p><section
class="block hide-metadata numbered"><header><h2>New furniture for retro computing lab</h2></header><p
xmlns:html="http://www.w3.org/1999/xhtml">My collection of vintage computers are now safely situated in my <span
class="link local"><a
href="/forest/loc-001O">new home in Dickson</a></span>. This week I purchased some new furniture to house some of my most prized machines. At some point I will make a database of everything I've got here in my forest, but here's a photo of some of my lab in the mean time:</p><figure
xmlns:html="http://www.w3.org/1999/xhtml"><img
loading="lazy"
width="450px"
src="/forest/bafkyrzacidse5dgyrbwy3k6r5odg55ihdl3iwibrvndxplfiik27cum6ih42dk24edjdvrc4ib2k5j4k6zxgmtyhcud5gkccsvdm2q2juitrxzk7.jpeg" /></figure></section><section
class="block hide-metadata numbered"><header><h2>Gang-gang cockatoos sighted at last</h2></header><p
xmlns:html="http://www.w3.org/1999/xhtml">I've lived in Canberra for over a year, and yet I never saw the Gang-gang Cockatoo, the ACT's faunal emblem since 1997, despite seeing parrots of all sorts on my walks around the city's various natural areas. </p><figure
xmlns:html="http://www.w3.org/1999/xhtml"><img
loading="lazy"
width="250px"
src="/forest/bafkyrzacidnwetyt5qvdmxqolelzbopod3ken332wlbk6fhjzvwtiv4mvddgcsqmm3vtim7bitjre5hs6aknzicjggceq5adaifucg4qemfc7qju.png" />
  <figcaption>The Gang-gang Cockatoo has long been associated with Canberra.</figcaption></figure><p
xmlns:html="http://www.w3.org/1999/xhtml">Fortunately, when I was walking on the <span
class="link local"><a
href="/forest/loc-0020">Dickson bike path</a></span> today, I saw a couple on a nearby gum-tree, behaving completely oblivious to the city bustle around them. </p><figure
xmlns:html="http://www.w3.org/1999/xhtml"><img
loading="lazy"
width="250px"
src="/forest/bafkyrzacibiz4jstbfrh5py6zfgqwqqic3um6dzn4wnsxct2etz6juq2twspervhe37tqs5sbnzxob4uxglhpkducrfqmt74cxcd247qaiouso4n.jpeg" />
  <img
loading="lazy"
width="250px"
src="/forest/bafkyrzacic4lk6ckxm4pdwjzpuv5mlamfkkfhefng5yxywpmsxgoal6y4f6enlv6j4jky5lwiifiyfmbfwf3oitualo7d6nypmj6ug3blbenqf2t.jpeg" /></figure></section><section
class="block hide-metadata numbered"><header><h2>23rd Sunday after Pentecost 2025</h2></header>
  <blockquote
xmlns:html="http://www.w3.org/1999/xhtml">
  Dicit Dóminus: Ego cógito cogitatiónes pacis, et non afflictiónis: invocábitis me, et ego exáudiam vos: et redúcam captivitátem vestram de cunctis locis.
</blockquote>
<p
xmlns:html="http://www.w3.org/1999/xhtml">This Sunday we were few in numbers at <span
class="link external"><a
href="https://allsaintsainslie.org.au/">All Saints Ainslie</a></span> but we sang well for Anna Þorvaldsdottir's <span
class="link external"><a
href="https://www.youtube.com/watch?v=seAPOVymx_k">Heyr þú oss himnum á</a></span>, doing our best at the Icelandic pronunciation:</p>
  <blockquote
xmlns:html="http://www.w3.org/1999/xhtml">
    
  <table>
      
  <tr>
      
  <td>Heyr þú oss himnum á</td>

      
  <td>Hear us in heaven,</td>

      </tr>

  <tr>
      
  <td>hýr vor faðir, börn þín smá,</td>

      
  <td>loving Father, as we, your small children,</td>

      </tr>

  <tr>
      
  <td>lukku oss þar til ljá,</td>

      
  <td>ask for the fortune</td>

    </tr>

  <tr>
      
  <td>lif eilíft þér erfum hjá,</td>

      
  <td>to receive eternal life.</td>

    </tr>

  <tr>
      
  <td>og að þér aldrei flæmumst frá.</td>

      
  <td>We shall not stray from your path.</td>

    </tr>

  <tr>
      
  <td>Þitt ríki þróist hér</td>

      
  <td>May we help your kingdom</td>

    </tr>

  <tr>
      
  <td>það þín stjórn og kristni er,</td>

      
  <td>to grow here on earth.</td>

    </tr>

  <tr>
      
  <td>svo að menn sem flestir,</td>

      
  <td>Following your guidance,</td>

    </tr>

  <tr>
      
  <td>safnist, Guð, til handa þér,</td>

      
  <td>we gather around in your name</td>

    </tr>

  <tr>
      
  <td>fegin yfir því fögnum vér.</td>

      
  <td>and gladly celebrate.</td>

    </tr>

  <tr>
      
  <td>Síst skarta sönglist má,</td>

      
  <td>We cannot make a joyful song</td>

    </tr>

  <tr>
      
  <td>sé þar ekki elskan hjá,</td>

      
  <td>unless we are moved by love.</td>

    </tr>

  <tr>
      
  <td>syngjum þvi þýtt lof þá,</td>

      
  <td>So let us sing our gentle praise</td>

    </tr>

  <tr>
      
  <td>Þér, Guð drottinn, himnum á.</td>

      
  <td>to you, Lord God, in heaven,</td>

    </tr>

  <tr>
      
  <td>Maður rétt kristinn mun þess gá.</td>

      
  <td>as the truly faithful have done.</td>

    </tr>

  <tr>
      
  <td>En þegar aumir vér,</td>

      
  <td>When our poor souls</td>

    </tr>

  <tr>
      
  <td>öndumst burt úr heimi hér,</td>

      
  <td>pass away from this world,</td>

    </tr>

  <tr>
      
  <td>oss tak þá, Guð, að þér</td>

      
  <td>take us God to you,</td>

    </tr>

  <tr>
      
  <td>í þá dýrð, sem aldrei þver.</td>

      
  <td>into your everlasting glory.</td>

    </tr>

  <tr>
      
  <td>Amen, Amen, það eflaust sker.</td>

      
  <td>Amen, Amen, may this be done.</td>

    </tr>

  </table>

</blockquote>
<p
xmlns:html="http://www.w3.org/1999/xhtml">We also are going to be thin on numbers for Christ the King next week, and I will be directing. I welcome any anthem suggestions that aren't too reliant on sopranos in particular.
</p></section></div></content></entry><entry><title>Weeknotes 2025-W45</title><published>2025-11-09T00:00:00Z</published><updated>2025-11-09T00:00:00Z</updated><author><name>Liam O'Connor</name><uri>https://liamoc.net/forest/liamoc/</uri></author><link
rel="alternate"
type="text/html"
href="https://liamoc.net/forest/2025-W45/" /><id>https://liamoc.net/forest/2025-W45/</id><content
type="xhtml"><div
xmlns="http://www.w3.org/1999/xhtml"><p
xmlns:html="http://www.w3.org/1999/xhtml">This week was mostly occupied with various administrative catchups after my two weeks of leave.  </p><figure
xmlns:html="http://www.w3.org/1999/xhtml"><img
loading="lazy"
width="240px"
src="/forest/bafkyrzaciaeiwoedjk5fw3c5nvbdatyorkuxbmxzgohzmxynowmjhbrusrezx5nqnrmujaewmhmuwunjogcvk5lphhz7dgeyc7escign4cnswwp5.jpeg" />
  <img
loading="lazy"
width="240px"
src="/forest/bafkyrzacic3ta5cm3u2j55msg5hu6wvmh4bbop3jucpgmzph5hd6x2dnyipwd6yyxxctvwv7bjjeuiv27v7zs364tywubkshymo4pqmfxtdiiqwc.jpeg" />
 <figcaption>Some nice sunsets near the Lyneham wetlands.</figcaption></figure><section
class="block hide-metadata numbered"><header><h2>ITP course at the ANU Logic Summer School</h2></header><p
xmlns:html="http://www.w3.org/1999/xhtml">As <span
class="link local"><a
href="/forest/loc-001W">I previously mentioned</a></span>, I am teaching at the ANU Logic Summer School this year, on an introduction to interactive theorem proving using the proof assistant <span
class="link external"><a
href="https://isabelle.in.tum.de/">Isabelle</a></span>. Here's the course blurb as found on <span
class="link external"><a
href="https://comp.anu.edu.au/lss/lectures/2025/">the website</a></span>:</p><section
class="block hide-metadata numbered"><header><h3>Abstract</h3></header><p
xmlns:html="http://www.w3.org/1999/xhtml">This course will introduce the use of interactive proof assistants both for mathematics and for work in software verification. We will introduce the basics of interactive theorem proving using the proof assistant Isabelle/HOL. Starting from elementary logical formulae, we will prove many theorems “live” in lectures, and apply what we have learned to proof exercises and challenges. Proof assistants can be both very fun and very addictive in equal measure. It is my hope to share that fun with you.</p></section><section
class="block hide-metadata numbered"><header><h3>Topic list (tentative)</h3></header><ol
xmlns:html="http://www.w3.org/1999/xhtml"><li>Propositional and first-order logic, natural deduction proofs. Types, definitions, unfolding.</li>
    <li>Simplifier, rewriting, function definitions, other definitions.</li>
    <li>Structural induction, inductive definitions, induction tactics.</li>
    <li>Structured proofs in Isar, calculational proofs.</li>
    <li>More automatic methods, sledgehammer.</li></ol><p
xmlns:html="http://www.w3.org/1999/xhtml">Remaining topics to be covered if there is time:</p><ul
xmlns:html="http://www.w3.org/1999/xhtml"><li>General recursion and termination measures</li>
    <li>Type classes and locales</li>
    <li>Program verification with SIMPL or AutoCorres</li>
    <li>Designing tactics with Eisbach</li></ul></section><section
class="block hide-metadata numbered"><header><h3>Prerequisites</h3></header><p
xmlns:html="http://www.w3.org/1999/xhtml">Some familiarity with simple first order and propositional logic is assumed. Some functional programming experience (in particular, some familiarity with lambda calculus or a language like Haskell) is also recommended.</p></section><section
class="block hide-metadata numbered"><header><h3>Recommended Further Reading</h3></header><p
xmlns:html="http://www.w3.org/1999/xhtml"><span
class="link external"><a
href="http://concrete-semantics.org/">Concrete Semantics</a></span>, <span
class="link local"><a
href="/forest/nipkow">Tobias Nipkow</a></span> and <span
class="link local"><a
href="/forest/gklein">Gerwin Klein</a></span></p></section><section
class="block hide-metadata numbered"><header><h3>Lecturer</h3></header><p
xmlns:html="http://www.w3.org/1999/xhtml"><span
class="link local"><a
href="/forest/liamoc">Liam O'Connor</a></span> is a Senior Lecturer at the <span
class="link local"><a
href="/forest/anu">Australian National University</a></span> and an Honorary Fellow at the <span
class="link local"><a
href="/forest/uoe">University of Edinburgh</a></span>, where he worked until 2024. He obtained his PhD from UNSW in 2019, the <span
class="link local"><a
href="/forest/oconnor-thesis-2019">dissertation</a></span> for which received the John Makepeace Bennett award. He has broad interests in theoretical computer science, especially in semantics, models and specifications, as well as in the application of these theoretical techniques to practical problems in programming languages, systems and software engineering.</p></section><p
xmlns:html="http://www.w3.org/1999/xhtml">I will also make the <span
class="link local"><a
href="/forest/isa-0001">course notes</a></span> available on this forest, as they are completed.</p></section><section
class="block hide-metadata numbered"><header><h2>Syntax Highlighting in Forester for Isabelle (and More)</h2></header><p
xmlns:html="http://www.w3.org/1999/xhtml">Similar to my <span
class="link local"><a
href="/forest/loc-0015">theme plugin for Gregorian Chants</a></span>, I've implemented a simple plugin for syntax highlighted blocks using the <span
class="link external"><a
href="https://shiki.style/">Shiki</a></span> library. Unlike the chant plugin, it doesn't self-host all the required JS but instead loads from a CDN. If this becomes problematic later I will investigate self-hosting it, but it seems that self-hosting Shiki is somewhat complicated. </p><p
xmlns:html="http://www.w3.org/1999/xhtml">I didn't use any other syntax-highlighting gizmos for Forester because I plan to write <span
class="link local"><a
href="/forest/isa-0001">lecture notes</a></span> for my upcoming <span
class="link local"><a
href="/forest/loc-0028">course at the LSS</a></span> and this would require me to support Isabelle code. The advantage of Shiki is that it supports textMate grammars, and <span
class="link local"><a
href="/forest/gklein">Gerwin Klein</a></span> made <span
class="link external"><a
href="https://github.com/lsf37/Isabelle.tmbundle">one for Isabelle</a></span>.</p><p
xmlns:html="http://www.w3.org/1999/xhtml">Like the chant plugin, it consists of a single drop-in module of JavaScript, some changes to the stylesheet and a macro definition tree. As can be seen below, the results are quite nice:</p>

<shiki-block
xmlns:html="http://www.w3.org/1999/xhtml"
language="Isabelle Theory"
load-languages="c,javascript"
root-path="/forest">theory Main imports Pure 
begin
typedecl bool
judgment Trueprop :: ‹bool ⇒ prop› ("(_)" 5)

axiomatization
  False :: ‹bool› and True :: ‹bool› and
  conj :: ‹bool ⇒ bool ⇒ bool› (infixr "∧" 35) and
  disj :: ‹bool ⇒ bool ⇒ bool› (infixr "∨" 30) and
  implies :: ‹bool ⇒ bool ⇒ bool› (infixr "⟶" 25) and
  not :: ‹bool ⇒ bool› ("¬ _" [40] 40)
where
  (* Conjunction *)
  conjI  : "⟦ A ; B ⟧ ⟹ (A ∧ B)" and
  conjunct1 : "A ∧ B ⟹ A" and
  conjunct2 : "A ∧ B ⟹ B"
end</shiki-block>

<p
xmlns:html="http://www.w3.org/1999/xhtml">(If it doesn't display correctly, you may need to clear your browser cache.)</p></section><section
class="block hide-metadata numbered"><header><h2>22nd Sunday after Pentecost 2025</h2></header>
  <blockquote
xmlns:html="http://www.w3.org/1999/xhtml">
  Intret orátio mea in conspéctu tuo: inclína aurem tuam ad precem meam Dómine.
</blockquote>
<p
xmlns:html="http://www.w3.org/1999/xhtml">This Sunday I directed our choir at <span
class="link external"><a
href="https://allsaintsainslie.org.au/">All Saints Ainslie</a></span> for Purcell's <span
class="link external"><a
href="https://www.youtube.com/watch?v=ACqaMARAmZk">Thou Knowest, Lord</a></span>:</p>
  <blockquote
xmlns:html="http://www.w3.org/1999/xhtml">
  <table
style="text-align: left">
    <tr><td>Thou knowest, Lord, the secrets of our hearts:</td></tr>
    <tr><td>Shut not, shut not thy merciful ears unto our prayer,</td></tr>
    <tr><td>But spare us, Lord. Spare us, Lord most holy.</td></tr>
    <tr><td>O God! O God most mighty! O holy and merciful Saviour,</td></tr>
    <tr><td>Thou most worthy judge eternal,</td></tr>
    <tr><td>Suffer us not, suffer us not at our last hour,</td></tr>
    <tr><td>For any pains of death to fall from thee.</td></tr>
    <tr><td>Amen.</td></tr>
  </table>
</blockquote>
<p
xmlns:html="http://www.w3.org/1999/xhtml">We also had a brief meeting yesterday morning to discuss our future plans for the choir. We have some exciting music ahead, and some of us agreed to sing at a special service at Goodwin Retirement Living for the residents there during Advent. Next year at the church, we plan to have semi-regular concerts, and I will also be forming a small group to sing regular Evensong services.
</p></section></div></content></entry><entry><title>Weeknotes 2025-W44</title><published>2025-11-02T00:00:00Z</published><updated>2025-11-02T00:00:00Z</updated><author><name>Liam O'Connor</name><uri>https://liamoc.net/forest/liamoc/</uri></author><link
rel="alternate"
type="text/html"
href="https://liamoc.net/forest/2025-W44/" /><id>https://liamoc.net/forest/2025-W44/</id><content
type="xhtml"><div
xmlns="http://www.w3.org/1999/xhtml"><p
xmlns:html="http://www.w3.org/1999/xhtml">This is my first week back to weeknoting in about a month, seeing as I was first travelling to Singapore for <span
class="link local"><a
href="/forest/icfp25">ICFP</a></span> and then subsequently took two weeks off to spend some time with my partner, who was visiting from Korea.</p><figure
xmlns:html="http://www.w3.org/1999/xhtml"><img
loading="lazy"
width="240px"
src="/forest/bafkyrzacibpgirrdbt7qigfhy3arklmvqcnpkmz2ostcd5kq77rcyrkvu34raqcqz2d2tbtzyzgttr22tze3nyqauixesruv6tbp6fm3b4ymqbzy.jpeg" />
  <img
loading="lazy"
width="240px"
src="/forest/bafkyrzacibngbo2o7n6vzzqtdyopqjptycb4pzbgnp7o4ekz3oqeozvil2ker4mk63ofk7yineezdmyhyox3x6fznzytkpgktizhjulgwfsuxxck.jpeg" />
 <figcaption>One of many Water Dragons seen at Manly, and one of many Kangaroos seen at Tidbinbilla.</figcaption></figure><section
class="block hide-metadata numbered"><header><h2>ICFP/SPLASH 2025 is over</h2></header><figure
xmlns:html="http://www.w3.org/1999/xhtml"><img
loading="lazy"
width="450px"
src="/forest/bafkyrzaciczm2emmn753vzx334mvue5xj6ra3uos2cv5a3wywkn7uati3dmmfrduwukslxsxu2ucduicwslo5vm4ciaaoubmwkpwyf2vlfmdyecv.jpeg" />
  <img
loading="lazy"
width="250px"
src="/forest/bafkyrzacidvllrkkyrdzm7nkxdec33mnl2bmhqi2rnb6i3aims5fohtiz2dfubpmrttphuyroe5qwtzxcy46u5ev5cyj3kmzgwpayonp5npynbgk.jpeg" />
  <figcaption>I was in character as Br. Alonzo of Curry for the ICFP Contest Report.</figcaption></figure><p
xmlns:html="http://www.w3.org/1999/xhtml">From the 10th to the 19th of October I was travelling, specifically to Singapore to present the results of the <span
class="link local"><a
href="/forest/icfpc25">ICFP '25 Programming Contest</a></span>.
 As seems to almost always happen, the Japanese team Unagi (and another Japanese team, MOYOU) won the contest, using their preferred programming language Rust. Also as in most years, most solutions used SAT encodings, simulated annealing, or other such methods. Some teams did use automata learning (as our reference solution did), but this was uncommon. The <span
class="link external"><a
href="https://icfpcontest2025.github.io/writeups.html">writeups page</a></span> has many more details, including an in-character personal reflection by Adso.
</p><p
xmlns:html="http://www.w3.org/1999/xhtml"> The conference was indeed massive, and it was good to catch up with many folks that I know (such as <span
class="link local"><a
href="/forest/gckeller">Gabriele Keller</a></span>, <span
class="link local"><a
href="/forest/crizkallah">Christine Rizkallah</a></span>, <span
class="link local"><a
href="/forest/zilinc">Zilin Chen</a></span> and <span
class="link local"><a
href="/forest/msteuwer">Michel Steuwer</a></span>), but I must say that I found few talks or papers that I actually found noteworthy or compelling. Perhaps the most interesting was the few papers and presentations I saw given by <span
class="link local"><a
href="/forest/antonlorenzen">Anton Lorenzen</a></span>. I'm sure this is more a problem with me than with the authors, all of which I'm sure have produced very good work, except of course for the <span
class="link external"><a
href="https://conf.researchr.org/home/icfp-splash-2025/lmpl-2025">LMPL Workshop</a></span> which promotes use of <span
class="link local"><a
href="/forest/loc-001H">the dreaded LLMs</a></span> in PL research. I studiously avoided attending that, and was pleased to find some likeminded colleagues.  </p><figure
xmlns:html="http://www.w3.org/1999/xhtml"><img
loading="lazy"
width="220px"
src="/forest/bafkyrzaciavyuhuypm4vbzwqxduxl2r7p6kgmwdnsir5gbovxyazedkfemgizgitoxigsehodkzkqypecycl3nixunvn34sjus6upes6ogtv5xb2.jpeg" />
  <img
loading="lazy"
width="220px"
src="/forest/bafkyrzacic7sdsfaaai375mqxt4ctbh256txxiimjqeztsnm24nlg6fzv7xucq4tsdkwmp3gnoelrmpb3iwoygut5yyzbgw3yebvgmgfn3m6e6sl.jpeg" />
  <figcaption>Some night time wanderings of Singapore.</figcaption></figure><p
xmlns:html="http://www.w3.org/1999/xhtml">While I love to eat the food in Singapore, I always find the weather almost unbearable. I try to do what locals do, and transit via underground and indoor connections between buildings, but I inevitably end up having to walk for 10–20 minutes outside and end up feeling horribly <em>wet</em> from a mixture of humidity and sweat. Nonetheless, I thank very much <span
class="link local"><a
href="/forest/ilyasergey">Ilya Sergey</a></span> and the others who organised the event, and arranged for me to travel there and present.</p><figure
xmlns:html="http://www.w3.org/1999/xhtml"><img
loading="lazy"
width="220px"
src="/forest/bafkyrzaciak3fa3ofkxu7hjeu4p67fthc2tlpy2a3jdgb27wpn73v5nhbdjhhlfpbjlvons2c2dh4u4d53i7d6p6tnfz2gy2aefg4ry24z5ixdei.jpeg" />
  <img
loading="lazy"
width="220px"
src="/forest/bafkyrzacic63ub2pqasas62z4q7g4pcbpamjooamuhluj6h7sr7biytqqqgprvtw2rlqh7yexuuu7so43hpbccczrrrc2yalc6pxpy3d3wq4fiuh.jpeg" /></figure></section><section
class="block hide-metadata numbered"><header><h2>19th Sunday after Pentecost 2025</h2></header>
  <blockquote
xmlns:html="http://www.w3.org/1999/xhtml">
  Ego clamávi quóniam exaudísti me, Deus: inclína aurem tuam, et exáudi verba mea: custódi me, Dómine, ut pupíllam óculi: sub umbra alárum tuárum prótege me.
</blockquote>
<p
xmlns:html="http://www.w3.org/1999/xhtml">I had just flown back from Singapore, so I wasn't able to be present for <span
class="link external"><a
href="https://allsaintsainslie.org.au/">All Saints Ainslie</a></span> singing Tallis' <em>Hear the voice and prayer</em> but I did record myself singing all parts to it a week earlier before I flew out: </p><iframe
xmlns:html="http://www.w3.org/1999/xhtml"
style="aspect-ratio: 16 / 9;"
width="100%
   "
src="https://www.youtube.com/embed/8KXemDXXjzM"
title="Hear the Voice and Prayer"
frameborder="0"
allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share"
referrerpolicy="strict-origin-when-cross-origin" />
  <blockquote
xmlns:html="http://www.w3.org/1999/xhtml">
  <table
style="text-align: left">
    <tr><td>Hear the voice and prayer of thy servants,</td></tr>
    <tr><td>that they make before thee this day:</td></tr>
    <tr><td>That thine eyes may be open towards this house night and day,</td></tr>
    <tr><td>Ever towards this place, ever towards this place</td></tr>
    <tr><td>Of which thou hast said "My name shall be there".</td></tr>
    <tr><td>And when thou hear'st, have mercy on them.</td></tr>
  </table>
</blockquote>
<p
xmlns:html="http://www.w3.org/1999/xhtml">I had just flown into Sydney and coming down with a cold from a nightmare flight, but I was still able to stop by <span
class="link external"><a
href="https://ccsl.org.au/">Christ Church St. Laurence</a></span> for their Solemn High Mass. It was a lovely high church service. I wish we were as liturgically refined in Canberra. The Choir performed most of G.P. da Palestrina's <span
class="link external"><a
href="https://www.youtube.com/watch?v=825kfMgCZAk">Missa Aeterna Christi Munera</a></span>, which is based on the eponymous Gregorian Chant melody, and Vaughan William's <span
class="link external"><a
href="https://www.youtube.com/watch?v=heiiATCrwVQ">O Taste and See</a></span>.</p></section><section
class="block hide-metadata numbered"><header><h2>20th Sunday after Pentecost 2025</h2></header>
  <blockquote
xmlns:html="http://www.w3.org/1999/xhtml">
  Lætétur cor quæréntium Dóminum: quaérite Dóminum, et confirmámini: quaérite fáciem eius semper.
</blockquote>
<p
xmlns:html="http://www.w3.org/1999/xhtml">While I was still recovering from a cold, I sang with our choir at <span
class="link external"><a
href="https://allsaintsainslie.org.au/">All Saints Ainslie</a></span> for Anerio's gorgeous piece, <span
class="link external"><a
href="https://www.youtube.com/watch?v=fArGQY_wvmA">Christus Factus Est</a></span> (although the initial gorgeous passage is very reminiscent of <span
class="link external"><a
href="https://www.youtube.com/watch?v=OZ9dXLmRlpo">another piece</a></span>).</p>
  <blockquote
xmlns:html="http://www.w3.org/1999/xhtml">
  
  <table>
    
  <tr>
    
  <td>Christus factus est pro nobis obédiens</td>

    
  <td>Christ became obedient for us,</td>

    </tr>

  <tr>
    
  <td>usque ad mortem:</td>

    
  <td>Even unto death:</td>

    </tr>

  <tr>
    
  <td>Mortem autem crucis.</td>

    
  <td>Death on the cross.</td>

  </tr>

  <tr>
    
  <td>Propter quod et Deus exaltavit illum</td>

    
  <td>Wherefore God has exalted him,</td>

  </tr>

  <tr>
    
  <td>Et dedit illi nomen quod est super omne nomen.</td>

    
  <td>And given him a name above all other names.</td>

  </tr>

</table>

</blockquote>
<p
xmlns:html="http://www.w3.org/1999/xhtml">The Anerio was unaccompanied, and we had only piano accompaniment for the other music. Still, we sounded very nice I think.</p></section><section
class="block hide-metadata numbered"><header><h2>All Saints 2025</h2></header>
  <blockquote
xmlns:html="http://www.w3.org/1999/xhtml">
  Gaudeamus omnes in Dómino, diem festum celebrántes sub honóre Sanctórum ómnium: de quorum solemnitáte gaudent Angeli, et colláudant Fílium Dei.
</blockquote>
<p
xmlns:html="http://www.w3.org/1999/xhtml">Because this was the dedication feast for <span
class="link external"><a
href="https://allsaintsainslie.org.au/">All Saints Ainslie</a></span>, we sang Darke's <span
class="link external"><a
href="https://www.youtube.com/watch?v=9_YotRZXipY&amp;list=OLAK5uy_m_gU2ydx02FIjTPG8WO8odyEqYLZY9jHc">Communion Service in F Major</a></span> as well as <span
class="link external"><a
href="https://www.youtube.com/watch?v=1Pc41lxwd7k">I Sat Down</a></span> by John Bairstow, with text taken from the Song of Solomon:</p>
  <blockquote
xmlns:html="http://www.w3.org/1999/xhtml">
  <table
style="text-align: left">
    <tr><td>I sat down under his shadow with great delight,</td></tr>
    <tr><td>and his fruit was sweet to my taste.</td></tr>
    <tr><td>He brought me to the banqueting house, and his banner over me was Love.</td></tr>
    <tr><td>I sat down under his shadow.</td></tr>
  </table>
</blockquote>
<p
xmlns:html="http://www.w3.org/1999/xhtml">We also had a small celebration of our choir and sanctuary party at Corroboree park in Ainslie.</p><figure
xmlns:html="http://www.w3.org/1999/xhtml"><img
loading="lazy"
width="220px"
src="/forest/bafkyrzacicepevjmhoqmqo4g4k4h25bpiv7qpvcfubc7lytcezwapukxgptkkefjtdgkvahfaghpqj2bt7pvzeilaycuxee7hbm74vhwfrhdbp6m.jpeg" />
  <figcaption>Fr. Alipate works for over an hour at the barbeque.</figcaption></figure><p
xmlns:html="http://www.w3.org/1999/xhtml">We were blessed with a gorgeous sunset to conclude the evening.</p><figure
xmlns:html="http://www.w3.org/1999/xhtml"><img
loading="lazy"
width="240px"
src="/forest/bafkyrzacibt5oytolcvo3xchn22rbbvxenu7q4rkidozg53efhosuyn22jdxytxdxbjuz5pqq6ygtrks2ypi6lryla6lh7jp3eyulbta56zqd2ex.jpeg" />
  <img
loading="lazy"
width="240px"
src="/forest/bafkyrzacibwlcgnyhv5k7n6yrbxspxtwbjvkza4ci5tbxtkoafc4pebsmzdzevet5nssdogdrvif7dohhwd7fgkpl2x3v7jbislmwcs625bmjme5.jpeg" />
  <img
loading="lazy"
width="240px"
src="/forest/bafkyrzacidthfwnu5okjc42de4vx6bz7eozx7a2w5yv6y6latsuvixi3irt3ripu7a3lubyvvbet6avpa4yymifkow7livvsuf35y2kk3tzfknyg.jpeg" /></figure></section></div></content></entry><entry><title>Weeknotes 2025-W40</title><published>2025-10-05T00:00:00Z</published><updated>2025-10-05T00:00:00Z</updated><author><name>Liam O'Connor</name><uri>https://liamoc.net/forest/liamoc/</uri></author><link
rel="alternate"
type="text/html"
href="https://liamoc.net/forest/2025-W40/" /><id>https://liamoc.net/forest/2025-W40/</id><content
type="xhtml"><div
xmlns="http://www.w3.org/1999/xhtml"><p
xmlns:html="http://www.w3.org/1999/xhtml">This week was also productive, but mostly in my preparations for <span
class="link local"><a
href="/forest/COMP1110">Structured Programming</a></span> and for attending the megaconference in Singapore next week.</p><figure
xmlns:html="http://www.w3.org/1999/xhtml"><img
loading="lazy"
width="540px"
src="/forest/bafkyrzaciacwylvrac4ajxqpvjfav2ccn72iyowjhjp4iksupbmnnntvy7wkmm64ffyxtmjzvrcmp5euvadcd5yknktsdfxspuukhhhgcozbdmcz.jpeg" />
 <figcaption>A Kookaburra I spied on the walk home.</figcaption></figure><section
class="block hide-metadata numbered"><header><h2>Quid est veritas?</h2></header><p
xmlns:html="http://www.w3.org/1999/xhtml">I've been reading <span
class="link local"><a
href="/forest/eco">Umberto Eco</a></span>'s <em>Baudolino</em> recently. It's the story of a man, the eponymous Baudolino, narrating his life story to Niketas Choniates during the Fourth Crusade. Here "story" is used both in the sense of a recounting of events, but also in the sense of a storyteller, a fabulist. Baudolino isn't sure, even to himself, where reality ends and his imagination begins. He is a liar, and in lying he speaks of greater truths. </p><p
xmlns:html="http://www.w3.org/1999/xhtml">This novel (which I highly recommend, by the way) represents to a far greater degree the medieval and even classical understanding of truth and history than do contemporary definitions. The ancient Greeks knew that the Iliad or the Odyssey were stories, fabrications of Homer or of countless storytellers before him and since, yet, they referred often to events in those stories as though they actually happened (and, presumably, some of them had), and to characters in those stories as though they actually existed (and, presumably, some of them did). Herodotus, regarded as the first historian, was also prone to elaborate creative embellishment of historical events, usually to paint the Greeks as the good guys and their enemies, usually the Persians, as the bad guys. Herodotus did this openly; his audience <em>expected</em> embellishment and would not have been impressed by a dry recital of facts.</p><figure
xmlns:html="http://www.w3.org/1999/xhtml"><img
loading="lazy"
width="540px"
src="/forest/bafkyrzacidiboaecorc36tsmc53lvpqcryqkwbpss6ckxwaa7fq6n5qeodidjjncpomts5uwu6uyofix5mbjuu3lon7gwry4nx3rdc5hsum6vsgt.jpeg" />
 <figcaption>From the Waldseemüller map of 1507, the first to name America: <em>"Hic dominátur ille bonus rex et dominus qui vocatur Prester Iohannes"</em>.</figcaption></figure><p
xmlns:html="http://www.w3.org/1999/xhtml">Similarly, up until the late 16th century, even the most learned scholar (and <span
class="link local"><a
href="/forest/eco">Eco</a></span>'s Baudolino) would speak of the Kingdom of Prester John, a supposedly Nestorian Christian empire far to the East, or possibly South, or anywhere where European Christians had not thoroughly explored. These were fabrications, of course, or at least interpolations based on poorly communicated rumours and legends, but European Christians believed these things as firmly as they believed in the existence of elephants, or of God, or of Julius Caesar, or anything else they didn't observe first-hand. Almost their entire view of the world was based on hearsay, fabrication, and interpolation from available information, and they knew this. They believed it anyway, in a semi-firm way that isn't familiar or comfortable to modern humans. For our ancestors, belief was elastic; for us, it is binary: true or false.</p><p
xmlns:html="http://www.w3.org/1999/xhtml">I think our society really began to depart from this more elastic way of thinking in the Enlightenment era: the scientific revolution, the classical insistence on the dichotomy between truth and falsehood, the empirical notion that truth requires evidence, and the positivistic view that a proposition, once shown to be true, is never again false. These ways of thinking have proved enormously beneficial in the area of science and technology, to be sure, but I think this is also responsible in part for many overly rigid belief structures, including religious fundamentalism. It's the result of a pre-Enlightenment cognitive technology (religion) coming into contact with this post-Enlightenment way of thinking. At worst, it leads to ultra-dogmatic religion where religious dogmas are declared to be infallible truths, including fundamentalists who interpret the Bible literally. At best, it leads to pathetic attempts to justify religion on scientific terms, like asking scientists to analyse consecrated Eucharistic hosts to check for human tissue cells.</p><p
xmlns:html="http://www.w3.org/1999/xhtml">Just by reading my <span
class="link local"><a
href="/forest/loc-000P">Church Music Corner</a></span>, you might get the impression that I am a devout Roman Catholic or Anglo-Catholic Christian. In a sense, that is true (as for which of these I am, that's a topic best left to another time). But my faith is much more akin to that of the medieval scholar than that of a modern empirical scientist. The question of whether the life of Jesus as told in the Gospels actually happened as described is almost irrelevant to me. In fact, as the Gospels do not tell a consistent narrative, one can only conclude that they too are at best interpolations based on hearsay. The Gospel of Luke lists many more parables of Jesus than are listed in the other Gospels: even if they are fabrications of the evangelist, I believe them to be parables of Jesus all the same.</p><center
xmlns:html="http://www.w3.org/1999/xhtml">
  <blockquote>
  
  <table>
    
  <tr>
    
  <td>Visus, tactus, gustus in te fallitur,</td>

    
  <td>Seeing, touching, tasting are in thee deceived,</td>

    </tr>

  <tr>
    
  <td>Sed auditu solo tuto creditur.</td>

    
  <td>How says trusty hearing? That shall be believed.</td>

    </tr>

  <tr>
    
  <td>Credo quidquid dixit Dei Filius;</td>

    
  <td>What God's Son has told me, take for truth I do;</td>

  </tr>

  <tr>
    
  <td>Nil hoc verbo Veritátis verius.</td>

    
  <td>Truth himself speaks truly, or there's nothing true.</td>

  </tr>

</table>

</blockquote>

<p>From Thomas Aquinas' <em>Adoro te Devote</em>, translation by Gerard Manley Hopkins.</p>
</center><p
xmlns:html="http://www.w3.org/1999/xhtml">Requiring evidence as a prerequisite for belief is <em>not</em> mistaken — it is just misapplied when it comes to religion. I don't look for proof that my religion is true in the modern, empirical sense. I don't know if it is. At least in some aspect or another, it's almost certainly <em>not</em>. But this question is also irrelevant to me: Truth, in this older sense, is not about evidence but about meaning. My faith is an affirmation not of a proposition but a way of inhabiting the world. Even if I was presented with concrete evidence that the Gospels are complete fabrications and that Jesus never existed (although Occam's razor suggests that he did), my faith would scarcely change. Can I still rightly say then, <em>Credo in unum Deum</em>, as I do each Sunday? All I can say is, I don't feel as though I'm lying.  </p></section><section
class="block hide-metadata numbered"><header><h2>Feast of St. Francis of Assisi 2025</h2></header>
  <blockquote
xmlns:html="http://www.w3.org/1999/xhtml">
  In voluntáte tua, Dómine, univérsa sunt pósita, et non est qui possit resístere voluntáti tuæ: tu enim fecísti ómnia, cælum et terram, et univérsa quæ cæli ámbitu continéntur: Dóminus universórum tu es.
  <br />
  Vir Dei Francíscus relíquit domum suam, dimísit hereditátem suam, inops et pauper factus est; Dóminus autem assúmpsit eum.
</blockquote>
<p
xmlns:html="http://www.w3.org/1999/xhtml">Our choir at <span
class="link external"><a
href="https://allsaintsainslie.org.au/">All Saints Ainslie</a></span> was in thin numbers but we lovingly performed Lloyd's <span
class="link external"><a
href="https://www.youtube.com/watch?v=n4XdIWfdmlo">View Me, Lord</a></span>, under my baton (well, hand). It's a lovely poem from Thomas Campion:</p>
  <blockquote
xmlns:html="http://www.w3.org/1999/xhtml">
  <table
style="text-align: left">
    <tr><td>View me, Lord, a work of thine.</td></tr>
    <tr><td>Shall I then lie drown'd in night?</td></tr>
    <tr><td>Might thy grace in me but shine,</td></tr>
    <tr><td>I should seem made all of light.<br /></td></tr>
    <tr><td>Cleanse me, Lord, that I may kneel</td></tr>
    <tr><td>At thine altar, pure and white.</td></tr>
    <tr><td>They that once thy mercies feel</td></tr>
    <tr><td>gaze no more on Earth's delight.<br /></td></tr>
    <tr><td>Worldly joys, like shadows, fade</td></tr>
    <tr><td>When the heav'nly light appears;</td></tr>
    <tr><td>But the cov'nants thou hast made,</td></tr>
    <tr><td>Endless, know not days nor years.<br /> </td></tr>
    <tr><td>In thy word, Lord, is my trust;</td></tr>
    <tr><td>To thy mercies fast I fly.</td></tr>
    <tr><td>Though I am but clay and dust,</td></tr>
    <tr><td>Yet thy grace can lift me high.</td></tr>
  </table>
</blockquote>
<p
xmlns:html="http://www.w3.org/1999/xhtml">We got many complements after the service and during the rehearsal.</p></section></div></content></entry><entry><title>Weeknotes 2025-W39</title><published>2025-09-28T00:00:00Z</published><updated>2025-09-28T00:00:00Z</updated><author><name>Liam O'Connor</name><uri>https://liamoc.net/forest/liamoc/</uri></author><link
rel="alternate"
type="text/html"
href="https://liamoc.net/forest/2025-W39/" /><id>https://liamoc.net/forest/2025-W39/</id><content
type="xhtml"><div
xmlns="http://www.w3.org/1999/xhtml"><p
xmlns:html="http://www.w3.org/1999/xhtml">This week was productive, including in meetings with <span
class="link local"><a
href="/forest/xinloi">Xin Lu</a></span>, <span
class="link local"><a
href="/forest/yiyao">Yi Yao</a></span>, and <span
class="link local"><a
href="/forest/hoefner">Peter Höfner</a></span>. I also attended a choir planning meeting yesterday. We have many concerts and services planned for next year!</p><section
class="block hide-metadata numbered"><header><h2>The benefits of avoiding cars</h2></header><p
xmlns:html="http://www.w3.org/1999/xhtml">When I lived in Edinburgh my "commute" consisted of a 10 minute walk through the lovely Meadows parkland to get from my apartment to the Informatics Forum. Sometimes I'd have to cross the dreaded North Bridge or the crowded Nicolson street, and I would always find myself feeling overwhelmed and stressed. But, the walk through the Meadows was always healing — or, failing that, it never added to my stress.</p><p
xmlns:html="http://www.w3.org/1999/xhtml">When I moved to Canbera, I first lived in Braddon. Like at Edinburgh, or indeed my time at <span
class="link local"><a
href="/forest/unsw">UNSW Sydney</a></span>, my commute was just a 10–15 minute walk. Yet, unlike at Edinburgh, I would often find the walk stress-inducing.</p><figure
xmlns:html="http://www.w3.org/1999/xhtml"><img
loading="lazy"
width="220px"
src="/forest/bafkyrzacid5f2iuz3m3mbdpy2uajuoxdxfpaj42jeefr5hjuoxqxahbya7dgurns2u3acqaw2x2stuxp3alsiqwuzk3wnargt4hg5bouhaobbawu.jpeg" />
  <img
loading="lazy"
width="220px"
src="/forest/bafkyrzaciccicbc65zavbibk3ho7wcicdyeec3zcs3lcoqp5zallmkh5425ruvjjd5yf26qwdbkxqcpaaoqrdbw4sjnym7zun2jd7be3347nqphx.jpeg" />
  <figcaption>Some shots from my new commute.</figcaption></figure><p
xmlns:html="http://www.w3.org/1999/xhtml">Since I've <span
class="link local"><a
href="/forest/loc-001O">moved to Dickson</a></span>, my commutes have gotten much longer — a 40–45 minute walk from my home along a bike path through the Lyneham wetlands and other beautiful natural parkland. Similarly, the walk from my home to my church is slightly longer, but significantly quieter, following bike paths and sleepy suburban streets. This walk is <em>significantly</em> more mentally healing to me than the shorter commute I had before, and helps me to relieve stress rather than accumulate it. </p><figure
xmlns:html="http://www.w3.org/1999/xhtml"><img
loading="lazy"
width="220px"
src="/forest/bafkyrzacid4obpkyfgmssvhat2xymqvbplhymveromtc67xhk6ny4nkfgwd7tuxj2cck4de66avr7ozb5ldvxtyg6mymzu22usbkyknwez3c2vul.jpeg" />
  <img
loading="lazy"
width="220px"
src="/forest/bafkyrzacic5nm2cdxj5fih6hfq2ozu6p3yixjtk535zemqsva4k3qbd5usspo4egk2t7tpu4ln7ztcvhpzot2ucanqnpczagwzdg7mpxuszatwxw.jpeg" />
  <figcaption>Some parrots I met along the way.</figcaption></figure><p
xmlns:html="http://www.w3.org/1999/xhtml">The main difference is simple: The walk this time passes through mostly parkland, and, for the most part, is not along a road. The noisy cars and, annoyingly common in Canberra, roaring motorbikes of the city traffic are distant, usually inaudible, and in their place I have some stunning natural landscapes and many colourful parrots to greet on my walk to work. </p><figure
xmlns:html="http://www.w3.org/1999/xhtml"><img
loading="lazy"
width="220px"
src="/forest/bafkyrzaciceth3nxgegrtg54b7f24zysymdstf2sgnkrtvsgekce5jwym4ughgv5wjubxj4jzpj2gy2zciqqjihpei5dl7boom5gd5gwhvhpfuck.jpeg" />
  <img
loading="lazy"
width="220px"
src="/forest/bafkyrzacidguwudhzsfag46r7guuc3wsyhzxlhkpvbn5jauemgcu7rzoyswdwr3dg3n2rexeoqijnfljb2q6djwm6cgmop6dk6rwx5yuvw7tdudm.jpeg" />
  <figcaption>Sunset over the Lyneham Wetlands.</figcaption></figure><p
xmlns:html="http://www.w3.org/1999/xhtml">I think car-centric cities are one of the worst mistakes humanity has made in terms of societal engineering. I hate cars. Please get rid of all the cars.</p></section><section
class="block hide-metadata numbered"><header><h2>16th Sunday after Pentecost 2025</h2></header>
  <blockquote
xmlns:html="http://www.w3.org/1999/xhtml">
  In nómine Dómini omne genu flectátur, cæléstium, terréstrium et infernórum: quia Dóminus factus obédiens usque ad mortem, mortem autem crucis: ídeo Dóminus Iesus Christus in glória est Dei Patris.
  <br />
  Omnia quæ fecísti nobis, Dómine, in vero iudício fecísti, quia peccávimus tibi, et mandátis tuis non obedívimus: sed da glóriam nómini tuo, et fac nobíscum secúndum multitúdinem misericórdiæ tuæ.
</blockquote>
<p
xmlns:html="http://www.w3.org/1999/xhtml"> I filled in as director of our choir at <span
class="link external"><a
href="https://allsaintsainslie.org.au/">All Saints Ainslie</a></span> today for our performance of Dubois' <span
class="link external"><a
href="https://www.youtube.com/watch?v=nBBOWSxsbQg">Ave Maria</a></span>. I am getting more comfortable conducting us. I will be conducting again for next week's service as well.</p>
  <blockquote
xmlns:html="http://www.w3.org/1999/xhtml">
  
  <table>
    
  <tr>
    
  <td>Ave María, gratia plena, Dóminus tecum.</td>

    
  <td>Hail Mary, full of grace, the Lord is with thee.</td>

    </tr>

  <tr>
    
  <td>Benedícta tu in muliéribus et benedíctus fructus ventris tui, Jesus.</td>

    
  <td>Blessed art thou among women, and blessed is the fruit of your womb, Jesus.</td>

    </tr>

  <tr>
    
  <td>Sancta María, mater Dei, ora pro nobis peccatóribus,</td>

    
  <td>Holy Mary, mother of God, pray for us sinners,</td>

  </tr>

  <tr>
    
  <td>Nunc et in hora mortis nostræ. Amen.</td>

    
  <td>Now and at the hour of our death. Amen.</td>

  </tr>

  </table>

</blockquote>
<p
xmlns:html="http://www.w3.org/1999/xhtml">I think this week's service went really well. Congratulations to all involved!</p><p
xmlns:html="http://www.w3.org/1999/xhtml">I'm no longer attending Evensongs at St. Paul's or St. John's because it's now too far from my home in Dickson. Hopefully we can start some more frequent Evensong services at All Saints. </p></section></div></content></entry><entry><title>Weeknotes 2025-W38</title><published>2025-09-21T00:00:00Z</published><updated>2025-09-21T00:00:00Z</updated><author><name>Liam O'Connor</name><uri>https://liamoc.net/forest/liamoc/</uri></author><link
rel="alternate"
type="text/html"
href="https://liamoc.net/forest/2025-W38/" /><id>https://liamoc.net/forest/2025-W38/</id><content
type="xhtml"><div
xmlns="http://www.w3.org/1999/xhtml"><p
xmlns:html="http://www.w3.org/1999/xhtml">Because of my trip to Portugal (details below), I wasn't able to write weeknotes for the past two weeks, so I'm catching up here.</p><section
class="block hide-metadata numbered"><header><h2>IFIP WG2.1 Meeting  #83</h2></header><figure
xmlns:html="http://www.w3.org/1999/xhtml"><img
loading="lazy"
width="193px"
src="/forest/bafkyrzaciax7pupxc4cacmq454gjhrvontse2psy4i5hde5xbucsyz5xyajyn35l6mgxw4zjurqpnfu3prrfpf2iovjpf7qmi37ezsbeiwu3wkz4.jpeg" />
  <img
loading="lazy"
width="193px"
src="/forest/bafkyrzaciagyy5b7yqocr6blkax4q63hyjxvawkm3wnttkvl7jwbj5w3d5zo2ek2bdijj7bpajidzdt2v2vwzuxsla2ee3jhtbeorlhuikybjs7s.jpeg" />
  <img
loading="lazy"
width="193px"
src="/forest/bafkyrzaciayumxmkyd2z44b4apprtgqs65jy32ld2w57ur47p2z55mimp3wqimqwi4roxhdcwkxg3i6f4ohcnkq5nje5yptm5jbyp6my52hla3bs.jpeg" /></figure><p
xmlns:html="http://www.w3.org/1999/xhtml">Last week I attended the meeting of <span
class="link local"><a
href="/forest/wg21">IFIP Working Group 2.1: Algorithmic Languages and Calculi</a></span> in Viana do Castelo, Portugal. I think all members and observers agreed that it was a good meeting, with (perhaps overly) abundant food and good company. Thanks in particular to <span
class="link local"><a
href="/forest/jno">José Nuno Oliveira</a></span> for organising the meeting and to <span
class="link local"><a
href="/forest/hoefner">Peter Höfner</a></span> for  serving as chair of <span
class="link local"><a
href="/forest/wg21">WG2.1</a></span> for the last six years.
</p><p
xmlns:html="http://www.w3.org/1999/xhtml">Because this was my third meeting as an observer, I was eligible to be selected as an ongoing member of the group, and I'm happy to say that I was invited to become a member at the conclusion of this meeting. </p><p
xmlns:html="http://www.w3.org/1999/xhtml">I presented some new work my student <span
class="link local"><a
href="/forest/rayhana">Rayhana</a></span> and I did with <span
class="link local"><a
href="/forest/rvg">Rob van Glabbeek</a></span>, classifying monitorability classes topologically.</p><section
class="block hide-metadata numbered"
data-taxon="Reference"><header><h3>Runtime monitoring via topology</h3></header><p
xmlns:html="http://www.w3.org/1999/xhtml">The literature on runtime “verification” (the activity of monitoring a running process to ensure compliance with a given specification) offers many different definitions of “monitorability” for properties. In a linear-time temporal setting, properties take the form of sets of behaviours (infinite sequences of states). In this talk, I will arrange the various monitorability classes found in the literature into a hierarchy along with well-known classes of properties such as safety and guarantee properties. I then give each of these monitorability classes neat topological characterisations within the topology induced by the "guarantee kernel" interior operator. Lastly, I show that the metric space used by <span
class="link local"><a
href="/forest/alpern-schneider-1985">Alpern and Schneider</a></span> coincides with our topology.</p></section><p
xmlns:html="http://www.w3.org/1999/xhtml">This was the sequel of sorts to my <span
class="link local"><a
href="/forest/oconnor-2024-wg21-2">prior WG2.1 talk</a></span> on LTL properties within finite time, which was in turn presenting work from <span
class="link local"><a
href="/forest/amjad-vanglabbeek-oconnor-2024">our EXPRESS/SOS paper</a></span> last year.  The topological connection was realised thanks to <span
class="link local"><a
href="/forest/nickwu">Nicolas Wu</a></span>, also a WG2.1 member, who pointed out in <span
class="link local"><a
href="/forest/oconnor-2024-wg21-2">the Canberra meeting</a></span> that the work I was presenting had distinct notes of <span
class="link local"><a
href="/forest/dt-001Y">domain theory</a></span>. The topological connection was more that of <span
class="link local"><a
href="/forest/alpern-schneider-1985">Alpern and Schneider</a></span> than <span
class="link local"><a
href="/forest/danascott">Scott</a></span>, but that was the spark that drove this later work, which will hopefully be included in our forthcoming Information and Computation paper. </p><figure
xmlns:html="http://www.w3.org/1999/xhtml"><img
loading="lazy"
width="230px"
src="/forest/bafkyrzaciclrnvbkmt3f2hqwqdvrhtkwg45se7kmniw6wvcykxenhi2vv4thdltuz3ofis244flh5h3rqrzwpni3kjqa5umvtdn4ryk6cvgl3fvd.jpeg" />
  <img
loading="lazy"
width="230px"
src="/forest/bafkyrzacibsj7zpbctqwquxgyb2gebd7x4lil6yyosqj5hfgsfsbsnr45id3bbrbqzskqmw7fjs7w4eet2jjeaq7we65qrxec2rbgaqwcwyz4gqr.jpeg" />
  <figcaption>Views of Spain from the Camarido Beach.</figcaption></figure><p
xmlns:html="http://www.w3.org/1999/xhtml">The excursion of the meeting included several stops, including two interesting Viana museums, an archaelogical site on the nearby mountaintop, and a memorable trip to Camarido Beach, at the northernmost tip of Portugal, with Spanish Galicia just to the north along the road from Portugal to Santiago de Compostela.</p><figure
xmlns:html="http://www.w3.org/1999/xhtml"><img
loading="lazy"
width="193px"
src="/forest/bafkyrzacidj4ddtx47i2kqy6d4qk6ur4bsyokmwvgsd4l5zqgqmb4p43u7x6h2eaxtzwi5kkeoqgk7elvsy7afbruyqsru7rb3z6ro4ao2otjncc.jpeg" />
  <img
loading="lazy"
width="193px"
src="/forest/bafkyrzacibrynfwfpa2glxdcjfjghofagkcftybvgcszvfs2jvmzpljn5cgoqoo6p5p42bxaquqrczfgoa3bdw6wec4kcqf5m6ou273sevsoqvji.jpeg" />
  <img
loading="lazy"
width="193px"
src="/forest/bafkyrzacibqjpnzqrwc6uqjt765uu3glgjv5wtrpfi3cbsasekdvggfo7qe4ole4ymcysbeekiwxvzmflbg4bl26bvkf6v3ld2lsef45qpwtnrqe.jpeg" />
  <figcaption>The climb and the Santuario church.</figcaption></figure><p
xmlns:html="http://www.w3.org/1999/xhtml">After the meeting had formally concluded, <span
class="link local"><a
href="/forest/okmij">Oleg Kiselyov</a></span>, <span
class="link local"><a
href="/forest/henglein">Fritz Henglein</a></span>, <span
class="link local"><a
href="/forest/matija">Matija Pretnar</a></span>, <span
class="link local"><a
href="/forest/tsewell">Thomas Sewell</a></span>, <span
class="link local"><a
href="/forest/xnning">Ningning Xie</a></span> and I climbed to Santuario de Santa Luzia. We took the arduous stairs rather than the funicular, as Matija's wife had forbidden him from Portuguese funiculars after the recent <span
class="link external"><a
href="https://en.wikipedia.org/wiki/Ascensor_da_Gl%C3%B3ria_derailment">Ascensor da Glória derailment</a></span>, which led to me overdoing it and nearly fainting, but in recompense Matija bought me a beer at the top of the mountain which made it (mostly) worth it! </p><p
xmlns:html="http://www.w3.org/1999/xhtml">Hopefully I can make it to the next meeting in Estonia next year!</p><figure
xmlns:html="http://www.w3.org/1999/xhtml"><img
loading="lazy"
width="320px"
src="/forest/bafkyrzacia3lf5axksvdapspbet7yur6ycyi2rcimiskax3cpdts632uhupp532tdtkvfq6ishmysb6f3gnahhpts7mo2jk4e4gr7c2lajzybfwm.jpeg" /></figure></section><section
class="block hide-metadata numbered"><header><h2>The ICFP Contest has finished</h2></header><p
xmlns:html="http://www.w3.org/1999/xhtml">While I was flying to Portugal, the <span
class="link local"><a
href="/forest/icfpc25">ICFP '25 Programming Contest</a></span> was ongoing. Despite my anxieties about exorbitant AWS bills and crippling server bugs, the contest went relatively smoothly. <span
class="link local"><a
href="/forest/jackstodart">Jack Stodart</a></span> helped out in parts where I was unavaiable. I did have to fix some minor bugs here and there, mostly in the first hour of the contest (although I also had to fix a tricky bug in the post-lightning round problems using the flaky WiFi at Lisbon airport), but the server ended up holding up very well, and the cost of the various AWS services I used (primarily DynamoDB and Lambda) was only a total of about $20 USD. </p><figure
xmlns:html="http://www.w3.org/1999/xhtml"><img
loading="lazy"
width="400px"
src="/forest/bafkyrzacibfs76j5nsjlkyf33rv3lq5yfguhng5p4oh6xe43ikzr6ccf375dfv3v7assst2qe3twidlruxigeiimcdjii5nwdppdy64eoelrunu4.png" /></figure><p
xmlns:html="http://www.w3.org/1999/xhtml">My <span
class="link external"><a
href="https://icfpcontest2025.github.io/specs/task.pdf">task description</a></span>, <span
class="link external"><a
href="https://icfpcontest2025.github.io/specs/addendum.pdf">post-lightning round addendum</a></span> and <span
class="link external"><a
href="https://icfpcontest2025.github.io/afterword.pdf">reflective afterword</a></span> were all themed around <span
class="link local"><a
href="/forest/eco">Umberto Eco</a></span>'s <em>The Name of the Rose</em>, and I put a great effort into the typesetting of these three documents. It was nice that many contestants picked up on the theming, and appreciated the typesetting. For promotional graphics, I posted images of the Seven Trumpets from the medieval Cloister Apocalypse, an illustrated manuscript of the Book of Revelation. One contestant posted AI-produced remixes of these timeless masterpieces of medieval illumination, which <span
class="link local"><a
href="/forest/loc-001H">had my finger hovering over the ban button</a></span>, but I was able to separate my personal revulsion of LLMs from my role as competition organiser. Besides, <span
class="link local"><a
href="/forest/loc-001P">it would have been hypocritical</a></span>.  </p><p
xmlns:html="http://www.w3.org/1999/xhtml">One other "contestant" seemed to be participating simply to flame the organisers. While they were eventually banned from the Discord (thanks Alperen!), it was a big downer right at the start of the competition. This one individual aside, it seems that the contestants broadly enjoyed the competition and had fun solving it. </p><p
xmlns:html="http://www.w3.org/1999/xhtml">While it was interesting reading the <span
class="link external"><a
href="https://icfpcontest2025.github.io/writeups.html">write-ups</a></span> and seeing the various approaches to the problems, I came away from this contest with the distinct impression that the ICFP community and the ICFP <em>contest</em> community are, for the most part, non-overlapping. This, combined with the <em>immense</em> stress it puts on organisers, leads me to wonder if the ICFP contest might be better off being organised by its own community, rather than the ICFP one. I'm not sure what benefit the connection to ICFP or ACM has to the contest community, if any, and I'm fairly sure there are no benefits in the other direction. I no longer think severing the ICFP connection would be tantamount to <span
class="link local"><a
href="/forest/loc-001E">discontinuing the contest</a></span>, because the contest community surely seems to have enough critical mass to be self-sustaining. Perhaps I will raise this with the ICFP steering committee.</p></section><section
class="block hide-metadata numbered"><header><h2>ANU Logic Summer School 2025</h2></header><p
xmlns:html="http://www.w3.org/1999/xhtml">
  The <span
class="link local"><a
href="/forest/anu">ANU</a></span> Logic Summer School is back again this year, and this time I feature on <span
class="link external"><a
href="https://comp.anu.edu.au/lss/lectures/2025/">the program</a></span>. I will be teaching an Introduction to Interactive Theorem Proving using <span
class="link external"><a
href="https://isabelle.in.tum.de/">Isabelle/HOL</a></span>. The timetable is tentative but it looks like I will be teaching it over the final two days of the first week, with one two-hour and one one-hour lecture per day. This means it will be quite a packed programme, but I will do my best.
</p><p
xmlns:html="http://www.w3.org/1999/xhtml">It's my hope that I can figure out a nice way to include Isabelle code in Forester trees, so that I can make my lecture notes with Forester. But this may be difficult for a variety of technical reasons, so in the worst case it will be a bunch of Isabelle theory files with comments. </p><p
xmlns:html="http://www.w3.org/1999/xhtml">
  My introduction will hopefully tie in to <span
class="link local"><a
href="/forest/cledmonds">Chelsea Edmonds</a></span>' teaching Hoare logic and rely/guarantee reasoning in Isabelle over the second week. 
</p><p
xmlns:html="http://www.w3.org/1999/xhtml"> 
  If you or your students have an interest in logic or verification, please consider sending your students! We also have some limited scholarships available.
</p></section><section
class="block hide-metadata numbered"><header><h2>Against "eureka steps"</h2></header><p
xmlns:html="http://www.w3.org/1999/xhtml">Both <span
class="link local"><a
href="/forest/hoefner">Peter Höfner</a></span> and I enjoyed <span
class="link local"><a
href="/forest/tomschrijvers">Tom Schrijvers</a></span>' talk at the <span
class="link local"><a
href="/forest/loc-001U">IFIP WG2.1 Meeting  #83</a></span> answering a challenge from <span
class="link local"><a
href="/forest/brunooliveira">Bruno C. d. S. Oliveira</a></span>: to stepwise <em>derive</em> his <span
class="link local"><a
href="/forest/zhou-oliveira-2025">QuickSub</a></span> efficient iso-recursive subtype checking algorithm from the exponential-time Amber rules of <span
class="link local"><a
href="/forest/lucacardelli">Luca Cardelli</a></span>'s <span
class="katex-math"
data-display="inline"
data-tex="\mathcal {F}_{&lt;}">\mathcal {F}_{&lt;}</span>. Impressively, <span
class="link local"><a
href="/forest/tomschrijvers">Tom</a></span> and his student were able to get there, and it's certainly nice to have such a neat justification of QuickSub's correctness, but I did experience some mild irritation: The calculation was done <em>with a very specific goal in mind</em> — namely the QuickSub algorithm — and so several steps in the proof were, in a sense, "goal-motivated". If we didn't know the QuickSub algorithm in advance, many steps would have had no intuition behind them at all. Another member of the group called such steps "eureka steps".</p><p
xmlns:html="http://www.w3.org/1999/xhtml">It led me to wonder about the myriad of possible choices available at any given step in that refinement. Why do we choose <em>this</em> algorithm? If I recall some of the classic works on program calculation from <span
class="link local"><a
href="/forest/richardbird">Richard Bird</a></span> or <span
class="link local"><a
href="/forest/ccm">Carroll Morgan</a></span>, the algorithms we end up with proceed from a series of calculations, each of which makes sense in isolation. You can read the derivation from beginning to end and each step feels like it's improving the algorithm in some way. The process feels entirely natural. Whereas here, these "eureka steps" mean that I need to look much further ahead to find the motivation for the transformation being performed. </p><p
xmlns:html="http://www.w3.org/1999/xhtml">I encountered a similar feeling when my student <span
class="link local"><a
href="/forest/xinloi">Xin Lu</a></span> raised <span
class="link local"><a
href="/forest/raad-bdo-2022">Concurrent Incorrectness Separation Logic</a></span> for discussion with me and <span
class="link local"><a
href="/forest/hoefner">Peter Höfner</a></span>. <span
class="link local"><a
href="/forest/ohearn-2020">Incorrectness Logic</a></span> is, in a nutshell, a logic for showing the presence of bugs rather than their absence. One of its nice qualities is that, like its almost-dual Hoare logic, it offers a relatively <em>calculational</em> way to approach program (in)correctness, where each proof step follows naturally from the structure of the program and the assertions within it. Unfortunately, <span
class="link local"><a
href="/forest/raad-bdo-2022">Concurrent Incorrectness Separation Logic</a></span> doesn't quite preserve this property when moving to a concurrent setting. To prove the existence of concurrency bugs like races, each thread's local assertions build a history of writes and lock actions, and then, in the assertion after the potential race, a "eureka step" comes in which points out the problematic interleaving of these histories that exhibits the race condition. Proving the presence of this bug required first knowing that the bug exists and how it can arise, and then doing the same "goal-motivated" reasoning that we saw in <span
class="link local"><a
href="/forest/tomschrijvers">Tom</a></span>'s talk. This seems to me quite dissatisfying. Is there a more genuinely calculational approach here? I suspect concurrency makes things fundamentally more difficult, but I think we should nonetheless strive for the elimination of these "eureka steps" even if it's not always possible to do so.  </p></section><section
class="block hide-metadata numbered"><header><h2>Feast of St. Matthew 2025</h2></header>
  <blockquote
xmlns:html="http://www.w3.org/1999/xhtml">
  Salus pópuli ego sum, dicit Dóminus: de quacúmque tribulatióne clamáverint ad me, exáudiam eos: et ero illórum Dóminus in perpétuum.
  <br />
  Protexísti me Deus a convéntu malignántium, allelúia: a multitúdine operántium iniquitátem, allelúia, allelúia.
  <br />
  Venite benedícti Patris mei, percípite regnum, allelúia: quod vobis parátum est aborigine mundi, allelúia, allelúia, allelúia.
</blockquote>
<p
xmlns:html="http://www.w3.org/1999/xhtml">Our choir at <span
class="link external"><a
href="https://allsaintsainslie.org.au/">All Saints Ainslie</a></span> was in relatively full numbers, except that we had zero altos and no director. I filled in as director and appointed a few of our singers to cover the alto part for one of my favourite motets, Byrd's <span
class="link external"><a
href="https://www.youtube.com/watch?v=R3vuU7XAaUM">Ave Verum Corpus</a></span>. We were originally set to sing Lloyd's <em>Benedicta sit</em> (for which I can find no recording), but the substitution was made to a more familiar anthem due to our shortage of altos and a director.</p>
  <blockquote
xmlns:html="http://www.w3.org/1999/xhtml">
  
  <table>
    
  <tr>
    
  <td>Ave verum corpus natum de María Vírgine,</td>

    
  <td>Hail, true body, born of the Virgin Mary,</td>

    </tr>

  <tr>
    
  <td>Vere passum immolátum in cruce pro hómine,</td>

    
  <td>True suffering, sacrificed on the cross for Man,</td>

    </tr>

  <tr>
    
  <td>Cuius latus perforátum unda fluxit sánguine,</td>

    
  <td>From whose pierced side flowed waves of blood,</td>

  </tr>

  <tr>
    
  <td>Esto nobis prægustátum in mortis exámine.</td>

    
  <td>Be for us a foretaste in death's trial.</td>

  </tr>

  <tr>
    
  <td>O dulcis, O pie, O Iesu fili Maríæ,</td>

    
  <td>O sweet! O blessed! O Jesus, son of Mary, </td>

  </tr>

  <tr>
    
  <td>Miserére mei, miserére mei, miserére mei.</td>

    
  <td>Have mercy on me, have mercy on me, have mercy on me. </td>

  </tr>

  </table>

</blockquote>
<p
xmlns:html="http://www.w3.org/1999/xhtml">We sang at the front of the church today (as we had no organ) which I think gave a better acoustic. We got many complements after the service.</p></section></div></content></entry><entry><title>Weeknotes 2025-W35</title><published>2025-08-31T00:00:00Z</published><updated>2025-08-31T00:00:00Z</updated><author><name>Liam O'Connor</name><uri>https://liamoc.net/forest/liamoc/</uri></author><link
rel="alternate"
type="text/html"
href="https://liamoc.net/forest/2025-W35/" /><id>https://liamoc.net/forest/2025-W35/</id><content
type="xhtml"><div
xmlns="http://www.w3.org/1999/xhtml"><p
xmlns:html="http://www.w3.org/1999/xhtml">This week included my aforementioned <span
class="link local"><a
href="/forest/loc-001O">move to Dickson</a></span>. I'm really liking my new place, even though I haven't unpacked everything yet. Having a reasonably authentic bánh mì shop nearby is a huge relief after trying the mostly poor-quality bánh mì sold at most other Canberra locations (let alone the pathetic excuses for bánh mì sold in Edinburgh). Also the walking routes to both church and the university are, while a bit longer than what I'm used to, very full of natural beauty and mostly quiet and free of traffic noise. </p><p
xmlns:html="http://www.w3.org/1999/xhtml">Work-wise, this week was mostly <span
class="link local"><a
href="/forest/icfpc25">ICFP '25 Programming Contest</a></span> preparation, as well as preparing for my upcoming trip to Portugal. </p><section
class="block hide-metadata numbered"><header><h2>12th Sunday after Pentecost 2025</h2></header>
  <blockquote
xmlns:html="http://www.w3.org/1999/xhtml">
  Miserére mihi Dómine, quóniam ad te clamávi tota die: quia tu Dómine suávis ac mitis es, et copiósus in misericórdia ómnibus invocántibus te.
</blockquote>
<p
xmlns:html="http://www.w3.org/1999/xhtml">Today our choir at <span
class="link external"><a
href="https://allsaintsainslie.org.au/">All Saints Ainslie</a></span> were about two to a part for Palestrina's well-known <span
class="link external"><a
href="https://www.youtube.com/watch?v=dU7k-hiiVjw">Sicut Cervus</a></span>:</p>
  <blockquote
xmlns:html="http://www.w3.org/1999/xhtml">
  
  <table>
    
  <tr>
    
  <td>Sicut cervus desíderat ad fontes aquárum:</td>

    
  <td>Like as the hart desireth the waterbrooks:</td>

    </tr>

  <tr>
    
  <td>ita desíderat ánima mea ad te, Deus.</td>

    
  <td>So longeth my soul after thee, O God.</td>

    </tr>

  </table>

</blockquote>
</section></div></content></entry><entry><title>Weeknotes 2025-W34</title><published>2025-08-24T00:00:00Z</published><updated>2025-08-24T00:00:00Z</updated><author><name>Liam O'Connor</name><uri>https://liamoc.net/forest/liamoc/</uri></author><link
rel="alternate"
type="text/html"
href="https://liamoc.net/forest/2025-W34/" /><id>https://liamoc.net/forest/2025-W34/</id><content
type="xhtml"><div
xmlns="http://www.w3.org/1999/xhtml"><p
xmlns:html="http://www.w3.org/1999/xhtml">This week included the start of <span
class="link local"><a
href="/forest/xinloi">Xin Lu</a></span>'s PhD with me and <span
class="link local"><a
href="/forest/hoefner">Peter Höfner</a></span>, my sitting on a PhD review panel for <span
class="link local"><a
href="/forest/tudor">Tudor Ferariu</a></span> and a few productive meetings including with <span
class="link local"><a
href="/forest/rayhana">Rayhana Amjad</a></span>.</p><section
class="block hide-metadata numbered"><header><h2>COMP1100 lectures done</h2></header><figure
xmlns:html="http://www.w3.org/1999/xhtml"><img
loading="lazy"
width="220px"
src="/forest/bafkyrzacibsaffugpgmi34r5c5n6appesfco4awy5wjwmukaioevzldsivkqdmufhfevenwvbjli3zcqgpw7eycqodkvnps2mp55xtavwzhnllz5.jpeg" />
  <img
loading="lazy"
width="220px"
src="/forest/bafkyrzaciby62ubh764jbiohbqhcsaxnnh33rdfqv7depeiefnls7tdhxlby2iywnp2yewkdnuhmxqsjfifbngcwzy7e5o7ytefgnz4s7faox73k.jpeg" />
  <figcaption>The squawking cockatoos on the walk from my lecture theatre.</figcaption></figure><p
xmlns:html="http://www.w3.org/1999/xhtml">I finished the first 5 weeks of teaching for <span
class="link local"><a
href="/forest/COMP1100">Programming as Problem Solving</a></span> this week, which marks the point in the course where I hand over lecturing duties to <span
class="link local"><a
href="/forest/ranaldclouston">Ranald Clouston</a></span>. Tomorrow I will be up early to invigilate the mid-term exam, which I spent the last week setting up. I think it will be sufficiently brutal to give a shock to those students <span
class="link local"><a
href="/forest/loc-001I">who have not sufficiently engaged</a></span>, while still being fair and achievable for that handful of students who are attending classes and strongly engaging with the course.</p><p
xmlns:html="http://www.w3.org/1999/xhtml">I was absolutely mortified in the first lecture of my final week when only two students (out of almost 120) showed up. I later found out that my handful of regular attendees had a maths exam the same time, which lessened the impact somewhat.</p><p
xmlns:html="http://www.w3.org/1999/xhtml">I have no doubt that most of those who actually attend my lectures will do well. They are very on the ball, and they seem to enjoy my lectures. One asked what other subjects I teach, and another gave me a delicious carrot cake after my final lecture, which was a very touching gesture!</p></section><section
class="block hide-metadata numbered"><header><h2>The ICFP contest is nearly upon us</h2></header><p
xmlns:html="http://www.w3.org/1999/xhtml">I've been putting the finishing touches on the server for the <span
class="link local"><a
href="/forest/icfpc25">ICFP '25 Programming Contest</a></span>, which I am organising. With <span
class="link local"><a
href="/forest/jackstodart">Jack Stodart</a></span> and <span
class="link local"><a
href="/forest/alexblack">Alex Mirrlees-Black</a></span> we will put it through a test run this week, if I can find the time.</p><p
xmlns:html="http://www.w3.org/1999/xhtml">I wrote the server in Kotlin and used AWS Lambda, AWS DynamoDB and other Amazon Web Services. The point of this approach was so that I wouldn't have to worry about scalability, but I am slightly nervous that the costs will be much higher than I expected. I guess I'll cross that bridge when I come to it.</p><p
xmlns:html="http://www.w3.org/1999/xhtml">I must say that the state of documentation for AWS is <strong>simply atrocious</strong>. On one occasion, in desperation to find some answers to what I thought were simple queries, I turned to the dreaded bots for help. They gave me incorrect answers, of course, but I was at least able to <span
class="link external"><a
href="https://kagi.com/">Kagi search</a></span> my way to success based on their answer. Still, I feel like I need to go to confession and receive absolution for interacting at all with those infernal machines.</p><p
xmlns:html="http://www.w3.org/1999/xhtml">Another concern is that I am flying from Sydney to Portugal while the contest will be going on. I'm hoping Jack will be able to monitor things without me, but mostly I'm going on faith that nothing will explode.</p><p
xmlns:html="http://www.w3.org/1999/xhtml">I'm theming this year's contest around one of my all-time favourite novels, <span
class="link local"><a
href="/forest/eco">Umberto Eco</a></span>'s <em>The Name of the Rose</em>. Some of the folks on our Discord channel have been enjoying that.</p></section><section
class="block hide-metadata numbered"><header><h2>Holbert status report</h2></header><p
xmlns:html="http://www.w3.org/1999/xhtml">My honours students have been hard at work on the <span
class="link local"><a
href="/forest/loc-000V">next generation of Holbert</a></span> lately. <span
class="link local"><a
href="/forest/miowu">Mio Wu</a></span> has finished implementing an engine (including pattern unification) for higher order terms, and is now investigating <span
class="link local"><a
href="/forest/libal-miller-2021">Functions-as-constructors higher-order unification</a></span> for implementation in Holbert-ng. Also <span
class="link local"><a
href="/forest/joshbrown">Josh Brown</a></span> has been looking into E-unification modulo associativity, so that we can represent syntax and parsing rules in Holbert. Both have made excellent progress, with basic versions of their respective unification algorithms already in place and working.</p><p
xmlns:html="http://www.w3.org/1999/xhtml">I'm hoping that I will have time to work on the UI side of things again sometime in September, but we shall see!</p></section><section
class="block hide-metadata numbered"><header><h2>Feast of St. Bartholomew 2025</h2></header>
  <blockquote
xmlns:html="http://www.w3.org/1999/xhtml">
  MIHI autem nimis honoráti sunt amíci tui, Deus: nimis confortátus est principátus eórum.
  <br />
  EGO autem sicut olíva fructificávi in domo Dómini, sperávi in misericórdia Dei mei: et exspectábo nomen tuum, quóniam bonum est ante conspéctum sanctórum tuórum.
  <br />
  Inclína Dómine, aurem tuam ad me, et exáudi me: salvum fac servum tuum, Deus meus, sperántem in te: miserére mihi, Domine, quóniam ad te clamávi tota die.
</blockquote>
<p
xmlns:html="http://www.w3.org/1999/xhtml">Today our choir at <span
class="link external"><a
href="https://allsaintsainslie.org.au/">All Saints Ainslie</a></span> sang Anton Brucker's classic <span
class="link external"><a
href="https://www.youtube.com/watch?v=udZCjXbwkzk">Locus Iste</a></span>:</p>
  <blockquote
xmlns:html="http://www.w3.org/1999/xhtml">
  
  <table>
    
  <tr>
    
  <td>Locus iste a Deo factus est.</td>

    
  <td>This place is made by God,</td>

    </tr>

  <tr>
    
  <td>Inaestimábile sacraméntum,</td>

    
  <td>A priceless sacrament,</td>

    </tr>

  <tr>
    
  <td>Irreprehensíbilis est.</td>

    
  <td>Beyond reproach.</td>

  </tr>

  <tr>
    
  <td>Locus iste a Deo factus est.</td>

    
  <td>This place is made by God.</td>

  </tr>

  </table>

</blockquote>
<p
xmlns:html="http://www.w3.org/1999/xhtml">Strangely, it seems that Roman Catholics ignored the feast today, just celebrating the 21st Sunday in Ordinary Time instead. Not sure why that was happening.</p><p
xmlns:html="http://www.w3.org/1999/xhtml">I didn't go to Evensong today, because I'm so busy setting up the ICFP programming contest and arranging <span
class="link local"><a
href="/forest/loc-001O">my move to Dickson</a></span>.</p></section></div></content></entry><entry><title>Weeknotes 2025-W33</title><published>2025-08-17T00:00:00Z</published><updated>2025-08-17T00:00:00Z</updated><author><name>Liam O'Connor</name><uri>https://liamoc.net/forest/liamoc/</uri></author><link
rel="alternate"
type="text/html"
href="https://liamoc.net/forest/2025-W33/" /><id>https://liamoc.net/forest/2025-W33/</id><content
type="xhtml"><div
xmlns="http://www.w3.org/1999/xhtml"><p
xmlns:html="http://www.w3.org/1999/xhtml">I'm still overwhelmed with work. I was planning to talk about AWS and its quirks a bit this week, because I am using it for the <span
class="link local"><a
href="/forest/icfpc25">ICFP '25 Programming Contest</a></span>, but that will have to wait for another time. </p><section
class="block hide-metadata numbered"><header><h2>I'm moving to Dickson</h2></header><figure
xmlns:html="http://www.w3.org/1999/xhtml"><img
loading="lazy"
width="220px"
src="/forest/bafkyrzacicakdtec2gnbuvi2wkqp2czmgqkihe25ibvgccfbia7uzcofzkf2oupb6t2lqhbbzo44nxat36vclrpcziwgddv3maceyurbaqbfi2zj.jpeg" />
  <img
loading="lazy"
width="220px"
src="/forest/bafkyrzaciapoixmeeivg27pjw4l5pd57uym3igfo7jtceemv4gpcefjqtbbpypiunm3n65zzxgbwicpsyfdtfrqfgrc6rgp4bqdaoq7af2irfijj.jpeg" />
  <figcaption>Some shots of Dickson, including a statue of Confucius.</figcaption></figure><p
xmlns:html="http://www.w3.org/1999/xhtml">With the dire state of the Australian property market, it seems that my landlord has decided to pick the most inconvenient possible time for me to sell the flat that I currently live in, in the Braddon suburb of inner Canberra.</p><p
xmlns:html="http://www.w3.org/1999/xhtml">While there is technically a slim possibility that the new owners would want to keep me on as a tenant, I don't think it's likely, and I also don't want to have to put up with weeks of open home shenanigans while the sale is happening.</p><p
xmlns:html="http://www.w3.org/1999/xhtml">So, I immediately began looking for a place to live, and I found a good place in Dickson, a suburb further north in Canberra than where I am now, but near a vibrant Chinatown area and with lots of nice cycle and walking routes to my work and my church. Although the commute to work will now take twice as long, it's a nice walk and good for my health.</p><p
xmlns:html="http://www.w3.org/1999/xhtml">Also, while I like the convenience of living in Braddon, it does have its downsides. The ever-present sound of revving cars and motorcycles because of the busy traffic in the inner Canberra area is quite annoying, and while Canberra is known for its quiet streets mine is not really. Plus, Canberra is a strange city in that the CBD (called Civic) isn't really much more active than anywhere else in the city, so it feels somehow lifeless to be there. Perhaps it's just because of the larger east Asian population (something I'm used to from Sydney), but I think I will be more comfortable in Dickson.</p><p
xmlns:html="http://www.w3.org/1999/xhtml">The other upside of this is that I get to have some petty revenge on my landlord for inconveniencing me, who will now be deprived of rental income until they can find a buyer – it's illegal in the ACT to rent to a tenant if you intend to sell within the first period of their tenancy. </p></section><section
class="block hide-metadata numbered"><header><h2>10th Sunday After Pentecost 2025</h2></header>
  <blockquote
xmlns:html="http://www.w3.org/1999/xhtml">
  SIGNUM magnum appáruit in cælo: múlier amícta sole, et luna sub pédibus eius et in cápite eius coróna stellárum duódecim.
  <br />
  Gaudeámus omnes in Dómino, diem festum celebrántes sub honóre Maríæ Vírginnis: de cuius assumptióne gaudent Angeli, et colláudant Fílium Dei.
  <br />
  Protéctor noster áspice, Deus, et réspice in fáciem Christi tui: quia mélior est dies una in átriis tuis super míllia.
</blockquote>
<p
xmlns:html="http://www.w3.org/1999/xhtml">Today our choir at <span
class="link external"><a
href="https://allsaintsainslie.org.au/">All Saints Ainslie</a></span> was without a conductor, so I directed us as we performed Tallis' lovely motet, <em>A New Commandment</em>. Using multi-track recording, here's a rendition of me singing every part of it simultaneously (Closer to Tallis' original pitch than how we performed it):</p><iframe
xmlns:html="http://www.w3.org/1999/xhtml"
style="aspect-ratio: 16 / 9;"
width="100%
   "
src="https://www.youtube.com/embed/0ErxCxXee08"
title="A New Commandment"
frameborder="0"
allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share"
referrerpolicy="strict-origin-when-cross-origin" />
  <blockquote
xmlns:html="http://www.w3.org/1999/xhtml">
<table
style="text-align: left">
  <tr><td>A new commandment give I unto you, saith the Lord.</td></tr>
  <tr><td>That ye love together, as I have loved you.</td></tr>
  <tr><td>That e'enso ye love one another, </td></tr>
  <tr><td>By this shall everyone know that ye are my disciples,</td></tr>
  <tr><td>If ye have love, one to another.</td></tr>
</table></blockquote>
<p
xmlns:html="http://www.w3.org/1999/xhtml">It was also the first Sunday after the feast of the Assumption of the Blessed Virgin Mary. I know it's not universally celebrated in Anglicanism, but CCSL had at least a feast of "Mary the Mother" and my old parish in Edinburgh had a full celebration of the Assumption. But there was nothing to note the assumption (nor the dormition) at the Anglican parishes of Canberra. Very disappointing.</p><p
xmlns:html="http://www.w3.org/1999/xhtml">I didn't go to Evensong today, because I'm so busy setting up the ICFP programming contest.</p></section></div></content></entry><entry><title>Weeknotes 2025-W32</title><published>2025-08-10T00:00:00Z</published><updated>2025-08-10T00:00:00Z</updated><author><name>Liam O'Connor</name><uri>https://liamoc.net/forest/liamoc/</uri></author><link
rel="alternate"
type="text/html"
href="https://liamoc.net/forest/2025-W32/" /><id>https://liamoc.net/forest/2025-W32/</id><content
type="xhtml"><div
xmlns="http://www.w3.org/1999/xhtml"><p
xmlns:html="http://www.w3.org/1999/xhtml">I've been overwhelmed with work lately. But my travel to Portugal for the WG2.1 meeting has now been fully organised. </p><figure
xmlns:html="http://www.w3.org/1999/xhtml"><img
loading="lazy"
width="220px"
src="/forest/bafkyrzacibkkiloqf6a34wmouomki2y4bklawygvpm6jm6ub55b2v353d4cqp2lgy3ntqqczdporv774aurmzshnd3cbwd7c53u7wep5sh6uoajo.jpeg" />
  <img
loading="lazy"
width="220px"
src="/forest/bafkyrzacide6d4vtx62bo5ykoteajyrtpxapmmr65xevbjxumyycvduun6lg3ihw7ar4gebcjd75a3mpctf3j634cqvy6qntfahwjhe7xi7xvyvo.jpeg" />
  <figcaption>Some shots around campus and Canberra.</figcaption></figure><section
class="block hide-metadata numbered"><header><h2>Old Man Yells at Cloud</h2></header><p
xmlns:html="http://www.w3.org/1999/xhtml">
  This post could be considered a sequel to <span
class="link local"><a
href="/forest/loc-001H">my previous post</a></span> regarding the use of LLMs in education, to which I recently added <span
class="link external"><a
href="https://www.wheresyoured.at/the-haters-gui/">Ed Zitron's excellent article</a></span>, but here I describe  more generally the attitude I observe among students recently.
</p><figure
xmlns:html="http://www.w3.org/1999/xhtml"><img
loading="lazy"
src="/forest/bafkyrzacidtslx6h3npyb37byfsjziowj2c64ya74sypeacraczrut7dap6quoavc4v5utv652rzv3thsrewah5p4mfn5xzanmiwqfyn6taabr6v.jpeg" /></figure><p
xmlns:html="http://www.w3.org/1999/xhtml">I am avoiding mention of specific incidents to preserve anonymity, so I will by necessity speak in generalities, but of course there are still engaged, conscientious and diligent students, and not all hope is lost. <strong>If you are a student of mine reading this, I most probably consider you part of this hopeful set.</strong></p><p
xmlns:html="http://www.w3.org/1999/xhtml">
  Introductory programming of the kind we teach in <span
class="link local"><a
href="/forest/COMP1100">Programming as Problem Solving</a></span> can only be learned by diligent practice. And yet, we find that many students are resistant towards applying effort to gain a skill. They don't want to practise anything, and they even resent us for not allowing them to cheat with AI. They want to achieve their desired outcomes with as little effort as possible. My friend <span
class="link local"><a
href="/forest/owickstrom">Oskar</a></span> phrased it as "a get rich quick scheme for life''. Seeing as the vast, vast majority of my own personal fulfilment comes from mastering things that I previously couldn't do, I really don't understand how these demotivated students find fulfilment or joy in any part of their lives, and it concerns me not just for their education but for their development as human beings.</p><p
xmlns:html="http://www.w3.org/1999/xhtml">This indifference towards gaining mastery of skills also seems to generalise to their human connections. When I wrote about the <span
class="link local"><a
href="/forest/loc-001I">Engagement Crisis in Teaching</a></span>, I was still reeling from the lack of attendance of students in the very first lecture of my first year computing course. Now we're sitting at 13 out of 130 students attending. I've never had attendance so dire – and most students enjoy my lectures! Many friendships I treasured during my own university days were made in those first few lectures, sitting next to an unfamiliar classmate in the lecture theatre. Attending classes in person wasn't ever the most popular option for some students, but when I was a student it was normal to attend the university campus every day at least. I too would often skip lectures and spend time socialising or having fun, but at least I forged friendships, relationships, and made some human connections. I had some life experiences that stay with me as valued memories.  I'm concerned that these students who aren't attending lectures aren't just skipping lectures to go to parties with their friends – they're skipping lectures to stay at home vegetating on the internet. I worry that these young people haven't become socialised to other human beings properly.</p><p
xmlns:html="http://www.w3.org/1999/xhtml">
  I think COVID certainly didn't help, but a lot of this is because of <span
class="link external"><a
href="https://eev.ee/blog/2025/07/03/the-rise-of-whatever/">the rise of whatever</a></span>. People no longer view the world as a place where people can conscientiously work to develop themselves and to develop projects, which they can use both for self-fulfilment and also possibly for a career. Instead, it is a sickening zero-sum race of finding the bigger fool. Very little is genuine, almost everything is grifting. LLMs of course play a big role in this, with many of these grifters promising that you don't have to learn programming, logic, thinking, writing, anything – LLMs will do all the work for you. I think this culture is seeping down into young people and causing this staggering decline in conscientiousness.
</p><p
xmlns:html="http://www.w3.org/1999/xhtml">I don't know how to conclude this. All that I can hope is that young people resist the pressures of the age and forge themselves into well-rounded, authentic human beings. Here are some ideas on how to do this:</p><ol
xmlns:html="http://www.w3.org/1999/xhtml"><li><strong>Learn a skill.</strong> Learn to speak another language, learn to program computers, make art, write poetry, do mathematical problems, build furniture, make films, learn a musical instrument, sing a song. Whatever you enjoy doing, just incrementally develop your skills. It's fine if you're bad at it – everyone is at first.
  </li>
  <li><strong>Go outside.</strong> Connect with people who you can see in person on a regular basis. Join a local group with shared interests. Go to class! Or at least go to the bar on campus during class time.
  </li>
  <li><strong>Forge human connections in person.</strong> Talk to people, even people with whom you disagree or those who are in a different place in life than you are. I have met many such people from church, but people are everywhere. Social media is not a substitute for this.
  </li>
  <li><strong>Get a hobby.</strong> Don't do it just to share it with other people. Do it for yourself. Give yourself a source of fulfilment that doesn't come from outside.
  </li></ol></section><section
class="block hide-metadata numbered"><header><h2>9th Sunday After Pentecost 2025</h2></header>
  <blockquote
xmlns:html="http://www.w3.org/1999/xhtml">
  Tibi dixit cor meum, quæsívi vultum tuum, vultum tuum Dómine requíram: ne avértas fáciem tuam a me.
  <br />
  Respice Dómine, in testaméntum tuum, et ánimas páuperum tuórum ne derelínquas in finem: exsúrge Dómine, et iúdica causam tuam: et ne obliviscáris voces quæréntium te.
</blockquote>
<p
xmlns:html="http://www.w3.org/1999/xhtml">Today our choir at <span
class="link external"><a
href="https://allsaintsainslie.org.au/">All Saints Ainslie</a></span> was in full numbers for Pitoni's <span
class="link external"><a
href="https://www.youtube.com/watch?v=b1EbtghUBoc">Cantate Domino</a></span>, with lyrics from Psalm 149:</p>
  <blockquote
xmlns:html="http://www.w3.org/1999/xhtml">
  
  <table>
    
  <tr>
    
  <td>Cantáte Dómino cánticum novum,</td>

    
  <td>Sing unto the Lord a new song,</td>

    </tr>

  <tr>
    
  <td>Laus eius in ecclésia sanctórum,</td>

    
  <td>and his praise in the congregation of saints,</td>

    </tr>

  <tr>
    
  <td>Lætétur Israel in eo, qui fecit eum :</td>

    
  <td>Let Israel rejoice in him that made him,</td>

  </tr>

  <tr>
    
  <td>Et fíliæ Sion exsultent in rege suo.</td>

    
  <td>Let the children of Zion be joyful in their King.</td>

  </tr>

  </table>

</blockquote>
<p
xmlns:html="http://www.w3.org/1999/xhtml">It was also the first Sunday after the feast of the Transfiguration of the Lord. I was a bit disappointed to see no Anglican observance of the feast.</p><p
xmlns:html="http://www.w3.org/1999/xhtml">I didn't go to Evensong today, although I intended to, because I took a wrong turn and ended up in the middle of nowhere, Reid. So the walk to St. John's would have taken the first ten minutes of the actual service. Oh well, at least I had a nice stroll.</p></section></div></content></entry><entry><title>Weeknotes 2025-W31</title><published>2025-08-03T00:00:00Z</published><updated>2025-08-03T00:00:00Z</updated><author><name>Liam O'Connor</name><uri>https://liamoc.net/forest/liamoc/</uri></author><link
rel="alternate"
type="text/html"
href="https://liamoc.net/forest/2025-W31/" /><id>https://liamoc.net/forest/2025-W31/</id><content
type="xhtml"><div
xmlns="http://www.w3.org/1999/xhtml"><p
xmlns:html="http://www.w3.org/1999/xhtml">I don't have much to include this week because of my <span
class="link local"><a
href="/forest/COMP1100">Programming as Problem Solving</a></span> management taking up most of my time. I had planned to write something about the entitlement of students (in a true "get off my lawn" style) but it will have to wait for another week. </p><figure
xmlns:html="http://www.w3.org/1999/xhtml"><img
loading="lazy"
width="220px"
src="/forest/bafkyrzacidibpzrki4kitnauww2pwqvfb5n7bztzllnuifk6ye67qefociihxibvxeietuix5to5tpifmyc5a5e6g7anhncsujmfhszmxdqkjss3.jpeg" />
  <img
loading="lazy"
width="220px"
src="/forest/bafkyrzacicjdotvtrcb2unh7limscaw62kw56fxqj6jqsxpafrvxebwayp7vejhuepski3aepdejur6hnrs5zgxxkrt7nrmjmlwns7mzrjgabtsu.jpeg" />
  <img
loading="lazy"
width="220px"
src="/forest/bafkyrzacib2i4ks2msuzwoibd3g6cqqacsi6j3cs2meiqzwidssza2qde7bhcjwn23bkm3santw4cpghtjadq5n3jvqycehrpkffnco7hoc4xhy4.jpeg" />
  <figcaption>Some parrots spotted on the ANU campus.</figcaption></figure><section
class="block hide-metadata numbered"><header><h2>8th Sunday After Pentecost 2025</h2></header>
  <blockquote
xmlns:html="http://www.w3.org/1999/xhtml">
  Deus in adiutórium meum inténde: Dómine ad adiuvandum me festína: confundántur et revereántur inimíci mei, qui quærunt ánimam meam.
</blockquote>
<p
xmlns:html="http://www.w3.org/1999/xhtml">Today our choir at <span
class="link external"><a
href="https://allsaintsainslie.org.au/">All Saints Ainslie</a></span> was short on numbers and without a director, but we had enough singers to manage as I conducted Farrant's <span
class="link external"><a
href="https://www.youtube.com/watch?v=vf-braNVF2Q">Lord, for thy tender mercy's sake</a></span>:</p>
  <blockquote
xmlns:html="http://www.w3.org/1999/xhtml">
  <table
style="text-align: left">
    <tr><td>Lord for thy tender mercy's sake</td></tr>
    <tr><td>Lay not our sins to our charge,</td></tr>
    <tr><td>But forgive that is past</td></tr>
    <tr><td>And give us grace to amend our sinful lives.</td></tr>
    <tr><td>To decline from sin and incline to virtue,</td></tr>
    <tr><td>That we may walk in a perfect heart</td></tr>
    <tr><td>Before thee now and evermore.</td></tr>
    <tr><td>Amen.</td></tr>
  </table>
</blockquote>
<p
xmlns:html="http://www.w3.org/1999/xhtml">It was also a special service for <em>Missing Persons Sunday</em>, so several members of the Australian Federal Police were present, along with some politicians and some families and friends of missing individuals.</p><p
xmlns:html="http://www.w3.org/1999/xhtml">I didn't go to Evensong today because I had to prepare my lectures.</p></section></div></content></entry><entry><title>Weeknotes 2025-W30</title><published>2025-07-27T00:00:00Z</published><updated>2025-07-27T00:00:00Z</updated><author><name>Liam O'Connor</name><uri>https://liamoc.net/forest/liamoc/</uri></author><contributor><name>Arthur Azevedo de Amorim</name><uri>https://liamoc.net/forest/adeamorim/</uri></contributor><contributor><name>Christine Rizkallah</name><uri>https://liamoc.net/forest/crizkallah/</uri></contributor><contributor><name>Peter Schachte</name><uri>https://liamoc.net/forest/pschachte/</uri></contributor><contributor><name>Pilar Selene Linares Arévalo</name><uri>https://liamoc.net/forest/selene/</uri></contributor><contributor><name>Vincent Jackson</name><uri>https://liamoc.net/forest/vjackson/</uri></contributor><link
rel="alternate"
type="text/html"
href="https://liamoc.net/forest/2025-W30/" /><id>https://liamoc.net/forest/2025-W30/</id><content
type="xhtml"><div
xmlns="http://www.w3.org/1999/xhtml"><p
xmlns:html="http://www.w3.org/1999/xhtml">I started teaching the course <span
class="link local"><a
href="/forest/COMP1100">Programming as Problem Solving</a></span> this week. I also got some good news: <span
class="link local"><a
href="/forest/selene">Pilar Selene Linares Arévalo</a></span> and several other authors (including me) recently got news that our paper was accepted to <span
class="link local"><a
href="/forest/aplas25">APLAS '25</a></span>.  </p><section
class="block hide-metadata numbered"><header><h2>Engagement Crisis in Teaching</h2></header><figure
xmlns:html="http://www.w3.org/1999/xhtml"><img
loading="lazy"
width="220px"
src="/forest/bafkyrzaciavbcdyk3avifa4hn5yhizsksm7flpu5qmfa4o2b4kzp6o5xloup2xe2o5wrulawrnbaeh23gdspouk3ws4ib2o6gbtxf3ghh3pymtho.jpeg" />
  <img
loading="lazy"
width="220px"
src="/forest/bafkyrzacici7vseahjodmyiybkdn4gac3lorieiixggj52ekzwioinyydxkxkwk4gm6lsdqwtqgverug5aooisb7jgrmgrsa2aowk3vbuosysrbz.jpeg" />
  <figcaption>A sunset and a morning photo of the same location on the <span
class="link local"><a
href="/forest/anu">Australian National University</a></span> campus, on the way to my lecture theatre</figcaption></figure><p
xmlns:html="http://www.w3.org/1999/xhtml">While this is my time convening <span
class="link local"><a
href="/forest/COMP1100">a first year computing course</a></span>, I have taught lectures for first year before, and I have convened <span
class="link local"><a
href="/forest/COMP3141">large courses</a></span> before. I consider myself a fairly experienced lecturer. Yet, I was both shocked and deeply troubled to see that, of the 120-odd students that enrolled in my first year computing course (this is the "off-session" run of the very first introductory computing course), only about 40 or so attended the first lecture and, even optimistically assuming that there is no overlap between online viewers and in-person viewers, only about 40 further students saw the lectures online. This means I only saw about a third of the course in person, and a third haven't even participated in lectures remotely, let alone in person. </p><p
xmlns:html="http://www.w3.org/1999/xhtml">I think this is an enormous shame. Learning stuff is only part of the reason to attend university. Far more important, at least in my view, is the social aspect. It is one of the few times in an adult's life where it's basically okay to sit next to someone you don't know and just talk to them. After leaving university, the social opportunities can easily dry up, and it pains me to see students basically intentionally throwing this away in favour of online learning.</p><p
xmlns:html="http://www.w3.org/1999/xhtml">If I compare to the very first university lecture I ever attended, back in 2008 at <span
class="link local"><a
href="/forest/unsw">UNSW Sydney</a></span>, which is <span
class="link external"><a
href="https://www.youtube.com/watch?v=hE7l6Adoiiw">still on YouTube for easy comparison</a></span>, it's easy to tell even from the video that the lecture theatre was nearly packed, and the energy among students is high.</p><p
xmlns:html="http://www.w3.org/1999/xhtml">Now, I'm not as charismatic or engaging as Richard Buckland, but my students this year are not even <em>giving me a chance to bore them</em>. They didn't attend from the <em>very first lecture</em>. It's quite demoralising. </p><p
xmlns:html="http://www.w3.org/1999/xhtml">I also noticed that, of the students that thankfully did attend, at first getting them to engage with even simple questions was very challenging. Partly this was because of the configuration of the room (once I realised how to turn on the front lights after turning on the projector auto-dimmed them, engagement improved), and partly it might have been just some initial nerves from the students. I think the situation is improving with regards to in-person engagement, but attendance is still shockingly low.</p><p
xmlns:html="http://www.w3.org/1999/xhtml">My colleagues tell me that attendance figures have been similarly bad ever since COVID hit. Because the course I taught at the <span
class="link local"><a
href="/forest/uoe">University of Edinburgh</a></span> was <span
class="link local"><a
href="/forest/itcs">an optional later-year elective</a></span>, I never really observed this problem at UoE, although it could well have been there. I'm curious as to other universities' experience of this. Have there been any techniques that students both <em>liked</em> and which motivated them to attend in person? </p><p
xmlns:html="http://www.w3.org/1999/xhtml">I have talked to some colleagues for advice on how to address this, and I got suggestions from withholding marks to bribery, but I think all I can do is teach the people that actually show up to my class, and ignore those that don't. It's quite a dispiriting state of affairs, though.</p></section><section
class="block hide-metadata numbered"><header><h2>Paper publication success at APLAS</h2></header><p
xmlns:html="http://www.w3.org/1999/xhtml">This paper is the fulfillment of the research I envisioned in <span
class="link local"><a
href="/forest/oconnor-linares-rizkallah-2023">my paper at VIMPL of a similar name</a></span>.</p><p
xmlns:html="http://www.w3.org/1999/xhtml">Since then, <span
class="link local"><a
href="/forest/selene">Selene</a></span> has worked to actually formalise and figure out what are, in my paper, just the vaguest of intuitions. It's nice to see this come together!</p>

<section
class="block numbered"
data-taxon="Reference"><header><h3>Memory Safety: Uniqueness as Separation</h3></header><p
xmlns:html="http://www.w3.org/1999/xhtml">Programming languages with uniqueness type systems prevent pointer aliasing, simplifying memory safety reasoning. However, code implemented in these languages often interoperates through foreign function interfaces with external components implemented in languages lacking the same level of static safety guarantees. To verify safe updates in a combined system, one must manually verify that the external components preserve the safety invariants of the uniqueness type system. In particular, recent work showed that one can manually discharge such obligations on C components from a cross-language Cogent-C system by directly reasoning about the C code in higher-order logic. However, even for simple examples, discharging the uniqueness safety obligations, known as frame conditions, within a logic not specifically designed for direct reasoning in terms of heaps and pointers was not ideal. Separation logic is an established logic that facilitates reasoning about imperative programs by localising reasoning to the parts of the heap that the program mutates. This raises a vital question. Can we use separation logic to discharge the safety obligations imposed by uniqueness types? The answer is yes. This paper demonstrates that the frame conditions can be inferred from particular separation logic triples and, hence, discharged by reasoning using separation logic. We identify and verify the soundness of specific separation logic triples that imply the frame conditions imposed by a uniqueness type system.</p></section>
</section><section
class="block hide-metadata numbered"><header><h2>7th Sunday After Pentecost 2025</h2></header>
  <blockquote
xmlns:html="http://www.w3.org/1999/xhtml">
  Deus in loco sancto suo: Deus, qui inhabitáre facit unánimes in domo: ipse dabit virtútem et fortitúdinem plebi suæ.
</blockquote>
<p
xmlns:html="http://www.w3.org/1999/xhtml">Today our choir at <span
class="link external"><a
href="https://allsaintsainslie.org.au/">All Saints Ainslie</a></span> performed Batten's anthem <span
class="link external"><a
href="https://www.youtube.com/watch?v=-gHkKGiXeNE">O Sing Joyfully</a></span>:</p>
  <blockquote
xmlns:html="http://www.w3.org/1999/xhtml">
  <table
style="text-align: left">
    <tr><td>O sing joyfully, O sing joyfully unto God our strength;</td></tr>
    <tr><td>Make a cheerful noise unto the God of Jacob.</td></tr>
    <tr><td>Take the song, bring hither the tabret:</td></tr>
    <tr><td>The merry harp with the lute! Blow up!</td></tr>
    <tr><td>Blow up the trumpet in the new moon:</td></tr>
    <tr><td>Ev'n in the time appointed and upon our solemn feast day.</td></tr>
    <tr><td>For this was made a statute for Israel</td></tr>
    <tr><td>And a law of the God of Jacob.</td></tr>
  </table>
</blockquote>
<p
xmlns:html="http://www.w3.org/1999/xhtml">It was also the three years mind of the philosopher Geoffrey Brennan, the late husband of Margaret, a soprano in our choir. Perhaps by coincidence or perhaps because our director Alasdair chose it intentionally (I'm not sure which), we sang the appropriate hymn <span
class="link external"><a
href="https://www.youtube.com/watch?v=QYbX9wmQTlI">Be Still, My Soul</a></span> which always brings a tear to my eye. It was also a hymn I selected for the funeral of my grandfather. I don't normally post the hymn lyrics here, but I'll make an exception in this case. </p>
  <blockquote
xmlns:html="http://www.w3.org/1999/xhtml">
  <table
style="text-align: left">
    <tr><td>Be still, my soul! The Lord is on your side;</td></tr>
    <tr><td>Bear patiently the cross of grief or pain;</td></tr>
    <tr><td>Leave to your God to order and provide;</td></tr>
    <tr><td>In ev'ry change he faithful will remain.</td></tr>
    <tr><td>Be still, my soul! Your best, your heav’nly friend</td></tr>
    <tr><td>Thru' thorny ways leads to a joyful end.</td></tr>
    <tr><td><br /></td></tr>
    <tr><td>Be still, my soul! Your God does undertake</td></tr>
    <tr><td>To guide the future as he has the past;</td></tr>
    <tr><td>Your hope, your confidence, let nothing shake;</td></tr>
    <tr><td>All now mysterious shall be bright at last.</td></tr>
    <tr><td>Be still, my soul! the waves and winds still know</td></tr>
    <tr><td>His voice who ruled them while he lived below. </td></tr>
    <tr><td><br /></td></tr>
    <tr><td>Be still, my soul! When dearest friends depart</td></tr>
    <tr><td>And all is darkened in the vale of tears,</td></tr>
    <tr><td>Then shall you better know his love, his heart,</td></tr>
    <tr><td>Who comes to soothe your sorrow and your fears.</td></tr>
    <tr><td>Be still, my soul! Your Jesus can repay</td></tr>
    <tr><td>From his own fullness all he takes away.</td></tr>
    <tr><td><br /></td></tr>
    <tr><td>Be still, my soul! The hour is hast'ning on</td></tr>
    <tr><td>When we shall be forever with the Lord,</td></tr>
    <tr><td>When disappointment, grief, and fear are gone,</td></tr>
    <tr><td>Sorrow forgot, love's purest joys restored.</td></tr>
    <tr><td>Be still my soul! When change and tears are past,</td></tr>
    <tr><td>All safe and blessed we shall meet at last.</td></tr>
  </table>
</blockquote>
<p
xmlns:html="http://www.w3.org/1999/xhtml">I didn't go to Evensong today because it was raining quite badly and I had to prepare my lectures.</p></section></div></content></entry><entry><title>Weeknotes 2025-W29</title><published>2025-07-20T00:00:00Z</published><updated>2025-07-20T00:00:00Z</updated><author><name>Liam O'Connor</name><uri>https://liamoc.net/forest/liamoc/</uri></author><link
rel="alternate"
type="text/html"
href="https://liamoc.net/forest/2025-W29/" /><id>https://liamoc.net/forest/2025-W29/</id><content
type="xhtml"><div
xmlns="http://www.w3.org/1999/xhtml"><p
xmlns:html="http://www.w3.org/1999/xhtml">This week was mostly filled with preparation to teach <span
class="link local"><a
href="/forest/COMP1100">Programming as Problem Solving</a></span> this coming semester. </p><section
class="block hide-metadata numbered"><header><h2>Open Letter against LLMs in Education</h2></header><p
xmlns:html="http://www.w3.org/1999/xhtml">Those close to me know that I believe generative AI technologies, particularly when used to replace human creative pursuits, are fundamentally a spiritually damaging invention. It is fundamentally wrong and harmful to humanity. We would all be better off if we consigned this technology to the dustbin of history.</p><p
xmlns:html="http://www.w3.org/1999/xhtml">I believe this on a deeper level than most of my intellectual concerns. In short, I oppose this technology for religious reasons. I say "religious reasons" because religious convictions are personal and aren't typically up for debate in public conversation. I have no interest in debating the merits of this technology. Also, my actual religious views, such as they are, place a great deal of emphasis on the dignity of the human person and the value of human connections. This technology undermines and devalues both.</p><p
xmlns:html="http://www.w3.org/1999/xhtml">Rather than try to expound upon this topic, which makes me depressed and miserable, I will just link some articles by various talented people that I think well encapsulate my views:</p><ul
xmlns:html="http://www.w3.org/1999/xhtml"><li><span
class="link external"><a
href="https://www.danielmitsui.com/00_pages/i_am_not_a_paintbrush.html">I am not a Paintbrush</a></span> by Daniel Mitsui, ink artist and sacred illumination expert.</li>
  <li><span
class="link external"><a
href="https://eev.ee/blog/2025/07/03/the-rise-of-whatever/">The rise of whatever</a></span> by eevee a.k.a. evelyn woods, creator and game developer.</li>
  <li><span
class="link external"><a
href="https://claytonwramsey.com/blog/prompt/">I'd rather read the prompt</a></span> by Clayton W. Ramsey, Computer Scientist.</li>
  <li><span
class="link external"><a
href="https://www.wheresyoured.at/the-haters-gui/">The Hater's Guide to the AI bubble</a></span> by Edward Zitron, English technology writer.</li></ul><p
xmlns:html="http://www.w3.org/1999/xhtml">For this reason I was very pleased when I saw that <span
class="link local"><a
href="/forest/edwinb">Edwin Brady</a></span> and <span
class="link local"><a
href="/forest/jonsterling">Jon Sterling</a></span> had signed and shared <span
class="link external"><a
href="https://openletter.earth/an-open-letter-from-educators-who-refuse-the-call-to-adopt-genai-in-education-cb4aee75">this open letter</a></span> for educators to outright reject the use of generative AI in their classrooms. I was proud to sign. I encourage all of you reading, if you work in education, to sign as well.</p></section><section
class="block hide-metadata numbered"><header><h2>6th Sunday After Pentecost 2025</h2></header>
  <blockquote
xmlns:html="http://www.w3.org/1999/xhtml">
  Ecce Deus ádiuvat me, et Dóminus suscéptor est ánimæ meæ: avérte mala inimícis meis, in veritáte tua dispérde illos, protéctor meus Dómine.
</blockquote>
<p
xmlns:html="http://www.w3.org/1999/xhtml">Today our choir at <span
class="link external"><a
href="https://allsaintsainslie.org.au/">All Saints Ainslie</a></span> performed the amazing, brief, but very difficult anthem <span
class="link external"><a
href="https://www.youtube.com/watch?v=1Pc41lxwd7k">I Sat Down</a></span> by John Bairstow, with text taken from the Song of Solomon:</p>
  <blockquote
xmlns:html="http://www.w3.org/1999/xhtml">
  <table
style="text-align: left">
    <tr><td>I sat down under his shadow with great delight,</td></tr>
    <tr><td>and his fruit was sweet to my taste.</td></tr>
    <tr><td>He brought me to the banqueting house, and his banner over me was Love.</td></tr>
    <tr><td>I sat down under his shadow.</td></tr>
  </table>
</blockquote>
<p
xmlns:html="http://www.w3.org/1999/xhtml">I didn't go to Evensong today both because I was busy and because I suspected the normal St. Paul's Choir would not be singing again.</p></section></div></content></entry><entry><title>Weeknotes 2025-W28</title><published>2025-07-13T00:00:00Z</published><updated>2025-07-13T00:00:00Z</updated><author><name>Liam O'Connor</name><uri>https://liamoc.net/forest/liamoc/</uri></author><link
rel="alternate"
type="text/html"
href="https://liamoc.net/forest/2025-W28/" /><id>https://liamoc.net/forest/2025-W28/</id><content
type="xhtml"><div
xmlns="http://www.w3.org/1999/xhtml"><p
xmlns:html="http://www.w3.org/1999/xhtml">This week was mostly filled with work about which I have little to say, such as internal strategy meetings and so on. </p><section
class="block hide-metadata numbered"><header><h2>Reviewing done</h2></header><p
xmlns:html="http://www.w3.org/1999/xhtml">
  With the cancellation of <span
class="link local"><a
href="/forest/fproper25">FProPer</a></span> this year due to low submissions, I believe I have finally finished my reviewing marathon for this year. I served on the <span
class="link local"><a
href="/forest/pldi25">PLDI</a></span> (11 papers), <span
class="link local"><a
href="/forest/icfp25">ICFP</a></span> (7 papers), <span
class="link local"><a
href="/forest/aplas25">APLAS</a></span> (4 papers) and <span
class="link local"><a
href="/forest/haskell25">Haskell Symposium</a></span> (4 papers) PCs this year, plus reviewed one paper for the <span
class="link local"><a
href="/forest/jfp">Journal of Functional Programming</a></span>, giving me a total of 27 papers reviewed this year. Now that that's over with, I will focus my attention on preparing the <span
class="link local"><a
href="/forest/icfpc25">ICFP Programming Contest</a></span> and preparing to teach first-year computing next semester.
</p></section><section
class="block hide-metadata numbered"><header><h2>Thoughts on teaching first year</h2></header><p
xmlns:html="http://www.w3.org/1999/xhtml">
  I will be teaching COMP1100, the first year introductory programming course at the <span
class="link local"><a
href="/forest/anu">Australian National University</a></span>. This is the off-session so the enrolments are <em>only</em> about 100 students.
  This is my first time convening the very first course of a computing degree. For many students, this may be the first time they take any university course.
</p><p
xmlns:html="http://www.w3.org/1999/xhtml">
  I am thinking about the kinds of messages I want to impart in the very first lecture. Looking over last year's slides, I think there's a number of good messages there, but it's not particularly punchy and probably didn't sink in to students. There's talk about how to study programming, how to maintain mental and physical health at university, the university policy on genAI and academic misconduct, where to find resources etc. but there's no unifying theme to it all.
</p><p
xmlns:html="http://www.w3.org/1999/xhtml"> I think the main thing is to encourage them to <em>cultivate in themselves</em> the kind of natural curiosity that motivates self-study. Ideally, the students should view my lectures, notes, and other output as <em>resources</em> for them to use to learn programming. Not merely as requirements placed on them to pass the course and thereby get a degree.
</p><p
xmlns:html="http://www.w3.org/1999/xhtml">
  I think I will emphasise the <em>science</em> part of Computer Science and encourage students to <strong>think like a scientist</strong>:
  <ul><li><strong>Answer curiosity with experimentation</strong>: A common theme in my interactions with first year students is that they will often ask me questions to which they could easily find out the answer by trying it for themselves. The refrain should be <strong>try it and see!</strong></li>
    <li><strong>Reason with mathematical principles</strong>: We are programming in Haskell, and I hope to communicate the mathematical connection, sneaking some semantics in by the wayside.</li>
    <li><strong>Practice good lab safety:</strong> Looking after posture, eye health, taking breaks, drinking water, and supporting each other.</li>
    <li><strong>Maintain scientific integrity</strong>: Only taking credit for work done, and properly attributing work taken from elsewhere (including from generative AI bots).</li>
    <li><strong>Practise skills</strong>: I'm a firm believer in the notion that skills such as programming are learned by doing: the more practice they get, the more proficient they will be.</li></ul></p><p
xmlns:html="http://www.w3.org/1999/xhtml">Then, to cover the <em>computer</em> part of Computer Science, I will tell the story of human computers such as Dorothy Vaughan (whose biography has clearly been taken down recently from NASA's website, presumably as a result of the current administration), through to the female programmers of ENIAC, then mentioning the first programmer, Ada Lovelace. Based on her quote on "the science of operations" and Dijkstra's famous quote about telescopes, I plan to shift the focus from <em>computers</em> to <em>computing</em> more generally. Then I will give a survey of various subfields of computer science to give them an idea of the big picture of our field.</p></section><section
class="block hide-metadata numbered"><header><h2>Should the ICFP contest continue?</h2></header><p
xmlns:html="http://www.w3.org/1999/xhtml">I'm the organiser for the <span
class="link local"><a
href="/forest/icfpc25">ICFP Programming Contest</a></span> this year. After some time working on it, I'm starting to think that ICFP might want to consider either letting this contest be discontinued, or letting it be run by the participants, separately from ICFP proper. </p><ol
xmlns:html="http://www.w3.org/1999/xhtml"><li><strong>It's a lot of work.</strong> I was warned that it was a lot of work when I agreed to do it, and I was still unprepared for the amount of work required. I don't think asking a full-time research and teaching academic to make this kind of time investment for no compensation is reasonable, and I would not have agreed had I known it would be this onerous. This is all to the benefit not of the research community, but of hobbyist competitive programmers.</li>
  <li><strong>It isn't achieving anything for the FP community.</strong> In the past, it may have had the benefit of providing a host of nontrivial problems to which functional programming could be applied, but the reality is that most languages have incorporated functional features now, and functional programming is no longer in a tiny niche that must endeavour to prove itself.</li>
  <li><strong>The overlap in the intended audiences is not large.</strong> ICFPC is mostly comprised of competitive programmers, not functional programming students or researchers. The top placed entries in this contest rarely use FP languages, and some are not even exposed to FP ideas. I've heard that prior iterations which incorporated FP directly into the fabric of the problem received complaints.  </li></ol><p
xmlns:html="http://www.w3.org/1999/xhtml">I fully acknowledge that a significant group of competitive programmers look forward to the ICFPC, and that the ICFPC occupies a unique space in that scene, where micro-optimising standard algorithms is standard practice and days-long problem solving is not common. But asking ICFP and ICFP-affiliated academics to provide this contest as a service to these hobbyists with dubious benefit to the research community seems pointless to me. Those who participate in the contest should organise it, and it should probably be split off from ICFP itself.</p></section><section
class="block hide-metadata numbered"><header><h2>5th Sunday After Pentecost 2025</h2></header>
  <blockquote
xmlns:html="http://www.w3.org/1999/xhtml">
  Dum clamárem ad Dóminum, exaudívit vocem meam, ab his qui appropínquant mihi: et humiliávit eos, qui est ante saécula, et manet in ætérnum: iacta cogitátum tuum in Dómino, et ipse te enútriet.
</blockquote>
<p
xmlns:html="http://www.w3.org/1999/xhtml">While we were short on numbers, the choir of <span
class="link external"><a
href="https://allsaintsainslie.org.au/">All Saints Ainslie</a></span> performed the schmaltzy <span
class="link external"><a
href="https://www.youtube.com/watch?v=tWJRKoKrV_8">Ave Verum Corpus</a></span> by Edward Elgar.</p>
  <blockquote
xmlns:html="http://www.w3.org/1999/xhtml">
  
  <table>
    
  <tr>
    
  <td>Ave verum corpus natum ex María Vírgine,</td>

    
  <td>Hail, true body, born from the Virgin Mary,</td>

    </tr>

  <tr>
    
  <td>Vere passum, immolátum in cruce pro hómine,</td>

    
  <td>True suffering, sacrificed on the cross for Man,</td>

    </tr>

  <tr>
    
  <td>Cuius latus perforátum vero fluxit sánguine,</td>

    
  <td>From whose pierced side truly flowed blood,</td>

  </tr>

  <tr>
    
  <td>Esto nobis prægustátum mortis in exámine.</td>

    
  <td>Be for us a foretaste in death's trial.</td>

  </tr>

  <tr>
    
  <td>O clemens, O pie, O dulcis Iesu fili Maríæ.</td>

    
  <td>O kind! O blessed! O sweet Jesus son of Mary. </td>

  </tr>

  </table>

</blockquote>
<figure
xmlns:html="http://www.w3.org/1999/xhtml"><img
width="300px"
src="/forest/bafkyrzaciculhojgmmszgbglyq3uif6ntjpj3wq4rmru4rfv25cvw4tbepjn5tmphzqc7k2rzrd62penijxgbgb2kme6iaanvqtoa2jdzehfa6qx.jpeg"
loading="lazy" />
  <figcaption>St. John the Baptist's, Reid.</figcaption></figure><p
xmlns:html="http://www.w3.org/1999/xhtml">I went to Evensong at <span
class="link external"><a
href="https://www.stjohnscanberra.org/">St. John the Baptist's</a></span> in Reid again today. This time they had a very skilled flautist playing along with the organ for the prelude and the postlude, which was lovely. The choir was pretty ordinary as usual, but it is still a restorative service because of the beautiful church and the lovely language of the 1662 BCP.</p></section></div></content></entry><entry><title>Weeknotes 2025-W27</title><published>2025-07-06T00:00:00Z</published><updated>2025-07-06T00:00:00Z</updated><author><name>Liam O'Connor</name><uri>https://liamoc.net/forest/liamoc/</uri></author><link
rel="alternate"
type="text/html"
href="https://liamoc.net/forest/2025-W27/" /><id>https://liamoc.net/forest/2025-W27/</id><content
type="xhtml"><div
xmlns="http://www.w3.org/1999/xhtml"><p
xmlns:html="http://www.w3.org/1999/xhtml">I decided to try out the Weeknotes idea, that I first saw from <span
class="link local"><a
href="/forest/jonsterling">Jon Sterling</a></span>. This was a pretty full week, ending with the somewhat devastating news that dozens of academic and professional positions will be gutted from, among others, the College of Arts and Social Sciences at the <span
class="link local"><a
href="/forest/anu">Australian National University</a></span>. I hear that Music will in particular be sorely affected. My heart goes out to all my colleagues and I hope that all of their futures are bright. </p><figure
xmlns:html="http://www.w3.org/1999/xhtml"><img
loading="lazy"
width="220px"
src="/forest/bafkyrzacid4ps47c3ftsieqzdqwbkhpgvucbq6dyhhf53iayy2du3hussoillvbmrqd375v4pb7wsc36g3nnsqoamszlgqoawsjibiuasrbdggjj.jpeg" />
  <img
loading="lazy"
width="220px"
src="/forest/bafkyrzacibxqpgyjtcr46z7rdjowwuvsrqvden4rj6kxckjvuplpdbcqdtl3pll56zd42c32ele4ml6ivunfiieuc3ai55ywgzxgiwiq5ofljwte.jpeg" />
  <figcaption>Some shots from the Tidbinbilla nature reserve, south of Canberra.</figcaption></figure><section
class="block hide-metadata numbered"><header><h2>The AusPL Zulip</h2></header><p
xmlns:html="http://www.w3.org/1999/xhtml">
  Following the near-death of Aussie PL last decade I think we’ve gotten in the habit of thinking that Aussie PL is this tiny embattled community with only essential activities, but thinking about the environment in Scotland and comparing it, I don’t think there is actually much truth to that. Scotland has events like <span
class="link external"><a
href="http://spli.scot/splv/">SPLV</a></span>; we have (e.g.) the <span
class="link external"><a
href="https://comp.anu.edu.au/lss/">logic summer school</a></span>. Scotland has the <span
class="link external"><a
href="http://spli.scot/spls/">SPL seminar</a></span>; We have <span
class="link external"><a
href="https://comp.anu.edu.au/sapling/index.html">SAPLING</a></span>. SPLI applies for large CDT grants, we apply for large CoE grants (and both get rejected :). What’s missing is the network of folks in various places, who can advertise seminars when people are visiting, who can arrange visits and cross-institutional collaboration etc.
</p><p
xmlns:html="http://www.w3.org/1999/xhtml">This network started in Scotland with the <span
class="link external"><a
href="https://spls.zulipchat.com/">SPLS Zulip</a></span>, which eventually evolved into the more formal organisation, the <span
class="link external"><a
href="https://spli.scot/">Scottish Programming Languages Institute</a></span>. I think it would be nice to foster that kind of active cross-institutional community that has worked well in Scotland, and Zulip is a huge part of why the SPLI exists now.</p><p
xmlns:html="http://www.w3.org/1999/xhtml">To this end, I have started the <span
class="link external"><a
href="https://auspl.zulipchat.com/">AusPL Zulip</a></span>, specifically targeting researchers and students in programming languages, formal methods, software engineering, and related areas in Australian institutions (and surrounding countries). Please consider signing up!</p><p
xmlns:html="http://www.w3.org/1999/xhtml"><strong><span
class="link external"><a
href="https://auspl.zulipchat.com/join/3ger2ugmoikiyzoaomenfwjc/">Join Here!</a></span></strong></p></section><section
class="block hide-metadata numbered"><header><h2>Progress in Holbert: ReScript</h2></header><p
xmlns:html="http://www.w3.org/1999/xhtml">I have begun the <span
class="link local"><a
href="/forest/loc-000V">redevelopment of Holbert</a></span> I envisioned earlier, dubbed Holbert NG. The initial results are <span
class="link external"><a
href="https://github.com/liamoc/holbert-ng">already on GitHub</a></span>, implemented in a combination of <span
class="link external"><a
href="https://rescript-lang.org/">ReScript</a></span> and TypeScript — mostly ReScript. ReScript is essentially a dialect of OCaml designed to target JavaScript with fairly complete React bindings. The design is already significantly more flexible than the original Haskell design of Holbert, largely due to ReScript's full implementation of OCaml's module system. I've currently implemented a basic first order proof checker with textual formats, and a components library in TypeScript enabling multi-page documents and sychronisation to local storage.</p><p
xmlns:html="http://www.w3.org/1999/xhtml">What I haven't really started work on is the UI part. I'm letting this percolate for a while before I start tackling it. I was never happy with the rule editing UI in classic Holbert — it was always too clunky, and more cumbersome than just editing a text-based format. This is in stark contrast to the editor for proofs, which offered some advantages over text. As Holbert NG has text formats for everything, I currently haven't developed GUI editors, but this will eventually change. </p><p
xmlns:html="http://www.w3.org/1999/xhtml">Mostly this implementation effort has been a way for me to trial ReScript and its associated React ecosystem. My initial thoughts, as I posted on Mastodon, were:</p><ol
xmlns:html="http://www.w3.org/1999/xhtml"><li>
   Love ML modules despite their clunkiness. Quite handy for the Holbert-NG design where proof methods can be written as seperate plugins and integrated. Even the term language is swappable. 
  </li>
  <li>
  Dislike the tendency of the community (and the gearing of the language syntax) towards depending on type inference. Return types in particular usually omitted. In this respect I prefer Haskell syntax.  
  </li>
  <li>
    Related to 2, it really needs some kind of "dot" syntax. If I have an <code>x : Foo.t</code> and I go <code>x-&gt;blah(..)-&gt;baz(..)</code> it should try to desugar to <code>x-&gt;Foo.blah(..)-&gt;Foo.baz(..)</code>. This is not feasible because the type of <code>x</code> would become too ambiguous because of 2. So <code>Module.</code>I <code>Module.</code>end <code>Module.</code>up <code>Module.</code>qualifying <code>Module.</code>everything...
  </li>
  <li>
    ReScript in particular has a more "C" style syntax and gets rid of some of the traditional FP stuff from OCaml. I haven't found myself missing it hugely, but occasionally the JS API's available are annoyingly mutation-heavy. This is understandable for ReScript's aims (to generate readable JS) but it can be a pain to work around.
  </li></ol></section><section
class="block hide-metadata numbered"><header><h2>Gregorian Chants in Forester</h2></header><p
xmlns:html="http://www.w3.org/1999/xhtml">By writing a small JS module that uses <span
class="link external"><a
href="https://developer.mozilla.org/en-US/docs/Web/API/Web_components">Web Components</a></span> and the <span
class="link external"><a
href="http://frmatthew.github.io/exsurge/chant.html">exsurge</a></span> library, I have developed a small patch that can be dropped into Forester themes to enable rendering of Gregorian chants.</p>
  
  
  
  <grego-chant
xmlns:html="http://www.w3.org/1999/xhtml"
annotation="Intr. (2)"
use-drop-cap="true">(f3) CI(c)BÁ(efe)VIT(f) e(fhf)os(efe) *(,) ex(f) á(h)di(hhh)pe(f) fru(e)mén(egf/ge)ti,(c) (,) al(eh~)le(hghf)lú(fgf)ia:(f) (:) et(e) de(f) pe(hh)tra,(hi~) mel(ih~)le(hihh/fgf) (,) sa(f)tu(fi)rá(ih)vit(h!ij) e(ih)os,(h) (;) al(hi~)le(i)lú(ihi)ia,(f) (,) al(g!hwi)le(ih)lú(hf/gvFE)ia,(fe) (,) al(f!gwh)le(hvGF/gwh/ig/hg)lú(fg!hvGFg)ia.(gf) (::)  </grego-chant>
<p
xmlns:html="http://www.w3.org/1999/xhtml">
It also supports 
  <grego-chant
inline=""
use-drop-cap="false">In(g)line(he)  score(ffedc~)  (::)</grego-chant>
 rendering (although I don't know how useful that is), and will reflow scores as the width of the window changes.</p><p
xmlns:html="http://www.w3.org/1999/xhtml">This is already used to keep my arrangements of the <span
class="link local"><a
href="/forest/loc-0013">reproaches verses</a></span> and the <span
class="link local"><a
href="/forest/loc-0012">Easter Proclamation</a></span> which I performed during the <span
class="link local"><a
href="/forest/loc-000O">Paschal Triduum of 2025</a></span>.</p></section><section
class="block hide-metadata numbered"><header><h2>APLAS preliminaries</h2></header><p
xmlns:html="http://www.w3.org/1999/xhtml">I wrote all my reviews for <span
class="link local"><a
href="/forest/aplas25">APLAS 2025</a></span> this week. APLAS was the first conference I ever attended, and I remain quite fond of the Asia-Pacific PL community. All of the papers I reviewed were interesting. I am also hopeful about our own submission: <span
class="link local"><a
href="/forest/selene">Selene</a></span>, a PhD student of <span
class="link local"><a
href="/forest/crizkallah">Christine Rizkallah</a></span>, has been pursuing a research agenda with several collaborators relating the uniqueness types of, say, <span
class="link local"><a
href="/forest/cogent">Cogent</a></span> with the program-logic driven approaches of, say, Separation Logic, based on a <span
class="link local"><a
href="/forest/oconnor-linares-rizkallah-2023">short abstract</a></span> I wrote and submitted with her to <span
class="link local"><a
href="/forest/vimpl23">VIMPL 2023</a></span>. This work has culminated in our APLAS submission. </p></section><section
class="block hide-metadata numbered"><header><h2>DECRA, Grants, etc.</h2></header><p
xmlns:html="http://www.w3.org/1999/xhtml">Now that DECRA (an early-career research grant in Australia) assessments are back, I am busy working on my rejoinder. It really is a soul-crushing part of the job, but a lot of the feedback I got (from the unusually numerous 6 assessors!) was very positive. This will be the last time I can apply for the DECRA, as I will not be eligible in future and the DECRA <span
class="link external"><a
href="https://www.arc.gov.au/engage-us/consultations/policy-review-national-competitive-grants-program/faqs">may not exist</a></span>.</p></section><section
class="block hide-metadata numbered"><header><h2><span
class="katex-math"
data-display="inline"
data-tex="\omega ">\omega </span>-Algebra for pushdown actions?</h2></header><p
xmlns:html="http://www.w3.org/1999/xhtml">
  In our weekly meeting, <span
class="link local"><a
href="/forest/yiyao">Yi Yao</a></span>, <span
class="link local"><a
href="/forest/hoefner">Peter Höfner</a></span> and I were examining a <span
class="link local"><a
href="/forest/mathieu-desharnais-2005">paper</a></span> by Vincent Mathieu and <span
class="link local"><a
href="/forest/jdesharnais">Jules Desharnais</a></span> about verification of pushdown systems using <span
class="katex-math"
data-display="inline"
data-tex="\omega ">\omega </span>-algebras with domain. One thing that we got hung up on was that the underlying algebra seems to insist that the underlying set be of mixed type, where control actions (i.e. the labels on transitions, or expected inputs to the automaton) are interleaved with stack actions (either pushing or popping symbols from the stack). The result is that a bunch of axioms must be added to deal with cancelling pushes and pops, and reordering actions to enable such cancellations. 
</p><p
xmlns:html="http://www.w3.org/1999/xhtml">Following a proposal from <span
class="link local"><a
href="/forest/hoefner">Peter Höfner</a></span>, I formalised the following alternative algebra, which should work just as well as the algebra in the paper but avoids this extra complexity. Instead of having strings of mixed types of actions, we instead have our algebra consist of sets of <em>triples</em>, which includes a  (possibly infinite) string of control actions, a (possibly infinite) <em>initial stack</em>, and a (possibly infinite) <em>final stack</em>. <span
class="katex-math"
data-display="block"
data-tex="S \triangleq  \mathcal {P}(A^\infty  \times  \Sigma ^\infty  \times  \Sigma ^\infty ) ">S \triangleq  \mathcal {P}(A^\infty  \times  \Sigma ^\infty  \times  \Sigma ^\infty ) </span>
In our notation, <span
class="katex-math"
data-display="inline"
data-tex="A">A</span> is the set of control actions, <span
class="katex-math"
data-display="inline"
data-tex="\Sigma ">\Sigma </span> is the set of stack symbols, and the <span
class="katex-math"
data-display="inline"
data-tex="{}^\infty ">{}^\infty </span> superscript denotes both finite and infinite strings of elements, i.e. <span
class="katex-math"
data-display="inline"
data-tex="X^\infty  = X^\ast  \cup  X^\omega ">X^\infty  = X^\ast  \cup  X^\omega </span>. </p><section
class="block hide-metadata numbered"
data-taxon="Definition"><header><h3>Multiplication</h3></header><p
xmlns:html="http://www.w3.org/1999/xhtml">
  We define a sequential composition operator for triples as follows: <span
class="katex-math"
data-display="block"
data-tex=" (w_1,s_1,s'_1)\ \mathit {seq}\ (w_2,s_2,s'_2) = \begin {cases} (w_1w_2, s_1, s'_2) &amp; \text {if}\ s'_1 = s_2 \\ \text {undefined} &amp; \text {otherwise} \end {cases} "> (w_1,s_1,s'_1)\ \mathit {seq}\ (w_2,s_2,s'_2) = \begin {cases} (w_1w_2, s_1, s'_2) &amp; \text {if}\ s'_1 = s_2 \\ \text {undefined} &amp; \text {otherwise} \end {cases} </span>
Note that for sequential composition to make sense, the initial stack of the second triple must match the final stack of the first triple. As the words <span
class="katex-math"
data-display="inline"
data-tex="w_1">w_1</span> and <span
class="katex-math"
data-display="inline"
data-tex="w_2">w_2</span> may be infinite, we define concatenation in the usual way, where <span
class="katex-math"
data-display="inline"
data-tex="w_1w_2 = w_1">w_1w_2 = w_1</span> when <span
class="katex-math"
data-display="inline"
data-tex="w_1">w_1</span> is infinite. 
</p><p
xmlns:html="http://www.w3.org/1999/xhtml">Then, the definition of multiplication in our algebra is the straightforward lifting to sets:</p><span
class="katex-math"
data-display="block"
data-tex="
  S_1 \cdot  S_2 = \{ x\ \mathit {seq}\ y \mid  x \in  S_1, y \in  S_2, x\ \mathit {seq}\ y\ \text {defined}\}
">
  S_1 \cdot  S_2 = \{ x\ \mathit {seq}\ y \mid  x \in  S_1, y \in  S_2, x\ \mathit {seq}\ y\ \text {defined}\}
</span></section><section
class="block hide-metadata numbered"
data-taxon="Definition"><header><h3>The Unit Element</h3></header><p
xmlns:html="http://www.w3.org/1999/xhtml">The 1 element for multiplication here just consists of all triples with an empty word that leave the stack unchanged:</p><span
class="katex-math"
data-display="block"
data-tex="
\mathbf {1} = \{ (\varepsilon , s, s) \mid  s \in  \Sigma ^\infty  \}  
">
\mathbf {1} = \{ (\varepsilon , s, s) \mid  s \in  \Sigma ^\infty  \}  
</span></section><section
class="block hide-metadata numbered"
data-taxon="Definition"><header><h3>The Kleene Star</h3></header><p
xmlns:html="http://www.w3.org/1999/xhtml">Let <span
class="katex-math"
data-display="inline"
data-tex="S^n">S^n</span> denote the <span
class="katex-math"
data-display="inline"
data-tex="n">n</span>-times self-multiplication of <span
class="katex-math"
data-display="inline"
data-tex="S">S</span>, where <span
class="katex-math"
data-display="inline"
data-tex="S^0 = \mathbf {1}">S^0 = \mathbf {1}</span>. Then, the Kleene star for our algebra is:</p><span
class="katex-math"
data-display="block"
data-tex="S^\ast  \triangleq  \bigcup _{n \in  \mathbb {N}}\ S^n">S^\ast  \triangleq  \bigcup _{n \in  \mathbb {N}}\ S^n</span></section><p
xmlns:html="http://www.w3.org/1999/xhtml">
These definitions are sufficient to show that <span
class="katex-math"
data-display="inline"
data-tex="(S, \cup  ,\cdot , \emptyset , \mathbf {1}, {}^\ast )">(S, \cup  ,\cdot , \emptyset , \mathbf {1}, {}^\ast )</span> is a Kleene algebra. Then, to extend this to an <span
class="katex-math"
data-display="inline"
data-tex="\omega ">\omega </span>-algebra, one needs only the <span
class="katex-math"
data-display="inline"
data-tex=" {}^\omega "> {}^\omega </span> operator.
</p><section
class="block hide-metadata numbered"
data-taxon="Definition"><header><h3>The Omega Operator</h3></header><p
xmlns:html="http://www.w3.org/1999/xhtml">
  We define the <span
class="katex-math"
data-display="inline"
data-tex="{ }^\omega  ">{ }^\omega  </span> operator as follows:
  <span
class="katex-math"
data-display="block"
data-tex="
    S^\omega  \triangleq  \{ (w, s_1, s_2) \mid  \exists  \text {an infinite run for}\ w\ \text {in}\ S\ \text {starting with stack}\ s_1\}
  ">
    S^\omega  \triangleq  \{ (w, s_1, s_2) \mid  \exists  \text {an infinite run for}\ w\ \text {in}\ S\ \text {starting with stack}\ s_1\}
  </span>
  The guard in the above set comprehension feels informal, so we will define momentarily a judgment or predicate <span
class="katex-math"
data-display="inline"
data-tex="S \vdash  (w,s_1)\ \textbf {infinite} ">S \vdash  (w,s_1)\ \textbf {infinite} </span>, which means the same thing:</p><span
class="katex-math"
data-display="block"
data-tex="
    S^\omega  \triangleq  \{ (w, s_1, s_2) \mid  S \vdash  (w,s_1)\ \textbf {infinite}\}
  ">
    S^\omega  \triangleq  \{ (w, s_1, s_2) \mid  S \vdash  (w,s_1)\ \textbf {infinite}\}
  </span><p
xmlns:html="http://www.w3.org/1999/xhtml">Note that this definition places no constraint on <span
class="katex-math"
data-display="inline"
data-tex="s_2">s_2</span>, so any non-empty set <span
class="katex-math"
data-display="inline"
data-tex="S^\omega ">S^\omega </span> will include all possible final stacks.</p><p
xmlns:html="http://www.w3.org/1999/xhtml">It remains to formalise our predicate. Formally, it is the largest (i.e. coinductive) predicate satisfying the following rule:  </p><span
class="katex-math"
data-display="block"
data-tex="\dfrac {w = xw' \quad  (x,s_1,s_2) \in  S \quad  S \vdash  (w',s_2)\ \textbf {infinite}}{S \vdash  (w,s_1)\ \textbf {infinite}}">\dfrac {w = xw' \quad  (x,s_1,s_2) \in  S \quad  S \vdash  (w',s_2)\ \textbf {infinite}}{S \vdash  (w,s_1)\ \textbf {infinite}}</span><p
xmlns:html="http://www.w3.org/1999/xhtml">This means we can prove <span
class="katex-math"
data-display="inline"
data-tex="S \vdash  (w,s_1)\ \textbf {infinite}">S \vdash  (w,s_1)\ \textbf {infinite}</span> if we can find an infinite chain of moves in <span
class="katex-math"
data-display="inline"
data-tex="S">S</span> starting with stack <span
class="katex-math"
data-display="inline"
data-tex="s_1">s_1</span> that, when all combined, results in the word <span
class="katex-math"
data-display="inline"
data-tex="w">w</span>.</p><p
xmlns:html="http://www.w3.org/1999/xhtml">Note that while the run is infinitely long, the word <span
class="katex-math"
data-display="inline"
data-tex="w">w</span> need not be, due to the presence of <span
class="katex-math"
data-display="inline"
data-tex="\varepsilon ">\varepsilon </span>-moves. </p></section><p
xmlns:html="http://www.w3.org/1999/xhtml">One thing we noticed here is that it doesn't matter to the operators what the type of the stack is. Indeed, replace stacks with tapes and you'd get something describing actions on a turing machine. This gives us compelling directions to take this!</p></section><section
class="block hide-metadata numbered"><header><h2>4th Sunday After Pentecost 2025</h2></header>
  <blockquote
xmlns:html="http://www.w3.org/1999/xhtml">
  Suscépimus, Deus, misericórdiam tuam in médio templi tui: secúndum nomen tuum Deus, ita et laus tua in fines terræ: iustítia plena est déxtera tua.
</blockquote>
<p
xmlns:html="http://www.w3.org/1999/xhtml">While we were short on numbers, the choir of <span
class="link external"><a
href="https://allsaintsainslie.org.au/">All Saints Ainslie</a></span> performed the lovely <span
class="link external"><a
href="https://www.youtube.com/watch?v=YDB77SDWrII">We Wait for Thy Loving-kindness, O God</a></span> by William McKie. I performed the brief tenor solo intonations. I notice as I write this that the text is the same as the introit for this Sunday, which I wrote above.</p>
  <blockquote
xmlns:html="http://www.w3.org/1999/xhtml">
  <table
style="text-align: left">
    <tr><td>
      We wait for thy loving-kindness, O God, in the midst of thy temple.</td></tr>
    <tr><td>  
      Alleluia, Alleluia, Alleluia.</td></tr>
    <tr><td>
      O God, according to thy name, so is thy praise unto the world's end.</td></tr>
    <tr><td>  
      Thy right hand is full of righteousness. Alleluia.</td></tr>
    <tr><td>
    We wait for thy loving-kindness O God, in the midst of thy temple.</td></tr>
    <tr><td>  
      O Lord, send us now prosperity.</td></tr>
    <tr><td>  
      Amen.</td></tr>
  </table>
</blockquote>
<p
xmlns:html="http://www.w3.org/1999/xhtml">As my parents were visiting I didn't end up making my way down to Manuka for Evensong today.</p></section></div></content></entry></feed>