Philip Potter

  • Dadding, season 2 episode 2: coronavirus wtf

    Posted on 23 March 2020

    9 months ago, I didn’t anticipate that my dad notes would coincide with a pandemic.

    Last time, I wrote about the birth of my second child, Robin. I didn’t mention COVID-19 but I can’t avoid the topic now. The first direct impact the virus had on our lives was the hospital appointment for newborn checks I mentioned last time: the day we were due to go there, Southwark News reported that two COVID-19 cases had been identified at the hospital. We were left to make a decision about whether it was safer to see the midwife (who had a cough) or go to the hospital.

    Note: I do not plan to be pedantically correct with my use of “COVID-19” or “coronavirus”; in particular, I will use these terms when “SARS-CoV-2” might be more correct. Don’t email me.

    Newborn checklist

    Since then, we managed to get all the immediate newborn things done. There’s quite a list of things you need to do with a newborn:

    It was a real blessing that we had a homebirth here, because you need to register the birth in the registration district where the baby was born, and home is in Southwark while hospital is in Lambeth. We live 2 minutes’ walk from Southwark register office, but would need to get a bus or taxi to Lambeth. It’s hard enough to travel with a newborn and a recovering mother at any time, but the spread of coronavirus would have made us even more concerned. Did I mention there’s a time limit and you have to register the birth within 42 days? As I say, I’m glad we were able to use the local register office and get it done.

    When booking the hearing screening, we mentioned our concern about social contact to the person taking the booking, and they said “it’s okay, you can do it any time in the first 3 months”. This did not reassure us. However once again we were fortunate because the screening centre was 2 minute’s walk from our house.

    But we’ve got through our checklist. We don’t have to do anything more until the 6-8 week check for baby and mum and first round of vaccinations at 8, 12 and 16 weeks; though these could well be disrupted by the pandemic.

    The shopping

    As London people reading right now will know, but people reading from further afield or from in the future may not realise, the shops have gone a bit crazy with the pandemic. This has affected us in a couple of ways: first, we ran low (though we never actually ran out) of essentials like soap, nappies, and wipes, and second, we get our weekly shop delivered rather than going to a supermarket ourselves, and it has gone from a 1- or 2-day wait for a delivery slot to a 3-week wait. There is guidance to shop in person where possible to free up delivery slots for vulnerable people (such as older people or people with conditions such as asthma or diabetes). This would be nontrivial for us because we don’t have a car and we’re not close to a big supermarket, and our local shops have been running out of stuff.

    However, we have been fine. We never actually ran out of anything essential, and we live in a good community where neighbours have been offering to get extra things from the shops when they go in their cars. I’ve been able to pick up nappies here and there when I spot them on the shelves (I take one pack at a time on principle at the moment). I am also in the habit of maintaining a stock of bread flour for our breadmaker so we will be okay for a while.

    Social distancing and nursery closure

    Around week 2, it became clear (to us at least) that the coronavirus was spreading in the UK and in Southwark specifically. We were already washing hands and, as parents of a newborn, were pretty socially isolated anyway; private sector employers that could were requiring workers to work from home, followed by the government issuing guidelines and public sector workers working from home.

    Sonia’s parents had already returned home. They were worried about coronavirus and got themselves back home to Scotland before the disease really took hold in London, so we were left looking after a newborn and a three-year-old on our own.

    On Wednesday, we learned that nurseries were going to close from the following week. This was a scary thought for us - both because it added yet more weight to the scale of the public health crisis, and because we had to think about looking after both kids full time – a newborn is hard enough! At least I’m on shared parental leave, unlike many of my friends and colleagues who suddenly find themselves having to work from home and look after children simultaneously.

    Friday was to be Luke’s last day at nursery, but he had a snotty nose and Sonia and I both had sore throats. Under normal circumstances, we would have sent him to nursery – toddlers have snotty noses about 50% of the time in winter anyway – but we were cautious and kept him home, which meant he (and we) were unable to say goodbye to his friends and to the nursery staff.

    My sore throat symptoms got worse and by dinner time I felt so nauseous I was unable to be in the kitchen because I felt the cooking smells would make me sick. This left poor Sonia to simultaneously cook, breastfeed, and watch a three-year-old, while ill herself. She was in tears by the end of the evening, and we were both wondering how we would cope.

    On Saturday, though, we felt a lot better, and the sun was shining. The government advice was to self-isolate if anyone in the house had a temperature or a new continuous cough - and that didn’t apply to us, so we decided to go out. We were aware of the advice to keep a social distance: even when going out, keep at least 2m from other people.

    I thought that I’d take Luke to the local park and try to teach him to ride his pedal bike that he got for his birthday. This would be something we could do which didn’t involve going in the play area and touching lots of surfaces that other children had touched.

    Once we were in the park, we saw a few of our neighbours who had children of their own. It was so nice, especially after the low point of the previous evening, to have social contact with people again. We also know how much good it does Luke to be outside. It’s very important for his development to get lots of exercise and to socialise with other children. However, while adults are pretty capable of keeping a 2m distance in a big open green space, children are much less so capable. We have told Luke about the coronavirus, and about germs more generally and how they transmit, but when he sees another child he knows with a toy, he still wants to play with it, and in the moment, it was hard to tell him not to. Also, it was hard to keep him out of the play area when other children were there using it. In the end, I’m slightly ashamed to admit we went in the play area, against my initial judgement, because there was another neighbour there I wanted to catch up with, and I was so enjoying the social contact. Although we felt refreshed after the park trip, we also left wondering if we had been too lax and if we need to think carefully about what rules we set for Luke and ourselves and how we enforce them.

    On Sunday, I decided to avoid the park entirely, to avoid temptation. I decided to take Luke for a ride on his balance bike (the pedal bike is still a bit beyond him) and we’d go somewhere and look at trains. He did well, although as a new and unfamiliar trip he was uncertain, confused and nervous, and got easily upset. But I think it’s important to think about how we can responsibly exercise Luke and get him outside, and if we repeat this routine it should become more familiar and comfortable to him. Late on Sunday, the leader of Southwark Council announced that all play areas would be locked from midnight that night, which thankfully made a decision for us.

    This morning, we used Zoom to do a video call with Luke’s nursery friends. We tried to recreate the start of the day that they have at nursery, which they call “circle time”. We had songs: their welcome song, the wheels on the bus, heads, shoulders knees and toes. Then parents took turn to read stories to the call. It was a bit ropey, feeling a bit adrift at times, but overall for something that had been self-organised pretty quickly by people who don’t normally do this, it went pretty well! We spent the rest of the morning in the garden playing with megablox. In the afternoon, we had a one-on-one facetime with another nursery friend to paint a rainbow (there is a phenomenon of children painting rainbows and putting them in their windows so we were joining this bandwagon). We had another walk to the park, and Luke is internalising our rules about not touching other children, even children he knows. We explored less-well-travelled parts of the park, that we (and others) spent less time in, to help maintain a distance from others. As promised, the play area was padlocked shut. Sonia had a nerve pain headache all day so was out of action, but thankfully I was in good enough health to be chief parent of Luke (if not of Robin, who needs frequent breastfeeding).

    Robin’s progress

    I showed a draft of this to Sonia and she pointed out I hadn’t written about Robin very much. This is true and I suppose it’s for two reasons: one is that I’ve been much more focussed on Luke, our 3-year-old, while she’s been much more focussed on Robin. This is pretty necessary as she is breastfeeding him and so has to be near him for much of the day. The other reason I haven’t talked much about Robin is that he’s been doing really well, and there hasn’t been much difficulty to talk about regarding him.

    The nights have been really good (as far as sleeping with a newborn can be described as “good”). Robin often wakes up only twice in the night, which is pretty good. He has been feeding well - he had regained his birth weight and then some by day 10 and, although we don’t regularly weigh him, we can see he is filling out. He is generally quite a content baby. He has occasional cluster feeds where he can be quite demanding, and these tend to happen in the evenings just when Luke is also tiring and becoming difficult to manage and needs bath and bed, which means the evenings as a whole can be a difficult time.

    Sonia and I have discussed the issue of me spending more time with Luke and her with Robin. We’ve acknowledged it’s a thing and note that there is a risk of entrenching these connections longer term, so we’ve also been trying to notice opportunities to swap over. For example, I’ve been on a few walks taking Robin with me in the sling, and Sonia’s done a few bedtime stories with Luke. Hopefully as feeding becomes more regular and less frequent, we can rebalance how much we care for each of our children.

  • Dadding, season 2: the first few days

    Posted on 18 March 2020

    It’s time for season 2 of my dad notes. I recently had my second child and I’m on paternity leave. So I thought I’d jot down some notes of my experiences again.

    This isn’t a full week, it’s just a few days, but they were an incredibly intense few days.

    The birth

    I got a call at work from my wife, Sonia, at lunchtime. She was feeling contractions, but she had felt them before and they had gone away again. It’s surprisingly difficult to know if you are genuinely in labour. But my work is very flexible, so I was able to just go home and work from home.

    I went to pick up my eldest, Luke, from nursery at 5pm. We decided to leave him with a neighbour, just in case. When I got home from the neighbour’s, I’d been away maybe 50 minutes and Sonia had clearly progressed. She showed me the timings of contractions that she’d measured on her phone, and I called the midwife immediately.

    We had planned a home birth, so various people came to our house. We had a lovely team – two midwives, a student midwife, a doula, and my mother-in-law. My mother-in-law was an excellent host: she cooked a nice dinner for everyone downstairs while Sonia and I were in our cocoon upstairs labouring and preparing for birth. We could hear the happy noises of a dinner party while we just sat together and hugged and focussed on our love for each other. Sonia was in a really good mental state. She used hypnobirthing and mindfulness techniques to get into a calm mental state; it was her second time going through the experience of childbirth; and we didn’t have to worry about getting to the hospital (a significant source of stress from first time round).

    As the evening progressed, the contractions got more and more intense. Her meditative composure had been gradually but entirely replaced by an animal instinct. Soon it was time to push the baby out. Even I got physically involved, supporting her body weight to help her get one leg up to give the baby more room. Our beautiful baby arrived at 9.06pm and was passed to mum for his first cuddle. It was an incredibly special experience to be with Sonia through this.

    However, even though this was the climactic moment after 9 months, it was by no means the end. Once the baby came out, he was quite blue in the face and took some stimulation to get him to cry. He had a low-ish 1-minute Apgar score and, even though this had improved by 5 minutes, we were concerned. Sonia still had the third stage of labour to go through (ie delivering the placenta).

    We decided to go to hospital to get the baby checked out. We had pre-packed hospital bags for Sonia and baby, and I threw some things together for myself, and we got in the ambulance and headed over. The paediatrician wasn’t overly concerned, but recommended we stay for a few hours of observations, which effectively meant an overnight stay.

    Day 2

    So we stayed the night in hospital. I think Sonia and I got an hour of sleep in total between us that night. Sonia had the bed – I had to make do with a blow-up camping mattress. But baby had been fine overnight and so we were free to go home.

    The baby (we still hadn’t decided on a name) was very hungry that day. It seems a bizarre design, but mother’s breastmilk doesn’t “come in” until baby has been trying to feed for some time. There is small amounts of colostrum before that point but basically there isn’t enough food for the baby. Newborns generally lose quite a bit of their birthweight during this time.

    In our case, our baby was clearly desperately hungry and kept feeding for an incredibly long time. This caused Sonia significant pain and discomfort but it did help her milk to come in in the following days.

    We still had to come up with a name. We decided we wanted a name before Luke, our eldest, met him, which meant before Luke got back from nursery. In the end, we chose the name Robin.

    We gave Luke a present “from Robin” to make the first impression easier. So far, Luke seems proud to tell other people that he’s a big brother but mostly continues as he was ignoring Robin’s existence. I call that success.

    The birthday

    Through poor planning on our part, day 3 of our baby’s life was also his big brother’s third birthday. Thankfully, it was the day of the week he spends with his nanny, who took him for a special trip to the Science Museum. He had a great time there.

    Meanwhile, we had to do our newborn checks for Robin. The plan was for a community midwife to do them at our home, but the midwife was ill, so we had to go into hospital (again) to get them done.

    It’s hard to communicate just how difficult a trip to hospital and back was for us in those early days. We hadn’t slept, Sonia had just given birth 36 hours beforehand and definitely wasn’t “recovered” – she couldn’t walk further than a few tens of metres without significant pain and discomfort – the baby was still hungry because her milk hadn’t come in, and in this semi-conscious battle-worn state we had to get our baby into a taxi and out the other side, then find the right ward in hospital to have his checks done.

    We went home and tried to get some proper sleep. But Robin woke us every 2–3 hours, as newborns do.

    My father-in-law also arrived on this day, giving us some extra practical support so we didn’t have to worry about cooking/washing up/cleaning/laundry.

    In summary

    Birth is an incredible experience, but it is also exhausting. Then, having gone through it, there’s no respite: the hours, days and week after birth are also exhausting. We couldn’t have got through it without wonderful support from lots of lovely people.

  • Dadding, back at work

    Posted on 06 May 2018

    Previously, on Phil’s dad weeknotes..

    I returned to work from my 14 weeks Shared Parental Leave on 6th March. I stopped doing dad weeknotes after I returned to work, but I thought it was worth another update, because there are things worth writing about in Luke’s development and in my return to work.

    The new routine

    To be honest, it’s been a bit of a bumpy reentry, in terms of working out a new routine that works for my work, my wife Sonia’s work, and Luke’s childcare. On top of that, nursery has been the expected melting pot of pathogens, and we all got a pretty horrible viral infection (I was affected for about 4 weeks, and had 2-3 weeks total time off work as a result). But we’re just about getting settled into a routine that works.

    Luke is in nursery 4 days a week (every day except Wednesday), 9am to 5pm. Every morning, we need to get him out of bed, change his nappy, prepare his breakfast, give him breakfast, get him dressed, and supervise him enough while he plays. At the same time, we have to get ourselves showered, dressed, teeth cleaned, and sometimes shaved, hair washed and dried. Every evening, we need to pick up Luke, take him home, prepare his dinner, give him dinner, give him his bath and brush his teeth, read him stories, and put him to bed.

    My work is flexible enough that I can arrive late or leave early in order to do drop off or pick up, but I still need to put in the hours. So if I need to leave at 4.15pm to get to nursery in time, I need to be at work well before 9. And if I arrive at 9.45pm having done drop off, I stay in til 6pm.

    We have struggled with a particularly gnarly hazard that if we don’t explicitly talk about things, we both end up assuming that Sonia will get involved and pick up the slack. There are at least two reasons for this: one is around overfunctioning versus underfunctioning (and there are definite gender issues here, too), and the other is the practical fact that Sonia works from home, so if I’m doing drop off or pick up, she’s still around to help with breakfast or dinner. This isn’t entirely one-way, either: I find it difficult to leave early in the morning when there’s still breakfast things to clear away, washing up to do,

    We took each week as it came, made plans around who does pick up and who does drop off, and chatted at the end of each week to see how things had gone, what went well and what could be improved.

    Some of the things we have learned after painful experience are:

    • it’s very important to keep talking about things, especially while the routine is still forming
    • we need to have clear expectations about who is lead parent, and when the other parent is around but has work responsibilities and therefore can’t help
    • having dinner options for Luke that can be prepared in a short time with minimal effort takes up-front planning and effort

    This week, Sonia had a business trip to Scotland from Tuesday to Thursday, so I had to do Tuesday pick up, Wednesday looking after Luke all day, and Thursday drop off, all alone. That really helped me build my confidence that I can do the morning and evening routines on my own, and helped me to see all the things Sonia had previously been getting involved in that she maybe didn’t need to.

    Walking

    Luke is now walking! He had been cruising (walking while holding on to the furniture) for some months, then a couple of weeks ago he took his first freestanding steps. There were a few days of taking 3-4 steps and collapsing on his bum, but pretty soon he was taking longer walks, and even squatting down to pick things up and standing back up again. He’s now very confident walking everywhere, and we rarely see him crawl at all any more.

    I had worried that walking would make him even harder to supervise when playing, but it’s actually been more mixed. When he started crawling, we needed to babyproof much more, such as moving things out of his reach. We needed to do a bit more of that for walking, since he can reach a bit higher now.

    But one thing I didn’t anticipate is how taking Luke to the park is much less effort and more reward now that Luke is walking. When he was crawling, he would be much closer to the ground, and he would find things there that he’d put in his mouth. I have horrible memories of trying to fish a cigarette butt out of his mouth that he’d found and immediately put in there. Now he’s walking, he does much less of that, and he can engage with the actual play equipment much more. So where previously I’d have to keep a very close eye, and perhaps take him from one piece of play equipment to another, now I just let him walk where he fancies and slowly stroll round behind him.

    Another thing about walking is that he can now get from one place to another while carrying an object. He showed us this by stealing another boy’s ball when we were at the park and walking around carrying it. So we’ve got him his own ball, and now he loves picking it up, throwing it, and chasing after it. He has such a big grin on his face when he has his ball, and it’s clearly such great exercise for him. He’s not just practising his walking, he’s also practising squatting, balancing while his hands are full, and kicking a ball.

    The loveliest part of this is that he now he can rake around his collection of books, choose one, and bring it to me to read to him. Walking means that he is in control of which books we read, instead of me picking for him. I hadn’t appreciated how walking would change the dynamic of so many of our interactions!

  • Keep database deploys separate

    Posted on 04 April 2018

    Context

    A while ago, I tweeted that you shouldn’t deploy database migrations at the same time as your app code. I thought I’d write something about why I feel this way, and the situations where I feel strongest about this.

    This post has the structure of an Architecture Decision Record, because context matters. I think ADRs are an excellent way to force you to think about the context in which you make a decision, and I’m hoping to use the format to think about the context in which my recommendation applies.

    The team that this recommendation applies most to has the following things going on:

    1. You are building a user-facing application, quite probably a web app for consumption by a browser or mobile native application.
    2. You have enough users that, whenever you deploy, most likely someone is using the app. Therefore, you employ techniques to deploy your app with zero downtime, such as deploying one app server at a time rather than all at once.
    3. You deploy your app multiple times a week (possibly even multiple times a day).
    4. You don’t have maintenance windows (for deployments or otherwise).

    Many teams, having read the Continuous Delivery book, will set up an automated deployment pipeline to ensure there is a clear, repeatable path for incremental code changes to go through various testing stages and end up in production. As part of this, they are probably using a database migration tool (such as liquibase or active record migrations) so that the database schema and data structure can be incrementally updated as the application is worked on. And in the final step of the deployment pipeline, the latest code and migrations are deployed to production in a single deployment stage.

    I anticipate problems with this setup.

    The main issue is that database migrations are inherently riskier types of change than code changes. Problems with database migrations might only show up when you deploy to production, for a number of reasons.

    A migration’s success is contingent on what data existed in the database previously. Development databases are often routinely emptied out between tests. You can trivially add a column with a constraint to an empty table, but a single record will cause the migration to fail. More complex migrations involving rewriting data from one form to another (string to int, or int to date) might fail on corner cases that only show up in “real world” data. More mundanely, a database migration might perform a lot of updates all at once, suddenly filling up a disk.

    Another problem with a production (or production-like) environment, that often doesn’t appear in development environments, is that you will at some point end up with an active user hitting a new version of your app while the old version of the database schema is still active (or vice versa). You are doing deployments in a way that avoids downtime, and whichever way you do it, you will have concurrent active requests hitting old and new code. Development and testing environments often don’t cover this case, because tests are run between deploys rather than during them, and so code is often not tested for schema backwards- or forwards-compatibility. In an environment where developers don’t see the hazards with creating commits which atomically change code and schema, they will do so, causing problems only when people try to use the system during a deploy.

    A final issue is that database changes are much harder to back out than code changes. There’s often no “reverse” migration script available. Even if you have written code to reverse the migration, you might not trust it, especially if there was a problem with the forward migration script. Even if the reverse migration was automatically generated, you might have irrevocably lost data already. (This is not an absolute rule: code changes can also lose data; but their risk profile is lower. It’s easier to lose data on a mass scale with an UPDATE IN statement than in a simple web request handler.)

    Decision

    We will not deploy database changes in the same step as code changes.

    This means that a single deploy pipeline stage should not deploy both code and data without a manual trigger in between the two. Each deploy should be smoke tested, to test that a code change without a data change doesn’t break anything, and similarly a data change without a code change also doesn’t change anything.

    This setup means that every step of the deployment process is verifying the backwards- and forwards-compatibility of your code against your database schema.

    There are a number of ways of achieving this. One simple change you could do is change your deployment steps to deploy code or migrations, based on a parameter in the build. I have seen this work successfully for GOV.UK’s deployments – their deployment step template has a parameter for code or migrations.

    Another way would be to have totally separate deployment pipelines for code and migrations. To the code deployment pipeline, the database becomes an external dependency (like any third-party service). Then database deployments can be explicitly scheduled on a slower cadence, such as weekly. John Allspaw has described this approach at etsy and flickr (see below).

    A very low-tech way to do this would be simply to have a convention that releases can either contain database changes or code changes, but not both, and rely on code review or release management to catch contraventions.

    Note that there are several things that are important to keep, even as we separate out code and database deployments:

    • database schemas should be built from a source-controlled definition, not hand-crafted
    • database schemas should be managed using a migration tool
    • database schemas should be deployed using a deployment pipeline, testing changes first in development and testing environments before being run in production

    Consequences

    Developers will have to adapt to this environment, and understand both that database changes are considered riskier, and that if they want to introduce database changes, they will have to consider how to orchestrate the rollout. A typical scenario would involve three steps: first, release a new app which can support the new schema when it arrives; second, deploy the database migration; third, release a new app that removes the old code for compatibility with the old schema.

    This is what developers should be doing anyway, because otherwise their code will cause problems for users when deployed to production. However in practice they either don’t do this phased rollout, or they sometimes forget. Under the new system, if they don’t write forwards-compatible code changes, their code deployments will fail smoke tests. As a result, there should be fewer instances of failures in production due to mismatched code and schema versions.

    Database changes will become more expensive to push through the pipeline. This is by design, but it does mean that there is a risk of perverse behaviour such as writing fixes in code because it’s easier, when a fix in the database would be more correct.

    This change will not fix everything about database migration riskiness. Trying to update every record in a large table to add a new column will still be slow and fraught.

    A brief survey of other people’s views

    I think it’s worth reviewing other people’s thoughts and experiences here too. Many smart people seem to disagree with me, including the Continuous Delivery authors.

    InfoQ recently published an article about including database migrations in the deployment pipeline, although I actually agree with most of the points they make: database schemas should be defined in source-controlled code, using a migration tool, and deployed as part of a pipeline. The schema should be defined by the application team, not a separate DBA team. The benefits of automation are incontrovertible. The only thing I disagree on is that code and database changes should not be deployed in the same automated step.

    On the flip side, John Allspaw has tweeted: Decoupling schema changes from deployment of the code making use of those changes had huge advantages at Etsy. He has spoken about this in this interview by Jez Humble. People ask him “if you deploy 50 times a day, how do you change the database 50 times a day?” and his answer is “well, you don’t”. At flickr, they had a window every other Tuesday to do database changes.

  • Dad Weeknotes, volume 7

    Posted on 25 February 2018

    Previously, on Phil’s dad weeknotes..

    Planning for return to work

    It feels like I only just started these notes but it will soon be time for them to end (as we know them at least): I only have a week and a half before returning to work. I’ve really enjoyed and valued the time I’ve had caring for Luke and it’s going to be a hard adjustment to go back to full-time work and not see nearly so much of him.

    Sonia and I have had some conversations about the new routine. One practical thing we have had to address is that the nursery doesn’t have enough space during March – Luke will be in for 3 days a week but we wanted 4 – so we need to work out how we will care for Luke in that month. Thankfully, I have plenty of annual leave left so I can take some leave to care for Luke on some of those extra days.

    We have tried to replan Luke’s morning routine. The current routine we’re in means that Sonia often doesn’t start work til around 9.30, because she has to look after Luke while I have my shower, and she has her shower afterwards. This has been okay for the moment but isn’t really sustainable.

    We have also had some difficult conversations about hazards that Sonia anticipates. One is that, with Sonia working from home, it may well fall to her by default to ensure Luke’s dinner is ready for him when he gets home from nursery.

    It’s important for us to keep talking about this. We won’t come up with the perfect plan on day one of me going back to work, but we can reflect on what works and what doesn’t and iterate our routine so that it works for all three of us, without placing unfair burden on anyone.

    Language development

    Luke has definitely shown some signs of developing language. He has already been babbling for some time, but recently he has started to seem more deliberate in his use of sounds. When I go and get him up in the morning, he says “Dad! Dad Dad Dad Dad Daaaad” with a variety of tones and inflections. This is exciting, but my feelings of pride are tempered somewhat because this week he has also said “Dad” when looking at: his mum, his granddad, and a piece of cucumber.

    One thing that is far more clear is that he is starting to recognise things that we say and respond appropriately. During mealtimes, Luke often focuses on his food and forgets to drink his water. When I say “have a drink, Luke”, though, he knows to pick up his cup and (hopefully) have a drink from it, or (all too often) see what sound it makes when he bangs it on the table, or turn it upside down and dribble the water out. We have some books which have a common item on each page (such as “That’s Not My Snowman” which has a mouse on each page, or “This Little Dinosaur” which has a ladybird, or “Wow! Said The Owl” which has an owl), and Luke has learned to go hunting for it when we say “Where’s the mouse, Luke?” or “Where’s the owl, Luke?”.

    Milk ladder

    As mentioned last week, we’ve started on the milk ladder. He’s done very well with the biscuits baked by grandma, and so we moved on to muffins. I baked some carrot and dairy-free cheese muffins (made with a specific amount of milk) and he has been having half a muffin and some biscuits with his breakfast over the past few days. So far, we haven’t seen any definite reaction, so this is really good news.

    Luke continues to drink some coconut milk, though not as much as we would like. He had about 40ml of coconut milk this morning, which isn’t too bad, and is far more than the oat milk we were trying before.

    Supporting mum’s work trip

    Luke’s mum Sonia returned to work at the start of January, and this week she needed to be in St Andrews in Scotland for some work meetings. Since Luke is still breastfeeding, this is somewhat complicated. We considered a few options for how I might look after Luke in London while Sonia went to St Andrews: I could substitute with formula while she was away, or Sonia could express breast milk and store it up in the freezer. However, as mentioned in previous weeks, we haven’t found a dairy-free (or extensively-hydrolysed) formula that Luke will reliably drink. We have also had significant spoilage problems with freezing breast milk – often half of the batches I defrosted would have gone foul in some way.

    As a result, by far the easiest option was for us all to travel to St Andrews. I’m still on Shared Parental Leave, after all, so I have nothing tying me to London, and if we all go then Sonia can continue to breastfeed Luke in the morning and evening and do her work stuff during the day. We can also stay with Sonia’s parents who can provide additional support with cooking, cleaning, and cuddles.

    In other house-husbanding news, I very much enjoyed sewing some buttons on to mine and Sonia’s coats while watching Star Trek Discovery.

    Nursery

    Luke missed his usual full-time days at nursery on Thursday and Friday, but I was able to take him in to nursery for an hour on Monday and Tuesday. There were 3 parents with babies in on Monday, which was slightly more than the nursery had chairs for, so on Tuesday they asked us to come in at staggered times. This meant I brought Luke in in the afternoon instead, which is something I’ve never done before. Normally I take him in for an hour or two between 9 and 11, but on Tuesday it was 2.30 to 3.30.

    It was almost like Luke was a different baby! When I take him in around 9, he usually stays very close to me, and even if he crawls off to explore or to play with a toy he’s spotted, he frequently checks to see I’m still there and still looking at him. But on Tuesday, he was off, crawling quite far away, to places which were almost out of sight, not looking back nearly as frequently.

    It’s hard to know exactly what your own baby is like at nursery when you’re not there, when all you have to go on is how they are when you drop them off or pick them up. I worry about Luke, but this made me worry a little bit less.

    With the work trip to St Andrews, it means Luke is going to have quite a long break from nursery. We’re bracing for re-entry when we take Luke back. It’s probably going to take him some getting used to again.

    Quaker meeting

    On Thursday I took Luke to his first Quaker meeting, in [[http://www.quakerscotland.org/st-andrews][St Andrews]. It was a small meeting, with just 9 people (including Luke) and a dog. Luke behaved himself pretty well. I kept him strapped in his pushchair, and he sat and chatted away to himself. It wasn’t the most silent Quaker meeting I’ve been to, but I think people appreciated Luke’s presence anyway. The dog (called Gunnar) also made his presence known, occasionally walking around and making friends with those present.

    Two of the attenders were students who were attending a meeting for the first time. The welcomer, who had given them a brief introduction to the Quakers and a copy of Advices & Queries beforehand, explained to the students afterward that she hadn’t been to a meeting quite like that before either! 8 adults, a baby and a dog does make for a unique Quaker meeting experience.