Posts & Tags
.
- "Flocks of starlings, rustling like silk"
- There’s a guy on the seafront who makes giant bubbles. Kids...
- Freelancers and LLMs: Expertise, judgement and trust
- Ten years ago I added a reminder to my calendar to check on...
- A Micropub server for Pagecord
- Test of posting to Pagecord from iA Writer
- "That which is not inspected deteriorates"
- Arriving back in Brighton, over the London Road Viaduct
- Bluebell season
- Nested cross-validation
- Over the weekend, we were back in Margate (mainly...
- Colour hexdump
- The streaming schedule for Artemis II is out over at NASA...
- print('GROWING CELL')
- Nice colour, not enticing (Pyecombe, Sussex)
- This is what the internet is for: UK novelty hot cross buns...
- Good luck, Rosie
- Not committing confidential data to git
- Keeping long running macOS jobs active
- Human/Health-AI communication loop
- Swans have massive feet
- The beach, and the sea is just over there
- Can't win
- Synthetic market research
- Heating homes (post-war to today)
- Flight price variation (n=1)
- Soil cycle
- Reasonable positions on ageing
- Moving static sites from AWS to Bunny net
- Creating a large GittHub Gist
- “There are few sights more quietly radical than a snowdrop”
- An empty bench in Russell Square
- Review code changes, then discard
- Anyone for a game of Tetris?
- LLM medical device regulation 🦆
- Brighton Philharmonic Orchestra does Nyman
- Impressions after ten days with a Polestar 2
- Childhood flu exposure lasts a lifetime
- Rust is used for software medical devices
- One year with a heat pump
- Fun listening
- Progress on AI drug discovery
- AI in 2026
- The motivation to get out of bed
- Reading in 2025
- Carspreading missed opportunity
- Permissions to browse
- Making paper virus snowflakes ❄️
- AI: investment, copyright, human in the loop
- Assisted thinking with provocations
- Adding another Github repository to Northflank
- The riches line
- Things to do in the rain
- UCL machine learning drug discovery event: notes on affinity and ML
- Using LLMs + Super Resolution to fix an image for print
- At "Think again! Laughter, Lies and Gambling"
- "the real alternative to our present is political, not technological"
- "More often than not, our patients won’t even see a doctor”
- Evo-Devo (A Capella Science)
- At "Plastic on the Menu: What Hedgehogs Are Really Eating"
- Out of season you get the beach to yourself
- I'd be impressed by a robot that can clean its own hands
- Paying for content for AI
- Hello, Autumn
- Goodbye, Science In Action
- More co-op games I’ve been playing
- Configuring Helix for scalafmt
- My blogging workflow (2025)
- Wandering around the KQ
- British standard time (1968-1971)
- Opening m4a (MPEG-4) files in Audacity
- Mad as hell
- Logic gate proteins
- Musical ear syndrome
- Safari password autofill sometimes sets the wrong password
- The Addiction Economy
- Making LLMs safer for health care support
- Immune ageing and neutrophils
- A box of rain in the woods
- The 75th anniversary of the Turing Test
- Great use of street furniture
- Links from September 2025: subliminal LLM learning; cancer "go or grow"; animal communications
- One person can plant 2,000 new trees in a day
- At the Brighton Data Forum lightning talks
- A copy of "Crown Street Memories" (2010)
- Standard Ebooks new releases
- zmv: move files based on a pattern
- The Times Atlas (1895): unexplored regions and Wales on the Africa page for scale
- How to go from a what3words location to a destination in the Fiat500 app
- A mosaic bus stop in Somerset
- UK national ID (again)
- Beer and biscuit pairing
- Electric car charging on long trips is enjoyable (for us)
- Tilt your head back, with your ears submerged
- I remember now: blogging via email is good
- Running Pagecord locally
- Links from August 2025: book economics; LLMs don’t reason; story in politics; kidneys
- Crossing the meridian: the sign points towards the “western hemisphere” & “eastern hemisphere”
- Trying out Pagecord
- First steps with Home Assistant and the Octopus Cosy heat pump
- Medical LLM pattern matching is brittle
- “AI for Medical Diagnosis”, week 2: key evaluation metrics
- TypeScript user type guards / type predicates (x is Y)
- Prof Maggie Boden
- Odds ratios
- Links from July 2025: original SF; bed washing; epigenetic ageing; grief; NHS 10 year plan
- Ageing as an indication
- EasyJet UK domestic flight permissible ID
- Obviously I don’t understand quantum computing
- Off-target effects are the norm
- “the main threat to artists is our indifference to [...] the slop we distract ourselves with”
- Options I use with rg (ripgrep)
- Links from June 2025: changing minds, Alzheimer’s drugs; copyright in favour of AI
- Learning about organ-on-a-chip devices
- Rebooting a Fiat500e
- OpenBind cannot come soon enough
- Github issue searches using NOT
- LLMs are almost as good as bespoke clinical diagnosis systems
- Octopus Cosy tariff rate names and colour coding
- Links from May 2025: copyright; Mrs Dalloway; coffee extraction; cold mice
- Exclude Metals from your Docker builds of Scala projects
- Disabling Maths Results in Apple Notes
- A short ChEMBL schema diagram
- A medical device database
- GitHub copilot PR review is useful
- Healthy ageing, chronic illness, and the immune system
- Local LLM crib sheet
- Still little consensus of the effects of booze and health, other than more is bad
- Links from April 2025: LLMs biology & “reasoning”; UK microchips; animal testing; giant starfish
- Bark beetles
- Where NHS funds are spent
- At the “Did Evolution Give Us Free Will?” event
- The life and death of Sloppy (the slow proxy)
- Interviewing patients with an AI medical prompting tool
- Links from March 2025: bird nests, booze & cancer, dementia conversation
- Earthworm castings
- Direct to consumer health care
- Making sense of Gene Expression Omnibus files
- Load testing WebSockets with k6
- Controlling PyMol with a trackpad
- Launching VisualVM on macOS
- Links from February 2025: plant memory, AI designed plants, AI scribes, procurement, Rust traits
- At “the language puzzle” talk
- What does a “1.3% hallucination rate” mean?
- On the importance of executing a leaver’s checklist
- The Thinking Game (film)
- People are entering older age with more capacity (cognitive and physical)
- How do you calculate the healthspan-lifespan gap?
- Links from January 2025: GPUs, continuity of care; prebunking; The Traitors
- Co-op games I’ve been playing
- Colourful pavements
- At the “Quantum Mind” talk
- WAVs in Apple’s Voice Memos app (macOS)
- Cost of our air source heat pump install
- Surface hoar
- The timeline of our air source heat pump install
- DNS entries for GitHub pages
- Octopus Cosy is better for us than Octopus Go (with a heat pump and EV, but no home solar or batt...
- Links from December 2024: pattern games, probability, more genes, markdown, gene activity
- There’s some shared thinking in the ageing research community
- Running Boltz-1 on AWS hardware
- A list of URLs that might be vulnerability probes
- “Should we care that AI is intrinsically incapable of worrying about us?”
- Fast molecule patent checking
- Reading a file or stdin with Rust
- Links from November 2024: animals counting; ageing, not tripping; NHS review; fireworks
- Why we age
- On the assisted dying question
- Induced proximity therapeutics
- I don’t know what the “third way of evolution” (TWE) is all about
- Drug discovery resources for software people
- One week using a local LLM (with training data of known provenance)
- At the “ligand the human proteome” talk
- “Every atom had its own punch card”
- My own tea blends
- Links from October 2024: GLP-1, dementia, components, LLMs don’t reason, CRDTs, drying weather
- Targeting “senescent cells”
- Genes, diet and lifespan (in female mice)
- Notes on running Schrödinger software (mainly on AWS)
- Non-conscious pattern learning (in humans)
- URL redirect service in Rust
- Brain-like efficient (20W) AI
- Watching for arbitrary file changes using Bacon
- LLMs likely can’t be medical devices (today)
- Test before treatment
- Comparing the time course of life and stars
- UniFFI (at Async JS meet up)
- Exporting page URLs from Hugo
- Some GPs use LLMs today for write ups and diagnosis (but most don’t)
- AlphaFold might be an exception
- Big genomes
- “Smell is having a moment”
- Mounting and formatting the right volume at Hyperstack
- State of some longevity therapies (as of mid-2024)
- Longevity data is junk
- Apple iCloud Notes export isn’t great
- “The essence of a satisfactory health service is that the rich and the poor are treated alike, th...
- Software (including AI) deployments in health tech
- Predicting balloon paths
- Ancestry at the library
- Adjustment for confounders (in statistics)
- The NHS and private treatment
- The lowest bar for health record summarisation
- Proactive body scans (a bad idea)
- Trying to get my head around BNT116 cancer vaccine
- Adding a sleep to a Rust Axum handler caused a compiler error (puzzler)
- NHS data and trust
- Research software engineering
- The unpopular view that aging needs a foundational theory
- The universal history of us (talk)
- Sackville Gardens Turing memorial
- Science replications are fun
- Comparing free and paid LLMs for health information inequality
- Non-canonical amino acids (in mice)
- Emotional contagion measured (in dogs and pigs)
- Blurring in Pixelmator Pro
- Into Eternity (how to explain the danger of a nuclear waste site to anyone around 100,000 years f...
- Longevity in the news (House of Lords, Commons)
- Friends & family consequences of assisted dying
- Alt text
- Thirty minutes with a Vision Pro
- Personalised drug screening
- Heap size negotiation for a JVM running in a container
- Visiting the crab museum (in Margate)
- Fiat 500e UCONNECT® features by package
- The news, 18 years ago
- Coding up a vector symbolic architecture example
- Digital vs biological computing energy costs
- Current state of LLMs for medical care
- Roll your own loss function
- ABBA (one week in Brighton exhibition)
- Sensitivity and specificity
- Word meaning encoding across neurons (in humans)
- Language != thought
- UUIDs (version 7)
- Antagonistic pleiotropy (AP)
- Epigenetic change is a cause of ageing (in mice)
- LLMs at 1/50th the power consumption
- Wearable ultrasound
- Pointing (humans, dogs and chimpanzee)
- Focus is perhaps what makes agents work better than single LLMs
- What happens when a nail goes into your skin
- Open source LLMs
- Pencils for voting
- Zanclean flood (5.33 million years ago)
- Why GPs use computers and hospital doctors don’t (as of 2002)
- LLMs look up and interpolate programs, they don’t reason
- Organise around tasks not business units
- Diarium schema
- Haircap moss
- Commands I use in sqlite
- Evolving programs: software is not so fragile
- Drugs discovered by AI: the state of play June 2024
- “How worried are you about this one?”
- Aneurin Bevan memorial stones
- Experience building a web app with Rust
- Randomised controlled trials and agent-based modelling
- Healthcare decisions and mental capacity
- Diffusion models and fixing catastrophic neglect
- AI physiotherapy
- Using AI to simplify medical reports
- Rust in critical environments
- Timing of constituency results in the UK general election
- Happiness rankings and age
- Nordic happiness is available to other nations
- Psychology and neuroscience applied to LLMs
- “Infinite growth on a finite planet IS possible”
- Navigating the UK healthcare system (as a technology provider)
- Cell biology by the numbers
- Modern NLP vs rating scales (PHQ, GAD) in psychology
- Examples of nice meeting and email etiquette
- Paroxysmal dyskinesia (in dogs)
- Our prejudice about ageing impacts our health
- Reverse engineering of biological complexity
- Increased longevity & social change
- Search engine alternatives
- Pronunciation: /apoptosis/ and /apotosis/
- The positives and uncertainties with the Zoe nutrition programme
- Python development set up
- Can a biologist fix a radio?
- Senescent cells: what, why and what to do about them
- The immune system and ageing (in mice)
- Commands I use in psql
- Chemical space is big. You just won’t believe how vastly, hugely, mind-bogglingly big it is
- Life changing: using CTRL+r in a terminal to search command history
- Stinging nettles: “injecting a plethora of unpleasantness into your skin like a tiny hypodermic n...
- My blogging workflow (early 2024)
- How does insulin signalling regulate longevity (in worms)?
- Two months with a Kindle Scribe
- Survivorship bias: don’t take nutrition advice from a centenarian
- Drugs discovered by AI: the state of play May 2024
- AI-powered drug discovery demands investor patience
- I think I know why I stopped blogging (and what to do about it)
- Reading and writing
- The present and future of large language models in theory & practice
- Active learning and free energy perturbation
- Publish elsewhere, syndicate (to your) own site
- Four seasons with an EV
- Our dog, Skitters
- Brighton to Scotland EV road trip stats
- Rust’s future combinators
- Tides twice a day
- Running Let’s Encrypt under Apache (on AWS)
- Quick notes on “What is Life?”
- The RSS monthly is excellent
- Fireworks and dogs
- Staying alive links
- Health: Just one thing
- Giant squid
- Server-side OpenPose with cloud GPUs
- Repeatable and resumable simulations in Rust
- Resources for learning Rust
- Emergent engineering
- Software archaeology
- Review Seq matching when porting to Scala 2.13
- Rust principles
- 1R in Rust
- Quasi-program
- Ageing hallmarks
- What are the chances?
- Combining differing error types
- Tips for using Findster
- The benefit of no legacy
- Learning about genetics and epigenetics
- NeurIPS 2019 presentations that caught my eye
- Tips for moving from tut to mdoc
- Switching to Ecotalk
- Brighton Rust: embedded systems, day 5
- Brighton Rust: Embedded systems, day 4
- Brighton Rust: Embedded systems, day 3
- Brighton Rust: Embedded systems, day 2
- Brighton Rust: Embedded systems, day 1
- Handwashing
- At the “AlphaFold: De novo protein structure prediction by deep-learning based distance predictio...
- Exploring CGP for playing Atari 2600 games
- Themes at Coed:Ethics (ethics for devs conference)
- Modelling JavaScript in Scala with Scala.js
- At the “Kotlin makes Java null and void” talk
- Alexa skills basics
- Thank you Mrs Wilson
- Headless Raspberry Pi and the Mac
- Getting into other people’s code
- Two Months with the Findster Duo
- Monetizing open source
- Day in the life of a functional programmer
- Working across timezones
- Scala and 22
- Bash tricks
- Redirects in Route53/S3
- Exoplanet safari
- Scala.js is important for cloud services
- Types working for you, not against you
- Keep
- Scala and AWS Lambda blueprints
- Using the Atom editor with Scala
- SBT tricks
- Using slickless with plain SQL
- Upsert in Slick 3
- One week with OS Maps
- Towards browser and server utopia with Scala.js
- Typechecking SQL in Slick and doobie
- Slick query enrichment
- Introducing Essential Slick
- Practices for distributed Scala
- Change reporting
- Notes from Software Architecture Fundamentals course
- Highlights of the Lift Web Framework 2.6 release
- Papertrail Logging with Lift and AWS Beanstalk
- Code Review at Scala eXchange
- Distributed Comet with Lift and Amazon SNS
- Closed gardens: (don’t repeat my mistakes)
- Updated Google Analytics Lift module for EU cookie law
- Lift Cookbook: an introduction
- Reading on the iPad
- Introducing ReminderThing.com
- External Lift modules
- IMAP Idle release (for Lift)
- Review of “Functional Programming for Java Developers”
- Adding machine learning to a web app
- Privacy regulations and JSESSIONID (and the like)
- Functional Brighton: “What functional programming means to me”
- Jane on the radio: the photos
- Option(null) is None
- A review of “25 Recipes for Getting Started with R”
- Using Sendgrid with Lift
- How the Guardian (mostly) moved from Java to Scala
- SBT builds with Hudson
- A review of “CouchDB: The Definitive Guide”
- Intro to the Simple Build Tool at LSU
- Screencast: using Lifty
- Creating graphs in Lift
- Databinder Dispatch discussions at Scala Lift off London
- If you like web MVC you’ll probably like the Play web framework
- Scala Lift Off London, 7-8 Oct 2010
- Receive & respond to SMS
- Travel apps we used
- Creating a executable script from a Maven project
- Please stop commenting your code
- Databinder Dispatch for HTTP services
- In praise of flatMap
- Shell aliases for Lift development
- Slides and video from “Getting Started with Lift”
- In Hunter Valley
- Running SBT (or any shell command) from Eclipse
- The Secret Life of the Dog
- London Java Community Unconference 1
- Great functional programming lectures
- Setting the character encoding in Scala
- The Scala REPL is great for Java developers too
- Using an existing Scala + Maven project in Eclipse
- Still loving the Scala
- Energy Information
- Gates vs. Jobs
- Scala & Wicket London meet up
- Four Scala books
- The “Hull City Problem” in Scala
- Jane on the radio
- Augmented reality at £5 app Xmas special
- British Isles Euler Diagram
- Brighton Scala User Group
- Personal finance software
- Graphs
- FOWA 2008 London
- Wattson
- Walking in London
- Tracking down threading issues
- GGUG meeting
- Scala London coding dojo
- Comparing closures in Java, Groovy and Scala
- Geek heritage needs saving
- Mobile Monday: Monetisation through Advertising
- Festival so far
- Old Bailey
- Science ‘Open Notebook’
- Decrypting JetS3t files
- Glenn on the history of his company
- i360
- TED iTunes feed
- QuickTime for Java
- A month at The Werks
- Getting started with Scala
- Economist audio edition
- Big food
- Android developer workshop
- Final Cut December
- Silverlight
- Assisted dying
- Future of Mobile 2007
- Humanism
- Watching production logs
- Barcamp Brighton 2007
- A comment on static typing
- Java caching APIs
- SpaceNavigator PE
- Comments for logging
- Google Developer Day 2007
- Google London Open Source Jam 3
- TV
- JavaOne 2007
- “the planet is doomed to die”
- The MOO people put on a great party
- Back in San Francisco
- Container services
- 2600
- TiVo crash
- Microformats
- Wii is good
- Upstairs at the Branch Tavern
- Mac OS 10.4, Apache, Subversion
- OpenStreetMap
- Generics in comments
- Next Net meetup
- UTF-7
- Academics don’t drink enough?
- Annotations
- Symbian Smartphone Show
- Perfect TV (BBC)
- Google LTAC
- Open Source Java ME
- Vendor JAM
- Jerry Springer the opera
- NetBeans, Mobility, Mac
- Nokia N70
- Jini, JavaSpaces, JXTA
- Brighton The Musical
- Thank you, stranger at Brekenridge
- JavaUK06
- In Colorado
- Tagging
- JasperReports, JFreeChart, JExcelAPI
- Brains as peacock’s tails
- Mobile TV
- Device fragmentation and Java
- d.Construct 2005
- SiteMesh
- Logica and Hatters
- Porthcurno Telegraph Museum
- OpenAMF
- Messaging at the BBC
- To code or not to code
- How to get to Manchester
- Back from San Francisco
- Cafe Sci on Flow
- World facts
- Cobertura
- JavaOne 2005
- Sleepycat: Berkeley DB Java Edition
- Common Development and Distribution License
- Amazon Simple Queue Service
- Sony Ericsson V800
- Persistence options
- The t-shirt folding video
- Tagging along with Dave to a DP gig
- Medieval history
- Cambridge Footlights
- Making software development a little bit more reliable
- Beagle 2 updates
- Switching to MacOS X
- Unit testing database code: notes from the JUnit mailing list
- Notes from JavaOne 2003
- DTDs and XML Catalogs
- Punch: a MIDP punch clock application
- Salmon of Doubt
- Web Start and code signing
- Outsourced component development
- RedHat 7.1 USB ADSL set up
- Leaving New Scientist
- Unit testing database code
- Palm essentials