Yesterday my wife and I went to see Waiting for Godot at the Hudson Theatre on Broadway, starring Alex Winter (you know, Bill) as Vladimir and Keanu Reeves (you know, Ted) as Estragon. This is of course stunt casting to the extreme. We went knowing this. Still, I feel like I have to get this off my chest: If you are not a “Godot” fan, you probably will not like this “Godot” — and if you are a “Godot” fan, you certainly will not like this “Godot.”| Arthur O’Dwyer
Someone on the cpplang Slack asks: How can I view a std::pair<T, T> as if it were a range of two Ts? That is, fill in the blank in this sample program: template<std::ranges::range R> void increment_all(R&& rg) { for (auto&& elt : rg) { elt = elt + 1; } } template<class T> auto F(std::pair<T, T>& kv) { ~~~~ } int main() { std::pair<int, int> kv = {1, 2}; increment_all(F(kv)); assert(kv.first == 2 && kv.second == 3); std::ranges::fill(F(kv), 4); assert(kv.first == 4 && kv.second == 4); }| Arthur O’Dwyer
Jorge Luis Borges, The Masked Dyer, Hakim of Merv (1934, tr. N. T. di Giovanni):| Arthur O’Dwyer
Cervantes [wrote](https://people.duke.edu/%7Egarci/garcitextos/bilingues/CERVANTES-MD/NOVELAS-EJEMPLARES/COLOQUIO-PERROS.HTM) satirically of a poet who had written— > "that part of the history of King Arthur of England which > Archbishop Turpin left unwritten, together with the history of the quest of the Holy Grail; > and all in heroic verse, part in rhymes and part in blank verse; but entirely dactylically—I > mean in dactylic noun substantives, without admitting any verb whatsoever." I...| Arthur O’Dwyer
Previously: ["A poem all in dactylic noun substantives, part 1"](/blog/2025/08/28/sin-admitir-verbo-alguno/) (2025-08-28). Cervantes [wrote](https://people.duke.edu/%7Egarci/garcitextos/bilingues/CERVANTES-MD/NOVELAS-EJEMPLARES/COLOQUIO-PERROS.HTM) satirically of a poet who had written— > "that part of the history of King Arthur of England which > Archbishop Turpin left unwritten, together with the history of the quest of the Holy Grail; > and all in heroic verse, part in rhymes and part in...| Arthur O’Dwyer
In Cervantes’ Coloquio de los perros (published 1613), a dog recounts all the colorful characters he’s met in his life. One is this frustrated poet: “I have strictly observed the rule laid down by Horace in his Poetica not to bring to light any work until ten years after it has been composed. Now I have a work on which I was engaged for twenty years, and which has lain by me for twelve […] a lofty, sonorous, heroic poem, delectable and full of matter; and yet I cannot find a prince to...| Arthur O’Dwyer
On 2025-06-25, Jacob Siehler tooted that there are exactly 100 bilaterally symmetric regions you can build out of a complete set of the five free tetrominoes.| Arthur O’Dwyer
Over the past few years, I’ve noticed a pattern in several LWG issues: In library clauses, CTAD and list-initialization are never helpful and are sometimes harmful, in the sense that they create LWG issues to triage and fix. I’d noticed for several years “this happens a lot,” but I’d never collected all my anecdotes into one list. I’m starting that list now. As Wikipedia says, “This list is incomplete”; please let me know if you see any I’ve missed.| Arthur O’Dwyer
Around New Year’s, while our book club was reading Dante’s Divine Comedy, I serendipitously happened across a reference in Douglas Hofstadter’s Le ton beau de Marot (page 125) to a book of poetry by Giuseppe Varaldo titled All’alba Shahrazad andrà ammazzata (“Shahrazad Shall Hang at Dawn”). Hofstadter writes: “In his astonishing tour de force of a book, Varaldo takes roughly fifty classics of Western literature and synopsizes each one in a perfectly constructed classical Italia...| Arthur O’Dwyer
From Alessandro Torri’s preface to the first volume of L’Ottimo Commento as edited by himself and others of the Accademia della Crusca (1827):| Arthur O’Dwyer
In C++, there’s often multiple ways to refer to the same entity: aliases, inherited names, injected names, names that differ in qualification… Usually, if an entity has multiple names, which one you use won’t matter: you can use any of those synonymous names and the compiler won’t care. But each entity always has a uniquely “truest” name, privileged above all the other ways to refer to it. In some situations, in order to do a thing with an entity, you do actually need to call it b...| Arthur O’Dwyer
My grandmother’s grandfather was David Celyddon Phillips (1848–1915), Welsh-born minister and poet, known by the bardic name “Celyddon.” Recently I learned that my second cousin David M. Phillips Jr. has in his possession a leatherbound, hand-written copy of D. C. Phillips’ long narrative poem The Promised One, or, Jesus of Nazareth — previously unpublished as far as either of us know, despite that one of Celyddon’s lengthy obituaries mentions:| Arthur O’Dwyer
On StackExchange, someone asks why programmers talk about “calling” a function. Several possible allusions spring to mind: Calling a function is like calling on a friend — we go, we stay a while, we come back. Calling a function is like calling for a servant — a summoning to perform a task. Calling a function is like making a phone call — we ask a question and get an answer from outside ourselves. The true answer seems to be the middle one — “calling” as in “calling up, summ...| Arthur O’Dwyer
Here’s a simple and trivially relocatable MoveOnlyCallable type. This is like std::move_only_function<int(int) const>, except that the “take int and return int” part is hard-coded, for simplicity. (Godbolt.)| Arthur O’Dwyer
Back in 2021, I wrote that “Semantically ordered arguments should be lexically ordered too.” Two minor updates in that area, which are large enough to deserve a post of their own.| Arthur O’Dwyer
In October’s Overload magazine Chris Oldwood muses on Italo Calvino’s definition of what makes a book a “classic” (“Why Read the Classics?”, 1986). Calvino’s essay suggests fourteen different ways of describing the elephant that is “a classic,” including:| Arthur O’Dwyer
The other day I learned a new place where adding or removing noexcept can change the performance of your program: GNU libstdc++’s hash-based associative containers change the struct layout of their nodes depending on the noexceptness of your hash function. This is laid out fairly clearly in the docs; it’s simply bizarre enough that I’d never thought to look for such a thing in the docs!| Arthur O’Dwyer