<?xml version='1.0' encoding='utf-8'?>
<?xml-stylesheet type="text/xsl" href="/sheet.xsl"?><rss version="2.0"><channel><title>Jamie’s blog</title><description>Jamie's blog about software, startups, and swimming (and other things that don't alliterate).</description><item><title>Swimming review: 2025</title><link>https://jamie.ideasasylum.com/2025/12/31/swimming-review-2025</link><ns0:encoded xmlns:ns0="http://purl.org/rss/1.0/modules/content/">&lt;div class="prose dark:prose-invert prose-slate mt-2 sm:px-8 font-serif" morss_own_score="2.9097410604192357" morss_score="297.26733296698"&gt;&lt;p&gt;This post probably is not for you. It’s the indulgent reflections of a middling mid-life swimmer who really needs to remember to be proud of himself and, if he doesn’t write all this down, he’s likely to forget he did any of it.&lt;/p&gt;
&lt;h2&gt;Highlights&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;First swim races/events in 10 years
    &lt;ul&gt;
&lt;li&gt;Gaelforce Trilogy (3.5km, 3.9km, 3.9km)&lt;/li&gt;
&lt;li&gt;Garnish Island (5km)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Personal bests set this year:
    &lt;ul&gt;
&lt;li&gt;800m&lt;/li&gt;
&lt;li&gt;1000m&lt;/li&gt;
&lt;li&gt;1500m&lt;/li&gt;
&lt;li&gt;Longest open water swim (5.6km)&lt;/li&gt;
&lt;li&gt;Longest swim (8km)&lt;/li&gt;
&lt;li&gt;Highest annual total (316,517m)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Shoulder injury: recovered&lt;/li&gt;
&lt;li&gt;Left ankle: recovered&lt;/li&gt;
&lt;li&gt;Right ankle: new injury!&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;Preamble&lt;/h2&gt;
&lt;p&gt;The start of my 2025 swimming really started in late-2024 and with an unlikely joint.&lt;/p&gt;
&lt;p&gt;I’d been having ankle problems for about 18 months and working with a physio and rehab exercises in the gym to fix it. I finally got a specialist consultant appointment, and another MRI, and was diagosed with osteoarthritis in the ankle joint. That wasn’t a surprise since it has two screws in it from a car accident. Before Christmas I had an injection of hyaluronic acid into the ankle so I had to rest for a week, and only light swimming.&lt;/p&gt;
&lt;p&gt;But none of that mattered because I’d also buggered up my right shoulder.&lt;/p&gt;
&lt;p&gt;I started 2025 sitting on the couch, unable to swim, and figuring out how best to protect my ankle. Logically, I thought, this was the best time to sign up for The Gaelforce Trilogy—three swims in river, lake, and sea between May and September. The only swim events I’ve ever done &lt;a href="https://jamie.ideasasylum.com/2015/05/scared-proud/"&gt;were 10 years ago&lt;/a&gt; and that was a 1km “paddle in the park” and the 2km Lee river swim. With a few clicks I’d just entered a 3.4km, 3.9km, and 3.9km race and I wasn’t sure if or when I’d be able to swim again.&lt;/p&gt;
&lt;h2&gt;January: Meh&lt;/h2&gt;
&lt;p&gt;It was a miserable month with almost no swimming. In it’s place was lots of physio on the shoulder, particularly dry-needling on the infraspinatus and lats. Infraspinatus is a nasty muscle to have dry-needled as the pain radiates over the shoulder and down the arm. Did not enjoy.&lt;/p&gt;
&lt;p&gt;I started doing some cardio sessions on the bike at the gym just to replace the swimming and keep me active. Also meh.&lt;/p&gt;
&lt;h2&gt;February: Slightly-less-but-still Meh&lt;/h2&gt;
&lt;p&gt;I got back to some light swimming, mostly drills like sculling and fists to build up the rotator cuff without tightening everything up again. Still doing lots of rehab work in the gym and at home.&lt;/p&gt;
&lt;p&gt;The number of exercise bands in the house multiplied.&lt;/p&gt;
&lt;h2&gt;March: I’m (slowly) back&lt;/h2&gt;
&lt;p&gt;I was finally back swimming around 2-2.5km sessions, without pushing it, and continuing all the physio and rehab work in the gym.&lt;/p&gt;
&lt;p&gt;I did a CSS test to determine my threshold pace which came out as 1:42/100m&lt;/p&gt;
&lt;h2&gt;April: Training hard&lt;/h2&gt;
&lt;p&gt;Things are starting to get serious with The Great River Swim only 6 weeks away. I needed to get out of the pool and into the open water but, even with some unseasonably warm weather, the sea was still freezing cold. I got in two short (&amp;lt;1km) swims during the month and that’s about 8 weeks earlier than I’d ever been in the sea. Having the race was a huge factor forcing me into the water much earlier, and much less comfortable, than ever before.&lt;/p&gt;
&lt;p&gt;I was swimming between 3-4 times per week, 2 sessions in the gym, and rehab exercises each day it felt like I was seriously training for the first time in my life. There was rarely an “off” day. Apparently, and this &lt;em&gt;still&lt;/em&gt; sounds ridiculous in my head, I need to think of myself as an “athlete” and prioritise fueling, training, and recovery accordingly.&lt;/p&gt;
&lt;p&gt;Got some new pool goggles: Arena Cobra Ultra Swipe. They really live up to their marketing hype of being anti-fog, which is a first for any goggle I’ve owned. Just wet the googles, swipe the inside with a finger, and hey-presto: no fog. That said, I tended to favour the Magic5 goggles for most swims as they are, by far, the most comfortable pairs I own.&lt;/p&gt;
&lt;h2&gt;May: The Great River Swim&lt;/h2&gt;
&lt;p&gt;The unseasonably warm weather had continued and we were treated to the best of Irish weather: blue skies, sunshine, and not too warm. We took the shuttle bus up to the starting point and the guy next to me asked how long I thought it would take me. I thought about 1:10 depending on the current. He replied, “oh, wow. You should have been in Wave 1 with the elite swimmers”. Um… what?&lt;/p&gt;
&lt;p&gt;The river was lower than usual and as we entered the water I looked around and started to wonder if maybe I was going to be faster than most of the wave. I moved up towards the front of the pack at the start line but there was still a fair number of people in front of me when the race started. I started swimming, filled with nervous adrenaline, but unfortunately some of the people in front of me hesitated or were waiting for more space. I kinda swam over one person and my elbow hit some part of another. Sorry. That was my first experience of the chaos of a swim start.&lt;/p&gt;
&lt;p&gt;I’d not swam in a river in a long time and I’d forgotten how easy it is: the current suited my long smooth stroke, the water was calm, and there was basically no navigation required. It was like swimming on rails, just following the meandering river from one corner to the next surrounded by reeds on either side.&lt;/p&gt;
&lt;p&gt;After a few minutes I’d cleared most of the other swimmers but there was maybe 3 ahead of me. One by one I started passing them out. And then I started passing out people from Wave 1 which had started 10 minutes before us. And some swimmers from, I think, the 12km event that had started hours earlier—they were looking pretty exhausted by that point.&lt;/p&gt;
&lt;p&gt;After maybe 1km, I noticed someone drafting on my feet but they weren’t touching my toes so, whatever, enjoy the free ride! Coming up to the bridge, which was the only real navigation required, I spotted the family on the bridge and gave them a quick wave then put my head down and lost the person on my toes. I managed a bit of a sprint for the finish and then struggled to actually get out!&lt;/p&gt;
&lt;p&gt;The random song for the day, by virtue of having these few lines stuck in my head for the entire swim:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Gotta give a little something&lt;/p&gt;
&lt;p&gt;
Gotta take a little pain&lt;/p&gt;&lt;p&gt;
Gotta dig a little deeper&lt;/p&gt;&lt;p&gt;
We gotta keep the faith&lt;/p&gt;&lt;p&gt;
Hell or high water&lt;/p&gt;&lt;p&gt;
We didn’t come to lose&lt;/p&gt;&lt;p&gt;
—Eclipse, &lt;em&gt;We didn’t come to lose&lt;/em&gt;&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;I finished the 3.5km course in 0:58:43: first in Wave 2, 10th place overall, and 2nd in my age group. A very good result for my first race! Though, upon reflection, most of the better swimmers were probably doing the 5.8km or 12km races. Something for next year, maybe.&lt;/p&gt;
&lt;p&gt;I was tired afterwards and my lats were pretty sore but otherwise I felt really good about it. There was a nice little festival atmosphere at the end and I enjoyed sitting on the grass afterwards having a picnic of Coke and fizzy jellies with the family. My daughter repeatedly told me how proud she was of me so that was good.&lt;/p&gt;
&lt;p&gt;After the swim I flew out for the company retreat in the US… and came back sick. Again. 😖&lt;/p&gt;
&lt;h2&gt;June: Mallorca&lt;/h2&gt;
&lt;p&gt;June kicked off with the SwimSmooth course in Mallorca. There’s really nothing more I need to add to &lt;a href="https://jamie.ideasasylum.com/2024/06/08/swim-smooth-mallorca-2024"&gt;my blog post about the experience in 2024&lt;/a&gt;. It was a different group of people but the experience was just a good, the 50m pool at the BEST Centre was as glorious as ever, the hotel was nicer, and the coaching just as valuable.&lt;/p&gt;
&lt;p&gt;I set a new CSS of 1:35/100m showing that the training I’d done for the river swim had paid off, but I then spent the week trying—and failing—to live up to it! 🥵&lt;/p&gt;
&lt;p&gt;I think I was still recovering from being sick but I completely died during one memorable pool session. I’d never experienced anything like that before: I was at the end of the pool, holding on, and I knew someone was talking to me but I couldn’t actually hear them or process the words. I ended that session early but it lives on in the SwimSmooth Guru app as &lt;a href="https://www.swimsmooth.guru/sessions/direct/8o3faZxPyjjNwZpzDAEy/4200"&gt;“Jamie’s Downfall”&lt;/a&gt;. I also remember leaving everything in the pool after some sprints and being destroyed afterwards. My shoulder injury also flaired up on another session but was mostly ok for the rest of the week.&lt;/p&gt;
&lt;p&gt;I left inspired after a conversation with Paul and I entered the only 5km swim left in the Irish 2025 swim calendar: Garnish Island. It was a swim I’d wanted to do for a while but it sells out quickly and I’d never had the confidence to enter the 5km distance. I had until mid-August to prepare.&lt;/p&gt;
&lt;p&gt;At the end of June I was back in Brighton for the Brighton Ruby conference and, of course, took advantage of the wonderful 50m Sea Lanes pool on the beachfront. I was a bit apprehensive about the Garnish Island swim so I decided to prove to myself that I could swim 5km by doing 10x 500m. Then I did it again the next day to prove to myself that I could do it when I was fatigued.&lt;/p&gt;
&lt;h2&gt;July: The Great Lake Swim&lt;/h2&gt;
&lt;p&gt;It was one of the hottest days of the year at Lough Derg for the Great Lake Swim, with the air temp around 30°C and the water 22°C.&lt;/p&gt;
&lt;p&gt;I swam the 3.9km distance in 1:06:46, placing 14th overall and 7th in my age group. I was pretty happy with that as it was at the faster end of my prediction. I also swam non-stop and, again, enjoyed passing lots of Wave 1 swimmers. After the first few hundred meters, I told myself that I wasn’t going to let anyone pass me—and I didn’t.&lt;/p&gt;
&lt;p&gt;I’m not really competitive but I do enjoy setting  challenges for myself even if that means using other people to do it. Another mental game I played was thinking of passing other swimmers as “taking caps” (though, of course, I’m not actually assaulting them). Anything to pass the time and make it interesting.&lt;/p&gt;
&lt;p&gt;There isn’t much room in my brain for thinking during a race. I’m just constantly iterating between sighting for the next buoy, looking out for other swimmers/kayakers etc, enjoying the view of the weeds and fish, repeat a line from a song, counting my strokes (for no reason), reminding myself to stay calm, to relax, and to keep my form.&lt;/p&gt;
&lt;p&gt;After around 2km my thumbs and index, middle, and ring fingers felt like they were wrapped in elastoplast: they felt big, slight pins &amp;amp; needles, and I couldn’t feel them well (but could still move them). They weren’t white. I could keep swimming but I had less feel for the water. It went away after a few minutes on shore. The same thing had started creeping in during the river swim and the 5km in the pool but it was more obvious now.&lt;/p&gt;
&lt;p&gt;I felt a bit flat afterwards. I didn’t have the high of the first swim and I didn’t have anything to really compare myself to. Was this a good time? I didn’t really have any external reference for was “good” looked like.&lt;/p&gt;
&lt;h2&gt;August: Garnish Island&lt;/h2&gt;
&lt;p&gt;August was about preparing for the Garnish Island swim and I kicked off my birthday with my longest open water swim: 5,600m around Myrtleville. I rarely plan things out and I never tell anyone what I’m attempting but I thought a really good long swim in the sea what give me some more confidence going into the Garnish Island swim.&lt;/p&gt;
&lt;p&gt;The birthday swim was also an opportunity to try something I’d never done before: feeding. Packed into a new donut tow float I had a Rice Krispy Square, Precision Fuel energy gels, and some ‘Zero’ electrolytes. I made a point of stopping after the second and third laps to feed even if I felt like I didn’t need it.&lt;/p&gt;
&lt;p&gt;My birthday also brought a new watch as a present! Hilary bought me a Garmin Forerunner 570 to replace my beloved-but-aging Garmin Swim 2. I was apprehensive because of the “Fore&lt;em&gt;runner&lt;/em&gt;” name but all the same swim functions were there and the buttons did the same thing so my muscle memory still worked. I also got lots more data like HRV, training readiness, training effect, better sleep data, ability to track strength workouts, water temperature, recovery time… and a lot more I don’t pay attention to. I highly recommend this watch for swimmers.&lt;/p&gt;
&lt;p&gt;And, most interestingly, I was finally able to install the SwimSmooth app on the watch to analyse my stroke. Sure enough, my top priority is to fix my straight-arm pull, particularly with the right arm.&lt;/p&gt;
&lt;p&gt;Glengarriff was packed on the day of the Garnish Island swim, as it is most weekends during the summer but now there were a few hundred swimmers &amp;amp; spectators there too. I left the family in town to get food and I took the shuttle bus to the starting point on my own. That felt kinda weird as they’d always been there to see me off in the previous races.&lt;/p&gt;
&lt;p&gt;The song on today’s mental jukebox in a 10 sec loop was &lt;a href="https://youtu.be/I3Fn4s3SsHc?si=jmSDth5jnhaujKj_"&gt;Halestorm’s &lt;em&gt;Everest&lt;/em&gt;&lt;/a&gt;:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;It’s the shame, it’s the pain, something I can’t explain&lt;/p&gt;
&lt;p&gt;
It’s a noise, it’s a voice, and it screams in my brain&lt;/p&gt;&lt;p&gt;
It’s a curse, and it hurts, but I just keep going&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;It’s a fairly simple course: out from the slip to the island, two counter-clockwise loops, and a straight swim back. I stuck to my plan of executing one lap of the island (~2.5km) and then stopping for a feed. I think I only stopped for about a minute and just had a quick drink but it was a revelation! Feeding (or, as I told the kayaker, my picnic) made me feel like I could swim… forever?! It was also a fun and varied swim: calm heading out, then a bit of chop, then we were practically surfing with the waves behind us, and finally back to a serene bit of water.&lt;/p&gt;
&lt;p&gt;My goggles started fogging up after about 100m so I had to flip onto my back, take them off, spit into them, rinse them, and pop them back on.&lt;/p&gt;
&lt;p&gt;Garnish was an event (not a race) so there was no official timings or positions but my watch timed it at 1:30.31 for the 5km. For what it’s worth, Strava had me at 4th for those that recorded it, and 7th best time for that route. I don’t put a lot of stock in that but I felt &lt;em&gt;really&lt;/em&gt; good.&lt;/p&gt;
&lt;p&gt;The 2km Myrtleville Swim, postponed from June, was cancelled again. I reckon the stars will never align for me to complete that one.&lt;/p&gt;
&lt;h2&gt;September: The Great Fjord Swim&lt;/h2&gt;
&lt;p&gt;After Garnish Island I stopped really worrying about the Killary Fjord swim. I’d just swum 5km and I’d done 3.9km back in July so this should be a walk in the park. Right?&lt;/p&gt;
&lt;p&gt;My preparation wasn’t great with a few weeks of low mood, low energy, and conference travel getting in the way of some long training swims. Mostly I managed 3km sessions.&lt;/p&gt;
&lt;p&gt;A week out from the swim, the weather forecast looked pretty wet &amp;amp; windy. With a westerly windy, it would mean the wind coming from behind us on the first leg, and into our faces on the return journey.&lt;/p&gt;
&lt;p&gt;My plan was just to start reasonably close to the front of the wave, use the first kilometre to get settled, then nice calm swimming with long strokes into the turn. Then I knew we’d be into the wind and the chop, and it would be a higher tempo fight on the way home.&lt;/p&gt;
&lt;p&gt;The forecast materialised as predicted with 25kph winds, gusting 45kph, funnelling straight down the fjord but, apart from a rain shower as we walked down to the start line, it stayed dry for the swim. We even got a lovely rainbow and some blinding sunshine on the swim out. Thankfully the organisers had changed the route from a looping rectangular course to a straight out-and-back, sticking close to the shore where it wasn’t quite as lumpy.&lt;/p&gt;
&lt;p&gt;Today’s song was &lt;a href="https://www.youtube.com/watch?v=GWTNGMAH500"&gt;The Pretty Reckless’ &lt;em&gt;For I am Death&lt;/em&gt;&lt;/a&gt;:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;For I am death and I can feel&lt;/p&gt;
&lt;p&gt;
I got my hands upon the wheel&lt;/p&gt;&lt;p&gt;
I am not lost&lt;/p&gt;&lt;p&gt;
For I have found the only one&lt;/p&gt;&lt;p&gt;
Who put me down&lt;/p&gt;&lt;p&gt;
For I am death and I won’t break&lt;/p&gt;&lt;p&gt;
I got a life&lt;/p&gt;&lt;p&gt;
I’ve got to take&lt;/p&gt;&lt;p&gt;
When will it end, this sufferin’ of late?&lt;/p&gt;&lt;p&gt;
It was nice to know you&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;You might have wondered what thoughts go through a swimmer’s head as it’s being pounded by waves for an hour and a half, but you probably didn’t expect this man in his 40’s, wrapped in neoprene, to be saying “for I am death… for I am death… for I am death” on repeat.&lt;/p&gt;
&lt;p&gt;Things mostly went as I thought they would: I started well and got ahead of the pack. When my goggles started leaking after about 100m, I rolled onto my back to fix them and there was a few people ahead and no one on my feet. Yes, the same thing that happened in Garnish Island. I think I need a better system of getting the goggles race-ready.&lt;/p&gt;
&lt;p&gt;I continued for what felt like foreverrrrrr. The only notable events on the outbound leg was nearly missing a buoy because it was positioned closer to shore and I was sighting on the next one, and my tow float being constantly blown forward and banging into my elbows. The wind might have been with us but it was a pretty frustrating experience because on every single recovery the tow float would be blown into my arm.&lt;/p&gt;
&lt;p&gt;I  decided that I’d take a quick break at the second turning buoy. My fingers were already numb and I knew it was going to be a slog on the way home. I took 40secs to have a pee (don’t judge!) and stretch out the arms then I headed into &lt;em&gt;it&lt;/em&gt;.&lt;/p&gt;
&lt;p&gt;“It” was choppy waves that constantly slammed into my head, dug into my arm, or left me catching thin air. I channelled all the videos of Darragh swimming around Ireland or Ross battling through immense storms around Iceland. Conditions weren’t that bad, it wasn’t as far, and I wasn’t that good, but the visualisation helped a lot.&lt;/p&gt;
&lt;p&gt;I staggered out, leaning on a volunteer for support after 1:29:18; 31st overall and 9th in my age group. My watch measured the course at 4.5km though and this seemed to be corroborated by a few others. The time and placings might not look as god but I think it was the most competitive race I’d done and the conditions were easily the worst I’d swam through.&lt;/p&gt;
&lt;h2&gt;October-December&lt;/h2&gt;
&lt;p&gt;Bleugh. I wasn’t feeling in love with swimming for October and November and, even though I was on sabbatical for a month, I swam less than usual.&lt;/p&gt;
&lt;p&gt;Then I hurt my achilles. My &lt;em&gt;other ankle&lt;/em&gt;. I started this year with a busted left ankle and finished it with a busted right ankle. Thank god I’m a swimmer and not a runner.&lt;/p&gt;
&lt;p&gt;I started the SwimSmooth 10 week CSS challenge for something to do. My CSS test came out a little slower (1:36/100m) than in Mallorca and I didn’t decrease the CSS pace each week as I was supposed to.&lt;/p&gt;
&lt;p&gt;I really enjoyed one of the sessions each week which had 800m of drills, 400m of 50m fast/slow/tempos, 8x100m at CSS pace, then some variation of 1000m at CSS (400/300/200/100, or 2x 500m etc). I became a lot more comfortable swimming at my threshold pace and by Christmas I was struggling to swim slow enough! Instead of 1:35/100 I’d be hitting 1:30, 1:32, 1:32, 1:32 (no, I was really trying to go slow on that one), 1:32 (wtf!), 1:34… though I still struggled with the pace on longer intervals and I definitely still struggled with the rest times.&lt;/p&gt;
&lt;p&gt;With the short fast/slows in that set, I started wondering how hard a 1:00/100m sprint is. It’s fucking &lt;em&gt;hard&lt;/em&gt; and I’m waaaaaaayyyyy off (about 1:20). Still, it’s kind of an interesting medium-term goal. A 20m pool isn’t ideal because you hardly get going before you’re turning again, and I don’t usually tumble turn (I can—I just don’t like it and I’m not fast at it). Oh, and I can’t dive in this pool. Anyway, I played around with sprinting a bit for fun and managed to hit a 1:00 pace for a single length (12 secs for the 20m) and 1:07 for two. It’s a milestone. Maybe I’ll do something with it next year.&lt;/p&gt;
&lt;p&gt;The pool was closing early on the 23rd December and I got it into my head to attempt a long swim which might help me decide on some goals for next year. Like, a &lt;em&gt;really&lt;/em&gt; long swim. I chose 8km as a &lt;em&gt;potentially&lt;/em&gt; achievable distance though it would be my longest swim ever. 2x 400m, 12x 600m, and 2h40m later I got it done. Interestingly, I swam it at an average 1:42/100m pace which was the threshold pace I started off with in March and I’d have struggled to maintain for much more than 1000m back then. I spent the rest of the day on the couch!&lt;/p&gt;
&lt;p&gt;Whilst writing this I also discovered that I was just 2km shy of my highest annual total so, yeah, you bet I got in the pool and claimed that PB too.&lt;/p&gt;
&lt;h2&gt;Inspiring swims of the year&lt;/h2&gt;
&lt;p&gt;Instagram is my drug of choice for swim content and there was a &lt;em&gt;ton&lt;/em&gt; of inspiring swims to enjoy this year.&lt;/p&gt;
&lt;p&gt;It was incredible to watch &lt;a href="https://www.swimeire.ie/"&gt;Darragh Morgan’s swim around Ireland&lt;/a&gt; and &lt;a href="https://swimswam.com/ross-edgley-swims-1000-miles-around-iceland/"&gt;Ross Edgley’s swim around Iceland&lt;/a&gt;. Absolutely insane overall distances, insane daily distances, insane sea conditions. Insane. Loved them.&lt;/p&gt;
&lt;p&gt;Brian Foster did &lt;a href="https://www.southernstar.ie/news/kinsale-teen-brian-sets-trio-of-world-records-4337467"&gt;a triple Fastnet Swim&lt;/a&gt;, breaking the record for the one-way swim, and then breaking the record for the two-way swim, and being the first to complete the triple. Also insane.&lt;/p&gt;
&lt;p&gt;We also had the Olympics! Watching Ireland’s Daniel Wiffen win the 800m was a source of national pride. Bobby Finke’s amazing 1500m final was stunning from the start. “Can he hold on? Can he? He fucking can!”—I loved it even as he was beating Wiffen. And then there’s Katie Ledecky: I can’t get enough of watching her dominate the 1500m.&lt;/p&gt;
&lt;p&gt;I saw &lt;a href="https://www.instagram.com/catherine.breed/?hl=en"&gt;Catherine Breed’s&lt;/a&gt; Faralon Islands swim, &lt;a href="https://www.instagram.com/sarahswims04/"&gt;Sarah Thomas&lt;/a&gt; just repping out daily 10km swims for practice, &lt;a href="https://www.youtube.com/watch?v=R1z8aWxuRcQ"&gt;Hector Pardoe swimming the three longest lakes in the UK in under 24hrs&lt;/a&gt;, and &lt;a href="https://www.instagram.com/amy.swims/?hl=en"&gt;Amy’s&lt;/a&gt; double Windamere.&lt;/p&gt;
&lt;p&gt;David from the SwimSmooth Mallorca camp did a &lt;em&gt;double&lt;/em&gt; crossing of Lake Geneva. Paul was an inspiration again, winning the Oceanman 10km in Dubai and &lt;a href="https://blog.swimsmooth.com/p/getting-better-with-age"&gt;showing what your 40’s can look like&lt;/a&gt;.&lt;/p&gt;
&lt;h2&gt;Next?&lt;/h2&gt;
&lt;p&gt;I think before I got into the water in Lanesborough I realised I might have under-estimated myself; by the time I got out I knew I had. I was a bit apprehensive about the 5km swim in Garnish but I quickly proved to myself I could do it. And the 3.9km swim at Killary proved I swim in tough conditions—though it was a real slog.&lt;/p&gt;
&lt;p&gt;As soon as the Gaelforce Trilogy was over, I started looking ahead to swims I could complete in 2026. I’m inspired by these massive swims I see other people doing but I’m also resolutely uninterested in cold water—I just don’t enjoy it or find it rewarding, or invigorating, or feel the need to prove myself according to “channel rules”. I have no intention of swimming the English Channel.&lt;/p&gt;
&lt;p&gt;I’d like to do a 10km swim (a marathon distance for the runners still reading this indulgant rubbish). Or, more precisely, I think I’m capable of swimming 10km and I’d like to have done it. The actual &lt;em&gt;doing&lt;/em&gt; of it isn’t likely to be pleasant.&lt;/p&gt;
&lt;p&gt;As of New Year’s Eve, I’m thinking of redo-ing the Gaelforce Trilogy but this time as 12km for the river swim, 3.9km for the lake (still the longest at that event), and the new 8km distance for the fjord. I think the river is doable though remembering the look of those 12km swimmers I passed adds a bit of reality to my optimism. The fjord makes me nervous if only because it’s 8km, straight West into the prevailing wind, which might be howling like this year.&lt;/p&gt;
&lt;p&gt;I’m not sure I want to travel for swim races. The UK is convenient, and has a lot of events, but the water conditions aren’t good and there’s a lot more expense and logistics. I’d also like to do an Ultraswim (33.3km over 4 days) but not sure I make the dates work or convince myself I have the endurance for it. Very tempting though.&lt;/p&gt;
&lt;h2&gt;Random Reflections&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;Wave 2 is quite nice.&lt;/strong&gt; I enjoyed the less aggressive start line energy, relished the game of catching Wave 1 swimmers, and it was definitely easier having a constant stream of swimmers with their colourful tow floats to guide the way. That said, if I do it again next year I should be starting in Wave 1.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Advice to paddlers:&lt;/strong&gt; don’t bother talking to a swimmer when they are swimming. We can’t hear a thing with the sound of the water and some people need to use ear plugs. Pointing your arm or paddle in the direction is far more effective. You’re really more like a sheepdog that uses it’s body, not its bark, to control the sheep. Ideally position yourself to the left or right of the swim route and use your presence to shepherd swimmers in the right direction—we’ll try to steer away from you and the closer you get, the more urgently we’ll move. Mostly.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;I’ve taught myself to celebrate like an Olympian.&lt;/strong&gt; It’s all too easy for me to complete a tough set, maybe set a new PB, and get out of the pool, sit in the sauna, get changed, leave, and mention it to no one. Instead, I’ve started celebrating like I’ve just won the Olympics: shouting “YES!!”, “Fuck, yeah”, punching the water etc. The pool isn’t usually busy so I’m not disrupting any one though I probably appear like a lunatic. I don’t care. No one else knows what I’m doing, no one else cares or understands what I might have achieved, but my body does and it deserves to &lt;em&gt;physically&lt;/em&gt; celebrate that achievement. It deserves more than just a mental nod of approval and slinking off home.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Songs for swims.&lt;/strong&gt; A single line of lyrics on repeat can get me through a swim so I have a curated playlist now.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Feeding is great.&lt;/strong&gt; I need to do this more and it really opens up longer swims. There’s also a mindset change about not worrying about distance so much and thinking more about continuing for a certain &lt;em&gt;duration&lt;/em&gt;.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Numb fingers thing is annoying.&lt;/strong&gt; I think it could be Thorasic Outlet Syndrome (nerve restriction around the collarbone) and I’m going to investigate more in the new year to see if there are exercises I can do to reduce it.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Coaching and strength training.&lt;/strong&gt; I’ve been swimming ~3 times a week for about 12 years but in-person coaching and strength training in the past 2 years has brought my swimming to a completely new level. Don’t sleep on it (I wish I didn’t).&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Comparison is the thief of joy.&lt;/strong&gt; I’m not as good as &lt;em&gt;many&lt;/em&gt; other swimmers and there’s plenty of opportunities to remind myself of that. On the other hand, I’m practically elite compared to the general population and I’m much much better than past-Jamie.&lt;/p&gt;
&lt;/div&gt;
</ns0:encoded><pubDate>Wed, 31 Dec 2025 00:00:00 UTC</pubDate></item><item><title>What I can change</title><link>https://jamie.ideasasylum.com/2025/10/29/what-i-can-change</link><ns0:encoded xmlns:ns0="http://purl.org/rss/1.0/modules/content/">&lt;article class="mx-auto sm:mx-2 max-w-prose" morss_own_score="6.978428351309708" morss_score="11.47378438846141"&gt;
&lt;h1&gt;What I can change&lt;/h1&gt;
&lt;img src="https://jamie.ideasasylum.com/2025/10/29/what-i-can-change"&gt;
&lt;div class="prose dark:prose-invert prose-slate mt-2 sm:px-8 font-serif" morss_own_score="2.9907120743034055" morss_score="49.91025230418846"&gt;&lt;blockquote&gt;
&lt;p&gt;God, grant me the serenity to accept the things I cannot change, the courage to change the things I can, and the wisdom to know the difference.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;I think everyone has heard that before. I was vaguely familiar with it but it’s not a particularly core part of my life.&lt;/p&gt;
&lt;p&gt;Or so I thought.&lt;/p&gt;
&lt;p&gt;I’ve been reflecting a bit on larger-scale changes which are happening around me: the major geopolitical changes we’re seeing, the rise of AI, the latest Ruby drama, climate change, etc.&lt;/p&gt;
&lt;p morss_own_score="7.0" morss_score="11.0"&gt;I realise now that my default response is to understand how to navigate this world as it &lt;em&gt;is&lt;/em&gt;, not change it to how I believe it &lt;em&gt;should&lt;/em&gt; be. Perhaps it’s the swimmer and the stoic in me: I’m swimming in the sea, adjusting my stroke, sighting for landmarks, and ploughing on because I can’t change the conditions. I can only change how I respond to them.&lt;/p&gt;
&lt;p&gt;I can’t wish for the wind to stop blowing waves into my face when I breathe but I can turn my head to the other side. I can’t change the water temperature but I can have predicted these conditions and trained for it (or worn a wetsuit). I can’t make the fog lift but I can remember the course, sight more frequently, and follow other swimmers or the directions of kayakers. I can’t do anything when a storm cancels a swim but I can be ready if it doesn’t.&lt;/p&gt;
&lt;p&gt;Others, I’ve noticed, are not like this. Perhaps stronger or braver, they rage against this tide. They scream at the injustice of it—as if life was supposed to be fair—and they rally others to the cause. They see a delta between how the world is and how they believe the world should be, and they believe they can change it. I guess? Or, at least, they seem to expend significant energy complaining about it.&lt;/p&gt;
&lt;p&gt;I don’t.&lt;/p&gt;
&lt;p&gt;That person is who they are. That company does what it does. That country is what it is. That government is exactly what they said they were. That situation happened. That technology does what it does. This industry is going that way. The climate is getting worse. Those incentives are aligned to inevitably produce this outcome. People are going to be who they are. I am who I am.&lt;/p&gt;
&lt;p&gt;I can’t change much of that.&lt;/p&gt;
&lt;p&gt;I’m so small in this world that all I can do is figure out what has happened or predict what’s going to happen, how that affects me (if at all), and how I react to it. I have control over myself, some influence over others around me, and a vanishingly small effect on the rest of the world.&lt;/p&gt;
&lt;p&gt;This is mostly how I’m thinking about AI: It’s inevitable. There is so much money aligned behind AI that the incentives for powerful people, and frankly the entire US economy, mean that AI is going to be pushed and pushed and pushed. And even with the simplest of tasks and the most naive implementation, the hint at value is there. This is not crypto. This is not a solution searching for a problem that normal people have (who aren’t money launderers)&lt;sup&gt;&lt;a href="https://jamie.ideasasylum.com/2025/10/29/what-i-can-change#fn:1"&gt;1&lt;/a&gt;&lt;/sup&gt;. AI is going to be widely available, widely distributed, and widely integrated.&lt;/p&gt;
&lt;p&gt;Once you accept that AI is going to be a thing, you can start figuring out if it’s  going to affect you (undoubtedly, yes). Then you can start plotting how you’ll react to it.&lt;/p&gt;
&lt;p&gt;The future is the sea, AI is the prevailing weather conditions, and your career is the course you need to plot. What are you going to do about it? How will you adapt your stroke? How will you change your mindset? What need equipment or skills do you need? Or are you withdrawing from the race?&lt;/p&gt;
&lt;p&gt;Putting your head in the sand, ignoring AI, protesting against its use or the crimes of its evangelical creators, or hoping it’ll go away is a losing strategy. It’s exhausting, it’s depressing, and it simply delays your actual reaction to the situation. It’s not getting you anywhere.&lt;/p&gt;
&lt;p&gt;Stop screaming into the storm and start learning how to swim in it.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;Ironically, I actually think AI might provide a legitimate use-case for crypto if stablecoins are used for Agent-to-Agent commerce. We’ll see if that actually becomes a thing. It still feels like a solution searching for a problem. &lt;a href="https://jamie.ideasasylum.com/2025/10/29/what-i-can-change#fnref:1"&gt;↩&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;

&lt;/div&gt;
&lt;/article&gt;
</ns0:encoded><pubDate>Wed, 29 Oct 2025 00:00:00 UTC</pubDate></item><item><title>Why you need to adopt AI (as a software engineer)</title><link>https://jamie.ideasasylum.com/2025/10/24/why-you-need-to-adopt-ai-(as-a-software-engineer)</link><ns0:encoded xmlns:ns0="http://purl.org/rss/1.0/modules/content/">&lt;div class="prose dark:prose-invert prose-slate mt-2 sm:px-8 font-serif" morss_own_score="2.9438567941415785" morss_score="206.72326855884745"&gt;&lt;p&gt;Look, I get it, you’re sick to death of hearing about AI. It’s in the news, it’s all over social media, it’s in your favourite apps, and the slop is infecting every corner of your world. You just want to go outside, touch grass, and hope the whole thing goes away.&lt;/p&gt;
&lt;p&gt;I have devastating news for you: it’s not going away.&lt;/p&gt;
&lt;p&gt;I’m not a AI-evangalist, and I’m not an AI-luddite. I’m something much more nuanced because life, and humans, are messy and not easily categorised into a divisive binary system (hello, US politics!). So I’d like to explain my position with probably an excruciating amount of detail…&lt;/p&gt;
&lt;h2&gt;What is AI?&lt;/h2&gt;
&lt;blockquote&gt;
&lt;p&gt;AI is a label that you apply to a product that’s worse than the alternative product without AI but it sells for more money&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;j/k, kinda.&lt;/p&gt;
&lt;p&gt;I’m mean, that’s basically a true reflection of our frothy bubble-like times but it’s not particularly useful.&lt;/p&gt;
&lt;p&gt;AI is ‘Artificial Intelligence’, a field of academic research that’s almost 70 years old (the term was coined in 1956) and covers everything from speech recognition, robotics, computer vision, agent-based simulations, neural networks, machine learning, genetic algorithms, etc etc. It’s incredibly broad and has been widely taught in colleges for the past 30 years. It is not new.&lt;/p&gt;
&lt;p&gt;You will be familiar with many spin-offs of AI and they probably have a place in your home or pocket. Face recogition in your camera. Siri and Alexa. The entire personalised ad industry of the Internet. Book recommendations. Robot vacuums and lawnmowers. Grocery store vouchers. Fitness watches with their activity detection, analysis, and prediction. Gmail spam detection. Voicemail transcription. Google Translate. Non-playable characters in video games.&lt;/p&gt;
&lt;p&gt;AI is a broad field spanning all the way from cognitive science to computer science. It’s not all uncanny videos of 6-fingered/three-armed women and mediocre writing. That’s just how the current crop of AI companies, led by OpenAI, have claimed the word for themselves to specifically refer to systems based on Large Language Models (LLMs).&lt;/p&gt;
&lt;p&gt;I am more than little bit peeved the ‘AI’ name has been captured by such a narrow part of the field but that battle is lost now. The broader AI field will still be around, providing hugely diverse and interesting research, for decades to come.&lt;/p&gt;
&lt;p&gt;It’s this AI-as-LLMs that we need to discuss today.&lt;/p&gt;
&lt;p&gt;The last few years can be summarised as:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;the latent potential of decades of research into neural networks +&lt;/li&gt;
&lt;li&gt;the invention of &lt;a href="https://en.wikipedia.org/wiki/Attention_Is_All_You_Need"&gt;the transformer architecture&lt;/a&gt; +&lt;/li&gt;
&lt;li&gt;the availability a massive training corpus in the Internet +&lt;/li&gt;
&lt;li&gt;rapidly increased computational power (particularly in GPUs that excel at vector arithmetic) +&lt;/li&gt;
&lt;li&gt;and the recognition by commercial companies that injecting large amounts of capital into this machine could now produce meaningfully-useful results.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;That’s the basic ingredients for the AI boom we’re experiencing.&lt;/p&gt;
&lt;h2&gt;Is it all just a stinking pile?&lt;/h2&gt;
&lt;p&gt;All this enthusiasm has created a lot of noise. There’s a sudden gold rush to figure out what this technology can do and who will pay for it. The enthusiasm is exploding outwards in every direction with lots of energy, no direction, and no consideration for what’s in its way.&lt;/p&gt;
&lt;p&gt;Most of it, I think, is dross.&lt;/p&gt;
&lt;p&gt;It ranges from the pointless, to the awful, to the dangerous.&lt;/p&gt;
&lt;p&gt;Actually, there’s quite a lot of danger because &lt;a href="https://jamie.ideasasylum.com/2025/10/15/you-are-the-scariest-monster-in-the-woods"&gt;the scariest monsters in the woods&lt;/a&gt; (powerful people) just get scarier when you equip them with AI. For example, t’s never been easier or cheaper to &lt;a href="https://www.thejournal.ie/catherine-connolly-ai-deepfake-condemns-6851912-Oct2025/"&gt;create fake videos of presidential candiates dropping out of the election&lt;/a&gt; in an effort to subvert democracy.&lt;/p&gt;
&lt;p&gt;And there’s a lot more bad news to go around…&lt;/p&gt;
&lt;p&gt;Mass copyright-infringement. Forced adoption by companies. Life-altering decisions being made by AI. Incomprehensible amounts of energy usage during a time of a climate crisis. Hallucinations. Six-fingered women. Data centers. A pyramid scheme of investments holding up the entire AI industry (and US economy). Inhuman standards of beauty. Synthetic relationships. AGI. Goodbye searching Google; Hello asking ChatGPT. Life-threatening “medical” advice. AI-suicides. Misinformation. Disinformation. Lack of critical thinking. The mass-transformation of jobs for people into AI-revenue concentrated in just one or two companies. Did I mention the six-fingered women? Sometimes they have three arms too. Vibe-coding. AI-drones. AI-intelligence gathering. AI-enabled browsers snooping on your web activity. Adverts generated on-demand tailored just to you. Sycophantic responses. “I’m sorry, you’re right”. Slop.&lt;/p&gt;
&lt;p&gt;That’s a lot to be worried about. A lot to be pissed off about.&lt;/p&gt;
&lt;p&gt;But maybe not everything is bad; maybe there is some value to be found in this pile of shit.&lt;/p&gt;
&lt;h2&gt;What you do need to care about&lt;/h2&gt;
&lt;p&gt;Right now there is &lt;em&gt;billions&lt;/em&gt; of dollars being poured into AI technology. It’s flowing into the few major players (OpenAI, Anthropic), it’s being reinvested inside the likes of Facebook and Google, and it’s trickling down into any company that can slap “AI” on the side of their product. The scale of the money involved is so large that there are convincing arguments that AI is the only thing propping up the US economy right now.&lt;/p&gt;
&lt;p&gt;With all this money on the line, there’s a lot of marketing going on and it’s broadly targeted at the decision makers in government and commerce. Every country seems to need an AI strategy now. We’ve seen Shopify, Coinbase, Intercom, and host of other companies go “AI-first”.&lt;/p&gt;
&lt;p&gt;Every department in our businesses is being hit with the AI wand, some more successfully than others. Support is moving increasingly to AI-chatbots. Emails are being summarised. Documents are being spruced up. Spreadsheet formulas are being calculated. Automation is being handed off to AI.&lt;/p&gt;
&lt;p&gt;And software development? Every single CEO is now asking, “if OpenAI can have AI write 80% of their code, why can’t we?”.&lt;/p&gt;
&lt;p&gt;So, what’s our answer?&lt;/p&gt;
&lt;p&gt;We’re engineers and inventing, building, using, understanding, and evaluating technologies is what we do. We’re &lt;em&gt;supposed&lt;/em&gt; to be curious about this stuff! When someone hands us a puzzle, we figure out how it works.&lt;/p&gt;
&lt;p&gt;It takes only a cursory use of an AI-coding tool to realise that there’s definitely &lt;em&gt;some&lt;/em&gt; value here as a developer. Perhaps you ask Claude to brainstorm a new approach for processing webhooks in your application. Or you give it a SQL query and ask it to suggest optimisations. Or you just experience an inline suggestion in your editor that autocompletes exactly the next line you were about to type.&lt;/p&gt;
&lt;p&gt;There is no denying that there’s the hint of value here. How much? What’s the extent of it’s usefulness? How can we make the most of it? How does it fit into the wider human and technical &lt;em&gt;systems&lt;/em&gt; of software development?&lt;/p&gt;
&lt;h2&gt;Why sitting this out is not an option&lt;/h2&gt;
&lt;p&gt;I know there are many sceptical developers out there seeing AI either as a threat or a fad.&lt;/p&gt;
&lt;p&gt;As I mentioned previously, there’s much not to like about the AI industry right now and we should be rightly concerned about many of the ways it’s being used and the consequent effects on society.&lt;/p&gt;
&lt;p&gt;I also think we can separate out those troublesome uses of AI from the AI tools in our own domain. We can simultaneously hold the view that AI videos threaten democracy whilst also believing that AI coding assistants can improve our work—they are not mutually-exclusive views.&lt;/p&gt;
&lt;h3&gt;Know your enemy&lt;/h3&gt;
&lt;p&gt;You can’t figure out the value or limitations of AI by ignoring it.&lt;/p&gt;
&lt;p&gt;You need to use it and explore it to really understand it and, after giving it a genuine attempt, you are left with two outcomes. In the best case, the AI helps you do your job. Win! In the worst case, you can start to push back against the self-interested AI-crusaders that are red-pilling our entire industry—not with vague thoughts about your “craft” but actual data, knowledge, and experiences you’ve gained using AI.&lt;/p&gt;
&lt;p&gt;If you’re an AI-sceptic, then I think it’s imperative you start to learn this new tool because you cannot adequately question something you haven’t spent the time trying to understand. Your arguments will only get stronger as you become an expert in the use of AI.&lt;/p&gt;
&lt;p&gt;We’ve seen over and over again that the output of AI systems can look very authentic and convincing to the untrained eye. Ask ChatGPT for a swim set and it’ll give you back one but a real swim coach will poke holes in it. Likewise, a recipe from Claude is perfectly plausible until you try to bake it.&lt;/p&gt;
&lt;p&gt;As software engineers, we are both the best placed to evaluate AI’s ability to produce software and &lt;em&gt;the only ones that should do so&lt;/em&gt;. If we leave it to the non-technical person that just vibe-coded their first web app, or the CEO’s listening to the latest AI sales pitch, then of course all we’ll hear is how amazing AI is for coding.&lt;/p&gt;
&lt;p&gt;If we really want to know how good or bad it is, we need engineers to explore it.&lt;/p&gt;
&lt;h3&gt;Game theory-ing your career&lt;/h3&gt;
&lt;p&gt;You might like to wish for a world without AI.&lt;/p&gt;
&lt;p&gt;You might like to believe that if you can just ignore it for a few more months then it will all blow over and next year Claude Code and Cursor will be the Bored Apes of 2025: embarrassing, laughable, forgotten.&lt;/p&gt;
&lt;p&gt;I think you’re playing a game akin to the Prisoner’s Dilemma with your career.&lt;/p&gt;
&lt;p&gt;You’re assuming that if you don’t embrace AI, and &lt;em&gt;no other developer&lt;/em&gt; embraces it, then it will die on the vine. Except, if other developers do embrace it and learn how to use it well, they will be more productive and more valuable than you are.&lt;/p&gt;
&lt;p&gt;A developer using AI well, will be more productive than a developer without it. A developer using it badly is worse than both. Who are you going to be? Who is a business going to hire?&lt;/p&gt;
&lt;p&gt;In the Prisoner’s Dilemma, if one prisoner defects (i.e., embraces AI), then the other prisoner is subjected to an even longer sentence. That’s going to translate to a massive disadvantage in our careers from not getting promotions, to poor performance reviews, to being the first on the firing list, and missing out on job opportunities.&lt;/p&gt;
&lt;p&gt;There is no universe where your colleagues and competitors in the job market aren’t going to utilise a tool if it gave them even a 10-20% productivity boost. Wishing for broad non-compliance is a losing strategy.&lt;/p&gt;
&lt;h3&gt;Bubbles won’t save you&lt;/h3&gt;
&lt;p&gt;Perhaps you’ve seen the absurd amounts of money being invested in AI, noted that Nvidia appears to basically be paying companies to buy its own product, and you’ve seen the huge losses these companies are racking up with each AI query their users execute.&lt;/p&gt;
&lt;p&gt;You think this is a bubble. You’re probably right.&lt;/p&gt;
&lt;p&gt;You think that when the bubble bursts, all this AI stuff will go away. You’re wrong.&lt;/p&gt;
&lt;p&gt;After the dotcom bubble burst, e-commerce did not die. At the same time in Europe, the telecoms crash did not scupper 3G networks (or 4G, or 5G, or the iPhone, or Android). The housing crash of 2008 didn’t kill off houses, mortgages, or banks.&lt;/p&gt;
&lt;p&gt;Those events culled the dead and defective companies but it didn’t off the industry entirely. The bubble will (probably) burst but the useful AI tools will survive.&lt;/p&gt;
&lt;h3&gt;It might actually improve your (work) life&lt;/h3&gt;
&lt;p&gt;I was a Java developer for more than 10 years before I discovered Ruby on Rails. That jump from verbose, type-ridden code to method-missing magic and duck-typing was weird. It was very uncomfortable to leave behind the safety of types, compilation, and large comment blocks.&lt;/p&gt;
&lt;p&gt;But through that discomfort I discovered a language which I adore and one that fulfills my goals much better than Java did. Equally, adopting Java in the first place back in ’97 wasn’t an easy path: no one was hiring for this very new, and very slow language. The easy choice at the time was C++.&lt;/p&gt;
&lt;p&gt;And over the years, we’ve all had to learn new editors, new libraries, new languages, new processes, new version control. Or perhaps you’re still young enough that you haven’t but I’m here to tell you that you will need to learn new things.&lt;/p&gt;
&lt;p&gt;That new thing today is AI.&lt;/p&gt;
&lt;p&gt;It &lt;del&gt;might&lt;/del&gt; will be weird and uncomfortable initially but it might also help improve your work and many of the stressors that come with it.&lt;/p&gt;
&lt;p&gt;There is the concern that all this “progress” will put ourselves out of a job once the AI gets good enough. I’m sorry to tell you this (if you have investment in AI companies) but the AI is not going to get good enough. Our teams of developers are not going to be replaced with agents running 24/7 because the fundamental architecture of the systems is statistical not logical. The LLMs have no conceptual model of a system, or its dependencies, its flows, and its constraints. They are “just” a very sophisticated language prediction engine.&lt;/p&gt;
&lt;p&gt;It’s incredibly innovative to solve problems by providing the context in natural language, appending the question, then getting the AI to predict the appropriate answer. That’s a &lt;em&gt;stunning&lt;/em&gt; development in human technology—but I think it has its limits and we may already be seeing a slow-down in AI progress. Without any conceptual understanding, I think there will always be a role for human minds.&lt;/p&gt;
&lt;p&gt;I may be biased because I have always run small teams that punch above their weight, working on systems that our competitors have teams multiple times our size to manage. We achieved this, frankly, by having to be more ruthless about the work we take on. There are are so many good ideas, must-do’s and should-do’s that we don’t do because we’re small and so we have to focus only on the very highest priorities.&lt;/p&gt;
&lt;p&gt;I don’t see AI being a threat to our team size in any way. I don’t think we’ll ever need fewer developers but I am enthusiastic about being able to tackle more of those good ideas. I’m hopeful that AI can help us achieve things that were previously too high-effort and lower down our priority list. That we can file off the rough edges which we’ve worked around for years.&lt;/p&gt;
&lt;p&gt;I’m actually really hopeful that AI can lower the cognitive load for the team. I wrote recently about how I consider that to be one of our biggest scaling challenges and it’s something that concerns me a lot. A pair of developers might be working on a new feature for a few weeks/months and become familiar with it but it’s a massive workload to then jump to fixing a bug in another area of the app. Can AI, like Neo in The Matrix, load up that context into our brains faster? Can it help us summarise and map out the codebase? Can it remind us about a feature which is dependent on the current behaviour?&lt;/p&gt;
&lt;p&gt;I think there is a massive opportunity beyond “AI writes code”. I think constraining your thinking to AI-generated code is frankly, Level 1 thinking. It’s “mid”, as the kids might say. We never hired the programmers with the fastest typing skills (at least, not since the 1950’s). We have never felt like what has held our product back is the lack of a faster typist—because typing is not the bottleneck. And frankly, code is not the end goal either.&lt;/p&gt;
&lt;p&gt;We participate in a &lt;em&gt;system&lt;/em&gt; of software development. &lt;em&gt;Part&lt;/em&gt; of that system is the physical typing of the code into the machine but it’s not even the hard part or interesting part. The hardest bits are knowing &lt;em&gt;what&lt;/em&gt; to type: whether that’s product decisions, or architecture decisions, or decisions around maintainability or performance.&lt;/p&gt;
&lt;p&gt;This is where the magic happens. In our heads, not our fingers.&lt;/p&gt;
&lt;/div&gt;
</ns0:encoded><pubDate>Fri, 24 Oct 2025 00:00:00 UTC</pubDate></item><item><title>You are the scariest monster in the woods</title><link>https://jamie.ideasasylum.com/2025/10/15/you-are-the-scariest-monster-in-the-woods</link><ns0:encoded xmlns:ns0="http://purl.org/rss/1.0/modules/content/">&lt;article class="mx-auto sm:mx-2 max-w-prose" morss_own_score="7.0" morss_score="11.5"&gt;
&lt;h1&gt;You are the scariest monster in the woods&lt;/h1&gt;
&lt;img src="https://jamie.ideasasylum.com/2025/10/15/you-are-the-scariest-monster-in-the-woods"&gt;
&lt;div class="prose dark:prose-invert prose-slate mt-2 sm:px-8 font-serif" morss_own_score="3.0" morss_score="38.0"&gt;&lt;p morss_own_score="7.0" morss_score="9.0"&gt;I don’t really believe in the threat of AGI (Artificial General Intelligence—human-level intelligence) partly because I don’t believe in the &lt;em&gt;possibility&lt;/em&gt; of AGI and I’m highly skeptical that the current technology underpinning LLMs will provide a route to it. But I also think there’s something we should actually be afraid of long before AGI, if it ever comes.&lt;/p&gt;
&lt;p&gt;When talking about humans in any context, whether it’s us vs sharks, or us vs wolves, or us vs &amp;lt;insert anything that scares us&amp;gt;, and especially when it’s us vs &amp;lt;some technology&amp;gt;, I am reminded of The Gruffalo. In this children’s story, a timid mouse convinces a scary monster (The Gruffalo) that the mouse is the scariest animal in the woods. In reality though, the forest animals are frightened of the Gruffulo with it’s terrible tusks, and terrible claws, and terrible teeth.&lt;/p&gt;
&lt;p&gt;&lt;img src="https://jamie.ideasasylum.com/images/gruffalo-ai.jpg"&gt;&lt;/p&gt;
&lt;p morss_own_score="7.0" morss_score="9.0"&gt;We (humans) are the scariest animal in the woods. We’re the scariest animal &lt;em&gt;anywhere&lt;/em&gt;. At any time, in any location, under any circumstances, if there’s a human present then that’s the scariest motherfucker in the woods. We’re a danger to every living thing, ourselves included. Our collective ability to survive, adapt, control, kill, or wipe out any other species is unmatched.&lt;/p&gt;
&lt;p&gt;Anyone trying to tell you otherwise is trying to distract you. AI is not the monster to be afraid of; we are.&lt;/p&gt;
&lt;p&gt;Just like a hammer, sword, or a rifle lying on a ground is nothing to be feared, so too is AI. It’s just an inanimate object; a tool, potentially. Now, if you equip humans with a hammer, or sword, or rifle, or AI then you’ve just made the scariest monster in the woods (that’s you) even more terrifying.&lt;/p&gt;
&lt;p&gt;To bring this around to more concrete thoughts: I do not believe that AI will enslave us, destroy our democracies, or our environment, or rob us of our skills, our purpose, or our jobs. That’s what humans will do. What we’ve always tried to do.&lt;/p&gt;
&lt;p&gt;We don’t need to worry about AI itself, we need to be concerned about what “humans + AI” will do. Humans will do what they’ve always tried to do—gain power, enslave, kill, control, exploit, cheat, or just be lazy and avoid the hard work—but now with new abilities that we couldn’t have dreamed of.&lt;/p&gt;
&lt;p&gt;I’m not saying “don’t worry”. I’m saying don’t worry about the technology of AI and continue to recognise that humans, and how they will use a technology, has always been our biggest threat.&lt;/p&gt;
&lt;p morss_own_score="7.0" morss_score="11.0"&gt;The means accepting that AI isn’t something passively happening to us. It’s not a meteor heading towards Earth that we play no part in it or have no control over. It’s a thing &lt;em&gt;we’re&lt;/em&gt; building, for other &lt;em&gt;humans&lt;/em&gt; to use. We’re not building AI for gerbils here. How would we like other humans to use AI? How would we not like them to use it? We’re building and using this technology but pretending that unlike cars, and guns, and knives, and nuclear weapons, that we are powerless to understand, control, or regulate it for the betterment of humanity.&lt;/p&gt;
&lt;p&gt;The scariest monster in the woods just got scarier and we can’t ignore that.&lt;/p&gt;
&lt;/div&gt;
&lt;/article&gt;
</ns0:encoded><pubDate>Wed, 15 Oct 2025 00:00:00 UTC</pubDate></item><item><title>Podia at scale</title><link>https://jamie.ideasasylum.com/2025/09/02/podia-at-scale</link><ns0:encoded xmlns:ns0="http://purl.org/rss/1.0/modules/content/">&lt;article class="mx-auto sm:mx-2 max-w-prose" morss_own_score="7.0" morss_score="11.5"&gt;
&lt;h1&gt;Podia at scale&lt;/h1&gt;
&lt;img src="https://jamie.ideasasylum.com/2025/09/02/podia-at-scale"&gt;
&lt;div class="prose dark:prose-invert prose-slate mt-2 sm:px-8 font-serif" morss_own_score="3.0" morss_score="38.0"&gt;&lt;p&gt;I’m attending the Rails At Scale event prior to RailsWorld in Amsterdam and attendees were asked to provide a brief piece of the challenges of using Rails “at scale” (for whatever scale means to us).&lt;/p&gt;
&lt;p&gt;I wrote a revised piece but unfortunately discovered the email to Amanda sitting in my drafts folder after the submission deadline. Duh! 🤦‍♂️&lt;/p&gt;
&lt;p&gt;So, here’s my piece about the scaling challenges that Podia faces—lightly edited for public consumption…&lt;/p&gt;
&lt;h2&gt;Overview&lt;/h2&gt;
&lt;p&gt;Podia is a 10 year old Rails codebase that enables tens of millions of $ of digital product sales each month, from tens of thousands of creators, to millions of their audience members. We have an extremely broad product—a website builder; a checkout handling one-time purchases, subscriptions, coupons, taxes, upsells etc; an email designer with campaigns and automations; a digital product creator for courses, digital downloads, webinars; a blog with comments and embeds; a community with complex topic enrollments; and all the associated admin infrastructure—all built and maintained by a small team of just 10 developers.&lt;/p&gt;
&lt;h2&gt;Our scaling challenges&lt;/h2&gt;
&lt;p&gt;Our most pressing scaling issues are not what people traditionally refer to when they say “Rails doesn’t scale”.&lt;/p&gt;
&lt;p&gt;We have those types of technical challenges too, like wrangling response times, N+1 queries, background processing queues, DDoS attacks, and stampeding herds of webhooks, but they all seem pretty solvable with time and attention.&lt;/p&gt;
&lt;p&gt;And unlike much larger companies, we don’t have the challenge of scaling teams sizes whilst maintaining culture fit, quality, alignment, and standards. We rarely hire and aim to maintain our existing size.&lt;/p&gt;
&lt;p&gt;No, our biggest scaling challenges are around how we can do more, at a higher quality, without increasing team size.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;How do we scale each developer’s capability to work effectively in the face of increasing complexity?&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;This manifests itself in solving problems like:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Understanding the codebase when you haven’t worked on that feature in years. We don’t have permanent domain experts as people cycle through new projects, in new areas of the product, with some features remaining untouched for up to 6 years.&lt;/li&gt;
&lt;li&gt;Reducing in-progress work and cycle times by employing feature flags, data migrations (almost constantly!), and trying to to keep CI times down. Momentum is extremely important so we ship code many times per day.&lt;/li&gt;
&lt;li&gt;Meeting high product quality goals (such as design consistency, integrated features, and attention to edge cases) without increasing cognitive complexity.&lt;/li&gt;
&lt;li&gt;Managing complex routes files and large numbers of controllers (thanks, Turbo).&lt;/li&gt;
&lt;li&gt;Pruning old code after refactoring, when so much of Rails is implicitly-coupled (e.g. partials, routes, i18n)&lt;/li&gt;
&lt;li&gt;The Rails Way is usually too simple for our needs and more advanced usage—something as simple as extend in routes.rb or namespacing models/controllers—is not widely discussed. Sometimes we need to radically extend Rails features (e.g. ActiveStorage) and sometimes replace them entirely (ActionText)&lt;/li&gt;
&lt;li&gt;We needed to adopt alternative rendering systems like ViewComponents to manage our design system complexity.&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/article&gt;
</ns0:encoded><pubDate>Tue, 02 Sep 2025 00:00:00 UTC</pubDate></item></channel></rss>