<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
  <title>Weblog</title>
	<subtitle></subtitle>
	<link href="https://nickramsbottom.com/feed.xml" rel="self"/>
	<link href="https://nickramsbottom.com/"/>
	
	<updated>2025-11-16T19:43:52Z</updated>
	
	<id>https://nickramsbottom.com</id>
	<author>
  <name>Nick Ramsbottom</name>
  <email>hi@nickramsbottom.com</email>
	</author>
	
  
  <entry>
    <title>Week 27: wait longer before laughing</title>
    <link href="https://nickramsbottom.com/posts/week-27-wait-longer-before-laughing/"/>
    <updated>2025-11-16T19:43:52Z</updated>
    <id>https://nickramsbottom.com/posts/week-27-wait-longer-before-laughing/</id>
    <content type="html"><![CDATA[
      <p>Rosie the dog got stoned. Full on, high as a kite, <a href="https://www.youtube.com/watch?v=K5lV-Ry9-tU">Will from The Inbetweeners</a> stoned.</p>
<p>I learnt several things from this episode:</p>
<ul>
<li>wait longer before laughing</li>
<li>symptoms are similar to humans</li>
<li>it's very common, at least in the part of London I live in</li>
<li>dogs can overdose on weed</li>
</ul>
<p>A night of waking up every two hours to jog her metabolism and the dog is fine.</p>

    ]]></content>
  </entry>
	
  
  <entry>
    <title>Week 26: yellow</title>
    <link href="https://nickramsbottom.com/posts/week-26-yellow/"/>
    <updated>2024-09-09T06:30:52Z</updated>
    <id>https://nickramsbottom.com/posts/week-26-yellow/</id>
    <content type="html"><![CDATA[
      <ul>
<li>
<p>The chimney breast in our lounge is painted yellow. Megan hates the colour but it's usually the first thing people comment on, and complement, when visiting the house.</p>
</li>
<li>
<p>We just bought a picture to hang above the fire which we had hoped would go with a potential blue or lilac sort of colour. It brings the yellow and the colour of the fireplace together perfectly.</p>
</li>
<li>
<p>I also like the yellow and find all of this very entertaining.</p>
</li>
<li>
<p>The dog has a new bag to go in. I cycle her to and from Brixton in it fairly frequently, Rosie is very popular with people on buses and e-bike riders at traffic lights.</p>
<p><img src="/images/rosie-box-hill-sept-24.jpeg" alt="A picture of a ginger dog next to a bench made out of tree trunks. The dog is wet and a bit muddy." title="Rosie the mud gremlin"></p>
</li>
</ul>

    ]]></content>
  </entry>
	
  
  <entry>
    <title>Week 25: No one cares what your name is</title>
    <link href="https://nickramsbottom.com/posts/week-25-no-one-cares-what-your-name-is/"/>
    <updated>2024-06-02T20:48:41Z</updated>
    <id>https://nickramsbottom.com/posts/week-25-no-one-cares-what-your-name-is/</id>
    <content type="html"><![CDATA[
      <p>There is a whole dog owner social etiquette that I'm getting used to. So far I have learnt that:</p>
<ul>
<li>
<p>No one cares what your name is and we all remember the name of our dogs. I told someone my name by accident and was corrected on this.</p>
</li>
<li>
<p>You must find out whether a dog is good with puppies or not before approaching.</p>
<ul>
<li>Upon discovering a dog is not good with puppies running away is not recommended.</li>
</ul>
</li>
<li>
<p>Every now and then someone will blank you so completely you'll wonder whether you exist.</p>
</li>
<li>
<p>It is assumed that if you're a couple with a dog you're married.</p>
</li>
</ul>
<p>We bought a dog backpack.</p>
<p><img src="/images/dog-backpack.jpeg" alt="A picture of a puppy in a rucksack being carried by a man (me!). It is raining."></p>
<p>First Scrubs watch through in a while has begun, it's great still finding jokes that I've missed the first hundred times I watched it. Ted's band is still a highlight, <a href="https://www.youtube.com/watch?v=b5do8uZo2Jk">this is their best song by far</a>.</p>
<p>I went to the Oval to watch England's final T20 game before the World Cup. Mark Wood and Jofra Archer are different gravy. The pace is unbelieveable.</p>
<p>I have declared unread email bankruptcy.</p>

    ]]></content>
  </entry>
	
  
  <entry>
    <title>Week 24: the shipping forecast</title>
    <link href="https://nickramsbottom.com/posts/week-24-the-shipping-forecast/"/>
    <updated>2024-05-28T04:44:18Z</updated>
    <id>https://nickramsbottom.com/posts/week-24-the-shipping-forecast/</id>
    <content type="html"><![CDATA[
      <p>It's remarkable that the latest version of the Sonos mobile apps has been allowed into production. The reviews on the app stores, <a href="https://www.reddit.com/r/sonos/comments/1d22z8e/at_a_loss_for_words/">Reddit</a>, and <a href="https://twitter.com/search?q=sonos">Twitter</a> are spectacularly bad.</p>
<p>The biggest problem I'm having is needing to play sound in a specific room then move it to the devices I want once I've hit play. This would be tolerable if the specific room wasn't the bedroom my partner is sleeping in and the music I want was the shipping forecast for the dog at five in the morning.</p>
<p>I noticed that casting from Pocket Casts instead of playing from the Pocket Casts Sonos plugin gives you lower quality audio so I'm hoping they fix things soon.</p>
<p>The dog can go out for walks now which is game changing, a solution to the zoomies! She is also starting to chew everything in sight a bit less. Just in time for teething.</p>

    ]]></content>
  </entry>
	
  
  <entry>
    <title>Week 23: you can&#39;t trust the instanceof operator</title>
    <link href="https://nickramsbottom.com/posts/week-23-you-cant-trust-the-instanceof-operator/"/>
    <updated>2024-05-21T19:09:21Z</updated>
    <id>https://nickramsbottom.com/posts/week-23-you-cant-trust-the-instanceof-operator/</id>
    <content type="html"><![CDATA[
      <p>Turns out <a href="https://github.com/turkerdev/fastify-type-provider-zod/issues/64#issuecomment-2121245480">you can't trust the <code>instanceof</code> operator</a>.</p>

    ]]></content>
  </entry>
	
  
  <entry>
    <title>Week 22: straight to the pub</title>
    <link href="https://nickramsbottom.com/posts/week-22-straight-to-the-pub/"/>
    <updated>2024-05-14T18:12:30Z</updated>
    <id>https://nickramsbottom.com/posts/week-22-straight-to-the-pub/</id>
    <content type="html"><![CDATA[
      <p>I didn't realise how much my life would revolve around the bowel movements of an animal. If the dog goes to the loo it's straight to the pub, swift pint each, back home to do it all again.</p>
<p><img src="/images/puppy-and-pint.jpeg" alt="A picture of me holding Rosie, the dog, in a sling whilst drinking a pint in a pub." title="It's a VERY swift pint with the dog so young."></p>
<p>I'm going to <a href="https://leaddev.com/staffplus-london">Staff Plus London</a> this year. It's a conference I've wanted to go to for a while but covid scuppered my attempt to attend when I worked at the Financial Times. The tickets are an obscene price which I'm not paying, thankfully.</p>
<p>The fear has well and truly hit me for the Dragon Ride this year. I'm a month behind training and there's no sign of any former fitness returning. It isn't going to be a pleasant day out.</p>
<p>Coldplay is on heavy rotation at the moment, I can only apologise.</p>

    ]]></content>
  </entry>
	
  
  <entry>
    <title>Week 21: squeaky toys</title>
    <link href="https://nickramsbottom.com/posts/week-21-squeaky-toys/"/>
    <updated>2024-05-02T15:51:17Z</updated>
    <id>https://nickramsbottom.com/posts/week-21-squeaky-toys/</id>
    <content type="html"><![CDATA[
      <p>Habits really are quite hard to keep up. Gym visits, and cycling went out the window with weeknotes.</p>
<p>This is Rosie:</p>
<p><img src="/images/rosie-0.jpeg" alt="A picture of a small ginger coloured puppy sat on the back seat of a car." title="Rosie"></p>
<p>She is a <a href="https://en.wikipedia.org/wiki/Nova_Scotia_Duck_Tolling_Retriever">Nova Scotia Duck Tolling Retriever</a>. She enjoys squeaky toys, dislikes going outside, and occupies herself with chewing my furnishings. We got her on Sunday and have swung between &quot;Why have we done this?&quot; and &quot;This is the best thing ever!&quot; since.</p>
<p>I'm really gonna do it this time, I'm writing an API with Fastify. Wish me luck!</p>

    ]]></content>
  </entry>
	
  
  <entry>
    <title>Week 19, 20: recovering</title>
    <link href="https://nickramsbottom.com/posts/week-19-20-recovering/"/>
    <updated>2024-04-02T07:45:34Z</updated>
    <id>https://nickramsbottom.com/posts/week-19-20-recovering/</id>
    <content type="html"><![CDATA[
      <p>Not much happens when you're recovering from surgery so there's very little to post.</p>
<p>I read <a href="https://understandingdistributed.systems/">Understanding Distributed Systems</a>, it's a good primer for reading <a href="https://www.oreilly.com/library/view/designing-data-intensive-applications/9781491903063/">Designing Data Intensive Applications</a>.</p>

    ]]></content>
  </entry>
	
  
  <entry>
    <title>Week 18: another walk</title>
    <link href="https://nickramsbottom.com/posts/week-18-another-walk/"/>
    <updated>2024-03-18T09:32:17Z</updated>
    <id>https://nickramsbottom.com/posts/week-18-another-walk/</id>
    <content type="html"><![CDATA[
      <p>Another week, <a href="https://explore.osmaps.com/route/2914747/country-walking-ashdown-forest-east-sussex?lat=51.075380&amp;lon=0.098280&amp;zoom=14.5509&amp;style=Standard&amp;type=2d">another walk</a>. This time in Ashdown Forest near where all of the Winnie-the-Pooh stuff is.</p>
<p><img src="/images/ashdown-forest-walk-map.png" alt="A map of a circular route around Ashdown forest starting from the top of Kidd's Hill, aka &quot;The Wall&quot;."></p>
<p>If you find yourself in the are of Chiddingstone, just North East of Ashdown Forest, go to <a href="https://thetuliptree.biz/">The Tulip Tree Tea Rooms</a>.</p>

    ]]></content>
  </entry>
	
  
  <entry>
    <title>Week 17: Captain, it&#39;s Wednesday</title>
    <link href="https://nickramsbottom.com/posts/week-17-captain-its-wednesday/"/>
    <updated>2024-03-10T20:17:23Z</updated>
    <id>https://nickramsbottom.com/posts/week-17-captain-its-wednesday/</id>
    <content type="html"><![CDATA[
      <p><img src="/images/what-a-week.jpg" alt="The Tintin &quot;What a week, huh?&quot; &quot;Captain, it's Wednesday&quot; meme image."></p>
<p>I've pulled the trigger on a pair of Sonos speakers, I will hear only half of a podcast whilst cleaning the house no longer!</p>
<p>The weeks don't get less stressful, going in circles on a bike is the answer.</p>
<p>My old desktop computer is now an Unraid server. The assumption that 10 year old hardware could handle most tasks was a bad one but at least I've managed to replace two raspberry pis with a massive energy hungry computer tower.</p>

    ]]></content>
  </entry>
	
  
  <entry>
    <title>Week 16: independent bookseller</title>
    <link href="https://nickramsbottom.com/posts/week-16-independent-bookseller/"/>
    <updated>2024-03-04T08:39:10Z</updated>
    <id>https://nickramsbottom.com/posts/week-16-independent-bookseller/</id>
    <content type="html"><![CDATA[
      <p>I demolished a book called &quot;<a href="https://www.toppingbooks.co.uk/books/gary-stevenson/the-trading-game/9780241636602/">The Trading Game</a>&quot; this week. It's fantastic, you should get a copy. Even better if it's from an independent bookseller.</p>
<p>Priority one incidents are stressful, especially when they're at 4pm on a Friday.</p>

    ]]></content>
  </entry>
	
  
  <entry>
    <title>Week 15: cute, sharp, and incontinent</title>
    <link href="https://nickramsbottom.com/posts/week-15-cute-sharp-and-incontinent/"/>
    <updated>2024-02-26T08:04:13Z</updated>
    <id>https://nickramsbottom.com/posts/week-15-cute-sharp-and-incontinent/</id>
    <content type="html"><![CDATA[
      <p>The puncture sealed after the third attempt but I'm standing by my feelings about tubeless tyres. Making the hole bigger seemed to help.</p>
<p>OS maps has a very loose definition of what a path is - note to self: watch those contour lines. Megan will need a bit of convincing before coming on our next hike. <a href="https://explore.osmaps.com/route/20414014/y-garn-glyder-fawr-tryfan?lat=53.113177&amp;lon=-4.033983&amp;zoom=13.4963&amp;style=Standard&amp;type=2d">This was our route</a> if you're ever near Tryfan/Ogwen Cottage and fancy a big day out. I have editted in a diversion around the hair raising descent we took down Glyder Fach.</p>
<p><img src="/images/view-from-y-garn-to-anglesey.jpeg" alt="A view of a valley going down to water with land on the other side. The sky is blue with clouds on the edges of the image showing the view is brief before the cloud cover returns. There is green grass in the foreground." title="A view North to Anglesey from the path going up the East side of Y Garn from Ogwen Cottage"></p>
<p>We are in Snowdonia this weekend staying in a quarryman's cottage. The doorframes are very low and I'm having to remember to stoop through them. This has resulted in several solid thwacks to the head. Being tall might help on Hinge but it can't be worth the ever present threat of smashing your head into doorframes.</p>
<p>The purpose of this trip is to meet some Duck Tolling Retriever puppies, which were the strangest mix of cute, sharp, and incontinent.</p>
<p><img src="/images/toller-puppies.jpeg" alt="Three toller puppies being stroked with a fully grown toller dog in the background sat in her crate. One of the puppies is trying to nibble the fingers of the person stroking them." title="Fluffy little nibblers"></p>

    ]]></content>
  </entry>
	
  
  <entry>
    <title>Week 14: the ultimate combination</title>
    <link href="https://nickramsbottom.com/posts/week-14-the-ultimate-combination/"/>
    <updated>2024-02-18T17:43:18Z</updated>
    <id>https://nickramsbottom.com/posts/week-14-the-ultimate-combination/</id>
    <content type="html"><![CDATA[
      <p>Simon P didn't send me any articles this week, sorry <a href="https://alexwilson.tech/">Alex</a>.</p>
<p>The ultimate combination of sweets for on the bike: <a href="https://candykittens.co.uk/products/shox">Candy Kittens Shox</a> and <a href="https://www.sainsburys.co.uk/gol-ui/product/sainsburys-snack-dried-mango-100g">dried mango</a>. Shove handfuls into your face at a rate of 60-80 grams per hour.</p>
<p>Tubeless tyres are one of the biggest cons going in bikes. My rear wheel didn't seal on the road and hasn't sealed the two times I've topped up the sealant since getting home. The hole is tiny. Save yourself the effort and throw tubes in.</p>
<p>I've started reading <a href="https://www.oreilly.com/library/view/the-staff-engineers/9781098118723/">The Staff Engineer's Path</a>. The start takes you through drawing out maps of your organisation. It's an incredibly useful activity I wish I'd done a year ago and will repeat in any future positions. I'm going to read <a href="https://www.oreilly.com/library/view/the-managers-path/9781491973882/">The Manager's Path</a> next to really put myself on the fence with deciding what I want to do with my life.</p>

    ]]></content>
  </entry>
	
  
  <entry>
    <title>Week 13: splendid</title>
    <link href="https://nickramsbottom.com/posts/week-13-splendid/"/>
    <updated>2024-02-10T09:51:48Z</updated>
    <id>https://nickramsbottom.com/posts/week-13-splendid/</id>
    <content type="html"><![CDATA[
      <p>&quot;Splendid&quot; should replace &quot;delightful&quot; as the user experience word of the past few years.</p>
<p><a href="https://simonplend.com/">Simon P</a> sent me another article this week, <a href="https://build.diligent.com/aws-as-a-framework-9abd2b1f6dc1">AWS as a Framework</a>. I also found <a href="https://maxday.github.io/lambda-perf/">this</a> on comparing Lambda cold starts between different runtimes.</p>
<p>A new <a href="https://grafana.com/blog/2024/02/09/how-i-write-http-services-in-go-after-13-years/">How I write HTTP services in Go</a> dropped.</p>

    ]]></content>
  </entry>
	
  
  <entry>
    <title>Week 12: fast paced and engaging</title>
    <link href="https://nickramsbottom.com/posts/week-12-fast-paced-and-engaging/"/>
    <updated>2024-02-03T09:41:08Z</updated>
    <id>https://nickramsbottom.com/posts/week-12-fast-paced-and-engaging/</id>
    <content type="html"><![CDATA[
      <p>&quot;Delight&quot; is the most over-used word in tech.</p>
<p>I've started reading <a href="https://en.wikipedia.org/wiki/A_Thousand_Splendid_Suns">A Thousand Splendid Suns</a>. It's fast paced and engaging; I'm already half-way through. There are overlaps with the landmarks mentioned in <a href="https://en.wikipedia.org/wiki/The_Places_in_Between">The Places in Between</a> which adds to the read.</p>

    ]]></content>
  </entry>
	
  
  <entry>
    <title>Week 11: severe lack of cake</title>
    <link href="https://nickramsbottom.com/posts/week-11-severe-lack-of-cake/"/>
    <updated>2024-01-28T13:08:54Z</updated>
    <id>https://nickramsbottom.com/posts/week-11-severe-lack-of-cake/</id>
    <content type="html"><![CDATA[
      <p>The burnout is real.</p>
<p>First big day on the bike on Sunday. The Chilterns are much more rural than Surrey which resulted in a severe lack of cake half way round. Roast at <a href="https://whatpub.com/pubs/SWM/283/white-horse-hedgerley">the pub in Hedgerley</a> was good, huge selection of ales, can recommend.</p>

    ]]></content>
  </entry>
	
  
  <entry>
    <title>Week 10: MDN saves the day</title>
    <link href="https://nickramsbottom.com/posts/week-10-mdn-saves-the-day/"/>
    <updated>2024-01-21T14:30:19Z</updated>
    <id>https://nickramsbottom.com/posts/week-10-mdn-saves-the-day/</id>
    <content type="html"><![CDATA[
      <ul>
<li>Bodmin Castle is fun.</li>
<li>The £9 traditional breakfast at Bodmin Castle is not money well spent.</li>
<li>Megan bought a car, it is a Ford Fiesta with Sync 3. Sync 3 doesn't update using Wifi in the UK despite it allowing you try. It will sit there with the progress bar not moving until you give up. You must use a USB stick formatted a specific way in a specific format. This car was made in 2021.</li>
<li>Simon P made an <a href="https://twitter.com/simonplend/status/1748453338029625621">interesting thread</a> on Twitter looking into encryption standards. tl;dr <a href="https://developer.mozilla.org/en-US/docs/Web/API/SubtleCrypto/encrypt">MDN saves the day</a>.</li>
</ul>

    ]]></content>
  </entry>
	
  
  <entry>
    <title>Week 9: Cycling has taken over my life</title>
    <link href="https://nickramsbottom.com/posts/week-9-cycling-has-taken-over-my-life/"/>
    <updated>2022-06-12T09:15:54Z</updated>
    <id>https://nickramsbottom.com/posts/week-9-cycling-has-taken-over-my-life/</id>
    <content type="html"><![CDATA[
      <ul>
<li>
<p>I am still obsessed with &quot;Inside&quot; on Netflix. The songs were bouncing around my head for the whole of my cycle to Hastings.</p>
</li>
<li>
<p>Cycling has taken over my life. Suffering now so I don't suffer more in France is the plan. I'm suffering a lot.</p>
</li>
<li>
<p>I joined a new team in customer products. We write week notes and have an open wiki for communication internally. I've never worked in a team that does this before but I'm quite interested in how we build our comms processes.</p>
</li>
<li>
<p>One of the first things I've gone for is creating a definitions page in the wiki. We discovered assumptions and terms we either had completely different definitions for or couldn't define at all very quickly. Highly recommend you try it out.</p>
</li>
<li>
<p>I was promoted to Senior 2.</p>
</li>
</ul>

    ]]></content>
  </entry>
	
  
  <entry>
    <title>Community Fibre with Unifi and a gotcha</title>
    <link href="https://nickramsbottom.com/posts/community-fibre-with-unifi/"/>
    <updated>2022-05-23T07:33:28Z</updated>
    <id>https://nickramsbottom.com/posts/community-fibre-with-unifi/</id>
    <content type="html"><![CDATA[
      <h2>A Gotcha</h2>
<p>I just moved over to Community Fibre and discovered a gotcha that will cost me about £200 over the next two years.</p>
<p>If you want a public IP, or if you want an IP that's not behind carrier grade NAT (CGNAT), and you're with Community Fibre make sure you get a 500 Mbps package or above. I went for 200 Mbps, waited for three weeks until my Virgin contract ended, discovered this and was told I couldn't get introductory offers after the 14 day grace period. That's an eight pound difference every month for two years that they wouldn't negotiate on at all.</p>
<p>Why would you want a private IP? So that you can forward ports to devices internally. If you're behind the CGNAT you can forward ports on your router's NAT all you like and it won't work because the CGNAT isn't forwarding them to you.</p>
<h2>IPv6</h2>
<p>If you want to use IPv6 from Community Fibre with your Unifi device, an Ultimate Dream Machine (UDM) in my case, you will have to do some setting tinkering and stay in contact with Community Fibre.</p>
<p>Community Fibre can sometimes have too many MAC addresses registered which &quot;blocks&quot; allowing more to be added to your account. Weird bug but that means you can't get your router to work with IPv6 and you need to contact them to clear them out.</p>
<p>First thing you need to do is enable DHCPv6 and give the router the prefix delegation size which is 48 for Community Fibre. This doesn't seem to be published on their website but is mentioned in a talk they did <a href="https://www.youtube.com/watch?v=75h4gm7t1oI">here</a> with slides <a href="https://www.ipv6.org.uk/wp-content/uploads/2020/11/Community-Fibre-IPv6-Slides.pdf">here</a> and discussed in <a href="https://forums.thinkbroadband.com/otherisp/4688999-has-anyone-got-community-fibre-ipv6-set-up-right.html">this forum</a> post.</p>
<p>You then need to go to the networks you want to have IPv6 and enable it there as well. The settings you want are &quot;Prefix Delegation&quot;, enable &quot;Router Advertisement&quot;, throw in an IPv6 DNS server of your choice if given the option.</p>
<p>Once you've done all that you now need to do the following:</p>
<ol>
<li>Reboot their modem and the router</li>
<li>Wait for your router to provide IPv6 addresses to your devices, NB your IPv4 won't work</li>
<li>Disable IPv6 to let the IPv4 work</li>
<li>Re-enable IPv6</li>
<li>Contact community fibre a second time if your router entry in your client's IPv6 settings it blank because the MAC addresses have been blocked again</li>
<li>You're now running on IPv6 (hopefully)</li>
</ol>

    ]]></content>
  </entry>
	
  
  <entry>
    <title>Week 8: Everything is an object</title>
    <link href="https://nickramsbottom.com/posts/week-8-everything-is-an-object/"/>
    <updated>2021-12-19T09:15:54Z</updated>
    <id>https://nickramsbottom.com/posts/week-8-everything-is-an-object/</id>
    <content type="html"><![CDATA[
      <ul>
<li>A reminder that everything is an object in JavaScript. You can add string keys to an array.</li>
<li><a href="https://leetcode.com/problems/decode-xored-array/submissions/">XOR is the inverse of XOR</a>.</li>
<li>Everything is on hold.</li>
</ul>

    ]]></content>
  </entry>
	
  
  <entry>
    <title>Week 7: Got to fail a few times before you succeed.</title>
    <link href="https://nickramsbottom.com/posts/week-7-got-to-fail-a-few-times-before-you-succeed/"/>
    <updated>2021-12-12T18:43:32Z</updated>
    <id>https://nickramsbottom.com/posts/week-7-got-to-fail-a-few-times-before-you-succeed/</id>
    <content type="html"><![CDATA[
      <ul>
<li>
<p>Day 6: Turns out if you're making yourself an integer indexed hashmap you should just use an array.</p>
</li>
<li>
<p>Day 6: Arrays in Rust have a great <code>rotate_left</code> method to shuffle the entries around. It's brilliant.</p>
</li>
<li>
<p>Day 8: I'm discovering there is no shame in looking up the odd answer. Got to fail a few times before you succeed.</p>
</li>
<li>
<p>Day 9: I had completely forgotten about <code>&amp;mut</code>, or <a href="https://doc.rust-lang.org/book/ch04-02-references-and-borrowing.html#mutable-references">mutable references</a>, arguments to functions. Once a colleague mentioned these I was able to turn my iterative solution into a recursive one.</p>
</li>
<li>
<p>Day 10: The difficulty of yesterday resulted in a JavaScript solution today.</p>
</li>
<li>
<p>Day 11: Back to recursion and a successful Rust answer with parts borrowed from day 9!</p>
</li>
<li>
<p>Day 12: This is incredibly hard and I'm now ill. Advent of code may need to wait a while.</p>
</li>
</ul>

    ]]></content>
  </entry>
	
  
  <entry>
    <title>Week 6: Advent of code. Send help.</title>
    <link href="https://nickramsbottom.com/posts/week-6-advent-of-code-send-help/"/>
    <updated>2021-12-05T11:30:59Z</updated>
    <id>https://nickramsbottom.com/posts/week-6-advent-of-code-send-help/</id>
    <content type="html"><![CDATA[
      <p>I'm attempting <a href="https://adventofcode.com/">Advent of Code</a> in Rust this year. I usually don't make it far in a language I know well so this will be a challenge. My solutions live <a href="https://github.com/nickramsbottom/advent-of-code/tree/main/2021">here</a>.</p>
<ul>
<li>
<p>Day 1: The functional parts of Rust are helpful. <a href="https://crates.io/crates/itertools">Itertools</a> has loads of additional functionality for them, such as <code>tuple_windows</code>.</p>
</li>
<li>
<p>Day 2: Another opportunity for iterators. <code>fold()</code>ing an iterator is very similar to <code>Array.prototype.reduce()</code> in JavaScript.</p>
</li>
<li>
<p>Day 3: An opportunity to use bitwise operators that flew so far over my head it was barely visible. Time to read more about bit shifting and bitwise operators. The borrow checker made things difficult today.</p>
</li>
<li>
<p>Day 3: I saw a solution that used <code>partition()</code> to turn an iterable into two vectors based upon a function producting a boolean.</p>
</li>
<li>
<p>Day 3: BitXor (<code>^</code> in Rust) is a fun opertor is you want to invert a bit based on a boolean. I went straight in with <code>&amp;</code> which was the wrong thing.</p>
</li>
<li>
<p>Day 4: Vectors have a <code>retain</code> method which takes a boolean returning closure and removed entries in place. Really handy.</p>
</li>
<li>
<p>I went back to doing a bit of JavaScript. This is the first time I've come back and been frustrated by some aspects of the language. Do you want a <code>for..of</code> loop or a <code>for..in</code> loop? No idea, time to open DuckDuckGo again. It's a right pain.</p>
</li>
<li>
<p>Day 5: The borrow checker realised I had got it wrong before I did. I'm really enjoying using Rust and can see why it's so popular in developer surveys.</p>
</li>
<li>
<p>Day 5: If you want to iterate over a range in Rust you type something like this: <code>2..=4</code> which will give you an iterator with the values <code>2, 3, 4</code>. If you want to go backwards you can't give it this: <code>4..=2</code>. It won't iterate at all and you won't know why your Advent of Code solution isn't working. You need to use <code>2..=4.rev()</code>. This is slightly annoying.</p>
</li>
<li>
<p>Advent of code has encouraged me to start <a href="https://leetcode.com/">LeetCode</a> again. Send help.</p>
</li>
</ul>

    ]]></content>
  </entry>
	
  
  <entry>
    <title>A Networking Gotcha</title>
    <link href="https://nickramsbottom.com/posts/a-networking-gotcha/"/>
    <updated>2021-10-18T07:33:28Z</updated>
    <id>https://nickramsbottom.com/posts/a-networking-gotcha/</id>
    <content type="html"><![CDATA[
      <p>I connect to my home network using a VPN. If your home network has the same subnetwork IP addresses as the remote one you won't be able to connect to any of the remote IP addresses. I found the solution to this <a href="https://davidhamann.de/2017/09/27/vpn-connect-to-server-same-subnet/">here</a>.</p>

    ]]></content>
  </entry>
	
  
  <entry>
    <title>Week 4 &amp; 5: A huge amount of cycling</title>
    <link href="https://nickramsbottom.com/posts/week-4-5-a-huge-amount-of-cycling/"/>
    <updated>2021-07-25T09:43:15Z</updated>
    <id>https://nickramsbottom.com/posts/week-4-5-a-huge-amount-of-cycling/</id>
    <content type="html"><![CDATA[
      <p>Week 4 involved a huge amount of cycling. Week 5 involved none.</p>
<p>My TODO list of things I want to cycle next year is growing. The <a href="https://www.sportive.com/events/dunwich-dynamo-2021/2021-07-24/5650/cycling">Dunwich Dynamo</a> looks great.</p>
<p>Everywhere went from very hot to very wet very quickly.</p>

    ]]></content>
  </entry>
	
  
  <entry>
    <title>Week 3: I got soaked</title>
    <link href="https://nickramsbottom.com/posts/week-3-i-got-soaked/"/>
    <updated>2021-07-11T09:40:39Z</updated>
    <id>https://nickramsbottom.com/posts/week-3-i-got-soaked/</id>
    <content type="html"><![CDATA[
      <p>I still haven't made it out to the Chilterns but I did cycle to Brighton and back. I got soaked.</p>
<p><img src="/images/wet_brighton.jpg" alt="Looking out to Brighton Pier from underneath a shelter. Everywhere is wet and there is rain coming through the shelter roof." title="Lovely day for it."></p>
<p>The East Coast is next on the agenda.</p>

    ]]></content>
  </entry>
	
  
  <entry>
    <title>Week 2: Licking cardboard</title>
    <link href="https://nickramsbottom.com/posts/week-2-licking-carboard/"/>
    <updated>2021-07-04T14:41:50Z</updated>
    <id>https://nickramsbottom.com/posts/week-2-licking-carboard/</id>
    <content type="html"><![CDATA[
      <ul>
<li>Maltodextrin really does taste like licking carboard. <a href="https://mackgrenfell.com/">Mack</a> warned me about this but I don't think you can be prepared for quite how bad it is.</li>
<li>I am on my turbo as much as I can tolerate in preparation for the Dragon Ride in late September.</li>
<li>Turns out setting the publish date in the future in Netlify doesn't mean that the post will publish itself.</li>
<li>I spent the end of this week in North Wales which is the best place on the planet. There was a lot of cave exploring and a secret waterfall. There was also a lot of &quot;wait... which way was the exit again?&quot;.</li>
</ul>
<p><img src="/images/cave_entrance.jpeg" alt="Me at the entrance to a cave." title="The entrance to a cave."></p>
<ul>
<li>
<p>Transport for Wales decided to do works this weekend so no cycling. I will be back to tick off the top 100 climbs around Snowdonia.</p>
</li>
<li>
<p><a href="https://www.ordnancesurvey.co.uk/">Ordnance Survey</a> have an exceptional app. £25 a year and you have everything. Highly recommend.</p>
</li>
</ul>

    ]]></content>
  </entry>
	
  
  <entry>
    <title>Week 1: The promise of roast potatoes </title>
    <link href="https://nickramsbottom.com/posts/week-1-the-promise-of-roast-potatoes/"/>
    <updated>2021-06-27T05:00:54Z</updated>
    <id>https://nickramsbottom.com/posts/week-1-the-promise-of-roast-potatoes/</id>
    <content type="html"><![CDATA[
      <ul>
<li>The weblog has a new look! I have used Andy Bell and friends' <a href="https://hylia.website">Hylia</a> theme. I'm hoping the Netlify CMS integrations will make the weeknote habit stick.</li>
<li>Wordpress was considered but finding a minimalist theme for it was <em>very</em> difficult. Most of them have massive instagram style pictures for posts.</li>
<li>I have started using TypeScript in production 🎉. Typing GraphQL API responses got a bit involved.</li>
<li>A friend has convinced me to sign up to the <a href="https://www.dragonride.co.uk/event-info/our-new-routes/">Dragon Ride</a> in South Wales. We are doing the Gran Fondo route. The only thing getting me to the end is the promise of roast potatoes along the way.</li>
<li>The next cycling adventure is around the <a href="https://www.komoot.com/tour/379099789?share_token=avo0jNG1Vt3Vp34mLJP5JT1zDINGFgZEvNXJJe8HetyO8zF3yb">Chilterns</a>. I'm finding routes from books are much better than what I've been plotting myself, the authors keep you away from busier roads.</li>
<li>My new bike still hasn't arrived.</li>
<li>It's always DNS except for when it's cache.</li>
<li>Today (Friday) I learned that <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number/toFixed"><code>Number.prototype.toFixed()</code></a> returns a string. And <a href="https://stackoverflow.com/questions/2283566/how-can-i-round-a-number-in-javascript-tofixed-returns-a-string">this</a> is why.</li>
</ul>

    ]]></content>
  </entry>
	
  
  <entry>
    <title>Gluten Free Banana Bread</title>
    <link href="https://nickramsbottom.com/posts/gluten-free-banana-bread/"/>
    <updated>2020-12-04T07:53:28Z</updated>
    <id>https://nickramsbottom.com/posts/gluten-free-banana-bread/</id>
    <content type="html"><![CDATA[
      <p>I made gluten free banana bread. This is the recipe for two loaves. I've no idea what a 'cup' is.</p>
<p><strong>Ingredients</strong></p>
<ul>
<li>2 cups of gluten free plain flour</li>
<li>4-5 ripe bananas</li>
<li>half cup of sugar</li>
<li>half cup of butter</li>
<li>2 eggs</li>
<li>2 tablespoons milk</li>
<li>half teaspoon vanilla</li>
<li>teaspoon baking powder</li>
<li>teaspoon baking soda</li>
<li>quarter teaspoon salt</li>
<li>cup of chocolate chips OR tablespoon of cinnamon</li>
</ul>
<p><strong>Steps</strong></p>
<ol>
<li>Preheat fan oven to 160 degrees celcius</li>
<li>Grease 8 by 4 inch loaf pan with loads of butter</li>
<li>Dump all dry ingredients in food processor</li>
<li>Mix</li>
<li>Put eggs, milk and vanilla in</li>
<li>Mix</li>
<li>Put chopped up bananas in</li>
<li>Mix</li>
<li>Stir optional chocolate chips in</li>
<li>Half fill loaf pan with half mixture</li>
<li>Bake in oven for 50 minutes, check middle is cooked with skewer</li>
<li>Leave on side for 15 minutes</li>
<li>Invert loaf pan and bang on counter until loaf drops out</li>
<li>Repeat greasing and baking for other half of mixture</li>
</ol>

    ]]></content>
  </entry>
	
</feed>
