<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Weblog on Abban Dunne - Fix your hearts or die</title><link>https://abandon.ie/posts/</link><description>Recent content in Weblog on Abban Dunne - Fix your hearts or die</description><generator>Hugo</generator><language>en-GB</language><lastBuildDate>Wed, 10 Dec 2025 00:00:00 +0000</lastBuildDate><atom:link href="https://abandon.ie/posts/index.xml" rel="self" type="application/rss+xml"/><item><title>Please, Leave Me Behind</title><link>https://abandon.ie/posts/2025-12-10---please-leave-me-behind/</link><pubDate>Wed, 10 Dec 2025 00:00:00 +0000</pubDate><guid>https://abandon.ie/posts/2025-12-10---please-leave-me-behind/</guid><description>&lt;p>When I didn&amp;rsquo;t learn Rails I wasn&amp;rsquo;t left behind.&lt;/p>
&lt;p>When I didn&amp;rsquo;t move all my databases to MongoDB I wasn&amp;rsquo;t left behind.&lt;/p>
&lt;p>When I didn&amp;rsquo;t go serverless I wasn&amp;rsquo;t left behind.&lt;/p>
&lt;p>When I didn&amp;rsquo;t learn React I wasn&amp;rsquo;t left behind.&lt;/p>
&lt;p>When I didn&amp;rsquo;t make all my things microservices I wasn&amp;rsquo;t left behind.&lt;/p>
&lt;p>When I didn&amp;rsquo;t learn functional programming I wasn&amp;rsquo;t left behind.&lt;/p>
&lt;p>When I didn&amp;rsquo;t use blockchain I wasn&amp;rsquo;t left behind.&lt;/p></description></item><item><title>Game Dev Thursday 25th July 2024</title><link>https://abandon.ie/posts/2024-07-25---game-dev-thursday/</link><pubDate>Thu, 25 Jul 2024 00:00:00 +0000</pubDate><guid>https://abandon.ie/posts/2024-07-25---game-dev-thursday/</guid><description>&lt;p>It&amp;rsquo;s been a long time since I made a WIP update on here but I&amp;rsquo;ve been very busy. Fuck so busy. I&amp;rsquo;ve been learning and applying web accessibility in my job which it turns out is extremely rewarding work, and it makes it hard to focus with intensity on 2 separate ongoing projects that I&amp;rsquo;m very invested in. But in that I still managed to get a lot of things done on the game. I&amp;rsquo;m so tired.&lt;/p></description></item><item><title>TODO Or To Not TODO</title><link>https://abandon.ie/posts/2024-04-09---todo-or-to-not-todo/</link><pubDate>Tue, 09 Apr 2024 00:00:00 +0000</pubDate><guid>https://abandon.ie/posts/2024-04-09---todo-or-to-not-todo/</guid><description>&lt;p>&lt;strong>I don&amp;rsquo;t like TODOs.&lt;/strong>&lt;/p>
&lt;p>I can concede they have some benefits, I often use them when I&amp;rsquo;m working on a thing to indicate stuff I still have to finalise in &lt;em>Draft Code&lt;/em>. They&amp;rsquo;re short-lived indicators of open branches in the code, or things that need to be updated when other things are changed. They&amp;rsquo;re reminders of things left to be done and for early reviewers to get a sign of things that are still in progress so they don&amp;rsquo;t waste time on reviewing something.&lt;/p></description></item><item><title>Game Dev Friday 29th Mar 2024</title><link>https://abandon.ie/posts/2024-03-29---game-dev-friday/</link><pubDate>Fri, 29 Mar 2024 00:00:00 +0000</pubDate><guid>https://abandon.ie/posts/2024-03-29---game-dev-friday/</guid><description>&lt;p>The last few weeks I&amp;rsquo;ve been making props and fleshing out a little bit of world to plop some quests into.&lt;/p>
&lt;h2 id="hay-bales">Hay Bales&lt;/h2>


 
		&lt;div style="position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden;" class="youtube">
			&lt;iframe allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" allowfullscreen="allowfullscreen" loading="eager" referrerpolicy="strict-origin-when-cross-origin" src="https://www.youtube.com/embed/_cn9Tvc6OFQ?autoplay=0&amp;controls=1&amp;end=0&amp;loop=0&amp;mute=0&amp;start=0" style="position: absolute; top: 0; left: 0; width: 100%; height: 100%; border:0;" title="YouTube video"
			>&lt;/iframe>
		&lt;/div>
&lt;h2 id="village">Village&lt;/h2>


 
		&lt;div style="position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden;" class="youtube">
			&lt;iframe allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" allowfullscreen="allowfullscreen" loading="eager" referrerpolicy="strict-origin-when-cross-origin" src="https://www.youtube.com/embed/V1GQuBOJZzA?autoplay=0&amp;controls=1&amp;end=0&amp;loop=0&amp;mute=0&amp;start=0" style="position: absolute; top: 0; left: 0; width: 100%; height: 100%; border:0;" title="YouTube video"
			>&lt;/iframe>
		&lt;/div></description></item><item><title>How I Do Factories In Unity</title><link>https://abandon.ie/posts/2024-02-26---factory-pattern-in-unity/</link><pubDate>Mon, 26 Feb 2024 00:00:00 +0000</pubDate><guid>https://abandon.ie/posts/2024-02-26---factory-pattern-in-unity/</guid><description>&lt;p>I spent this week backfilling unit tests and have no progress to show off. But, I&amp;rsquo;ve been meaning to document the patterns I use to build my game architecture for about a year now so here goes with the first one.&lt;/p>
&lt;p>This is not an opinionated guide on how to do factories, probably not even the best pattern for it, but &lt;em>it is the way I like to do it&lt;/em>.&lt;/p></description></item><item><title>Game Dev Monday 19th Feb 2024</title><link>https://abandon.ie/posts/2024-02-19---game-dev-monday/</link><pubDate>Tue, 20 Feb 2024 00:00:00 +0000</pubDate><guid>https://abandon.ie/posts/2024-02-19---game-dev-monday/</guid><description>&lt;p>This week I refactored my input system, and added the first flows for the quest system&lt;/p>
&lt;h2 id="accepting-quests">Accepting Quests&lt;/h2>


 
		&lt;div style="position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden;" class="youtube">
			&lt;iframe allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" allowfullscreen="allowfullscreen" loading="eager" referrerpolicy="strict-origin-when-cross-origin" src="https://www.youtube.com/embed/2rJf5LvrEjY?autoplay=0&amp;controls=1&amp;end=0&amp;loop=0&amp;mute=0&amp;start=0" style="position: absolute; top: 0; left: 0; width: 100%; height: 100%; border:0;" title="YouTube video"
			>&lt;/iframe>
		&lt;/div></description></item><item><title>Game Dev Saturday 10th Feb 2024</title><link>https://abandon.ie/posts/2024-02-10---game-dev-saturday/</link><pubDate>Sat, 10 Feb 2024 00:00:00 +0000</pubDate><guid>https://abandon.ie/posts/2024-02-10---game-dev-saturday/</guid><description>&lt;p>This week in the evenings I took some low hanging fruit and worked on UI.&lt;/p>
&lt;h2 id="pause-menu-testing">Pause Menu Testing&lt;/h2>


 
		&lt;div style="position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden;" class="youtube">
			&lt;iframe allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" allowfullscreen="allowfullscreen" loading="eager" referrerpolicy="strict-origin-when-cross-origin" src="https://www.youtube.com/embed/4ilukEC_jyI?autoplay=0&amp;controls=1&amp;end=0&amp;loop=0&amp;mute=0&amp;start=0" style="position: absolute; top: 0; left: 0; width: 100%; height: 100%; border:0;" title="YouTube video"
			>&lt;/iframe>
		&lt;/div>
&lt;h2 id="quest-marker">Quest Marker&lt;/h2>


 
		&lt;div style="position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden;" class="youtube">
			&lt;iframe allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" allowfullscreen="allowfullscreen" loading="eager" referrerpolicy="strict-origin-when-cross-origin" src="https://www.youtube.com/embed/CEjIUKEVs0Y?autoplay=0&amp;controls=1&amp;end=0&amp;loop=0&amp;mute=0&amp;start=0" style="position: absolute; top: 0; left: 0; width: 100%; height: 100%; border:0;" title="YouTube video"
			>&lt;/iframe>
		&lt;/div></description></item><item><title>Game Dev Monday 5th Feb 2024</title><link>https://abandon.ie/posts/2024-02-05---game-dev-monday/</link><pubDate>Mon, 05 Feb 2024 00:00:00 +0000</pubDate><guid>https://abandon.ie/posts/2024-02-05---game-dev-monday/</guid><description>&lt;p>So over the last few weeks I&amp;rsquo;ve finished the first pass on the UFO effects, and started designing and implementing the dialogue/narration system using Yarn Spinner.&lt;/p>
&lt;h2 id="ufo-effects">UFO Effects&lt;/h2>


 
		&lt;div style="position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden;" class="youtube">
			&lt;iframe allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" allowfullscreen="allowfullscreen" loading="eager" referrerpolicy="strict-origin-when-cross-origin" src="https://www.youtube.com/embed/809NREV9Uq4?autoplay=0&amp;controls=1&amp;end=0&amp;loop=0&amp;mute=0&amp;start=0" style="position: absolute; top: 0; left: 0; width: 100%; height: 100%; border:0;" title="YouTube video"
			>&lt;/iframe>
		&lt;/div>
&lt;h2 id="dialogue">Dialogue&lt;/h2>


 
		&lt;div style="position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden;" class="youtube">
			&lt;iframe allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" allowfullscreen="allowfullscreen" loading="eager" referrerpolicy="strict-origin-when-cross-origin" src="https://www.youtube.com/embed/e1WdpHorQfo?autoplay=0&amp;controls=1&amp;end=0&amp;loop=0&amp;mute=0&amp;start=0" style="position: absolute; top: 0; left: 0; width: 100%; height: 100%; border:0;" title="YouTube video"
			>&lt;/iframe>
		&lt;/div></description></item><item><title>Actual Progress on a new Pet Project</title><link>https://abandon.ie/posts/2024-01-21---game-dev-blog-new-start/</link><pubDate>Sun, 21 Jan 2024 00:00:00 +0000</pubDate><guid>https://abandon.ie/posts/2024-01-21---game-dev-blog-new-start/</guid><description>&lt;p>I now have a dedicated time slot to work on game development. This is the little prototype I&amp;rsquo;m now working on.&lt;/p>
&lt;h2 id="ufo">UFO&lt;/h2>


 
		&lt;div style="position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden;" class="youtube">
			&lt;iframe allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" allowfullscreen="allowfullscreen" loading="eager" referrerpolicy="strict-origin-when-cross-origin" src="https://www.youtube.com/embed/ng6-2Ye6ZJI?autoplay=0&amp;controls=1&amp;end=0&amp;loop=0&amp;mute=0&amp;start=0" style="position: absolute; top: 0; left: 0; width: 100%; height: 100%; border:0;" title="YouTube video"
			>&lt;/iframe>
		&lt;/div>
&lt;h2 id="camera-controller">Camera Controller&lt;/h2>


 
		&lt;div style="position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden;" class="youtube">
			&lt;iframe allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" allowfullscreen="allowfullscreen" loading="eager" referrerpolicy="strict-origin-when-cross-origin" src="https://www.youtube.com/embed/x9LvJ-q2CjI?autoplay=0&amp;controls=1&amp;end=0&amp;loop=0&amp;mute=0&amp;start=0" style="position: absolute; top: 0; left: 0; width: 100%; height: 100%; border:0;" title="YouTube video"
			>&lt;/iframe>
		&lt;/div></description></item><item><title>Slow Progress on my Pet Project</title><link>https://abandon.ie/posts/2023-01-06---game-dev-blog/</link><pubDate>Fri, 06 Jan 2023 00:00:00 +0100</pubDate><guid>https://abandon.ie/posts/2023-01-06---game-dev-blog/</guid><description>&lt;p>Still poking at this, I will eventually have a vertical slice ready. Maybe even in 2023.&lt;/p>
&lt;h2 id="test-level">Test Level&lt;/h2>


 
		&lt;div style="position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden;" class="youtube">
			&lt;iframe allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" allowfullscreen="allowfullscreen" loading="eager" referrerpolicy="strict-origin-when-cross-origin" src="https://www.youtube.com/embed/0Mq-E3my6Ss?autoplay=0&amp;controls=1&amp;end=0&amp;loop=0&amp;mute=0&amp;start=0" style="position: absolute; top: 0; left: 0; width: 100%; height: 100%; border:0;" title="YouTube video"
			>&lt;/iframe>
		&lt;/div>
&lt;h2 id="working-on-ui">Working on UI&lt;/h2>


 
		&lt;div style="position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden;" class="youtube">
			&lt;iframe allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" allowfullscreen="allowfullscreen" loading="eager" referrerpolicy="strict-origin-when-cross-origin" src="https://www.youtube.com/embed/IIX-nZRLguk?autoplay=0&amp;controls=1&amp;end=0&amp;loop=0&amp;mute=0&amp;start=0" style="position: absolute; top: 0; left: 0; width: 100%; height: 100%; border:0;" title="YouTube video"
			>&lt;/iframe>
		&lt;/div></description></item><item><title>TIL Week 23 2022</title><link>https://abandon.ie/posts/2022-06-07---til-week-23/</link><pubDate>Tue, 07 Jun 2022 00:00:00 +0100</pubDate><guid>https://abandon.ie/posts/2022-06-07---til-week-23/</guid><description>&lt;p>A roundup of the things I learned in the 23rd week of 2022.&lt;/p>
&lt;h2 id="technical">Technical&lt;/h2>
&lt;ul>
&lt;li>You can use interface inheritance to pass versions of entities back from a bounded context use case rather than using a DTO. &lt;a href="https://github.com/Abban/DTOInterfaceTest">See here for a php example&lt;/a>. It works better in C# though because it&amp;rsquo;s more type strict. Php will still allow you to call a method that exists on an object but not in it&amp;rsquo;s interface.&lt;/li>
&lt;/ul>
&lt;h2 id="professional">Professional&lt;/h2>
&lt;p>&lt;em>Coming soon to a post near you&lt;/em>&lt;/p></description></item><item><title>TIL Weeks 19-22 2022</title><link>https://abandon.ie/posts/2022-05-30---til-weeks-19-22/</link><pubDate>Mon, 30 May 2022 00:00:00 +0100</pubDate><guid>https://abandon.ie/posts/2022-05-30---til-weeks-19-22/</guid><description>&lt;p>A roundup of the things I learned from the 19th to the 22nd week of 2022.&lt;/p>
&lt;h2 id="technical">Technical&lt;/h2>
&lt;ul>
&lt;li>Been re-reading Clean Architecture and implementing it in a game prototype in order to learn Clean and DDD in more detail.&lt;/li>
&lt;li>Have an idea to not have to use DTOs when you use clean architecture inside a monolith. Need to write about it.&lt;/li>
&lt;/ul>
&lt;h2 id="professional">Professional&lt;/h2>
&lt;p>&lt;em>Coming soon to a post near you&lt;/em>&lt;/p>
&lt;h2 id="personal-notes">Personal Notes&lt;/h2>
&lt;p>Few weird weeks of family sickness meant it was hard to keep up blogging, so adding a roundup of what I remember. Gonna start putting what I&amp;rsquo;ve been watching and reading here unless I want to write something special about something.&lt;/p></description></item><item><title>Everything Everywhere All At Once</title><link>https://abandon.ie/posts/2022-05-18-01---everything-everywhere-all-at-once/</link><pubDate>Wed, 18 May 2022 00:00:00 +0000</pubDate><guid>https://abandon.ie/posts/2022-05-18-01---everything-everywhere-all-at-once/</guid><description>&lt;p>I&amp;rsquo;ve had a good run of movies. Didn&amp;rsquo;t really know anything about this going in and was blown away. It was funny, full of cool action, and sentimental all at once. Left me feeling pretty nice at the end.&lt;/p>
&lt;p>&lt;strong>5/5 Hot Dog Fingers&lt;/strong> 🌭🌭🌭🌭🌭&lt;/p></description></item><item><title>The Lighthouse</title><link>https://abandon.ie/posts/2022-05-17-01---the-lighthouse/</link><pubDate>Tue, 17 May 2022 00:00:00 +0000</pubDate><guid>https://abandon.ie/posts/2022-05-17-01---the-lighthouse/</guid><description>&lt;p>After watching The Northman I realised I&amp;rsquo;d never seen this. What a great movie, loved everything about it. I especially enjoyed how the constant fog horn put everything on edge.&lt;/p>
&lt;p>&lt;strong>5/5 Hot Dogs&lt;/strong> 🌭🌭🌭🌭🌭&lt;/p></description></item><item><title>The Northman</title><link>https://abandon.ie/posts/2022-05-16-01---the-northman/</link><pubDate>Mon, 16 May 2022 00:00:00 +0000</pubDate><guid>https://abandon.ie/posts/2022-05-16-01---the-northman/</guid><description>&lt;p>I like Eggers a lot and this was a pretty good movie. Just a tad long.&lt;/p>
&lt;p>&lt;strong>4/5 Hot Dogs&lt;/strong> 🌭🌭🌭🌭&lt;/p></description></item><item><title>Still Poking at my Pet Project</title><link>https://abandon.ie/posts/2022-05-03---game-development-gui/</link><pubDate>Mon, 02 May 2022 00:00:00 +0100</pubDate><guid>https://abandon.ie/posts/2022-05-03---game-development-gui/</guid><description>&lt;p>I started designing the main menu and start screen.&lt;/p>
&lt;p>&lt;img src="https://abandon.ie/images/gui-design/image-01.png" alt="Start Screen" title="Start Screen">
&lt;img src="https://abandon.ie/images/gui-design/image-02.png" alt="Main Menu" title="Main Menu">&lt;/p></description></item><item><title>TIL Week 18 2022</title><link>https://abandon.ie/posts/2022-05-02---til-week-18/</link><pubDate>Mon, 02 May 2022 00:00:00 +0100</pubDate><guid>https://abandon.ie/posts/2022-05-02---til-week-18/</guid><description>&lt;p>A roundup of the things I learned in the 18th week of 2022.&lt;/p>
&lt;h2 id="technical">Technical&lt;/h2>
&lt;ul>
&lt;li>PHP &lt;a href="https://www.php.net/manual/en/functions.arguments.php#functions.named-arguments">Named Parameters&lt;/a> are a good way of making different versions of an object you want to test that has a lot of constructor parameters. In your test you can add a method that returns your object with the constructor arguments as nullable parameters, then default them. Then when you need to pass different dependencies you can pass only the ones you want to modify as named parameters. Mini example:&lt;/li>
&lt;/ul>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-php" data-lang="php">&lt;span class="line">&lt;span class="cl">&lt;span class="k">private&lt;/span> &lt;span class="k">function&lt;/span> &lt;span class="nf">makeObjectToTest&lt;/span>&lt;span class="p">(&lt;/span> &lt;span class="o">?&lt;/span>&lt;span class="nx">string&lt;/span> &lt;span class="nv">$name&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="o">?&lt;/span>&lt;span class="nx">string&lt;/span> &lt;span class="nv">$description&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="o">?&lt;/span>&lt;span class="nx">SomeDependency&lt;/span> &lt;span class="nv">$someDependency&lt;/span> &lt;span class="p">)&lt;/span>&lt;span class="o">:&lt;/span> &lt;span class="nx">ObjectToTest&lt;/span> &lt;span class="p">{&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="k">return&lt;/span> &lt;span class="k">new&lt;/span> &lt;span class="nx">ObjectToTest&lt;/span>&lt;span class="p">(&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="nv">$name&lt;/span> &lt;span class="o">??&lt;/span> &lt;span class="s1">&amp;#39;Default&amp;#39;&lt;/span>&lt;span class="p">,&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="nv">$description&lt;/span> &lt;span class="o">??&lt;/span> &lt;span class="s1">&amp;#39;Default&amp;#39;&lt;/span>&lt;span class="p">,&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="nv">$someDependency&lt;/span> &lt;span class="o">??&lt;/span> &lt;span class="k">new&lt;/span> &lt;span class="nx">SomeDependency&lt;/span>&lt;span class="p">()&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="p">);&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="p">}&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="nv">$objectWithCustomName&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="nv">$this&lt;/span>&lt;span class="o">-&amp;gt;&lt;/span>&lt;span class="na">makeObjectToTest&lt;/span>&lt;span class="p">(&lt;/span> &lt;span class="nx">name&lt;/span>&lt;span class="o">:&lt;/span> &lt;span class="s1">&amp;#39;Name override&amp;#39;&lt;/span> &lt;span class="p">);&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="nv">$objectWithCustomDependency&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="nv">$this&lt;/span>&lt;span class="o">-&amp;gt;&lt;/span>&lt;span class="na">makeObjectToTest&lt;/span>&lt;span class="p">(&lt;/span> &lt;span class="nx">someDependency&lt;/span>&lt;span class="o">:&lt;/span> &lt;span class="k">new&lt;/span> &lt;span class="nx">SomeDependencySpy&lt;/span>&lt;span class="p">()&lt;/span> &lt;span class="p">);&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;h2 id="professional">Professional&lt;/h2>
&lt;ul>
&lt;li>Been using &lt;a href="https://codecks.io">Codecks&lt;/a> for organising my pet project and I&amp;rsquo;m very into it.&lt;/li>
&lt;li>Did some &lt;a href="https://abandon.ie/2022-05-03-game-development-gui">GUI design&lt;/a>.&lt;/li>
&lt;li>Watched a nice talk: &lt;a href="https://www.youtube.com/watch?v=whPWKecazgM&amp;amp;t=0s">World Building in Blender - Ian Hubert&lt;/a>.&lt;/li>
&lt;/ul>
&lt;h2 id="personal-notes">Personal Notes&lt;/h2>
&lt;p>&lt;em>Coming soon to a post near you&lt;/em>&lt;/p></description></item><item><title>TIL Week 17 2022</title><link>https://abandon.ie/posts/2022-04-25---til-week-17/</link><pubDate>Mon, 25 Apr 2022 00:00:00 +0100</pubDate><guid>https://abandon.ie/posts/2022-04-25---til-week-17/</guid><description>&lt;p>A roundup of the things I learned in the 17th week of 2022.&lt;/p>
&lt;h2 id="technical">Technical&lt;/h2>
&lt;p>&lt;em>Coming soon to a post near you&lt;/em>&lt;/p>
&lt;h2 id="professional">Professional&lt;/h2>
&lt;ul>
&lt;li>Watched &lt;a href="https://www.youtube.com/watch?v=KClAPipnKqw">Technical Leadership and Glue Work&lt;/a>. I highly recommend it. I&amp;rsquo;ve been struggling to get my head around the leadership responsibilities expected of me, and I liked having a clear explanation of how I can be doing things better.&lt;/li>
&lt;li>Tanya mentioned that scheduling fixed learning times for a team would help members feel like they&amp;rsquo;re allowed to learn on the job, I think that&amp;rsquo;s a brilliant idea.&lt;/li>
&lt;/ul>
&lt;h2 id="personal-notes">Personal Notes&lt;/h2>
&lt;ul>
&lt;li>Bit burned out from obsessing on a pet project on my time off. We did a learning day in work and I really couldn&amp;rsquo;t get my head into any of it. Ended up continuing with the refactor work we&amp;rsquo;ve been doing.&lt;/li>
&lt;/ul></description></item><item><title>TIL Week 16 2022</title><link>https://abandon.ie/posts/2022-04-18-02---til-week-16/</link><pubDate>Mon, 18 Apr 2022 00:01:00 +0100</pubDate><guid>https://abandon.ie/posts/2022-04-18-02---til-week-16/</guid><description>&lt;p>A roundup of the things I learned in the 16th week of 2022. Annual leave for a week did some game development.&lt;/p>
&lt;h2 id="game-dev">Game Dev&lt;/h2>
&lt;ul>
&lt;li>Brushed up on animation in Blender by animating an idle, walk, jump, and fall for a player character.&lt;/li>
&lt;li>Level design, you can see some images &lt;a href="https://abandon.ie/2022-04-18-01-game-development">here&lt;/a>.&lt;/li>
&lt;/ul>
&lt;h2 id="professional">Professional&lt;/h2>
&lt;p>&lt;em>Coming soon to a post near you&lt;/em>&lt;/p>
&lt;h2 id="personal-notes">Personal Notes&lt;/h2>
&lt;p>&lt;em>Coming soon to a post near you&lt;/em>&lt;/p></description></item><item><title>I Poked at a Pet Project</title><link>https://abandon.ie/posts/2022-04-18-01---game-development/</link><pubDate>Mon, 18 Apr 2022 00:00:00 +0100</pubDate><guid>https://abandon.ie/posts/2022-04-18-01---game-development/</guid><description>&lt;p>I had a few days off and worked on a pet project. It&amp;rsquo;s a game idea I had in 2020 and have been slowly working on when I have the head space.&lt;/p>
&lt;p>I spent the week white-boxing then filling out a small level and you can see the images below.&lt;/p>
&lt;p>&lt;img src="https://abandon.ie/images/level-design/image-01.png" alt="Early white-box landscape" title="Early White-box">
&lt;img src="https://abandon.ie/images/level-design/image-02.png" alt="Landscape with test ground models" title="Test Ground Models">
&lt;img src="https://abandon.ie/images/level-design/image-03.png" alt="Landscape with early level props" title="Early Level Props">
&lt;img src="https://abandon.ie/images/level-design/image-04.png" alt="Landscape with test lighting" title="Testing Lighting">
&lt;img src="https://abandon.ie/images/level-design/image-05.png" alt="3D model of a camper van" title="Camper Van">
&lt;img src="https://abandon.ie/images/level-design/image-06.png" alt="Parking area prototype" title="Parking Area">&lt;/p></description></item><item><title>TIL Week 15 2022</title><link>https://abandon.ie/posts/2022-04-11---til-week-15/</link><pubDate>Mon, 11 Apr 2022 00:00:00 +0100</pubDate><guid>https://abandon.ie/posts/2022-04-11---til-week-15/</guid><description>&lt;p>A roundup of the things I learned in the 15th week of 2022.&lt;/p>
&lt;h2 id="technical">Technical&lt;/h2>
&lt;ul>
&lt;li>A week of refactoring.&lt;/li>
&lt;/ul>
&lt;h2 id="professional">Professional&lt;/h2>
&lt;p>&lt;em>Coming soon to a post near you&lt;/em>&lt;/p>
&lt;h2 id="personal-notes">Personal Notes&lt;/h2>
&lt;p>&lt;em>Coming soon to a post near you&lt;/em>&lt;/p></description></item><item><title>TIL Week 14 2022</title><link>https://abandon.ie/posts/2022-04-04---til-week-14/</link><pubDate>Mon, 04 Apr 2022 00:00:00 +0100</pubDate><guid>https://abandon.ie/posts/2022-04-04---til-week-14/</guid><description>&lt;p>A roundup of the things I learned in the 14th week of 2022.&lt;/p>
&lt;h2 id="technical">Technical&lt;/h2>
&lt;ul>
&lt;li>Learned how the V2 PayPal API works. It&amp;rsquo;s pretty similar to Stripe. Created a &lt;a href="https://github.com/wmde/fundraising-paypal-api-test">Test Application&lt;/a>.&lt;/li>
&lt;li>When using Nginx with Docker don&amp;rsquo;t mount your nginx.conf file into the conf.d folder as there&amp;rsquo;s a default file in there that will override it. Instead mount a folder containing your nginx.conf as the conf.d folder.&lt;/li>
&lt;/ul>
&lt;h2 id="professional">Professional&lt;/h2>
&lt;ul>
&lt;li>Don&amp;rsquo;t expect external developers to follow your workflows/procedures if you don&amp;rsquo;t give them a bunch of documentation. Add specific developer guides alongside general technical READMEs.&lt;/li>
&lt;/ul>
&lt;h2 id="personal-notes">Personal Notes&lt;/h2>
&lt;p>&lt;em>Coming soon to a post near you&lt;/em>&lt;/p></description></item><item><title>TIL Week 13 2022</title><link>https://abandon.ie/posts/2022-03-28---til-week-13/</link><pubDate>Wed, 30 Mar 2022 00:00:00 +0100</pubDate><guid>https://abandon.ie/posts/2022-03-28---til-week-13/</guid><description>&lt;p>A roundup of the things I learned in the 13th week of 2022.&lt;/p>
&lt;h2 id="technical">Technical&lt;/h2>
&lt;ul>
&lt;li>In php if you have code on an abstract class that checks for interface implementations, when called by a child it will check what the child implements rather than the parent. This is handy when you have a few slightly differently functioning children.&lt;/li>
&lt;li>PhpStan &lt;a href="https://phpstan.org/writing-php-code/narrowing-types#custom-type-checking-functions-and-methods">does not like this&lt;/a> however. Though there is the possibility to make an &lt;a href="https://phpstan.org/developing-extensions/type-specifying-extensions">extension&lt;/a>.&lt;/li>
&lt;/ul>
&lt;h2 id="professional">Professional&lt;/h2>
&lt;p>&lt;em>Coming soon to a post near you&lt;/em>&lt;/p></description></item><item><title>TIL Week 12 2022</title><link>https://abandon.ie/posts/2022-03-21---til-week-12/</link><pubDate>Mon, 21 Mar 2022 00:00:00 +0100</pubDate><guid>https://abandon.ie/posts/2022-03-21---til-week-12/</guid><description>&lt;p>A roundup of the things I learned in the 12th week of 2022. Quiet week.&lt;/p>
&lt;h2 id="technical">Technical&lt;/h2>
&lt;p>&lt;em>Coming soon to a post near you&lt;/em>&lt;/p>
&lt;h2 id="professional">Professional&lt;/h2>
&lt;p>&lt;em>Coming soon to a post near you&lt;/em>&lt;/p>
&lt;h2 id="personal-notes">Personal Notes&lt;/h2>
&lt;p>&lt;em>Coming soon to a post near you&lt;/em>&lt;/p></description></item><item><title>Accessibility Workshop Notes</title><link>https://abandon.ie/posts/2022-03-14-02---accessibility-workshop/</link><pubDate>Mon, 14 Mar 2022 00:00:01 +0100</pubDate><guid>https://abandon.ie/posts/2022-03-14-02---accessibility-workshop/</guid><description>&lt;p>My thoughts in &lt;em>italic&lt;/em>.&lt;/p>
&lt;h2 id="intro">Intro&lt;/h2>
&lt;h3 id="basics">Basics&lt;/h3>
&lt;p>Affects way more people that you might think.&lt;/p>
&lt;ul>
&lt;li>&lt;em>A11y is not an accessible name.&lt;/em>&lt;/li>
&lt;li>15% of the world have disabilities &lt;em>Fuck, we work harder on IE support than we do on accessibility&lt;/em>&lt;/li>
&lt;li>Auditory, Cognitive, Neurological, physical, speech, visual &lt;em>Can be permanent or temporary, must be much harder for them&lt;/em>&lt;/li>
&lt;li>Old people.&lt;/li>
&lt;li>&lt;em>Check out &lt;a href="https://webaim.org/projects/million/">WebAIM 1 Million Project&lt;/a>.&lt;/em>&lt;/li>
&lt;li>97% of web pages have issues. Contrast &lt;em>JFC is this still a thing!?&lt;/em>, alt text, input labels, doc language, shitty buttons.&lt;/li>
&lt;/ul>
&lt;h3 id="assistive-tech-screen-readers-etc">Assistive Tech &lt;em>(Screen readers etc)&lt;/em>&lt;/h3>
&lt;p>&lt;em>Seems to be a bit software engineers think tech will solve everything.&lt;/em>&lt;/p></description></item><item><title>TIL Week 11 2022</title><link>https://abandon.ie/posts/2022-03-14-01---til-week-11/</link><pubDate>Mon, 14 Mar 2022 00:00:00 +0100</pubDate><guid>https://abandon.ie/posts/2022-03-14-01---til-week-11/</guid><description>&lt;p>A roundup of the things I learned in the 11th week of 2022.&lt;/p>
&lt;h2 id="technical">Technical&lt;/h2>
&lt;ul>
&lt;li>Handy typesafe &lt;a href="https://github.com/wmde/spy-generator">Spy Generator&lt;/a>.&lt;/li>
&lt;li>PhpStan on level 9 is very strict. You basically have to be as typesafe as C#.&lt;/li>
&lt;/ul>
&lt;h2 id="professional">Professional&lt;/h2>
&lt;ul>
&lt;li>&lt;a href="https://abandon.ie/2022-03-14-02-accessibility-workshop">Notes&lt;/a> from an accessibility workshop I attended.&lt;/li>
&lt;/ul>
&lt;h2 id="personal-notes">Personal Notes&lt;/h2>
&lt;p>&lt;em>Coming soon to a post near you&lt;/em>&lt;/p></description></item><item><title>Scarenthood</title><link>https://abandon.ie/posts/2022-03-11---scarenthood/</link><pubDate>Fri, 11 Mar 2022 00:00:00 +0100</pubDate><guid>https://abandon.ie/posts/2022-03-11---scarenthood/</guid><description>&lt;p>Really enjoyed this comic, the art and supernatual themes were right up my alley. As a parent trying to juggle a small person and work some of it really struck home. I just think it was let down a little by the rushed storytelling.&lt;/p>
&lt;p>&lt;strong>3/5 Hot Dogs&lt;/strong> 🌭🌭🌭&lt;/p></description></item><item><title>TIL Week 10 2022</title><link>https://abandon.ie/posts/2022-03-10---til-week-10-2022/</link><pubDate>Thu, 10 Mar 2022 00:00:00 +0100</pubDate><guid>https://abandon.ie/posts/2022-03-10---til-week-10-2022/</guid><description>&lt;p>A roundup of the things I learned in the 10th week of 2022. Short week.&lt;/p>
&lt;h2 id="technical">Technical&lt;/h2>
&lt;ul>
&lt;li>Getting Travis to run Docker tests with MySQL is trickier than it should be. You need to use a script to wait for the database to be available as &lt;code>depends_on&lt;/code> only waits for the container to be running.&lt;/li>
&lt;/ul>
&lt;h2 id="professional">Professional&lt;/h2>
&lt;p>Coming soon to a post near you&lt;/p>
&lt;h2 id="personal-notes">Personal Notes&lt;/h2>
&lt;p>Coming soon to a post near you&lt;/p></description></item><item><title>TIL Week 9 2022</title><link>https://abandon.ie/posts/2022-03-01---til-week-9/</link><pubDate>Tue, 01 Mar 2022 00:00:00 +0100</pubDate><guid>https://abandon.ie/posts/2022-03-01---til-week-9/</guid><description>&lt;p>A roundup of the things I learned in the 9th week of 2022.&lt;/p>
&lt;h2 id="technical">Technical&lt;/h2>
&lt;ul>
&lt;li>Doctrine doesn&amp;rsquo;t escape column names so you shouldn&amp;rsquo;t use a MySQL reserved word as a column name.&lt;/li>
&lt;li>To view the SQL you&amp;rsquo;re trying to run in Doctrine you can set a logger
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-php" data-lang="php">&lt;span class="line">&lt;span class="cl">&lt;span class="nv">$debug&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="k">new&lt;/span> &lt;span class="nx">DebugStack&lt;/span>&lt;span class="p">();&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="nv">$em&lt;/span>&lt;span class="o">-&amp;gt;&lt;/span>&lt;span class="na">getConnection&lt;/span>&lt;span class="p">()&lt;/span>&lt;span class="o">-&amp;gt;&lt;/span>&lt;span class="na">getConfiguration&lt;/span>&lt;span class="p">()&lt;/span>&lt;span class="o">-&amp;gt;&lt;/span>&lt;span class="na">setSQLLogger&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="nv">$debug&lt;/span>&lt;span class="p">);&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1">// Do queries in try catch
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1">&lt;/span>&lt;span class="nx">print_r&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="nv">$debug&lt;/span>&lt;span class="o">-&amp;gt;&lt;/span>&lt;span class="na">queries&lt;/span>&lt;span class="p">);&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;/li>
&lt;/ul>
&lt;h2 id="professional">Professional&lt;/h2>
&lt;ul>
&lt;li>Always test as close to production as possible. Because &lt;code>interval&lt;/code> is not a reserved name in SQLite, but is in MySQL the Doctrine column name issue in &lt;strong>Technical&lt;/strong> would have slipped through CI and caused production to break. This is because our test environment was using SQLite.&lt;/li>
&lt;/ul>
&lt;h2 id="personal-notes">Personal Notes&lt;/h2>
&lt;ul>
&lt;li>When work informs you that Coronavirus is over and they&amp;rsquo;re no longer going to provide support to parents, and at the same time your kid is home for 2 weeks because of a Coronavirus outbreak in his kindergarten it is incredibly demotivating.&lt;/li>
&lt;/ul></description></item><item><title>TIL Week 8 2022</title><link>https://abandon.ie/posts/2022-02-21-01---til-week-8/</link><pubDate>Fri, 21 Jan 2022 10:11:34 +0100</pubDate><guid>https://abandon.ie/posts/2022-02-21-01---til-week-8/</guid><description>&lt;p>A roundup of the things I learned in the 8th week of 2022.&lt;/p>
&lt;h2 id="technical">Technical&lt;/h2>
&lt;ul>
&lt;li>&lt;a href="https://dev.mysql.com/doc/refman/8.0/en/information-functions.html#function_last-insert-id">&lt;code>LAST_INSERT_ID()&lt;/code>&lt;/a> in MySQL is transactional and will return the last ID per connection.&lt;/li>
&lt;li>Using php PDO you need to use &lt;a href="https://www.php.net/manual/en/pdo.begintransaction.php">&lt;code>beginTransaction()&lt;/code>&lt;/a> in order to make your query transactional and ensure you get the last ID back correctly.&lt;/li>
&lt;li>Php 8.1 enums can have &lt;a href="https://www.php.net/manual/en/language.enumerations.methods.php">methods!&lt;/a>.&lt;/li>
&lt;li>ID Pre-Generation can be handled by your database if you use &lt;a href="https://gist.github.com/gbirke/c77b0cd0f07763787796c4b3799a85a6">Maria DB&lt;/a>.&lt;/li>
&lt;/ul>
&lt;h2 id="professional">Professional&lt;/h2>
&lt;ul>
&lt;li>2 months away is all it takes to get out of the habit of doing code reviews in the mornings.&lt;/li>
&lt;li>Pair programming is a good way to ease back into the habit of architecture design &amp;amp; coding after a break.&lt;/li>
&lt;li>&lt;a href="https://gohugo.io">Hugo&lt;/a> is quite nice and easy to use.&lt;/li>
&lt;li>Sat in on 2 pair programming technical interviews to learn how they&amp;rsquo;re conducted.&lt;/li>
&lt;/ul>
&lt;h2 id="personal-notes">Personal Notes&lt;/h2>
&lt;ul>
&lt;li>It&amp;rsquo;s really hard to juggle a small kid and work during lockdown times.&lt;/li>
&lt;/ul></description></item><item><title>Peacemaker</title><link>https://abandon.ie/posts/2022-02-18-02---peacemaker/</link><pubDate>Tue, 18 Jan 2022 11:11:34 +0100</pubDate><guid>https://abandon.ie/posts/2022-02-18-02---peacemaker/</guid><description>&lt;p>TV show follow up to 2021&amp;rsquo;s Suicide Squad movie. I loved it, This show knows that there&amp;rsquo;s never a wrong time to rock. John Cena is surprisingly great in a comedy role, much better than when he&amp;rsquo;s cast straight.&lt;/p>
&lt;p>&lt;strong>5/5 Hot Dogs&lt;/strong> 🌭🌭🌭🌭🌭&lt;/p></description></item><item><title>Making a Wordle</title><link>https://abandon.ie/posts/2022-01-15---making-a-wordle/</link><pubDate>Sat, 15 Jan 2022 10:11:34 +0100</pubDate><guid>https://abandon.ie/posts/2022-01-15---making-a-wordle/</guid><description>&lt;p>&lt;a href="https://squirdle.farts.ie">I made a spin off of Wordle&lt;/a> as a programming exercise on my parental leave. This is a document of the things I learned. The repository is &lt;a href="https://github.com/Abban/squirdle">here&lt;/a>.&lt;/p>
&lt;p>Learnings follow.&lt;/p>
&lt;h2 id="pseudorandom-generation">Pseudorandom Generation&lt;/h2>
&lt;p>The daily word is selected from a list &lt;a href="https://github.com/Abban/squirdle/blob/4f918a213efdd107570ba06043e0f256045ea517/src/library/wordResource.ts#L5">pseudorandomly&lt;/a> using a seed generated from the current day&amp;rsquo;s date.&lt;/p>
&lt;h2 id="lazy-local-storage">Lazy Local Storage&lt;/h2>
&lt;p>There are a few things stored in local storage, and a handy way to not have to keep checking that the items exist without too much code branching is to &lt;a href="https://github.com/Abban/squirdle/blob/main/src/library/statsResource.ts">lazy load&lt;/a> it.&lt;/p></description></item><item><title>Batman The New 52 Vol 1-2</title><link>https://abandon.ie/posts/2022-01-09-02---batman-the-new-52-vol-1-2/</link><pubDate>Sun, 09 Jan 2022 11:11:34 +0100</pubDate><guid>https://abandon.ie/posts/2022-01-09-02---batman-the-new-52-vol-1-2/</guid><description>&lt;p>&lt;strong>The Court of Owls&lt;/strong> &amp;amp; &lt;strong>The City of Owls&lt;/strong>. I&amp;rsquo;d heard these were good from multiple people so I decided to check them out and wow yes they are. Enough to make me buy the rest of the Scott Snyder run. I only wish DC had been making movies of this Batman rather than the trash they&amp;rsquo;ve been putting in the cinemas.&lt;/p>
&lt;p>&lt;strong>5/5 Hot Dogs&lt;/strong> 🌭🌭🌭🌭🌭&lt;/p></description></item><item><title>MacGruber</title><link>https://abandon.ie/posts/2022-01-09-01---macgruber-2021/</link><pubDate>Sun, 09 Jan 2022 11:11:34 +0100</pubDate><guid>https://abandon.ie/posts/2022-01-09-01---macgruber-2021/</guid><description>&lt;p>This is a follow up TV show to the 2010 (wow has it been that long!?) movie. It&amp;rsquo;s pretty great, star studded, great writing, very funny. The TV format suits it a lot more too.&lt;/p>
&lt;p>&lt;strong>5/5 Hot Dogs&lt;/strong> 🌭🌭🌭🌭🌭&lt;/p></description></item><item><title>Ghostbusters: Afterlife</title><link>https://abandon.ie/posts/2022-01-06-02---ghostbusters-afterlife/</link><pubDate>Thu, 06 Jan 2022 12:11:34 +0100</pubDate><guid>https://abandon.ie/posts/2022-01-06-02---ghostbusters-afterlife/</guid><description>&lt;p>The Ready Player One of Ghostbuster movies. This thing was only made in order to please all the people who piled on online when the Paul Feig one was announced and it shows. Remember proton packs? Remember marshmallow man? Remember Twinkies?&lt;/p>
&lt;p>&lt;strong>1/5 Hot Dogs&lt;/strong> 🌭&lt;/p></description></item><item><title>The Matrix Resurrections</title><link>https://abandon.ie/posts/2022-01-06---the-matrix-resurrections/</link><pubDate>Thu, 06 Jan 2022 11:11:34 +0100</pubDate><guid>https://abandon.ie/posts/2022-01-06---the-matrix-resurrections/</guid><description>&lt;p>Everyone seems to have hated this but I quite enjoyed it. It takes nothing away from the story of the earlier movies and finally gives Neo and Trinity a decent send off. I only hope they don&amp;rsquo;t use this as a jumping off point to make endless sequels.&lt;/p>
&lt;p>&lt;strong>4/5 Hot Dogs&lt;/strong> 🌭🌭🌭🌭&lt;/p></description></item><item><title>Handy Cheatsheets</title><link>https://abandon.ie/posts/2022-01-01-03---handy-cheatsheets/</link><pubDate>Sat, 01 Jan 2022 11:11:34 +0100</pubDate><guid>https://abandon.ie/posts/2022-01-01-03---handy-cheatsheets/</guid><description>&lt;p>I discovered a nice cheat sheet reference for loads of languages &lt;a href="https://quickref.me">https://quickref.me&lt;/a>. Check out this handy &lt;a href="https://quickref.me/css#css-flexbox">flexbox snippet&lt;/a>.&lt;/p></description></item><item><title>Sequential CSS Transitions</title><link>https://abandon.ie/posts/2022-01-01-02---sequential-css-transitions/</link><pubDate>Sat, 01 Jan 2022 10:11:34 +0100</pubDate><guid>https://abandon.ie/posts/2022-01-01-02---sequential-css-transitions/</guid><description>&lt;p>While making this journal I discovered a neat trick for animating list elements sequentially without having to use javascript.&lt;/p>
&lt;p>It involves &lt;a href="https://developer.mozilla.org/en-US/docs/Web/CSS/Using_CSS_custom_properties">CSS Custom Properties&lt;/a> and &lt;a href="https://developer.mozilla.org/en-US/docs/Web/CSS/animation-delay">animation-delay&lt;/a>.&lt;/p>
&lt;h2 id="the-trick">The Trick&lt;/h2>
&lt;p>What I didn&amp;rsquo;t know before is that you can set a CSS variable as a html inline style and that can be picked up to be used by your stylesheets. So when you loop out elements you can do something like this:&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-html" data-lang="html">&lt;span class="line">&lt;span class="cl">&lt;span class="p">&amp;lt;&lt;/span>&lt;span class="nt">div&lt;/span> &lt;span class="na">v-for&lt;/span>&lt;span class="o">=&lt;/span>&lt;span class="s">&amp;#34;(post, index) in posts&amp;#34;&lt;/span> &lt;span class="na">:key&lt;/span>&lt;span class="o">=&lt;/span>&lt;span class="s">&amp;#34;index&amp;#34;&lt;/span> &lt;span class="na">:style&lt;/span>&lt;span class="o">=&lt;/span>&lt;span class="s">&amp;#34;{&amp;#39;--index&amp;#39;: index}&amp;#34;&lt;/span> &lt;span class="na">class&lt;/span>&lt;span class="o">=&lt;/span>&lt;span class="s">&amp;#34;post&amp;#34;&lt;/span>&lt;span class="p">&amp;gt;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> My post is in here here
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="p">&amp;lt;/&lt;/span>&lt;span class="nt">div&lt;/span>&lt;span class="p">&amp;gt;&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>See the &lt;code>--index&lt;/code> property that&amp;rsquo;s being set? That will put an incremental number into your elements that can then be used in your stylesheets. Pretty cool. That example uses Vuejs to loop but you can do it however you want. So, in your CSS you can do this:&lt;/p></description></item><item><title>Hello, World</title><link>https://abandon.ie/posts/2022-01-01-01---hello-world/</link><pubDate>Sat, 01 Jan 2022 10:10:34 +0100</pubDate><guid>https://abandon.ie/posts/2022-01-01-01---hello-world/</guid><description>&lt;p>When I did my 2021 end of year review in work recently, I realised that by being completely lazy towards documenting the things I&amp;rsquo;ve been doing I was hurting myself. I didn&amp;rsquo;t have any grasp on the things I accomplished, learned, or how I grew. I had nothing to point me towards any future goals.&lt;/p>
&lt;p>So I made myself a New Year&amp;rsquo;s Resolution that I would start keeping a journal and that&amp;rsquo;s what this is. My plan is to write about myself and the things I did, with monthly summaries so that at the end of 2022 I can look back at this to help me plan for the following year. I am terrible at keeping things like this so let&amp;rsquo;s see how that goes.&lt;/p></description></item></channel></rss>