The “Life” of St Botolph by Folcard, with epitomes and breviary readings, English and Latin – now online (BHL 1428, BHL 1429, BHL 1430, BHL 1431))

About 1070 AD, the abbot of Thorney Abbey in Cambridgeshire, a chap named Folcard of St Bertin, wrote an account of the life of St Botolph, one of the saints whose relics were venerated at the abbey.  St Botolph was a popular saint in England and also in Scandinavia.  There are still about 40 churches dedicated to St Botolph in England.  Botolph himself was an Anglo-Saxon, who introduced the Benedictine rule to England, and founded a monastery at Iken on the Suffolk coast.

No English translation of this “Life” has ever been published.  The printed text in the Acta Sanctorum is defective.  So for some months I have been creating a critical Latin text and a translation of it.  I’ve also included an abbreviated life that circulated, two other texts that Folcard wrote along with the Life about the saints of Thorney Abbey, and a  bunch of readings from breviaries – medieval service books – which included a commemoration of St Botolph.

It’s pretty much done, and so I am going to release it today.

I’ve also uploaded these to Archive.org, here.

As usual, the files are public domain.  Do whatever you like with them, personal, educational or commercial.

There is one loose end to the project: I have not been able to collate the York manuscript of the abbreviated life.  If this appears, I will upload a revised version.

How many letters of St Jerome remain untranslated into English?

In my last post, I gave a few notes on the letters of St. Jerome, which number 154 in the Hilberg edition in the Corpus Scriptorum Ecclesiasticorum Latinorum series, vols.54, 55 and 56.  It seems that complete translations exist into French and Spanish.  But in English, as we all know, many letters remain untranslated.

Well, it seems that this is not true.  A total of NINE letters remain untranslated.  Two of these (93 and 94) are short notes by other people in response to a synodical letter of Theophilus of Alexandria, translated into Latin by Jerome and included in his letters.  The others are letters 148-154.  Of these, 149 and 150 are spurious.  Indeed 150 is completely bogus, a letter of Procopius of Gaza, who lived a century later, to some other Hieronymus.  Hilberg didn’t bother to print this, although Migne did.  Letter 148, to Celantia, is substantial – 28 pages of Latin.  Letters 149-154 are tiny, and occupy together the last 10 pages of Hilberg.

To discover this, I compiled a list of the letters and their translations.  It’s here:

Remarkable, really.  I had no idea that we were so close.

The letters of St. Jerome

The Letters of St. Jerome (CPL 620), who died in 420 AD, are one of the great collections of ancient letters.  Inquiring, it seems that Quasten’s  Patrology vol. 4 (ed. Angelo di Berardino) still gives far better information than anything Google has to offer. The collection contains 154 letters, which includes letters addressed to St Jerome by other people.  It also includes translations of Greek documents made by Jerome as part of the Origenist disputes.  Letters 148-150 are apocryphal.

The standard critical edition was made by the Austrian Isidore Hilberg for the CSEL series (vols. 54, 55 and 56) in 3 volumes between 1910-1918, although he did not live to see it published.  A fourth volume of indexes has appeared recently.  The edition has some odd choices of spellings, some rejected by Jerome himself!  It also does not use all of the oldest manuscripts.

No complete English translation exists.  A limited number of important letters were translated by W. H. Freemantle in the Nicene and Post-Nicene Fathers series.  The first22 letters appear in the ACW series vol. 33, from 1963, but it looks as if the translators went no further.

But a complete translation does exist in French, made by Jérôme Labourt, “Jérôme: Correspondance”, in 8 volumes Paris: Les Belles Lettres, 1949-63).  This includes a critical text, but mainly still based on Hilberg.  Labourt died before completing his work; a review of tome 7 noted the lack of notes. There are also extensive – complete? – translations in multiple volumes in Italian.

From my diary

The last day was mostly lost in trying to sort out two problems with the blog software.  First, when posting a link to a post to Twitter, no image appeared.  Secondly, if I added a comment to a post, I – the author – got no email notification.

Yesterday I got fed up and delved into the WordPress code.  It’s PHP, after all, which is a language that I have used before.  A bit of debugging using PHP error_log() calls revealed that… if an author comments on his own post, by default WordPress doesn’t notify him.  Which is why I never saw any notifications.  Nor does WordPress make this a setting in the dashboard.  The change makes debugging a new installation that little bit harder.  The answer is to comment from another browser – one you are not logged into.  But of course nobody would  know that by default.

Anyway the code makes clear what the answer is: to write a little single-file plugin that overrides a WordPress function and returns “true”.  This I have done, and it works just fine.  Here it is:

If you activate the plugin, it overrides the bit of code (in wp-includes/pluggable.php) that checks whether author comments should trigger a notification email.  If you deactivate it, it removes that.

I’d always wondered about how to write my own plugin.  Fortunately it’s simple.

Now to see whether the Twitter stuff works or not.

The Hereford Breviary

A number of pre-reformation church service books were printed, and this naturally included  breviaries, some of which contained readings from the Life of St Botolph.  I don’t know if there is a list somewhere of what exists and what is in each, beyond the excellent Usuarium website.

In 1505 a breviary for Hereford Abbey was printed in Rouen (Rotomagus) by a certain Inghelbert Haghe.  I learn from an 1893 book1 that:

Of this book only three copies are known. One, textually perfect, and containing both parts, is in Worcester Cathedral Library. The Bodleian has a Pars Estivalis, slightly imperfect, and another copy is in private hands.

A wretched microfilm of the Bodleian copy of the first part is in Early English Books Online (EEBO).  This database is only accessible to research libraries who subscribe, which is a bit sad.  But as I discovered today, it is actually quite difficult to find this book even in EEBO, thanks to the abbreviated title.  The searcher is advised to look for “Breuiariu secundu vsum herford”!  The url is here.

Breuiariu[m] secundu[m] vsum herford
Alternate title: Breviary. Hereford
Bibliographic name/number: STC (2nd ed.) / 15793.
Anonymous; Catholic Church.  EEBO Bodleian Library records – unstructured. [526] p. London: Emporio [P. Olivier and J. Mauditier] impensis et cura Ingheiberti haghe [in London, at the expenses of Margaret, Countess of Richmond] ,, 1505.

The copy comes complete with copyright notice, or rather, admission of guilt.

The rest of the PDF is no better, and often far worse.  Is it better than nothing?  Not really.  If anybody from ProQuest is reading this, it would be good to improve things here.

The Hereford Breviary was edited under that title in three volumes for the Henry Bradshaw Society by W.H.Frere, in 1904.  Here are the volumes at Archive.org:

But, incredibly, it is not printed in full!  p.vii:

It has already been stated that the text is not given in full; various reasons led to this course: the full text seemed unnecessary because so much of it is common to other Uses ; and moreover a student with one Breviary before him, wishing to trace out its differences from another, is hindered rather than helped by having the second one in full; he would rather have its differences pointed out than its whole text.

The man who wrote those works must have anticipated the infuriated reaction of researchers.  And indeed the lections of the saints’ offices are not included.  The only information is from vol. 2, p.194, where we learn that there are three readings.

While an 1893 book is not necessarily the last word on bibliography, it seems that the only way to access the full text is to be very nice to the Dean and Chapter of Worcester Cathedral.  A fine body of men, no doubt!  But I think that, just between you and I, this breviary may get omitted from my collection of Botolph materials.

  1. E. Gordon Duff, Early Printed Books. London, 1893. Online here.[]

From my diary

The aftermath of the hack has taken a solid week to clean up.  But it is done.  Cross fingers, it won’t happen again, or not soon.  It’s not as if my little blog attracts enough traffic to be worth their while.  At least next time I will be better prepared.

This afternoon I have started looking at John Toy, English saints in the Medieval Liturgies of the Scandinavian churches, 2009, which has a section on St Botolph material.  He lists some 42 breviaries that contain readings from the Life of St Botolph.  Ouch.  I’ve also found that there is stuff in the York and Hereford breviaries, and no doubt others.

Today I located the Lund Breviary online, in Uppsala university, shelfmark C447, and downloaded it.  It is yet another scruffily written, hard to make out manuscript. There’s a long section of Botolph material, none of which I can read with ease.

I think it may be necessary to rule the breviaries “out of scope.”  There’s just too much material.  Possibly it needs a separate project to look at those, although really it’s for someone far more knowledgeable than myself to undertake.  The original idea was just to create an English translation of the medieval Life of St Botolph, remember.

But after a hard week, I think I shall bunk off and play a computer game or something!  Have a good weekend, everyone.

On the Fourth Day

Behind the blog surface, the posts are stored in a database.  The pharm spam hack inserted stuff into that database, and I have spent two days in cleaning it.  This I did by exporting the database to a .sql file using the PhpMyAdmin interface; importing it into a local WordPress instance running on my PC; importing the last sound backup into another local WordPress instance; exporting the sound wp-posts table from that, renaming it, importing it into the same database as the  corrupt one, and doing lots of SQL queries to locate the differences.  It has been time-consuming, but not different in kind to the sort of stuff that I used to do for  money, when I was working for insurance companies and fixing live problems in their databases.  I’ve found it rather relaxing.  You have to get into the right frame of mind to do it, to see the problem – and how to fix it – in terms of an SQL query.  But this I did professionally for 30 years, so it was not troublesome.  The main thing to remember is not to panic.

After all that, I hope that the annoying pharma links are gone, and that I haven’t broken anything!

I’ve brought up a new instance of WordPress on the server.  I’ve also changed the theme, although I may change it again.

A rather impressive security plugin located three files on the disk which the hacker had left there.  One of these was so poisonous that when I downloaded it to my PC in order to inspect it, my local antivirus promptly whipped it away into quarantine.  I will do more security work on the blog tomorrow.

In the meantime, there has been a little progress on St. Botolph, which I am very keen to finish.  A kind gentleman has sent me the modern text of the Linkoping breviary text.  Another commented and transcribed the manuscript that I could not read.  Finally the rather comprehensive book by John Toy arrived with massive information on Scandinavian breviaries.  I’ve not had time to look at any of these yet, but these have been a light in the darkness.

I’ve discovered that a breviary from Hereford probably also contains a text, and that I might be able to access this through Early English Books Online (EEBO).  I have no access to EEBO, but a nearby library probably does, and probably will allow me to use it.  Maybe next week!

On the Second Day…

Today has been spent researching how to rescue my content from the spam attack that is poisoning a lot of the older articles with unwanted links.

It’s becoming clear that WordPress’ built in export and import are barely useful; and are NOT used by professionals who run websites based around it.  What they do is use professional (and very expensive) tools to migrate the data from a “staging” copy of WordPress, where everything is developed and written, across to the “live” site.  When they do work with the content, they work directly with the database behind WordPress.  They export and import whole databases, when they’re not using migration tools.

For them, this means that an attack on the “live” site is meaningless, a minor interruption.  They just erase it and push a new copy across from their local site to the server.

This is excellent practice, and commonplace in IT in general.

So the way forward is to do all my content creation on a WordPress Instance running on my PC, and then migrate it to live, if I can.  Rather a come-down from entering my posts online directly, but it would work.

But that doesn’t help me with retrieving my data.  So I have been burrowing into the database underneath.  The very simple, very obvious database, if you are a retired professional database developer, as I am.

Today I have been setting up LocalWP on my PC.  This has gone reasonably well except that I have to pause my antivirus when creating a new WordPress instance.  And then remember to reenable it.  This is because it locks the hosts file, which LocalWP edits really rather often.  Daft design, really.  I’ve also been working with the command-line interface, WP-CLI, locally.  This also has a bug, where the DB_HOST variable in wp-config.php does not include the port number.  Everything works, other than WP-CLI doing database stuff.  A nuisance.

So I created an empty WordPress locally, and then tried to import the last valid backup.  The import failed.  It’s simply not designed to take a 70mb file.  That’s really wretched.  Come on WordPress, this is basic functionality!  I then ran the import using WP-CLI where – to my astonishment – it took a couple of hours to load 7,400 blog posts.  I learned from this that the professionals simply don’t use the WordPress Export/Import in any way.

But it did load.  Which gives me a WordPress instance with a clean copy of all the corrupted posts.

In theory, one should be able to connect to the live system database, and run a cross database update to restore the correct content fields.  I have some doubts that little old MySQL databases can handle that, unlike the Oracle monsters that I knew!  I imagine it would all time out.

But possibly I could simply start my own MySQL database, independently of WordPress; then import into it the clean database file that I have created, import it as a whole; then rename all the tables imported from WP_xyz to something else – maybe VALID_xyz.  Then I could import an export of the “live” system into the same database, somehow; and then do the update from one to the other locally?  UPDATE WP-POSTS from VALID_POSTS or something – I don’t know what the syntax would be as yet.  Then drop the VALID tables, export the whole database, now fixed; and create a new instance on the server using the new cleaned up database.  Or something like that.

Um yes.  I’m sure most of you swallowed.  I’m an old database programmer. I think in these terms when obliged to.

It is pathetic and ridiculous that such maneouvres should be necessary.  Not one blogger in ten thousand would think in such terms.  Blogging is for convenience.  How is all this “convenient”?  Tools that do not work, software that is insecure, timeouts all over the place?

Still, it’s clearly possible.  It will just take a ridiculous amount of time.

First attempts at recovery

It’s been an arduous afternoon, trying to work out how to recover from the hack last year that has poisoned hundreds of posts on this site.  The site currently includes 4,741 posts containing 3,096,019 words.  That’s a lot to go through manually.  And since I don’t know how the hack was done, or whether it is still active, or a backdoor is present, then it might be futile.

I’ve done a few grep searches on the most recent backup file.  A search for “cialis” alone gave over 250 results.  Of course I have no idea of all the possible spam terms.

But I have been a good boy, and made regular backups.  I do have a backup of the site, taken a month earlier.  In theory I should just be able to create a new WordPress installation, and restore that, and then handle the last year bit by bit.

So I created a new, clean WordPress installation.  Unfortunately… the backup times out.  It’s 70mb, which is too long for some timeout somewhere.  Why doesn’t it batch the thing?

No worries, there’s a command-line interface to wordpress, WP-CLI.  That runs… and gets killed by something or other, possibly the site operators, more likely a robot for running out of memory.

I’m leaving the damaged site up at the moment.  I will ponder.

PS:  It just occurred to me… maybe I should run WordPress on my PC, do the import there, and then export the contents in pieces, and load these?  What a faff.

From my diary

It seems that this blog was hacked on 22 July 2024 at 10:20, by some poor soul who poisoned a great number of the articles with spam links to pharmaceutical sites.  I gather that this is a standard attack, known as “spam link injection.”  I discovered this in an old article by accident last night, and I have spent some hours today attempting to discover the extent of the problem.  The attack was done cunningly, mainly on older articles or pages, which meant that I was oblivious.

The attack was not done by logging into the editing console, as the changed text is not present in the list of revisions.   I don’t know how it was done, in truth, which makes it hard to know how to prevent it again.  Possibly some WordPress plugin was responsible.  Possibly the theme that I use is insecure?

I don’t know how many posts are affected.  I don’t know how to fix this in any easy way.  Worse still, attempting to revert the changes through the UI has left some articles blank.

I do have backups from before the hack; one from the 18th of June, thankfully.  I would hope that posts after the 22 July 2024 are not affected.

Reading around for help, I find that WordPress is now a very insecure platform, which requires constant patching to be secure.  This is not something that I am competent to do.  Possibly a hosted solution would do this.

Likewise WordPress seems entirely disinterested in providing themes for bloggers.  All the themes are aimed at websites.  The last mainstream theme to focus on blogs, in 2019, does not handle mobile phones (!).

Blogging is getting increasingly difficult to do, it would seem.  The internet is changing, away from ordinary people towards something that only corporate infrastructure can handle.

I’m not quite sure what the way forward is. We’ll see.