I'm just getting started with Symfony, so I'm blogging some of the weird things I'm finding. Symfony has a concept of Cache Contracts. You can call an expensive / slow / intensive operation and immediately cache the result for a specific time period. Next time you call the operation, the results are served from the cache until the expiry time has been hit. Nifty! But I couldn't get it to work. …
Continue reading →
I'm just getting started with Symfony, so I'm blogging some of the weird things I'm finding. I want to use Doctrine dbal to search a database for a partial match. For example searching for "smith" should find "blacksmith" and "smithy". I have a prepared statement like this: $queryBuilder = $conn->createQueryBuilder(); $queryBuilder ->select("whatever") ->from("table") ->where("name …
Continue reading →
It was only after I started editing my MSc down to its prescribed word-count, that I finally understood the phrase Kill Your Darlings. I spent ages writing florid prose, only to realise it was needless verbiage. The delete key was hammered mercilessly. But... As all fans of Jasper Fforde know - there is a "Well of Lost Plots"; where rejected sentences live on in the eternal library... As I was …
Continue reading →
Welcome to acronym city! I recently published my Master's Dissertation. I say "published" - I just shoved it up on a website. But real academic publications should have a DOI - it's an identifier which is supposed to make it easier for people to find and cite paper. You know how books have a unique ISBN? It's like that. I couldn't find a way to publish this via my university, which was a little …
Continue reading →
This blog has a calendar showing my yearly archives. It was in a table layout - which made sense when I first designed it - but had a few spacing niggles and was hard to make responsive. Now, it behaves like this: The code is relatively straightforward. The HTML for the calendar looks like this: <div class="calendars"> <div class="calendar"> <div class="calendar-year">2018</div> …
Continue reading →
Today is a day of mixed emotions for me. The UK's COVID tracing app is finally closing. The app was, by any reasonable measure, a success. A team of experts at the Pandemic Sciences Institute at the University of Oxford and Department of Statistics at the University of Warwick estimate the NHS COVID-19 app prevented around 1 million cases, 44,000 hospitalisations and 9,600 deaths during its…
Continue reading →
I think the computer programming industry is about to reach a reckoning. No, not because ChatGPT can poorly plagiarise buggy code - but because a whole generation of kids have grown up with Scratch. And they'll want professional tools which have Scratch's level of usability. Hand-coding YAML files is a mug's game; one wrong whitespace and everything is broken. Left a semi-colon off the end of a…
Continue reading →
I was in one of those interminably dull video-conferences a few weeks ago. The presenter was pitching their grand vision of what our next steps should be. "So!" They said, "Any comments before we launch?" No one said anything. After half a minute the presenter said "As there are no objections, we'll proceed. Silence is consent." At that phrase, my whole body did an involuntary spasm which I'm …
Continue reading →
Metawork is so much more fun than real work. Sharpening your pencils. Colour coordinating your filing system. Creating Gantt charts of what you intend to do. Marvellous! In that spirit, here's how I used the venerable pandoc to convert my MSc dissertation from .md into a variety of more readable formats. Prep I've no idea what you already have installed on your system but, at a minimum, you…
Continue reading →
Much like "Why I’m No Longer Talking to White People About Race" this is a book that's a little tricky for me - a white apathist man - to review. I'll cheerfully admit that I don't get religion - any religion. And I doubly don't get why people tie themselves to a religion which seems to persecute them. As I read on, I was surprised to discover just how much I agreed with some of these t…
Continue reading →
This is a Retropost. I wrote it contemporaneously - but was only allowed to publish it a year later. Today I took part in "A Phase 2/3, Randomized, Observer-blind, Active-controlled, Multicenter Study to Evaluate the Immunogenicity and Safety of Omicron Variant Vaccines in Comparison with mRNA-1273 (Prototype) Booster Vaccine". In the name of science, I allowed myself to be injected with an…
Continue reading →
Twitter's decision to hobble its API has meant that a number of useful alerting bots might no longer function. Your local subway might not be able to Tweet each morning about delays on the line, nor will a tornado warning be displayed as you scroll through photos of brunch, and forget about flood alerts between your memes. In one sense, this is sad. A set of useful public services are being cut…
Continue reading →