May 2022

Just seen this guide to deploying WordPress on AWS and it's totally hilarious. I swear there's a pathology of yak shaving among some subsets of the devops cloud world. Nobody using WordPress wants to handle this level of complexity.

Why are we still shielding? New report defines people who remain at severe risk of death from Covid. I meet the criteria across three separate axes:

* small molecule JAK-inhibitors
* corticosteroids
* secondary immunodeficiency receiving immunoglobulins

https://www.gov.uk/government/publications/higher-risk-patients-eligible-for-covid-19-treatments-independent-advisory-group-report/defining-the-highest-risk-clinical-subgroups-upon-community-infection-with-sars-cov-2-when-considering-the-use-of-neutralising-monoclonal-antibodies

As will have been obvious from my Twitter feed recently, I've been in a spate of tech learning. For anyone who wants to learn Terraform, I think that @brikis98's Terraform Up & Running is superb. I learned most of it by my own experiment, but this really plugged lots of gaps.

This table in the book is brilliant and, I reckon, accurate.

Working this morning on the documentation for a new round of journal flips to open access at the Open Library of Humanities. Exciting times and all thanks to our higher-tier OLH member libraries, who are supporting this.

Hit a goal today. It's been a really tough year for me, healthwise, with worsening joint damage/pain from the rheumatoid arthritis and vasculitis-driven illness. But made it up to an hour-long session on the exercise bike.

There was a time when I would have thought nothing of this and taken it in my stride. It's been really difficult this year due to illness. So feels an achievement.

Probably about time for a Toby update, too. He spends most of all day asleep, is very confused when he's awake, but still seems to enjoy life - especially when he can snaffle some cheddar.

Love it when drug makers can't decide what flavour something is and so just list every flavour they can think of...

Thrilled to say that my student, Erin Reilly, passed her Ph.D. examination this afternoon, with the thesis ‘Towards an Ethical Culture: American Mythologies and the Limits of Freedom in the Work of David Foster Wallace’!

It's my birthday - hurrah! The third birthday in ongoing shielding - sigh! Still, we have some outdoor activities planned and we may try to find a quiet pub with a beer garden.

A note: never state in peer review that you think that an article is "like a PhD thesis/dissertation". I've seen thousands of review reports and you're almost always wrong.

A rather fine-looking smokehead whisky has arrived from friends for my birthday. Probably a bit early to be starting on that...

I have had to go to the doctors' today with a relatively urgent problem that can't be handled over the phone. No face masks from any other patients and the waiting room is not safe for people with my condition. Only suggestion was that I should wait outside in the rain.

Can someone please point me to the best and most recent study into the estimated percentage of global annual research publications that are open access?

This morning I began work on a chapter for the forthcoming Critical Infrastructure Studies & Digital Humanities volume. I am writing on shadow libraries and pirate archives.

Did a good 15 mins in the sea - and that was enough for me! Felt totally hyper afterwards. Then crashed. 😂

Well, there it is. The pile of swimming stuff committing me to the first sea swim of the year. Heading out at 5pm! 🏊🥶❄️

Got my little jelly shoes to protect against the weever fish. I was stung by one of these as a small child and it was incredibly painful!

Today's fun is writing a complex querying system for the Thoth system @COPIMproject. Allowing users at the @OpenBookCollect to save advanced searches.

It uses a -- if I do say so myself -- clever system of Q queries that can be persisted to the database. It also ends with this comment :P

In the backend dashboard -- which has a more business-like feel -- libraries can setup a feed showing books from their institution... Or any other of our search fields.

Feeling chuffed this evening at being asked to contribute vocals to a great-sounding track by a great producer whom I admire. There are some small good things!

AWS's machine learning NLP stuff is good. But I always feel totally terrified every time I run anything through it in case I am throwing some accidentally massive corpus at it and incurring a hellavua bill.

Is there an existing list anywhere of series of characters - say of length 3 or 4 - that do not occur in any known English words? Eg "zdfx". I can write a scanner but wondered if this already existed.

I've said it before, but the first few episodes of The Next Generation are wild. Episode 2: the crew is consumed by a sex virus. Episode 3: a totally racist setup featuring a "primitive" tribal race... Who are all black.

Something I put together this week. Infrastructure as Code for Deploying Django to AWS using Terraform/ECS/Fargate https://github.com/MartinPaulEve/django-fargate

What's this all for?

Well, it's the next step in taking us to "install Janeway *AND* all the necessary infrastructure with 4 lines of commands"

Theoretically, something like http://fly.io could do this and I might have a play with that. Its "run a django app quickly" looks promising. But I was put off by the certificate management part, which looks complex. https://fly.io/docs/app-guides/custom-domains-with-fly/

The domain-name offer/purchase saga continues. It turns out it is someone genuinely offering me several thousand euros for the domain. The problem is, I have almost two decades of accounts linked to the email address. Transfer would be a massive security risk.

The long-term, by-design effects of UK government funding policy for higher education are coming to fruition now. Reports of 200 staff receiving redundancy notices at Roehampton, 138 courses at Wolverhampton shut down recruitment, 58 redundancies planned at De Montfort.

Our departmental research day today - where we plan, discuss, and celebrate our research environment. Grateful to @lcale2 for running this in a hybrid fashion so that I can attend remotely/safely.

Current status: #cakecam

Running a 13-hour Django ORM import procedure in transaction.atomic is a simulation of old-school timesharing on the mainframes. "Come back in 13 hours and we'll tell you if your code ran."

I was just ruminating now on my days working on the Arthritis Research UK funding panel called USER. The basic principle of most healthcare economics is very Vulcan: "the needs of the many outweigh the needs of the few". I have always thought that to be total bollocks.

Not all needs are equal. Curing the mild common cold doesn't outweigh curing a rare but lethal cancer. Some rare conditions cause untold individuated suffering. Freedom to do absolutely anything shouldn't outweigh basic safety for the vulnerable during covid.

I was nearly always the lone voice advocating that we should always invest in rare but serious conditions, even if it meant jettisoning a potential cure for the majority condition (which I, actually, suffered from). Because who else would fund it or help?

The needs of the few can outweigh, or, at least, equal the needs of the many.

In fact, it's so easy to tease this Vulcan "logic" apart. Because the few are... "few", their needs are greater, because more generally neglected. Their plight is worse and overlooked, and their need for help therefore greater.

Did a bit more work on the corpus builder/classifier that I am making. It now has a "reprocess" option in interactive to submit the document to Amazon Textract for re-processing, which almost universally clears up bad OCR problems I have in original documents.

This is needed basically because the built-in text encoding at Critical Inquiry is terrible.

Sigh. I just went for it on a full re-OCR

Moderately painful but now done

Reading the English Association newsletter over lunch and it's so frustrating to hear that the Department for Education realises that the GCSE English curriculum is deterring students from further study, while noting that there is "little political appetite for a major change".

It's just real pantomime villain stuff.

Tory MP: you can cook a meal for 30p. People just can't budget or cook.

Same MP claims £222,000 in expenses in a single year.

Just encountered the phrase "Herder’s famous Grundkraft" and wonder in what universe this is "famous"

Still enjoying playing with my academic jargon classifier

citational citationality poststructuralists symptomatized atonist posttexts paratexts subjecthood paratextual -- J H Prynne

I got a massive academic rejection today. The things that you do that never go on the CV. Spent 81 hours this year working for it and it didn't come off. Pretty down about it. Still, looking forward to discussing shadow libraries at OASPA in an hour or so.

I deleted my earlier post about REF results. I don't want to upset people and know that everyone in UK HE works equally hard on this. I hope it was obvious, though, that I was just trying to have a day of celebrating us doing well in something amid otherwise very difficult times.

I'll also just leave this here https://www.nature.com/articles/palcomms2016105

What would be better than REF? Lots of things, I think. Fundamentally, in my disciplines, I'd far prefer an even funding allocation to everyone on research contracts that meant that researchers had to collaborate with one another to pool resources for projects.

But REF is a political tool, used to justify UK HE research funding to political masters. REF is designed to give a reason to fund HE *through the QR stream* to politicians while keeping quality profiling in disciplinary hands.

The scheme I described above would be far too socialistic for the current government climate. It wouldn't stand a chance.

Whence came this phrase "cost of living crisis"? Previously would have been termed "recession" or "depression"? Rhetorical benefit for politicians in decentring cental government monetary policy?

Love how easy Textualize/Rich makes it to create pretty interfaces for command-line tools that I'll probably be the only person ever to use. Spinner while remote service OCRs is great.

Another odd/concerning thing today: someone offered to buy http://martineve.com from me for 1000 EUR. They then went up to 3000 EUR. It seemed a genuine intermediary, but worried about identity theft implications here.

No idea what's going on here, but it doesn't seem good.

I'm not kidding: "Is your name Delia?"

I've told him I'm a middle-aged bloke called Martin and he's gone very quiet

If I produced a dataset/database that was a full word list and count of an in-copyright literary (or academic) work, can anybody advise on the copyright implications for that DB?

It seems totally odd (and frustrating) that I can't search our local library catalogue by DOI. And, as I've said before, so annoying that I can't just programatically give a DOI and get a PDF (or better still, plaintext).

Crossref, of course, does have a full_text data field. But, obv, it depends on access and also on this being deposited. It's usually used for iThenticate plagiarism checks.

Wow. Amazon Textract is quite incredibly good. It's way better than any method I've used for direct local export of PDF to plaintext.

Also, this corpus builder that I am making is going to be nifty.

I started some work on this tonight for fun. I've got all the PDFs from Textual Practice, Contemporary Literature, New Literary History, PMLA, boundary 2, LIT, Critique: Studies in Contemporary Fiction, Literature and History, Critical Quarterly, and Critical Inquiry. https://x.com/Ted_Underwood/status/1523643043752325125

I then extract the plain text and do a zipf score on the words in the document, excluding stopwords. This gives you a rarity index for words in the article. So the lower the score, the less common the average word is in the article.

A challenge with my jargon scorer: when it encounters a word that is simply too rare to be in the general dictionary - like phallogocentrism - it scores it zero.

However, the data sources, particularly, say, on early articles contain bad stuff where the scan from print/OCR has gone wrong. So you get words like "bagagsteeu". These also score zero.

Because the system works on the average score of words, words with a score of zero rank the piece as more jargonistic.

So what I need to do now is write a scanner that looks at the data and flags to me articles that seem to be bad data, so I can verify whether they score badly because they are full of jargon or whether it's because of the data source.

This morning, the sun is shining and I am beginning work on the final chapter of my next book, PAPER THIN. Writing and thinking about code libraries and why they are “libraries”.

Tomorrow, Birkbeck is sending a photographer to my neck of the woods to take socially distanced publicity shots for the College's 200th anniversary/"Birkbeck Effects". Really grateful to colleagues who have made this safe for me!

Also kindof amused that there are going to be pro photos. Perhaps I can sneak Toby in?

It turns out that this photographer has previously taken shoots with Taylor Swift and the Pope. Not together. I feel I may not quite have this profile.

Lemn Sissay, Laura Mvula, Dylan Moran, Tracey Emin, the "Vs Arthritis" campaign. I'd better make an effort!

Happy birthday to Thomas Pynchon, 85 today! No #pynchoninpublic for me for the third year in a row as I remain shielding.

Mrs Eve has made stellar progress on her bespoke, totally home-made arched bookshelves. This was not pain free, by a long way!

Aside from the fact that it's supported by loads of sociopathic billionaires, surely one of the greatest reasons to be suspicious of "longtermism" in "effective altruism" is just how convenient it makes it to ignore the plight of determinate, actual people suffering.

If there were coherence in the scientism of those pursuing this, they'd be more worried about that massive ingrained bias and just how easily this paradigm makes it to go along with that convenience.

It should be renamed "speculative altruism", designating a system where you opt to help potential, but uncertain, and not suffering (because not certain or real) people instead of actual, suffering people.

Some friends visited us in our garden this afternoon. We played a ridiculous wordplay game in which one had to invent a series of projected children's toys of the formulation:

Hector, the tautological badger, was an unfortunate victim of nominative determinism.

The game involves finding animals whose names are also verbs (like "badger" or "fox" or "ferret") and then finding plausible names that mean the same.

My best was Con the tautological gull.

Hunter the tautological ferret. Echo the tautological parrot/ape. Bam the tautological slug.

I was sent a password-encrypted P60 by a university for whom I did some examining work. Payroll dept. gave me the wrong password for it and I couldn't get in. Fired up John the Ripper and Hashcat and cracked the password instead 🤣

A partial apology that my feed today is all about the Evusheld fiasco. Normal service will resume, but I can't stress enough how important it is to me, so today's given over to it entirely.

I've been asked by a colleague about good reading for people in the humanities new to open data and I realised that I don't actually know what the best writing is on this. Any recommendations?

Sending solidarity to US friends hurt by today's news. It feels like a truly major and terrible day in US jurisprudence.

A classic lunchtime LP today with The Chemical Brothers' 1995 debut, EXIT PLANET DUST. It still sounds otherworldly.

Bit of a weird moment on this between "In Dust We Trust" and "Song to the Siren" as this usually seamless transition spans sides of vinyl. Interesting how it's been back-ported to vinyl when it was originally CD.

Took an early lunchtime coastal stroll to clear my head after clearing rhe inbox. A grey day but the sea is good for the soul.

Autocorrect catches so many things I want it to miss, but it doesn't spot my "rhe"

Back to emails after a long bank-holiday weekend. 168 of them or so, although I think a fair few of those can be insta-deleted. I'm going in!

Continuing the trend of hypothetical cost inversions and see the behavioural consequences - eg "pay to send an email" - this would be a good way to reduce meetings if I worked mostly freelance.

Perhaps organisations could have some kind of internal token system/currency. It would have to be redeemable for some kind of "anti-meeting" reward.

I wrote up and made public the technical work that I conducted yesterday as a hobbyist project to move my entire personal site to infrastructure-as-code. (That jargon-laden tweet I put out 🤣.) https://github.com/MartinPaulEve/meve-iac

This means that the entire hosting stack for my personal site is replicable (you can use it too!) and I can recreate it in a few minutes. I now also have a worldwide CDN backing the site for caching, which should improve reliability.

I spent a day teaching myself how to Terraform the Cloudfront CDN in front of S3 static site buckets with Route 53 DNS and ACM Certificates. I have a CI/CD pipeline from Jekyll, too. There's lots that's good about it... But also some stuff that's ridiculous.

For instance, just to allow root document suffixes (index.html) in subfolders... The most absolute basic thing for static sites... Requires a Lambda@Edge function to rewrite the headers.

I left it today having discovered that Lambda@Edge functions have to be located in us-east-1 regardless of where your other resources live. All these little details add up to quite a frustrating experience for something that is supposed to simplify infrastructure.

That said, configuring Route 53 DNS records via code as infrastructure is quite cool and works as I'd hoped. The URL rewriting in S3 buckets is garbage though - and I'll have to use the Lambda@Edge hack again.

it gets even better. So when you go to debug these Lambda@Edge functions, the log is ascribed to... the region where the function executed, not the region where the function is stored. So you have to work out where the failing user came from.