my forest
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

various updates

+212 -9
+6 -6
assets/music.tsv
··· 204 204 Gauntlett Once in royal David's city CfC1 p100 (arr. Mann), CfC2 p148 (arr. Mann and Willcocks) 🟢 205 205 Gesius Hosianna dem Sohne Davids Ash p82 🟢 206 206 Gibbons Almighty and everlasting God NCAB p18; OBTA p15 🟢 207 - Gibbons Drop, drop, slow tears NOEAB p52; NCAB p116 🟢 207 + Gibbons Drop, drop, slow tears NOEAB p52; NCAB p116 (different tune?) 🟢 208 208 Gibbons Hosanna to the Son of David OBTA p99 209 - Gibbons Magnificat (Short Service) ECM2 p33 210 - Gibbons Nunc dimittis (Short Service) ECM2 p40 209 + Gibbons Magnificat (Short Service) ECM2 p33 🟢 210 + Gibbons Nunc dimittis (Short Service) ECM2 p40 🟢 211 211 Gibbons Magnificat (Second Service) ECM2 p44 212 212 Gibbons Nunc dimittis (Second Service) ECM2 p55 213 213 Gibbons O clap your hands OBTA p164; ECM1 p53 ··· 310 310 Ledger Loving Shepherd of thy sheep NOEAB p148 311 311 Ledger (arr.) This joyful Eastertide Ash p186 312 312 Leighton A hymn to the Trinity AfC4 p67 313 - Leighton Solus ad victimam NCAB p413; AfC1 p13 313 + Leighton Solus ad victimam NCAB p413; AfC1 p13 🟢 314 314 Leuner The shepherds' cradle song CfC2 p123 315 315 Ley Come, Thou long expected Jesus OEAB p4 316 316 Ley Lo, round the throne a glorious band NCAB p215 🟢 ··· 587 587 Victoria O magnum mysterium 3rdCh p32 🟢 588 588 Victoria O quam gloriosum NCAB p316 🟢 589 589 Victoria O vos omnes 3rdCh p36 🟢 590 - Victoria Popule meus Ash p150 590 + Victoria Popule meus Ash p150 🟢 591 591 Victoria Pueri hebraeorum Ash p94; 3rdCh p38 🟢 592 592 Victoria Amicus meus VicTenebrae p2 🟢 593 593 Victoria Iudas mercator pessimus VicTenebrae p5 ··· 609 609 Victoria Sepulto Domino VicTenebrae p54 🟢 610 610 Wade O come, all ye faithful CfC3 p137 611 611 Wagner O Christ, O blessed Lord AfC1 p117 612 - Walford Davies Blest are the pure in heart NCAB p62 612 + Walford Davies Blest are the pure in heart NCAB p62 🟢 613 613 Walford Davies God be in my head NCAB p140; NOEAB p76 614 614 Walford Davies O little town of Bethlehem CfC3 p138 🟢 615 615 Walford Davies O sons and daughters Ash p225
assets/pink.jpeg

This is a binary file and will not be displayed.

assets/pink2.jpeg

This is a binary file and will not be displayed.

assets/possum.jpeg

This is a binary file and will not be displayed.

+6
trees/dt/dt-macros.tree
··· 16 16 \title{\tile} 17 17 \body 18 18 }}} 19 + \def\warningblock[body]{\scope{ 20 + \put\transclude/toc{false} 21 + \put\transclude/numbered{false} 22 + \subtree{\taxon{Warning} 23 + \body 24 + }}} 19 25 \def\thesisblock[body]{\scope{ 20 26 \put\transclude/toc{false} 21 27 \put\transclude/numbered{false}
+1
trees/index.tree
··· 6 6 \put\transclude/heading{false} 7 7 \transclude{liamoc} 8 8 \put\transclude/heading{true} 9 + \transclude{loc-003Y} 9 10 \transclude{loc-000E} 10 11 \transclude{loc-003P} 11 12 \subtree{\title{Lecture notes}
+2 -2
trees/loc-0002.tree
··· 5 5 \ul{ 6 6 \li{ [[rayhana]]: 2023–present. Linear infinite time within finite observations. Jointly supervised with [[rvg]] at the [[uoe]]. } 7 7 \li{ [[xinloi]]: 2025–present. Incorrectness logic with exploitation strategies. Jointly supervised with [[hoefner]]. } 8 - \li{ [[kaiphan]]: 2026–present. Incorrectness logic and dynamic logic. } 8 + \li{ [[kaiphan]]: 2026–present. Revocable semantics for run-time monitors. } 9 9 } 10 10 \scope{ 11 11 \put\transclude/toc{false} ··· 16 16 \li{ [[carloz]]: 2026-present. Gradual Typing with Parametric Polymorphism. Primary supervisor is [[muehlboeck]] at the [[anu]]. } 17 17 \li{ [[yiyao]]: 2025-present. Unifying algebraic models of automata and computation. Primary supervisor is [[hoefner]] at the [[anu]]. } 18 18 \li{ [[tudor]]: 2021–present. Formal verification of smart contracts. Primary supervisor is [[wadler]] at the [[uoe]]. } 19 - \li{ [[mathieu]]: 2022–present. DSLs for compiler passes. Primary supervisor is [[tgrosser]] at the [[cam]]. } 19 + \li{ [[mathieu]]: 2022–2026. DSLs for compiler passes. Primary supervisor is [[tgrosser]] at the [[cam]]. } 20 20 } 21 21 }} 22 22 }
+2 -1
trees/loc-0009.tree
··· 1 1 \title{Contact} 2 2 \parent{index} 3 - \p{I am generally available via email, at \code{me@} this domain. I may also be found on Discord (\code{liamoc}), various Zulips (SPLS, Lean, Agda), the [cogent-club slack](https://cogent-club.slack.com/), [bluesky](https://bsky.app/profile/liamoc.net), [the types.pl mastodon instance](https://types.pl/@liamoc), and inexplicably still [twitter](https://twitter.com/kamatsu8). My office is Room N213 in the Skaidrite Darius Building (CSIT) 108 on the [ANU](anu) Campus. The office door is open to the public so feel free to pop over if you want to visit me. To ensure my availability, it may be wise to first contact me via other means to make an appointment.} 3 + \p{I am generally available via email, at \code{me@} this domain. I may also be found on Discord (\code{liamoc}), various Zulips (SPLS, Lean, Agda), the [ausPL Zulip instance](https://auspl.zulipchat.com/), [bluesky](https://bsky.app/profile/liamoc.net), [the types.pl mastodon instance](https://types.pl/@liamoc), and inexplicably still [twitter](https://twitter.com/kamatsu8). My office is Room N213 in the Skaidrite Darius Building (CSIT) 108 on the [ANU](anu) Campus. The office door is open to the public so feel free to pop over if you want to visit me. To ensure my availability, it may be wise to first contact me via other means to make an appointment.} 4 4 \p{Do not send me the output of generative AI tools. [I'd rather read the prompt](https://claytonwramsey.com/blog/prompt/).} 5 5 \p{If you are a student or a colleague, please contact me via my [ANU](anu) email (\code{liam.oconnor} at \code{anu.edu.au}), or on the appropriate course forum (e.g. Ed).} 6 + \p{If you are interested in [applying for a PhD position with me](loc-003X), please read [this page](loc-003X) first.} 6 7 \p{If you are in possession of my telephone number, please avoid calling unless absolutely necessary.}
+1
trees/loc-001B.tree
··· 11 11 \put\transclude/expanded{false} 12 12 13 13 \p{This page has an [atom feed](/forest/loc-001B/atom.xml).} 14 + \transclude{2026-W14} 14 15 \transclude{2026-W13} 15 16 \transclude{2026-W12} 16 17 \transclude{2026-W11}
+20
trees/loc-003S.tree
··· 1 + \date{2026-01-01} 2 + \import{table-macros} 3 + \def\percent{\startverb%\stopverb 4 + } 5 + \parent{loc-000P} 6 + \title{Holy Week Feriæ 2026} 7 + \tag{cmc} 8 + \author{liamoc} 9 + \quote{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. 10 + } 11 + \p{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 [All Saints Ainslie](https://allsaintsainslie.org.au). On the Wednesday, I was joined by Lynda Tooth on piano and we performed Dowland's [In this trembling shadow](https://www.youtube.com/watch?v=r5wznr0HAnU):} 12 + \quote{\poem{ 13 + \line{In this trembling shadow, cast} 14 + \line{From those boughes which thy winds shake} 15 + \line{Farre from humane troubles plac’d} 16 + \line{Songs to the Lord would I make} 17 + \line{Darknesse from my minde then take} 18 + \line{For thy rites none may begin} 19 + \line{Till they feele thy light within.} 20 + }}
+82
trees/loc-003T.tree
··· 1 + \date{2026-04-01} 2 + \import{table-macros} 3 + \def\percent{\startverb%\stopverb 4 + } 5 + \parent{loc-000P} 6 + \title{Paschal Triduum 2026} 7 + \tag{cmc} 8 + \author{liamoc} 9 + \quote{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. 10 + \br 11 + Adorámus te, Christe, et benedícimus tibi, quia per crucem sanctam tuam redemísti mundum. 12 + } 13 + \p{The triduum at [All Saints Ainslie](https://allsaintsainslie.org.au) 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 [I Give You a New Commandment](https://www.youtube.com/watch?v=4XL6bI_egk0) by Nardone during the foot washing:} 14 + \quote{\poem{ 15 + \line{I give to you a new commandment;} 16 + \line{A new commandment I give to you:} 17 + \line{That you love one another,} 18 + \line{Love one another as I have loved you.} 19 + \line{(Ubi cáritas et vera, Deus ibi est)} 20 + \line{(Congregávit nos in unum Christi amor)} 21 + \line{(Exultémus et in ipso iucundémur)} 22 + \line{(Timeámus et amémus Deum vivum.)} 23 + \line{(Et ex corde diligámus nos sincéro.)} 24 + \line{Amen.} 25 + } 26 + } 27 + \p{As well as Duruflé's [Ubi Caritas](https://www.youtube.com/watch?v=l1BTWCpEFRQ) during communion, with a very similar but slightly different text:} 28 + \quote{ 29 + \table{ 30 + \tr{\td{Ubi cáritas et amor, Deus ibi est.}\td{Where there is charity and love, there God is.}} 31 + \tr{\td{Congregávit nos in unum Christi amor;}\td{The love of Christ has gathered us as one;}} 32 + \tr{\td{Exultémus et in ipso iucundémur;}\td{Let us then exult and delight in him;}} 33 + \tr{\td{Timeámus et amémus Deum vivum,}\td{Let us fear and love the living God,}} 34 + \tr{\td{Et ex corde diligámus nos sincéro.}\td{And love each other with sincere hearts.}} 35 + \tr{\td{Ubi cáritas et amor, Deus ibi est.}\td{Where there is charity and love, there God is.}} 36 + \tr{\td{Amen.}\td{Amen.}} 37 + } 38 + } 39 + \p{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. [St. Michael and All Saints](https://smas.church) showed us how it's done with procession, veneration, stripping of the altar, the cleaning of the altar with water and wine, then Fr. [[obrw]] dramatically threw aside the brush used to clean the altar, \em{smashed the old Paschal candle on the sanctuary steps}, locked shut the sanctuary gates, tied them with his stole, and ran away (cf. [Matthew 26:56](https://www.biblegateway.com/verse/en/Matthew 26:56)), plunging the church into darkness.} 40 + \p{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 [Reproaches](https://www.youtube.com/watch?v=7BT6oMgC7UU):} 41 + \quote{ 42 + \poem{ 43 + \line{O my people, what have I done to you?} 44 + \line{Or in what way have I offended you?} 45 + \line{Answer me.} 46 + \line{Ἅγιος ὁ Θεός, Holy God,} 47 + \line{Ἅγιος ἰσχυρός, Holy and Strong,} 48 + \line{Ἅγιος ἀθάνατος, ἐλέησον ἡμᾶς.} 49 + \line{Holy and Immortal One, have mercy upon us.} 50 + } 51 + } 52 + \p{Then we sang Leighton's [Solus ad Victimam](https://www.youtube.com/watch?v=3adowKA4x8g):} 53 + \quote{ 54 + \poem{ 55 + \line{Alone to sacrifice thou goest, Lord,} 56 + \line{Giving thyself to death, whom thou hast slain.} 57 + \line{For us thy wretched folk is any word?} 58 + \line{Who knew that for our sins this is thy pain?} 59 + \line{For they are ours, O Lord, our deeds,} 60 + \line{Why must thou suffer torture for our sins?} 61 + \line{Let our hearts suffer in thy Passion, Lord,} 62 + \line{That very suffering may thy mercy win.} 63 + \line{This is the night of tears, the three days' space.} 64 + \line{Sorrow abiding in the eventide,} 65 + \line{Until the daybreak with the risen Christ,} 66 + \line{And hearts that sorrowed shall be satisfied.} 67 + \line{So may our hearts share in thine anguish, Lord,} 68 + \line{That they may sharers of thy glory be;} 69 + \line{Heavy with weeping may the three days pass,} 70 + \line{To win the laughter of thine Easter Day.} 71 + } 72 + } 73 + \p{During the distribution of communion we sang [O vos omnes](https://www.youtube.com/watch?v=m11B9GuDUmM) from Victoria's Tenebræ responsories.} 74 + \quote{ 75 + \table{ 76 + \tr{\td{O vos omnes qui tránsitis per viam,}\td{O all you people that travel by this road,}} 77 + \tr{\td{Atténdite et vidéte!}\td{Look and see}} 78 + \tr{\td{Si est dolor símilis, sicut dolor meus.}\td{Whether there is any sorrow like my sorrow.}} 79 + \tr{\td{Atténdite, univérsi pópuli et vidéte dolórem meum}\td{Look, all you people, and see my anguish.}} 80 + \tr{\td{Si est dolor símilis, sicut dolor meus.}\td{Whether there is any sorrow like my sorrow.}} 81 + } 82 + }
+35
trees/loc-003U.tree
··· 1 + \import{table-macros} 2 + \def\percent{\startverb%\stopverb 3 + } 4 + \parent{loc-000P} 5 + \title{Easter 2026} 6 + \tag{cmc} 7 + \date{2026-04-05} 8 + \author{liamoc} 9 + \quote{ 10 + 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. 11 + } 12 + \p{For Easter this year the church at [All Saints Ainslie](https://allsaintsainslie.org.au) 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 [Holy is the True Light](https://www.youtube.com/watch?v=KLr12AX7mEs) at the vigil: } 13 + \quote{ 14 + \poem{ 15 + \line{Holy is the True Light, and passing wonderful,} 16 + \line{Lending radiance to them that endured} 17 + \line{In the heat of the conflict.} 18 + \line{From Christ they inherit a home of unfading splendour,} 19 + \line{Wherein they rejoice with gladness evermore. Alleluia!} 20 + } 21 + } 22 + \p{We also sang the Easter inaugural Gloria from the [Darke Mass in F](https://www.youtube.com/watch?v=9_YotRZXipY), both in the vigil and the Sunday Mass.} 23 + \p{For the Sunday Mass we sang Ouseley's [From the Rising of the Sun](https://www.youtube.com/watch?v=CnEFkTCOuEE): } 24 + \quote{\poem{ 25 + \line{From the rising of the sun} 26 + \line{To the going down of the same,} 27 + \line{My Name shall be great among the Gentiles,} 28 + \line{And in ev'ry place incense shall be offer'd up unto my Name:} 29 + \line{For My Name shall be great among the heathen,} 30 + \line{Thus saith the Lord!} 31 + } 32 + } 33 + \p{I was also given the honour and privilege to once again proclaim the resurrection during the vigil, video below. This chant is [my own version](loc-0012) 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 [last year](loc-000O).} 34 + \<html:iframe>[style]{aspect-ratio: 16 / 9;}[width]{100\percent}[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}{} 35 +
+8
trees/loc-003V.tree
··· 1 + \author{liamoc} 2 + \date{2026-04-02} 3 + \title{More LLM Griping} 4 + \p{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 [[kaie]] 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. } 5 + 6 + \p{A lot of students these days are totally unused to feeling stuck. I asked my [[COMP1110]] 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.} 7 + 8 + \p{Part of the reason [these bots are hurting education](loc-002O) 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.}
+4
trees/loc-003W.tree
··· 1 + \author{liamoc} 2 + \date{2026-04-02} 3 + \title{Surprising no one, Claude Code is a pile of vibe-coded garbage slop.} 4 + \p{I found [this excellent mastodon thread](https://neuromatch.social/@jonny/116324676116121930) 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. }
+26
trees/loc-003X.tree
··· 1 + \import{dt-macros} 2 + \title{Study a PhD with me} 3 + \author{liamoc} 4 + \p{If you're interested in doing research in programming language semantics, formal methods, proof assistants, type systems or related domains, you might be interested in working with me. My [bibliography](loc-0001) may also give some indication of the sort of stuff I'm interested in, however my interests are very broad. My [students](loc-0002) are currently working on various topics, which shows better the breadth of my interests. } 5 + \subblock{Current Status}{ 6 + \p{I currently have one fully-funded 3.5 year PhD scholarship available, that I may allocate to the right student.} 7 + \p{In addition, particularly for Australian domestic students and exceptional international students, merit-based scholarships are often awarded by the University, funded by the Australian Government. The relevant deadlines are typically in April (both domestic and international) for admission in Semester 2 of the same year, and in August (international) or October (domestic) for admission in Semester 1 of the following year, and any application that is completed by the relevant date is automatically considered. } 8 + } 9 + \p{If you want to do a PhD with me, you must first meet the [ANU](anu) requirements: you must have an Honours degree (with 2:1 or higher) or equivalent (e.g. a Masters degree), typically in computing or mathematics, and must have strong English skills.} 10 + \p{If you don't yet have the requisite honours degree, or you are currently studying an undergraduate degree, you may be interested in the [one year honours programme](https://programsandcourses.anu.edu.au/2025/program/HCOMP) offered by ANU. I have supervised many honours students and have had good results through this programme. The [COMP projects page](https://comp.anu.edu.au/study/projects/) lists honours projects I've currently made available (select \code{liam-oconnor} from the list of researchers), but other projects may be possible too.} 11 + 12 + \p{All of my students are expected to have computing skills (i.e. some knowledge of programming), good command of English, mathematical aptitude and communication skills. \strong{I also expect my students to be Canberra-based and primarily meet in person.} This means you must be open to moving to Canberra at least for the majority of your PhD. } 13 + \p{The following are all skill areas that are nice to have, but their lack shouldn't hold you back from reaching out to me: proof assistants (e.g. Rocq, Lean, Agda, Isabelle/HOL), logic, programming languages theory (e.g. operational semantics, types), functional programming, model checkers, formal verification.} 14 + \warningblock{ 15 + \p{\strong{I do not supervise topics that relate to LLMs or AI}, nor do I look favourably on such research. If you wish to undertake research on or using these tools, please look elsewhere for a supervisor. } 16 + } 17 + \p{While it is possible to simply apply from the ANU website without consulting me first, such applications are typically discarded without further review. So, it's in your best interest to first reach out to me via email (\code{liam.oconnor} at \code{anu.edu.au}) where we can arrange a chat. Please include in the email:} 18 + \ul{ 19 + \li{A short statement explaining who you are and why you want to do a PhD with me. } 20 + \li{A CV outlining all education and past work experience and a transcript (unofficial is fine) of your existing studies.} 21 + \li{A copy of your thesis or a recent publication, if any.} 22 + \li{\strong{The word "penitenziagite", towards the beginning of your email}, just to demonstrate that you have read this page and to filter out mass emails — I get a lot of email, and a lot of it is spam. This stops me from deleting your email.} 23 + \li{A description of any topic(s) you are interested in pursuing.} 24 + \li{Any particular times suitable for a chat.} 25 + } 26 + \p{Typically, during our discussion we will arrive at an idea for a topic, and I will ask you to write a proposal for the topic. I can give you notes to improve your proposal, so it's okay if it's rough at first — it's not an examination — but part of this exercise is to see how well we can work together, as well as how capable you are of independent learning and written communication. Once we have a proposal ready, this proposal can be part of your application. Typically you will also need \strong{2-3 letters of recommendation} to accompany your application, so consider who you might ask to write you a letter. }
+3
trees/loc-003Y.tree
··· 1 + \title{Work with me} 2 + \p{I have [PhD studentships](loc-003X) available, and am always happy to chat about research. Feel free to [reach out](loc-0009). 3 + }
+16
trees/weeknotes/2026-W14.tree
··· 1 + \import{table-macros} 2 + \title{Weeknotes 2026-W14} 3 + \author{liamoc} 4 + \date{2026-04-05} 5 + \p{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.} 6 + \figure{ 7 + \<html:img>[loading]{lazy}[width]{270px}[src]{\route-asset{assets/pink.jpeg}}%{} 8 + \<html:img>[loading]{lazy}[width]{270px}[src]{\route-asset{assets/pink2.jpeg}}%{} 9 + \<html:img>[loading]{lazy}[width]{270px}[src]{\route-asset{assets/possum.jpeg}}%{} 10 + \figcaption{Various sights from walking to and from church so often this week.} 11 + } 12 + \transclude{loc-003V} 13 + \transclude{loc-003W} 14 + \transclude{loc-003S} 15 + \transclude{loc-003T} 16 + \transclude{loc-003U}