April 2023

A note on pain management. The spondyloarthritic form that my rheumatoid arthritis is currently taking -- attacking the neck and back/compressing the spine -- causes such bad pain that it makes me actually be sick. The problem is: opioid painkillers also make you feel very sick.

Most people assume that if they get to the stage where the pain is this bad, they'll just shout: "give me the morphine!!" and all will be well. I'm afraid it's not really so. Particularly if the condition isn't imminently terminal.

In the wake of the Wiley furore, I'll just note that we designed the @openlibhums consortial funding model precisely to protect against pressuring journals to publish more in the OA era. Every article published *costs us* from the budget. So it has to be worth it.

This is somewhat anti some of the prevailing trends in terms of post publication peer review etc. in theoretical ScholComms contexts. But it keeps a cap on cost and doesn't coerce editors.

Hard to express how much I hate this crap.

We've got a barely functioning health service, education is crumbling, emergency services can't get to you on time, and we've been told we have to "accept" being poorer.

https://www.theguardian.com/uk-news/2023/apr/29/public-invited-to-swear-their-allegiance-as-king-is-crowned?CMP=Share_AndroidApp_Other

But yeah. Pledge your "loyalty" to a man with a personal wealth of £1.9bn who has his position in society due to the violence of his ancestors. And let's spend £100m on a ridiculous game of adults dressing up and parading around for a weekend while we're at it.

FFS.

"adults with conditions associated reduced vaccine response did not show the same reductions in mortality rates as those without"

Reduction in COVID-19-related mortality over time but disparities across population subgroups - The Lancet Public Health
https://www.thelancet.com/journals/lanpub/article/PIIS2468-2667(23)00078-6/fulltext?dgcid=raven_jbs_etoc_email

Put otherwise: well, we managed to protect quite a lot of people from death. Bad luck the rest - we've stopped worrying now!

"The broader community should also protect people who are at high risk of severe outcomes, such as through testing and avoiding public places when unwell."

But they won't. "lol"

Today I wrote the core patch code that will allow us to hook metadata fields back into the outgoing API response at Crossref. XML input -> store variables -> transform XML to current schema compliance -> patch returning JSON.

This last step is slightly trickier than I'd like, because we have to match elements to one another from XML to JSON. There's the possibility that you have multiple identical contributor_name blocks for example.

Anyway, I *think* I am now storing sufficient context to make this work.

Something you may not know if you don't need regularly to interact with NHS hospitals: the admin systems are designed to ration care and to make everything very difficult. Today's anecdotal experience might be instructive...

I have an email from my (very kind and good) clinician who said that she would urgently arrange an appointment for me in May. Due to strikes and annual leave, she hadn't done this. OK, no problem, I don't blame her.

I now have an appointment. But, wow, 2 hours.

But most people are not that lucky. And most seriously unwell people do not have the *energy* or capacity to spend 2 hours arguing with hospital admin, being passed from counter to counter. And this is kindof how it works: they assume that you will give up.

But, even with this documentation, it took *2 hours* of communication with the hospital, on hold, phoning, being transferred to get this done. Now, I am _very_ fortunate. I employ an assistant to help me with this stuff and she was the one who spent 2 hours on the phone.

Now, you might say: this is not malice, just incompetence (Hanlon's razer). I'm really not so sure. It would be so easy to make this better/easier. And they also say things like "I'm afraid the patient has to call himself" to someone who is authorised to act on my behalf.

There is, apparently, a much smaller, nicer dialysis unit near where I live.

I was enthusiastically told that the denizens thereof play bingo.

*runs screaming from the building*

This sounds ungrateful, but I found the dialysis ward "tour" a little bleak. Something about the scale of the place had a feel of industrial grimness, with rows and rows of patients. Don't get me wrong: I'm so thankful I will get treatment. But it wasn't a cheerful place!

This is not the actual unit -- which was full of people -- but is an indicative picture of such a ward

longsight 1.0.7 just released.

It gives a new helper method: instrumentation.add_counter("counter_name") to quickly add counter metrics to Cloudwatch.

You can also, optionally, give it status_code and a list[dict] of other dimensions if required.

Today, I have my pre-dialysis clinic where I will have the whole process explained, get a "tour" of the dialysis unit, and get to ask any questions. #great #fun

Today, I've been preparing for the release of the Crossref annual public data file, with everything we do openly available.

A good call with immunology.

Previously, I could not have the anti-viral "cidofovir" to clear BK virus, because my kidney function was not good enough. There is a possibility that I could have this when on dialysis, to clear the virus and save residual kidney function.

Well, I was having quite a good day. Then I got kidney blood test results from this AM. This never becomes less upsetting.

This afternoon's soundtrack has been poppier than usual. But Heather Small's "Radio On" really is a great song. https://www.youtube.com/watch?v=rgk4AQeP3Ko

Today I added support for a reports endpoint that shows aggregated statistics across the member base. Others in the Labs team can add their data to this as they become available. We currently have experimental preservation data in there https://api.labs.crossref.org/reports/

Today's work has been more on the Crossref Labs API, which you can visit at https://api.labs.crossref.org/.

We also have the beginnings of a simulated deposit proxy that works with the Live API. More on this soon... I'll also add more documentation in coming days for what we can do so far.

Spitting feathers. In response to my complaint that their impact equality assessment is deficient, the Electoral Commission replied: "we didn't do it. You'll have to complain to <another government department>".

Err, no, that's not how this works!

OK, so the UK just had a test of the national emergency system for phone alerts... But my question is: do they have a way of knowing who received it? And why would that monitoring system be more reliable than the actual delivery mechanism? Does this "test" improve the system?

Well, my rate of precipitous kidney destruction has slowed, but I'm still losing an EGfR point - roughly 1% of kidney function - every 1.5 weeks. It's down to 14 so there isn't much left to lose. 😕

I keep being advertised these "vinyl box" subscriptions... Where you don't get to choose the music, but, ya know, who cares? It's VINYL! 🤦🤔

The customizability of AWS infrastructures often makes them overlook making simple things easy to do. Want to redirect a domain to another with SSL? You have to setup Route 53 Domain -> Cloudfront Distribution -> S3 static website hosting with a redirect. This should be 1-click.

Today, I'm writing a preface for the Chinese translation of The Digital Humanities and Literary Studies and completing various press author forms for Paper Thin.

Dominic Raab confirms he is not a bully in the workplace by claiming it's all the fault of his useless, sabotaging colleagues.

Lots of good work today on the Crossref Labs API. We're building an experimental system that lets us think "what if?" for various new metadata fields in the main API. The API is running at http://api.labs.crossref.org and, being a prototype, has no guarantee of stability.

How does it work? Well, first, you will need to operate in polite mode to get any results. ?mailto=youremail in the URL will do it. Essentially, though, this AWS lambda function, running FastAPI on an API Gateway, makes requests to the live API.

So, for example, we have cr-labs-preservation for preservation information. We have cr-labs-member-profile for additional member data not normally in the main API. And, thanks to my colleague Dominika, just today, we have cr-labs-resolution, for DOI resolution data!

On the return from the API, the Crossref Labs Annotation module injects new fields/data into the API response. These keys are all prefaced with cr-labs- to make it clear that they are experimental and subject to change. https://gitlab.com/crossref/labs/clannotation

How do the /all routes work? We're pregenerating these responses once every 24 hours and then just serving them, rather than hitting the live API every time. This also means the only access limit is the speed you can download from AWS S3.

We also have the ability to return "all" routes now. Using ?cursor=*&rows=all will, on certain API routes, like "members", return you all members, without any pagination. This isn't implemented for /works because it's 145 million records.

The other is our observability tool, longsight. This lets us inspect and debug Lambda functions in a unified way. All part of our Labs infrastructure. https://gitlab.com/crossref/labs/longsight

Two other projects help us run these under the hood. The first is CLAWS, the Crossref Labs AWS toolkit. This is basically a wrapper for lots of AWS functionality in one package. https://gitlab.com/crossref/labs/claws

What's next? Well, I want to build a deposit-side version, which will allow you to submit experimental new metadata, to be re-presented when you visit the Labs API. All while maintaining compatibility with the live API. Stay tuned...

Last call!

If you can, *please* sponsor @ersatzben who is running the London marathon to support @VersusArthritis in my name.

All my health problems - from stroke to kidney failure - stem from rheumatoid arthritis. This charity's work has saved my life.

https://www.justgiving.com/fundraising/Ben-Johnson53?utm_campaign=lc_frp_share_transaction_fundraiser_page_launched&utm_content=e8d46f54-e44d-4988-aa90-a6440d2ffc2c&utm_medium=email&utm_source=postoffice&utm_term=1667412479043

The Crossref Labs experimental API (subject to Total Breakage At Any Moment™) now has support for a "rows=all" querystring on some routes. I know this is a common use case and that cursor pagination is a total pain, so we're seeing what we can do to yield all entries.

A good clinic today, as these things go. I'm now booked to see the vascular surgeons to have a fistula implanted. I have a pre-dialysis session next week to plan. The bad news: I also have some blood test showing potential heart failure. And my lungs sound dodgy #canIhaveabreak

Whenever James Cleverly is quoted, it sounds like bad examples from writing manuals.

"Avoid speech adverbs," said James cleverly.

A really frustrating day, tech-wise (I'm going to have to take the Spark plunge) and healthwise (feeling rotten).

Tomorrow, though, I have the all-important first appointment at the local dialysis centre. I hope to leave with a plan...

This afternoon is another joyous "how is Airflow going to mangle our existing codebase, this time?" trip. Let me count the ways.

A tech term that has evolved annoyingly is "VPN". It's used universally now to mean "internet proxy" whereas I usually want one to link my various computing setups to one another securely, as though local, over the internet.

We are all outside today in the nice weather. Luka has snuck into the summerhouse for a snooze on the shabby sofa!

Seeing Luc and John's book out, I realise, is also a significant moment in my intellectual career. International Pynchon Week 2008 in Munich was the first academic conference I attended. They first presented this work there. It's been a more-than-15-years-long project.p

Continuing with this superb book on the evolution of Pynchon's first novel, but struggling somewhat: I've developed a tremor/shake - apparently due to kidney failure - that's making it quite hard to turn the pages 😕

Today I have been listening to the Alban Berg Quartett's /Complete String Quartets of Beethoven/ while, on @gbilder's recommendation, I read Adrian Daub's /What Tech Calls Thinking/.

Perhaps the thing that struck me most was that the book wants to make precise distinctions. But What Daub Calls Tech is actually Silicon Valley "thought" leaders. It's not tech workers or developers. It's a critique of rampant SV capitalism.

It's an interesting book. Some very obvious targets like Ayn Rand. Some wilful ignorance ("I am not even going to find out what that [tech term] means"). But generally quite persuasive.

Instead, Daub asserts explicitly that "the ideas that tech calls thinking were developed and refined in the making of money". Many were. But there are some that were not. There's a whole strand of leftist thought against commercialism in some open source work.

Again: that's not a bad thing. This culture is pernicious. But the narrative never once mentions, say, open source volunteers who build technologies without the expectation of monetary reward.

The book also does a classic - and not necessarily wrong - humanities move. It finds something that claims to be discrete, full of abrupt breaks (SV "disruption") and instead says: actually, these are continuous and have a history.

As Gabriella Coleman charts it, most open source work probably eventually falls into the camp of political liberalism - but there are more engaged, full left cultures too. They aren't mentioned here.

The other person who does this really well is Ted Underwood on literary periods - in a very different way - but it nonetheless reminded me of that.

Finally, in his critique of SV cultures, Daub posits that, say, Stanford dropouts want to feel that they are idiosyncratic outsiders/revolutionaries while still benefitting from the nominal association with a centre of traditional power. I'd only add that so do many academics...

Oh, and PS, there's a great reading of the Pixar film Ratatouille in there 🐀

He does kindof say this early on.

And another thing: Daub says outright that coding has no aesthetic characteristics. Gives an example that coding in films is boring. But so is painting! "Like watching paint dry". That doesn't mean painting isn't an aesthetic act.

The elegance of some code is beautiful. And it's possible to deem some solutions, even those that work, to be "messy"/inelegant. These are aesthetic judgements, not functional appraisals.

Well, he looks a little suspicious of the whole setup, but Luka has voluntarily chosen to come sit near me while my wife is out of the room. Huge progress! He'll love me eventually!

Today I began work designing a modelling system that will allow us to prototype new metadata fields, interacting with the live Crossref API. Early days but interesting stuff!

If anybody would like to read a draft of my digital preservation study and provide feedback for an acknowledgement, please let me know.

Of all the sources that I most ironically cannot access because they've disappeared, Jones, Maggie. “Archiving E-Journals Consultancy (Final Report),” October 2003 is up there.

A conundrum...

Evusheld 2 (SUPERNOVA) trial pushed back to late May for recruitment. Having a booster vaccine in 3 months before excludes you from the trial. Trial is randomised with 50/50 Evusheld v1 to v2.

I mount no antibody response to vaccines. Evusheld v1 may be losing efficacy. Evusheld v2 is unproven.

Tricky to know quite what to do...

Good luck to junior doctors on strike this week - and I say that despite having an important immunology appt cancelled. The future of our health service rests on treating young doctors well. This government's obsession with grinding the majority into impecunity cannot stand.

I need, at an upcoming hospital appointment, to summarise my medical history. I thought it was worth sharing this flowchart that shows how I got from "just" rheumatoid arthritis, to a stroke and kidney failure. A highly complex systemic pathology.

A health conundrum: I have limited painkiller doses per day due to kidney failure. I need constant pain relief for the terrible spinal compression from the arthritis. If I take them at night I can sleep. But then I have less pain relief in the day. Not sure there's a good answer.

Feeling a bit better today and managed to do the book chapter revisions. This is for one of the "Debates in Digital Humanities" volumes & I must say that the "peer-to-peer review" system is really constructive. It's great to get such positive feedback aiming to improve the work.

Urgh.

I am one of those "severely immunocompromised individuals". But I have to visit departments where they don't specialise in this. It's not like we're walled off in hospitals.

But staff will no longer be tested for Covid infectivity. There is so little care. https://x.com/kernowjones/status/1644976906415005696

As I've said before: I got Covid by going to a hospital appointment that I really needed.

It then landed me in a hospital bed, via A&E, for 3 weeks.

Had an interesting conversation with a colleague this week re Large Language Models. Crossref has signed POSI, so everything we produce should be open/reproducible. The use of non-open LLMs to complete a task - even when they work well, like reference matching - violates this.

Weirdly, although the kidney failure is the serious/terminal problem now, it's the peripheral stuff that scares me. Central line catheter and fistula implantation under general anaesthetic are, in the scheme of things, small worries. But they grow in your mind.

There are hugely varying estimates of how long you can live in the "end-stage renal failure" category, on dialysis. Most say 5-10 years, but you can do longer. Apparently the first 6 months of dialysis are the highest risk.

Basically: if anyone ever wants to give me any kind of "lifetime" achievement reward, don't wait too long. 😂

Spent the morning reading Alan Garner's Treacle Walker while listening to Monteverdi's Vespers. A truly strange novel that presents the senseless with the structure of sense. Lots of optical doublings throughout and scores of allusions to other texts leaping off every page.

An exciting gift arrived in the post this morning from John Krafft, one of the most astute, but also kindest, people I've met in academia. Looking forward to reading his and Luc's most recent book on the creation and evolution of Pynchon's first novel.

A relatively good run today. Revised my journal article, peer reviewed another, checked in on my long-running digital preservation data script, updated the tici taci website. Now need a lie down due to pain, but not a bad day.

I've got a book chapter and another journal article that also need revisions. Hope also to get these done this weekend!

Today, I feel utterly lousy. Rheumatoid spinal compression is dire. All of my joints are swollen and sore.

But I'm sitting outside in the sunshine with my doggy, putting the final touches on a journal article.

Advice from my kidney consultant: "I know this isn't a very helpful thing to say, but please don't get acutely ill just after Easter. It's not going to be safe with the strikes".

UK government is endangering patients by paying junior doctors so little.

The pay scale for junior doctors is abysmal. After 5 years of medical school, they have £45k of tuition fee debt. Then they start on a £25k salary. Pret a Manger pays up to £14.10 per hour. A junior doctor makes just £14.09. The health service needs proper state funding.

Apparently The Telegraph has an editorial saying that junior doctors ought to be ashamed.

No. Disgusting tax avoiding, low-tax promoting, private-healthcare advocates who believe everyone else should live in poverty and be grateful for it should be ashamed.

It's 6pm on the day before the Easter break... and I have a frustrating programming bug that I *really* want to solve. It's one of those "I'll just try one more thing..." loops...

Got it.

So, my digital preservation report write-up is well underway. Some interesting findings so far! (Including one mega-publisher w/out good preservation). I've examined 6 million articles for this analysis to get a sense of who does it well and who can improve.

So, the report ran and the data about digital preservation is in place. Tomorrow I will begin the analysis!

Luka, settling in.

He's still very wary of me. He's clearly been mistreated by men in the past. It could take him a while to come round to me, but I'm just keeping my distance, letting him decide if he wants to come to me... And giving him lots of treats when he'll take them.

Running the preservation sweep that I have been working on across the entire Crossref member database today. Now validating some data from it, too...

Pleased to say that I will be delivering a digital keynote at this year's OpenFest at The University of Sheffield. This will take place on the 7th September and I'll have more details nearer the time if anybody is interested.

AI has looked into my future. And it's predicted that I will become a rugged fisherman who keeps track of his catch with a pencil and paper.

Meanwhile, Luka is doing so well. He's such a good boy. He's still a bit wary of me, as a man, but he's getting more confident already.

Things had been improving, slowly, with my rheumatoid arthritis treatment. Then, last night, it arbitrarily decided to flare. Neck inflammation pushes on the spine causing horrific pain. I spent most of the night throwing up with it. Awful.

UK schools and hospitals are literally falling to pieces. But at least they'll all have a picture of the king.

And Luka is home with us! He's an eight-year-old rescue dog from Bosnia who has lived his whole life in shelters due to bad adoption luck. He's a lovely, gentle, slightly nervous chap. We love him so much already!