<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>Mike Bell - Blog &amp; Stuff</title><link>https://mikebell.io/</link><description>Recent content on Mike Bell - Blog &amp; Stuff</description><generator>Hugo -- gohugo.io</generator><language>en</language><managingEditor>hello@mikebell.io (Mike Bell)</managingEditor><webMaster>hello@mikebell.io (Mike Bell)</webMaster><copyright>© 2026 Mike Bell</copyright><lastBuildDate>Wed, 06 May 2026 19:35:40 +0000</lastBuildDate><atom:link href="https://mikebell.io/index.xml" rel="self" type="application/rss+xml"/><item><title>What is remotelab.uk?</title><link>https://mikebell.io/posts/what-is-remotelab-uk/</link><pubDate>Wed, 06 May 2026 19:35:40 +0000</pubDate><author>hello@mikebell.io (Mike Bell)</author><guid>https://mikebell.io/posts/what-is-remotelab-uk/</guid><description>
&lt;p&gt;If you follow me on Mastodon you know it as my home server. If you click through to my ForgeJo you know it as my git forge. It&amp;rsquo;s the host that hosts my private Elk server where the majority of my toots come from. It&amp;rsquo;s a lot of things but I&amp;rsquo;ve never really spoken about it or really come to terms with what it is now and in the future.&lt;/p&gt;
&lt;h2 class="relative group"&gt;In the beginning
&lt;div id="in-the-beginning" class="anchor"&gt;&lt;/div&gt;
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
&lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#in-the-beginning" aria-label="Anchor"&gt;#&lt;/a&gt;
&lt;/span&gt;
&lt;/h2&gt;
&lt;p&gt;When I bought the domain I was intending on using it for projects that I wanted to host outside of my homelab. I use another domain for all my internal services so wanted something that was a bit unique. A remotelab is what I imagine a remote homelab is called and have a guess where I&amp;rsquo;m based!&lt;/p&gt;
&lt;h2 class="relative group"&gt;The first project
&lt;div id="the-first-project" class="anchor"&gt;&lt;/div&gt;
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
&lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#the-first-project" aria-label="Anchor"&gt;#&lt;/a&gt;
&lt;/span&gt;
&lt;/h2&gt;
&lt;p&gt;I got interested in the fediverse and decided to start exploring as I&amp;rsquo;d quit Reddit. I used the domain to host my own Lemmy server, the idea was that at this point the remotelab.uk domain wasn&amp;rsquo;t tied to my identity so it was clean. Lemmy didn&amp;rsquo;t work out so I ditched it.&lt;/p&gt;
&lt;h2 class="relative group"&gt;Mastodon
&lt;div id="mastodon" class="anchor"&gt;&lt;/div&gt;
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
&lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#mastodon" aria-label="Anchor"&gt;#&lt;/a&gt;
&lt;/span&gt;
&lt;/h2&gt;
&lt;p&gt;During the experiment with Lemmy I was on Mastodon on mastodon.social (I think). It was ok but I wanted my own piece of the fediverse, somewhere that was mine. I looked into hosting my own server but at the time I thought it wasn&amp;rsquo;t worth it so went with &lt;a href="https://masto.host/" target="_blank" rel="noreferrer"&gt;masto.host&lt;/a&gt; (who&amp;rsquo;re awesome!). Originally I was going to put it on a subdomain but for better or worse stuck with the root domain. So my Mastodon server is the public entry to remotelab.uk&lt;/p&gt;
&lt;h2 class="relative group"&gt;Github Exodus
&lt;div id="github-exodus" class="anchor"&gt;&lt;/div&gt;
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
&lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#github-exodus" aria-label="Anchor"&gt;#&lt;/a&gt;
&lt;/span&gt;
&lt;/h2&gt;
&lt;p&gt;I&amp;rsquo;d been toying with the idea of moving away from Github for a while so setup a temporary ForgeJo instance on &lt;a href="https://code.remotelab.uk" target="_blank" rel="noreferrer"&gt;code.remotelab.uk&lt;/a&gt; (ha to it ever being temporary). I&amp;rsquo;ve since moved everything from Github to this server and even selfhost my own runners.&lt;/p&gt;
&lt;h2 class="relative group"&gt;Other stuff
&lt;div id="other-stuff" class="anchor"&gt;&lt;/div&gt;
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
&lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#other-stuff" aria-label="Anchor"&gt;#&lt;/a&gt;
&lt;/span&gt;
&lt;/h2&gt;
&lt;p&gt;There&amp;rsquo;s a bunch of other stuff living on the infrastructure that doesn&amp;rsquo;t live under the remotelab.uk name but it&amp;rsquo;s still important to how it&amp;rsquo;s growing and what it&amp;rsquo;s turning into.&lt;/p&gt;
&lt;h2 class="relative group"&gt;The future
&lt;div id="the-future" class="anchor"&gt;&lt;/div&gt;
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
&lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#the-future" aria-label="Anchor"&gt;#&lt;/a&gt;
&lt;/span&gt;
&lt;/h2&gt;
&lt;p&gt;I don&amp;rsquo;t think of remotelab.uk as a second home, over the years it&amp;rsquo;s turned into one of my primary online presences, with that in mind it&amp;rsquo;s not going anywhere in fact I have more plans for it.&lt;/p&gt;
&lt;p&gt;I intend to move Mastodon from masto.host to my own server at some point, it&amp;rsquo;s a pretty daunting task (which given my day job is kinda crazy). I&amp;rsquo;m also tempted to move it to a subdomain and accept losing all my post history. This way it frees up the root domain for something else.&lt;/p&gt;
&lt;p&gt;mikebell.io needs to die in a fire. I&amp;rsquo;ve had that domain for a long time now and honestly it&amp;rsquo;s troublesome now. I&amp;rsquo;m tied in to Google through it and even after my attempts to degoogle I&amp;rsquo;m &lt;em&gt;still&lt;/em&gt; giving them money for it. .io domains have a troubled past so it&amp;rsquo;d be nice to move away from that. It&amp;rsquo;s also an expensive domain, it costs more than my multitude of other Mike Bell related domains. Giving it up will be hard though.&lt;/p&gt;
&lt;p&gt;I like the idea of remotelab.uk becoming more of a community somehow, not just a place for me. I really like what omg.lol is doing (if only I had the money for my own TLD!) which has got me thinking&amp;hellip;&lt;/p&gt;
&lt;p&gt;Thanks for reading via RSS!&lt;/p&gt;
&lt;p&gt;Send me a message on &lt;a href="https://remotelab.uk/mikebell"&gt;Mastodon&lt;/a&gt; or &lt;a href="mailto:hello@mikebell.io"&gt;email me&lt;/a&gt;&lt;/p&gt;</description></item><item><title>Salford Roasters - Signature</title><link>https://mikebell.io/coffee/2026-05-03-salford-roasters-signature/</link><pubDate>Sun, 03 May 2026 11:11:36 +0000</pubDate><author>hello@mikebell.io (Mike Bell)</author><guid>https://mikebell.io/coffee/2026-05-03-salford-roasters-signature/</guid><description>
&lt;p&gt;⭐⭐&lt;/p&gt;
&lt;p&gt;Thanks for reading via RSS!&lt;/p&gt;
&lt;p&gt;Send me a message on &lt;a href="https://remotelab.uk/mikebell"&gt;Mastodon&lt;/a&gt; or &lt;a href="mailto:hello@mikebell.io"&gt;email me&lt;/a&gt;&lt;/p&gt;</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://mikebell.io/coffee/2026-05-03-salford-roasters-signature/feature_PXL_20260503_100800115_preview.jpg"/></item><item><title>Ancoats Cofee - Ozolotepec</title><link>https://mikebell.io/coffee/2026-05-03-ancoats-cofee-ozolotepec/</link><pubDate>Sun, 03 May 2026 11:11:10 +0000</pubDate><author>hello@mikebell.io (Mike Bell)</author><guid>https://mikebell.io/coffee/2026-05-03-ancoats-cofee-ozolotepec/</guid><description>
&lt;p&gt;⭐⭐⭐⭐
Decaf!&lt;/p&gt;
&lt;p&gt;Thanks for reading via RSS!&lt;/p&gt;
&lt;p&gt;Send me a message on &lt;a href="https://remotelab.uk/mikebell"&gt;Mastodon&lt;/a&gt; or &lt;a href="mailto:hello@mikebell.io"&gt;email me&lt;/a&gt;&lt;/p&gt;</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://mikebell.io/coffee/2026-05-03-ancoats-cofee-ozolotepec/feature_PXL_20260503_100751353_preview.jpeg"/></item><item><title>Ancoats Coffee - Thuti</title><link>https://mikebell.io/coffee/2026-05-03-ancoats-coffee-thuti/</link><pubDate>Sun, 03 May 2026 11:10:38 +0000</pubDate><author>hello@mikebell.io (Mike Bell)</author><guid>https://mikebell.io/coffee/2026-05-03-ancoats-coffee-thuti/</guid><description>
&lt;p&gt;⭐⭐⭐⭐⭐&lt;/p&gt;
&lt;p&gt;Thanks for reading via RSS!&lt;/p&gt;
&lt;p&gt;Send me a message on &lt;a href="https://remotelab.uk/mikebell"&gt;Mastodon&lt;/a&gt; or &lt;a href="mailto:hello@mikebell.io"&gt;email me&lt;/a&gt;&lt;/p&gt;</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://mikebell.io/coffee/2026-05-03-ancoats-coffee-thuti/feature_PXL_20260503_100741037_preview.jpeg"/></item><item><title>Origin - Maraba</title><link>https://mikebell.io/coffee/2026-05-03-origin-maraba/</link><pubDate>Sun, 03 May 2026 11:10:14 +0000</pubDate><author>hello@mikebell.io (Mike Bell)</author><guid>https://mikebell.io/coffee/2026-05-03-origin-maraba/</guid><description>
&lt;p&gt;⭐⭐⭐⭐&lt;/p&gt;
&lt;p&gt;Thanks for reading via RSS!&lt;/p&gt;
&lt;p&gt;Send me a message on &lt;a href="https://remotelab.uk/mikebell"&gt;Mastodon&lt;/a&gt; or &lt;a href="mailto:hello@mikebell.io"&gt;email me&lt;/a&gt;&lt;/p&gt;</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://mikebell.io/coffee/2026-05-03-origin-maraba/feature_PXL_20260503_100729043_preview.jpeg"/></item><item><title>Using Goreleaser with ForgeJo</title><link>https://mikebell.io/posts/goreleaser-forgejo/</link><pubDate>Sun, 12 Apr 2026 11:07:39 +0000</pubDate><author>hello@mikebell.io (Mike Bell)</author><guid>https://mikebell.io/posts/goreleaser-forgejo/</guid><description>
&lt;p&gt;For my resound app I wanted a really nice release process (it is after all part of my job!). Resound is a cli go app built with Cobra and Viper, it takes the last RSS item and posts it to Mastodon, pretty simple. You can checkout the latest version &lt;a href="https://code.remotelab.uk/mikebell/resound/releases" target="_blank" rel="noreferrer"&gt;here&lt;/a&gt;. I&amp;rsquo;m using goreleaser to build multiple architectures and then push them to my ForgeJo instance here&amp;rsquo;s how I did it because there are a lot of moving parts you have to put together in order to get it working.&lt;/p&gt;
&lt;h2 class="relative group"&gt;tldr;
&lt;div id="tldr" class="anchor"&gt;&lt;/div&gt;
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
&lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#tldr" aria-label="Anchor"&gt;#&lt;/a&gt;
&lt;/span&gt;
&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://code.remotelab.uk/mikebell/resound/src/branch/main/.forgejo/workflows/build-package.yaml" target="_blank" rel="noreferrer"&gt;build-package.yaml&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://code.remotelab.uk/mikebell/resound/src/branch/main/.goreleaser.yaml" target="_blank" rel="noreferrer"&gt;.goreleaser.yaml&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 class="relative group"&gt;ForgeJo Action
&lt;div id="forgejo-action" class="anchor"&gt;&lt;/div&gt;
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
&lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#forgejo-action" aria-label="Anchor"&gt;#&lt;/a&gt;
&lt;/span&gt;
&lt;/h2&gt;
&lt;div class="highlight-wrapper"&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-yaml" data-lang="yaml"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;- &lt;span class="nt"&gt;name&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;Run GoReleaser&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;uses&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;https://github.com/goreleaser/goreleaser-action@ec59f474b9834571250b370d4735c50f8e2d1e29&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="c"&gt;# v7&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;with&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="c"&gt;# either &amp;#39;goreleaser&amp;#39; (default) or &amp;#39;goreleaser-pro&amp;#39;&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;distribution&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;goreleaser&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="c"&gt;# &amp;#39;latest&amp;#39;, &amp;#39;nightly&amp;#39;, or a semver&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;version&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;~&amp;gt; v2&amp;#39;&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;args&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;release --clean&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;env&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;GITEA_TOKEN&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;${{ secrets.GITHUB_TOKEN }}&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;Important part here is the make sure &lt;code&gt;uses:&lt;/code&gt; uses the FQDN of the action and that your passing in &lt;code&gt;GITEA_TOKEN&lt;/code&gt; from your repo secrets. I have the following token with these options scope to the repo:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;write:package&lt;/li&gt;
&lt;li&gt;write:repository&lt;/li&gt;
&lt;/ul&gt;
&lt;blockquote&gt;&lt;p&gt;Note: this can probably be scoped even smaller.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h2 class="relative group"&gt;.goreleaser.yaml
&lt;div id="goreleaseryaml" class="anchor"&gt;&lt;/div&gt;
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
&lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#goreleaseryaml" aria-label="Anchor"&gt;#&lt;/a&gt;
&lt;/span&gt;
&lt;/h2&gt;
&lt;p&gt;You can view the full version in the tldr above but here are the important parts:&lt;/p&gt;
&lt;div class="highlight-wrapper"&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-yaml" data-lang="yaml"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nt"&gt;release&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;gitea&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;owner&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;mikebell&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;name&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;resound&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;footer&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;&amp;gt;-&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;You have to set the &lt;code&gt;owner&lt;/code&gt; and repo &lt;code&gt;name&lt;/code&gt; under &lt;code&gt;gitea&lt;/code&gt; in &lt;code&gt;release&lt;/code&gt;. This tells goreleaser where to put the output.&lt;/p&gt;
&lt;div class="highlight-wrapper"&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-yaml" data-lang="yaml"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nt"&gt;gitea_urls&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;api&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;https://code.remotelab.uk/api/v1&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;download&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;https://code.remotelab.uk&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;You then have to define your ForgeJo instance, goreleaser doesn&amp;rsquo;t officially support ForgeJo but the api is compatible with gitea.&lt;/p&gt;
&lt;div class="highlight-wrapper"&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-yaml" data-lang="yaml"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nt"&gt;force_token&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;gitea&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;I then had to force the token to gitea because goreleaser automatically tries to work out which forge your using and there&amp;rsquo;s already a &lt;code&gt;GITHUB_TOKEN&lt;/code&gt; passed by default.&lt;/p&gt;
&lt;hr&gt;
&lt;p&gt;Once I had all this in place I can create a tag from either the ForgeJo UI or through git and my action will create the packages and upload them to a new release you can see 1.1.0 of resound &lt;a href="https://code.remotelab.uk/mikebell/resound/releases/tag/1.1.0" target="_blank" rel="noreferrer"&gt;here&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Hope this helps.&lt;/p&gt;
&lt;p&gt;Thanks for reading via RSS!&lt;/p&gt;
&lt;p&gt;Send me a message on &lt;a href="https://remotelab.uk/mikebell"&gt;Mastodon&lt;/a&gt; or &lt;a href="mailto:hello@mikebell.io"&gt;email me&lt;/a&gt;&lt;/p&gt;</description></item><item><title>Tuning my renovate config</title><link>https://mikebell.io/posts/2026-04-10-tuning-my-renovate-config/</link><pubDate>Fri, 10 Apr 2026 12:39:48 +0000</pubDate><author>hello@mikebell.io (Mike Bell)</author><guid>https://mikebell.io/posts/2026-04-10-tuning-my-renovate-config/</guid><description>
&lt;p&gt;I took some time last night to finally tune my renovate setup. There were a few issues with it - none of it renovates or my tech stacks fault, just stuff I wasn&amp;rsquo;t too happy with and things that could be improved.&lt;/p&gt;
&lt;p&gt;If your interested in my current working config &lt;a href="https://code.remotelab.uk/infrastructure/renovate-config" target="_blank" rel="noreferrer"&gt;here&lt;/a&gt; it is.&lt;/p&gt;
&lt;h2 class="relative group"&gt;renovate.json to default.json
&lt;div id="renovatejson-to-defaultjson" class="anchor"&gt;&lt;/div&gt;
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
&lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#renovatejson-to-defaultjson" aria-label="Anchor"&gt;#&lt;/a&gt;
&lt;/span&gt;
&lt;/h2&gt;
&lt;p&gt;When I first setup up renovate I used &lt;code&gt;renovate.json&lt;/code&gt; as my main config, not sure why. I&amp;rsquo;ve changed it to &lt;code&gt;default.json&lt;/code&gt; which is recommended by the debug output in the workflow run. This also means I can have a renovate config for this specific repo, in the future I&amp;rsquo;ll be configure auto apply of patch level updates.&lt;/p&gt;
&lt;h2 class="relative group"&gt;minimumReleaseAge
&lt;div id="minimumreleaseage" class="anchor"&gt;&lt;/div&gt;
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
&lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#minimumreleaseage" aria-label="Anchor"&gt;#&lt;/a&gt;
&lt;/span&gt;
&lt;/h2&gt;
&lt;p&gt;This is a work around for the Tofu provider registers, when a new release of the AWS provider is released it takes a bit to get into the tofu registry so I&amp;rsquo;ve set this to a day to prevent broken builds.&lt;/p&gt;
&lt;h2 class="relative group"&gt;prCreation
&lt;div id="prcreation" class="anchor"&gt;&lt;/div&gt;
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
&lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#prcreation" aria-label="Anchor"&gt;#&lt;/a&gt;
&lt;/span&gt;
&lt;/h2&gt;
&lt;p&gt;This is set to &lt;code&gt;not-pending&lt;/code&gt; this means renovate will wait till checks have passed before creating the PR, if they don&amp;rsquo;t exist then it creates the PR after 25 (odd default) hours see next.&lt;/p&gt;
&lt;h2 class="relative group"&gt;prNotPendingHours
&lt;div id="prnotpendinghours" class="anchor"&gt;&lt;/div&gt;
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
&lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#prnotpendinghours" aria-label="Anchor"&gt;#&lt;/a&gt;
&lt;/span&gt;
&lt;/h2&gt;
&lt;p&gt;This is set to&lt;code&gt;1&lt;/code&gt; hour, I don&amp;rsquo;t need to wait 25 hours for the PR to be created if there are no checks, I think this is the lowest it will go.&lt;/p&gt;
&lt;h2 class="relative group"&gt;dependencyDashboard
&lt;div id="dependencydashboard" class="anchor"&gt;&lt;/div&gt;
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
&lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#dependencydashboard" aria-label="Anchor"&gt;#&lt;/a&gt;
&lt;/span&gt;
&lt;/h2&gt;
&lt;p&gt;This is set to &lt;code&gt;true&lt;/code&gt;. It creates an issue in each repo with the dependancy dashboard. I&amp;rsquo;m not sure I like it so will probably disable it moving forward.&lt;/p&gt;
&lt;p&gt;Renovate config is really powerful and I&amp;rsquo;m only just scratching the surface with it. Hopefully this gives you a bit of an idea at what it can do and how you can shape it to your own requirements.&lt;/p&gt;
&lt;p&gt;Thanks for reading via RSS!&lt;/p&gt;
&lt;p&gt;Send me a message on &lt;a href="https://remotelab.uk/mikebell"&gt;Mastodon&lt;/a&gt; or &lt;a href="mailto:hello@mikebell.io"&gt;email me&lt;/a&gt;&lt;/p&gt;</description></item><item><title>Life at 40 seems pretty grim</title><link>https://mikebell.io/posts/life-40-pretty-grim/</link><pubDate>Thu, 09 Apr 2026 16:47:41 +0000</pubDate><author>hello@mikebell.io (Mike Bell)</author><guid>https://mikebell.io/posts/life-40-pretty-grim/</guid><description>
&lt;p&gt;I turned 40 in April, most people would be happy but not me. It marks a milestone in general shittery, a point in time where I&amp;rsquo;m forced to reflect on a decade of &lt;del&gt;midlife&lt;/del&gt; crisis.&lt;/p&gt;
&lt;p&gt;I hate complaining (I love moaning as much as the next Yorkshire man) so please forgive this post, in fact please don&amp;rsquo;t read if your here for the tech stuff, hopefully normal service will resume soon. Just remember I&amp;rsquo;m human too even if sometimes I&amp;rsquo;m happier in the cli than I am in real life.&lt;/p&gt;
&lt;p&gt;I was lucky enough to spend my 40th with my wife in Prague, we had a lovely day, beer followed by a tasting menu and wine pairing then capped off with a mistaken whisky or two. The day before we&amp;rsquo;d gotten some bad news, it&amp;rsquo;s really shook us up and has occupied our heads still. It forced us to confront relationships and what they mean to others and us. It put a cloud over the rest of the holiday for sure. This was the final straw for me it was the bubbling over on what&amp;rsquo;s seemingly being a never ending shit storm of bad things.&lt;/p&gt;
&lt;p&gt;I&amp;rsquo;m chronically ill, I have been for the majority of my life now - 24 years is a long time. It&amp;rsquo;s not getting better it&amp;rsquo;s getting worse. It won&amp;rsquo;t kill me but living with ME/CFS is pardon the pun tiring. It&amp;rsquo;s there all the time a weight on my body that never lifts, the brain fog that causes me to lose stammer and lose the ability to speak. No one sees these things apart from my wife and she&amp;rsquo;s a fucking saint. It&amp;rsquo;s exhausting and when things go bad it makes things worse, and that&amp;rsquo;s the thing so much is going wrong at the moment both mentally and physically.&lt;/p&gt;
&lt;p&gt;My stomach is currently trying to eat itself, sounds crazy but I kid you not for some reason it&amp;rsquo;s decided to produce enough acid to dispose of a dead body. Seemingly no reason why, I even went sober for 45 days to see if that would help (it didn&amp;rsquo;t). I&amp;rsquo;m waiting on further tests nearly 6 months in now. The constant acid reflux and nausea just add to how crap I feel on a day to day basis.&lt;/p&gt;
&lt;p&gt;It&amp;rsquo;s also that time of the year I&amp;rsquo;m reminded just how close I came to dying from the bilateral pulmonary embolism, I&amp;rsquo;m due lung function tests (they&amp;rsquo;re fine I think) and a final discharge from the consultant (some good news I guess). With this comes so much mental pain and grief, it&amp;rsquo;s left me with pretty severe PTSD making hospital visits quite literally a living nightmare.&lt;/p&gt;
&lt;p&gt;My friendship group is collapsing, there&amp;rsquo;s so much stuff going on with everyone that we hardly speak anymore. There&amp;rsquo;s an elephant in the room and we&amp;rsquo;re all just dancing around it waiting for it to bolt and smash what&amp;rsquo;s little left of the china in the shop. I&amp;rsquo;m not sure if it&amp;rsquo;ll ever recover. Part of the problem is me as well, I&amp;rsquo;m not drinking much anymore, so much of our group is built around pubs and drinking so I&amp;rsquo;m also the one drifting away for a hopefully healthier lifestyle.&lt;/p&gt;
&lt;p&gt;Shadow is ill, he has an abscess in his mouth. It&amp;rsquo;s not painful and he&amp;rsquo;s in fine form but it&amp;rsquo;s still something we want to get sorted, it&amp;rsquo;s been multiple operations and trips to the vets. The insurance is starting to run out as well just in time for a trip to a specialist for further diagnosis. We&amp;rsquo;ll be able to afford it in the end but it&amp;rsquo;s money we&amp;rsquo;d earmarked for nice things (not that Shadow isn&amp;rsquo;t a nice thing! Hopefully you get my point here).&lt;/p&gt;
&lt;p&gt;Work is a bit shit, politics and bad management are making things incredibly frustrating. In any other time I&amp;rsquo;d be like fuck it new job time but nope not this time, I genuinely care too much to walk away. We do amazing work and damned if I&amp;rsquo;m going to stop.&lt;/p&gt;
&lt;p&gt;I guess the main triggering thing is that I&amp;rsquo;m 40 now. I&amp;rsquo;m realistically over half way through my life and I&amp;rsquo;m scared of dying, truly scared to the point where it causes panic attacks. My chances of making it to 80 are very very slim given everything that&amp;rsquo;s happened over the past 2 years and that&amp;rsquo;s really fucking hard to deal with. I want kids, I should have had kids 10 years ago but now we&amp;rsquo;re waiting till next year, I don&amp;rsquo;t know why we&amp;rsquo;re waiting it&amp;rsquo;s not my decision and honestly I&amp;rsquo;m kinda sad to be putting it off for another year. I never wanted to be an old dad, I&amp;rsquo;m so grateful to have young parents. In theory I&amp;rsquo;ll be 59 when I can have my first legal drink with my kid. I don&amp;rsquo;t think I&amp;rsquo;ll be alive after that for much longer.&lt;/p&gt;
&lt;p&gt;I&amp;rsquo;m scared I&amp;rsquo;ve wasted my life, writing all of the above is scary, it&amp;rsquo;s also made me realise all the good things I have in my life. I still have the ability to change it&amp;rsquo;s direction. Sorry if you read this far, writing is a form of coping for me.&lt;/p&gt;
&lt;p&gt;I promise I&amp;rsquo;ll get back to the tech posts soon, I&amp;rsquo;ve just finished off some cool renovate bot config. FWIW Lilly has just started sneezing behind me and it&amp;rsquo;s super cute.&lt;/p&gt;
&lt;p&gt;Thanks for reading via RSS!&lt;/p&gt;
&lt;p&gt;Send me a message on &lt;a href="https://remotelab.uk/mikebell"&gt;Mastodon&lt;/a&gt; or &lt;a href="mailto:hello@mikebell.io"&gt;email me&lt;/a&gt;&lt;/p&gt;</description></item><item><title>Homelab Update March 2026</title><link>https://mikebell.io/posts/homelab-update-march-2026/</link><pubDate>Mon, 16 Mar 2026 20:40:46 +0000</pubDate><author>hello@mikebell.io (Mike Bell)</author><guid>https://mikebell.io/posts/homelab-update-march-2026/</guid><description>
&lt;p&gt;It&amp;rsquo;s been a few months since my &lt;a href="https://mikebell.io/posts/homelab-update-january-2026/" target="_blank" rel="noreferrer"&gt;last&lt;/a&gt; update as per usual! I try not to blog for the sake of it so I wait until I have a few things of value to update on.&lt;/p&gt;
&lt;h2 class="relative group"&gt;External Backups
&lt;div id="external-backups" class="anchor"&gt;&lt;/div&gt;
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
&lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#external-backups" aria-label="Anchor"&gt;#&lt;/a&gt;
&lt;/span&gt;
&lt;/h2&gt;
&lt;p&gt;I&amp;rsquo;ve been using &lt;a href="https://restic.net/" target="_blank" rel="noreferrer"&gt;Restic&lt;/a&gt; on my remote server to backup Forgejo repos for a while now so finally decided to roll it out to my homelab for Immich backups. Immich has some really nice backup and restore documentation and everything you need to backup its nicely stored in one folder (if you have a fairly default installation). Instead of using Restic cli I decided to look into a GUI solution in the form of &lt;a href="https://github.com/garethgeorge/backrest" target="_blank" rel="noreferrer"&gt;Backrest&lt;/a&gt;, after a few days of testing it out I&amp;rsquo;m really impressed with it, it takes a lot of the hassle out of configure restic through the CLI. I like how to UI is set up into two distinct areas - plans and repos. I&amp;rsquo;d assumed in Restic you had one &amp;ldquo;plan&amp;rdquo; per repo but this makes it a lot clearer that you can backup multiple &amp;ldquo;things&amp;rdquo; to one repo which is awesome. For storage I&amp;rsquo;m using Backblaze B2, another service I&amp;rsquo;m not super familiar with but their storage seems pretty cheap and my 45gb Immich instance shouldn&amp;rsquo;t cost me too much per month and gives me a sense of security.&lt;/p&gt;
&lt;p&gt;My next task is to actually test what a restore looks like. This will most likely be a migration to an external server which I&amp;rsquo;m then going to open up to the rest of my family.&lt;/p&gt;
&lt;h2 class="relative group"&gt;Resound
&lt;div id="resound" class="anchor"&gt;&lt;/div&gt;
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
&lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#resound" aria-label="Anchor"&gt;#&lt;/a&gt;
&lt;/span&gt;
&lt;/h2&gt;
&lt;p&gt;If you&amp;rsquo;ve come from my mastodon feed then you saw the post being automatically posted by my new CLI tool called &lt;a href="https://code.remotelab.uk/mikebell/resound" target="_blank" rel="noreferrer"&gt;Resound&lt;/a&gt;. It&amp;rsquo;s a go app that takes an RSS feed and Mastodon client and posts the last item to your feed. It does duplication checking and has a template that you can configure the content of the toot with. It was a really nice little project which I&amp;rsquo;m still building on. None of it was vibe coded either which was really nice, I love writing code and being able to do it without the assistance of AI.&lt;/p&gt;
&lt;p&gt;This is the first thing I&amp;rsquo;ve built from scratch in a long while and it also uses 100% self hosted CI/CD pipelines.&lt;/p&gt;
&lt;h2 class="relative group"&gt;ForgeJo Mobile Web UI
&lt;div id="forgejo-mobile-web-ui" class="anchor"&gt;&lt;/div&gt;
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
&lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#forgejo-mobile-web-ui" aria-label="Anchor"&gt;#&lt;/a&gt;
&lt;/span&gt;
&lt;/h2&gt;
&lt;p&gt;Shout out the mobile web ui in ForgeJo, I&amp;rsquo;ve been using it on the go to review automated PRs and merge them in when I&amp;rsquo;m satisfied with the build output. It&amp;rsquo;s been really good to have a tool that works as you expect it and allows you to do stuff like this on the go.&lt;/p&gt;
&lt;h2 class="relative group"&gt;Hetzner Price Increases
&lt;div id="hetzner-price-increases" class="anchor"&gt;&lt;/div&gt;
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
&lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#hetzner-price-increases" aria-label="Anchor"&gt;#&lt;/a&gt;
&lt;/span&gt;
&lt;/h2&gt;
&lt;p&gt;Hetzner have upped their prices by 30-40% which sucks. My external server bill is pretty small (&amp;lt;20 Euros a month) but I have plans to increase the number of servers and existing servers power in the future.&lt;/p&gt;
&lt;p&gt;My forgejo server needs more power, well the runners do. Building containers is taking longer than I would like. If I don&amp;rsquo;t up the server specs I could run the runners on other hardware I own but there&amp;rsquo;s networking issues with that (see Tailscale).&lt;/p&gt;
&lt;p&gt;I need a new isolated server for a family Immich instance. I&amp;rsquo;m not sure what this will look like at the moment but it&amp;rsquo;s likely to cost a fair bit in storage space.&lt;/p&gt;
&lt;h2 class="relative group"&gt;Tailscale
&lt;div id="tailscale" class="anchor"&gt;&lt;/div&gt;
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
&lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#tailscale" aria-label="Anchor"&gt;#&lt;/a&gt;
&lt;/span&gt;
&lt;/h2&gt;
&lt;p&gt;I&amp;rsquo;ve been holding off using &lt;a href="https://tailscale.com/" target="_blank" rel="noreferrer"&gt;Tailscale&lt;/a&gt; for a while now, I like all my tools to be self hosted where possible but Tailscale solves a problem I&amp;rsquo;ve had for a long while now and I should probably spend a bit of time with it. I&amp;rsquo;ve also looked at &lt;a href="https://headscale.net/stable/" target="_blank" rel="noreferrer"&gt;Headscale&lt;/a&gt; which I&amp;rsquo;d be happy to selfhost but not until I&amp;rsquo;m comfortable with how Tailscale works, networking has never been one of my strengths.&lt;/p&gt;
&lt;hr&gt;
&lt;p&gt;That&amp;rsquo;s about it for this months/quarters homelab update. If your interested in more of these types of posts I have a category with all my updates in &lt;a href="https://mikebell.io/categories/homelab/" target="_blank" rel="noreferrer"&gt;here&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;I&amp;rsquo;m also on the look out for new monitors, my LG Ultragear Piece of Shit (tm) is finally getting on my nerves (burn in and random turn offs). I need 2 hybrid gaming/office monitors so if you have any suggestions please get in touch.&lt;/p&gt;
&lt;p&gt;Thanks for reading via RSS!&lt;/p&gt;
&lt;p&gt;Send me a message on &lt;a href="https://remotelab.uk/mikebell"&gt;Mastodon&lt;/a&gt; or &lt;a href="mailto:hello@mikebell.io"&gt;email me&lt;/a&gt;&lt;/p&gt;</description></item><item><title>Thoughts on the Kobo Clara Colour</title><link>https://mikebell.io/posts/thoughts-kobo-clara-colour/</link><pubDate>Wed, 11 Mar 2026 14:04:42 +0000</pubDate><author>hello@mikebell.io (Mike Bell)</author><guid>https://mikebell.io/posts/thoughts-kobo-clara-colour/</guid><description>
&lt;p&gt;After using the Kobo Clara Colour for a few days here are my initial impressions. I&amp;rsquo;ve come from a fairly old Kindle so this has been really interesting. This isn&amp;rsquo;t a proper review just my thoughts on the new device and how I use it.&lt;/p&gt;
&lt;h2 class="relative group"&gt;Size
&lt;div id="size" class="anchor"&gt;&lt;/div&gt;
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
&lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#size" aria-label="Anchor"&gt;#&lt;/a&gt;
&lt;/span&gt;
&lt;/h2&gt;
&lt;p&gt;At first I thought it was a bit small, it&amp;rsquo;s certainly smaller than the Kindle by a good inch or so. I still fits nicely into my hand and feels a lot more comfortable than the Kindle. Even though the screen size is smaller I still find it a good size and don&amp;rsquo;t miss the extra. Overall I&amp;rsquo;d say that it being smaller is a better thing. I&amp;rsquo;ve added the magnetic cover that&amp;rsquo;s sold separately which does add some bulk to it but it&amp;rsquo;s still not an issue and the protection it gives negates the few extra mm. The bezel between the screen and the surround is huge though, it&amp;rsquo;s a bit unnerving at first but I&amp;rsquo;ve gotten used to it now and doesn&amp;rsquo;t effect the scrolling of pages, there is a lot of light bleed if you look at it from odd angles, not noticeable when reading so far.&lt;/p&gt;
&lt;h2 class="relative group"&gt;Materials
&lt;div id="materials" class="anchor"&gt;&lt;/div&gt;
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
&lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#materials" aria-label="Anchor"&gt;#&lt;/a&gt;
&lt;/span&gt;
&lt;/h2&gt;
&lt;p&gt;It feels cheaper than the Kindle, the back has a nice textured pattern but overall the plastic doesn&amp;rsquo;t feel &amp;ldquo;premium&amp;rdquo;. All of this is solved with a case which you should probably get anyways, one of the main reason for switching was my Kindle had gotten scratched up quite a bit over the years.&lt;/p&gt;
&lt;h2 class="relative group"&gt;Screen
&lt;div id="screen" class="anchor"&gt;&lt;/div&gt;
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
&lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#screen" aria-label="Anchor"&gt;#&lt;/a&gt;
&lt;/span&gt;
&lt;/h2&gt;
&lt;p&gt;I opted for the colour e-ink, I wouldn&amp;rsquo;t bother. It&amp;rsquo;s a neat feature but I don&amp;rsquo;t think I&amp;rsquo;ll be using it much. There are also some visual tradeoffs with the colour e-ink screen from what I&amp;rsquo;ve seen from a few videos. From what I found online the BW version is a bit clearer although I&amp;rsquo;ve not had any issues with it yet. One thing I will say is that it&amp;rsquo;s a lot better than my Kindle so I&amp;rsquo;m happy!&lt;/p&gt;
&lt;h2 class="relative group"&gt;Koreader
&lt;div id="koreader" class="anchor"&gt;&lt;/div&gt;
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
&lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#koreader" aria-label="Anchor"&gt;#&lt;/a&gt;
&lt;/span&gt;
&lt;/h2&gt;
&lt;p&gt;Installing Koreader was a hell of a lot easier than it is on Kindle and it&amp;rsquo;s also faster, the Colour version is dual core which I think helps a lot. I used an &lt;a href="https://remotelab.uk/@mikebell/116201096274307044" target="_blank" rel="noreferrer"&gt;all in one&lt;/a&gt; script which was super easy.&lt;/p&gt;
&lt;h2 class="relative group"&gt;Random stuff
&lt;div id="random-stuff" class="anchor"&gt;&lt;/div&gt;
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
&lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#random-stuff" aria-label="Anchor"&gt;#&lt;/a&gt;
&lt;/span&gt;
&lt;/h2&gt;
&lt;p&gt;The power button is on the back - at first I thought this was really odd but it makes perfect sense! Much better position than the Kindle.&lt;/p&gt;
&lt;p&gt;The case feels really premium which I love! I&amp;rsquo;ve never used one before and don&amp;rsquo;t think I&amp;rsquo;d go back to using it without.&lt;/p&gt;
&lt;p&gt;Page speed seems faster than my Kindle.&lt;/p&gt;
&lt;h2 class="relative group"&gt;Conclusion
&lt;div id="conclusion" class="anchor"&gt;&lt;/div&gt;
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
&lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#conclusion" aria-label="Anchor"&gt;#&lt;/a&gt;
&lt;/span&gt;
&lt;/h2&gt;
&lt;p&gt;Overall I&amp;rsquo;m really happy with my purchase. I&amp;rsquo;d recommend getting the BW over the colour version. If you selfhost and have your own &lt;a href="https://mikebell.io/posts/rebuilding-digital-library/" target="_blank" rel="noreferrer"&gt;digital library&lt;/a&gt; then this is perfect for you.&lt;/p&gt;
&lt;p&gt;Thanks for reading via RSS!&lt;/p&gt;
&lt;p&gt;Send me a message on &lt;a href="https://remotelab.uk/mikebell"&gt;Mastodon&lt;/a&gt; or &lt;a href="mailto:hello@mikebell.io"&gt;email me&lt;/a&gt;&lt;/p&gt;</description></item><item><title>Rebuilding my digital library</title><link>https://mikebell.io/posts/rebuilding-digital-library/</link><pubDate>Fri, 06 Mar 2026 10:22:24 +0000</pubDate><author>hello@mikebell.io (Mike Bell)</author><guid>https://mikebell.io/posts/rebuilding-digital-library/</guid><description>
&lt;p&gt;When I was a kid me and my brother read a lot, we devoured books so much so my mum had to keep taking us to the library to get more. Eventually when we got a bit older we started buying our own books and both our rooms became full of Terry Pratchett, JRR Tolkein and other amazing authors. I love reading it transports me to a better place.&lt;/p&gt;
&lt;p&gt;As I grew up and got older I went off to University and my books stayed behind, I fell out of love with reading. This would continue for a long time afterwards. I moved back home after uni and never really picked up a book. Eventually I moved out and started life on my own on the other side of the country and my books stayed at home. When my brother finally left home he took them all with him.&lt;/p&gt;
&lt;p&gt;Somewhere in that move away from from home I got a Kindle, the idea of being able to take a library of books with a compact form was very appealing. The added backlight meant I could read in bed properly as well which was a major plus since that&amp;rsquo;s where I do most of my reading these days. The Kindle store also was a great way to pick up cheap books here and there, this was before I really cared about digital ownership and freedom from DRM.&lt;/p&gt;
&lt;p&gt;If you&amp;rsquo;ve read any of my other blog posts you&amp;rsquo;ll know I&amp;rsquo;m a huge fan of self hosting and getting away from big tech. So when Amazon announced that you&amp;rsquo;d no longer be able to download the files you &amp;ldquo;rent&amp;rdquo; from them I decided it was time to ditch them and move on.&lt;/p&gt;
&lt;p&gt;First step was grabbing all my books from Amazon, this was a tedious manual task but I eventually managed to get around 150 books of there in a unfriendly DRMd format. I won&amp;rsquo;t go into the step by step details on how I got rid of the DRM but Calibre and some duck ducking (that just sounds wrong, I mean searching!) provides a very easy way to do it and also convert them into the much nicer EPUB format.&lt;/p&gt;
&lt;p&gt;Next up was how do I read them? I already have a kindle so it makes sense to continue using that but I need to get away from the Amazon ecosphere. Luckily I started looking at this around the time &lt;a href="https://kindlemodding.org/" target="_blank" rel="noreferrer"&gt;Winterbreak&lt;/a&gt; was released but I&amp;rsquo;d missed the boat by literal days and my kindle had automatically updated patching that vulnerability. I put it into aircraft mode and used Calibre to send any new ebooks to the kindle. A few months later a new vulnerability was released called Adbreak which finally allowed me to jailbreak my kindle and be free!&lt;/p&gt;
&lt;p&gt;Introducing &lt;a href="https://koreader.rocks/" target="_blank" rel="noreferrer"&gt;KoReader&lt;/a&gt;. If you can and have the time/patience to jailbreak your kindle then I highly recommend it for KoReader. It&amp;rsquo;s a one stop amazing reading experience. You dump you epubs on there and start reading simple as that. It also has some absolutely amazing configuration options, my favourite so far is inverting the screen which makes it a lot nicer to read in low light conditions while having the backlight low. It&amp;rsquo;s also faster than the native kindle experience which is really interesting.&lt;/p&gt;
&lt;p&gt;To organise and sort the metadata I used to use Calibre but switched over to &lt;a href="https://github.com/janeczku/calibre-web" target="_blank" rel="noreferrer"&gt;Calibre-web&lt;/a&gt; instead. It looks nicer and I can create multiple users so I can share my library with my wife if she wants. It&amp;rsquo;s super easy to setup and you can easily import your existing Calibre library.&lt;/p&gt;
&lt;p&gt;Another neat feature of KoReader is that it supports OPDS feeds couple this with Calibre-web and I can sync my library from my homelab to my kindle whenever I&amp;rsquo;m on my home wifi.&lt;/p&gt;
&lt;p&gt;Overall I feel like I have a pretty good setup for my books now. Buying books in a drm format is getting easier and easier these days as well so there&amp;rsquo;s really no reason to be locked into Amazon now. When this kindle dies I&amp;rsquo;ll be looking for another e-ink reader that isn&amp;rsquo;t Amazon.&lt;/p&gt;
&lt;p&gt;Thanks for reading via RSS!&lt;/p&gt;
&lt;p&gt;Send me a message on &lt;a href="https://remotelab.uk/mikebell"&gt;Mastodon&lt;/a&gt; or &lt;a href="mailto:hello@mikebell.io"&gt;email me&lt;/a&gt;&lt;/p&gt;</description></item><item><title>Default Software &amp; Hardware 2025</title><link>https://mikebell.io/posts/default-software-hardware-2025/</link><pubDate>Tue, 20 Jan 2026 20:52:41 +0000</pubDate><author>hello@mikebell.io (Mike Bell)</author><guid>https://mikebell.io/posts/default-software-hardware-2025/</guid><description>
&lt;p&gt;A list of my default hardware and software for 2025, taken from &lt;a href="https://kevquirk.com/blog/my-default-apps-at-the-end-of-2024" target="_blank" rel="noreferrer"&gt;here&lt;/a&gt; and expanded on. Hope you enjoy!&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;📨 Mail Service: &lt;del&gt;Gmail&lt;/del&gt; Fastmail&lt;/li&gt;
&lt;li&gt;📮 Mail Client: &lt;del&gt;Gmail&lt;/del&gt; Fastmail&lt;/li&gt;
&lt;li&gt;📝 Notes: Joplin&lt;/li&gt;
&lt;li&gt;✅ To-Do: &lt;del&gt;Google Calendar &amp;amp;&lt;/del&gt; Vikunja&lt;/li&gt;
&lt;li&gt;📆 Calendar: &lt;del&gt;Google Calendar&lt;/del&gt; Fastmail, Etar&lt;/li&gt;
&lt;li&gt;🙍🏻‍♂️ Contacts: &lt;del&gt;Google Contacts&lt;/del&gt; Fastmail&lt;/li&gt;
&lt;li&gt;📖 RSS Service: Hugo&lt;/li&gt;
&lt;li&gt;🗞️ RSS Client: FreshRSS&lt;/li&gt;
&lt;li&gt;⌨️ Launcher: None&lt;/li&gt;
&lt;li&gt;☁️ Cloud storage: &lt;del&gt;Gdrive &amp;amp;&lt;/del&gt; Synology Nas&lt;/li&gt;
&lt;li&gt;🌅 Photo library: &lt;del&gt;Google Photos &amp;amp;&lt;/del&gt; Immich&lt;/li&gt;
&lt;li&gt;🌐 Web Browser: &lt;del&gt;Firefox &amp;amp; Librefox&lt;/del&gt; Firefox&lt;/li&gt;
&lt;li&gt;💬 Chat: WhatsApp &amp;amp; Signal&lt;/li&gt;
&lt;li&gt;🔖 Bookmarks: None&lt;/li&gt;
&lt;li&gt;📑 Read Later: Wallabag&lt;/li&gt;
&lt;li&gt;📚 Reading: Kindle Paperwhite&lt;/li&gt;
&lt;li&gt;📜 Word Processing: &lt;del&gt;Google Docs &amp;amp;&lt;/del&gt; Libreoffice&lt;/li&gt;
&lt;li&gt;📈 Spreadsheets: &lt;del&gt;Google Docs &amp;amp;&lt;/del&gt; Libreoffice&lt;/li&gt;
&lt;li&gt;📊 Presentations: &lt;del&gt;Google Docs &amp;amp;&lt;/del&gt; Libreoffice&lt;/li&gt;
&lt;li&gt;🛒 Shopping Lists: Mealie&lt;/li&gt;
&lt;li&gt;💰 Personal Finance: None&lt;/li&gt;
&lt;li&gt;🎵 Music: Navidrome/symfonium/feishin&lt;/li&gt;
&lt;li&gt;🎤 Podcasts: AntennaPod&lt;/li&gt;
&lt;li&gt;🔐 Password Management: 1Password&lt;/li&gt;
&lt;li&gt;🤦‍♂️ Social Media: Mastodon&lt;/li&gt;
&lt;li&gt;🌤️ Weather: Weather&amp;amp;Radar&lt;/li&gt;
&lt;li&gt;🔎 Search: &lt;del&gt;Google &amp;amp;&lt;/del&gt; DuckDuckGo&lt;/li&gt;
&lt;li&gt;🧮 Code Editor: &lt;del&gt;VSCode &amp;amp;&lt;/del&gt; nvim &amp;amp; VSCodium&lt;/li&gt;
&lt;li&gt;🖥️ Distros: &lt;del&gt;Win 11,&lt;/del&gt; OSX, &lt;del&gt;Arch,&lt;/del&gt; Debian, &lt;del&gt;Ubuntu&lt;/del&gt;, CachyOS (I use Arch btw)&lt;/li&gt;
&lt;li&gt;📱Phone: Google Pixel 7 Pro&lt;/li&gt;
&lt;li&gt;💻 Laptop: &lt;del&gt;Lenovo X1 Carbon 5th Gen&lt;/del&gt; MacBook Air&lt;/li&gt;
&lt;li&gt;📜 Document Management: Paperless ngx&lt;/li&gt;
&lt;li&gt;💾 Remote servers: 1&lt;/li&gt;
&lt;li&gt;💾 Home servers: &lt;del&gt;3&lt;/del&gt; 3.5&lt;/li&gt;
&lt;li&gt;📱Tablet: Samsung Galaxy Tab 9&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Thanks for reading via RSS!&lt;/p&gt;
&lt;p&gt;Send me a message on &lt;a href="https://remotelab.uk/mikebell"&gt;Mastodon&lt;/a&gt; or &lt;a href="mailto:hello@mikebell.io"&gt;email me&lt;/a&gt;&lt;/p&gt;</description></item><item><title>Homelab Update January 2026</title><link>https://mikebell.io/posts/homelab-update-january-2026/</link><pubDate>Mon, 12 Jan 2026 19:41:38 +0000</pubDate><author>hello@mikebell.io (Mike Bell)</author><guid>https://mikebell.io/posts/homelab-update-january-2026/</guid><description>
&lt;p&gt;Happy new year homelabbers! I&amp;rsquo;m cheating a bit and rolling some of the work I got done in December 2025 into this update. I want to say my homelab is pretty boring now it just works which is awesome, only minor tinkering is required these days so I&amp;rsquo;ve decided to focus on observability for a bit. Knowing when and what things have gone wrong was sorely missing so I&amp;rsquo;ve finally gotten round to sorting a lot of that out which I&amp;rsquo;ll detail in a section below.&lt;/p&gt;
&lt;h2 class="relative group"&gt;Chicken/Egg Docker Woes
&lt;div id="chickenegg-docker-woes" class="anchor"&gt;&lt;/div&gt;
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
&lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#chickenegg-docker-woes" aria-label="Anchor"&gt;#&lt;/a&gt;
&lt;/span&gt;
&lt;/h2&gt;
&lt;p&gt;Ever since I migrated away from Ubuntu to Debian I&amp;rsquo;ve been unable to restart the VM and have all the containers come up again. Even after going through every compose file and making sure that &lt;code&gt;restart: unless-stopped&lt;/code&gt; was set. It&amp;rsquo;s been driving me nuts that this has been happening. Well I finally figure out what was wrong. The hint was that the only container to consistently come back up was &lt;code&gt;fluent-bit&lt;/code&gt;. When I migrated to Debian I decided to improve my logging so set up fluent-bit and OpenSearch. I also set the docker logging driver to fluent-bit. Can you spot the issue yet? When docker comes up all the other containers fail over refusing to connect to the fluent-bit socket, pretty obvious now, if docker isn&amp;rsquo;t running the fluent-bit container isn&amp;rsquo;t running so how can docker connect to the fluent-bit container? I could keep this sentence recursive. Eventually the fluent-bit container comes up but the rest of them containers have already stopped, restarting them all brings them up fine. I removed the fluent-bit container and ran it as a systemd unit instead. Docker restarts are perfectly fine now.&lt;/p&gt;
&lt;h2 class="relative group"&gt;Uptime Kuma and Gotify
&lt;div id="uptime-kuma-and-gotify" class="anchor"&gt;&lt;/div&gt;
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
&lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#uptime-kuma-and-gotify" aria-label="Anchor"&gt;#&lt;/a&gt;
&lt;/span&gt;
&lt;/h2&gt;
&lt;p&gt;A while ago I did have Uptime Kuma as part of my homelab but removed it since everything was on one physical server so if there was a huge problem UK would never pick it up since it was probably down as well. I&amp;rsquo;m now hosting it on my Media Server which while still a single point of failure it&amp;rsquo;s physically separate from my main homelab. As well as this I setup Gotify to send me notifications when services go down, these go straight to my phone so I can get near realtime downtime notifications. I&amp;rsquo;ve had to tune the thresholds in UK for some of my applications since some are less reliable than others (the ones not on my infra!).&lt;/p&gt;
&lt;h2 class="relative group"&gt;Wireguard on Android
&lt;div id="wireguard-on-android" class="anchor"&gt;&lt;/div&gt;
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
&lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#wireguard-on-android" aria-label="Anchor"&gt;#&lt;/a&gt;
&lt;/span&gt;
&lt;/h2&gt;
&lt;p&gt;For about 24 hours I lost all network connectivity on my phone (Pixel 7 Pro). It turns out that wireguard had crashed and completely nuked connectivity. After rebooting my phone it worked again. No idea why this happened but it was pretty annoying. I usually have my home wireguard VPN connected 24/7 even when on my home wifi but because my phone is silent all the time I didn&amp;rsquo;t notice, I guess I didn&amp;rsquo;t need to use my phone at all that day.&lt;/p&gt;
&lt;p&gt;That&amp;rsquo;s it for this update, there&amp;rsquo;s still work in my todo list that I need to get around to but that can wait for a bit.&lt;/p&gt;
&lt;p&gt;Thanks for reading via RSS!&lt;/p&gt;
&lt;p&gt;Send me a message on &lt;a href="https://remotelab.uk/mikebell"&gt;Mastodon&lt;/a&gt; or &lt;a href="mailto:hello@mikebell.io"&gt;email me&lt;/a&gt;&lt;/p&gt;</description></item><item><title>My Music in 2025/26</title><link>https://mikebell.io/posts/music-2025-26/</link><pubDate>Sat, 10 Jan 2026 21:13:11 +0000</pubDate><author>hello@mikebell.io (Mike Bell)</author><guid>https://mikebell.io/posts/music-2025-26/</guid><description>
&lt;p&gt;Spurred on by &lt;a href="https://jessicajournals.com/music-setup-2025/" target="_blank" rel="noreferrer"&gt;this&lt;/a&gt; great article from Jessica Journals I&amp;rsquo;ve decided to document how I handle my music collection in 2025/26. I&amp;rsquo;ve split the post up into what seem like logical sections.&lt;/p&gt;
&lt;h2 class="relative group"&gt;Getting Music
&lt;div id="getting-music" class="anchor"&gt;&lt;/div&gt;
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
&lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#getting-music" aria-label="Anchor"&gt;#&lt;/a&gt;
&lt;/span&gt;
&lt;/h2&gt;
&lt;p&gt;Bandcamp is still my primary means of getting music at the moment, I&amp;rsquo;ve spent a &lt;em&gt;lot&lt;/em&gt; of money on music over the year. It feels good knowing that the artists are getting something for their work. A by-product of this is that I also get notified when new releases come out so I can keep up to date with my favourite artists and labels. It&amp;rsquo;s meant I can pick up releases like &amp;ldquo;||cↄc||oo3|| by CONDUIT&amp;rdquo; which was only available for a limited time for charity.&lt;/p&gt;
&lt;h2 class="relative group"&gt;Storing Music
&lt;div id="storing-music" class="anchor"&gt;&lt;/div&gt;
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
&lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#storing-music" aria-label="Anchor"&gt;#&lt;/a&gt;
&lt;/span&gt;
&lt;/h2&gt;
&lt;p&gt;All music goes on my NAS, I don&amp;rsquo;t back it up &lt;em&gt;yet&lt;/em&gt;, I&amp;rsquo;m going to make it a priority for 2026 since I have a second smaller NAS at a remote location now.&lt;/p&gt;
&lt;h2 class="relative group"&gt;Organising Music
&lt;div id="organising-music" class="anchor"&gt;&lt;/div&gt;
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
&lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#organising-music" aria-label="Anchor"&gt;#&lt;/a&gt;
&lt;/span&gt;
&lt;/h2&gt;
&lt;p&gt;I did used to use &lt;code&gt;beets&lt;/code&gt; but I was never really happy with the results, it&amp;rsquo;s too opinionated for me and I never got around to configuring all the different plugins to make it work exactly how I wanted it. Instead I use &lt;a href="https://picard.musicbrainz.org/" target="_blank" rel="noreferrer"&gt;Musicbrainz Picard&lt;/a&gt; which I is a really powerful tool (it&amp;rsquo;s incredibly dangerous as well so take backups first!). I just point the app to my music share mounted and then go through every album I have to update the metadata. Some more obscure releases are a bit difficult to identify but it&amp;rsquo;s managed a large part of my library with really good results.&lt;/p&gt;
&lt;h2 class="relative group"&gt;Library
&lt;div id="library" class="anchor"&gt;&lt;/div&gt;
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
&lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#library" aria-label="Anchor"&gt;#&lt;/a&gt;
&lt;/span&gt;
&lt;/h2&gt;
&lt;p&gt;Late 2025 I was managing three music libraries:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;a href="https://www.navidrome.org/" target="_blank" rel="noreferrer"&gt;Navidrome&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Jellyfin&lt;/li&gt;
&lt;li&gt;Moode&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;As of 2026 I&amp;rsquo;ve ditched Jellyfin and Moode for music playing and managing for Symfonium more on that later. My goal when designing this whole setup was to have one canonical source for my library and I&amp;rsquo;ve finally achieved it.&lt;/p&gt;
&lt;h2 class="relative group"&gt;Software Player
&lt;div id="software-player" class="anchor"&gt;&lt;/div&gt;
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
&lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#software-player" aria-label="Anchor"&gt;#&lt;/a&gt;
&lt;/span&gt;
&lt;/h2&gt;
&lt;p&gt;For software players I use &lt;a href="https://github.com/jeffvli/feishin" target="_blank" rel="noreferrer"&gt;Feishin&lt;/a&gt; on Mac/Linux (I use Arch btw) and on Android I use &lt;a href="https://www.symfonium.app/" target="_blank" rel="noreferrer"&gt;Symfonium&lt;/a&gt;. Both support the subsonic api which is what Navidrome uses meaning that I have one source of music but multiple methods of playing. Today I found out that Symfonium also has an Android TV app which works really well meaning I can finally ditch Jellyfin (amazing for TV and Movies!) and Moode. Even my wife likes the look of Symfonium on the tv shame she doesn&amp;rsquo;t like my taste in music.&lt;/p&gt;
&lt;h2 class="relative group"&gt;Hardware Player
&lt;div id="hardware-player" class="anchor"&gt;&lt;/div&gt;
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
&lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#hardware-player" aria-label="Anchor"&gt;#&lt;/a&gt;
&lt;/span&gt;
&lt;/h2&gt;
&lt;p&gt;Early in 2025 I was using my Pixel 7 Pro and a Qudelix-5K and while it was a really good setup I found the distractions of having music on my phone annoying.&lt;/p&gt;
&lt;p&gt;I ended up getting a &lt;a href="https://store.hiby.com/products/hiby-r4" target="_blank" rel="noreferrer"&gt;Hiby R4&lt;/a&gt; digital audio player so I have a dedicated way to listen to music. I really like it but it&amp;rsquo;s a bit slow and janky in places. I use Symfonium set to download any new albums from Navidrome onto the SD card (no transcoding, pure flac!) so I can have high quality music with me whether I have an internet connection or not. I&amp;rsquo;m currently looking into buying a Fiio M21 because an audiophiles journey is never over!&lt;/p&gt;
&lt;p&gt;I finally got rid of my Raspberry Pi Zero w2 and hifiberry dac in favour of playing through my TV to my Cambridge Audio Azur 540a via optical to dac. I&amp;rsquo;m really happy with this setup.&lt;/p&gt;
&lt;p&gt;If you have any question feel free to get in touch on &lt;a href="https://remotelab.uk/@mikebell" target="_blank" rel="noreferrer"&gt;Mastodon&lt;/a&gt;!&lt;/p&gt;
&lt;p&gt;Thanks for reading via RSS!&lt;/p&gt;
&lt;p&gt;Send me a message on &lt;a href="https://remotelab.uk/mikebell"&gt;Mastodon&lt;/a&gt; or &lt;a href="mailto:hello@mikebell.io"&gt;email me&lt;/a&gt;&lt;/p&gt;</description></item><item><title>Year in Review 2025</title><link>https://mikebell.io/posts/year-review-2025/</link><pubDate>Mon, 05 Jan 2026 17:41:35 +0000</pubDate><author>hello@mikebell.io (Mike Bell)</author><guid>https://mikebell.io/posts/year-review-2025/</guid><description>
&lt;p&gt;I think this is the first time I&amp;rsquo;ve done this although I&amp;rsquo;m not really sure, for &lt;a href="https://mikebell.io/posts/bilateral-pulmonary-embolisms-suck/" target="_blank" rel="noreferrer"&gt;reasons&lt;/a&gt; I didn&amp;rsquo;t do it last year. So this will be an attempt to summarise 2025 into something that makes sense.&lt;/p&gt;
&lt;h2 class="relative group"&gt;Onwards from the PE
&lt;div id="onwards-from-the-pe" class="anchor"&gt;&lt;/div&gt;
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
&lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#onwards-from-the-pe" aria-label="Anchor"&gt;#&lt;/a&gt;
&lt;/span&gt;
&lt;/h2&gt;
&lt;p&gt;2025 was mostly a recovery year, it&amp;rsquo;s safe to say that things got better as the year on, they started rough in New Year with phased return to work and a promotion at work. I was lucky enough to be having therapy while going through this but it highlighted just how traumatic the whole experience was, I&amp;rsquo;m suffering from PTSD from the event but my physical health is mostly back to normal now. Looking back at my posts from 2024 and 2025 on this it&amp;rsquo;s crazy what I went through and amazing I&amp;rsquo;m where I am now. I&amp;rsquo;m so grateful for everyone that helped me get through this and supported me when I needed it.&lt;/p&gt;
&lt;h2 class="relative group"&gt;Homelab Posts
&lt;div id="homelab-posts" class="anchor"&gt;&lt;/div&gt;
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
&lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#homelab-posts" aria-label="Anchor"&gt;#&lt;/a&gt;
&lt;/span&gt;
&lt;/h2&gt;
&lt;p&gt;I&amp;rsquo;ve done sporadic posts on my homelab over the past year, I think I managed it quite regularly and was quite impressed at how much interaction it got on &lt;a href="https://remotelab.uk/@mikebell" target="_blank" rel="noreferrer"&gt;Mastodon&lt;/a&gt;. Frequency of my posts has dropped towards the end of the year because I&amp;rsquo;m not really doing much with it, it&amp;rsquo;s stable and just works. It&amp;rsquo;s pretty boring right now! And that&amp;rsquo;s a good thing, everything is working as it should and I&amp;rsquo;ve not had any major issues with it (I did have to RMA a drive though). I&amp;rsquo;ve also stopped chasing the latest and greatest in Homelab &amp;ldquo;stuff&amp;rdquo;, if it works I&amp;rsquo;m happy, most importantly my primary user is happy as well.&lt;/p&gt;
&lt;h2 class="relative group"&gt;Kubernetes at Home
&lt;div id="kubernetes-at-home" class="anchor"&gt;&lt;/div&gt;
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
&lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#kubernetes-at-home" aria-label="Anchor"&gt;#&lt;/a&gt;
&lt;/span&gt;
&lt;/h2&gt;
&lt;p&gt;I do have a really nice k8s lab but it&amp;rsquo;s unplugged and sat on my dining room table at the moment. I haven&amp;rsquo;t felt enthused about running k8s at home for a while, I have enough of it at work. I really like k8s but it&amp;rsquo;s far too complicated, my homelab isn&amp;rsquo;t anything special it&amp;rsquo;s a mixture of docker compose files. The main thing that&amp;rsquo;s stopping me from migrating everything to k8s is the boring setup of the cluster, the time it takes to get from cluster to usable cluster isn&amp;rsquo;t fun for me. My day job means I spend most of my time in those spaces so spending it outside of work isn&amp;rsquo;t ideal. I may go back to it later this year but for the time being my k8s lab is an expensive paperweight.&lt;/p&gt;
&lt;h2 class="relative group"&gt;AI
&lt;div id="ai" class="anchor"&gt;&lt;/div&gt;
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
&lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#ai" aria-label="Anchor"&gt;#&lt;/a&gt;
&lt;/span&gt;
&lt;/h2&gt;
&lt;p&gt;Fuck AI&lt;/p&gt;
&lt;h2 class="relative group"&gt;AI Really
&lt;div id="ai-really" class="anchor"&gt;&lt;/div&gt;
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
&lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#ai-really" aria-label="Anchor"&gt;#&lt;/a&gt;
&lt;/span&gt;
&lt;/h2&gt;
&lt;p&gt;2025 saw it infringing on both work and personal life more than I&amp;rsquo;d like, it&amp;rsquo;s now impossible to ignore. I have friends with unhealthy relationships with AI and engineers using AI to badly solve problems. It seems to be taking over the discourse online and the amount of slop content polluting search engine results now is crazy. I can only see this getting worse in 2026, I feel we&amp;rsquo;re losing the ability to think properly and understand the importance of questioning what we read. I&amp;rsquo;m disturbed by how much people now swear by it. I pride myself in being a self taught engineer and I value the experience of learning and that moment when something just clicks and the code you hand wrote runs and you get the result you want. AI circumvents that by giving you lines of code that might work and often made up context. It also gives the impression that it &amp;ldquo;knows&amp;rdquo; but it really doesn&amp;rsquo;t.&lt;/p&gt;
&lt;p&gt;On the flip side I&amp;rsquo;m a hypocrite, I&amp;rsquo;ve been slowly (glacially!) experimenting with local LLMs, I refuse to use the big online ones. When I say slowly I mean it, in the past 2 months I&amp;rsquo;ve used a grand total of 1 prompt, I&amp;rsquo;m more interested in the setup of it and how to run it as ethically as possible. I&amp;rsquo;m also interested in MCPs and the idea of having an LLM that is super contextualised to my own code bases, I manage around 30 different personal terraform/opentofu setups and having all those digested into an easily queryable search engine type thing sounds quite appealing. Will I adopt AI fully in 2026 - maybe, I still have a lot of investigation to do and internal thinking on whether I want to use it for moral and ethical reasons.&lt;/p&gt;
&lt;h2 class="relative group"&gt;Job
&lt;div id="job" class="anchor"&gt;&lt;/div&gt;
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
&lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#job" aria-label="Anchor"&gt;#&lt;/a&gt;
&lt;/span&gt;
&lt;/h2&gt;
&lt;p&gt;I was pretty happy with things for the most of 2025, they supported me back into work and I was promoted to Senior Engineer. Towards the end of 2025 things have become more stressful and less rewarding. We do amazing things and I&amp;rsquo;m proud of the platform we&amp;rsquo;ve built but with it come a number of challenges that engineers shouldn&amp;rsquo;t have to solve. This year I&amp;rsquo;ll probably start looking for a new role, it&amp;rsquo;s really sad to type that. I want more tech and less politics, I relish working with smart engineers who I can learn from, we saw a large amount of talent leave over the past few years which has lowered moral in general. I&amp;rsquo;m currently doing recruitment which is really interesting but very hard and time consuming, it&amp;rsquo;s been eye opening! Hopefully I&amp;rsquo;ll get back to engineering by February.&lt;/p&gt;
&lt;h2 class="relative group"&gt;Turning 40
&lt;div id="turning-40" class="anchor"&gt;&lt;/div&gt;
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
&lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#turning-40" aria-label="Anchor"&gt;#&lt;/a&gt;
&lt;/span&gt;
&lt;/h2&gt;
&lt;p&gt;In 2026 I turn 40, it&amp;rsquo;s scary. I spent quite a lot of time in 2025 looking back at my life and where I&amp;rsquo;ve come from and where I want to go. I&amp;rsquo;d always assumed I&amp;rsquo;d have kids by now but that hasn&amp;rsquo;t happened and I&amp;rsquo;d be lying if I said it didn&amp;rsquo;t upset me. I&amp;rsquo;m very lucky to have quite young parents and always wanted that for my own kids but it&amp;rsquo;s slowly slipping away now. I&amp;rsquo;d also like to move house in 2026, we need a bigger place in a nicer area. Our town has served us for a decade now but it&amp;rsquo;s not going anywhere and if anything it&amp;rsquo;s getting worse. The number of union jacks on lamp posts around us should give you and idea on why I&amp;rsquo;d like to leave.&lt;/p&gt;
&lt;p&gt;For my 40th we&amp;rsquo;re going to Prague for the week, I&amp;rsquo;ve fallen in love with Prague, it&amp;rsquo;s such a lovely city and feels very much like home. I&amp;rsquo;d really like to move there, even if just for a few months to see what living abroad is like. I&amp;rsquo;ll also be having a few different parties with friends around the time which I&amp;rsquo;m really looking forward to.&lt;/p&gt;
&lt;h2 class="relative group"&gt;Holidays
&lt;div id="holidays" class="anchor"&gt;&lt;/div&gt;
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
&lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#holidays" aria-label="Anchor"&gt;#&lt;/a&gt;
&lt;/span&gt;
&lt;/h2&gt;
&lt;p&gt;We we&amp;rsquo;re lucky enough to have had the most holidays we&amp;rsquo;ve ever had this year. We went to:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Rhodes&lt;/li&gt;
&lt;li&gt;Prague&lt;/li&gt;
&lt;li&gt;Budapest&lt;/li&gt;
&lt;li&gt;Majorca&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;All those trips were amazing and we were so lucky to have been able to do them, we&amp;rsquo;re looking forward to continuing this trend this year going back to Prague and a few others places we have to book. I&amp;rsquo;d love to go back to Budapest at some point, our weekend there was when it hit 38c which was far too hot and made exploring very difficult. We brought back the city break, we&amp;rsquo;ve not done a proper one for a long time after sort of getting burnt out by them. We&amp;rsquo;ve fallen back in love with them with a few caveats:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;4 night minimum - this gives us time to explore and not feel like we&amp;rsquo;re rushing&lt;/li&gt;
&lt;li&gt;Flights need to be decent, no late night on the way out, no early morning on the way back&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;With those rules we&amp;rsquo;ve found a happy medium to city breaks.&lt;/p&gt;
&lt;h2 class="relative group"&gt;The Blog
&lt;div id="the-blog" class="anchor"&gt;&lt;/div&gt;
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
&lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#the-blog" aria-label="Anchor"&gt;#&lt;/a&gt;
&lt;/span&gt;
&lt;/h2&gt;
&lt;p&gt;I made some small changes to the blog which I&amp;rsquo;ve wanted to do for a long time. First was making blog posts full width, second was changing the font to Hack. I spent a lot of the year trying to figure out whether or not I was happy or not with the blogging process. There are still a few issues that need to be worked out, for example my watch page isn&amp;rsquo;t a full page and I&amp;rsquo;m not sure why. I&amp;rsquo;ve been pretty happy with the frequency of blogging last year, I came to the conclusion that it&amp;rsquo;s ok to not blog as much and just focus on what I want to write not what I think others want to read. I still really appreciate it when people reach out to say they&amp;rsquo;ve found something I&amp;rsquo;ve written useful though it really does make my day.&lt;/p&gt;
&lt;h2 class="relative group"&gt;Sober
&lt;div id="sober" class="anchor"&gt;&lt;/div&gt;
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
&lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#sober" aria-label="Anchor"&gt;#&lt;/a&gt;
&lt;/span&gt;
&lt;/h2&gt;
&lt;p&gt;My wifes doing dry January and I decided to start a bit earlier so classifying this as a 2025 thing. A lot of my socialising surrounds alcohol, whether it&amp;rsquo;s an evening in the pub or a beer festival and towards the end of 2025 I started noticing things around me that made me really uncomfortable. Our friends sold our local and it&amp;rsquo;s been taken over by a friend of theirs, it&amp;rsquo;s not what it used to be both in good and bad ways. I&amp;rsquo;ve started noticing that these places are surrounded by people I don&amp;rsquo;t really want to be around. Alcohol became a bit of a coping mechanism after the PE which wasn&amp;rsquo;t healthy. I&amp;rsquo;ve not given up beer forever but I&amp;rsquo;m taking a long break to see how I feel and hopefully lose a bit more weight and become healthier. I&amp;rsquo;m 6 days in writing this and it&amp;rsquo;s quite nice so far. We went out last night and I drank non alcoholic beers (they don&amp;rsquo;t beat the real thing!), they&amp;rsquo;ve come a long way and it was a nice change. I&amp;rsquo;m looking forward to catching up with friends and trying new and interesting drinks, Kombucha is quite nice and I hope it becomes a bit more popular in bars in the future.&lt;/p&gt;
&lt;h2 class="relative group"&gt;Migrating from Github
&lt;div id="migrating-from-github" class="anchor"&gt;&lt;/div&gt;
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
&lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#migrating-from-github" aria-label="Anchor"&gt;#&lt;/a&gt;
&lt;/span&gt;
&lt;/h2&gt;
&lt;p&gt;I finally migrated the rest of my repos from Github into my won code forge (ForgeJo). It&amp;rsquo;s refreshing to have my own setup and all the challenges that come with it. I still have to use Github for work but if you take a look at my profile there&amp;rsquo;s nothing personal there apart from a pointer to my forge. ForgeJo is a really interesting project, their work on adding support for activitypub is really interesting, I can&amp;rsquo;t wait to see where they go with it and how it&amp;rsquo;s going to interact with other ForgeJo instances.&lt;/p&gt;
&lt;p&gt;That&amp;rsquo;s it for my wrap up of 2025 I&amp;rsquo;m sure I&amp;rsquo;ve missed loads of things!&lt;/p&gt;
&lt;p&gt;Thanks for reading via RSS!&lt;/p&gt;
&lt;p&gt;Send me a message on &lt;a href="https://remotelab.uk/mikebell"&gt;Mastodon&lt;/a&gt; or &lt;a href="mailto:hello@mikebell.io"&gt;email me&lt;/a&gt;&lt;/p&gt;</description></item><item><title>How I build my CV from Markdown</title><link>https://mikebell.io/posts/2025-11-23-how-i-build-my-cv-from-markdown/</link><pubDate>Sun, 23 Nov 2025 11:33:49 +0000</pubDate><author>hello@mikebell.io (Mike Bell)</author><guid>https://mikebell.io/posts/2025-11-23-how-i-build-my-cv-from-markdown/</guid><description>
&lt;p&gt;I&amp;rsquo;ve changed site generators and cms more times than I can remember (my git repo has the entire history of this site!) the one thing I try to keep the same is my CV. It changes roughly every few years with either a new job or update in skills. I want a way that regardless of however my site is built my CV is just there ready to go.&lt;/p&gt;
&lt;h2 class="relative group"&gt;Markdown first
&lt;div id="markdown-first" class="anchor"&gt;&lt;/div&gt;
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
&lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#markdown-first" aria-label="Anchor"&gt;#&lt;/a&gt;
&lt;/span&gt;
&lt;/h2&gt;
&lt;p&gt;My CV is a markdown file you can see it &lt;a href="https://code.remotelab.uk/mikebell/mikebell.io/raw/branch/main/content/cv.md" target="_blank" rel="noreferrer"&gt;here&lt;/a&gt;. It doesn&amp;rsquo;t require anything special(ish - I&amp;rsquo;ll get onto that). The idea is that you can put it in any site generator or CMS (that supports markdown) and it&amp;rsquo;ll render &lt;em&gt;something&lt;/em&gt;. I think it&amp;rsquo;s a great approach.&lt;/p&gt;
&lt;h2 class="relative group"&gt;Rendering outside the box
&lt;div id="rendering-outside-the-box" class="anchor"&gt;&lt;/div&gt;
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
&lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#rendering-outside-the-box" aria-label="Anchor"&gt;#&lt;/a&gt;
&lt;/span&gt;
&lt;/h2&gt;
&lt;p&gt;The box here being any CMS/Static Site generator. I want it to look decent and not like whatever is rendering it at the time. I decide to use Pandoc, it&amp;rsquo;s as simple as running pandoc extra with the following args:&lt;/p&gt;
&lt;div class="highlight-wrapper"&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;content/cv.md --output&lt;span class="o"&gt;=&lt;/span&gt;public/cv.pdf --template /.pandoc/templates/eisvogel.latex --syntax-highlighting&lt;span class="o"&gt;=&lt;/span&gt;idiomatic -V block-headings&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;I used the docker image extensively to test this out and even managed to contribute some docs back on using templates with docker on Ubuntu (long story!).&lt;/p&gt;
&lt;h2 class="relative group"&gt;Pipeline
&lt;div id="pipeline" class="anchor"&gt;&lt;/div&gt;
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
&lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#pipeline" aria-label="Anchor"&gt;#&lt;/a&gt;
&lt;/span&gt;
&lt;/h2&gt;
&lt;p&gt;It&amp;rsquo;s not enough to have a way of turning my CV into a PDF I don&amp;rsquo;t want to ever think about it ever again, dealing with PDFs is a hassle at the best of times so I chucked the entire process into a FrogeJo &lt;a href="https://code.remotelab.uk/mikebell/mikebell.io/src/branch/main/.forgejo/workflows/main.yml#L34" target="_blank" rel="noreferrer"&gt;action&lt;/a&gt; (there&amp;rsquo;s also a spoiler for an upcoming section). This creates my cv which is then uploaded to an S3 bucket. You can see my CV &lt;a href="https://mikebell.io/cv.pdf" target="_blank" rel="noreferrer"&gt;here&lt;/a&gt; freshly built when this blog post goes live.&lt;/p&gt;
&lt;h2 class="relative group"&gt;Anonymising my CV
&lt;div id="anonymising-my-cv" class="anchor"&gt;&lt;/div&gt;
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
&lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#anonymising-my-cv" aria-label="Anchor"&gt;#&lt;/a&gt;
&lt;/span&gt;
&lt;/h2&gt;
&lt;p&gt;I recently applied for a new job and one of their requirements was an anonymised CV so rather than manually edit it I decided to over engineer it because I sure as hell enjoyed that more than writing STAR answers. If you take a look at the raw version of my CV you can see the following:&lt;/p&gt;
&lt;div class="highlight-wrapper"&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-text" data-lang="text"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;## Senior DevOps Engineer&amp;lt;!--- start --&amp;gt; - Remote &amp;amp; Manchester UK&amp;lt;!--- end --&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;The &lt;code&gt;&amp;lt;!--- start ---&amp;gt;&lt;/code&gt; and &lt;code&gt;&amp;lt;!--- end --&amp;gt;&lt;/code&gt; tag don&amp;rsquo;t render in markdown/HTML so by default the content still shows up. I can then &lt;code&gt;sed&lt;/code&gt; them out when I build the anon version of my CV:&lt;/p&gt;
&lt;div class="highlight-wrapper"&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-yaml" data-lang="yaml"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;- &lt;span class="nt"&gt;name&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;Setup Anonymous CV&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;run&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;cp content/cv.md content/cv-anon.md &amp;amp;&amp;amp; sed -i &amp;#39;s/&amp;lt;!--- start --&amp;gt;...*&amp;lt;!--- end --&amp;gt;//g&amp;#39; content/cv-anon.md&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;It then uses pandoc again to create a PDF file and the pipeline uploads it.&lt;/p&gt;
&lt;p&gt;So there you have it, that&amp;rsquo;s how I build my CV from a markdown file into both a standard and anonymised PDF file ready for potential employers. Just because I can it&amp;rsquo;s also available rendered through Hugo and Blowfish &lt;a href="https://mikebell.io/cv/" target="_blank" rel="noreferrer"&gt;here&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Thanks for reading via RSS!&lt;/p&gt;
&lt;p&gt;Send me a message on &lt;a href="https://remotelab.uk/mikebell"&gt;Mastodon&lt;/a&gt; or &lt;a href="mailto:hello@mikebell.io"&gt;email me&lt;/a&gt;&lt;/p&gt;</description></item><item><title>The frequency of blogging</title><link>https://mikebell.io/posts/frequency-blogging/</link><pubDate>Mon, 17 Nov 2025 09:14:27 +0000</pubDate><author>hello@mikebell.io (Mike Bell)</author><guid>https://mikebell.io/posts/frequency-blogging/</guid><description>
&lt;p&gt;The frequency of blogging is directly tied into how work is going, what my physical health is like and what my mental health is like.&lt;/p&gt;
&lt;p&gt;At the moment work and my mental health suck so I&amp;rsquo;ve just not been able to put as much effort into blogging. I currently have the following posts that are in some state or another (in no particular order):&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;I&amp;rsquo;ve ditched Github for my own forge&lt;/li&gt;
&lt;li&gt;Bilateral Pulmonary Embolism - One Year On&lt;/li&gt;
&lt;li&gt;RPI Zero 2W and Hifiberry&lt;/li&gt;
&lt;li&gt;You should get your own code forge&lt;/li&gt;
&lt;li&gt;End of Year State of my Homelab 2025 Edition&lt;/li&gt;
&lt;li&gt;AI is coming, I hate it&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Thing is the words are there in my head I usually think them out when I&amp;rsquo;m trying to sleep at night but they don&amp;rsquo;t flow as well between hands and keyboard as they do when I think them through.&lt;/p&gt;
&lt;p&gt;I&amp;rsquo;ve recently made a few changes to the blog &lt;em&gt;yay&lt;/em&gt; for Hack font and posts being full width. I&amp;rsquo;d like to go a bit further and change the colour scheme but it&amp;rsquo;s beyond me at the moment. My ultimate goal is to have it reflect whatever scheme I&amp;rsquo;m using in my IDE (currently Tokyo Night).&lt;/p&gt;
&lt;p&gt;I&amp;rsquo;d love to streamline the creation of posts as well, currently I write the draft in Joplin which is synced across all my devices so I can tinker anywhere but then I have to create a new file and push it to git for it to publish. If I could automate that step I&amp;rsquo;d be happier. The temptation to build my own CMS is quite high! I think the solution is a Joplin plugin or maybe even moving away from Hugo.&lt;/p&gt;
&lt;p&gt;Hopefully this post will break the drought.&lt;/p&gt;
&lt;p&gt;Thanks for reading via RSS!&lt;/p&gt;
&lt;p&gt;Send me a message on &lt;a href="https://remotelab.uk/mikebell"&gt;Mastodon&lt;/a&gt; or &lt;a href="mailto:hello@mikebell.io"&gt;email me&lt;/a&gt;&lt;/p&gt;</description></item><item><title>Ten Pointless Facts About Me</title><link>https://mikebell.io/posts/ten-pointless-facts/</link><pubDate>Thu, 16 Oct 2025 21:50:34 +0000</pubDate><author>hello@mikebell.io (Mike Bell)</author><guid>https://mikebell.io/posts/ten-pointless-facts/</guid><description>
&lt;h2 class="relative group"&gt;Do you floss your teeth?
&lt;div id="do-you-floss-your-teeth" class="anchor"&gt;&lt;/div&gt;
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
&lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#do-you-floss-your-teeth" aria-label="Anchor"&gt;#&lt;/a&gt;
&lt;/span&gt;
&lt;/h2&gt;
&lt;p&gt;Yes, every 2 or weeks I&amp;rsquo;ll floss my teeth. I&amp;rsquo;m trying to be a lot better about teeth care. It&amp;rsquo;s cost me enough already!&lt;/p&gt;
&lt;h2 class="relative group"&gt;Tea, coffee, or water?
&lt;div id="tea-coffee-or-water" class="anchor"&gt;&lt;/div&gt;
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
&lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#tea-coffee-or-water" aria-label="Anchor"&gt;#&lt;/a&gt;
&lt;/span&gt;
&lt;/h2&gt;
&lt;p&gt;Coffee first, I need at least 2 to get started in the morning. A cup of tea in the afternoon if it&amp;rsquo;s a rough day. Water whenever I need it.&lt;/p&gt;
&lt;h2 class="relative group"&gt;Footwear preference?
&lt;div id="footwear-preference" class="anchor"&gt;&lt;/div&gt;
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
&lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#footwear-preference" aria-label="Anchor"&gt;#&lt;/a&gt;
&lt;/span&gt;
&lt;/h2&gt;
&lt;p&gt;Adidas Gazelles, Vans, Crocs, Sliders - in that order.&lt;/p&gt;
&lt;h2 class="relative group"&gt;Favourite dessert?
&lt;div id="favourite-dessert" class="anchor"&gt;&lt;/div&gt;
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
&lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#favourite-dessert" aria-label="Anchor"&gt;#&lt;/a&gt;
&lt;/span&gt;
&lt;/h2&gt;
&lt;p&gt;Tiramisu followed by Black Forest Gateau followed by Panna cotta.&lt;/p&gt;
&lt;h2 class="relative group"&gt;The first thing you do when you wake up?
&lt;div id="the-first-thing-you-do-when-you-wake-up" class="anchor"&gt;&lt;/div&gt;
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
&lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#the-first-thing-you-do-when-you-wake-up" aria-label="Anchor"&gt;#&lt;/a&gt;
&lt;/span&gt;
&lt;/h2&gt;
&lt;p&gt;Spoon my wife, no joke! First thing I do when I wake up is spoon my wife then she gets up to commute to work and I fall back asleep.&lt;/p&gt;
&lt;h2 class="relative group"&gt;Age you’d like to stick at?
&lt;div id="age-youd-like-to-stick-at" class="anchor"&gt;&lt;/div&gt;
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
&lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#age-youd-like-to-stick-at" aria-label="Anchor"&gt;#&lt;/a&gt;
&lt;/span&gt;
&lt;/h2&gt;
&lt;p&gt;Whatever age I am when you read this. I learnt a long time ago that you can&amp;rsquo;t go back. I&amp;rsquo;ll never be 20/25/30/35 again so it doesn&amp;rsquo;t matter. Enjoy what you are now.&lt;/p&gt;
&lt;h2 class="relative group"&gt;How many hats do you own?
&lt;div id="how-many-hats-do-you-own" class="anchor"&gt;&lt;/div&gt;
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
&lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#how-many-hats-do-you-own" aria-label="Anchor"&gt;#&lt;/a&gt;
&lt;/span&gt;
&lt;/h2&gt;
&lt;p&gt;I have an Adidas baseball cap and multiple beanies. I&amp;rsquo;d like a flat cap though.&lt;/p&gt;
&lt;h2 class="relative group"&gt;Describe the last photo you took?
&lt;div id="describe-the-last-photo-you-took" class="anchor"&gt;&lt;/div&gt;
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
&lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#describe-the-last-photo-you-took" aria-label="Anchor"&gt;#&lt;/a&gt;
&lt;/span&gt;
&lt;/h2&gt;
&lt;p&gt;A picture of my wife scratching the head of Lilly our cat.&lt;/p&gt;
&lt;h2 class="relative group"&gt;Worst TV show?
&lt;div id="worst-tv-show" class="anchor"&gt;&lt;/div&gt;
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
&lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#worst-tv-show" aria-label="Anchor"&gt;#&lt;/a&gt;
&lt;/span&gt;
&lt;/h2&gt;
&lt;p&gt;Not really sure. I&amp;rsquo;m rewatching M&lt;em&gt;A&lt;/em&gt;S*H and it&amp;rsquo;s so good so maybe you should too?&lt;/p&gt;
&lt;h2 class="relative group"&gt;As a child, what was your aspiration for adulthood?
&lt;div id="as-a-child-what-was-your-aspiration-for-adulthood" class="anchor"&gt;&lt;/div&gt;
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
&lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#as-a-child-what-was-your-aspiration-for-adulthood" aria-label="Anchor"&gt;#&lt;/a&gt;
&lt;/span&gt;
&lt;/h2&gt;
&lt;p&gt;I want to be an Astronaut but yeah that didn&amp;rsquo;t work out. I never had any aspirations as a kid, I kinda just fell forward in life and here I am. One thing I can say is that I&amp;rsquo;m finally happy and proud about the work I do.&lt;/p&gt;
&lt;p&gt;If you want to take part, here’s the questions in a copy/paste format to dump into your own blog post…&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Do you floss your teeth?&lt;/li&gt;
&lt;li&gt;Tea, coffee, or water?&lt;/li&gt;
&lt;li&gt;Footwear preference?&lt;/li&gt;
&lt;li&gt;Favourite dessert?&lt;/li&gt;
&lt;li&gt;The first thing you do when you wake up?&lt;/li&gt;
&lt;li&gt;Age you’d like to stick at?&lt;/li&gt;
&lt;li&gt;How many hats do you own?&lt;/li&gt;
&lt;li&gt;Describe the last photo you took?&lt;/li&gt;
&lt;li&gt;Worst TV show?&lt;/li&gt;
&lt;li&gt;As a child, what was your aspiration for adulthood?&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Thanks for reading via RSS!&lt;/p&gt;
&lt;p&gt;Send me a message on &lt;a href="https://remotelab.uk/mikebell"&gt;Mastodon&lt;/a&gt; or &lt;a href="mailto:hello@mikebell.io"&gt;email me&lt;/a&gt;&lt;/p&gt;</description></item><item><title>Crinacle Project Meta and others</title><link>https://mikebell.io/posts/crinacle-project-meta/</link><pubDate>Thu, 07 Aug 2025 19:59:52 +0000</pubDate><author>hello@mikebell.io (Mike Bell)</author><guid>https://mikebell.io/posts/crinacle-project-meta/</guid><description>
&lt;p&gt;I&amp;rsquo;m by no means the best at reviewing things, I don&amp;rsquo;t really do it but figured this might be a fun thing to try. So why not pick probably one of the hardest and most subjective areas to tackle - audio!&lt;/p&gt;
&lt;p&gt;Ever since I was a kid I&amp;rsquo;ve had the privilege of having &lt;em&gt;good&lt;/em&gt; audio equipment, my dad has always been into HiFi so I grew up with custom built kit speakers and amps. My first amp was a hand me down Cambridge Audio P30, it sadly no longer works but I&amp;rsquo;m hoping one day my dad will fix it for me. From then I inherited a pair of custom built kit speakers from Wilmslow Audio, these things are older than me and are now the work horse of our media centre in the lounge (despite the cracked tweeter).&lt;/p&gt;
&lt;p&gt;Around the time of the before times (pre COVID) I started getting into Chifi (I hate this word but it seems to be the term used for Chinese Hifi) IEMs (In Ear Monitors).&lt;/p&gt;
&lt;p&gt;All my IEMs:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;KZ ZEX Pro (Crinacle)&lt;/li&gt;
&lt;li&gt;Shure something&lt;/li&gt;
&lt;li&gt;Etymotic HF5&lt;/li&gt;
&lt;li&gt;Thruthear x Crinacle Zero: Red&lt;/li&gt;
&lt;li&gt;Moondrop Chu&lt;/li&gt;
&lt;li&gt;Moondrop Starfields&lt;/li&gt;
&lt;li&gt;Moodrop Blessing 2&lt;/li&gt;
&lt;li&gt;Moondrop Dusk&lt;/li&gt;
&lt;li&gt;Crinacle Project Meta (777)&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;It should be clear I really like Crinacles tuning, overall I much prefer a neutral sound with bass boosted slightly.&lt;/p&gt;
&lt;p&gt;Of the ones I&amp;rsquo;ve listened to the most here&amp;rsquo;s my thoughts:&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Blessing 2&lt;/th&gt;
&lt;th&gt;Dusk&lt;/th&gt;
&lt;th&gt;Project Meta&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Neutral&lt;/td&gt;
&lt;td&gt;Neutral Tuning&lt;/td&gt;
&lt;td&gt;FUN&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Flat&lt;/td&gt;
&lt;td&gt;Great bass response&lt;/td&gt;
&lt;td&gt;Bass is kinda crazy, booms, some bass heavy music is hard to listen to at times, EDIT: I&amp;rsquo;ve grown to really like this now!&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Lacking Bass&lt;/td&gt;
&lt;td&gt;Kinda fun to listen to&lt;/td&gt;
&lt;td&gt;Treble is responsive and not muddied by Bass&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Clinical&lt;/td&gt;
&lt;td&gt;Treble is really nice and crisp&lt;/td&gt;
&lt;td&gt;Shells are a lot smaller than B2s and Dusk and more comfy&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Overall not that fun to listen to&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h2 class="relative group"&gt;Moondrop Blessing 2
&lt;div id="moondrop-blessing-2" class="anchor"&gt;&lt;/div&gt;
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
&lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#moondrop-blessing-2" aria-label="Anchor"&gt;#&lt;/a&gt;
&lt;/span&gt;
&lt;/h2&gt;
&lt;p&gt;These we&amp;rsquo;re my first &amp;ldquo;expensive&amp;rdquo; IEM, I spent ages researching the sound profile and reviews. I wish I&amp;rsquo;d bought the Dusk variant as I think it fixes a lot of the issues I had with the B2s. I got my pair custom engraved with the icon I use for this site which is cool.&lt;/p&gt;
&lt;h2 class="relative group"&gt;Moondrop Dusk
&lt;div id="moondrop-dusk" class="anchor"&gt;&lt;/div&gt;
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
&lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#moondrop-dusk" aria-label="Anchor"&gt;#&lt;/a&gt;
&lt;/span&gt;
&lt;/h2&gt;
&lt;p&gt;I was super excited when these we&amp;rsquo;re announced and pre-ordered straight away. They&amp;rsquo;re absolutely amazing and have become my gold standard for IEMs, my only issue is that the shells are freaking huge like the B2s, I got used to the size but after switching to the Metas it&amp;rsquo;s kinda hard to go back.&lt;/p&gt;
&lt;h2 class="relative group"&gt;CrinEar Project Meta
&lt;div id="crinear-project-meta" class="anchor"&gt;&lt;/div&gt;
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
&lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#crinear-project-meta" aria-label="Anchor"&gt;#&lt;/a&gt;
&lt;/span&gt;
&lt;/h2&gt;
&lt;p&gt;It&amp;rsquo;s kinda a shame that the Project Metas are limit to 1000 units, they&amp;rsquo;re really good and at a great price point (around ~£250). I&amp;rsquo;m really glad I managed to get a pair they&amp;rsquo;ve replaced the Dusks as my go to IEM now. I can&amp;rsquo;t see that changing any time soon.&lt;/p&gt;
&lt;h2 class="relative group"&gt;Moondrop Spring Tips
&lt;div id="moondrop-spring-tips" class="anchor"&gt;&lt;/div&gt;
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
&lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#moondrop-spring-tips" aria-label="Anchor"&gt;#&lt;/a&gt;
&lt;/span&gt;
&lt;/h2&gt;
&lt;p&gt;All my IEMs use these tips, they&amp;rsquo;re really comfortable and fit my ears well.&lt;/p&gt;
&lt;h2 class="relative group"&gt;Conclusion
&lt;div id="conclusion" class="anchor"&gt;&lt;/div&gt;
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
&lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#conclusion" aria-label="Anchor"&gt;#&lt;/a&gt;
&lt;/span&gt;
&lt;/h2&gt;
&lt;p&gt;This is a bit of a rambly post, I&amp;rsquo;m not a reviewer let alone an audio one, I just really appreciate good gear. If your looking for a new set of IEMs I think the CrinEar Daybreaks might be a good choice.&lt;/p&gt;
&lt;p&gt;Thanks for reading via RSS!&lt;/p&gt;
&lt;p&gt;Send me a message on &lt;a href="https://remotelab.uk/mikebell"&gt;Mastodon&lt;/a&gt; or &lt;a href="mailto:hello@mikebell.io"&gt;email me&lt;/a&gt;&lt;/p&gt;</description></item><item><title>Homelab Update July 2025</title><link>https://mikebell.io/posts/homelab-update-july-2025/</link><pubDate>Fri, 25 Jul 2025 12:49:52 +0000</pubDate><author>hello@mikebell.io (Mike Bell)</author><guid>https://mikebell.io/posts/homelab-update-july-2025/</guid><description>
&lt;p&gt;Oh wow how things change in a month! I now have 3.5 homelabs, It&amp;rsquo;s an odd number but hear me out:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;OG Proxmox Server&lt;/li&gt;
&lt;li&gt;Parents Proxmox Server&lt;/li&gt;
&lt;li&gt;Mediaserver (I don&amp;rsquo;t classify this as a full lab)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;New&lt;/strong&gt; Raspberry Pi Compute Module 5 Kubernetes Cluster&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 class="relative group"&gt;Migration to Kubernetes
&lt;div id="migration-to-kubernetes" class="anchor"&gt;&lt;/div&gt;
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
&lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#migration-to-kubernetes" aria-label="Anchor"&gt;#&lt;/a&gt;
&lt;/span&gt;
&lt;/h2&gt;
&lt;p&gt;For a while now I&amp;rsquo;ve wanted my own cluster, I&amp;rsquo;ve even built a few in Proxmox but none of them have ever stuck around long enough for me to really grow attached to them. For those that don&amp;rsquo;t know what I do for my day job I manage a k8s cluster with around a 1000 namespaces it&amp;rsquo;s quite challenging! The problem is I don&amp;rsquo;t use k8s, I can talk for hours on how our cluster is built and how all the components fit together but I can count on one hand the amount of time I&amp;rsquo;ve actually deployed any applications to it. I have a hole in my knowledge when it comes to actually using k8s as an end user. Building a physical cluster and migrating my existing apps over to it should hopefully cover that.&lt;/p&gt;
&lt;h2 class="relative group"&gt;Hardware
&lt;div id="hardware" class="anchor"&gt;&lt;/div&gt;
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
&lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#hardware" aria-label="Anchor"&gt;#&lt;/a&gt;
&lt;/span&gt;
&lt;/h2&gt;
&lt;p&gt;I have a DeskPi Super6c carrier board and 2 Raspberry Pi Computer Module 5s with 8gb RAM and 16gb EMMC. I intend to fill this completely with a mix of more RPis and other manufacturers that offer drop in replacements. I&amp;rsquo;ve been quite critical of RPi in the past and continue to be so will see how things go with the new hardware.&lt;/p&gt;
&lt;h2 class="relative group"&gt;Software
&lt;div id="software" class="anchor"&gt;&lt;/div&gt;
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
&lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#software" aria-label="Anchor"&gt;#&lt;/a&gt;
&lt;/span&gt;
&lt;/h2&gt;
&lt;p&gt;I&amp;rsquo;m using Armbian as my base OS which has been ok so far. I&amp;rsquo;m new to the whole Compute Module scene so getting the boards setup with an OS is manual at the moment. I keep meaning to look into cloud-init but I don&amp;rsquo;t think Armbian supports it, they do have something similar but the documentation is quite lacking. Also configuring anything other than hostname in raspberry pi imager flat out doesn&amp;rsquo;t work in Armbian. For k8s itself I&amp;rsquo;m using k3s and their ansible playbook which is really nice. It&amp;rsquo;s super easy to uninstall it and rebuild if I do something wrong.&lt;/p&gt;
&lt;h2 class="relative group"&gt;Next Steps
&lt;div id="next-steps" class="anchor"&gt;&lt;/div&gt;
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
&lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#next-steps" aria-label="Anchor"&gt;#&lt;/a&gt;
&lt;/span&gt;
&lt;/h2&gt;
&lt;p&gt;I&amp;rsquo;m currently setting things up, I&amp;rsquo;ve already reinstalled k3s twice and will probably nuke it again by the end of the day. I&amp;rsquo;m trying to automate as much as I can so I&amp;rsquo;m using Ansible to do most of the heavy lifting. I&amp;rsquo;ve still to get provision the actual Pis more automated but it&amp;rsquo;s fine for the time being.&lt;/p&gt;
&lt;p&gt;I need to setup Traefik and Metallb then I should be able to start looking into moving workloads over. I also need to start buying a few more NVME drives so I can add CEPH into the mix for PV storage with backups to my NAS.&lt;/p&gt;
&lt;p&gt;Thanks for reading via RSS!&lt;/p&gt;
&lt;p&gt;Send me a message on &lt;a href="https://remotelab.uk/mikebell"&gt;Mastodon&lt;/a&gt; or &lt;a href="mailto:hello@mikebell.io"&gt;email me&lt;/a&gt;&lt;/p&gt;</description></item><item><title>DeGoogling Part 2</title><link>https://mikebell.io/posts/degoogling-part-2/</link><pubDate>Thu, 17 Jul 2025 20:42:00 +0000</pubDate><author>hello@mikebell.io (Mike Bell)</author><guid>https://mikebell.io/posts/degoogling-part-2/</guid><description>
&lt;p&gt;I learnt very quickly there is no grace period cancelling your google workspace account, you get charged for the few days into your current period and then booted out. It&amp;rsquo;s a good thing.&lt;/p&gt;
&lt;p&gt;I&amp;rsquo;m now over my 0 bytes or 15 gbs quota depending on where you look in the admin panel but I&amp;rsquo;ve managed to subscribe to the Identity Centre free option. This means I can carry on using some services but not all. An important fact is you can still use Google Takeout so I managed to grab 33gb of photos and videos from there.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Edit&lt;/strong&gt; My Cloud Identity Free is about to be cancelled and I&amp;rsquo;m not sure how to save it. I&amp;rsquo;m under the 15gb storage cap now after deleting a lot of things but that&amp;rsquo;s not being reflected properly. Sometime in August I&amp;rsquo;ll find out whether everything is completely gone and I lose access to my account. I can re-sign up but that&amp;rsquo;s not the point I want to be done with Google once and for all. If anyone knows how to get the free Cloud Identity back I&amp;rsquo;d be really interested to know.&lt;/p&gt;
&lt;h2 class="relative group"&gt;Email
&lt;div id="email" class="anchor"&gt;&lt;/div&gt;
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
&lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#email" aria-label="Anchor"&gt;#&lt;/a&gt;
&lt;/span&gt;
&lt;/h2&gt;
&lt;p&gt;I&amp;rsquo;m a paid up member of Fastmail now, it works and has a good user interface so I&amp;rsquo;m happy.&lt;/p&gt;
&lt;h2 class="relative group"&gt;Photos
&lt;div id="photos" class="anchor"&gt;&lt;/div&gt;
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
&lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#photos" aria-label="Anchor"&gt;#&lt;/a&gt;
&lt;/span&gt;
&lt;/h2&gt;
&lt;p&gt;I have Synology Photos up and running (Thanks Kev!). I still have to merge my 33gb Takeout with the backup from my phone, I also have the &amp;ldquo;February 2023&amp;rdquo; problem which is when I last used Takout to move photos from another account in and they had no metadata so I have around 10k photos all with the same date.&lt;/p&gt;
&lt;p&gt;I haven&amp;rsquo;t gotten around to figuring out what&amp;rsquo;s wrong with Immich yet but will see how I get on with Synology Photos&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Edit&lt;/strong&gt;: This is proving to be a massive pain! I grabbed all my files from google takeout and ran it through Google Takeout Fixer then re-imported them to Synology Photos and I&amp;rsquo;m left with 10000s of photos all with the same metadata even after fixing them before importing. Synology Photos can&amp;rsquo;t seem to read the metadata form the files for some reason. I&amp;rsquo;ll have to delete them all and start again. Also the app is quite frustrating to use because it won&amp;rsquo;t differentiate between what are phone photos and ones uploaded to a seperate folder.&lt;/p&gt;
&lt;h2 class="relative group"&gt;Files
&lt;div id="files" class="anchor"&gt;&lt;/div&gt;
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
&lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#files" aria-label="Anchor"&gt;#&lt;/a&gt;
&lt;/span&gt;
&lt;/h2&gt;
&lt;p&gt;I&amp;rsquo;m testing out Synology Drive.&lt;/p&gt;
&lt;h2 class="relative group"&gt;Online Document Editing
&lt;div id="online-document-editing" class="anchor"&gt;&lt;/div&gt;
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
&lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#online-document-editing" aria-label="Anchor"&gt;#&lt;/a&gt;
&lt;/span&gt;
&lt;/h2&gt;
&lt;p&gt;No update&lt;/p&gt;
&lt;h2 class="relative group"&gt;Maps
&lt;div id="maps" class="anchor"&gt;&lt;/div&gt;
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
&lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#maps" aria-label="Anchor"&gt;#&lt;/a&gt;
&lt;/span&gt;
&lt;/h2&gt;
&lt;p&gt;I still get access to Google Maps so happy to use that for the time being.&lt;/p&gt;
&lt;h2 class="relative group"&gt;Phone
&lt;div id="phone" class="anchor"&gt;&lt;/div&gt;
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
&lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#phone" aria-label="Anchor"&gt;#&lt;/a&gt;
&lt;/span&gt;
&lt;/h2&gt;
&lt;p&gt;My workspace account is also the account I use to sign into my phone so I was worried that I might break something there. Thankfully it all seems fine.&lt;/p&gt;
&lt;p&gt;One issue I&amp;rsquo;ve found is that Whatsapp can no longer backup to Google Drive I need to find a way to do this now.&lt;/p&gt;
&lt;p&gt;Thanks for reading via RSS!&lt;/p&gt;
&lt;p&gt;Send me a message on &lt;a href="https://remotelab.uk/mikebell"&gt;Mastodon&lt;/a&gt; or &lt;a href="mailto:hello@mikebell.io"&gt;email me&lt;/a&gt;&lt;/p&gt;</description></item><item><title>DeGoogling Part 1</title><link>https://mikebell.io/posts/degoogling-part-1/</link><pubDate>Thu, 03 Jul 2025 16:06:27 +0000</pubDate><author>hello@mikebell.io (Mike Bell)</author><guid>https://mikebell.io/posts/degoogling-part-1/</guid><description>
&lt;p&gt;This is going to be a series on how I plan on de googling my life. It&amp;rsquo;s not going to be easy but it&amp;rsquo;s becoming more and more necessary to get away from Google for my online services.&lt;/p&gt;
&lt;p&gt;I have the following components that I need to migrate and I&amp;rsquo;ll document my progress on getting away from google for each of those.&lt;/p&gt;
&lt;h2 class="relative group"&gt;Gmail
&lt;div id="gmail" class="anchor"&gt;&lt;/div&gt;
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
&lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#gmail" aria-label="Anchor"&gt;#&lt;/a&gt;
&lt;/span&gt;
&lt;/h2&gt;
&lt;p&gt;&lt;del&gt;I&amp;rsquo;m looking at moving to either Fastmail or Protonmail. This should be pretty easy so, the only thing holding me back is my own insecurities on screwing something up.&lt;/del&gt;&lt;/p&gt;
&lt;p&gt;I moved to Fastmail.&lt;/p&gt;
&lt;h2 class="relative group"&gt;Photos
&lt;div id="photos" class="anchor"&gt;&lt;/div&gt;
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
&lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#photos" aria-label="Anchor"&gt;#&lt;/a&gt;
&lt;/span&gt;
&lt;/h2&gt;
&lt;p&gt;Immich is my app of choice, I&amp;rsquo;m already self hosting this and have my photos backed up but there is a breaking issue that&amp;rsquo;s stopped me putting all my trust in it. There are issue with duplicate images where the mobile app will constantly re-upload deleted images. This is apparently fixed in the latest version but my setup isn&amp;rsquo;t working since the update.&lt;/p&gt;
&lt;h2 class="relative group"&gt;Files
&lt;div id="files" class="anchor"&gt;&lt;/div&gt;
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
&lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#files" aria-label="Anchor"&gt;#&lt;/a&gt;
&lt;/span&gt;
&lt;/h2&gt;
&lt;p&gt;I&amp;rsquo;m going to run Nextcloud, I was quite happy with it on another server my only issue was it used snap so I&amp;rsquo;ll set it up in docker on my new server.&lt;/p&gt;
&lt;h2 class="relative group"&gt;Online Document Editing
&lt;div id="online-document-editing" class="anchor"&gt;&lt;/div&gt;
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
&lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#online-document-editing" aria-label="Anchor"&gt;#&lt;/a&gt;
&lt;/span&gt;
&lt;/h2&gt;
&lt;p&gt;I use Docs and Sheets quite a bit, I&amp;rsquo;m not really sure what the solution is here.&lt;/p&gt;
&lt;h2 class="relative group"&gt;Maps
&lt;div id="maps" class="anchor"&gt;&lt;/div&gt;
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
&lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#maps" aria-label="Anchor"&gt;#&lt;/a&gt;
&lt;/span&gt;
&lt;/h2&gt;
&lt;p&gt;This will be the hardest to replace, the amount of information that it has is amazing and really useful, I used it to plan all our holidays.&lt;/p&gt;
&lt;p&gt;Thanks for reading via RSS!&lt;/p&gt;
&lt;p&gt;Send me a message on &lt;a href="https://remotelab.uk/mikebell"&gt;Mastodon&lt;/a&gt; or &lt;a href="mailto:hello@mikebell.io"&gt;email me&lt;/a&gt;&lt;/p&gt;</description></item><item><title>Homelab Update June 2025</title><link>https://mikebell.io/posts/homelab-update-june-2025/</link><pubDate>Sun, 29 Jun 2025 20:25:00 +0000</pubDate><author>hello@mikebell.io (Mike Bell)</author><guid>https://mikebell.io/posts/homelab-update-june-2025/</guid><description>
&lt;h2 class="relative group"&gt;Bye bye Ubuntu Server 20.04
&lt;div id="bye-bye-ubuntu-server-2004" class="anchor"&gt;&lt;/div&gt;
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
&lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#bye-bye-ubuntu-server-2004" aria-label="Anchor"&gt;#&lt;/a&gt;
&lt;/span&gt;
&lt;/h2&gt;
&lt;p&gt;I moved all my apps from Ubuntu Server to Debian 12 after testing it out for a few months. It&amp;rsquo;s faster and uses less resources. There&amp;rsquo;s also no snap which is great! Migration went fine it was tedious but gave me an opportunity to clean up some tech debt I&amp;rsquo;d made when I first set the vm up. Running &lt;code&gt;sudo shutdown -P now&lt;/code&gt; was very satisfying. I still have a backup of the vm if I need to restore though.&lt;/p&gt;
&lt;h2 class="relative group"&gt;Migrated ingresses to Traefik in LXC
&lt;div id="migrated-ingresses-to-traefik-in-lxc" class="anchor"&gt;&lt;/div&gt;
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
&lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#migrated-ingresses-to-traefik-in-lxc" aria-label="Anchor"&gt;#&lt;/a&gt;
&lt;/span&gt;
&lt;/h2&gt;
&lt;p&gt;For a while I was running 3 different Traefik setups:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;primary docker vm on Ubuntu&lt;/li&gt;
&lt;li&gt;secondary docker vm (now primary) on Debain&lt;/li&gt;
&lt;li&gt;lxc in proxmox&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Once I moved everything to file provider in lxc I could start moving everything off the old server and turn off the old ingresses. It also allowed me to setup a wildcard cert for my homelab instead of having traefik provision a new one every time I bring up a new service.&lt;/p&gt;
&lt;p&gt;Another advantage of having traefik in lxc is that I&amp;rsquo;ve configure it in Proxmox to boot first after reboot. So I should always be able to access friendly urls as soon as possible.&lt;/p&gt;
&lt;h2 class="relative group"&gt;NAS Cleanup
&lt;div id="nas-cleanup" class="anchor"&gt;&lt;/div&gt;
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
&lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#nas-cleanup" aria-label="Anchor"&gt;#&lt;/a&gt;
&lt;/span&gt;
&lt;/h2&gt;
&lt;p&gt;Another chore was cleaning out some old config on my NAS, I want to try and cut down the raw read/writes. It also means it can go into power saving mode more often (hopefully).&lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;Update power saving is working, I can tell because it sounds like a sound effect from a science fiction movie every time it spins up!&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h2 class="relative group"&gt;Next steps
&lt;div id="next-steps" class="anchor"&gt;&lt;/div&gt;
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
&lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#next-steps" aria-label="Anchor"&gt;#&lt;/a&gt;
&lt;/span&gt;
&lt;/h2&gt;
&lt;p&gt;I&amp;rsquo;m looking at more hardware now, I want a physical k8s setup running Talos. I&amp;rsquo;m looking at a few different options including the TurinPi and Sipeed Nanocluster but the cost of compute modules is just insane for the performance they give. If anyone has any suggestions then send them my way!&lt;/p&gt;
&lt;p&gt;Thanks for reading via RSS!&lt;/p&gt;
&lt;p&gt;Send me a message on &lt;a href="https://remotelab.uk/mikebell"&gt;Mastodon&lt;/a&gt; or &lt;a href="mailto:hello@mikebell.io"&gt;email me&lt;/a&gt;&lt;/p&gt;</description></item><item><title>Things I Lost In The Fire</title><link>https://mikebell.io/posts/2025-06-17-things-i-lost-in-the-fire/</link><pubDate>Tue, 17 Jun 2025 18:14:09 +0000</pubDate><author>hello@mikebell.io (Mike Bell)</author><guid>https://mikebell.io/posts/2025-06-17-things-i-lost-in-the-fire/</guid><description>
&lt;p&gt;It&amp;rsquo;s around 6 months since the pulmonary embolism and while recovery is going ok there&amp;rsquo;s still some things not right.&lt;/p&gt;
&lt;p&gt;I&amp;rsquo;ve come to think of them as things I&amp;rsquo;ve lost in the fire. They&amp;rsquo;re not coming back or at least not without hard work.&lt;/p&gt;
&lt;h2 class="relative group"&gt;Confidence
&lt;div id="confidence" class="anchor"&gt;&lt;/div&gt;
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
&lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#confidence" aria-label="Anchor"&gt;#&lt;/a&gt;
&lt;/span&gt;
&lt;/h2&gt;
&lt;p&gt;My confidence has gone. I&amp;rsquo;m second guessing myself all the time. I&amp;rsquo;m not confident at work any more. I&amp;rsquo;m actively struggling with things I wouldn&amp;rsquo;t before. I think I&amp;rsquo;m faking it at times but I don&amp;rsquo;t feel right anymore. Before PE I&amp;rsquo;d have confidently told you why I deserve to be senior now I&amp;rsquo;m struggling to figure out if I deserve it.&lt;/p&gt;
&lt;h2 class="relative group"&gt;Worry
&lt;div id="worry" class="anchor"&gt;&lt;/div&gt;
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
&lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#worry" aria-label="Anchor"&gt;#&lt;/a&gt;
&lt;/span&gt;
&lt;/h2&gt;
&lt;p&gt;This I gained in the fire. Every little health niggle is a potential emergency even though I&amp;rsquo;m on all the right medication to keep me alive. I finally flew for the first time recently and I was scared shitless. I made it but I thought I wouldn&amp;rsquo;t at times.&lt;/p&gt;
&lt;h2 class="relative group"&gt;Immortality
&lt;div id="immortality" class="anchor"&gt;&lt;/div&gt;
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
&lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#immortality" aria-label="Anchor"&gt;#&lt;/a&gt;
&lt;/span&gt;
&lt;/h2&gt;
&lt;p&gt;I&amp;rsquo;d like to think I&amp;rsquo;d live forever but that doesn&amp;rsquo;t seem possible. I know it never was but you know the feeling of being 20 and nothing can stop you. Even worse this whole event probably shortened my life expectancy, I doubt that 80 is a number I can look forward to, maybe more like 60 which is only 21 years away, meaning I&amp;rsquo;m 2/3rds of the way through my life. I&amp;rsquo;m scared of dying and the thought chills me.&lt;/p&gt;
&lt;h2 class="relative group"&gt;Life
&lt;div id="life" class="anchor"&gt;&lt;/div&gt;
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
&lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#life" aria-label="Anchor"&gt;#&lt;/a&gt;
&lt;/span&gt;
&lt;/h2&gt;
&lt;p&gt;It&amp;rsquo;s not all doom and gloom I want to live, I feel like there&amp;rsquo;s things I&amp;rsquo;ve still not achieved. Cutting down to 4 days a week a work means that work is no longer my primary concern. Work should never be that but we&amp;rsquo;re taught from an early age that 5 days a week of either school or work is what you should do. I work to live not live to work.&lt;/p&gt;
&lt;h2 class="relative group"&gt;Pain
&lt;div id="pain" class="anchor"&gt;&lt;/div&gt;
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
&lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#pain" aria-label="Anchor"&gt;#&lt;/a&gt;
&lt;/span&gt;
&lt;/h2&gt;
&lt;p&gt;I&amp;rsquo;m in pain most of the time, whether it be physical or mental. I can&amp;rsquo;t hide from it it&amp;rsquo;s just there. Medication is helping to an extent but at the end of the day I&amp;rsquo;m in pain. It ranges from uncomfortable to sleep preventing.&lt;/p&gt;
&lt;p&gt;I was reminded recently that my physical self harm scars are still something that most people don&amp;rsquo;t understand. I&amp;rsquo;ve come to terms with them but others haven&amp;rsquo;t, it&amp;rsquo;s fine but they have to listen to my side of the story, I&amp;rsquo;m not that person anymore.&lt;/p&gt;
&lt;h2 class="relative group"&gt;Future
&lt;div id="future" class="anchor"&gt;&lt;/div&gt;
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
&lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#future" aria-label="Anchor"&gt;#&lt;/a&gt;
&lt;/span&gt;
&lt;/h2&gt;
&lt;p&gt;Things I gained in the fire.&lt;/p&gt;
&lt;p&gt;Thanks for reading via RSS!&lt;/p&gt;
&lt;p&gt;Send me a message on &lt;a href="https://remotelab.uk/mikebell"&gt;Mastodon&lt;/a&gt; or &lt;a href="mailto:hello@mikebell.io"&gt;email me&lt;/a&gt;&lt;/p&gt;</description></item><item><title>Homelab Post Incident Review 11/05/25</title><link>https://mikebell.io/posts/homelab-post-incident-review-11-05-25/</link><pubDate>Mon, 12 May 2025 13:34:31 +0000</pubDate><author>hello@mikebell.io (Mike Bell)</author><guid>https://mikebell.io/posts/homelab-post-incident-review-11-05-25/</guid><description>
&lt;blockquote&gt;&lt;p&gt;Since it&amp;rsquo;s important to practice what you preach (apparently) here&amp;rsquo;s my post incident report on a P1 homelab failure&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h2 class="relative group"&gt;Timeline
&lt;div id="timeline" class="anchor"&gt;&lt;/div&gt;
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
&lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#timeline" aria-label="Anchor"&gt;#&lt;/a&gt;
&lt;/span&gt;
&lt;/h2&gt;
&lt;p&gt;09:30 - Services slow, services down&lt;br&gt;
10:00 - Attempt to upgrade Ubuntu and reboot VM&lt;br&gt;
10:00 - CPU spiking 100% across all 8 cores&lt;br&gt;
10:15 - Increase core count to 16 and reboot VM&lt;br&gt;
10:30 - Slow recovery but some services still down&lt;br&gt;
16:00 - Server not on network&lt;br&gt;
18:00 - Server powered on but no response&lt;br&gt;
18:30 - Server disassembled and left to cool - fans cleaned a bit&lt;br&gt;
19:00 - Services recovered&lt;/p&gt;
&lt;h2 class="relative group"&gt;Findings
&lt;div id="findings" class="anchor"&gt;&lt;/div&gt;
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
&lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#findings" aria-label="Anchor"&gt;#&lt;/a&gt;
&lt;/span&gt;
&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;There was no indication that temperature was an issue even after our primary on call engineer (me) saying &amp;ldquo;it&amp;rsquo;s pretty hot in here (lounge)&amp;rdquo;.&lt;/li&gt;
&lt;li&gt;No monitoring of system stats present&lt;/li&gt;
&lt;li&gt;While upping CPU core count helped it made the situation worse by ultimately overheating&lt;/li&gt;
&lt;li&gt;No notifications system in place for failures, notification of system down was via a third party (ADSB Exchange)&lt;/li&gt;
&lt;li&gt;Fans are really dirty&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 class="relative group"&gt;Notes
&lt;div id="notes" class="anchor"&gt;&lt;/div&gt;
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
&lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#notes" aria-label="Anchor"&gt;#&lt;/a&gt;
&lt;/span&gt;
&lt;/h2&gt;
&lt;p&gt;External logging (partially done) and monitoring need to put in place.&lt;/p&gt;
&lt;p&gt;Cans of compressed air have been ordered so that the fan can be cleared out properly to help airflow.&lt;/p&gt;
&lt;p&gt;A bigger rework of the &amp;ldquo;server cabinet&amp;rdquo; (it&amp;rsquo;s a few shelves in the lounge) needs to be done. If the server cabinet is moved into the garage then temperature and dust wouldn&amp;rsquo;t be too much of an issue. Actually having a proper server cabinet would be nice as well!&lt;/p&gt;
&lt;p&gt;The reverse proxy setup is an annoying problem, if the main vm goes down then I lose access to friendly urls for Proxmox, I&amp;rsquo;ve documented the IP in my runbooks but it&amp;rsquo;d be nicer to pull the proxy setup into it&amp;rsquo;s own lxc container (partially done) that boots first.&lt;/p&gt;
&lt;p&gt;There is a rogue Forgejo container running on boot and I&amp;rsquo;ve no idea where it&amp;rsquo;s setup, I need to remove it properly since it&amp;rsquo;s not needed.&lt;/p&gt;
&lt;p&gt;Rclone mounts get corrupted very easily. I had to run the disable/enable/re-setup process twice for the docker mounts. It also means that other docker services can&amp;rsquo;t be started properly.&lt;/p&gt;
&lt;h2 class="relative group"&gt;Conclusion
&lt;div id="conclusion" class="anchor"&gt;&lt;/div&gt;
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
&lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#conclusion" aria-label="Anchor"&gt;#&lt;/a&gt;
&lt;/span&gt;
&lt;/h2&gt;
&lt;p&gt;It was a typical homelab failure, lots learnt and lots to do to improve things. I&amp;rsquo;m a bit annoyed that I didn&amp;rsquo;t have temperature down as a potential failure in my system. I&amp;rsquo;ve no doubt decreased the lifespan of the hardware now as well.&lt;/p&gt;
&lt;p&gt;It was made clear to me by stakeholders (my wife) that it was not acceptable that Home Assistant was down. My pay has been docked this month.&lt;/p&gt;
&lt;p&gt;Thanks for reading via RSS!&lt;/p&gt;
&lt;p&gt;Send me a message on &lt;a href="https://remotelab.uk/mikebell"&gt;Mastodon&lt;/a&gt; or &lt;a href="mailto:hello@mikebell.io"&gt;email me&lt;/a&gt;&lt;/p&gt;</description></item><item><title>I know what tried to kill me</title><link>https://mikebell.io/posts/i-know-what-tried-to-kill-me/</link><pubDate>Tue, 01 Apr 2025 12:50:54 +0000</pubDate><author>hello@mikebell.io (Mike Bell)</author><guid>https://mikebell.io/posts/i-know-what-tried-to-kill-me/</guid><description>
&lt;p&gt;I finally have some closure on the PE that turned my life upside down at the end of October last year.&lt;/p&gt;
&lt;p&gt;I have it written on a piece of NHS branded paper. It&amp;rsquo;s innocuously included in a list of other ailments from a consultant only vaguely related the rest of the bullshit I&amp;rsquo;m having to deal with (health wise not NHS they&amp;rsquo;ve been ok/great).&lt;/p&gt;
&lt;p&gt;I feel like there should be some lead up, some drum roll, a line of people all cheering me on as I pass a fake finishing line. But there&amp;rsquo;s not, in fact it&amp;rsquo;s not even a surprise, it&amp;rsquo;s an anti climax of oh shit yeah that makes sense.&lt;/p&gt;
&lt;p&gt;What it is is &lt;a href="https://en.wikipedia.org/wiki/Protein_C_deficiency" target="_blank" rel="noreferrer"&gt;Protein C deficiency&lt;/a&gt;, why am I familiar with it? It&amp;rsquo;s a rare genetic disease that my dad has. He&amp;rsquo;s graciously passed it on to me (and potentially my brother). It all makes perfect sense now I was unlucky on two fronts, firstly the genetic lottery as if inheriting my dads mannerisms wasn&amp;rsquo;t bad enough, secondly a host of planets all lining up to fuck me over.&lt;/p&gt;
&lt;p&gt;So now I know it&amp;rsquo;s nice to know that the preventative medication I was put on (Apixaban) is exactly what I need to protect me in the future. I&amp;rsquo;ll be on it for life which isn&amp;rsquo;t ideal but I&amp;rsquo;ll get used to it.&lt;/p&gt;
&lt;p&gt;The hardest part of this is the mental side of it, I&amp;rsquo;m struggling with it all, I don&amp;rsquo;t deal with trauma well and it&amp;rsquo;s eating me up inside. I&amp;rsquo;m working on it but some days it&amp;rsquo;s too much. I hope it&amp;rsquo;ll get better with time.&lt;/p&gt;
&lt;p&gt;Thanks for reading via RSS!&lt;/p&gt;
&lt;p&gt;Send me a message on &lt;a href="https://remotelab.uk/mikebell"&gt;Mastodon&lt;/a&gt; or &lt;a href="mailto:hello@mikebell.io"&gt;email me&lt;/a&gt;&lt;/p&gt;</description></item><item><title>Four months on from my Pulmonary Embolism</title><link>https://mikebell.io/posts/months-pulmonary-embolism/</link><pubDate>Sat, 15 Feb 2025 19:09:28 +0000</pubDate><author>hello@mikebell.io (Mike Bell)</author><guid>https://mikebell.io/posts/months-pulmonary-embolism/</guid><description>
&lt;blockquote&gt;&lt;p&gt;&amp;ldquo;You did it proper.&amp;rdquo;&lt;/p&gt;
&lt;p&gt;Consultant&lt;/p&gt;
&lt;/blockquote&gt;&lt;p&gt;Adding to my list of things I never want to hear again.&lt;/p&gt;
&lt;p&gt;Those words were proceeded by my consultant showing me the images of my chest and the two bright white spots that were the clots that nearly killed me.&lt;/p&gt;
&lt;p&gt;Recovery isn&amp;rsquo;t easy, the physical side I can handle I can&amp;rsquo;t do as much, my chest hurts, my chest hurts more in cold weather. I&amp;rsquo;m on medication for the rest of my life now which is fine. Mentally is a lot more difficult. I&amp;rsquo;m not doing well I&amp;rsquo;ve always struggled with trauma and how I deal with it (spoiler alert: I don&amp;rsquo;t). I&amp;rsquo;m now at the point where I&amp;rsquo;m balanced between barely functioning and full breakdown.&lt;/p&gt;
&lt;p&gt;The good news is I&amp;rsquo;m getting help both physically and mentally, the downside is that the physical side takes months to sort out and I&amp;rsquo;m still waiting for important tests. On the mental side I&amp;rsquo;m in therapy but that will be ending soon, it&amp;rsquo;s been so important and useful but it&amp;rsquo;s left me rawer than ever.&lt;/p&gt;
&lt;p&gt;My life is a lot different to this time last year and I&amp;rsquo;m not sure I like it but I have to move on and get on with things. I&amp;rsquo;m dropping down to 4 days a week at work, it&amp;rsquo;s important that I balance health with work something I&amp;rsquo;ve never really done. My ME/CFS is still there and it&amp;rsquo;s even worse than ever now I&amp;rsquo;m not sure how I&amp;rsquo;m going to deal with it but it&amp;rsquo;s on the list.&lt;/p&gt;
&lt;p&gt;I&amp;rsquo;m not ok but hopefully I will be.&lt;/p&gt;
&lt;p&gt;(I&amp;rsquo;m also full of cold but one thing at a time)&lt;/p&gt;
&lt;p&gt;Thanks for reading via RSS!&lt;/p&gt;
&lt;p&gt;Send me a message on &lt;a href="https://remotelab.uk/mikebell"&gt;Mastodon&lt;/a&gt; or &lt;a href="mailto:hello@mikebell.io"&gt;email me&lt;/a&gt;&lt;/p&gt;</description></item><item><title>Building docker image with Forgejo Actions</title><link>https://mikebell.io/posts/building-docker-image-forgejo-actions/</link><pubDate>Fri, 14 Feb 2025 20:29:52 +0000</pubDate><author>hello@mikebell.io (Mike Bell)</author><guid>https://mikebell.io/posts/building-docker-image-forgejo-actions/</guid><description>
&lt;p&gt;aka how I nearly went crazy trying to figure out how to build docker images in Forgejo Actions.&lt;/p&gt;
&lt;p&gt;With the default setup from &lt;a href="https://forgejo.org/docs/latest/admin/runner-installation/#oci-image-installation" target="_blank" rel="noreferrer"&gt;here&lt;/a&gt; you can get up and running with foregjo actions &lt;em&gt;but&lt;/em&gt; it won&amp;rsquo;t allow you to build docker images inside your workflows.&lt;/p&gt;
&lt;p&gt;When I tried to build a docker image in a workflow I kept getting the following:&lt;/p&gt;
&lt;div class="highlight-wrapper"&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-text" data-lang="text"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;ERROR: Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;::error::buildx failed with: ERROR: Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;It&amp;rsquo;s quite a common error and something that should be easy to fix but when you throw docker-in-docker in to the mix it becomes way more complex.&lt;/p&gt;
&lt;p&gt;To cut a long story short I found a &lt;a href="https://code.forgejo.org/forgejo/runner/issues/153#issuecomment-5824" target="_blank" rel="noreferrer"&gt;comment&lt;/a&gt; with a link to &lt;a href="https://code.forgejo.org/forgejo/runner/src/branch/main/examples/docker-compose/compose-forgejo-and-runner.yml" target="_blank" rel="noreferrer"&gt;this&lt;/a&gt; example which was confirmed to be working, after a few tweaks I came up with the docker compose below. I&amp;rsquo;ve removed the need to be running forgejo already (I have set in a separate compose) and updated the base image.&lt;/p&gt;
&lt;div class="highlight-wrapper"&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-yaml" data-lang="yaml"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c"&gt;# Copyright 2024 The Forgejo Authors.&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c"&gt;# SPDX-License-Identifier: MIT&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c"&gt;#&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c"&gt;# Create a secret with:&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c"&gt;#&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c"&gt;# openssl rand -hex 20&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c"&gt;#&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c"&gt;# Replace all occurences of {SHARED_SECRET} below with the output.&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c"&gt;#&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c"&gt;# NOTE: a token obtained from the Forgejo web interface cannot be used&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c"&gt;# as a shared secret.&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c"&gt;#&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c"&gt;# Replace {ROOT_PASSWORD} with a secure password&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c"&gt;#&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nt"&gt;volumes&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;docker_certs&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nt"&gt;services&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;docker-in-docker&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;image&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;code.forgejo.org/oci/docker:dind&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;hostname&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;docker &lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="c"&gt;# Must set hostname as TLS certificates are only valid for docker or localhost&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;privileged&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="kc"&gt;true&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;environment&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;DOCKER_TLS_CERTDIR&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;/certs&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;DOCKER_HOST&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;docker-in-docker&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;volumes&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;- &lt;span class="l"&gt;docker_certs:/certs&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;restart&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;unless-stopped&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;runner-register&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;image&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;code.forgejo.org/forgejo/runner:6.2.2&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;links&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;- &lt;span class="l"&gt;docker-in-docker&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;environment&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;DOCKER_HOST&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;tcp://docker-in-docker:2376&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;volumes&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;- &lt;span class="l"&gt;./data:/data&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;user&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="m"&gt;0&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="m"&gt;0&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;command&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;&amp;gt;-&lt;/span&gt;&lt;span class="sd"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="sd"&gt; bash -ec &amp;#39;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="sd"&gt; while : ; do
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="sd"&gt; forgejo-runner create-runner-file --connect --instance https://code.remotelab.uk --name runner --secret {SHARED_SECRET} &amp;amp;&amp;amp; break ;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="sd"&gt; sleep 1 ;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="sd"&gt; done ;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="sd"&gt; sed -i -e &amp;#34;s|\&amp;#34;labels\&amp;#34;: null|\&amp;#34;labels\&amp;#34;: [\&amp;#34;docker-cli:docker://code.forgejo.org/oci/docker:cli\&amp;#34;,\&amp;#34;node-bookworm:docker://code.forgejo.org/oci/node:20-bookworm\&amp;#34;]|&amp;#34; .runner ;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="sd"&gt; forgejo-runner generate-config &amp;gt; config.yml ;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="sd"&gt; sed -i -e &amp;#34;s| level: info| level: debug|&amp;#34; config.yml ;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="sd"&gt; sed -i -e &amp;#34;s|network: .*|network: host|&amp;#34; config.yml ;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="sd"&gt; sed -i -e &amp;#34;s|^ envs:$$| envs:\n DOCKER_HOST: tcp://docker:2376\n DOCKER_TLS_VERIFY: 1\n DOCKER_CERT_PATH: /certs/client|&amp;#34; config.yml ;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="sd"&gt; sed -i -e &amp;#34;s|^ options:| options: -v /certs/client:/certs/client|&amp;#34; config.yml ;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="sd"&gt; sed -i -e &amp;#34;s| valid_volumes: \[\]$$| valid_volumes:\n - /certs/client|&amp;#34; config.yml ;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="sd"&gt; chown -R 1000:1000 /data
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="sd"&gt; &amp;#39;&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;runner-daemon&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;image&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;code.forgejo.org/forgejo/runner:6.2.2&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;links&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;- &lt;span class="l"&gt;docker-in-docker&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;environment&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;DOCKER_HOST&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;tcp://docker:2376&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;DOCKER_CERT_PATH&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;/certs/client&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;DOCKER_TLS_VERIFY&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;1&amp;#34;&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;volumes&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;- &lt;span class="l"&gt;./data:/data&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;- &lt;span class="l"&gt;docker_certs:/certs&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;restart&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;unless-stopped&amp;#39;&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;command&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;&amp;gt;-&lt;/span&gt;&lt;span class="sd"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="sd"&gt; bash -c &amp;#39;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="sd"&gt; while : ; do test -w .runner &amp;amp;&amp;amp; forgejo-runner --config config.yml daemon ; sleep 1 ; done
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="sd"&gt; &amp;#39;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;Hopefully this helps anyone else who comes across this issue.&lt;/p&gt;
&lt;p&gt;Thanks for reading via RSS!&lt;/p&gt;
&lt;p&gt;Send me a message on &lt;a href="https://remotelab.uk/mikebell"&gt;Mastodon&lt;/a&gt; or &lt;a href="mailto:hello@mikebell.io"&gt;email me&lt;/a&gt;&lt;/p&gt;</description></item><item><title>Adding custom runners to Forgejo</title><link>https://mikebell.io/posts/adding-custom-runners-forgejo/</link><pubDate>Mon, 10 Feb 2025 20:42:52 +0000</pubDate><author>hello@mikebell.io (Mike Bell)</author><guid>https://mikebell.io/posts/adding-custom-runners-forgejo/</guid><description>
&lt;p&gt;This is one of those problems that now that I get it it really shouldn&amp;rsquo;t have been so hard. Like everything with development and homelabbing documentation is key.&lt;/p&gt;
&lt;p&gt;Huge thanks to:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://mastodon.social/@mcrmonkey" target="_blank" rel="noreferrer"&gt;https://mastodon.social/@mcrmonkey&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://hachyderm.io/@badnetmask" target="_blank" rel="noreferrer"&gt;https://hachyderm.io/@badnetmask&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;without their toots on Mastodon I wouldn&amp;rsquo;t have been able to grok and actually get things working.&lt;/p&gt;
&lt;p&gt;Now that I have my forgejo instance up and running I&amp;rsquo;m in the process of migrating all my github repos to my own git forge. As part of the move I needed to setup forgejos runners so that I can run actions on the many private infrastructure repos I have.&lt;/p&gt;
&lt;p&gt;Setting up the runners is super simple the forgejo documentation is pretty easy to understand and after following &lt;a href="https://forgejo.org/docs/latest/admin/runner-installation/#oci-image-installation" target="_blank" rel="noreferrer"&gt;this&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;What wasn&amp;rsquo;t clear was how to add in custom images so that I could tailor the runners how I wanted. My ultimate goal here was to have a runner that had the same functionality I was used to with Github runners. It turns out it&amp;rsquo;s really simple, if you follow the OCI installation method then you should have a file called &lt;code&gt;.runner&lt;/code&gt; this lives in the &lt;code&gt;data&lt;/code&gt; directory you defined in your &lt;code&gt;docker-compose.yml&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;Your runner file has a section called &lt;code&gt;labels&lt;/code&gt; this is where you add the images you want to use. See my example below:&lt;/p&gt;
&lt;div class="highlight-wrapper"&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-json" data-lang="json"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nt"&gt;&amp;#34;WARNING&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;This file is automatically generated by act-runner. Do not edit it manually unless you know what you are doing. Removing this file will cause act runner to re-register as a new runner.&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nt"&gt;&amp;#34;id&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nt"&gt;&amp;#34;uuid&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nt"&gt;&amp;#34;name&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;remotelab&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nt"&gt;&amp;#34;token&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nt"&gt;&amp;#34;address&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;https://code.remotelab.uk&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nt"&gt;&amp;#34;labels&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="s2"&gt;&amp;#34;docker:docker://node:20-bullseye&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="s2"&gt;&amp;#34;ubuntu-act-latest:docker://ghcr.io/catthehacker/ubuntu:act-latest&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;When you restart the runner you should see you have the &lt;code&gt;ubuntu-act-latest&lt;/code&gt; label available for your actions.&lt;/p&gt;
&lt;p&gt;&lt;a href="https://github.com/catthehacker/docker_images" target="_blank" rel="noreferrer"&gt;caththehackers&lt;/a&gt; images are great but they don&amp;rsquo;t have the &lt;code&gt;aws&lt;/code&gt; cli installed which is a hard requirement for me since I manage a lot of AWS infrastructure with terraform 100% via gitops. To fix this I quickly hacked together a docker file to add in the cli tool:&lt;/p&gt;
&lt;div class="highlight-wrapper"&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-dockerfile" data-lang="dockerfile"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;FROM&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s"&gt;ghcr.io/catthehacker/ubuntu:act-latest&lt;/span&gt;&lt;span class="err"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="err"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;RUN&lt;/span&gt; curl &lt;span class="s2"&gt;&amp;#34;https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip&amp;#34;&lt;/span&gt; -o &lt;span class="s2"&gt;&amp;#34;awscliv2.zip&amp;#34;&lt;/span&gt;&lt;span class="err"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;RUN&lt;/span&gt; unzip awscliv2.zip &lt;span class="o"&gt;&amp;amp;&amp;amp;&lt;/span&gt; ./aws/install&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;As a quick and dirty hack I pushed this up manually to forgejo (it fully supports docker images and provides a registry as well!). I can now reference that image inside my &lt;code&gt;.runner&lt;/code&gt; file.&lt;/p&gt;
&lt;p&gt;You can then reference this in your action:&lt;/p&gt;
&lt;div class="highlight-wrapper"&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-yaml" data-lang="yaml"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nt"&gt;jobs&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;configure-aws&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;runs-on&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;ubuntu-act-latest&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;I still have a few things to tidy up:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Automate building my custom image&lt;/li&gt;
&lt;li&gt;Migrate all repos to forgejo&lt;/li&gt;
&lt;li&gt;Migrate to OpenTofu&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Thanks for reading via RSS!&lt;/p&gt;
&lt;p&gt;Send me a message on &lt;a href="https://remotelab.uk/mikebell"&gt;Mastodon&lt;/a&gt; or &lt;a href="mailto:hello@mikebell.io"&gt;email me&lt;/a&gt;&lt;/p&gt;</description></item><item><title>I have a dead guys chilli sauce in my fridge</title><link>https://mikebell.io/posts/2025-01-17-i-have-a-dead-guys-chilli-sauce-in-my-fridge/</link><pubDate>Fri, 17 Jan 2025 09:43:19 +0000</pubDate><author>hello@mikebell.io (Mike Bell)</author><guid>https://mikebell.io/posts/2025-01-17-i-have-a-dead-guys-chilli-sauce-in-my-fridge/</guid><description>
&lt;p&gt;This guy used to come into my local years ago on his own and talk to everyone. He was a friendly enough older guy, had a few drinks and went home to his partner.&lt;/p&gt;
&lt;p&gt;We got talking about hot sauces and he said he made his own. Me and another local said we&amp;rsquo;d love to try some so he brought some in. It was really good! Sweet and very spicy. He eventually bought us both in huge bottles of the stuff. I was incredibly grateful for it.&lt;/p&gt;
&lt;p&gt;We&amp;rsquo;d noticed that he was looking well and asked him if he was ok. &amp;ldquo;Yeah fine, I&amp;rsquo;m good&amp;rdquo; was always the response. You could see he wasn&amp;rsquo;t. He stopped coming in for a few months and we got worried, another regular had him on Facebook so checked up on him and and everything was ok. Shortly after he started coming back in.&lt;/p&gt;
&lt;p&gt;Whenever he came in he&amp;rsquo;d have a soft drink and just chat. We&amp;rsquo;d ask him how he was and &amp;ldquo;yeah fine, I&amp;rsquo;m good&amp;rdquo;. We didn&amp;rsquo;t know it at the time but that would be the last time we&amp;rsquo;d see him. A few weeks later we found out he&amp;rsquo;d died. He&amp;rsquo;d been terminally ill and just wanted to enjoy what time he had left and that included chatting with us in a random bar.&lt;/p&gt;
&lt;p&gt;I often look at the chilli sauce in the fridge and wonder about my own mortality, I wonder what my contribution to society is, what will people remember (if anything) of me? I&amp;rsquo;m not even sure it matters to others but it does to me.&lt;/p&gt;
&lt;p&gt;Thanks for reading via RSS!&lt;/p&gt;
&lt;p&gt;Send me a message on &lt;a href="https://remotelab.uk/mikebell"&gt;Mastodon&lt;/a&gt; or &lt;a href="mailto:hello@mikebell.io"&gt;email me&lt;/a&gt;&lt;/p&gt;</description></item><item><title>Default Software &amp; Hardware 2024</title><link>https://mikebell.io/posts/2024-12-31-default-software--hardware-2024/</link><pubDate>Tue, 31 Dec 2024 12:10:55 +0000</pubDate><author>hello@mikebell.io (Mike Bell)</author><guid>https://mikebell.io/posts/2024-12-31-default-software--hardware-2024/</guid><description>
&lt;p&gt;A list of my default hardware and software for 2024, taken from &lt;a href="https://kevquirk.com/blog/my-default-apps-at-the-end-of-2024" target="_blank" rel="noreferrer"&gt;here&lt;/a&gt; and expanded on. Hope you enjoy!&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;📨 Mail Service: Gmail&lt;/li&gt;
&lt;li&gt;📮 Mail Client: Gmail&lt;/li&gt;
&lt;li&gt;📝 Notes: Joplin&lt;/li&gt;
&lt;li&gt;✅ To-Do: Google Calendar &amp;amp; Vikunja&lt;/li&gt;
&lt;li&gt;📆 Calendar: Google Calendar&lt;/li&gt;
&lt;li&gt;🙍🏻‍♂️ Contacts: Google Contacts&lt;/li&gt;
&lt;li&gt;📖 RSS Service: Hugo&lt;/li&gt;
&lt;li&gt;🗞️ RSS Client: FreshRSS&lt;/li&gt;
&lt;li&gt;⌨️ Launcher: None&lt;/li&gt;
&lt;li&gt;☁️ Cloud storage: Gdrive &amp;amp; Synology Nas&lt;/li&gt;
&lt;li&gt;🌅 Photo library: Google Photos &amp;amp; Immich&lt;/li&gt;
&lt;li&gt;🌐 Web Browser: Firefox &amp;amp; Librefox&lt;/li&gt;
&lt;li&gt;💬 Chat: WhatsApp&lt;/li&gt;
&lt;li&gt;🔖 Bookmarks: None&lt;/li&gt;
&lt;li&gt;📑 Read Later: Wallabag&lt;/li&gt;
&lt;li&gt;📚 Reading: Kindle Paperwhite&lt;/li&gt;
&lt;li&gt;📜 Word Processing: Google Docs &amp;amp; Libreoffice&lt;/li&gt;
&lt;li&gt;📈 Spreadsheets: Google Docs &amp;amp; Libreoffice&lt;/li&gt;
&lt;li&gt;📊 Presentations: Google Docs &amp;amp; Libreoffice&lt;/li&gt;
&lt;li&gt;🛒 Shopping Lists: Mealie&lt;/li&gt;
&lt;li&gt;💰 Personal Finance: None&lt;/li&gt;
&lt;li&gt;🎵 Music: Navidrome/symfony/feishin&lt;/li&gt;
&lt;li&gt;🎤 Podcasts: AntennaPod&lt;/li&gt;
&lt;li&gt;🔐 Password Management: 1Password&lt;/li&gt;
&lt;li&gt;🤦‍♂️ Social Media: Mastodon&lt;/li&gt;
&lt;li&gt;🌤️ Weather: Weather&amp;amp;Radar&lt;/li&gt;
&lt;li&gt;🔎 Search: DuckDuckGo &amp;amp; Google&lt;/li&gt;
&lt;li&gt;🧮 Code Editor: VSCode &amp;amp; nvim&lt;/li&gt;
&lt;li&gt;🖥️ Distros: Win 11, OSX, Arch, Debian, Ubuntu&lt;/li&gt;
&lt;li&gt;📱Phone: Google Pixel 8 Pro&lt;/li&gt;
&lt;li&gt;💻 Laptop: Lenovo X1 Carbon 5th Gen&lt;/li&gt;
&lt;li&gt;📜 Document Management: Paperless ngx&lt;/li&gt;
&lt;li&gt;💾 Remote servers: 1&lt;/li&gt;
&lt;li&gt;💾 Home servers: 3&lt;/li&gt;
&lt;li&gt;📱Tablet: Samsung Galaxy Tab 9&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Thanks for reading via RSS!&lt;/p&gt;
&lt;p&gt;Send me a message on &lt;a href="https://remotelab.uk/mikebell"&gt;Mastodon&lt;/a&gt; or &lt;a href="mailto:hello@mikebell.io"&gt;email me&lt;/a&gt;&lt;/p&gt;</description></item><item><title>Homelab update October/November/December</title><link>https://mikebell.io/posts/2024-12-06-homelab-update-oct-nov-dec/</link><pubDate>Fri, 06 Dec 2024 13:25:24 +0000</pubDate><author>hello@mikebell.io (Mike Bell)</author><guid>https://mikebell.io/posts/2024-12-06-homelab-update-oct-nov-dec/</guid><description>
&lt;p&gt;Potentially a long one this time round. Lot&amp;rsquo;s of changes/updates/additions to my homelab. I&amp;rsquo;m also still managing a second homelab for my parents which brings it&amp;rsquo;s own set of challenges but is a lot of fun.&lt;/p&gt;
&lt;h2 class="relative group"&gt;New Jellyfin Server
&lt;div id="new-jellyfin-server" class="anchor"&gt;&lt;/div&gt;
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
&lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#new-jellyfin-server" aria-label="Anchor"&gt;#&lt;/a&gt;
&lt;/span&gt;
&lt;/h2&gt;
&lt;p&gt;The Jellyfin android tv app is going through some awesome updates at the moment (just landed in v18!) namely trickplay images and support for skipping intros/outros. These are both features I&amp;rsquo;ve wanted for a while. The only issue is they&amp;rsquo;re quite computationally expensive. With my old VM based setup I didn&amp;rsquo;t have access to a GPU to offload these tasks to, generating trickplay images for 3% of my library took 5 days! Not really acceptable even after tweaking to use 100% cpu. My solution was to buy a second mini pc a GMTek G3, it came with an Alder Lake (checkout Quicksync capability, future proof for a long while!) N100 with 16GB of ram. It runs debian with with Jellyfin running in docker with GPU passthrough. Generating trickplay images took around 3-4 days for my entire library using the GPU which is much better. I also have transcoding support if I ever need it.&lt;/p&gt;
&lt;h2 class="relative group"&gt;Migration to Debian
&lt;div id="migration-to-debian" class="anchor"&gt;&lt;/div&gt;
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
&lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#migration-to-debian" aria-label="Anchor"&gt;#&lt;/a&gt;
&lt;/span&gt;
&lt;/h2&gt;
&lt;p&gt;I&amp;rsquo;m in the process of moving all my VMs to Debian, it&amp;rsquo;s a slow process but all new applications will be spun up on a second vm instead of my old Ubuntu vm. I&amp;rsquo;m finding Debian to be much much faster than Ubuntu which is great. This one is going to take quite a while so at the moment I only have OpenSearch running on it.&lt;/p&gt;
&lt;h2 class="relative group"&gt;Opensearch
&lt;div id="opensearch" class="anchor"&gt;&lt;/div&gt;
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
&lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#opensearch" aria-label="Anchor"&gt;#&lt;/a&gt;
&lt;/span&gt;
&lt;/h2&gt;
&lt;p&gt;Finally I have OpenSearch sort of working, it&amp;rsquo;s currently aggregating Jellyfin logs for the time being. I&amp;rsquo;ve yet to properly play around with it but it seems to be working a lot better than my first attempt! Only major issue so far is that my saved indexes patterns aren&amp;rsquo;t persisting. I&amp;rsquo;m sure I&amp;rsquo;m doing something wrong so will figure it out at some point. I&amp;rsquo;m using fluent-bit to pass Jellyfin logs to OS, I&amp;rsquo;ll be using fb for all my VMs eventually as it&amp;rsquo;s really simple to setup and use.&lt;/p&gt;
&lt;h2 class="relative group"&gt;Rebuilt ADSB Setup
&lt;div id="rebuilt-adsb-setup" class="anchor"&gt;&lt;/div&gt;
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
&lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#rebuilt-adsb-setup" aria-label="Anchor"&gt;#&lt;/a&gt;
&lt;/span&gt;
&lt;/h2&gt;
&lt;p&gt;I came across &lt;a href="https://sdr-enthusiasts.gitbook.io/ads-b" target="_blank" rel="noreferrer"&gt;SDR Enthusiasts docker&lt;/a&gt; setup and absolutely loved it. For a long time I&amp;rsquo;ve only been feeding FR24 but this makes it so much easier to add more feeders to the setup. I&amp;rsquo;ve created a new vm for this, no real reason to do this but it meant I could play around with it without effecting my other applications. Now I&amp;rsquo;m feeding FR24 and ADSB Exchange, if your wanting to play around with this sort of stuff I highly recommend checking out the link above. I&amp;rsquo;ll be duplicating this setup for my parents sometime in the future.&lt;/p&gt;
&lt;h2 class="relative group"&gt;Even smarter smart home
&lt;div id="even-smarter-smart-home" class="anchor"&gt;&lt;/div&gt;
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
&lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#even-smarter-smart-home" aria-label="Anchor"&gt;#&lt;/a&gt;
&lt;/span&gt;
&lt;/h2&gt;
&lt;p&gt;I&amp;rsquo;ve replaced a few of the lights in the lounge with RGB ones, all the RGB bulbs and light strips are linked together as a group in Home Assistant so we can easily set the mood of the lounge, with all the extra work we&amp;rsquo;ve done in the lounge it&amp;rsquo;s really made it a nice place to chill out in again.&lt;/p&gt;
&lt;p&gt;We&amp;rsquo;ve also had smart meters fitted, information should be coming into Home Assistant now. It&amp;rsquo;ll be interesting to see how much my homelab costs (sample 1 hour over night) although I&amp;rsquo;m slightly worried I&amp;rsquo;ll become obsessed with every penny we spend on electricity and gas.&lt;/p&gt;
&lt;h2 class="relative group"&gt;Orange Pi and SBCs
&lt;div id="orange-pi-and-sbcs" class="anchor"&gt;&lt;/div&gt;
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
&lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#orange-pi-and-sbcs" aria-label="Anchor"&gt;#&lt;/a&gt;
&lt;/span&gt;
&lt;/h2&gt;
&lt;p&gt;At the same time I bought the GMTek mini pc I also got an Orange Pi, I&amp;rsquo;m not really sure why I bothered, it was more expensive and not as powerful. Overall I&amp;rsquo;m really disappointed with SBCs now, there&amp;rsquo;s no point in getting them when you can buy an x64 arch mini pc cheaper. I&amp;rsquo;ll be using it for my parents ADSB setup at some point just so it doesn&amp;rsquo;t go to waste.&lt;/p&gt;
&lt;p&gt;Thanks for reading via RSS!&lt;/p&gt;
&lt;p&gt;Send me a message on &lt;a href="https://remotelab.uk/mikebell"&gt;Mastodon&lt;/a&gt; or &lt;a href="mailto:hello@mikebell.io"&gt;email me&lt;/a&gt;&lt;/p&gt;</description></item><item><title>Feeling a bit lost</title><link>https://mikebell.io/posts/feeling-bit-lost/</link><pubDate>Sat, 02 Nov 2024 10:32:30 +0000</pubDate><author>hello@mikebell.io (Mike Bell)</author><guid>https://mikebell.io/posts/feeling-bit-lost/</guid><description>
&lt;p&gt;It&amp;rsquo;s been about 2 weeks since I was in hospital and things are starting to sink in. Firstly just how serious things got and secondly the trajectory my life is/was taking.&lt;/p&gt;
&lt;p&gt;I&amp;rsquo;m trying to figure out when to go back to work, I&amp;rsquo;m having more good days than bad days but I&amp;rsquo;m not out of the woods yet, a new symptom is my lungs are aching when I move, it&amp;rsquo;s really as pleasant as it sounds. Part of me wants to go back to work ASAP but the other part of me is still trying to come to terms with work and the past 3 months.&lt;/p&gt;
&lt;p&gt;I spent the past 3 months living for work, figuratively and literally. When things started to go down hill I was spending all day working and then the rest of the evening lying on the sofa waiting for 10pm so I could justify going back to bed. The process would then rinse and repeat for 5 days a week until it got to the weekend and I&amp;rsquo;d just rest up ready to go back to work. I want to work to live not live to work.&lt;/p&gt;
&lt;p&gt;Not working isn&amp;rsquo;t an option I have to support my wife and cats so I&amp;rsquo;m feeling lost. I&amp;rsquo;m 100% sure that my attitude towards work was what made things worse, not the job itself (this isn&amp;rsquo;t about the job or people). I put work first and suffered for it. My behaviour isn&amp;rsquo;t going to change over night and I don&amp;rsquo;t even know how I would even start.&lt;/p&gt;
&lt;p&gt;I&amp;rsquo;ve just finished up writing a &amp;ldquo;Statement of Suitability&amp;rdquo; for a promotion at work, yup even though I&amp;rsquo;m off sick. I&amp;rsquo;m not one of those people that won&amp;rsquo;t ever go back to work I love what I do and I finally believe I&amp;rsquo;m bringing value to millions of people whether they realise it or not. Part of me is not sure whether to submit it now, a promotion brings with it more responsibilities arguably some I&amp;rsquo;m already doing.&lt;/p&gt;
&lt;p&gt;Again I&amp;rsquo;m feeling quite lost by it all.&lt;/p&gt;
&lt;p&gt;Thanks for reading via RSS!&lt;/p&gt;
&lt;p&gt;Send me a message on &lt;a href="https://remotelab.uk/mikebell"&gt;Mastodon&lt;/a&gt; or &lt;a href="mailto:hello@mikebell.io"&gt;email me&lt;/a&gt;&lt;/p&gt;</description></item><item><title>Bilateral Pulmonary Embolisms Suck</title><link>https://mikebell.io/posts/bilateral-pulmonary-embolisms-suck/</link><pubDate>Tue, 29 Oct 2024 20:27:43 +0000</pubDate><author>hello@mikebell.io (Mike Bell)</author><guid>https://mikebell.io/posts/bilateral-pulmonary-embolisms-suck/</guid><description>
&lt;p&gt;The title pretty much sums it up, BPEs suck.&lt;/p&gt;
&lt;h2 class="relative group"&gt;How did we get here
&lt;div id="how-did-we-get-here" class="anchor"&gt;&lt;/div&gt;
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
&lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#how-did-we-get-here" aria-label="Anchor"&gt;#&lt;/a&gt;
&lt;/span&gt;
&lt;/h2&gt;
&lt;p&gt;For most of the year I&amp;rsquo;d been feeling a bit off it, dizzy spells and being exhausted, I put this down to ME/CFS being a pain as per usual. In June we went to Cyprus for two weeks holiday it was hot but we had such a great time. When I got back I caught COVID (4th times the charm), whenever I get it I&amp;rsquo;m always very ill with it. 2 weeks after COVID I got a chest infection which was quite bad, I never really recovered afterwards. We&amp;rsquo;re pretty sure this is where it all went wrong and the bloods clots in my lungs started to form. From there my health has deteriorated to the point where I&amp;rsquo;ve been backwards and forwards to the doctors. Each time I went I was told the chest infection hadn&amp;rsquo;t gone and given either an inhaler or more medication. It was also around this time that I noticed my chest was aching, I have acid reflux and well and while it&amp;rsquo;s been managed for years and years I&amp;rsquo;d been getting aches and what felt like acid reflux again.&lt;/p&gt;
&lt;p&gt;When I look back all the signs that something was seriously wrong. My lungs had been slowly failing until it got to the point where breathing was difficult and I came very close to dying. I remember saying to my mum that I wished something would go wrong just so I could get to the bottom of why I felt so bad, living with a chronic illness tends to do that to you.&lt;/p&gt;
&lt;h2 class="relative group"&gt;Anger
&lt;div id="anger" class="anchor"&gt;&lt;/div&gt;
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
&lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#anger" aria-label="Anchor"&gt;#&lt;/a&gt;
&lt;/span&gt;
&lt;/h2&gt;
&lt;p&gt;I&amp;rsquo;m not proud of it but I can&amp;rsquo;t help and look at other people who&amp;rsquo;re twice my weight and smoke 800 cigarettes a day and wonder why me. It makes me really angry and I know it shouldn&amp;rsquo;t but it&amp;rsquo;s hard not to. I can count the amount of cigarettes I&amp;rsquo;ve smoked in my life on 2 hands, yes I&amp;rsquo;m overweight but I&amp;rsquo;m exercising regularly and love walking. I just don&amp;rsquo;t understand why I&amp;rsquo;m so unlucky.&lt;/p&gt;
&lt;p&gt;I&amp;rsquo;ve been dealing with ME/CFS ever since I was 16 years old, I don&amp;rsquo;t need any more crap. I&amp;rsquo;m angry about the whole thing.&lt;/p&gt;
&lt;h2 class="relative group"&gt;Death
&lt;div id="death" class="anchor"&gt;&lt;/div&gt;
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
&lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#death" aria-label="Anchor"&gt;#&lt;/a&gt;
&lt;/span&gt;
&lt;/h2&gt;
&lt;p&gt;This is something I haven&amp;rsquo;t quite figured out in my head. The amount of things that could of gone wrong but didn&amp;rsquo;t are mind blowing. I could have died and it doesn&amp;rsquo;t feel like it. My brain just can&amp;rsquo;t get round the fact that things got quite serious. Trauma is something I&amp;rsquo;ve always struggled to deal with it&amp;rsquo;s been a lot easier to just ignore things and move on.&lt;/p&gt;
&lt;h2 class="relative group"&gt;Recovery
&lt;div id="recovery" class="anchor"&gt;&lt;/div&gt;
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
&lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#recovery" aria-label="Anchor"&gt;#&lt;/a&gt;
&lt;/span&gt;
&lt;/h2&gt;
&lt;p&gt;It&amp;rsquo;s been a few days since I originally wrote the start of this post and things are getting easier, slowly but surely my breathing is getting better but simple things are making me tired. I&amp;rsquo;m having to rebuild my stamina from scratch. I&amp;rsquo;m off work still and as much as I&amp;rsquo;d like to be back I can&amp;rsquo;t. My brain isn&amp;rsquo;t working as well as it sh&lt;/p&gt;
&lt;p&gt;Everyday is getting better.&lt;/p&gt;
&lt;p&gt;Thanks for reading via RSS!&lt;/p&gt;
&lt;p&gt;Send me a message on &lt;a href="https://remotelab.uk/mikebell"&gt;Mastodon&lt;/a&gt; or &lt;a href="mailto:hello@mikebell.io"&gt;email me&lt;/a&gt;&lt;/p&gt;</description></item><item><title>Notes on 17th to 22nd of October</title><link>https://mikebell.io/posts/notes-17th-22nd-october/</link><pubDate>Tue, 22 Oct 2024 15:56:50 +0000</pubDate><author>hello@mikebell.io (Mike Bell)</author><guid>https://mikebell.io/posts/notes-17th-22nd-october/</guid><description>
&lt;p&gt;I&amp;rsquo;m half writing this for the people mentioned at the end and my own records since when I say the past 5 days has been crazy I really mean it. You can read a bit of back story &lt;a href="https://mikebell.io/posts/long-covid-sucks/" target="_blank" rel="noreferrer"&gt;here&lt;/a&gt;.&lt;/p&gt;
&lt;h2 class="relative group"&gt;17th October
&lt;div id="17th-october" class="anchor"&gt;&lt;/div&gt;
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
&lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#17th-october" aria-label="Anchor"&gt;#&lt;/a&gt;
&lt;/span&gt;
&lt;/h2&gt;
&lt;p&gt;Varicocile Embolisation - a simple surgery to get rid of the varicose vein on my left testicle (yes it can be as painful as it sounds). 4-5 hours waiting for a 30 min op no worries. Feeling a bit grim but that&amp;rsquo;s kinda to be expected.&lt;/p&gt;
&lt;h2 class="relative group"&gt;18th October
&lt;div id="18th-october" class="anchor"&gt;&lt;/div&gt;
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
&lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#18th-october" aria-label="Anchor"&gt;#&lt;/a&gt;
&lt;/span&gt;
&lt;/h2&gt;
&lt;p&gt;Off work, feeling a bit rough, put it down to the operation the previous day.&lt;/p&gt;
&lt;h2 class="relative group"&gt;19th October
&lt;div id="19th-october" class="anchor"&gt;&lt;/div&gt;
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
&lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#19th-october" aria-label="Anchor"&gt;#&lt;/a&gt;
&lt;/span&gt;
&lt;/h2&gt;
&lt;p&gt;Went for a walk around the park and a quick visit to the pub, had a soft drink and start feeling really bad, make my excuses and head home where I spend the rest of the day on the sofa. When trying to stand up I felt like I was going to pass out.&lt;/p&gt;
&lt;h2 class="relative group"&gt;20th October
&lt;div id="20th-october" class="anchor"&gt;&lt;/div&gt;
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
&lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#20th-october" aria-label="Anchor"&gt;#&lt;/a&gt;
&lt;/span&gt;
&lt;/h2&gt;
&lt;p&gt;Needed to go shopping and could barely make it to the end of the road, managed it around Morrisons and headed home. I have a cheap sp02 monitor so tried that and my pulse was over 140 and sp02 89% (anything below 95% is bad). Decided to lay on the sofa and try and recover but about an hour later I&amp;rsquo;m still the same and feeling really faint. Took myself off to A &amp;amp; E and spent the next 4 hours (super impressed at how quick everything went) being triaged and taken care of. By this point I was struggling to breath and could barely talk. Another chest x-ray later and the doctor says the dark spots on my lungs are most likely blood clots. Perscribed Apixaban (a blood) and sent home, told I would receive a request for an emergency CT scan in the next 2-3 days. By this point I&amp;rsquo;m really sick.&lt;/p&gt;
&lt;h2 class="relative group"&gt;21st October
&lt;div id="21st-october" class="anchor"&gt;&lt;/div&gt;
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
&lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#21st-october" aria-label="Anchor"&gt;#&lt;/a&gt;
&lt;/span&gt;
&lt;/h2&gt;
&lt;p&gt;I have to go back to the hospital to pick up the rest of the Apixaban, on the way back home I get a call asking me to come back at 2pm for a CT scan. I wasn&amp;rsquo;t expecting it to be that quick but glad. Head back to the hospital and have my CT scan, it was a quick in and out once we found the right department. Head back home and try to start resting then I get another phone call to say I have to go back for overnight observation the dark spots on my lungs are blood clots and it&amp;rsquo;s quite serious, it really sucks but figure it&amp;rsquo;s for the best. When I get there I had multiple consultants tell me how serious things are and I&amp;rsquo;m given a bed and some anti clotting drugs. I&amp;rsquo;ll spare you the shit nights sleep but my gods it was horrible.&lt;/p&gt;
&lt;h2 class="relative group"&gt;22nd October
&lt;div id="22nd-october" class="anchor"&gt;&lt;/div&gt;
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
&lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#22nd-october" aria-label="Anchor"&gt;#&lt;/a&gt;
&lt;/span&gt;
&lt;/h2&gt;
&lt;p&gt;All my tests came back as slightly improved, it looks like the blood thinners are working. I still feel really crap but I can walk without losing my breath and the chances of a brain/heart clot are hopefully a lot lower now. I then got discharged pretty quickly which was nice and now I&amp;rsquo;m here writing this. I&amp;rsquo;m exhausted now and having to take things incredibly easy. My resting heart rate is between 87-100 because my right lung is causing problems with my heart. It&amp;rsquo;s going to take about 2 weeks for this to normalise. So when people say COVID isn&amp;rsquo;t serious point them in my direction. I also look like a pin cushion now.&lt;/p&gt;
&lt;h2 class="relative group"&gt;Next steps
&lt;div id="next-steps" class="anchor"&gt;&lt;/div&gt;
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
&lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#next-steps" aria-label="Anchor"&gt;#&lt;/a&gt;
&lt;/span&gt;
&lt;/h2&gt;
&lt;p&gt;I need a scan on my heart to make sure there&amp;rsquo;s no permanent damage. I&amp;rsquo;ve got a referral to a specialist but that will be another 3-6 months down the line.&lt;/p&gt;
&lt;h2 class="relative group"&gt;Thanks
&lt;div id="thanks" class="anchor"&gt;&lt;/div&gt;
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
&lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#thanks" aria-label="Anchor"&gt;#&lt;/a&gt;
&lt;/span&gt;
&lt;/h2&gt;
&lt;p&gt;Huge thanks to Han, Mum (stop worrying), Dad (yes I know you&amp;rsquo;ve had this, let me have my spotlight), James, Dave, Paula, Jim, Mark, Beth, Chris, Jess, Jane, Mark, Gem and Steve. Your messages/calls/support has got me through the past 3 days more than I can ever properly explain. If I&amp;rsquo;ve forgotten anyone else then I&amp;rsquo;m sorry I&amp;rsquo;m running on about 4 hours sleep.&lt;/p&gt;
&lt;p&gt;Thanks for reading via RSS!&lt;/p&gt;
&lt;p&gt;Send me a message on &lt;a href="https://remotelab.uk/mikebell"&gt;Mastodon&lt;/a&gt; or &lt;a href="mailto:hello@mikebell.io"&gt;email me&lt;/a&gt;&lt;/p&gt;</description></item><item><title>Long COVID Sucks</title><link>https://mikebell.io/posts/long-covid-sucks/</link><pubDate>Fri, 04 Oct 2024 16:29:06 +0000</pubDate><author>hello@mikebell.io (Mike Bell)</author><guid>https://mikebell.io/posts/long-covid-sucks/</guid><description>
&lt;p&gt;This week I had some pretty crappy news, I had a chest x-ray on Saturday because my lungs feel like I&amp;rsquo;m breathing razor blades. The nice doctor said that it was most likely down to post/long COVID. It&amp;rsquo;s kinda a good thing to know because that explains why I&amp;rsquo;ve been feeling so grim since I last had COVID. The x-ray shows I have scarring and dark spots on my lungs which is what&amp;rsquo;s causing all the discomfort. I&amp;rsquo;ve got a blue inhaler in case which helps a bit but for the most part it just sucks.&lt;/p&gt;
&lt;p&gt;I&amp;rsquo;ve been feeling even worse than usual at the moment, my brain is so foggy, I&amp;rsquo;m even more tired ha tired doens&amp;rsquo;t even cover it I&amp;rsquo;m exhausted. I&amp;rsquo;m struggling to get out of bed in the morning which isn&amp;rsquo;t like me at all. I&amp;rsquo;ve found that when things are really bad loud noises are hurting my ears, that&amp;rsquo;s never happened before. To top it all off I&amp;rsquo;m having palpatations every so often.&lt;/p&gt;
&lt;p&gt;There&amp;rsquo;s absolutely fuck all I can do about it either, I just have to put my life on hold while I expend all my energy working and trying to get through the day, it&amp;rsquo;s not really much of a life. My mental health is pretty crap at the moment because of it, but I have hope that I&amp;rsquo;ll come through it, may not be tomorrow or next week but it has to get better.&lt;/p&gt;
&lt;p&gt;So yeah that about sums things up, fuck COVID tbh.&lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;As a side note I&amp;rsquo;m only really writing this so I can play around more with neovim :)&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Thanks for reading via RSS!&lt;/p&gt;
&lt;p&gt;Send me a message on &lt;a href="https://remotelab.uk/mikebell"&gt;Mastodon&lt;/a&gt; or &lt;a href="mailto:hello@mikebell.io"&gt;email me&lt;/a&gt;&lt;/p&gt;</description></item><item><title>My Lemmy experiment is over</title><link>https://mikebell.io/posts/lemmy-experiment/</link><pubDate>Wed, 02 Oct 2024 08:38:06 +0000</pubDate><author>hello@mikebell.io (Mike Bell)</author><guid>https://mikebell.io/posts/lemmy-experiment/</guid><description>
&lt;p&gt;After over a year I&amp;rsquo;m going to take down my personal Lemmy server. Running it on Hetzner has been relatively easy and with only a few hiccups along the way, for a single user instance it uses about 20-30gb of storage for it&amp;rsquo;s db and image cache.&lt;/p&gt;
&lt;h2 class="relative group"&gt;Why did you selfhost?
&lt;div id="why-did-you-selfhost" class="anchor"&gt;&lt;/div&gt;
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
&lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#why-did-you-selfhost" aria-label="Anchor"&gt;#&lt;/a&gt;
&lt;/span&gt;
&lt;/h2&gt;
&lt;p&gt;Like most people after the Reddit enshitification I was looking for a new home, Lemmy seemed like the right place. Rather than jump on the bigger servers I decided I&amp;rsquo;d selfhost it and have a another little part of the internet for myself, similar to how I have my own Mastodon instance.&lt;/p&gt;
&lt;p&gt;Selfhosting Lemmy was actually a lot easier than Mastodon so I was quite surprised to be up and running as quickly as I was, posts started federating very quickly and I was seeing content from around 40-50 different communities I subscribed to across some of the bigger servers.&lt;/p&gt;
&lt;h2 class="relative group"&gt;Why take it down?
&lt;div id="why-take-it-down" class="anchor"&gt;&lt;/div&gt;
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
&lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#why-take-it-down" aria-label="Anchor"&gt;#&lt;/a&gt;
&lt;/span&gt;
&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;Content - the communities I follow have been slowly dying, the mass exodus from reddit fueled a gold rush to Lemmy which was great but over time content quality and quantity has declined.&lt;/li&gt;
&lt;li&gt;Moderation - every so often I find that communities I follow have been abandoned and waves of spam hit them, it&amp;rsquo;s not fun knowing that you have no power other than to block a million accounts. Reporting posts only affects my instance which isn&amp;rsquo;t very useful.&lt;/li&gt;
&lt;li&gt;Racism/Homophobia/Extremism, I see more racist, homophobic and extremist language than I thought I would, again blocking users is the only solution. I don&amp;rsquo;t go out of my way to find this content I find it just filters into communities I&amp;rsquo;m already part of.&lt;/li&gt;
&lt;li&gt;I&amp;rsquo;m happy with Mastodon, this is a fairly simple one to explain, Mastodon is everything I want from a social media platform. There are still issues with it but at least with Lemmy gone it&amp;rsquo;s one less thing to worry about.&lt;/li&gt;
&lt;li&gt;It&amp;rsquo;s tied to my identity, it wouldn&amp;rsquo;t take someone very long to do a bit of exploring to find out who I am on Lemmy and that really restricted my usage of it, it&amp;rsquo;s no different to being on my own Mastodon instance but Lemmy just feels worse. I&amp;rsquo;ve only ever posted a handful of comments because of this.&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 class="relative group"&gt;Will I come back?
&lt;div id="will-i-come-back" class="anchor"&gt;&lt;/div&gt;
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
&lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#will-i-come-back" aria-label="Anchor"&gt;#&lt;/a&gt;
&lt;/span&gt;
&lt;/h2&gt;
&lt;p&gt;Nah, the web has fundamentally changed and my usage of it has to as well. Reddit was great, a fountain of useful knowledge until it wasn&amp;rsquo;t. What I wanted out of Lemmy was the same thing but you can&amp;rsquo;t beat Reddit and Google, you can only try and avoid them and build your own piece of the internet.&lt;/p&gt;
&lt;p&gt;Thanks for reading via RSS!&lt;/p&gt;
&lt;p&gt;Send me a message on &lt;a href="https://remotelab.uk/mikebell"&gt;Mastodon&lt;/a&gt; or &lt;a href="mailto:hello@mikebell.io"&gt;email me&lt;/a&gt;&lt;/p&gt;</description></item><item><title>Homelab Update August/September 2024</title><link>https://mikebell.io/posts/2024-09-15-homelab-update-augustseptember-2024/</link><pubDate>Sun, 15 Sep 2024 10:05:11 +0000</pubDate><author>hello@mikebell.io (Mike Bell)</author><guid>https://mikebell.io/posts/2024-09-15-homelab-update-augustseptember-2024/</guid><description>
&lt;p&gt;August/September update on my Homelab&lt;/p&gt;
&lt;h2 class="relative group"&gt;Kubernetes
&lt;div id="kubernetes" class="anchor"&gt;&lt;/div&gt;
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
&lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#kubernetes" aria-label="Anchor"&gt;#&lt;/a&gt;
&lt;/span&gt;
&lt;/h2&gt;
&lt;p&gt;Finally fixed an annoying config issue on my local machine, &lt;code&gt;10.0.4.1&lt;/code&gt; != &lt;code&gt;10.0.40.1&lt;/code&gt;, that&amp;rsquo;s a few months of on an off debugging wasted! Not had chance to get things up and running yet, I&amp;rsquo;m a bit unsure of whether to use ArgoCD or Flux, I have used ArgoCD in my previous iteration.&lt;/p&gt;
&lt;h2 class="relative group"&gt;Parents Homelab
&lt;div id="parents-homelab" class="anchor"&gt;&lt;/div&gt;
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
&lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#parents-homelab" aria-label="Anchor"&gt;#&lt;/a&gt;
&lt;/span&gt;
&lt;/h2&gt;
&lt;p&gt;I finally handed off the server to my dad an he installed it. After some remote setup from me it was ready to go. My dad managed to restore his old Home Assistant setup with only one issue (HA OS out of date) which was great. There&amp;rsquo;s an issue with letsencrypt and AWS Route 53 which I haven&amp;rsquo;t figured out yet, it&amp;rsquo;s a mirrored setup from my local so not sure why it doesn&amp;rsquo;t work, it did work when I first set it up but after letting the certs expire it&amp;rsquo;s erroring.&lt;/p&gt;
&lt;h2 class="relative group"&gt;Commafeed is gone
&lt;div id="commafeed-is-gone" class="anchor"&gt;&lt;/div&gt;
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
&lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#commafeed-is-gone" aria-label="Anchor"&gt;#&lt;/a&gt;
&lt;/span&gt;
&lt;/h2&gt;
&lt;p&gt;I&amp;rsquo;ve removed commafeed now in favour of FreshRSS, I prefer the desktop and mobile interface. This reminds me the container is a few versions old now so need to update at some point.&lt;/p&gt;
&lt;h2 class="relative group"&gt;Paperless NGX
&lt;div id="paperless-ngx" class="anchor"&gt;&lt;/div&gt;
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
&lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#paperless-ngx" aria-label="Anchor"&gt;#&lt;/a&gt;
&lt;/span&gt;
&lt;/h2&gt;
&lt;p&gt;I&amp;rsquo;ve installed Paperless NGX now in order to get on top of masses of paper documents around the house. I&amp;rsquo;m super impressed with it and need to start using it a bit more.&lt;/p&gt;
&lt;h2 class="relative group"&gt;Immich
&lt;div id="immich" class="anchor"&gt;&lt;/div&gt;
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
&lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#immich" aria-label="Anchor"&gt;#&lt;/a&gt;
&lt;/span&gt;
&lt;/h2&gt;
&lt;p&gt;I&amp;rsquo;ve moved all my photos from Google Photos to Immich now as a backup but I&amp;rsquo;m unable to move 100% over because of the mobile app duplicating deleted photos. Currently I have about 6000 duplicate photos that I did dedupe only for them to be re-added! Frustrating but I&amp;rsquo;m waiting to see what happens with the github issue.&lt;/p&gt;
&lt;hr&gt;
&lt;p&gt;That&amp;rsquo;s about it for both homelabs. Will hopefully get to spend a bit more time doing stuff.&lt;/p&gt;
&lt;p&gt;Thanks for reading via RSS!&lt;/p&gt;
&lt;p&gt;Send me a message on &lt;a href="https://remotelab.uk/mikebell"&gt;Mastodon&lt;/a&gt; or &lt;a href="mailto:hello@mikebell.io"&gt;email me&lt;/a&gt;&lt;/p&gt;</description></item><item><title>Moving from PaperMod to Blowfish</title><link>https://mikebell.io/posts/2024-09-04-moving-from-papermod-to-blowfish/</link><pubDate>Wed, 04 Sep 2024 09:33:52 +0000</pubDate><author>hello@mikebell.io (Mike Bell)</author><guid>https://mikebell.io/posts/2024-09-04-moving-from-papermod-to-blowfish/</guid><description>
&lt;p&gt;Title pretty much sums it up, when you see this post the theme will have changed.&lt;/p&gt;
&lt;!-- more --&gt;
&lt;p&gt;PaperMod has served me well over the years but I was getting that itch to try something different and it didn&amp;rsquo;t support having drop down menus. Having the ability to have drop down menus is quite important now, I want to keep my menu clean but still have room for pages like &lt;a href="https://slashpages.net/" target="_blank" rel="noreferrer"&gt;slashpages&lt;/a&gt; (I&amp;rsquo;ll be adding more soon) and pages that don&amp;rsquo;t fit into my blog but are still important like my &lt;a href="https://mikebell.io/watches/" &gt;watch collection&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;&lt;a href="https://blowfish.page/" target="_blank" rel="noreferrer"&gt;Blowfish&lt;/a&gt; isn&amp;rsquo;t perfect though, for some reason content has this awkward width on my screen that I need to fix. I&amp;rsquo;m sure there&amp;rsquo;s a proper reason for it but to me it doesn&amp;rsquo;t quite look right. I&amp;rsquo;m impressed at just how configurable Blowfish is though, it&amp;rsquo;s taken me a few days to get the configuration right but I&amp;rsquo;m happy to push it live now.&lt;/p&gt;
&lt;h2 class="relative group"&gt;Todo
&lt;div id="todo" class="anchor"&gt;&lt;/div&gt;
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
&lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#todo" aria-label="Anchor"&gt;#&lt;/a&gt;
&lt;/span&gt;
&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;Fix awkward content width&lt;/li&gt;
&lt;li&gt;Photos for watch page&lt;/li&gt;
&lt;li&gt;Figure out how to get the Nord theme working&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Thanks for reading via RSS!&lt;/p&gt;
&lt;p&gt;Send me a message on &lt;a href="https://remotelab.uk/mikebell"&gt;Mastodon&lt;/a&gt; or &lt;a href="mailto:hello@mikebell.io"&gt;email me&lt;/a&gt;&lt;/p&gt;</description></item><item><title>Homelab Update July 2024</title><link>https://mikebell.io/posts/homelab-update-july-2024/</link><pubDate>Fri, 19 Jul 2024 06:40:50 +0000</pubDate><author>hello@mikebell.io (Mike Bell)</author><guid>https://mikebell.io/posts/homelab-update-july-2024/</guid><description>
&lt;p&gt;June/July update on my Homelab&lt;/p&gt;
&lt;h2 class="relative group"&gt;June
&lt;div id="june" class="anchor"&gt;&lt;/div&gt;
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
&lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#june" aria-label="Anchor"&gt;#&lt;/a&gt;
&lt;/span&gt;
&lt;/h2&gt;
&lt;p&gt;Not much happened in june, I spent most of it on holiday and I &amp;ldquo;cleaned&amp;rdquo; up my ssh keys so locked myself out from my phone and tablet. I really need to figure out a better solution for managing ssh keys. I&amp;rsquo;ve been talking about doing it for years but haven&amp;rsquo;t gotten around to putting a solution in place.&lt;/p&gt;
&lt;h2 class="relative group"&gt;Changelog
&lt;div id="changelog" class="anchor"&gt;&lt;/div&gt;
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
&lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#changelog" aria-label="Anchor"&gt;#&lt;/a&gt;
&lt;/span&gt;
&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;New k3s server running on Debian 12&lt;/li&gt;
&lt;li&gt;New VM running on Debian 12&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 class="relative group"&gt;Migration to Debian 12
&lt;div id="migration-to-debian-12" class="anchor"&gt;&lt;/div&gt;
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
&lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#migration-to-debian-12" aria-label="Anchor"&gt;#&lt;/a&gt;
&lt;/span&gt;
&lt;/h2&gt;
&lt;p&gt;All new VMs are now running on Debian 12 as a replacement of whatever stupidly named Ubuntu Server is the latest LTS. I really like Debian, it just works without any bloat, I&amp;rsquo;ve finally got out of the habit of &lt;code&gt;apt update &amp;amp;&amp;amp; apt upgrade&lt;/code&gt; every 5 seconds like I used to do on Ubuntu Server. It has it&amp;rsquo;s quirks and I&amp;rsquo;m still getting my head around some of it&amp;rsquo;s nuances. I&amp;rsquo;ll most likely create my own Debian 12 image with a few extra utils installed by default soon.&lt;/p&gt;
&lt;h2 class="relative group"&gt;K3S
&lt;div id="k3s" class="anchor"&gt;&lt;/div&gt;
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
&lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#k3s" aria-label="Anchor"&gt;#&lt;/a&gt;
&lt;/span&gt;
&lt;/h2&gt;
&lt;p&gt;Kubernetes is back in the homelab! It&amp;rsquo;s not doing anything yet, there&amp;rsquo;s an issue with accessing port 6443 outside of the VM so &lt;code&gt;kubectl&lt;/code&gt; isn&amp;rsquo;t working from my main dev machine. It&amp;rsquo;s probably a firewall issue but not had time to look into it and sort it out.&lt;/p&gt;
&lt;h2 class="relative group"&gt;New D12 VM and Forgejo
&lt;div id="new-d12-vm-and-forgejo" class="anchor"&gt;&lt;/div&gt;
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
&lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#new-d12-vm-and-forgejo" aria-label="Anchor"&gt;#&lt;/a&gt;
&lt;/span&gt;
&lt;/h2&gt;
&lt;p&gt;I&amp;rsquo;ve spun up a fairly hefty VM to run Forgejo on just need to get around to installing it and the runners. The plan here is to move my Github organisation into my homelab instead of running it on Github. I rely quite heavily on Github Actions for running my none homelab infrastructure and don&amp;rsquo;t want to have to worry about running out of free minutes for private repos.&lt;/p&gt;
&lt;p&gt;One of the reasons I&amp;rsquo;m procrastinating on installing Forgejo on this server is that I &lt;em&gt;should&lt;/em&gt; install it on the K3S server. I&amp;rsquo;m just not sure I can be bothered with the headache. My day job is k8s which is amazing but my homelab is all about making things as simple and easy as possible for me. That&amp;rsquo;s not to say k8s isn&amp;rsquo;t worthwhile I just want to spend my time wisely.&lt;/p&gt;
&lt;h2 class="relative group"&gt;Docker server HDD space increase
&lt;div id="docker-server-hdd-space-increase" class="anchor"&gt;&lt;/div&gt;
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
&lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#docker-server-hdd-space-increase" aria-label="Anchor"&gt;#&lt;/a&gt;
&lt;/span&gt;
&lt;/h2&gt;
&lt;p&gt;My main docker VM went from 100GB to 150GB this week in preparation for Trick Play on Jellyfin. Unfortunately I won&amp;rsquo;t be able to use it until the Android TV client supports it but hopefully that will be soon.&lt;/p&gt;
&lt;hr&gt;
&lt;p&gt;That&amp;rsquo;s it for the update this month, there&amp;rsquo;s been the usual container updates but nothing of note.&lt;/p&gt;
&lt;p&gt;Thanks for reading via RSS!&lt;/p&gt;
&lt;p&gt;Send me a message on &lt;a href="https://remotelab.uk/mikebell"&gt;Mastodon&lt;/a&gt; or &lt;a href="mailto:hello@mikebell.io"&gt;email me&lt;/a&gt;&lt;/p&gt;</description></item><item><title>Spoons as a unit of energy</title><link>https://mikebell.io/posts/spoons-unit-energy/</link><pubDate>Tue, 16 Jul 2024 08:28:54 +0000</pubDate><author>hello@mikebell.io (Mike Bell)</author><guid>https://mikebell.io/posts/spoons-unit-energy/</guid><description>
&lt;p&gt;The aim of this post is to try and explain what it&amp;rsquo;s like living with ME/CFS. I can&amp;rsquo;t quite remember where the idea of spoons as a unit of energy came from, I think it might have been from my friend Gem, so I&amp;rsquo;m blaming/crediting them.&lt;/p&gt;
&lt;p&gt;So why are spoons a great way to measure units of energy, human energy or I guess effort. Because spoons are a physical thing and that makes things better to visualise.&lt;/p&gt;
&lt;p&gt;One spoon is equal to one human unit of energy, a unit of energy can be used for anything, work, shopping or even watching TV.&lt;/p&gt;
&lt;p&gt;Living with ME/CFS only gives me a set amount of spoons compared to a &lt;em&gt;normal&lt;/em&gt; person (if such a thing exists). So in my case I like to think I have about 10 spoons I can use a day, another person might have 20 spoons.&lt;/p&gt;
&lt;p&gt;In a normal day I use about 6 spoons of energy for work leaving me with 4 left over for the rest of day. Some days I need a spoon for waking up and getting into a work mood. Shopping and cooking take another 2 spoons. Already I&amp;rsquo;m at 9 out of 10 spoons for the day and I&amp;rsquo;ve not really done anything out of the ordinary. Let&amp;rsquo;s say I want to go out and socialise that&amp;rsquo;s another 3 spoons which is a problem, I&amp;rsquo;m now at 12 our of 10 spoons borrowing 2 spoons from somewhere. Except there&amp;rsquo;s no concept of borrowing spoons going over that mythical 10 spoon limit is where the problems start. I&amp;rsquo;m now in an energy debt.&lt;/p&gt;
&lt;p&gt;How do I recover that debt? On a good day it&amp;rsquo;s fine I can write the 2 spoon debt off and carry on. On a bad day I&amp;rsquo;ll pay for that and my default 10 daily spoon allowance is down to 8. This can lead into a spiral and ultimately a crash. A crash for me is where I become exhausted, I usually lay on the sofa for up to half a day just watching TV and trying to not fall asleep. Days like these I just want to cry. It&amp;rsquo;s so hard to do anything, my body aches and my brain is like sludge. I start stuttering as words become incredibly hard to form. People don&amp;rsquo;t see this though, only my wife and family. So it can&amp;rsquo;t be that bad right? It&amp;rsquo;s horrible.&lt;/p&gt;
&lt;p&gt;My usage of spoons is incredibly important and the best way I can describe to people what it&amp;rsquo;s like to live with ME/CFS. I&amp;rsquo;m currently recovering from recovering from COVID. What do I mean by that? My body doesn&amp;rsquo;t work normally, all the energy I spent recovering has to come from somewhere and I now get to spend the next few weeks recovering my spoons back from that. It sucks.&lt;/p&gt;
&lt;p&gt;Hopefully this helps give an idea of what it&amp;rsquo;s like to live with ME/CFS. Either way it was cathartic to write.&lt;/p&gt;
&lt;p&gt;Thanks for reading via RSS!&lt;/p&gt;
&lt;p&gt;Send me a message on &lt;a href="https://remotelab.uk/mikebell"&gt;Mastodon&lt;/a&gt; or &lt;a href="mailto:hello@mikebell.io"&gt;email me&lt;/a&gt;&lt;/p&gt;</description></item><item><title>Cool stuff outside of tech</title><link>https://mikebell.io/posts/cool-stuff-tech/</link><pubDate>Sun, 14 Jul 2024 12:36:10 +0000</pubDate><author>hello@mikebell.io (Mike Bell)</author><guid>https://mikebell.io/posts/cool-stuff-tech/</guid><description>
&lt;p&gt;I spend all my online life in tech (I started setting up devenv.sh while I had covid ffs) so decided to branch out and find other things to read that are interesting but NOT tech related (maybe).&lt;/p&gt;
&lt;p&gt;&lt;a href="https://mattlakeman.org/2024/06/20/notes-on-tajikistan/" target="_blank" rel="noreferrer"&gt;Matt Lakeman - Notes on Tajikistan&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;I found this from Hacker News and decided to give it a click not only is it really interesting but it&amp;rsquo;s very well written. Matts humour comes across really well and I like it. There&amp;rsquo;s a heavy emphasis on history which isn&amp;rsquo;t quite my thing but the actual details of his travels is something else. I wish I&amp;rsquo;d have the guts to travel to some of the places he has.&lt;/p&gt;
&lt;p&gt;&lt;a href="https://mydiplomaticlife.com/how-to-survive-3-years-in-north-korea-as-a-foreigner/" target="_blank" rel="noreferrer"&gt;My Diplomatic Life&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;What&amp;rsquo;s life like as a diplomat in North Korea? Go give it a read it&amp;rsquo;s fascinating. I&amp;rsquo;ve always had a interest in the Hermit Kingdom ever since Vice (rip) videos on it many years ago. I&amp;rsquo;m really surprised at the freedom he had while in NK.&lt;/p&gt;
&lt;p&gt;&lt;a href="https://www.youtube.com/@_wearestudio" target="_blank" rel="noreferrer"&gt;Youtube - Studio&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;A Youtube channel that has lots of live sets from some of my favourite DJS. Great to have on in the background or just chilling out and listening to some great DnB/Nuerofunk. There&amp;rsquo;s a relatively rare set from Billain on there which I&amp;rsquo;d recommend checking out. Oh also Current Value, a Russian DJ living in Berlin who cranks out some amazing music.&lt;/p&gt;
&lt;p&gt;That&amp;rsquo;s about it for now, this is just a little brain dump while I try and get back into blogging a bit more.&lt;/p&gt;
&lt;p&gt;Thanks for reading via RSS!&lt;/p&gt;
&lt;p&gt;Send me a message on &lt;a href="https://remotelab.uk/mikebell"&gt;Mastodon&lt;/a&gt; or &lt;a href="mailto:hello@mikebell.io"&gt;email me&lt;/a&gt;&lt;/p&gt;</description></item><item><title>Homelab Update May 2024</title><link>https://mikebell.io/posts/homelab-update-may-2024/</link><pubDate>Fri, 17 May 2024 07:40:18 +0000</pubDate><author>hello@mikebell.io (Mike Bell)</author><guid>https://mikebell.io/posts/homelab-update-may-2024/</guid><description>
&lt;p&gt;Here&amp;rsquo;s a very quick update on my homelab.&lt;/p&gt;
&lt;h2 class="relative group"&gt;Changelog
&lt;div id="changelog" class="anchor"&gt;&lt;/div&gt;
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
&lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#changelog" aria-label="Anchor"&gt;#&lt;/a&gt;
&lt;/span&gt;
&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Deprecated Homer&lt;/li&gt;
&lt;li&gt;Implemented &lt;a href="https://gethomepage.dev" target="_blank" rel="noreferrer"&gt;gethomepage.dev&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Update all the containers&lt;/li&gt;
&lt;li&gt;Implemented &lt;a href="https://freshrss.org/index.html" target="_blank" rel="noreferrer"&gt;FreshRSS&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Semi-deprecated Commafeed&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 class="relative group"&gt;gethomepage.dev
&lt;div id="gethomepagedev" class="anchor"&gt;&lt;/div&gt;
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
&lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#gethomepagedev" aria-label="Anchor"&gt;#&lt;/a&gt;
&lt;/span&gt;
&lt;/h2&gt;
&lt;p&gt;Not sure where I picked this up from but it&amp;rsquo;s been really cool so far. I really like the service discovery using docker labels and widgets that pull in additional information.&lt;/p&gt;
&lt;h2 class="relative group"&gt;FreshRSS
&lt;div id="freshrss" class="anchor"&gt;&lt;/div&gt;
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
&lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#freshrss" aria-label="Anchor"&gt;#&lt;/a&gt;
&lt;/span&gt;
&lt;/h2&gt;
&lt;p&gt;I looked at FreshRSS before I went with commafeed but dismissed it for some reason. I&amp;rsquo;ve enjoyed using commafeed for a while but found it&amp;rsquo;s mobile and tablet ui not amazing. With FreshRSS I can use a third party client with it although I&amp;rsquo;ve not found I&amp;rsquo;ve needed to yet. The baked in Nord colour scheme is really nice as well.&lt;/p&gt;
&lt;h2 class="relative group"&gt;Future
&lt;div id="future" class="anchor"&gt;&lt;/div&gt;
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
&lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#future" aria-label="Anchor"&gt;#&lt;/a&gt;
&lt;/span&gt;
&lt;/h2&gt;
&lt;p&gt;I&amp;rsquo;m looking into setting up Nextcloud and Immich. I want Nextcloud as a replacement for Google Drive and Immich to replace Google Photos. All of this is part of a longer term de-googling. Another step forward will be to remove SSO from as many places as possible.&lt;/p&gt;
&lt;h2 class="relative group"&gt;Other News
&lt;div id="other-news" class="anchor"&gt;&lt;/div&gt;
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
&lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#other-news" aria-label="Anchor"&gt;#&lt;/a&gt;
&lt;/span&gt;
&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://%F0%9F%9A%A2.it.com" target="_blank" rel="noreferrer"&gt;🚢.it.com&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;hr&gt;
&lt;h2 class="relative group"&gt;Discuss at
&lt;div id="discuss-at" class="anchor"&gt;&lt;/div&gt;
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
&lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#discuss-at" aria-label="Anchor"&gt;#&lt;/a&gt;
&lt;/span&gt;
&lt;/h2&gt;
&lt;iframe src="https://remotelab.uk/@mikebell/112455353969671765/embed" class="mastodon-embed" style="max-width: 100%; border: 0" width="400" allowfullscreen="allowfullscreen"&gt;&lt;/iframe&gt;&lt;script src="https://remotelab.uk/embed.js" async="async"&gt;&lt;/script&gt;
&lt;p&gt;Thanks for reading via RSS!&lt;/p&gt;
&lt;p&gt;Send me a message on &lt;a href="https://remotelab.uk/mikebell"&gt;Mastodon&lt;/a&gt; or &lt;a href="mailto:hello@mikebell.io"&gt;email me&lt;/a&gt;&lt;/p&gt;</description></item><item><title>The worst 24 hours</title><link>https://mikebell.io/posts/worst-24-hours/</link><pubDate>Sat, 04 May 2024 08:39:52 +0000</pubDate><author>hello@mikebell.io (Mike Bell)</author><guid>https://mikebell.io/posts/worst-24-hours/</guid><description>
&lt;p&gt;Back in 2023 I had the worst 24 hours for a long time. It feels weird writing about this since when I look back it&amp;rsquo;s just so completely insane that everything happened like it did. I&amp;rsquo;m trying to be as eloquent as possible but it&amp;rsquo;s hard for reasons you&amp;rsquo;ll read.&lt;/p&gt;
&lt;p&gt;I&amp;rsquo;ve redacted everything I can, &lt;code&gt;$work&lt;/code&gt; is whatever job I was working at at the time, while not impossible to find out where it&amp;rsquo;s not worth it.&lt;/p&gt;
&lt;p&gt;It all started at around 5pm on a Thursday (it wasn&amp;rsquo;t) I started my coding test for &lt;code&gt;$work&lt;/code&gt; a semi simple application that takes some photos does some processing no big deal. Side note: shame on &lt;code&gt;$work&lt;/code&gt; for trying to get a free solution out of interviewees. I spent a few hours on it, was happy with the result committed it to Github, sent if off and went about the rest of my day. I cooked food for us both and watched tv for the rest of the evening.&lt;/p&gt;
&lt;p&gt;When I went to bed I couldn&amp;rsquo;t sleep, my brain wouldn&amp;rsquo;t shut down I had this anxiety in my chest that something was wrong, it suddenly dawned on me that I hadn&amp;rsquo;t actually completed the &lt;code&gt;$work&lt;/code&gt; test, I&amp;rsquo;d missed some vital part of the instructions. I got up and went downstairs to the lounge, opened my laptop and quickly finished the test off. Thankfully I sent it off late enough that no one was going to evaluate it at that time so I could push my changes and forget about it. I was relieved but still agitated so went back to bed and tried to get some sleep.&lt;/p&gt;
&lt;p&gt;I got a random phone call around 5am, it somehow managed to get through Androids &amp;ldquo;Do Not Disturb&amp;rdquo; mode, I didn&amp;rsquo;t think much at the time as I was so tired, I just swiped it off and went back to sleep. When I eventually woke up I checked my phone and I had a voice mail. Fuck. I knew that number and I knew what it was about. As I went to listen to the voicemail I broke out into tears, I didn&amp;rsquo;t need to know what the nice lady was going to say. Our cat Snowy was dead. I listened to the message and broke the news to my partner. We both sat together and cried mourning the loss. We don&amp;rsquo;t really know what happened other than he was taken to the emergency vets where he passed away.&lt;/p&gt;
&lt;p&gt;My partner went off to work (I wish she hadn&amp;rsquo;t) and I decided that wouldn&amp;rsquo;t be going to &lt;code&gt;$place&lt;/code&gt; for the team retro, I didn&amp;rsquo;t want to travel and no one wants to see a grown man cry over the death of his cat. My team were lovely and completely understood, I ended up spending the day on the video call they set up. Things should have ended there but they didn&amp;rsquo;t. I was applying to &lt;code&gt;$work&lt;/code&gt; because of issues I was having at &lt;code&gt;$work&lt;/code&gt;, a story for another time if I ever feel like it is I was being bullied by &lt;code&gt;$someone&lt;/code&gt; and my position had become untenable. It was during that long video retro that &lt;code&gt;$person&lt;/code&gt; decided to be extra special and go to town on me in front my colleagues. I messaged my PM and pointed them to the Slack thread and politely said I&amp;rsquo;m done for the day and signed off. I was angry, sad and disappointed. I hadn&amp;rsquo;t quite decided that I was serious about moving jobs but that cemented it.&lt;/p&gt;
&lt;p&gt;I spent the rest of the day in a haze, it was horrible everything that could have gone wrong did and there was just no escaping how horrible the entire thing was. I was glad for the day to be over.&lt;/p&gt;
&lt;hr&gt;
&lt;p&gt;I learnt a lot in that 24 hours, it&amp;rsquo;ll forever stick in my head just how crazy things can get.&lt;/p&gt;
&lt;p&gt;I quit &lt;code&gt;$work&lt;/code&gt; not long after and moved to &lt;code&gt;$work&lt;/code&gt; which itself was a mistake. As part of my exit interview I outlined everything &lt;code&gt;$person&lt;/code&gt; had done, the 6 month delayed promotion, the missing salary and the bullying. At the end of the call the HR lady said she&amp;rsquo;d only been there a few weeks so I said good luck and ended the call. There are some amazing people at &lt;code&gt;$work&lt;/code&gt; and I still miss them.&lt;/p&gt;
&lt;p&gt;I&amp;rsquo;m finally happy at &lt;code&gt;$work&lt;/code&gt; it&amp;rsquo;s not perfect but nowhere ever is but I&amp;rsquo;m &lt;em&gt;enjoying&lt;/em&gt; it which if you now me in real life is something I say very rarely.&lt;/p&gt;
&lt;p&gt;We still have Lilly who&amp;rsquo;s Snowys half-sister and Shadow. Both cats are awesome and we love them even more.&lt;/p&gt;
&lt;h2 class="relative group"&gt;Discuss at
&lt;div id="discuss-at" class="anchor"&gt;&lt;/div&gt;
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
&lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#discuss-at" aria-label="Anchor"&gt;#&lt;/a&gt;
&lt;/span&gt;
&lt;/h2&gt;
&lt;iframe src="https://remotelab.uk/@mikebell/112382053715004999/embed" class="mastodon-embed" style="max-width: 100%; border: 0" width="400" allowfullscreen="allowfullscreen"&gt;&lt;/iframe&gt;&lt;script src="https://remotelab.uk/embed.js" async="async"&gt;&lt;/script&gt;
&lt;p&gt;Thanks for reading via RSS!&lt;/p&gt;
&lt;p&gt;Send me a message on &lt;a href="https://remotelab.uk/mikebell"&gt;Mastodon&lt;/a&gt; or &lt;a href="mailto:hello@mikebell.io"&gt;email me&lt;/a&gt;&lt;/p&gt;</description></item><item><title>My Watch Collection</title><link>https://mikebell.io/watches/</link><pubDate>Wed, 20 Mar 2024 07:54:20 +0000</pubDate><author>hello@mikebell.io (Mike Bell)</author><guid>https://mikebell.io/watches/</guid><description>
&lt;p&gt;I&amp;rsquo;ve been collecting watches for 10 years now there&amp;rsquo;s something about them that really appeals to me. I rarely ever show them off they&amp;rsquo;re quite a personal part of me and each watch has it&amp;rsquo;s own story. For reasons that most watch collectors will understand (even if they don&amp;rsquo;t practice) I have strict rules on purchasing watches:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;I can &lt;del&gt;only&lt;/del&gt; own &lt;del&gt;6&lt;/del&gt; &lt;del&gt;7&lt;/del&gt; &lt;del&gt;8 at a time&lt;/del&gt; as many as I want at any time.&lt;/li&gt;
&lt;li&gt;No watch over £2000 (Moonwatch will break this eventually)(I broke it already)&lt;/li&gt;
&lt;li&gt;The watch must either be automatic/solar/kinetic&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;The only rule I&amp;rsquo;ve struggled with is 1, letting go of a watch is always hard and it&amp;rsquo;s like letting a piece of me go, apart from the Samsung Galaxy watch 5, that thing sucked and I&amp;rsquo;m not a fan of smart watches.&lt;/p&gt;
&lt;p&gt;In no particular order:&lt;/p&gt;
&lt;h2 class="relative group"&gt;Stowa Ikarus
&lt;div id="stowa-ikarus" class="anchor"&gt;&lt;/div&gt;
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
&lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#stowa-ikarus" aria-label="Anchor"&gt;#&lt;/a&gt;
&lt;/span&gt;
&lt;/h2&gt;
&lt;p&gt;&lt;figure&gt;&lt;img
class="my-0 rounded-md"
loading="lazy"
decoding="async"
fetchpriority="auto"
alt="Stowa Ikarus"
width="655"
height="628"
src="https://mikebell.io/watches/stowa_ikarus.jpg"
srcset="https://mikebell.io/watches/stowa_ikarus.jpg 800w, https://mikebell.io/watches/stowa_ikarus.jpg 1280w"
sizes="(min-width: 768px) 50vw, 65vw"
data-zoom-src="https://mikebell.io/watches/stowa_ikarus.jpg"&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;This has just recently passed it&amp;rsquo;s 10 year birthday. I bought it around the time I got engaged so it&amp;rsquo;s become my engagement watch, it was going to be my wedding watch (my dad did the same) but my partner convinced me to get a ring instead. This is a pretty interesting watch, when Stowa first released them they didn&amp;rsquo;t come with an onion crown I had to ask for this especially. They&amp;rsquo;d later start including the onion crown on all future versions. It also has their &amp;ldquo;upgraded&amp;rdquo; movement which looks stunning. It&amp;rsquo;s quite a classy watch and goes with formal wear if I ever have the occasion to wear a suit (never).&lt;/p&gt;
&lt;h2 class="relative group"&gt;Stowa Flieger Classic 40
&lt;div id="stowa-flieger-classic-40" class="anchor"&gt;&lt;/div&gt;
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
&lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#stowa-flieger-classic-40" aria-label="Anchor"&gt;#&lt;/a&gt;
&lt;/span&gt;
&lt;/h2&gt;
&lt;p&gt;&lt;figure&gt;&lt;img
class="my-0 rounded-md"
loading="lazy"
decoding="async"
fetchpriority="auto"
alt="Stowa Flieger Classic 40"
width="655"
height="655"
src="https://mikebell.io/watches/stowa_flieger.jpg"
srcset="https://mikebell.io/watches/stowa_flieger.jpg 800w, https://mikebell.io/watches/stowa_flieger.jpg 1280w"
sizes="(min-width: 768px) 50vw, 65vw"
data-zoom-src="https://mikebell.io/watches/stowa_flieger.jpg"&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;This is the watch I really wanted when I got the Ikarus but I couldn&amp;rsquo;t afford it. I finally pulled the trigger last year to celebrate finishing 2 shitty jobs and moving onto my latest role. Me and my partner have an inside joke that it&amp;rsquo;s the watch that &lt;code&gt;$work&lt;/code&gt; bought. I absolutely adore this watch you can wear it with anything and easily get lost in the dial. Even though it was bought around the time when things weren&amp;rsquo;t great it&amp;rsquo;ll always be something I&amp;rsquo;m proud and happy to wear. The black dial is really something else, it just looks good in any weather. If it&amp;rsquo;s been sunny while wearing it outside the lume on the dial is super bright, it usually lasts about 2-3 hours.&lt;/p&gt;
&lt;p&gt;My only criticism is the Stowa logo on it, I was unlucky enough to buy this just before they switched back to their old and arguably better logo. Still it&amp;rsquo;s an awesome watch and is currently on my wrist while writing this.&lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;We&amp;rsquo;re a Stowa family, a few years after I bought the Ikarus my brother bought a Marine and not long after that my dad bought a limited edition Marine Blue Automatik as a birthday present for himself.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h2 class="relative group"&gt;Casio G-Shock GW-M5610U-1ER
&lt;div id="casio-g-shock-gw-m5610u-1er" class="anchor"&gt;&lt;/div&gt;
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
&lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#casio-g-shock-gw-m5610u-1er" aria-label="Anchor"&gt;#&lt;/a&gt;
&lt;/span&gt;
&lt;/h2&gt;
&lt;p&gt;&lt;figure&gt;&lt;img
class="my-0 rounded-md"
loading="lazy"
decoding="async"
fetchpriority="auto"
alt="Casio G-Shock Normal"
width="655"
height="655"
src="https://mikebell.io/watches/casio_1er.jpg"
srcset="https://mikebell.io/watches/casio_1er.jpg 800w, https://mikebell.io/watches/casio_1er.jpg 1280w"
sizes="(min-width: 768px) 50vw, 65vw"
data-zoom-src="https://mikebell.io/watches/casio_1er.jpg"&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;This is my first G-Shock and first solar watch. It&amp;rsquo;s an amazing looking piece, it&amp;rsquo;s not huge and in your face like other G-Shocks, I&amp;rsquo;ve knocked it around a fair bit when doing work around the house or in a data centre. It&amp;rsquo;s traveled with me on cruises and always kept the correct time. I love it for just how indestructible it is. The only reason I knew this existed was because at the time an ex-colleague showed me the &lt;a href="https://g-shock.co.uk/gw-m5610bwd20-1er" target="_blank" rel="noreferrer"&gt;Bamford&lt;/a&gt; version (I still want it but refuse to pay what it&amp;rsquo;s going for now) but it was out of stock everywhere. If you&amp;rsquo;re looking for a cheap and practical watch then this is for you.&lt;/p&gt;
&lt;h2 class="relative group"&gt;Casio G-Shock GW-M5610U-1BER
&lt;div id="casio-g-shock-gw-m5610u-1ber" class="anchor"&gt;&lt;/div&gt;
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
&lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#casio-g-shock-gw-m5610u-1ber" aria-label="Anchor"&gt;#&lt;/a&gt;
&lt;/span&gt;
&lt;/h2&gt;
&lt;p&gt;&lt;figure&gt;&lt;img
class="my-0 rounded-md"
loading="lazy"
decoding="async"
fetchpriority="auto"
alt="Casio G-Shock Inverted"
width="655"
height="655"
src="https://mikebell.io/watches/casio_1ber.jpg"
srcset="https://mikebell.io/watches/casio_1ber.jpg 800w, https://mikebell.io/watches/casio_1ber.jpg 1280w"
sizes="(min-width: 768px) 50vw, 65vw"
data-zoom-src="https://mikebell.io/watches/casio_1ber.jpg"&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;This is the &amp;ldquo;inverted&amp;rdquo; version of the 1ER. It&amp;rsquo;s difficult to read without the backlight and I absolutely love it. Both the 1ER and 1BER often go on sale for 20/30% off on Amazon so if you keep an eye out then you can get a bargain.&lt;/p&gt;
&lt;h2 class="relative group"&gt;Christopher Ward C60 Trident Pro 300
&lt;div id="christopher-ward-c60-trident-pro-300" class="anchor"&gt;&lt;/div&gt;
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
&lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#christopher-ward-c60-trident-pro-300" aria-label="Anchor"&gt;#&lt;/a&gt;
&lt;/span&gt;
&lt;/h2&gt;
&lt;p&gt;&lt;figure&gt;&lt;img
class="my-0 rounded-md"
loading="lazy"
decoding="async"
fetchpriority="auto"
alt="Christopher Ward C60 Trident Pro 300"
width="655"
height="612"
src="https://mikebell.io/watches/cw_c60_300.jpg"
srcset="https://mikebell.io/watches/cw_c60_300.jpg 800w, https://mikebell.io/watches/cw_c60_300.jpg 1280w"
sizes="(min-width: 768px) 50vw, 65vw"
data-zoom-src="https://mikebell.io/watches/cw_c60_300.jpg"&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;Don&amp;rsquo;t drink and buy watches folks! Not quite as bad as that but I&amp;rsquo;d had my eye on a diver for a while and showed my wife it when we were out and about and we both agreed it was a stunning watch. A few drinks later and I bought it. I don&amp;rsquo;t wear this anywhere near as much as I should, it&amp;rsquo;s one of the few watches I own that you have to coordinate your clothes with. The trident on the seconds hand is a really nice touch and goes to show how much such a little thing really can set a watch off.&lt;/p&gt;
&lt;h2 class="relative group"&gt;Seiko 5 SRPD79K1
&lt;div id="seiko-5-srpd79k1" class="anchor"&gt;&lt;/div&gt;
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
&lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#seiko-5-srpd79k1" aria-label="Anchor"&gt;#&lt;/a&gt;
&lt;/span&gt;
&lt;/h2&gt;
&lt;p&gt;&lt;figure&gt;&lt;img
class="my-0 rounded-md"
loading="lazy"
decoding="async"
fetchpriority="auto"
alt="Seiko 5 Stealth"
width="655"
height="705"
src="https://mikebell.io/watches/seiko_5_stealth.jpg"
srcset="https://mikebell.io/watches/seiko_5_stealth.jpg 800w, https://mikebell.io/watches/seiko_5_stealth.jpg 1280w"
sizes="(min-width: 768px) 50vw, 65vw"
data-zoom-src="https://mikebell.io/watches/seiko_5_stealth.jpg"&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;This is quite an interesting watch, those that follow the cheaper end of the watch market will instantly recognise that it&amp;rsquo;s a Seiko 5, there are lots of versions of this watch out there and you can usually pick one up quite cheap. I don&amp;rsquo;t really wear this anymore, it&amp;rsquo;s an ok watch but the outer ring is mis-aligned (a common problem) which bugs me. My intention for this watch is to take it apart and have a go at modding it. I like the idea of making it into a cheap Snoopy or replacing the hands with white/yellow hands. I&amp;rsquo;ve never gotten around to opening it up and taking it apart but will do at some point. It&amp;rsquo;s also worth noting that this thing keeps terrible time, it&amp;rsquo;s off by at least 10 seconds a day.&lt;/p&gt;
&lt;h2 class="relative group"&gt;Stowa Bronze Flieger
&lt;div id="stowa-bronze-flieger" class="anchor"&gt;&lt;/div&gt;
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
&lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#stowa-bronze-flieger" aria-label="Anchor"&gt;#&lt;/a&gt;
&lt;/span&gt;
&lt;/h2&gt;
&lt;p&gt;&lt;figure&gt;&lt;img
class="my-0 rounded-md"
loading="lazy"
decoding="async"
fetchpriority="auto"
alt="Bronze Stowa Fleiger"
width="655"
height="544"
src="https://mikebell.io/watches/stowa_bronze.jpg"
srcset="https://mikebell.io/watches/stowa_bronze.jpg 800w, https://mikebell.io/watches/stowa_bronze.jpg 1280w"
sizes="(min-width: 768px) 50vw, 65vw"
data-zoom-src="https://mikebell.io/watches/stowa_bronze.jpg"&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;I promised myself no more watches but this just jumped out at me. It&amp;rsquo;s very classy and sophisticated. I find the crown very stiff to wind which is a bit odd but other than that it&amp;rsquo;s just amazing to wear. I guess this could be classed as the watch that &lt;code&gt;$work&lt;/code&gt; (2.0) bought. I don&amp;rsquo;t think I could recommend this watch to people though, it&amp;rsquo;s an extravagance for me, I probably shouldn&amp;rsquo;t have bought it but it looks so good!&lt;/p&gt;
&lt;h2 class="relative group"&gt;Timex Expedition Solar
&lt;div id="timex-expedition-solar" class="anchor"&gt;&lt;/div&gt;
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
&lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#timex-expedition-solar" aria-label="Anchor"&gt;#&lt;/a&gt;
&lt;/span&gt;
&lt;/h2&gt;
&lt;p&gt;A complete random purchase after seeing it on sale on Amazon US for £40, yup a whole £40! Such a bargain for a solar powered watch. This is my first watch of this style and I really like the 24 hours sub numbers. I&amp;rsquo;m really impressed with the lume on this as well, while it doesn&amp;rsquo;t last too long it is bright. Amusingly because of the british weather it did take a while and my torch to get this fully charged so I could wear it properly. I&amp;rsquo;ve heard that Timex are supposed to be quite loud but this is fine, only slightly louder than my Stowas but not enough to cause an issue.&lt;/p&gt;
&lt;h2 class="relative group"&gt;Seiko 5 SRPD55K1
&lt;div id="seiko-5-srpd55k1" class="anchor"&gt;&lt;/div&gt;
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
&lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#seiko-5-srpd55k1" aria-label="Anchor"&gt;#&lt;/a&gt;
&lt;/span&gt;
&lt;/h2&gt;
&lt;p&gt;&lt;figure&gt;&lt;img
class="my-0 rounded-md"
loading="lazy"
decoding="async"
fetchpriority="auto"
alt="Seiko 5 SRPD55K1"
width="577"
height="434"
src="https://mikebell.io/watches/seiko_5.jpg"
srcset="https://mikebell.io/watches/seiko_5.jpg 800w, https://mikebell.io/watches/seiko_5.jpg 1280w"
sizes="(min-width: 768px) 50vw, 65vw"
data-zoom-src="https://mikebell.io/watches/seiko_5.jpg"&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;Spur of the the moment purchase, I have my eye on a Tudor Pelagos 39 and this is like a budget (not really) version of it. It&amp;rsquo;s a really nice watch once you swap the cheap and crappy metal strap. This strap is an Amazon special costing a grand total of £6 and it really works with the watch. The movement runs slightly fast but that&amp;rsquo;s not too much of a problem. Contrasting it to the stealth variant it&amp;rsquo;s a lot nicer, I am tempted to swap the bezzels over though.&lt;/p&gt;
&lt;h2 class="relative group"&gt;Seiko &amp;ldquo;Pogue&amp;rdquo;
&lt;div id="seiko-pogue" class="anchor"&gt;&lt;/div&gt;
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
&lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#seiko-pogue" aria-label="Anchor"&gt;#&lt;/a&gt;
&lt;/span&gt;
&lt;/h2&gt;
&lt;p&gt;&lt;figure&gt;&lt;img
class="my-0 rounded-md"
loading="lazy"
decoding="async"
fetchpriority="auto"
alt="Seiko &amp;ldquo;Pogue&amp;rdquo; SSC947"
width="600"
height="600"
src="https://mikebell.io/watches/pogue.jpg"
srcset="https://mikebell.io/watches/pogue.jpg 800w, https://mikebell.io/watches/pogue.jpg 1280w"
sizes="(min-width: 768px) 50vw, 65vw"
data-zoom-src="https://mikebell.io/watches/pogue.jpg"&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;The one to keep me going until I get a Tudor Pelagos 39mm. Do yourself a favour and google the watch, the story behind the original watch is pretty amazing. This is the re-issue which I think works really well, sure it goes with none of my clothes but it&amp;rsquo;s still an awesome watch. It very nearly got sent back because the chronograph hand was misaligned, thankfully you can reset that very easily. I managed to get 25% of retail on this so I&amp;rsquo;m really happy. As with all Seiko metal straps it sucks, not quite as much as the SRPD55K1 but nearly. I &lt;em&gt;think&lt;/em&gt; I can use the metal strap from my Christopher Ward on this which will be awesome.&lt;/p&gt;
&lt;h2 class="relative group"&gt;Timex Expedition North
&lt;div id="timex-expedition-north" class="anchor"&gt;&lt;/div&gt;
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
&lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#timex-expedition-north" aria-label="Anchor"&gt;#&lt;/a&gt;
&lt;/span&gt;
&lt;/h2&gt;
&lt;p&gt;&lt;figure&gt;&lt;img
class="my-0 rounded-md"
loading="lazy"
decoding="async"
fetchpriority="auto"
alt="Timex Expedition North"
width="655"
height="692"
src="https://mikebell.io/watches/timex-expedition-north.jpg"
srcset="https://mikebell.io/watches/timex-expedition-north.jpg 800w, https://mikebell.io/watches/timex-expedition-north.jpg 1280w"
sizes="(min-width: 768px) 50vw, 65vw"
data-zoom-src="https://mikebell.io/watches/timex-expedition-north.jpg"&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;Timex seem to be my random super cheap choice of watch this cost the grand total of £48 which is insane for a solar watch as well. It feels really really cheap, it&amp;rsquo;s Bio-ceramic (same as the Moonswatch) and weighs nothing. I&amp;rsquo;m going to throw a nato strap on it and see how I feel about it after a few weeks.&lt;/p&gt;
&lt;h2 class="relative group"&gt;Seiko 5 SRPG35K1
&lt;div id="seiko-5-srpg35k1" class="anchor"&gt;&lt;/div&gt;
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
&lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#seiko-5-srpg35k1" aria-label="Anchor"&gt;#&lt;/a&gt;
&lt;/span&gt;
&lt;/h2&gt;
&lt;p&gt;&lt;figure&gt;&lt;img
class="my-0 rounded-md"
loading="lazy"
decoding="async"
fetchpriority="auto"
alt="Seiko 5 SRPG35K1"
width="455"
height="420"
src="https://mikebell.io/watches/srpg35k1.jpg"
srcset="https://mikebell.io/watches/srpg35k1.jpg 800w, https://mikebell.io/watches/srpg35k1.jpg 1280w"
sizes="(min-width: 768px) 50vw, 65vw"
data-zoom-src="https://mikebell.io/watches/srpg35k1.jpg"&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;My 10th watch in this series! Not sure if that&amp;rsquo;s a good thing or not but I love this one. I&amp;rsquo;ve been looking for a &amp;ldquo;field&amp;rdquo; type watch for a while, I saw someone wearing something similar a while ago while out and had to do a double take on it. It&amp;rsquo;s so classy and I love a good nato strap as well. I wasn&amp;rsquo;t really intending on getting this but I started watching The Pitt and Rabby has one and my love for Field watches was ignited again. So there we have it, with this watch my watch box is now full so that means I can&amp;rsquo;t buy anymore until I start offloading some. That Timex Expedition North is first up, it&amp;rsquo;s so rubbish.&lt;/p&gt;
&lt;p&gt;Thanks for reading via RSS!&lt;/p&gt;
&lt;p&gt;Send me a message on &lt;a href="https://remotelab.uk/mikebell"&gt;Mastodon&lt;/a&gt; or &lt;a href="mailto:hello@mikebell.io"&gt;email me&lt;/a&gt;&lt;/p&gt;</description></item><item><title>Homelab Update March 2024</title><link>https://mikebell.io/posts/homelab-update-march-2024/</link><pubDate>Sat, 16 Mar 2024 10:27:54 +0000</pubDate><author>hello@mikebell.io (Mike Bell)</author><guid>https://mikebell.io/posts/homelab-update-march-2024/</guid><description>
&lt;p&gt;This is a replacement for my &lt;a href="posts/kubernetes-homelab-journey-pt0/" &gt;Kubernetes Homelab Pt0&lt;/a&gt;. I figured that it was best to write about my homelab in general since I&amp;rsquo;m not running k8s at the moment.&lt;/p&gt;
&lt;h1 class="relative group"&gt;Temporary 2nd homelab
&lt;div id="temporary-2nd-homelab" class="anchor"&gt;&lt;/div&gt;
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
&lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#temporary-2nd-homelab" aria-label="Anchor"&gt;#&lt;/a&gt;
&lt;/span&gt;
&lt;/h1&gt;
&lt;p&gt;I temporarily have 2 servers, ones provisioned and ready for installation at my parents place to replace their aging Raspberry Pi Home Assistant setup. Here are the specs:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;FIREBAT T8 Pro Plus Mini PC&lt;/li&gt;
&lt;li&gt;Intel N100&lt;/li&gt;
&lt;li&gt;16GB ram&lt;/li&gt;
&lt;li&gt;512gb hd&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;It came to around £123 after shipping from AliExpress. After confirming everything was working I formatted it and installed Proxmox. It now mirrors pretty much how I have my main server setup so it should be easy remote to manage in case there are any problems.&lt;/p&gt;
&lt;p&gt;I did spend a while looking at SBCs but there&amp;rsquo;s just no point in using them any more, there too expensive for the performance. It&amp;rsquo;s a real shame as I used to really like playing around with Raspberry Pis.&lt;/p&gt;
&lt;h1 class="relative group"&gt;New router
&lt;div id="new-router" class="anchor"&gt;&lt;/div&gt;
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
&lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#new-router" aria-label="Anchor"&gt;#&lt;/a&gt;
&lt;/span&gt;
&lt;/h1&gt;
&lt;p&gt;I&amp;rsquo;ve replace my Banana Pi BPIR3 with a Ubiquiti UniFi UCG-Ultra. I never quite managed to figure out how to get OpenWRT installed on the main EMMC board, the dip switch switching didn&amp;rsquo;t seem to work for me. The UCG-Ultra fits in nicely with the rest of my UB hardware and is ticking along nicely after setting it up and moving all my devices from my selfhosted controller to the UCG.&lt;/p&gt;
&lt;p&gt;If your interested in buying the Banana Pi then get in touch, I&amp;rsquo;d prefer to sell to someone I know than put it on ebay.&lt;/p&gt;
&lt;h1 class="relative group"&gt;Faster broadband
&lt;div id="faster-broadband" class="anchor"&gt;&lt;/div&gt;
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
&lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#faster-broadband" aria-label="Anchor"&gt;#&lt;/a&gt;
&lt;/span&gt;
&lt;/h1&gt;
&lt;p&gt;I&amp;rsquo;ll be getting faster broadband this Monday, going from 220/30 to 550/75 with Cloudscape Connect. After shopping around for a while I decided to stick with them as their support is really good and it&amp;rsquo;s nice not to be with a huge corp. I still want to look into Zen when this 12 month contract runs out, hopefully gig fttp will be a bit more affordable, although I&amp;rsquo;ll have to look at rebuilding my networking stack as it&amp;rsquo;s not built for that speed (&lt;a href="https://community.ui.com/questions/UCG-Ultra-upstream-capped-PPPoE-issue/1eaa6553-33b2-450d-8edf-846e20377a55" target="_blank" rel="noreferrer"&gt;the UCG Ultra can&amp;rsquo;t support 1 gig with IDS&lt;/a&gt;).&lt;/p&gt;
&lt;h1 class="relative group"&gt;Changelog
&lt;div id="changelog" class="anchor"&gt;&lt;/div&gt;
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
&lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#changelog" aria-label="Anchor"&gt;#&lt;/a&gt;
&lt;/span&gt;
&lt;/h1&gt;
&lt;ul&gt;
&lt;li&gt;I&amp;rsquo;ve removed my unifi controller in favour of the built in updated Network Controller in the UCG-Ultra, migrating devices was a bit fiddly with the factory reset but it took about 15 minutes in total.&lt;/li&gt;
&lt;li&gt;Wireguard Easy is also gone in favour of the built in wireguard.&lt;/li&gt;
&lt;li&gt;My &lt;a href="https://github.com/mealie-recipes/mealie" target="_blank" rel="noreferrer"&gt;Mealie&lt;/a&gt; setup got deleted and rebuilt to move to their latest version. All recipes are back in and I need to look into the meal planning side of things.&lt;/li&gt;
&lt;/ul&gt;
&lt;h1 class="relative group"&gt;Kubernetes
&lt;div id="kubernetes" class="anchor"&gt;&lt;/div&gt;
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
&lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#kubernetes" aria-label="Anchor"&gt;#&lt;/a&gt;
&lt;/span&gt;
&lt;/h1&gt;
&lt;p&gt;As the opening paragraph states I&amp;rsquo;m not running k8s at the moment, I don&amp;rsquo;t need it right now. Any learning I need to do happens at $work where we run enough clusters to keep me happy! I left off with an issue in fluent-bit causing 100% CPU usage across all nodes and gigs of error messages in Opensearch. I&amp;rsquo;ll come back to it eventually, I think the second iteration of it will be a single node instead of the 4 I had. I can re-provision it easily with ArgoCD as well.&lt;/p&gt;
&lt;h1 class="relative group"&gt;NAS Upgrade
&lt;div id="nas-upgrade" class="anchor"&gt;&lt;/div&gt;
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
&lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#nas-upgrade" aria-label="Anchor"&gt;#&lt;/a&gt;
&lt;/span&gt;
&lt;/h1&gt;
&lt;p&gt;I&amp;rsquo;m in the process of upgrading drives in my 4 bay Synology NAS, I currently have 2 x 8tb and 2 x 16tb giving me a usable space of 20.9tb. It&amp;rsquo;s turning out to be very expensive and it&amp;rsquo;s a hell of a lot louder now. There isn&amp;rsquo;t any ethernet routing in the house so I run everything in my lounge, it&amp;rsquo;s about time I got that sorted.&lt;/p&gt;
&lt;p&gt;That&amp;rsquo;s about it for now. Lot&amp;rsquo;s done and even more still to do.&lt;/p&gt;
&lt;hr&gt;
&lt;h2 class="relative group"&gt;Discuss at
&lt;div id="discuss-at" class="anchor"&gt;&lt;/div&gt;
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
&lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#discuss-at" aria-label="Anchor"&gt;#&lt;/a&gt;
&lt;/span&gt;
&lt;/h2&gt;
&lt;iframe src="https://remotelab.uk/@mikebell/112104916102946175/embed" class="mastodon-embed" style="max-width: 100%; border: 0" width="400" allowfullscreen="allowfullscreen"&gt;&lt;/iframe&gt;&lt;script src="https://remotelab.uk/embed.js" async="async"&gt;&lt;/script&gt;
&lt;p&gt;Thanks for reading via RSS!&lt;/p&gt;
&lt;p&gt;Send me a message on &lt;a href="https://remotelab.uk/mikebell"&gt;Mastodon&lt;/a&gt; or &lt;a href="mailto:hello@mikebell.io"&gt;email me&lt;/a&gt;&lt;/p&gt;</description></item><item><title>Moving Away from Spotify</title><link>https://mikebell.io/posts/moving-away-from-spotify/</link><pubDate>Thu, 07 Mar 2024 09:51:56 +0000</pubDate><author>hello@mikebell.io (Mike Bell)</author><guid>https://mikebell.io/posts/moving-away-from-spotify/</guid><description>
&lt;p&gt;Spotifys quality sucks, it&amp;rsquo;s UX is horrible and it pays it&amp;rsquo;s artists pretty much sod all so it&amp;rsquo;s time to move away and build my own cloud music service. It&amp;rsquo;s a lot easier than it sounds!&lt;/p&gt;
&lt;h2 class="relative group"&gt;How do I get my data?
&lt;div id="how-do-i-get-my-data" class="anchor"&gt;&lt;/div&gt;
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
&lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#how-do-i-get-my-data" aria-label="Anchor"&gt;#&lt;/a&gt;
&lt;/span&gt;
&lt;/h2&gt;
&lt;p&gt;Replacing each and every album I have saved on Spotify is no mean feat, I have hundreds saved on there. My first problem was getting all that data out of Spotify into something easy to understand, you can request &lt;em&gt;all&lt;/em&gt; your data from Spotify &lt;a href="https://support.spotify.com/uk/article/data-rights-and-privacy-settings/" target="_blank" rel="noreferrer"&gt;here&lt;/a&gt;. You request your data then wait a few days for it to show up, you get a boat load of badly organised JSON which isn&amp;rsquo;t great.&lt;/p&gt;
&lt;p&gt;Parsing all that data is the next job, I ended up using &lt;a href="https://github.com/Yooooomi/your_spotify" target="_blank" rel="noreferrer"&gt;Your Spotify&lt;/a&gt;. It connects to your existing Spotify account and downloads the last 30 days (I think) of data. You can also import your existing data from the json files you got earlier. This then builds up an accurate picture of what you&amp;rsquo;ve been listening to over your entire Spotify existence, in my case around 10 years.&lt;/p&gt;
&lt;h2 class="relative group"&gt;Where does the music come from?
&lt;div id="where-does-the-music-come-from" class="anchor"&gt;&lt;/div&gt;
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
&lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#where-does-the-music-come-from" aria-label="Anchor"&gt;#&lt;/a&gt;
&lt;/span&gt;
&lt;/h2&gt;
&lt;p&gt;This is where Your Spotify comes in really handy I can search around my data and find albums that I want to buy first. Most of my music is purchased from &lt;a href="https://bandcamp.com/" target="_blank" rel="noreferrer"&gt;Bandcamp&lt;/a&gt;, it turns out that supporting artists properly (ish) is quite a lot more than £17.99 a month. It&amp;rsquo;s a slow process as I&amp;rsquo;m not quite ready to drop thousands on all the music from my Spotify account but I&amp;rsquo;m getting there. I reckon it&amp;rsquo;ll probably take me around 5-10 years at the rate I&amp;rsquo;m going to fully rebuild my collection. I&amp;rsquo;m ok with this.&lt;/p&gt;
&lt;h2 class="relative group"&gt;Where do I store it?
&lt;div id="where-do-i-store-it" class="anchor"&gt;&lt;/div&gt;
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
&lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#where-do-i-store-it" aria-label="Anchor"&gt;#&lt;/a&gt;
&lt;/span&gt;
&lt;/h2&gt;
&lt;p&gt;I&amp;rsquo;ve lost my music collection once before many many years ago and it&amp;rsquo;s heartbreaking so this time everything is a bit more secure. I have a 20tb NAS which has redundancies in case of failure, I&amp;rsquo;m also planning some form of cloud backup in the future.&lt;/p&gt;
&lt;h2 class="relative group"&gt;How do I sort it?
&lt;div id="how-do-i-sort-it" class="anchor"&gt;&lt;/div&gt;
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
&lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#how-do-i-sort-it" aria-label="Anchor"&gt;#&lt;/a&gt;
&lt;/span&gt;
&lt;/h2&gt;
&lt;p&gt;For this I&amp;rsquo;m using &lt;a href="https://beets.readthedocs.io/en/stable/index.html" target="_blank" rel="noreferrer"&gt;Beets&lt;/a&gt; a CLI tool has plugin support. When I grab an album I use &lt;code&gt;beet import&lt;/code&gt; to import which renames the files and if possible downloads a &lt;code&gt;cover.jpg&lt;/code&gt; file. &lt;a href="https://www.navidrome.org/" target="_blank" rel="noreferrer"&gt;Navidrome&lt;/a&gt; scans my music folder once an hour for new music, although I can do this manually.&lt;/p&gt;
&lt;h2 class="relative group"&gt;How do I listen to it all?
&lt;div id="how-do-i-listen-to-it-all" class="anchor"&gt;&lt;/div&gt;
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
&lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#how-do-i-listen-to-it-all" aria-label="Anchor"&gt;#&lt;/a&gt;
&lt;/span&gt;
&lt;/h2&gt;
&lt;p&gt;I have an NFS share from my NAS to my Proxmox server which then connects to a dockerised Navidrome setup. This acts as my music server. I can play music through Navidrome but prefer to have third party clients connect:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Windows 11 and OSX - &lt;a href="https://github.com/dweymouth/supersonic" target="_blank" rel="noreferrer"&gt;Supersonic&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Android TV - &lt;a href="https://jellyfin.org/" target="_blank" rel="noreferrer"&gt;Jellyfin&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Android - &lt;a href="https://play.google.com/store/apps/details?id=app.symfonik.music.player&amp;amp;hl=en&amp;amp;gl=US" target="_blank" rel="noreferrer"&gt;Symfonium&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;All these apps (apart from Jellyfin) connect to Navidrome.&lt;/p&gt;
&lt;h3 class="relative group"&gt;Symfonium and transcoding
&lt;div id="symfonium-and-transcoding" class="anchor"&gt;&lt;/div&gt;
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
&lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#symfonium-and-transcoding" aria-label="Anchor"&gt;#&lt;/a&gt;
&lt;/span&gt;
&lt;/h3&gt;
&lt;p&gt;The neat thing about Synfonium and Navidrome is that it transcodes on the fly so when I&amp;rsquo;m out and about and I don&amp;rsquo;t want to use gigs of mobile data it transcodes down to Opus Audio:&lt;/p&gt;
&lt;div class="highlight-wrapper"&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;ffmpeg -i %s -map 0:0 -b:a %bk -v &lt;span class="m"&gt;0&lt;/span&gt; -c:a libopus -f opus -&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;I need to play around with Opus Audio to get an idea of what it&amp;rsquo;s capable but the file size vs quality is pretty damned good at the moment.&lt;/p&gt;
&lt;h2 class="relative group"&gt;Conclusion
&lt;div id="conclusion" class="anchor"&gt;&lt;/div&gt;
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
&lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#conclusion" aria-label="Anchor"&gt;#&lt;/a&gt;
&lt;/span&gt;
&lt;/h2&gt;
&lt;p&gt;I&amp;rsquo;m really happy with this setup, I&amp;rsquo;m not tied to any one application and any component can be swapped out at any time giving me the freedom to try different things.&lt;/p&gt;
&lt;hr&gt;
&lt;h2 class="relative group"&gt;Discuss at
&lt;div id="discuss-at" class="anchor"&gt;&lt;/div&gt;
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
&lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#discuss-at" aria-label="Anchor"&gt;#&lt;/a&gt;
&lt;/span&gt;
&lt;/h2&gt;
&lt;iframe src="https://remotelab.uk/@mikebell/112087551082246586/embed" class="mastodon-embed" style="max-width: 100%; border: 0" width="400" allowfullscreen="allowfullscreen"&gt;&lt;/iframe&gt;&lt;script src="https://remotelab.uk/embed.js" async="async"&gt;&lt;/script&gt;
&lt;p&gt;Thanks for reading via RSS!&lt;/p&gt;
&lt;p&gt;Send me a message on &lt;a href="https://remotelab.uk/mikebell"&gt;Mastodon&lt;/a&gt; or &lt;a href="mailto:hello@mikebell.io"&gt;email me&lt;/a&gt;&lt;/p&gt;</description></item><item><title>VS Code Frontmatter FTW!</title><link>https://mikebell.io/posts/vscode-fronmatter-ftw/</link><pubDate>Thu, 29 Feb 2024 13:35:42 +0000</pubDate><author>hello@mikebell.io (Mike Bell)</author><guid>https://mikebell.io/posts/vscode-fronmatter-ftw/</guid><description>
&lt;p&gt;While reading Kev Quirks latest post on &lt;a href="https://kevquirk.com/i-ve-finally-completed-100-days-to-offload" target="_blank" rel="noreferrer"&gt;#100DaysToOffload&lt;/a&gt; (RSS ftw as well) he hits upon the exact problem I&amp;rsquo;ve been having with creating more content for the blog.&lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;At the back-end I effectively have a custom-built CMS that has been designed, from the ground-up, to work exactly how I want it to.&lt;/p&gt;
&lt;/blockquote&gt;&lt;p&gt;Emphasis on the &amp;ldquo;to work exactly how I want&amp;rdquo;. This blog is built using Hugo, posts are committed to git and then a github action pushes the compiled html to an S3 bucket. On the face of it that&amp;rsquo;s pretty simple but the workflow has been slowing me down a lot. There are too many steps to getting content live:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Create markdown file using either &lt;code&gt;hugo&lt;/code&gt; cli or copy and pasting existing post&lt;/li&gt;
&lt;li&gt;Updating all the frontmatter manually&lt;/li&gt;
&lt;li&gt;Writing the post&lt;/li&gt;
&lt;li&gt;Working out what frontmatter I want to add, tags/cover, I can never remember how to do that. If I want an image I have to manually add it to &lt;code&gt;static&lt;/code&gt; and link it.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Sure it&amp;rsquo;s not the end of the world but it takes time and I&amp;rsquo;ve usually lost the will to post by then.&lt;/p&gt;
&lt;p&gt;Enter &lt;a href="https://frontmatter.codes/" target="_blank" rel="noreferrer"&gt;Frontmatter&lt;/a&gt; extension for VS Code!&lt;/p&gt;
&lt;p&gt;This provides a really nice interface on top of VS Code to create and manage existing posts within Hugo. I get a nice sidebar that allows me to add things such as cover images, tags, set publishing date and much more. Having this all in one place is great, I don&amp;rsquo;t have to faff around with remember what frontmatter I need or copying around images I can just drag and drop them to the media editor and then reference them from the sidebar.&lt;/p&gt;
&lt;p&gt;It gets better as well, cover images aren&amp;rsquo;t supported by default in Frontmatter but are in my theme Papermod. I found that once I manually added the frontmatter to a post Frontmatter then asked me if I wanted to create a new page type or update my existing one. So now I have a new field in my sidebar for cover images. It seems like there&amp;rsquo;s a lot more flexibility as well to be uncovered.&lt;/p&gt;
&lt;p&gt;Overall I&amp;rsquo;m super happy with this extension and I hope it enables me to blog even more now. I&amp;rsquo;m going to untick &amp;ldquo;Is in draft&amp;rdquo; and update publishing date then I&amp;rsquo;ll commit the post to git and push.&lt;/p&gt;
&lt;p&gt;Thanks for reading via RSS!&lt;/p&gt;
&lt;p&gt;Send me a message on &lt;a href="https://remotelab.uk/mikebell"&gt;Mastodon&lt;/a&gt; or &lt;a href="mailto:hello@mikebell.io"&gt;email me&lt;/a&gt;&lt;/p&gt;</description></item><item><title>Kubernetes Homelab Journey Pt0</title><link>https://mikebell.io/posts/2024-01-23-kubernetes-homelab-journey-pt0/</link><pubDate>Tue, 23 Jan 2024 17:10:06 +0000</pubDate><author>hello@mikebell.io (Mike Bell)</author><guid>https://mikebell.io/posts/2024-01-23-kubernetes-homelab-journey-pt0/</guid><description>
&lt;p&gt;I&amp;rsquo;m going to attempt to document my journey migrating from my current homelab setup to kubernetes. I can&amp;rsquo;t promise when these posts will come as I&amp;rsquo;m finding I have less time and energy outside of work to do these things but here goes!&lt;/p&gt;
&lt;h2 class="relative group"&gt;Where are we now?
&lt;div id="where-are-we-now" class="anchor"&gt;&lt;/div&gt;
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
&lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#where-are-we-now" aria-label="Anchor"&gt;#&lt;/a&gt;
&lt;/span&gt;
&lt;/h2&gt;
&lt;p&gt;Currently I have two main setups:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Ubuntu Server - this serves as my docker-compose vm&lt;/li&gt;
&lt;li&gt;k8s server and 3 agents&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;The Ubuntu Server contains all my docker-compose files and mounts to my NAS. There is no CI/CD so updates are done manually and setting up a new application is a case of modifying files directly on the filesystem. This served me well for many years but it&amp;rsquo;s starting to become tedious. I have around 30 applications deployed this way, some are live others are just test stacks.&lt;/p&gt;
&lt;h2 class="relative group"&gt;Current Kubernetes
&lt;div id="current-kubernetes" class="anchor"&gt;&lt;/div&gt;
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
&lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#current-kubernetes" aria-label="Anchor"&gt;#&lt;/a&gt;
&lt;/span&gt;
&lt;/h2&gt;
&lt;p&gt;As mentioned above I am using k8s already. I have 4 Ubuntu Server vms running k3s. It works which is nice but I&amp;rsquo;m just waiting for snap to go wrong and break something. I&amp;rsquo;m going to look into moving to something else over the next few weeks. I feel really comfortable doing this because once I have argocd installed I can just point it my existing configuration and have everything provision nicely.&lt;/p&gt;
&lt;h2 class="relative group"&gt;Next steps
&lt;div id="next-steps" class="anchor"&gt;&lt;/div&gt;
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
&lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#next-steps" aria-label="Anchor"&gt;#&lt;/a&gt;
&lt;/span&gt;
&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Moving away from k3s and snaps&lt;/li&gt;
&lt;li&gt;Moving away from Ubuntu Server (all my new VMs are debian 11/12 now)&lt;/li&gt;
&lt;li&gt;Start moving docker-compose apps to k8s via argocd (or flux2 hmmm)&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Thanks for reading via RSS!&lt;/p&gt;
&lt;p&gt;Send me a message on &lt;a href="https://remotelab.uk/mikebell"&gt;Mastodon&lt;/a&gt; or &lt;a href="mailto:hello@mikebell.io"&gt;email me&lt;/a&gt;&lt;/p&gt;</description></item><item><title>Terraforming AWS</title><link>https://mikebell.io/posts/2024-01-16-terraforming-aws/</link><pubDate>Tue, 16 Jan 2024 20:00:00 +0000</pubDate><author>hello@mikebell.io (Mike Bell)</author><guid>https://mikebell.io/posts/2024-01-16-terraforming-aws/</guid><description>
&lt;p&gt;I&amp;rsquo;ve had my personal AWS setup for 10 years now and it&amp;rsquo;s time that it got organised. I&amp;rsquo;ve made previous attempts at this using Terraformer but it&amp;rsquo;s output wasn&amp;rsquo;t structure enough for my liking.&lt;/p&gt;
&lt;p&gt;TLDR; template code can be found &lt;a href="https://github.com/mikebell-dev/tf-template" target="_blank" rel="noreferrer"&gt;here&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;This time round I&amp;rsquo;ve decided to split it up into two components:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Base&lt;/li&gt;
&lt;li&gt;Applications&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 class="relative group"&gt;Terraform style guide
&lt;div id="terraform-style-guide" class="anchor"&gt;&lt;/div&gt;
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
&lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#terraform-style-guide" aria-label="Anchor"&gt;#&lt;/a&gt;
&lt;/span&gt;
&lt;/h2&gt;
&lt;p&gt;I have a few rules that my TF repos need to follow:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Must have a &lt;code&gt;readme.md&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;Terraform files must be stored in a &lt;code&gt;terraform&lt;/code&gt; directory (application code can live outside)&lt;/li&gt;
&lt;li&gt;&lt;code&gt;main.tf&lt;/code&gt; must be lean and not contain any resources&lt;/li&gt;
&lt;li&gt;Terraform files must be named after the AWS resource&lt;/li&gt;
&lt;li&gt;Must pin terraform version&lt;/li&gt;
&lt;li&gt;Must include github workflows for gitops&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 class="relative group"&gt;Base Terraform
&lt;div id="base-terraform" class="anchor"&gt;&lt;/div&gt;
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
&lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#base-terraform" aria-label="Anchor"&gt;#&lt;/a&gt;
&lt;/span&gt;
&lt;/h2&gt;
&lt;p&gt;This contains all the base terraform code that doesn&amp;rsquo;t belong in an application, things like s3/dynamodb for terraform (applications use this) and IAM roles for Github OIDC.&lt;/p&gt;
&lt;div class="highlight-wrapper"&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;-&amp;gt; % tree -a
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;.
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;├── .github
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;│   └── workflows
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;│   ├── pr-apply.yml
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;│   └── pr-plan.yml
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;├── .gitignore
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;├── readme.md
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;└── terraform
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; ├── dynamodb.tf
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; ├── iam.tf
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; ├── main.tf
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; ├── s3.tf
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; ├── .terraform.lock.hcl
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; └── .terraform-version&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;
&lt;h1 class="relative group"&gt;Application Terraform
&lt;div id="application-terraform" class="anchor"&gt;&lt;/div&gt;
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
&lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#application-terraform" aria-label="Anchor"&gt;#&lt;/a&gt;
&lt;/span&gt;
&lt;/h1&gt;
&lt;p&gt;Applications are usually a group of resources that do a related set of &lt;em&gt;things&lt;/em&gt;. In my case it&amp;rsquo;s domains which I use to group these resources into an &amp;ldquo;application&amp;rdquo;&lt;/p&gt;
&lt;div class="highlight-wrapper"&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;-&amp;gt; % tree -a
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;.
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;├── .github
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;│   └── workflows
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;│   ├── pr-apply.yml
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;│   └── pr-plan.yml
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;├── .gitignore
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;├── readme.md
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;└── terraform
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; ├── acm.tf
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; ├── cloudfront.tf
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; ├── main.tf
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; ├── providers.tf
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; ├── route53.tf
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; ├── s3.tf
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; ├── .terraform.lock.hcl
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; └── .terraform-version&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;
&lt;h2 class="relative group"&gt;Github Actions
&lt;div id="github-actions" class="anchor"&gt;&lt;/div&gt;
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
&lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#github-actions" aria-label="Anchor"&gt;#&lt;/a&gt;
&lt;/span&gt;
&lt;/h2&gt;
&lt;p&gt;Each application repo has two Github Actions repos by default, the first runs &lt;code&gt;terraform plan&lt;/code&gt; when a pull request is raised. The second is a &lt;code&gt;terraform apply&lt;/code&gt; when a PR is merged into &lt;code&gt;main&lt;/code&gt;. General rule of thumb is to never run terraform locally and every change has to be done through a PR. Depending on the size and urgency of the change sometimes it&amp;rsquo;s just easier to run it locally, majority of the time it&amp;rsquo;s through PRs.&lt;/p&gt;
&lt;h2 class="relative group"&gt;Readme.md
&lt;div id="readmemd" class="anchor"&gt;&lt;/div&gt;
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
&lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#readmemd" aria-label="Anchor"&gt;#&lt;/a&gt;
&lt;/span&gt;
&lt;/h2&gt;
&lt;p&gt;@TODO I want to automate this, some sort of tool that runs through each tf file and outputs each resource into a table. This sounds like a great time to learn Go.&lt;/p&gt;
&lt;h2 class="relative group"&gt;.terraform-version
&lt;div id="terraform-version" class="anchor"&gt;&lt;/div&gt;
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
&lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#terraform-version" aria-label="Anchor"&gt;#&lt;/a&gt;
&lt;/span&gt;
&lt;/h2&gt;
&lt;p&gt;This is used by &lt;code&gt;tfenv&lt;/code&gt; making sure that I&amp;rsquo;m always running the same version regardless of the environment. I want to look into this further and potentially remove it. ASDF looks interesting for sure.&lt;/p&gt;
&lt;h1 class="relative group"&gt;Conclusion
&lt;div id="conclusion" class="anchor"&gt;&lt;/div&gt;
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
&lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#conclusion" aria-label="Anchor"&gt;#&lt;/a&gt;
&lt;/span&gt;
&lt;/h1&gt;
&lt;p&gt;That&amp;rsquo;s about it for my own personal setup, I&amp;rsquo;ve borrowed a lot from various setups I&amp;rsquo;ve work on over the past couple of years so can&amp;rsquo;t take all the credit for it. Overall I&amp;rsquo;ve migrated around 30% of my applications to this setup, more to come. A basic template of this can be found &lt;a href="https://github.com/mikebell-dev/tf-template" target="_blank" rel="noreferrer"&gt;here&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Thanks for reading via RSS!&lt;/p&gt;
&lt;p&gt;Send me a message on &lt;a href="https://remotelab.uk/mikebell"&gt;Mastodon&lt;/a&gt; or &lt;a href="mailto:hello@mikebell.io"&gt;email me&lt;/a&gt;&lt;/p&gt;</description></item><item><title>My First Year-ish on the Fediverse</title><link>https://mikebell.io/posts/2023-12-31-my-first-year-ish-on-the-fediverse/</link><pubDate>Sun, 31 Dec 2023 14:05:25 +0000</pubDate><author>hello@mikebell.io (Mike Bell)</author><guid>https://mikebell.io/posts/2023-12-31-my-first-year-ish-on-the-fediverse/</guid><description>
&lt;p&gt;It&amp;rsquo;s about this time of year that marks my first year on the fediverse. I&amp;rsquo;ve really enjoyed it, I decided to quit Twitter just over a year ago and Reddit after they cut off third party apps. I have both my own &lt;a href="https://remotelab.uk/home" target="_blank" rel="noreferrer"&gt;Mastodon&lt;/a&gt; and Lemmy server. Mastodon is hosted with &lt;a href="https://masto.host/" target="_blank" rel="noreferrer"&gt;Masto.host&lt;/a&gt;, at the time I was pretty ill and didn&amp;rsquo;t want the hassle of managing it all myself, I also wanted the option of easily scaling it if I ever decided to open it up to friends/family.&lt;/p&gt;
&lt;h2 class="relative group"&gt;Mastodon
&lt;div id="mastodon" class="anchor"&gt;&lt;/div&gt;
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
&lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#mastodon" aria-label="Anchor"&gt;#&lt;/a&gt;
&lt;/span&gt;
&lt;/h2&gt;
&lt;p&gt;Moving over from Twitter to Mastodon was super easy I hadn&amp;rsquo;t really been active for a while and I&amp;rsquo;d lost all interest in scrolling my feed.&lt;/p&gt;
&lt;p&gt;Losing all my followers was a bit of a trip for me, part of social media was the reach and I guess the &amp;ldquo;fake&amp;rdquo; internet friends (and in Reddits case points). I&amp;rsquo;ve learnt that it really doesn&amp;rsquo;t matter and to just go with it. Who cares? (I do slightly still).&lt;/p&gt;
&lt;p&gt;Over the past few months I found myself becoming frustrated with Mastodon and the quality of the content I was seeing. As an experiment I muted the two largest accounts I follow and wow what a difference it makes. I feel like I actually have control over my timeline and it&amp;rsquo;s actually interesting!&lt;/p&gt;
&lt;p&gt;I&amp;rsquo;ve to start experimenting with adding none Mastodon federated content but will give it a go soon.&lt;/p&gt;
&lt;p&gt;Hosting my instance on Masto.host has also been super easy and I&amp;rsquo;ve had no problems with them. I&amp;rsquo;d highly recommend them even if your into self hosting, the cost for a simple instance like mine makes it a simple choice.&lt;/p&gt;
&lt;p&gt;I can&amp;rsquo;t wait to see how Mastodon evolves over the next few years, hopefully Markdown support comes officially.&lt;/p&gt;
&lt;h2 class="relative group"&gt;Lemmy
&lt;div id="lemmy" class="anchor"&gt;&lt;/div&gt;
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
&lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#lemmy" aria-label="Anchor"&gt;#&lt;/a&gt;
&lt;/span&gt;
&lt;/h2&gt;
&lt;p&gt;After Reddit decided to purge 3rd party apps I decided that I&amp;rsquo;d purge Reddit. I like having control over how I view content and the official Reddit app just sucked. Again much like Mastodon switching over to Lemmy was super easy.&lt;/p&gt;
&lt;p&gt;In the initial first few weeks it was great, a lot of subs I followed made the move over and content started flowing, this has since trickled off. There are still some really good and active communities though.&lt;/p&gt;
&lt;p&gt;Selfhosting Lemmy was also pretty easy and my instance sits on Hetzner server ticking along nicely.&lt;/p&gt;
&lt;p&gt;I&amp;rsquo;d say I was less happy with Lemmy than Mastodon, I&amp;rsquo;ve found it way easier to find right wing posts and spam. As the gold rush of Reddit has ebbed moderation has become a huge issue and I suspect a lot of people just couldn&amp;rsquo;t be arsed with it in the long term.&lt;/p&gt;
&lt;p&gt;I&amp;rsquo;ll stick with Lemmy for a bit longer but I have kbin on my radar (just waiting on a sane release process). Unlike Mastodon I could happily nuke my Lemmy instance and not feel I&amp;rsquo;d lost anything.&lt;/p&gt;
&lt;h2 class="relative group"&gt;Wrapping up
&lt;div id="wrapping-up" class="anchor"&gt;&lt;/div&gt;
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
&lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#wrapping-up" aria-label="Anchor"&gt;#&lt;/a&gt;
&lt;/span&gt;
&lt;/h2&gt;
&lt;p&gt;Overall discovering the Fediverse is great (I&amp;rsquo;m also on Bookwyrm) I love the idea of being in control of what I see and how I see it. The idea of being able to mix so many different types of content fascinates me. I can&amp;rsquo;t wait to see what comes next.&lt;/p&gt;
&lt;p&gt;Thanks for reading via RSS!&lt;/p&gt;
&lt;p&gt;Send me a message on &lt;a href="https://remotelab.uk/mikebell"&gt;Mastodon&lt;/a&gt; or &lt;a href="mailto:hello@mikebell.io"&gt;email me&lt;/a&gt;&lt;/p&gt;</description></item><item><title>Home Assistant Backup to S3</title><link>https://mikebell.io/posts/2021-04-08-home-assistant-backup-to-s3/</link><pubDate>Thu, 08 Apr 2021 10:10:35 +0100</pubDate><author>hello@mikebell.io (Mike Bell)</author><guid>https://mikebell.io/posts/2021-04-08-home-assistant-backup-to-s3/</guid><description>
&lt;p&gt;How to easily backup your Home Assistant configuration to an S3 bucket.&lt;/p&gt;
&lt;h2 class="relative group"&gt;Steps
&lt;div id="steps" class="anchor"&gt;&lt;/div&gt;
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
&lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#steps" aria-label="Anchor"&gt;#&lt;/a&gt;
&lt;/span&gt;
&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;Go to Supervisor&lt;/li&gt;
&lt;li&gt;Add-on Store&lt;/li&gt;
&lt;li&gt;3 dot menu - Repositories&lt;/li&gt;
&lt;li&gt;Add &lt;code&gt;https://github.com/mikebell/hassio-backup-s3&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;Close&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Once the addon is installed you can click on it and follow the up to date &lt;a href="https://github.com/mikebell/hassio-backup-s3/blob/master/backup-s3/README.md" target="_blank" rel="noreferrer"&gt;readme&lt;/a&gt; file to configure your IAM user and policy.&lt;/p&gt;
&lt;p&gt;I then use &lt;a href="https://github.com/jcwillox/hass-auto-backup" target="_blank" rel="noreferrer"&gt;hass-auto-backup&lt;/a&gt; with Node-RED to automate the process and send a message to my Discord server when complete.&lt;/p&gt;
&lt;p&gt;Thanks for reading via RSS!&lt;/p&gt;
&lt;p&gt;Send me a message on &lt;a href="https://remotelab.uk/mikebell"&gt;Mastodon&lt;/a&gt; or &lt;a href="mailto:hello@mikebell.io"&gt;email me&lt;/a&gt;&lt;/p&gt;</description></item><item><title>The 10 Minute JS File Part 1</title><link>https://mikebell.io/posts/2021-01-08-the-10-minute-js-file/</link><pubDate>Fri, 08 Jan 2021 11:49:21 +0000</pubDate><author>hello@mikebell.io (Mike Bell)</author><guid>https://mikebell.io/posts/2021-01-08-the-10-minute-js-file/</guid><description>
&lt;p&gt;This problem has been plaguing me for months now so I thought I&amp;rsquo;d write down everything I&amp;rsquo;ve done to try and solve the issue of the 10 minute js file.&lt;/p&gt;
&lt;p&gt;For some background I run a proxmox server in the garage with multiple VMs for k8s, home assistant, Unifi controller and piHole DNS. Home Assistant is pretty integral to our house now, most lights are run through it and there are multiple automations setup. It also provides my VPN connection. One of the things I&amp;rsquo;d love to be able to have is HA externally accessible that way I can leverage the presence detection. In theory it&amp;rsquo;s super easy I just need to proxy the connection and setup SSL. If only!&lt;/p&gt;
&lt;h3 class="relative group"&gt;The Hardware
&lt;div id="the-hardware" class="anchor"&gt;&lt;/div&gt;
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
&lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#the-hardware" aria-label="Anchor"&gt;#&lt;/a&gt;
&lt;/span&gt;
&lt;/h3&gt;
&lt;p&gt;Here&amp;rsquo;s a quick overview of my setup to provide some background:&lt;/p&gt;
&lt;p&gt;&lt;code&gt;Asus DSL-AC56U &amp;gt; Unifi Poe Switch &amp;gt; TP Link Powerline adapter &amp;gt; TP Link Powerline adapter &amp;gt; Server&lt;/code&gt;&lt;/p&gt;
&lt;h3 class="relative group"&gt;1st Problem
&lt;div id="1st-problem" class="anchor"&gt;&lt;/div&gt;
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
&lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#1st-problem" aria-label="Anchor"&gt;#&lt;/a&gt;
&lt;/span&gt;
&lt;/h3&gt;
&lt;p&gt;My k8s is setup to be the load balancer with ports &lt;code&gt;80&lt;/code&gt; and &lt;code&gt;443&lt;/code&gt; forwarding from the router to the internal IP. Home Assistant runs on it&amp;rsquo;s own VM. It is totally possible to use k8s to load balance an application not within k8s but it&amp;rsquo;s a bit hacky. I&amp;rsquo;ll probably end up writing another post on how I managed it.&lt;/p&gt;
&lt;p&gt;Once I got the magic out of the way with I now had it proxied through Traefik on &lt;code&gt;http://ha.example.com&lt;/code&gt; no SSL yet but that will come later. This is when I first noticed that I wasn&amp;rsquo;t able to log in. Accessing it through it&amp;rsquo;s internal IP address worked perfectly fine but on inspection of the web address assets were stalling on the way down. A simple &lt;code&gt;curl&lt;/code&gt; from dev machine shows that it downloads a chunk then pauses for ages before continuing, in my tests it took 10 minutes to fully download the file.&lt;/p&gt;
&lt;h3 class="relative group"&gt;Is it the hacky k8s load balancer thingy?
&lt;div id="is-it-the-hacky-k8s-load-balancer-thingy" class="anchor"&gt;&lt;/div&gt;
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
&lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#is-it-the-hacky-k8s-load-balancer-thingy" aria-label="Anchor"&gt;#&lt;/a&gt;
&lt;/span&gt;
&lt;/h3&gt;
&lt;p&gt;This was easy to test just deploy another application using Helm, in this case Grocy and point a domain to it. No such luck, assets are still stalling and taking forever to download rendering a modern web application useless.&lt;/p&gt;
&lt;h3 class="relative group"&gt;Is it Traefik?
&lt;div id="is-it-traefik" class="anchor"&gt;&lt;/div&gt;
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
&lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#is-it-traefik" aria-label="Anchor"&gt;#&lt;/a&gt;
&lt;/span&gt;
&lt;/h3&gt;
&lt;p&gt;I wondered if I&amp;rsquo;d not configured Traefik correctly. Microk8s comes with it&amp;rsquo;s own bundled Traefik which I removed and re-installed using Helm in order to access the dashboard. Thankfully it&amp;rsquo;s an easy thing to test, I replaced it with Nginx Ingress, while I was at it I installed and configured cert-bot to provide SSL certs for any future applications. So now HA is proxied to &lt;code&gt;https://ha.example.com&lt;/code&gt; through Nginx Ingress. No luck here still takes forever to download the JS file.&lt;/p&gt;
&lt;h3 class="relative group"&gt;Is it PiHole?
&lt;div id="is-it-pihole" class="anchor"&gt;&lt;/div&gt;
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
&lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#is-it-pihole" aria-label="Anchor"&gt;#&lt;/a&gt;
&lt;/span&gt;
&lt;/h3&gt;
&lt;p&gt;There&amp;rsquo;s a popular saying on /r/sysadmin that &amp;ldquo;it&amp;rsquo;s always DNS&amp;rdquo; it should be the first thing you check.&lt;/p&gt;
&lt;p&gt;I run two PiHole instances on this machine, one in k8s and one in a dedicated VM. I set my dev machines DNS to &lt;code&gt;1.1.1.1&lt;/code&gt; to see if that was the issue and nope. At some point I should change the DNS on the router and make sure k8s is using a public DNS just to fully cross this off my list.&lt;/p&gt;
&lt;h3 class="relative group"&gt;Is it k8s?
&lt;div id="is-it-k8s" class="anchor"&gt;&lt;/div&gt;
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
&lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#is-it-k8s" aria-label="Anchor"&gt;#&lt;/a&gt;
&lt;/span&gt;
&lt;/h3&gt;
&lt;p&gt;Maybe it&amp;rsquo;s some problem in the bowels of my k8s setup. Another easy test here. I span up a new VM installed nginx and Ghost blog through docker, changed the router forwarding IP to the VM and checked the domain. Nope still a problem, it doesn&amp;rsquo;t rule out ProxMox or the machine being an issue.&lt;/p&gt;
&lt;h3 class="relative group"&gt;Is it proxmox/the machine?
&lt;div id="is-it-proxmoxthe-machine" class="anchor"&gt;&lt;/div&gt;
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
&lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#is-it-proxmoxthe-machine" aria-label="Anchor"&gt;#&lt;/a&gt;
&lt;/span&gt;
&lt;/h3&gt;
&lt;p&gt;I&amp;rsquo;m sort of getting desperate now, I&amp;rsquo;d like things to be working properly so that I can carry on learning without having to worry about these issues but I&amp;rsquo;m not going to let this go. To test if it&amp;rsquo;s ProxMox or the machine I provisioned a spare Raspberry Pi, installed nginx and Ghost blog (in docker again) and re-routed the router connection to the Pi. Guess what it&amp;rsquo;s still an issue. That&amp;rsquo;s quite a relief since I don&amp;rsquo;t fancy having to buy a new server. Testing this also ruled out it being an issue with the powerline adapters since the Pi was plugged directly into the POE switch.&lt;/p&gt;
&lt;h3 class="relative group"&gt;Where next?
&lt;div id="where-next" class="anchor"&gt;&lt;/div&gt;
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
&lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#where-next" aria-label="Anchor"&gt;#&lt;/a&gt;
&lt;/span&gt;
&lt;/h3&gt;
&lt;p&gt;It&amp;rsquo;s on to the networking gear now. This is honestly where my knowledge gets sketchy, dealing with hardware and network hardware is out of my wheelhouse so it&amp;rsquo;s going to take a bit of time to figure out &lt;em&gt;how&lt;/em&gt; to test this stuff.&lt;/p&gt;
&lt;p&gt;Thanks for reading via RSS!&lt;/p&gt;
&lt;p&gt;Send me a message on &lt;a href="https://remotelab.uk/mikebell"&gt;Mastodon&lt;/a&gt; or &lt;a href="mailto:hello@mikebell.io"&gt;email me&lt;/a&gt;&lt;/p&gt;</description></item><item><title>I Should Add Thoughts</title><link>https://mikebell.io/posts/2021-01-07-i-should-add-thoughts/</link><pubDate>Thu, 07 Jan 2021 14:50:15 +0000</pubDate><author>hello@mikebell.io (Mike Bell)</author><guid>https://mikebell.io/posts/2021-01-07-i-should-add-thoughts/</guid><description>
&lt;p&gt;I should add thoughts to the site. Small form comments sort of like tweets&lt;/p&gt;
&lt;p&gt;Thanks for reading via RSS!&lt;/p&gt;
&lt;p&gt;Send me a message on &lt;a href="https://remotelab.uk/mikebell"&gt;Mastodon&lt;/a&gt; or &lt;a href="mailto:hello@mikebell.io"&gt;email me&lt;/a&gt;&lt;/p&gt;</description></item><item><title>Moving From Gatsby to Hugo</title><link>https://mikebell.io/posts/2020-11-11-moving-from-gatsby-to-hugo/</link><pubDate>Wed, 11 Nov 2020 12:59:46 +0000</pubDate><author>hello@mikebell.io (Mike Bell)</author><guid>https://mikebell.io/posts/2020-11-11-moving-from-gatsby-to-hugo/</guid><description>
&lt;p&gt;I&amp;rsquo;ve moved to Hugo after probably the shortest time with any site generator.&lt;/p&gt;
&lt;p&gt;Firstly I love to change the theme of blog I get blog envy quite easily these days. But I&amp;rsquo;m not a themer so I don&amp;rsquo;t attempt to create anything like what I see on other sites.&lt;/p&gt;
&lt;p&gt;Admittedly when I moved to GatsbyJS is was because of this starter theme - &lt;a href="https://github.com/alxshelepenok/gatsby-starter-lumen" target="_blank" rel="noreferrer"&gt;Gatsby Starter Lumen&lt;/a&gt; - it looks really good and is quite a smart theme. More importantly it has pretty good accessibility according to Lighthouse something that is a huge priority for me these days.&lt;/p&gt;
&lt;p&gt;The problem with the theme is it&amp;rsquo;s an all or nothing approach, you clone the theme make your config changes and then add your content. Not so good, I now have a customised version of a theme that is being regularly updated (a good thing!) but no way of cleanly applying my customisations and content over. I raised this &lt;a href="https://github.com/alxshelepenok/gatsby-starter-lumen/issues/788" target="_blank" rel="noreferrer"&gt;issue&lt;/a&gt; but there&amp;rsquo;s been no movement on it. I&amp;rsquo;m sure there is a smart way round this but I&amp;rsquo;m not familiar enough with NodeJS to wade too deep into it.&lt;/p&gt;
&lt;p&gt;So this is where Hugo comes in - it&amp;rsquo;s a Go binary that runs all most OSs and treats themes not as the end of the world but as a component of the overall site. My current theme is in fact a git submodule that I can update locally and then push the ref to to update it. Thankfully the frontmatter of most of the posts I&amp;rsquo;ve written was compatible so it was a drag and drop replacement.&lt;/p&gt;
&lt;p&gt;The deployment pipeline for this is still relatively similar as you can see &lt;a href="https://github.com/mikebell/mikebell.io/blob/master/.github/workflows/main.yml" target="_blank" rel="noreferrer"&gt;here&lt;/a&gt;. I&amp;rsquo;ve left in the old way of deploying as reference if anyone needs it for a Gatsby site.&lt;/p&gt;
&lt;p&gt;I&amp;rsquo;m super happy with Hugo so far especially:&lt;/p&gt;
&lt;div class="highlight-wrapper"&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-text" data-lang="text"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;hugo new posts/this-is-a-blog.md&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;Thanks for reading via RSS!&lt;/p&gt;
&lt;p&gt;Send me a message on &lt;a href="https://remotelab.uk/mikebell"&gt;Mastodon&lt;/a&gt; or &lt;a href="mailto:hello@mikebell.io"&gt;email me&lt;/a&gt;&lt;/p&gt;</description></item><item><title>My Keyboards Part 2</title><link>https://mikebell.io/posts/my-keyboards-pt2/</link><pubDate>Thu, 11 Jun 2020 00:00:00 +0000</pubDate><author>hello@mikebell.io (Mike Bell)</author><guid>https://mikebell.io/posts/my-keyboards-pt2/</guid><description>
&lt;p&gt;&lt;figure&gt;&lt;img
class="my-0 rounded-md"
loading="lazy"
decoding="async"
fetchpriority="low"
alt="All my keyboards"
src="https://i.imgur.com/Hns5IKU.png"
&gt;&lt;figcaption&gt;All my keyboards&lt;/figcaption&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;Time for an update on my keyboard collection! After &lt;a href="https://mikebell.io/posts/my-custom-keyboards" target="_blank" rel="noreferrer"&gt;part 1&lt;/a&gt; I&amp;rsquo;ve expanded the collection and gotten rid of a few.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Top left - YMD09 macro pad aka the zoom killer.&lt;/li&gt;
&lt;li&gt;Top - KBD75 - Gateron Browns, I&amp;rsquo;m typing this post on it right now.&lt;/li&gt;
&lt;li&gt;Middle - Winkeyless b.87 - Gateron Browns with Raindrop Round 2 on, this was my previous daily driver.&lt;/li&gt;
&lt;li&gt;Bottom - Iris - Zealios 67g and Gateron Browns, this is a keyboard I really should get used to using but just can&amp;rsquo;t.&lt;/li&gt;
&lt;li&gt;Right - Fourier - Gateron Blues, I need to put keycaps on and start using it.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;I really love everything about keyboards, they&amp;rsquo;re such an important part of my daily life as a DevOps Engineer. It&amp;rsquo;s taken me a while to get used to some of the layouts.&lt;/p&gt;
&lt;p&gt;My next build and hopefully final one is going go to be a Keeb.io Sinc, I suggest you check it out it looks awesome.&lt;/p&gt;
&lt;p&gt;In my last blog post I mentions building a Let&amp;rsquo;s Split, I joined a group buy on Reddit which didn&amp;rsquo;t go through and we all got ripped off when the runner just disappeared with the money. It sucks but that&amp;rsquo;s the risk you take, I know only buy from suppliers that I trust 100%.&lt;/p&gt;
&lt;p&gt;Thanks for reading via RSS!&lt;/p&gt;
&lt;p&gt;Send me a message on &lt;a href="https://remotelab.uk/mikebell"&gt;Mastodon&lt;/a&gt; or &lt;a href="mailto:hello@mikebell.io"&gt;email me&lt;/a&gt;&lt;/p&gt;</description></item><item><title>Upgrade to Gatsby and AWS</title><link>https://mikebell.io/posts/upgrade-to-gatsby-and-aws/</link><pubDate>Sun, 07 Jun 2020 00:00:00 +0000</pubDate><author>hello@mikebell.io (Mike Bell)</author><guid>https://mikebell.io/posts/upgrade-to-gatsby-and-aws/</guid><description>
&lt;p&gt;It&amp;rsquo;s been over a year since I last blogged, there are a number of reasons:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Broken realease pipeline (well not quite but it was messy)&lt;/li&gt;
&lt;li&gt;I wanted to move everything to docker&lt;/li&gt;
&lt;li&gt;I hated the way the blog looked&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;A few weeks ago I started to the move to GatsbyJS after a few false starts I finally got there. Once I had everything migrated including updating all the frontmatter (this took ages), I was ready to deploy it. I have multiple server on DigitalOcean all capable of hosting a static blog but decided that I wanted to offload everything to AWS to learn more about the tools available.&lt;/p&gt;
&lt;h2 class="relative group"&gt;The CD pipeline
&lt;div id="the-cd-pipeline" class="anchor"&gt;&lt;/div&gt;
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
&lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#the-cd-pipeline" aria-label="Anchor"&gt;#&lt;/a&gt;
&lt;/span&gt;
&lt;/h2&gt;
&lt;p&gt;Since mine was in a bit a state (Vault doesn&amp;rsquo;t auto unseal), I wanted to play around with other tools outside of Concourse.&lt;/p&gt;
&lt;p&gt;Firstly I started with AWS Codebuild, it&amp;rsquo;s a bit odd when you&amp;rsquo;re used to Concourse but there&amp;rsquo;s enough documentation out there to figure it all out. One of the blockers I found was that when running &lt;code&gt;npm build&lt;/code&gt; it wouldn&amp;rsquo;t pick up some of the folders. I never did get round to figuring out what the issue was with it so decided to abandon that and try Github Actions.&lt;/p&gt;
&lt;p&gt;With Github Actions it was dead easy to setup and the integrated secrets management was very nice, I really like what they&amp;rsquo;ve done with it and I&amp;rsquo;ll be interested in exploring more of what&amp;rsquo;s on offer there.&lt;/p&gt;
&lt;p&gt;So at the moment the blog automatically builds on every push to the repository. This is the flow:&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Push&lt;/strong&gt; &amp;gt; &lt;strong&gt;Github Actions Build&lt;/strong&gt; &amp;gt; &lt;strong&gt;Publish to S3&lt;/strong&gt; &amp;gt; &lt;strong&gt;Invalidate Cloudfront&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;I really like this workflow as it&amp;rsquo;s about as hands off as possible, this means I can just blog!&lt;/p&gt;
&lt;p&gt;If your interested in the build file it can be found &lt;a href="https://github.com/mikebell/mikebell.io/blob/master/.github/workflows/main.yml" target="_blank" rel="noreferrer"&gt;here&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Thanks for reading via RSS!&lt;/p&gt;
&lt;p&gt;Send me a message on &lt;a href="https://remotelab.uk/mikebell"&gt;Mastodon&lt;/a&gt; or &lt;a href="mailto:hello@mikebell.io"&gt;email me&lt;/a&gt;&lt;/p&gt;</description></item><item><title>Windows 10 isn't that bad to develop with</title><link>https://mikebell.io/posts/developing-in-windows-10/</link><pubDate>Wed, 13 Feb 2019 00:00:00 +0000</pubDate><author>hello@mikebell.io (Mike Bell)</author><guid>https://mikebell.io/posts/developing-in-windows-10/</guid><description>
&lt;p&gt;After upgrading to Windows 10 finally I figured I&amp;rsquo;d check out what it&amp;rsquo;s like developing on Windows 10 and to be honest it isn&amp;rsquo;t that bad.&lt;/p&gt;
&lt;h2 class="relative group"&gt;Windows Subsystem Linux
&lt;div id="windows-subsystem-linux" class="anchor"&gt;&lt;/div&gt;
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
&lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#windows-subsystem-linux" aria-label="Anchor"&gt;#&lt;/a&gt;
&lt;/span&gt;
&lt;/h2&gt;
&lt;p&gt;I installed the Ubuntu image and switch shell to ZSH. After importing all my dotfiles and setup from my Linux machine this works really well. A quick symlink form &lt;code&gt;~/Projects&lt;/code&gt; to &lt;code&gt;/mnt/c/Users/digital/Projects&lt;/code&gt; makes it really easy to open it up and then start working on a project. Even though I have git installed I still use it in the Ubuntu image, oh-my-zsh autocompletions are hard wired in my brain now and very hard to give up.&lt;/p&gt;
&lt;h2 class="relative group"&gt;Docker CE for Windows
&lt;div id="docker-ce-for-windows" class="anchor"&gt;&lt;/div&gt;
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
&lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#docker-ce-for-windows" aria-label="Anchor"&gt;#&lt;/a&gt;
&lt;/span&gt;
&lt;/h2&gt;
&lt;p&gt;This installed and worked fine straight off the bat. I run Powershell to interact with &lt;code&gt;docker&lt;/code&gt; and &lt;code&gt;docker compose&lt;/code&gt;. I&amp;rsquo;ve seen a few StackOverflow posts about running this directly inside Ubuntu WSL but haven&amp;rsquo;t gotten around to setting that up. Will be interesting to see how things work as I start introducing more complex network structures.&lt;/p&gt;
&lt;h2 class="relative group"&gt;Visual Studio Code
&lt;div id="visual-studio-code" class="anchor"&gt;&lt;/div&gt;
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
&lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#visual-studio-code" aria-label="Anchor"&gt;#&lt;/a&gt;
&lt;/span&gt;
&lt;/h2&gt;
&lt;p&gt;I really like this editor, it seems quite light and has a load of really good plugins that support my ever shifting development needs.&lt;/p&gt;
&lt;p&gt;So there it is developing in Windows 10 isn&amp;rsquo;t actually so bad after all.&lt;/p&gt;
&lt;p&gt;(You&amp;rsquo;ll still have to prise my KDE Plasma out of my cold dead hands though.)&lt;/p&gt;
&lt;p&gt;Thanks for reading via RSS!&lt;/p&gt;
&lt;p&gt;Send me a message on &lt;a href="https://remotelab.uk/mikebell"&gt;Mastodon&lt;/a&gt; or &lt;a href="mailto:hello@mikebell.io"&gt;email me&lt;/a&gt;&lt;/p&gt;</description></item><item><title>Deploying Jekyll with Concourse CI</title><link>https://mikebell.io/posts/deploying-jekyll-with-concourse-ci/</link><pubDate>Fri, 11 Jan 2019 00:00:00 +0000</pubDate><author>hello@mikebell.io (Mike Bell)</author><guid>https://mikebell.io/posts/deploying-jekyll-with-concourse-ci/</guid><description>
&lt;p&gt;Sometimes the best way of learning something is to just dive in and start using it. I find it really useful to pick an existing working implementation of something and the build it using something else. In this case it&amp;rsquo;s my blog build and deployment. This was working perfectly fine using docker and jenkins but I got tired of just how heavy Jenkins was.&lt;/p&gt;
&lt;p&gt;If you just want to now what the pipeline file looks like then check &lt;a href="https://github.com/mikebell/mikebell.io/blob/master/concourse.yml" target="_blank" rel="noreferrer"&gt;here&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Note: All secrets are handled using Vault, I&amp;rsquo;ll probably blog about that later.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;So let&amp;rsquo;s break this down piece by piece:&lt;/p&gt;
&lt;p&gt;Our first major part of the yaml file is the &lt;code&gt;resource_type&lt;/code&gt;:&lt;/p&gt;
&lt;div class="highlight-wrapper"&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-yaml" data-lang="yaml"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nt"&gt;resource_types&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;- &lt;span class="nt"&gt;name&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;rsync-resource&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;type&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;docker-image&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;source&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;repository&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;mrsixw/concourse-rsync-resource&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;tag&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;latest&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;This defines a new resource type that uses a docker image that contains &lt;code&gt;rsync&lt;/code&gt;. Since everything within Concourse is a container then running simple commands should be done this way as well.&lt;/p&gt;
&lt;p&gt;Next up is our &lt;code&gt;resources&lt;/code&gt; these are &amp;ldquo;things&amp;rdquo; we want the pipeline to use:&lt;/p&gt;
&lt;div class="highlight-wrapper"&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-yaml" data-lang="yaml"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nt"&gt;resources&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;- &lt;span class="nt"&gt;name&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;mikebell-io&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;type&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;git&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;source&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;branch&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;master&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;uri&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;https://github.com/mikebell/mikebell.io.git&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;- &lt;span class="nt"&gt;name&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;sync-resource&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;type&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;rsync-resource&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;source&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;server&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;mikebell.io&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;base_dir&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;/var/www/mikebell.io&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;user &lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;digital&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;private_key&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;((concourse-priv))&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;disable_version_slug&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="kc"&gt;true&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;In this case I define two &lt;code&gt;resources&lt;/code&gt; the git repo I want to pull from and the rysnc source and it&amp;rsquo;s configuration details. The bit marked &lt;code&gt;((concourse-priv))&lt;/code&gt; is a variable that&amp;rsquo;s grabbed from Vault.&lt;/p&gt;
&lt;p&gt;The next bit is the &lt;code&gt;jobs&lt;/code&gt; these are what they say on the tin, jobs to be run. This should be mostly familiar to anyone who&amp;rsquo;s worked with similar pipelines before like Drone or CircleCI.&lt;/p&gt;
&lt;div class="highlight-wrapper"&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-yaml" data-lang="yaml"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nt"&gt;jobs&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;- &lt;span class="nt"&gt;name&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;Build&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;public&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="kc"&gt;true&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;plan&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;- &lt;span class="nt"&gt;get&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;mikebell-io&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;trigger&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="kc"&gt;true&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;We have the name of the job, wether it&amp;rsquo;s publicly visible in the Concourse web interface and the first part of our plan. The &lt;code&gt;get&lt;/code&gt; specifies that I want Concourse to get the resource I&amp;rsquo;ve defined as &lt;code&gt;mikebell-io&lt;/code&gt;in this case it&amp;rsquo;s the git repo.&lt;/p&gt;
&lt;div class="highlight-wrapper"&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-yaml" data-lang="yaml"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;- &lt;span class="nt"&gt;task&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;Build site&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;config&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;platform&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;linux&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;inputs&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;- &lt;span class="nt"&gt;name&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;mikebell-io&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;outputs&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;- &lt;span class="nt"&gt;name&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;site&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;image_resource&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;type&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;docker-image&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;source&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;{&lt;span class="nt"&gt;repository&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;jekyll/builder}&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;run&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;slug&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;sh&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;args&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;- -&lt;span class="l"&gt;exc&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;- &lt;span class="p"&gt;|&lt;/span&gt;&lt;span class="sd"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="sd"&gt; ls -lash
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="sd"&gt; chown jekyll:jekyll site
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="sd"&gt; jekyll build -s mikebell-io -d site&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;Here we have the meat of the pipeline the commands we want to run inside our docker container which in this case is the jekyll builder image. Rather than running the default entry point of the image I had to specify a few shell commands so that I could correctly get the site built and it&amp;rsquo;s output in the correct place. In Concourse &lt;code&gt;inputs&lt;/code&gt; and &lt;code&gt;outputs&lt;/code&gt; can&amp;rsquo;t share the same entry point so instead of the usual Jekyll building inside the main path I had to build outside.&lt;/p&gt;
&lt;div class="highlight-wrapper"&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-yaml" data-lang="yaml"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;- &lt;span class="nt"&gt;put&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;sync-resource&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;params&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;{&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;CONCOURSEPRIV&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;((concourse-priv)),&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;&amp;#34;sync_dir&amp;#34;: &lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;site&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;The last part of the file is the &lt;code&gt;put&lt;/code&gt; this tells concourse to use the resource that I setup (the rsync image with it&amp;rsquo;s base configuration) and then pass in some extra run time parameters.&lt;/p&gt;
&lt;p&gt;All of this took some time to piece together from various sources around the internet so I hope it helps someone else in the future.&lt;/p&gt;
&lt;p&gt;One thing I&amp;rsquo;m going to look at is making the deployment part a seperate task, it&amp;rsquo;s probably bad form to include the deploy inside the build step.&lt;/p&gt;
&lt;p&gt;Thanks for reading via RSS!&lt;/p&gt;
&lt;p&gt;Send me a message on &lt;a href="https://remotelab.uk/mikebell"&gt;Mastodon&lt;/a&gt; or &lt;a href="mailto:hello@mikebell.io"&gt;email me&lt;/a&gt;&lt;/p&gt;</description></item><item><title>Goodby 2018, Hello 2019</title><link>https://mikebell.io/posts/goodbye-2018-hello-2019/</link><pubDate>Wed, 09 Jan 2019 00:00:00 +0000</pubDate><author>hello@mikebell.io (Mike Bell)</author><guid>https://mikebell.io/posts/goodbye-2018-hello-2019/</guid><description>
&lt;p&gt;Hello!&lt;/p&gt;
&lt;p&gt;It&amp;rsquo;s taken me a while to get round to writing something down, partly because I don&amp;rsquo;t know what to write and partly becuase I wanted to switch CI tools since I removed Jenkins from my production environment.&lt;/p&gt;
&lt;p&gt;This post is kind of a run down on 2018 and stuff I&amp;rsquo;ll be doing this year. I&amp;rsquo;ll split it into sections so it&amp;rsquo;s easier to skip around if you don&amp;rsquo;t want to read boring things.&lt;/p&gt;
&lt;h2 class="relative group"&gt;Bye Bye Drupal
&lt;div id="bye-bye-drupal" class="anchor"&gt;&lt;/div&gt;
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
&lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#bye-bye-drupal" aria-label="Anchor"&gt;#&lt;/a&gt;
&lt;/span&gt;
&lt;/h2&gt;
&lt;p&gt;I&amp;rsquo;ve finally made the switch out of Drupal into DevOps. The rate at which project requirements change and technology as well means that it&amp;rsquo;s time to switch things up. I&amp;rsquo;m also bored with it, after 10 years of building sites I don&amp;rsquo;t find using Drupal interesting anymore. Drupal always seems so slow to make changes and I&amp;rsquo;d rather do things that I really enjoy.&lt;/p&gt;
&lt;h2 class="relative group"&gt;Hello DevOps
&lt;div id="hello-devops" class="anchor"&gt;&lt;/div&gt;
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
&lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#hello-devops" aria-label="Anchor"&gt;#&lt;/a&gt;
&lt;/span&gt;
&lt;/h2&gt;
&lt;p&gt;It&amp;rsquo;s fun, learning new tools and fitting things together like a massive jigsaw puzzle is great. I&amp;rsquo;m also really interesting in seeing tools mature and find their place in the DevOps ecosystem.&lt;/p&gt;
&lt;p&gt;One of the reasons for not blogging much is that I&amp;rsquo;ve not been happy with how the blog has been built and deployed. CI and CD is such an important chain in the development process, getting it right is hard.&lt;/p&gt;
&lt;h3 class="relative group"&gt;Moving from Jenkins
&lt;div id="moving-from-jenkins" class="anchor"&gt;&lt;/div&gt;
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
&lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#moving-from-jenkins" aria-label="Anchor"&gt;#&lt;/a&gt;
&lt;/span&gt;
&lt;/h3&gt;
&lt;p&gt;Jenkins has been a great tool for many years, I&amp;rsquo;ve pushed my instances out to production for a wide range of clients and it&amp;rsquo;s worked out really well but the support for pipelines as code has always been a bit odd. The declarative syntax is ok but finding documentation for some of the more obscure tasks is annoyingly hard. Another contributing factor is that log rotation was broken in a release at some point which brought down two of my production instances (annoying ones I wasn&amp;rsquo;t monitoring in Zabbix).&lt;/p&gt;
&lt;h3 class="relative group"&gt;CI/CD Evaluation
&lt;div id="cicd-evaluation" class="anchor"&gt;&lt;/div&gt;
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
&lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#cicd-evaluation" aria-label="Anchor"&gt;#&lt;/a&gt;
&lt;/span&gt;
&lt;/h3&gt;
&lt;p&gt;I&amp;rsquo;ve been evaluating a number of different applications to replace Jenkins, for personal use I&amp;rsquo;ve settled on Concourse CI, for client work I&amp;rsquo;m using Drone on AWS with the intention of replacing it. I find Concourse CI to be a perfect mix of abstraction and management, it&amp;rsquo;s CLI tool &lt;code&gt;fly&lt;/code&gt; is great for testing a pipeline without commiting it. I&amp;rsquo;ll be publishing another blog post soon on how I deploy this blog.&lt;/p&gt;
&lt;h3 class="relative group"&gt;Docker
&lt;div id="docker" class="anchor"&gt;&lt;/div&gt;
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
&lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#docker" aria-label="Anchor"&gt;#&lt;/a&gt;
&lt;/span&gt;
&lt;/h3&gt;
&lt;p&gt;Docker is such a large part of the future of deploying and building applications that I&amp;rsquo;m afraid I came to the party a bit late. Thankfully I&amp;rsquo;m getting a lot of hands on experience and more importantly enjoying using it for projects. Over 2019 I&amp;rsquo;ll be replacing the server this blog runs on and rebuilding it with everything running in containers hopefully inside Kubernetes.&lt;/p&gt;
&lt;h2 class="relative group"&gt;Python and PHP
&lt;div id="python-and-php" class="anchor"&gt;&lt;/div&gt;
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
&lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#python-and-php" aria-label="Anchor"&gt;#&lt;/a&gt;
&lt;/span&gt;
&lt;/h2&gt;
&lt;p&gt;While I&amp;rsquo;ve stopped using Drupal I&amp;rsquo;ve not stopped using PHP, I&amp;rsquo;m finally losing many Drupalisms when building small microservices. Laravel and Lumen are my go to tools for building prototypes and small applications now. I&amp;rsquo;ve also put more time into Python using Flask to quickly spin up test APIs and building simple tools to make my life a bit easier like &lt;a href="https://github.com/mikebell/daylio-to-sqlite" target="_blank" rel="noreferrer"&gt;dalyio-to-sqlite&lt;/a&gt;.&lt;/p&gt;
&lt;h2 class="relative group"&gt;Mental Health
&lt;div id="mental-health" class="anchor"&gt;&lt;/div&gt;
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
&lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#mental-health" aria-label="Anchor"&gt;#&lt;/a&gt;
&lt;/span&gt;
&lt;/h2&gt;
&lt;p&gt;Overall my mental health has been pretty good, still on the same medication (Citalopram 20mg) and going to therapy. I&amp;rsquo;ve cut down my therapy sessions from weekly to bi-weekly and will be going to once a month starting this year. I had a self harm relapse earlier last year but I didn&amp;rsquo;t manage to do any harm which was good. Things are still up and down but I&amp;rsquo;ve learnt that it&amp;rsquo;s normal.&lt;/p&gt;
&lt;p&gt;A huge thanks to my parents, lovely wife, Mark &amp;amp; Gem for being there even if they didn&amp;rsquo;t realise it!&lt;/p&gt;
&lt;p&gt;I&amp;rsquo;ve spent a large amount of time looking back over the past few years and how I handled mental health as a whole and learnt quite a bit about it. I used to talk a lot in public about it but I&amp;rsquo;ve made the decision to stop in 2018 and that&amp;rsquo;s something I&amp;rsquo;m pleased with. I don&amp;rsquo;t intend to put any talks out there on mental health for the forseeable future, instead I want to put that energy into other areas.&lt;/p&gt;
&lt;h2 class="relative group"&gt;Public Speaking
&lt;div id="public-speaking" class="anchor"&gt;&lt;/div&gt;
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
&lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#public-speaking" aria-label="Anchor"&gt;#&lt;/a&gt;
&lt;/span&gt;
&lt;/h2&gt;
&lt;p&gt;2019 is the year I want to get back into the game! I&amp;rsquo;m not sure how or where yet but will be spending more time putting together talk ideas and fleshing them out. There are so many cool conferences out there now that it&amp;rsquo;d be awesome to go and speak at them. Current ideas are:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Failing fast in infrastructure&lt;/li&gt;
&lt;li&gt;Building a companies IT infrastructure from scratch&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 class="relative group"&gt;Holidays
&lt;div id="holidays" class="anchor"&gt;&lt;/div&gt;
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
&lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#holidays" aria-label="Anchor"&gt;#&lt;/a&gt;
&lt;/span&gt;
&lt;/h2&gt;
&lt;p&gt;More of them and in warmer climates, Spain was amazing last year and I&amp;rsquo;d love to explore more of it.&lt;/p&gt;
&lt;p&gt;Anyway that&amp;rsquo;s about it for now. Hopefully if everything is working then my CD pipeline will publish this when I push it up to github and then IFTTT will publish it to twitter.&lt;/p&gt;
&lt;p&gt;Here&amp;rsquo;s a picture of me looking happy!&lt;/p&gt;
&lt;p&gt;&lt;figure&gt;&lt;img
class="my-0 rounded-md"
loading="lazy"
decoding="async"
fetchpriority="low"
alt="Me looking happy"
src="https://lh3.googleusercontent.com/tKWk1CjHTnc6fKLwFdgUlS49ZzNKNVP1qLn7UQP5WsSUGfaraWMmBqakfYltjUs19iLjy1JiHL-_A3U_rvsWn7vcdSHUgi2vi7iGt1Fn9y1SIJS4j5jbyaF5JB3ZpQoCg4piwNuCsqdSiiLDhGqV0POtBrI10DRkufJ2rsewhu-BTUs80DyKz46CMoe31Oiv6JA88Hm59sigD0AcZJLuGvavAfrOs2ggWsgQy8ZB0jLfQddypJ7K50fAPZ0P8q6i-kIua0m0mtYfIRS8G6v_0lI0WWYBt8aTz6TUrblwKeSs5gE1tn1ofbxij-tLuIo30nZE0v1bNhci0HrgWCjpCqwEG19PIQs8ZzMJQBQzEJ524pVgSibHHn9dsZ6u-kQaG_qIAI8vW4CQwSGdD3vvA-0JjlbfOYuSd6xWDy8AM1gKVg7gumAmOu98inYAi10QGalVHiKDu5mIEncgicNq4OjSGPwfUA2iJQUNv0KF6HIVCljX8H_Iogtmj1rP02vIPEfP0es3jjxgYSIXGqbDDRCmFFdWHnC7_Qowelgh1RKYKLR6TUYjpXFzgEZXbU_rYORom7E9KTuWSJ5LX3A5aZ3Q1WAJAna50hrCikYXjRw1uW1HYEiYymgjybffeUTHsHkfE4ULWaZaanmCmHIxY0iq=w1423-h1067-no"
&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;Thanks for reading via RSS!&lt;/p&gt;
&lt;p&gt;Send me a message on &lt;a href="https://remotelab.uk/mikebell"&gt;Mastodon&lt;/a&gt; or &lt;a href="mailto:hello@mikebell.io"&gt;email me&lt;/a&gt;&lt;/p&gt;</description></item><item><title>My Mind and Me</title><link>https://mikebell.io/posts/my-mind-and-me/</link><pubDate>Fri, 13 Jul 2018 00:00:00 +0000</pubDate><author>hello@mikebell.io (Mike Bell)</author><guid>https://mikebell.io/posts/my-mind-and-me/</guid><description>
&lt;p&gt;Below is an update I posted to Convivio and my familly whatsapp group. Parts are redacted.&lt;/p&gt;
&lt;p&gt;I haven&amp;rsquo;t really checked in with you all in a while so figured I would give an update on how I am.&lt;/p&gt;
&lt;p&gt;On the whole I&amp;rsquo;m feeling much better, the medication seems to be working really well. I&amp;rsquo;ve resigned myself to the fact that I&amp;rsquo;ll be taking it for a long time which is fine as long as it keeps working.&lt;/p&gt;
&lt;p&gt;Therapy is proving to be a really good outlet for me and discussing how I feel and the problems I face. I feel like there are two mes at the moment, the old and the new. The new feels a lot better and more capable of handling things life throws at me. The best way I can explain it is that if my old baseline mood was constantly a 3/4 out of 10 then my new baseline mood is 6/7. This is taking some getting used to since I can&amp;rsquo;t help but feel that it&amp;rsquo;ll all come crashing down at some point, it&amp;rsquo;s something I&amp;rsquo;m working on.&lt;/p&gt;
&lt;p&gt;Work has been a huge factor in my mental health something that I&amp;rsquo;ve been focusing a lot on. Trying to differentiate between what&amp;rsquo;s a good day and a bad day. Yesterday was a perfect example of how my brain struggles to handle things like this.&amp;quot;&lt;SNIP&gt;&amp;quot;. In the end I had a really good day and it was positive and I felt good. Good is an odd concept that takes some getting used to. 9 time out of 10 if Han was to ask if I&amp;rsquo;ve had a good day at work I&amp;rsquo;d say no because my brain was conditioned that way. Now it&amp;rsquo;s not the case.&lt;/p&gt;
&lt;p&gt;The phased return to work has been great, it&amp;rsquo;s eased me back into things and got me going steadily. It also means I can handle things a lot better, honestly by the time I&amp;rsquo;ve finished 2/3 days work I&amp;rsquo;m exhausted, I&amp;rsquo;m not really sure why but I think there is some correlation between having a clearer head and CFS.&lt;/p&gt;
&lt;p&gt;I&amp;rsquo;m working on seeing the good and positive things in life, learning how to be excited again and the differentiation between anxiety and that excitement. I have good and bad days still but that&amp;rsquo;s normal and something I need to settle in, everyday is no longer just bad. The next hurdle is removing the concept of old and new me.&lt;/p&gt;
&lt;p&gt;I&amp;rsquo;m just me and that&amp;rsquo;s ok.&lt;/p&gt;
&lt;p&gt;Thanks for reading via RSS!&lt;/p&gt;
&lt;p&gt;Send me a message on &lt;a href="https://remotelab.uk/mikebell"&gt;Mastodon&lt;/a&gt; or &lt;a href="mailto:hello@mikebell.io"&gt;email me&lt;/a&gt;&lt;/p&gt;</description></item><item><title>The Narrative</title><link>https://mikebell.io/posts/the-narrative/</link><pubDate>Sun, 14 Jan 2018 00:00:00 +0000</pubDate><author>hello@mikebell.io (Mike Bell)</author><guid>https://mikebell.io/posts/the-narrative/</guid><description>
&lt;p&gt;When I look at my arm I hate it, it doesn&amp;rsquo;t feel a part of my body, the scars are a constant reminder that I went through a dark time and it&amp;rsquo;s something that makes me feel angry and ashamed. Living with this is something I&amp;rsquo;m struggling with at the moment. I hate having to keep my arm covered all the time it&amp;rsquo;s frustrating since I really don&amp;rsquo;t like having my forearms covered at all.&lt;/p&gt;
&lt;p&gt;I&amp;rsquo;ve been exploring the reasons behind why I feel like this and come to the conclusion that it&amp;rsquo;s the narrative that is the problem. When you see someone for the first time you automatically form an opinion on that person it all happens in a split second. In that moment you&amp;rsquo;ve already gathered as much information to form your view of that person, this includes body image, posture and facial expressions. So from my perspective me showing my arm now effects that initial narrative.&lt;/p&gt;
&lt;p&gt;The stigma behind self harm forces people into a certain way of thinking. I can&amp;rsquo;t control that and that&amp;rsquo;s the issue, my inability to project the appearance I want. I&amp;rsquo;ve been running through scenarios in my head on how situation will go and I feel that any respect and authority I have is eroded by the scars on my arm. Think for a second if you were in my shoes, you enter a meeting clients who are expecting you to be the expert and authoritative figure on what your discussing. For me my confidence is gone the second people might see my arm. This could be applied to so many different situations.&lt;/p&gt;
&lt;p&gt;Changing the narrative is something I&amp;rsquo;m trying to figure out at the moment, it&amp;rsquo;s really difficult. At the moment I&amp;rsquo;m trying to reduce the scarring using Bio Oil but I&amp;rsquo;ve had to stop because I&amp;rsquo;ve aggravated it. I&amp;rsquo;m trying to work up the guts to get a tattoo but even though I did cut my arm I&amp;rsquo;m actually petrified of any pain. I think a tattoo is the right route to go but I&amp;rsquo;m not sure I&amp;rsquo;m ready for it yet. With a tattoo I can have something that I&amp;rsquo;m happy to show people. That shameful feeling will be replaced by pride, the feeling that I&amp;rsquo;ve come through the other side and have this image that means something (current ideas float between a wolf or badger). The scars will still be visible but with a tattoo I can change the narrative when I see people, I think that&amp;rsquo;s my next step in recovering.&lt;/p&gt;
&lt;p&gt;Thanks for reading via RSS!&lt;/p&gt;
&lt;p&gt;Send me a message on &lt;a href="https://remotelab.uk/mikebell"&gt;Mastodon&lt;/a&gt; or &lt;a href="mailto:hello@mikebell.io"&gt;email me&lt;/a&gt;&lt;/p&gt;</description></item><item><title>My Support Network</title><link>https://mikebell.io/posts/my-support-network/</link><pubDate>Fri, 22 Dec 2017 00:00:00 +0000</pubDate><author>hello@mikebell.io (Mike Bell)</author><guid>https://mikebell.io/posts/my-support-network/</guid><description>
&lt;p&gt;One of the things I&amp;rsquo;ve found quite hard to accept is how awesome my support network has been over the past few months.&lt;/p&gt;
&lt;p&gt;Hannah - She&amp;rsquo;s taken days of work to sit with me and keep me company when times were the darkest, she&amp;rsquo;s looked after me in so many different and amazing ways. She&amp;rsquo;s fattened me up on sweets when I&amp;rsquo;ve been unable to eat and provided an endless supply of tea even if she&amp;rsquo;s still got a way to go when it comes to brewing properly!&lt;/p&gt;
&lt;p&gt;Parents - My mums also taken time off to come see me and take me to their new home for a few days of escape. My dad has been there to talk to even if he&amp;rsquo;s not fully understood what I&amp;rsquo;ve been going through. Both are always there to look after me if needed.&lt;/p&gt;
&lt;p&gt;Friends - There have been a few people who I&amp;rsquo;ve told about things before I started blogging about it and they&amp;rsquo;ve always been there if I&amp;rsquo;ve needed. The feedback I&amp;rsquo;ve had from people over the past few days about my posts have been great and I&amp;rsquo;ve found it quite difficult to think of an adequate response to messages.&lt;/p&gt;
&lt;p&gt;Work - All my colleagues have been really great at providing all the support I&amp;rsquo;ve needed. They&amp;rsquo;ve allowed me to have as much time off as I&amp;rsquo;ve needed (at full pay as well) without the need for a sick note (something my doctor couldn&amp;rsquo;t get her head around). They&amp;rsquo;ve supported my phased return and made considerations for easing me back into work. Both our company retreat (which I couldn&amp;rsquo;t make) and Christmas get together were in locations that were really close to me so I didn&amp;rsquo;t have to travel far, this came at the expense of the others having much longer journeys.&lt;/p&gt;
&lt;p&gt;Therapist - My therapist is great, I get exactly the type of therapy that I need and it allows me to explore my thoughts and emotions without having to worry about being judged by family or friends.&lt;/p&gt;
&lt;p&gt;Overall I&amp;rsquo;m pretty damned lucky to have the best support network I could hope for. withouth them I don&amp;rsquo;t think I&amp;rsquo;d be as recovered as much as I am.&lt;/p&gt;
&lt;p&gt;Thanks for reading via RSS!&lt;/p&gt;
&lt;p&gt;Send me a message on &lt;a href="https://remotelab.uk/mikebell"&gt;Mastodon&lt;/a&gt; or &lt;a href="mailto:hello@mikebell.io"&gt;email me&lt;/a&gt;&lt;/p&gt;</description></item><item><title>It Gets Better</title><link>https://mikebell.io/posts/it-gets-better/</link><pubDate>Tue, 19 Dec 2017 00:00:00 +0000</pubDate><author>hello@mikebell.io (Mike Bell)</author><guid>https://mikebell.io/posts/it-gets-better/</guid><description>
&lt;p&gt;After &lt;a href="https://mikebell.io/It-got-bad-then-worse/" target="_blank" rel="noreferrer"&gt;this&lt;/a&gt; post I figured I should write more since I&amp;rsquo;ve always found it cathartic.&lt;/p&gt;
&lt;p&gt;The support I&amp;rsquo;ve had since I published it has been amazing, thanks to everyone who got in touch on twitter and other means, I&amp;rsquo;m sorry I&amp;rsquo;ve not replied yet but it&amp;rsquo;s a bit overwhelming and I&amp;rsquo;m honestly not sure what I can say.&lt;/p&gt;
&lt;p&gt;Talking about these things has always been something I&amp;rsquo;ve wanted to do, I believe that by talking about them it brings them to a wider audience and hopefully helps people to feel like they&amp;rsquo;re not alone. Self harm is something that I will have to deal with for a very long time, the scars are visible and a constant reminder of how dark things got.&lt;/p&gt;
&lt;p&gt;I wanted to believe that my mental health issues were a one off thing, after every dark patch I swear it will be my last but I know now that it won&amp;rsquo;t be and the most important thing is how I handle it.&lt;/p&gt;
&lt;p&gt;My relationship with alcohol is something I&amp;rsquo;ve had to put under the microscope, I love beer, not in a 12 pack of Carlsberg on a Tuesday night love but a hunting around for an obscure yet delicious beer by a brewery that I&amp;rsquo;ve never heard of. I&amp;rsquo;ve made it no secret to my colleagues that I&amp;rsquo;d love to someday work in the beer industry, maybe one day we&amp;rsquo;ll pivot into a hipster brewery. Drinking on my own is something that I can&amp;rsquo;t do anymore, I can&amp;rsquo;t trust myself to control my intake and it&amp;rsquo;s sodding expensive. This means that I no longer drink in the house alone, I&amp;rsquo;m free to have a beer if my wife is around and I&amp;rsquo;m looking forward to sharing her now quite impressive Imperial Stout collection I&amp;rsquo;ve built for her. Drinking in good company is fine, I love the social aspect of it and I&amp;rsquo;m always willing to share beer with others to discover something amazing. Beer I don&amp;rsquo;t like should be a sink pour, if it doesn&amp;rsquo;t taste nice then bin it.&lt;/p&gt;
&lt;p&gt;Regular therapy over the past few months has been something that I don&amp;rsquo;t think I could have managed without. The main thing I&amp;rsquo;ve found is to get out of the whole push towards CBT and Mindfulness, while they&amp;rsquo;re great techniques, I&amp;rsquo;m aware of them and practice them on a daily basis. Therapy for me is about understanding how I feel and the triggers for that. I&amp;rsquo;ve found I struggle a lot with work related thoughts stemming back from working in horrrible environments when I first started, also I&amp;rsquo;ve found it very hard to let go of a wide range of events in my life. Being able to talk about these has opened up avenues of thought which I&amp;rsquo;d never have thought possible.&lt;/p&gt;
&lt;p&gt;Some of the next steps towards recovery is to spend more time with family and friends, I&amp;rsquo;ve neglected them a lot recently and would love to spend more time out and about.&lt;/p&gt;
&lt;p&gt;Holidays is something that I want to do more of, it means I need to be more careful with money and start saving up for big holidays throughout the year. I&amp;rsquo;d love to spend time in Asia and Australia. I&amp;rsquo;d also love to go back to Austria and spend as much time as possible working and playing in the snow.&lt;/p&gt;
&lt;p&gt;Once my arm is fully healed I&amp;rsquo;ll be looking for a tattoo to cover the scars, I&amp;rsquo;ve been putting it off for too long (I&amp;rsquo;m a huge wuss). I&amp;rsquo;m a huge fan of geometric tattoos so will be looking for something along those lines.&lt;/p&gt;
&lt;p&gt;Things are getting better. It does get better.&lt;/p&gt;
&lt;p&gt;Thanks for reading via RSS!&lt;/p&gt;
&lt;p&gt;Send me a message on &lt;a href="https://remotelab.uk/mikebell"&gt;Mastodon&lt;/a&gt; or &lt;a href="mailto:hello@mikebell.io"&gt;email me&lt;/a&gt;&lt;/p&gt;</description></item><item><title>It got bad then worse</title><link>https://mikebell.io/posts/it-got-bad-then-worse/</link><pubDate>Mon, 18 Dec 2017 00:00:00 +0000</pubDate><author>hello@mikebell.io (Mike Bell)</author><guid>https://mikebell.io/posts/it-got-bad-then-worse/</guid><description>
&lt;p&gt;I&amp;rsquo;ve always tried to be open and public about my dealings with mental health which is why this post is probably the hardest I&amp;rsquo;ve ever written.&lt;/p&gt;
&lt;p&gt;It started a few months ago when I noticed that stress from work was building up to a point where I couldn&amp;rsquo;t handle it anymore, depression and anxiety hit hard and I lost control again. While not as bad as my first breakdown what happened after was the worst experience of my life.&lt;/p&gt;
&lt;p&gt;When I knew things had got to breaking point I packed myself off to the doctors to get some help, this time it was in the form of medication since I&amp;rsquo;d been seeing a private therapist in Leeds and planned to see a new one in Manchester. I was perscribed Sertraline since I struggled with the last time I had Citalopram and Propranalol.&lt;/p&gt;
&lt;p&gt;I started off on a fairly low dosage - 50mg.&lt;/p&gt;
&lt;p&gt;The following side effects are considered common (&lt;a href="https://beta.nhs.uk/medicines/sertraline/%29" target="_blank" rel="noreferrer"&gt;https://beta.nhs.uk/medicines/sertraline/)&lt;/a&gt;:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;feeling sick - check, luckily after years of stomach problems I can handle severe nausea.&lt;/li&gt;
&lt;li&gt;headache - check, it messes with the blood vessels in your eye so it feels like they&amp;rsquo;re being squeezed.&lt;/li&gt;
&lt;li&gt;being unable to sleep - check, slept patchy for a good few weeks steadily getting better.&lt;/li&gt;
&lt;li&gt;feeling sleepy - check, although I&amp;rsquo;m always tired (CFS sucks).&lt;/li&gt;
&lt;li&gt;diarrhoea - not yet but I&amp;rsquo;ll come to that later.&lt;/li&gt;
&lt;li&gt;dry mouth - check, so much water was drunk!&lt;/li&gt;
&lt;li&gt;dizziness - check, coupled with the eye thing it was horrible&lt;/li&gt;
&lt;li&gt;feeling tired or weak - check but I guess that&amp;rsquo;s because I wasn&amp;rsquo;t sleeping&lt;/li&gt;
&lt;li&gt;in men, problems ejaculating - no comment.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;So overall I started having a pretty crappy time on them.&lt;/p&gt;
&lt;p&gt;There&amp;rsquo;s also a set of less common side effects:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;thoughts about harming yourself or ending your life&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;I&amp;rsquo;ve never had thoughts about self harm before let alone gone through with it.&lt;/p&gt;
&lt;p&gt;My wife was away for the night so my usual ritual is get a few beers in and settle in for a late night of gaming. A few beers in I started feeling extremely depressed, I lost control of how much I was drinking and moved on to whisky. Around 10pm I knew I was going to hurt myself. I went downstairs and grabbed a knife from the kitchen and took it into my office. It sat on my desk for two hours while I drank whisky and slowly got worse. It wasn&amp;rsquo;t a matter of should I do it was &lt;em&gt;when&lt;/em&gt; should I do it. I tried to message my family but they were all in bed by midnight. I started to cry and beg myself not to do it but I knew that wouldn&amp;rsquo;t work. I then started to cut the top of my arm. The knife wasn&amp;rsquo;t sharp enough so I only ended up scratching the surface. I was distraught I needed to feel relief so I grabbed my razor and broke it apart and started again, this time it worked and I managed to cut all the way down my arm multiple times.&lt;/p&gt;
&lt;p&gt;It&amp;rsquo;s not something I&amp;rsquo;m proud of doing and the subsequent times I&amp;rsquo;ve harmed since have felt horrific. I&amp;rsquo;m still scared of that feeling that it&amp;rsquo;s not if but when.&lt;/p&gt;
&lt;p&gt;My arm is now scarred and there are patches that still haven&amp;rsquo;t healed fully. I&amp;rsquo;m ashamed to show my left arm in public now which drives me crazy because I hate having it covered.&lt;/p&gt;
&lt;p&gt;The day after I went back to the doctors and they doubled my dose of Sertraline (to 100mg).&lt;/p&gt;
&lt;p&gt;I started seeing a therapist regularly after that, I knew what I had done couldn&amp;rsquo;t happen again for the sake of my life and family. I&amp;rsquo;ve managed to curb thoughts of self harm now but it&amp;rsquo;s always there at the back of my mind.&lt;/p&gt;
&lt;p&gt;After a few weeks of taking the higher dosage I started to get severe dhiarrhoea, 5, 6, 7 times a day. Any mental recovery I&amp;rsquo;d done was undone by not being able to leave the house and the constant rushing to the bathroom, it left me mentally and physically drained. After 2 weeks of this I decided to stop the medication completely. Finally after 2 full weeks of being clean (4 weeks of none stop toilet trips) of it my bowels are finally healthy again and I can go back to living my life outside the confines of a bathroom.&lt;/p&gt;
&lt;p&gt;Through all of this I&amp;rsquo;ve had so much support from my wife and family. I have a great therapist who I&amp;rsquo;m seeing regular and I have support mechanisms in place to help when this get bad.&lt;/p&gt;
&lt;p&gt;Hopefully for anyone who&amp;rsquo;s wondered where I&amp;rsquo;ve been for the past few months this should explain that. I&amp;rsquo;ve pretty much stopped using twitter now but will push this out on there, if I can disable disqus on this post then I will.&lt;/p&gt;
&lt;p&gt;Thanks for reading via RSS!&lt;/p&gt;
&lt;p&gt;Send me a message on &lt;a href="https://remotelab.uk/mikebell"&gt;Mastodon&lt;/a&gt; or &lt;a href="mailto:hello@mikebell.io"&gt;email me&lt;/a&gt;&lt;/p&gt;</description></item><item><title>Dripster Review</title><link>https://mikebell.io/posts/dripster-review/</link><pubDate>Thu, 03 Aug 2017 00:00:00 +0000</pubDate><author>hello@mikebell.io (Mike Bell)</author><guid>https://mikebell.io/posts/dripster-review/</guid><description>
&lt;p&gt;After a recent trip to St Ives and the wonderful &lt;a href="https://www.instagram.com/mountzioncoffee/" target="_blank" rel="noreferrer"&gt;Mount Zion&lt;/a&gt; coffee I&amp;rsquo;ve decided to step up my game and buy some new toys for the kitchen.&lt;/p&gt;
&lt;p&gt;First up is a timer - One of the things I learnt while in St Ives was the importance of draw down time. Too long and the coffee is over extracted too short and it&amp;rsquo;s under. Both very important. The difference is like night and day and it&amp;rsquo;s made me start brewing V60 again after a long break from it.&lt;/p&gt;
&lt;p&gt;Second is a bamboo stirer - Not really much to say here, it&amp;rsquo;s used to alter the draw down time in the V60, I was using an Aeropress one but it felt too big for the V60.&lt;/p&gt;
&lt;p&gt;Third and most awesome is a &lt;a href="http://dripster.de/en/" target="_blank" rel="noreferrer"&gt;Dripster&lt;/a&gt;&lt;/p&gt;
&lt;blockquote class="instagram-media" data-instgrm-captioned data-instgrm-version="7" style=" background:#FFF; border:0; border-radius:3px; box-shadow:0 0 1px 0 rgba(0,0,0,0.5),0 1px 10px 0 rgba(0,0,0,0.15); margin: 1px; max-width:658px; padding:0; width:99.375%; width:-webkit-calc(100% - 2px); width:calc(100% - 2px);"&gt;&lt;div style="padding:8px;"&gt; &lt;div style=" background:#F8F8F8; line-height:0; margin-top:40px; padding:50% 0; text-align:center; width:100%;"&gt; &lt;div style=" background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACwAAAAsCAMAAAApWqozAAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAAAMUExURczMzPf399fX1+bm5mzY9AMAAADiSURBVDjLvZXbEsMgCES5/P8/t9FuRVCRmU73JWlzosgSIIZURCjo/ad+EQJJB4Hv8BFt+IDpQoCx1wjOSBFhh2XssxEIYn3ulI/6MNReE07UIWJEv8UEOWDS88LY97kqyTliJKKtuYBbruAyVh5wOHiXmpi5we58Ek028czwyuQdLKPG1Bkb4NnM+VeAnfHqn1k4+GPT6uGQcvu2h2OVuIf/gWUFyy8OWEpdyZSa3aVCqpVoVvzZZ2VTnn2wU8qzVjDDetO90GSy9mVLqtgYSy231MxrY6I2gGqjrTY0L8fxCxfCBbhWrsYYAAAAAElFTkSuQmCC); display:block; height:44px; margin:0 auto -44px; position:relative; top:-22px; width:44px;"&gt;&lt;/div&gt;&lt;/div&gt; &lt;p style=" margin:8px 0 0 0; padding:0 4px;"&gt; &lt;a href="https://www.instagram.com/p/BXUyDNnAXZ1/" style=" color:#000; font-family:Arial,sans-serif; font-size:14px; font-style:normal; font-weight:normal; line-height:17px; text-decoration:none; word-wrap:break-word;" target="_blank"&gt;Dripster in action&lt;/a&gt;&lt;/p&gt; &lt;p style=" color:#c9c8cd; font-family:Arial,sans-serif; font-size:14px; line-height:17px; margin-bottom:0; margin-top:8px; overflow:hidden; padding:8px 0 7px; text-align:center; text-overflow:ellipsis; white-space:nowrap;"&gt;A post shared by mike bell (@mikebell_io) on &lt;time style=" font-family:Arial,sans-serif; font-size:14px; line-height:17px;" datetime="2017-08-03T08:20:28+00:00"&gt;Aug 3, 2017 at 1:20am PDT&lt;/time&gt;&lt;/p&gt;&lt;/div&gt;&lt;/blockquote&gt;
&lt;script async defer src="//platform.instagram.com/en_US/embeds.js"&gt;&lt;/script&gt;
&lt;p&gt;I&amp;rsquo;ve made a few batches of the Dripster now and while it produces something drinkable I&amp;rsquo;m struggling to dial it in properly. The turn around between drinkable coffee means my time spent with it is quite limited. Would I recommend this, probably but you need to make sure you have the method down perfectly.&lt;/p&gt;
&lt;p&gt;Thanks for reading via RSS!&lt;/p&gt;
&lt;p&gt;Send me a message on &lt;a href="https://remotelab.uk/mikebell"&gt;Mastodon&lt;/a&gt; or &lt;a href="mailto:hello@mikebell.io"&gt;email me&lt;/a&gt;&lt;/p&gt;</description></item><item><title>My Custom Keyboards</title><link>https://mikebell.io/posts/my-custom-keyboards/</link><pubDate>Fri, 16 Jun 2017 00:00:00 +0000</pubDate><author>hello@mikebell.io (Mike Bell)</author><guid>https://mikebell.io/posts/my-custom-keyboards/</guid><description>
&lt;p&gt;I&amp;rsquo;ve got quite an expensive hobby at the moment - keyboards.&lt;/p&gt;
&lt;p&gt;Custom keyboards.&lt;/p&gt;
&lt;p&gt;At the moment I have 4 keyboards in my office:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Poker 2 ISO&lt;/li&gt;
&lt;li&gt;Ducky Shine 3 TKL ISO&lt;/li&gt;
&lt;li&gt;NERD 60&lt;/li&gt;
&lt;li&gt;Winkeyless B.87&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 class="relative group"&gt;Ducky Shine 3 TKL ISO (MX Brown)
&lt;div id="ducky-shine-3-tkl-iso-mx-brown" class="anchor"&gt;&lt;/div&gt;
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
&lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#ducky-shine-3-tkl-iso-mx-brown" aria-label="Anchor"&gt;#&lt;/a&gt;
&lt;/span&gt;
&lt;/h3&gt;
&lt;p&gt;&lt;figure&gt;&lt;img
class="my-0 rounded-md"
loading="lazy"
decoding="async"
fetchpriority="low"
alt="Ducky Shine 3 ISO"
src="https://i.imgur.com/QGkCUtV.png"
&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;Basically the above keyboard but without the numberpad. This is my longest serving board and up until a few weeks ago was in active service. It&amp;rsquo;s now waiting to be cleaned and pieced back together before I hand it over to my Dad.&lt;/p&gt;
&lt;p&gt;Overall I&amp;rsquo;m really pleased with this board, it&amp;rsquo;s solid and well built, the keycaps are a bit crap but I replaced those with Raindrop (pictures further down). The LEDs on my board were fine considering Ducky had quite a few quality control issues down the line.&lt;/p&gt;
&lt;p&gt;It has some neet features, including different LED modes (mine was the white edition), gimmicky but I liked them.&lt;/p&gt;
&lt;h3 class="relative group"&gt;KBT Pure Pro 60% (MX Brown) (SOLD)
&lt;div id="kbt-pure-pro-60-mx-brown-sold" class="anchor"&gt;&lt;/div&gt;
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
&lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#kbt-pure-pro-60-mx-brown-sold" aria-label="Anchor"&gt;#&lt;/a&gt;
&lt;/span&gt;
&lt;/h3&gt;
&lt;p&gt;&lt;figure&gt;&lt;img
class="my-0 rounded-md"
loading="lazy"
decoding="async"
fetchpriority="low"
alt="KBT Pure Pro 60%"
src="https://i.imgur.com/7bkWg7D.jpg"
&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;It&amp;rsquo;s a bit of a hybrid monster, a 60% but with a arrow keys, the none standard layout made it really difficult to use and in the end I sold it to a friend. I quickly learnt that having short shifts was really annoying.&lt;/p&gt;
&lt;h3 class="relative group"&gt;Poker 2 ANSI (MX Brown)
&lt;div id="poker-2-ansi-mx-brown" class="anchor"&gt;&lt;/div&gt;
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
&lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#poker-2-ansi-mx-brown" aria-label="Anchor"&gt;#&lt;/a&gt;
&lt;/span&gt;
&lt;/h3&gt;
&lt;p&gt;&lt;figure&gt;&lt;img
class="my-0 rounded-md"
loading="lazy"
decoding="async"
fetchpriority="low"
alt="Poker 2 ISO"
src="https://i.imgur.com/oaryVv5.jpg"
&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;I learnt my lessons with the Pro so grabbed a Poker 2, overall a solid board but the function key and arrow combition made my fingers hurt after a while so it got retired pretty quickly. The keycaps on this board are PBT which are amazing, they have a really satisfying clack to them (not pictured). Plus my version was white so they looked quite different to most boards.&lt;/p&gt;
&lt;p&gt;This is also my first ANSI board (American), note the horizontal enter key and different size shift keys. I considered moving to ANSI for a while since keycap sets are easier to find and the boards are a bit cheaper as well. I couldn&amp;rsquo;t get used to the enter key though so I&amp;rsquo;ll be ISO for life.&lt;/p&gt;
&lt;h3 class="relative group"&gt;NERD 60 (Gateron Brown)
&lt;div id="nerd-60-gateron-brown" class="anchor"&gt;&lt;/div&gt;
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
&lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#nerd-60-gateron-brown" aria-label="Anchor"&gt;#&lt;/a&gt;
&lt;/span&gt;
&lt;/h3&gt;
&lt;p&gt;&lt;figure&gt;&lt;img
class="my-0 rounded-md"
loading="lazy"
decoding="async"
fetchpriority="low"
alt="NERD 60"
src="https://i.imgur.com/lEH9IIF.jpg"
&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;This was my first foray into custom building. It&amp;rsquo;s &lt;a href="http://http://www.gonskeyboardworks.com/" target="_blank" rel="noreferrer"&gt;GON&lt;/a&gt; NERD 60 shipped all the way from Korea. The PCB was pre-soldiered making things a lot easier I just had to install the Gateron Brown switches and flash the firmware.&lt;/p&gt;
&lt;p&gt;The custom firmware made things a lot easier, having configurable layers meant that I could map CAPS to FN so I could operate the arrow keys bound to WASD with one hand.&lt;/p&gt;
&lt;p&gt;This was the first board with LED backlighting, I have it disabled by default because I damanged one of the surface mount LEDs so it flickers which is really annoying, it&amp;rsquo;s a shame because the case is frosted acrylic so the shine-through was quite nice.&lt;/p&gt;
&lt;p&gt;Since sourcing Cherry MX Browns is pretty much impossible I opted for Gateron Browns which are a slightly more resistant (higher actuation) clone. They&amp;rsquo;re nice switches and relatively cheap.&lt;/p&gt;
&lt;p&gt;The stabalisers are Cherry which are frankly appaling, it&amp;rsquo;s like pressing mushy plastic. I really wish I&amp;rsquo;d modded them before adding them to the board.&lt;/p&gt;
&lt;p&gt;Overall this board (without keycaps) cost me around £250. I have a small build log &lt;a href="http://imgur.com/a/MpVvI" target="_blank" rel="noreferrer"&gt;here&lt;/a&gt;.&lt;/p&gt;
&lt;h3 class="relative group"&gt;Winkeyless B.87 (Gateron Brown)
&lt;div id="winkeyless-b87-gateron-brown" class="anchor"&gt;&lt;/div&gt;
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
&lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#winkeyless-b87-gateron-brown" aria-label="Anchor"&gt;#&lt;/a&gt;
&lt;/span&gt;
&lt;/h3&gt;
&lt;p&gt;&lt;figure&gt;&lt;img
class="my-0 rounded-md"
loading="lazy"
decoding="async"
fetchpriority="low"
alt="Winkeyless B.87"
src="https://i.imgur.com/GpfPZqK.jpg"
&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;This is my latest and greatest creation and my current daily driver. I considered this end game for me (for about a week or so). I bought the parts (fully soldiered) form &lt;a href="http://winkeyless.kr/" target="_blank" rel="noreferrer"&gt;Winkeyless&lt;/a&gt; another Korean company (they love custom keyboards!).&lt;/p&gt;
&lt;p&gt;Again I opted for Gateron Browns since I&amp;rsquo;ve grown quite attached to them and they&amp;rsquo;re cheap. If I use them again I&amp;rsquo;m going to get some lubricant for the stems.&lt;/p&gt;
&lt;p&gt;This keyboard has white in switch LEDs with RGB backlighting. The case is frosted acrylic so the lights shine through really well.&lt;/p&gt;
&lt;p&gt;One of my main issues with this board is the same as the NERD60 the stabalisers are horrible, my backspace key squeeks which is horrible! Because they&amp;rsquo;re PCB mounted stabalisers removing them to mod them would mean desoldering all the LEDs and switches first, something I&amp;rsquo;m really not keen on doing because of a couple of issues I had while building the board.&lt;/p&gt;
&lt;p&gt;This board also has customisable firmware, it&amp;rsquo;s a bit harder to use than the NERD60s since the instructions are in Korean and uses the column/row notation for keymapping. Thankfully google translate and a few other blog posts around the net have some decent instructions. I have a lot of the RGB functions bound to a second layer which is activated by CAPS key (FN in this case).&lt;/p&gt;
&lt;p&gt;A build log for this can be found &lt;a href="http://imgur.com/a/8Iw4j" target="_blank" rel="noreferrer"&gt;here&lt;/a&gt;.&lt;/p&gt;
&lt;h3 class="relative group"&gt;Future Board - Let&amp;rsquo;s Split
&lt;div id="future-board---lets-split" class="anchor"&gt;&lt;/div&gt;
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
&lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#future-board---lets-split" aria-label="Anchor"&gt;#&lt;/a&gt;
&lt;/span&gt;
&lt;/h3&gt;
&lt;p&gt;After I reached my endgame board (cough) I decided to take a look at none standard boards, enter the Let&amp;rsquo;s Split&lt;/p&gt;
&lt;p&gt;&lt;figure&gt;&lt;img
class="my-0 rounded-md"
loading="lazy"
decoding="async"
fetchpriority="low"
alt="Let&amp;rsquo;s Split"
src="https://camo.githubusercontent.com/520594ec4d3678bdb9002f1ac4edf827cb6896c8/687474703a2f2f692e696d6775722e636f6d2f714658687575312e6a7067"
&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;I started to design my own keyboard but ended up with something similar to this so I decided to order the parts for this build.&lt;/p&gt;
&lt;p&gt;I&amp;rsquo;ll be posting a full build log of this when everything arrives.&lt;/p&gt;
&lt;p&gt;The main build points for this are:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Zealios 62g - apparently these are the most amazing switches ever so I&amp;rsquo;m looking forward to trying them out. They&amp;rsquo;re 62g tactile no click switches with supposed amazing build qualit.&lt;/li&gt;
&lt;li&gt;No stabalisers, screw you cherry no more mushy key presses!&lt;/li&gt;
&lt;li&gt;Split halfs so I can move them around based on my hand orientation.&lt;/li&gt;
&lt;li&gt;Ability to &amp;ldquo;tent&amp;rdquo; the boards so they&amp;rsquo;re more ergonomic.&lt;/li&gt;
&lt;/ul&gt;
&lt;hr&gt;
&lt;p&gt;Needless to say I&amp;rsquo;m hoping this to be my last board for a while. If your interested in buying my NERD60 then get in touch it needs a good home.&lt;/p&gt;
&lt;p&gt;Thanks for reading via RSS!&lt;/p&gt;
&lt;p&gt;Send me a message on &lt;a href="https://remotelab.uk/mikebell"&gt;Mastodon&lt;/a&gt; or &lt;a href="mailto:hello@mikebell.io"&gt;email me&lt;/a&gt;&lt;/p&gt;</description></item><item><title>Tmux for fun and Profit</title><link>https://mikebell.io/posts/tmux-for-fun-and-profit/</link><pubDate>Thu, 15 Jun 2017 00:00:00 +0000</pubDate><author>hello@mikebell.io (Mike Bell)</author><guid>https://mikebell.io/posts/tmux-for-fun-and-profit/</guid><description>
&lt;p&gt;I&amp;rsquo;ve known about TMUX for a few years now but never got around to checking it out. It&amp;rsquo;s not until the past few weeks where I&amp;rsquo;ve spent most of my time in the terminal for various projects that I&amp;rsquo;ve really felt the need to dig in and learn the basics.&lt;/p&gt;
&lt;h3 class="relative group"&gt;Installation - TMUX
&lt;div id="installation---tmux" class="anchor"&gt;&lt;/div&gt;
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
&lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#installation---tmux" aria-label="Anchor"&gt;#&lt;/a&gt;
&lt;/span&gt;
&lt;/h3&gt;
&lt;pre&gt;&lt;code&gt;sudo apt upgrade
sudo apt install tmux
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Done&lt;/p&gt;
&lt;h3 class="relative group"&gt;Installation - Tmuxinator
&lt;div id="installation---tmuxinator" class="anchor"&gt;&lt;/div&gt;
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
&lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#installation---tmuxinator" aria-label="Anchor"&gt;#&lt;/a&gt;
&lt;/span&gt;
&lt;/h3&gt;
&lt;pre&gt;&lt;code&gt;gem install tmuxinator
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;The reason I use Tmuxinator is it&amp;rsquo;s a great way to set environment setups that persist through reboot. The config uses YAML which is nice and human readable and you can add your config files to a gist or dotfile repo if you want.&lt;/p&gt;
&lt;p&gt;I&amp;rsquo;m not really going to go into the depths of using of using TMUX - this &lt;a href="http://www.hamvocke.com/blog/a-quick-and-easy-guide-to-tmux" target="_blank" rel="noreferrer"&gt;post&lt;/a&gt; by Hermann Vocke does a much better job than I can explaining the cool things you can do.&lt;/p&gt;
&lt;h3 class="relative group"&gt;Configuration
&lt;div id="configuration" class="anchor"&gt;&lt;/div&gt;
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
&lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#configuration" aria-label="Anchor"&gt;#&lt;/a&gt;
&lt;/span&gt;
&lt;/h3&gt;
&lt;p&gt;Here are some of my specific configuration in &lt;code&gt;~/.tmux.conf&lt;/code&gt;&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;# Use mouse like a peasant
set-option -g mouse on
# STFU
set-option -g visual-activity off
set-option -g visual-bell off
set-option -g visual-silence off
set-window-option -g monitor-activity off
set-option -g bell-action none
# switch panes using Alt-arrow without prefix
bind -n M-Left select-pane -L
bind -n M-Right select-pane -R
bind -n M-Up select-pane -U
bind -n M-Down select-pane -D
# remap prefix from 'C-b' to 'C-a'
unbind C-b
set-option -g prefix C-a
bind-key C-a send-prefix
# reload config file (change file location to your the tmux.conf you want to use)
bind r source-file ~/.tmux.conf
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Hopefully the comments should be self explanatory, there are a lot more things I could do here but starting off simple is the way to go for me. In the future I&amp;rsquo;d like to look at styling TMUX, there are some awesome examples on &lt;a href="https://reddit.com/r/unixporn" target="_blank" rel="noreferrer"&gt;/r/unixporn&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Here is a working example of my dev tmuxinator config:&lt;/p&gt;
&lt;div class="highlight-wrapper"&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-yaml" data-lang="yaml"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nt"&gt;name&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;dev&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nt"&gt;root&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;~/&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nt"&gt;windows&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;- &lt;span class="nt"&gt;editor&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;template&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;main-horizontal&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;panes&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;- &lt;span class="l"&gt;cd ~/Sites/projects/&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;- &lt;span class="l"&gt;cd ~/Vagrant/Convivio-VM &amp;amp;&amp;amp; vagrant up&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;- &lt;span class="l"&gt;cd ~/Vagrant/Convivio-VM&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;What this does is create me a horizontal terminal and then two columns below it. The main terminal opens my project directory, the first column opens my VM directory and then brings it up, the third column moves me into the VM directory so I can run &lt;code&gt;vagrant ssh&lt;/code&gt; when it&amp;rsquo;s up.&lt;/p&gt;
&lt;p&gt;There&amp;rsquo;s a lot more things to do to automate my dev setup but for the time being it&amp;rsquo;s pretty handy.&lt;/p&gt;
&lt;p&gt;Thanks for reading via RSS!&lt;/p&gt;
&lt;p&gt;Send me a message on &lt;a href="https://remotelab.uk/mikebell"&gt;Mastodon&lt;/a&gt; or &lt;a href="mailto:hello@mikebell.io"&gt;email me&lt;/a&gt;&lt;/p&gt;</description></item><item><title>My dad, business and me</title><link>https://mikebell.io/posts/my-dad-business-and-me/</link><pubDate>Sat, 04 Mar 2017 00:00:00 +0000</pubDate><author>hello@mikebell.io (Mike Bell)</author><guid>https://mikebell.io/posts/my-dad-business-and-me/</guid><description>
&lt;p&gt;I have this memory of when I was young, we used to go camping in something called a Dandy, one day I remember my dad making sketches on a scrap bit of paper, I was young I didn&amp;rsquo;t really understand what they were but he seemed quite excited at it.&lt;/p&gt;
&lt;p&gt;Fast forward through the years and I&amp;rsquo;ve seen my dad build a business from nothing. Developing Powershade and various other products he&amp;rsquo;s built a successful company, one that I never really understood but feel immensely proud of.&lt;/p&gt;
&lt;p&gt;The thing is I never understood how hard he worked for it. When your young money isn&amp;rsquo;t a thing, it just doesn&amp;rsquo;t exists. Food appears on your plate you go on holidays and that&amp;rsquo;s it. It&amp;rsquo;s not until you get older that you understand what money is and how you get it. It doesn&amp;rsquo;t come easily.&lt;/p&gt;
&lt;p&gt;I have a post about the first six months at Convivio, I&amp;rsquo;ve not published it. You can find it in the github repo under _drafts. It feels weird publishing it now, it&amp;rsquo;s way more than six months since we first started and so much as happened.&lt;/p&gt;
&lt;p&gt;I get it now, I get what my dad went through, it&amp;rsquo;s hard. Start up life (fuck that phrase) isn&amp;rsquo;t everything Hacker News would have you believe, culture is what you make it. We have an amazing culture something I&amp;rsquo;m so proud of. Something I&amp;rsquo;ve put my heart and soul into to build what we have now.&lt;/p&gt;
&lt;p&gt;It&amp;rsquo;s not easy, it won&amp;rsquo;t be easy, nothing worth while ever is. Thanks Dad, thank you for sharing your business with me, the voice that&amp;rsquo;s given me advice whether I&amp;rsquo;ve liked it or not. Remember though, I always told you bumsteerinvestments.com was a bad idea.&lt;/p&gt;
&lt;p&gt;Thanks for reading via RSS!&lt;/p&gt;
&lt;p&gt;Send me a message on &lt;a href="https://remotelab.uk/mikebell"&gt;Mastodon&lt;/a&gt; or &lt;a href="mailto:hello@mikebell.io"&gt;email me&lt;/a&gt;&lt;/p&gt;</description></item><item><title>The hardest part of our jobs</title><link>https://mikebell.io/posts/the-hardest-part-of-our-jobs/</link><pubDate>Thu, 22 Dec 2016 00:00:00 +0000</pubDate><author>hello@mikebell.io (Mike Bell)</author><guid>https://mikebell.io/posts/the-hardest-part-of-our-jobs/</guid><description>
&lt;p&gt;This post is a follow up on:&lt;/p&gt;
&lt;blockquote class="twitter-tweet" data-lang="en"&gt;&lt;p lang="en" dir="ltr"&gt;Why is admitting I can’t do something the hardest part of my job? Stupid stupid hangup.&lt;/p&gt;&amp;mdash; Mike Bell (@mikebell_) &lt;a href="https://twitter.com/mikebell_/status/811250647068721152"&gt;December 20, 2016&lt;/a&gt;&lt;/blockquote&gt;
&lt;script async src="//platform.twitter.com/widgets.js" charset="utf-8"&gt;&lt;/script&gt;
&lt;p&gt;There became a point over the past two years where it dawned on me that I was a good coder. It sounds like I&amp;rsquo;m talking out of my ass but it&amp;rsquo;s true, I noticed when asked to solve complex problems and found the solution came really easy to me. I guess after over 9 years I &lt;em&gt;get&lt;/em&gt; Drupal.&lt;/p&gt;
&lt;p&gt;The problem with this is that I&amp;rsquo;m still not a great coder. I&amp;rsquo;m getting there but I find the problems I have are not code related at all, they&amp;rsquo;re other skills that I&amp;rsquo;ve yet to fully grasp.&lt;/p&gt;
&lt;p&gt;The tweet above came from the following (paraphrased) issue:&lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;Create a ctools context plugin to show homepage content&lt;/p&gt;
&lt;/blockquote&gt;&lt;p&gt;The real issue is only marginally longer and not much more helpful. The estimate on this ticket is 3 hours. But there&amp;rsquo;s a problem, it&amp;rsquo;s not a problem with the issue text (it sort of is), it&amp;rsquo;s a problem with how my brain works. Here&amp;rsquo;s how my brain interpreted it:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;ctools - a cool Drupal module that provides a load of extra functionality&lt;/li&gt;
&lt;li&gt;context plugin - not sure what this is but I can read documentation and figure it out&lt;/li&gt;
&lt;li&gt;homepage content - I&amp;rsquo;ve just created this so that&amp;rsquo;s cool&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;So in theory I have all the prerequisites to building this functionality. In reality I don&amp;rsquo;t, I can build a ctools context plugin (I did) but the wider scope is missing. This isn&amp;rsquo;t a problem with the ticket, I was the one who said the description is fine and I&amp;rsquo;d be able to figure it out.&lt;/p&gt;
&lt;p&gt;The real problem is in my head. Conceptually I have no idea how the components fit together, how does part A effect part B, how do I achieve the end goal. This is just the start of my problems. I spent 4 hours on this issue, I built a ctool context plugin, it works but doesn&amp;rsquo;t do anything useful but it&amp;rsquo;s there. I spent the hours writing basic code, reading blog posts on things vaugely related and researching.&lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;I wasted time because I was too scared of admitting I have no idea what I&amp;rsquo;m doing.&lt;/p&gt;
&lt;/blockquote&gt;&lt;p&gt;The thing I realise now is that while I understand and can figure out the basic concepts if the grander scheme isn&amp;rsquo;t there it&amp;rsquo;s useless. I should have asked for help, I should have admitted that I didn&amp;rsquo;t know how the end result fit together.&lt;/p&gt;
&lt;p&gt;I truly believe that the hardest part of our job is admitting we can&amp;rsquo;t do something. I&amp;rsquo;m learning, maybe in another 9 years I&amp;rsquo;ll get there.&lt;/p&gt;
&lt;p&gt;Thanks for reading via RSS!&lt;/p&gt;
&lt;p&gt;Send me a message on &lt;a href="https://remotelab.uk/mikebell"&gt;Mastodon&lt;/a&gt; or &lt;a href="mailto:hello@mikebell.io"&gt;email me&lt;/a&gt;&lt;/p&gt;</description></item><item><title>Hey how are you?</title><link>https://mikebell.io/posts/hey-how-are-you/</link><pubDate>Tue, 04 Oct 2016 00:00:00 +0000</pubDate><author>hello@mikebell.io (Mike Bell)</author><guid>https://mikebell.io/posts/hey-how-are-you/</guid><description>
&lt;p&gt;Like most conversations do it starts with a &amp;ldquo;Hey, how are you?&amp;rdquo;. What people don&amp;rsquo;t know is the mental twists that my brain goes through in the split second it takes me to answer.&lt;/p&gt;
&lt;p&gt;Do I tell them:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;my heart is jumping out of my chest?&lt;/li&gt;
&lt;li&gt;my brain is wound up tight?&lt;/li&gt;
&lt;li&gt;I&amp;rsquo;d rather be somewhere else where I felt safe?&lt;/li&gt;
&lt;li&gt;I&amp;rsquo;m struggling with anxiety?&lt;/li&gt;
&lt;li&gt;I spend most of my day close to tears?&lt;/li&gt;
&lt;li&gt;I&amp;rsquo;m a fraud?&lt;/li&gt;
&lt;li&gt;I have no idea what I&amp;rsquo;m doing?&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;All these things I have to deal with on a daily basis. My anxiety scares me into being something I&amp;rsquo;m not. Medication helps but I&amp;rsquo;m aware of the anxiety clawing at the back of my brain waiting to get out and explode. The scary thing is is that I can hide it so well. I guess to a certain extent that&amp;rsquo;s how I cope with things, pushing it away until I&amp;rsquo;m ready to deal with it or things get out of hand. It seems to work for me up to a point.&lt;/p&gt;
&lt;p&gt;You: Hey, how are you?&lt;/p&gt;
&lt;p&gt;Me: I&amp;rsquo;m good thanks, you?&lt;/p&gt;
&lt;p&gt;Thanks for reading via RSS!&lt;/p&gt;
&lt;p&gt;Send me a message on &lt;a href="https://remotelab.uk/mikebell"&gt;Mastodon&lt;/a&gt; or &lt;a href="mailto:hello@mikebell.io"&gt;email me&lt;/a&gt;&lt;/p&gt;</description></item><item><title>Hello my old friend</title><link>https://mikebell.io/posts/hello-my-old-friend/</link><pubDate>Mon, 12 Sep 2016 00:00:00 +0000</pubDate><author>hello@mikebell.io (Mike Bell)</author><guid>https://mikebell.io/posts/hello-my-old-friend/</guid><description>
&lt;p&gt;I&amp;rsquo;ve not missed you not at all. I wish you weren&amp;rsquo;t back but here we are my dear friend/enemy Propranolol.&lt;/p&gt;
&lt;p&gt;The past few weeks have been really tough, break downs, anxiety attacks all fun stuff.&lt;/p&gt;
&lt;p&gt;So there it is the beta blockers are back so I can retain some form of functionality I don&amp;rsquo;t want this but it&amp;rsquo;ll get me through the next few weeks when I can focus on rebuilding my mental health defenses.&lt;/p&gt;
&lt;p&gt;Thanks for reading via RSS!&lt;/p&gt;
&lt;p&gt;Send me a message on &lt;a href="https://remotelab.uk/mikebell"&gt;Mastodon&lt;/a&gt; or &lt;a href="mailto:hello@mikebell.io"&gt;email me&lt;/a&gt;&lt;/p&gt;</description></item><item><title>NWDUG User group and Slack</title><link>https://mikebell.io/posts/nwdug-user-group-and-slack/</link><pubDate>Tue, 21 Jun 2016 00:00:00 +0000</pubDate><author>hello@mikebell.io (Mike Bell)</author><guid>https://mikebell.io/posts/nwdug-user-group-and-slack/</guid><description>
&lt;p&gt;Around the 9th of September 2015 we set up Slack for NWDUG. Before the slack channel communication wasn&amp;rsquo;t brilliant, it felt to me like our community was just centred around one day a month event.&lt;/p&gt;
&lt;p&gt;We toyed with the idea of an IRC channel for a bit but the user on-boarding was too much and the lack of moderation tools and integrations was a real deal breaker for me. So we settled on Slack and then ran with it.&lt;/p&gt;
&lt;p&gt;I think it&amp;rsquo;s safe to say that it&amp;rsquo;s been a huge success! We&amp;rsquo;re active every week day with a total of 59 registered users, scratch that 60, someone just signed up as I&amp;rsquo;m writing this! In total we have around 10-15 online every day which I think is pretty great.&lt;/p&gt;
&lt;p&gt;Here is a sample of some of the channels we are running:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Organisers - a channel that allows me, Eli and Phil to privately discuss the goings on of the group and get things organised.&lt;/li&gt;
&lt;li&gt;General - says what it does on the tin.&lt;/li&gt;
&lt;li&gt;Bumblebee-Dev - a channel for development of our hubot Bumblebee who tracks most importantly karma and has some neat Drupal.org integrations (search npm for hubot-drupal).&lt;/li&gt;
&lt;li&gt;Sprints - a channel for organising sprints, it&amp;rsquo;s open to anyone.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;There are a bunch of integrations we&amp;rsquo;ve added over time as well:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Giphy - gifs on demand&lt;/li&gt;
&lt;li&gt;Trello - used for updates on our organisational board&lt;/li&gt;
&lt;li&gt;Hubot - Bumblebee Hubot&lt;/li&gt;
&lt;li&gt;Twitter - expanding tweets&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;These integrations all add value to our Slack group and provide functionality that isn&amp;rsquo;t readily available in IRC, sure it&amp;rsquo;s possible but not as easily as it is in Slack.&lt;/p&gt;
&lt;p&gt;We&amp;rsquo;re not just north west based either. There are people from all over the UK in Slack. We pride ourselves on being an open user group and generally a nice bunch of people.&lt;/p&gt;
&lt;p&gt;Slack isn&amp;rsquo;t costing us anything either. We don&amp;rsquo;t need the features of a paid Slack account so we are happy to stick on the free plan. This isn&amp;rsquo;t without it&amp;rsquo;s issues though, all it would take is a change of service from Slack to throw things out the window. If that happens then we&amp;rsquo;ll have to look into other alternatives.&lt;/p&gt;
&lt;p&gt;Since we introduced Slack it&amp;rsquo;s certainly felt like NWDUG has grown. The meetup has extended into an all year round thing with people able to chat with each other on a daily basis.&lt;/p&gt;
&lt;p&gt;If your interested in getting involved then join here - &lt;a href="http://slack.nwdrupal.org.uk/" target="_blank" rel="noreferrer"&gt;http://slack.nwdrupal.org.uk/&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Thanks for reading via RSS!&lt;/p&gt;
&lt;p&gt;Send me a message on &lt;a href="https://remotelab.uk/mikebell"&gt;Mastodon&lt;/a&gt; or &lt;a href="mailto:hello@mikebell.io"&gt;email me&lt;/a&gt;&lt;/p&gt;</description></item><item><title>Split panes in PHPStorm reliably</title><link>https://mikebell.io/posts/split-panes-in-phpstorm-reliably/</link><pubDate>Tue, 12 Apr 2016 00:00:00 +0000</pubDate><author>hello@mikebell.io (Mike Bell)</author><guid>https://mikebell.io/posts/split-panes-in-phpstorm-reliably/</guid><description>
&lt;p&gt;Here&amp;rsquo;s an easy way to get split panes in PHPStorm without tearing your hair out!&lt;/p&gt;
&lt;p&gt;If you want Project and Structure then:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Make sure Project has docked and pinned mode ticked (using the cog).&lt;/li&gt;
&lt;li&gt;Make sure Structure has docked, pinned and split mode ticked.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;You then need to toggle them both a few times for it to work cmd+1 and cmd+7 should work.&lt;/p&gt;
&lt;p&gt;Thanks for reading via RSS!&lt;/p&gt;
&lt;p&gt;Send me a message on &lt;a href="https://remotelab.uk/mikebell"&gt;Mastodon&lt;/a&gt; or &lt;a href="mailto:hello@mikebell.io"&gt;email me&lt;/a&gt;&lt;/p&gt;</description></item><item><title>Triggers and Self Harm</title><link>https://mikebell.io/posts/2016-03-30-triggers/</link><pubDate>Wed, 30 Mar 2016 08:46:52 +0000</pubDate><author>hello@mikebell.io (Mike Bell)</author><guid>https://mikebell.io/posts/2016-03-30-triggers/</guid><description>
&lt;p&gt;Recently my anxiety is triggering more and more frequently. Last night two men were arguing outside Sainsburys at Oxford Road, it triggered my anxiety, my heart began racing, eyes twitching and I became the monster I hate.&lt;/p&gt;
&lt;p&gt;Generally I tend to cope well with anxiety but when I get triggered I find it very difficult to function. I know the reasons for this, I know that it&amp;rsquo;s my situation and stress that makes things worse. I&amp;rsquo;m trying to cope with anxiety attacks but it&amp;rsquo;s difficult. My brain just regresses into being an soup of anger and sadness that spirals out of control till I want to punch a wall or generally do myself harm, pain seems to control it somehow.&lt;/p&gt;
&lt;p&gt;I&amp;rsquo;ve not really spoken about self harm before, it&amp;rsquo;s not something I ever considered myself suffering from. Until last year when I was lucky enough to be at Manchester Geek Mental Help Week where Chad &lt;a href="https://twitter.com/kitation" target="_blank" rel="noreferrer"&gt;@kitation&lt;/a&gt; was speaking. She was quite frank and opened my eyes to the world of self harm. It comes in so many different forms. Mine isn&amp;rsquo;t drastic, it&amp;rsquo;s not life threatening but it&amp;rsquo;s painful and the pain helps. I bite my thumb to the point where I&amp;rsquo;ve teared the nail off, not just a small bit, it&amp;rsquo;s all gone. It&amp;rsquo;s painful, there&amp;rsquo;s a reason why you see people use it as torture, the pain lingers for days until it heals, it&amp;rsquo;s a kind of burning pulsating pain. The worst thing is I can&amp;rsquo;t help it, the damage is done before I realise it. I wish I could stop, with the wedding coming up it&amp;rsquo;s not going to be a pretty sight when people ask to see my wedding ring.&lt;/p&gt;
&lt;p&gt;Thanks for reading via RSS!&lt;/p&gt;
&lt;p&gt;Send me a message on &lt;a href="https://remotelab.uk/mikebell"&gt;Mastodon&lt;/a&gt; or &lt;a href="mailto:hello@mikebell.io"&gt;email me&lt;/a&gt;&lt;/p&gt;</description></item><item><title>Remote working is great till it isn't, but I love it!</title><link>https://mikebell.io/posts/remote-work-is-great-till-it-isnt/</link><pubDate>Wed, 23 Mar 2016 13:33:32 +0000</pubDate><author>hello@mikebell.io (Mike Bell)</author><guid>https://mikebell.io/posts/remote-work-is-great-till-it-isnt/</guid><description>
&lt;p&gt;Just over three months and I figure it&amp;rsquo;s time to check in. What can I say I love remote working it suites me very well. I&amp;rsquo;ve gone form a noisy office full of distractions to a focused purpose built development environment.&lt;/p&gt;
&lt;p&gt;That&amp;rsquo;s not to say their aren&amp;rsquo;t issues though.&lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;Remote working is great till it isn&amp;rsquo;t.&lt;/p&gt;
&lt;/blockquote&gt;&lt;p&gt;It can be quite lonely, I&amp;rsquo;m trying to make sure I have a daily hangout with at least one person a day. Sometimes it&amp;rsquo;s about work sometimes it&amp;rsquo;s not.&lt;/p&gt;
&lt;p&gt;Cabin fever exists! It really does. I can spend around 4-5 days working in the house before I go a bit loopy and need human interaction again. I usually head in to Manchester and work from a coffee shop for a bit.&lt;/p&gt;
&lt;p&gt;Debugging difficult problems is a pain, I&amp;rsquo;m currently looking into a solution for that though. I do miss being able to turn round and have a load of developers there in front of me.&lt;/p&gt;
&lt;p&gt;BUT it&amp;rsquo;d be hard for me to go back.&lt;/p&gt;
&lt;p&gt;Traveling is awesome. I&amp;rsquo;ve been to London a fair amount and even Birmingham, sure the journeys are long but it&amp;rsquo;s nice to see different parts of the UK and I find traveling allows my head to unwind a bit.&lt;/p&gt;
&lt;p&gt;I no longer clock watch. I&amp;rsquo;m not working 9 to 5 anymore. I can sit down and work on a problem and just get it done. It really helps that I don&amp;rsquo;t have to timesheet anything, it&amp;rsquo;s so liberating to feel like you don&amp;rsquo;t have to account for every single minute of a day. No more longing 10 minutes to a task because I made a cup of tea!&lt;/p&gt;
&lt;p&gt;I control the day. I can pick and choose what I do as long as the project gets done. I built a dashboard for a client, they didn&amp;rsquo;t ask for it but it saves us all time in getting the data they need quickly.&lt;/p&gt;
&lt;p&gt;It&amp;rsquo;s my desk. Sure it&amp;rsquo;s uncomfortable (why would you have a wooden shelf at shin level????) but it&amp;rsquo;s mine, it&amp;rsquo;s configured how I want it with my equipment. It&amp;rsquo;s not the tidiest desk, I&amp;rsquo;m not known for having a tidy desk. So far no ones complained about my keyboard either which is great.&lt;/p&gt;
&lt;p&gt;I&amp;rsquo;ve stopped feeling guilty about taking a break. It sounds silly but just sitting their and your machine expecting a tough problem to fix itself is just stupid, I just get up and wander around a bit, make a drink and head back with a fresher head.&lt;/p&gt;
&lt;p&gt;Hopefully I&amp;rsquo;ll blog some more about remote working as it&amp;rsquo;s something everyone should experience at least once.&lt;/p&gt;
&lt;p&gt;Thanks for reading via RSS!&lt;/p&gt;
&lt;p&gt;Send me a message on &lt;a href="https://remotelab.uk/mikebell"&gt;Mastodon&lt;/a&gt; or &lt;a href="mailto:hello@mikebell.io"&gt;email me&lt;/a&gt;&lt;/p&gt;</description></item><item><title>Moving the family to slack</title><link>https://mikebell.io/posts/moving-the-family-to-slack/</link><pubDate>Sun, 06 Mar 2016 21:37:41 +0000</pubDate><author>hello@mikebell.io (Mike Bell)</author><guid>https://mikebell.io/posts/moving-the-family-to-slack/</guid><description>
&lt;p&gt;I&amp;rsquo;ve done the impossible. I&amp;rsquo;ve moved my family to Slack. After seeing a post making the rounds on twitter a few months ago about moving their family to Slack I decided that I&amp;rsquo;d try it.&lt;/p&gt;
&lt;p&gt;There were a number of different motivations for this:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;I no longer use Skype since it&amp;rsquo;s a useless piece of crap these days, this limits my ability to text chat with my Dad.&lt;/li&gt;
&lt;li&gt;James doesn&amp;rsquo;t use Skype much either.&lt;/li&gt;
&lt;li&gt;My mum doesn&amp;rsquo;t have any other chat system other than text.&lt;/li&gt;
&lt;li&gt;I don&amp;rsquo;t speak anywhere near as much as I should to James.&lt;/li&gt;
&lt;li&gt;Slack is rolling out voice chat and will be adding video chat in the future.&lt;/li&gt;
&lt;li&gt;We have a family google calendar now so it&amp;rsquo;d be nice to have that integrated.&lt;/li&gt;
&lt;li&gt;It can work across wifi and mobile data, has decent mobile and desktop apps.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;I fired out an email gauging interest from my close family and the response was great, my mum and brother were the first to say yes to it, then I think my mum forced my dad onto it!&lt;/p&gt;
&lt;p&gt;At the moment I&amp;rsquo;ve integrated our family calendar and created a Hubot instance which I plan on adding to in the future.&lt;/p&gt;
&lt;p&gt;Over the past few days it&amp;rsquo;s worked out really well and we&amp;rsquo;ve already been using it to organise family events and a ski trip next year. Even though our family is spread across the UK it feels like we&amp;rsquo;ve never been closer.&lt;/p&gt;
&lt;p&gt;The only downside is that James girlfriend doesn&amp;rsquo;t have and Android or iOS phone so she&amp;rsquo;s a bit out of the loop with this. Maybe Slack will create a blackberry app soonish.&lt;/p&gt;
&lt;p&gt;Thanks for reading via RSS!&lt;/p&gt;
&lt;p&gt;Send me a message on &lt;a href="https://remotelab.uk/mikebell"&gt;Mastodon&lt;/a&gt; or &lt;a href="mailto:hello@mikebell.io"&gt;email me&lt;/a&gt;&lt;/p&gt;</description></item><item><title>Sculpin to Jekyll</title><link>https://mikebell.io/posts/sculpin-to-jekyll/</link><pubDate>Mon, 22 Feb 2016 00:00:00 +0000</pubDate><author>hello@mikebell.io (Mike Bell)</author><guid>https://mikebell.io/posts/sculpin-to-jekyll/</guid><description>
&lt;p&gt;A while ago I found Sculpin through &lt;a href="https://twitter.com/opdavies" target="_blank" rel="noreferrer"&gt;@opdavies&lt;/a&gt; it looked really great, a PHP based blogging engine. It&amp;rsquo;s pretty decent but there are a few issues with it. Namely &lt;a href="https://github.com/sculpin/sculpin/issues/295" target="_blank" rel="noreferrer"&gt;this&lt;/a&gt;, there&amp;rsquo;s already a PR for it but it&amp;rsquo;s not been merged in and doesn&amp;rsquo;t look like it will any time soon. The bug renders it all pretty useless when trying to modify things.&lt;/p&gt;
&lt;p&gt;I was initially learning sculpin so that I could move Mental Health Awareness week over to it, but after trying to implement the existing theme in sculpin I found it nearly impossible to get anywhere fast. Theme support in Sculpin is a bit weird.&lt;/p&gt;
&lt;p&gt;This is where Jekyll comes in, at Wunder our on-boarding and generally awesome &lt;a href="http://way.wunder.io/" target="_blank" rel="noreferrer"&gt;docs&lt;/a&gt; are built using gh-pages which is a wrapper for Jekyll. It makes perfect sense to move to Jekyll and get to grips with it.&lt;/p&gt;
&lt;p&gt;Migrating was relatively easy just nuking the slug part from each post was enough to get it parsing my old content. A quick &lt;code&gt;sed&lt;/code&gt; did the trick. The theme went across relatively easily I just had to tweak a few values here and there. You can see the entire process in the git history on github.&lt;/p&gt;
&lt;p&gt;I&amp;rsquo;ve had to rebuild my build job but that&amp;rsquo;s pretty easy using rvm on the build server.&lt;/p&gt;
&lt;p&gt;Pretty pleased with the results so far. Next job is to clean the sass up and then completely rewrite the html and remove any cruft that&amp;rsquo;s come over in the 2 older migrations.&lt;/p&gt;
&lt;p&gt;Thanks for reading via RSS!&lt;/p&gt;
&lt;p&gt;Send me a message on &lt;a href="https://remotelab.uk/mikebell"&gt;Mastodon&lt;/a&gt; or &lt;a href="mailto:hello@mikebell.io"&gt;email me&lt;/a&gt;&lt;/p&gt;</description></item><item><title>My Journey</title><link>https://mikebell.io/posts/my-journey/</link><pubDate>Thu, 04 Feb 2016 00:00:00 +0000</pubDate><author>hello@mikebell.io (Mike Bell)</author><guid>https://mikebell.io/posts/my-journey/</guid><description>
&lt;p&gt;The posts below are my journey through the past few years of my life with depression and anxiety. They&amp;rsquo;re rough, crass and raw. Looking back through all this is a challenge and shows how far I&amp;rsquo;ve come. Each post represents a large part of my life.&lt;/p&gt;
&lt;h2 class="relative group"&gt;Day Zero
&lt;div id="day-zero" class="anchor"&gt;&lt;/div&gt;
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
&lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#day-zero" aria-label="Anchor"&gt;#&lt;/a&gt;
&lt;/span&gt;
&lt;/h2&gt;
&lt;p&gt;23rd July 2014 - &lt;a href="https://mikebell.io/anxiety-and-depression" target="_blank" rel="noreferrer"&gt;https://mikebell.io/anxiety-and-depression&lt;/a&gt;&lt;/p&gt;
&lt;h2 class="relative group"&gt;An Update
&lt;div id="an-update" class="anchor"&gt;&lt;/div&gt;
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
&lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#an-update" aria-label="Anchor"&gt;#&lt;/a&gt;
&lt;/span&gt;
&lt;/h2&gt;
&lt;p&gt;25th July 2014 - &lt;a href="https://mikebell.io/an-update/" target="_blank" rel="noreferrer"&gt;https://mikebell.io/an-update/&lt;/a&gt;&lt;/p&gt;
&lt;h2 class="relative group"&gt;An Update Part 2
&lt;div id="an-update-part-2" class="anchor"&gt;&lt;/div&gt;
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
&lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#an-update-part-2" aria-label="Anchor"&gt;#&lt;/a&gt;
&lt;/span&gt;
&lt;/h2&gt;
&lt;p&gt;18th August 2014 - &lt;a href="https://mikebell.io/an-update-pt-2/" target="_blank" rel="noreferrer"&gt;https://mikebell.io/an-update-pt-2/&lt;/a&gt;&lt;/p&gt;
&lt;h2 class="relative group"&gt;Honesty, Medication and Mental Health
&lt;div id="honesty-medication-and-mental-health" class="anchor"&gt;&lt;/div&gt;
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
&lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#honesty-medication-and-mental-health" aria-label="Anchor"&gt;#&lt;/a&gt;
&lt;/span&gt;
&lt;/h2&gt;
&lt;p&gt;22nd September 2014 - &lt;a href="https://mikebell.io/honesty-medication-and-mental-health/" target="_blank" rel="noreferrer"&gt;https://mikebell.io/honesty-medication-and-mental-health/&lt;/a&gt;&lt;/p&gt;
&lt;h2 class="relative group"&gt;CBT Round 1
&lt;div id="cbt-round-1" class="anchor"&gt;&lt;/div&gt;
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
&lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#cbt-round-1" aria-label="Anchor"&gt;#&lt;/a&gt;
&lt;/span&gt;
&lt;/h2&gt;
&lt;p&gt;23rd September 2014 - &lt;a href="https://mikebell.io/my-first-cbt-session/" target="_blank" rel="noreferrer"&gt;https://mikebell.io/my-first-cbt-session/&lt;/a&gt;&lt;/p&gt;
&lt;h2 class="relative group"&gt;CBT Round 2
&lt;div id="cbt-round-2" class="anchor"&gt;&lt;/div&gt;
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
&lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#cbt-round-2" aria-label="Anchor"&gt;#&lt;/a&gt;
&lt;/span&gt;
&lt;/h2&gt;
&lt;p&gt;14th October 2014 - &lt;a href="https://mikebell.io/cbt-round-2/" target="_blank" rel="noreferrer"&gt;https://mikebell.io/cbt-round-2/&lt;/a&gt;&lt;/p&gt;
&lt;h2 class="relative group"&gt;Time
&lt;div id="time" class="anchor"&gt;&lt;/div&gt;
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
&lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#time" aria-label="Anchor"&gt;#&lt;/a&gt;
&lt;/span&gt;
&lt;/h2&gt;
&lt;p&gt;27th October 2014 - &lt;a href="https://mikebell.io/time/" target="_blank" rel="noreferrer"&gt;https://mikebell.io/time/&lt;/a&gt;&lt;/p&gt;
&lt;h2 class="relative group"&gt;CBT Round 3
&lt;div id="cbt-round-3" class="anchor"&gt;&lt;/div&gt;
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
&lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#cbt-round-3" aria-label="Anchor"&gt;#&lt;/a&gt;
&lt;/span&gt;
&lt;/h2&gt;
&lt;p&gt;28th October 2014 - &lt;a href="https://mikebell.io/cbt-round-3/]" target="_blank" rel="noreferrer"&gt;https://mikebell.io/cbt-round-3/&lt;/a&gt;&lt;/p&gt;
&lt;h2 class="relative group"&gt;The Long Road Back from Medication
&lt;div id="the-long-road-back-from-medication" class="anchor"&gt;&lt;/div&gt;
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
&lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#the-long-road-back-from-medication" aria-label="Anchor"&gt;#&lt;/a&gt;
&lt;/span&gt;
&lt;/h2&gt;
&lt;p&gt;12th November 2014 - &lt;a href="https://mikebell.io/the-long-road-back-from-medication/" target="_blank" rel="noreferrer"&gt;https://mikebell.io/the-long-road-back-from-medication/&lt;/a&gt;&lt;/p&gt;
&lt;h2 class="relative group"&gt;Giving up on CBT
&lt;div id="giving-up-on-cbt" class="anchor"&gt;&lt;/div&gt;
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
&lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#giving-up-on-cbt" aria-label="Anchor"&gt;#&lt;/a&gt;
&lt;/span&gt;
&lt;/h2&gt;
&lt;p&gt;9th December 2014 - &lt;a href="https://mikebell.io/cbt-update/" target="_blank" rel="noreferrer"&gt;https://mikebell.io/cbt-update/&lt;/a&gt;&lt;/p&gt;
&lt;h2 class="relative group"&gt;The Surface Detail
&lt;div id="the-surface-detail" class="anchor"&gt;&lt;/div&gt;
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
&lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#the-surface-detail" aria-label="Anchor"&gt;#&lt;/a&gt;
&lt;/span&gt;
&lt;/h2&gt;
&lt;p&gt;27th January 2015 - &lt;a href="https://mikebell.io/the-surface-detail/" target="_blank" rel="noreferrer"&gt;https://mikebell.io/the-surface-detail/&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;## Medication
4th March 2015 - &lt;a href="https://mikebell.io/medication/" target="_blank" rel="noreferrer"&gt;https://mikebell.io/medication/&lt;/a&gt;&lt;/p&gt;
&lt;h2 class="relative group"&gt;The Dark Thoughts Are Back
&lt;div id="the-dark-thoughts-are-back" class="anchor"&gt;&lt;/div&gt;
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
&lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#the-dark-thoughts-are-back" aria-label="Anchor"&gt;#&lt;/a&gt;
&lt;/span&gt;
&lt;/h2&gt;
&lt;p&gt;14th April 2015 - &lt;a href="https://mikebell.io/the-dark-thoughts-are-back/" target="_blank" rel="noreferrer"&gt;https://mikebell.io/the-dark-thoughts-are-back/&lt;/a&gt;&lt;/p&gt;
&lt;h2 class="relative group"&gt;Fucking Tough
&lt;div id="fucking-tough" class="anchor"&gt;&lt;/div&gt;
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
&lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#fucking-tough" aria-label="Anchor"&gt;#&lt;/a&gt;
&lt;/span&gt;
&lt;/h2&gt;
&lt;p&gt;19th June 2015 - &lt;a href="https://mikebell.io/life-is-fucking-tough/" target="_blank" rel="noreferrer"&gt;https://mikebell.io/life-is-fucking-tough/&lt;/a&gt;&lt;/p&gt;
&lt;h2 class="relative group"&gt;The Red Side of Mental Health
&lt;div id="the-red-side-of-mental-health" class="anchor"&gt;&lt;/div&gt;
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
&lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#the-red-side-of-mental-health" aria-label="Anchor"&gt;#&lt;/a&gt;
&lt;/span&gt;
&lt;/h2&gt;
&lt;p&gt;2nd July 2015 - &lt;a href="https://mikebell.io/the-red-side-of-mental-health/" target="_blank" rel="noreferrer"&gt;https://mikebell.io/the-red-side-of-mental-health/&lt;/a&gt;&lt;/p&gt;
&lt;h2 class="relative group"&gt;Alone in a room of hundreds
&lt;div id="alone-in-a-room-of-hundreds" class="anchor"&gt;&lt;/div&gt;
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
&lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#alone-in-a-room-of-hundreds" aria-label="Anchor"&gt;#&lt;/a&gt;
&lt;/span&gt;
&lt;/h2&gt;
&lt;p&gt;19th August 2015 - &lt;a href="https://mikebell.io/alone-in-a-room-of-hundreds/" target="_blank" rel="noreferrer"&gt;https://mikebell.io/alone-in-a-room-of-hundreds/&lt;/a&gt;&lt;/p&gt;
&lt;h2 class="relative group"&gt;Finite Energy
&lt;div id="finite-energy" class="anchor"&gt;&lt;/div&gt;
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
&lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#finite-energy" aria-label="Anchor"&gt;#&lt;/a&gt;
&lt;/span&gt;
&lt;/h2&gt;
&lt;p&gt;13th October 2015 - &lt;a href="https://mikebell.io/finite-energy/" target="_blank" rel="noreferrer"&gt;https://mikebell.io/finite-energy/&lt;/a&gt;&lt;/p&gt;
&lt;h2 class="relative group"&gt;I Fucked Up
&lt;div id="i-fucked-up" class="anchor"&gt;&lt;/div&gt;
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
&lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#i-fucked-up" aria-label="Anchor"&gt;#&lt;/a&gt;
&lt;/span&gt;
&lt;/h2&gt;
&lt;p&gt;14th October 2015 - &lt;a href="https://mikebell.io/i-fucked-up/" target="_blank" rel="noreferrer"&gt;https://mikebell.io/i-fucked-up/&lt;/a&gt;&lt;/p&gt;
&lt;h2 class="relative group"&gt;Depression is Exhausting
&lt;div id="depression-is-exhausting" class="anchor"&gt;&lt;/div&gt;
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
&lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#depression-is-exhausting" aria-label="Anchor"&gt;#&lt;/a&gt;
&lt;/span&gt;
&lt;/h2&gt;
&lt;p&gt;5th November 2015 - &lt;a href="https://mikebell.io/depression-is-exhausting/" target="_blank" rel="noreferrer"&gt;https://mikebell.io/depression-is-exhausting/&lt;/a&gt;&lt;/p&gt;
&lt;h2 class="relative group"&gt;Traveling with Anxiety
&lt;div id="traveling-with-anxiety" class="anchor"&gt;&lt;/div&gt;
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
&lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#traveling-with-anxiety" aria-label="Anchor"&gt;#&lt;/a&gt;
&lt;/span&gt;
&lt;/h2&gt;
&lt;p&gt;28th January 2016 - &lt;a href="https://mikebell.io/traveling-with-anxiety/" target="_blank" rel="noreferrer"&gt;https://mikebell.io/traveling-with-anxiety/&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Thanks for reading via RSS!&lt;/p&gt;
&lt;p&gt;Send me a message on &lt;a href="https://remotelab.uk/mikebell"&gt;Mastodon&lt;/a&gt; or &lt;a href="mailto:hello@mikebell.io"&gt;email me&lt;/a&gt;&lt;/p&gt;</description></item><item><title>Alias Drupal Composer Project</title><link>https://mikebell.io/posts/alias-drupal-composer-project/</link><pubDate>Wed, 03 Feb 2016 00:00:00 +0000</pubDate><author>hello@mikebell.io (Mike Bell)</author><guid>https://mikebell.io/posts/alias-drupal-composer-project/</guid><description>
&lt;p&gt;&lt;code&gt;alias d8build=&amp;quot;composer create-project drupal-composer/drupal-project:8.x-dev --stability dev --no-interaction&amp;quot;&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;It&amp;rsquo;s too big for a tweet but it&amp;rsquo;s certainly useful, saves me having to remember all the params. Stick that in your .bashrc or .zshrc and enjoy!&lt;/p&gt;
&lt;p&gt;Run &lt;code&gt;d8build sitename&lt;/code&gt; and watch it do it&amp;rsquo;s stuff.&lt;/p&gt;
&lt;p&gt;Thanks for reading via RSS!&lt;/p&gt;
&lt;p&gt;Send me a message on &lt;a href="https://remotelab.uk/mikebell"&gt;Mastodon&lt;/a&gt; or &lt;a href="mailto:hello@mikebell.io"&gt;email me&lt;/a&gt;&lt;/p&gt;</description></item><item><title>Traveling with Anxiety</title><link>https://mikebell.io/posts/travelling-with-anxiety/</link><pubDate>Thu, 28 Jan 2016 00:00:00 +0000</pubDate><author>hello@mikebell.io (Mike Bell)</author><guid>https://mikebell.io/posts/travelling-with-anxiety/</guid><description>
&lt;p&gt;I’ve been fortunate in my life to be able to travel around a lot, both in the UK and the World. While growing up our family used to go camping a lot, later on we started to go abroad more. I love traveling, meeting new people and experiencing their cultures is just amazing.&lt;/p&gt;
&lt;p&gt;As I grew older things started to change. I think this started around 7 or 8 years ago. I started to become anxious about traveling. I realise now that this was the beginning of a battle with anxiety and depression that would lie under the surface for many years.&lt;/p&gt;
&lt;p&gt;I don’t really understand why this happened, traveling is something that is part of my life.&lt;/p&gt;
&lt;p&gt;One year I was supposed to be taking a family holiday with my brother and parents. We were going skiing, those who have known me for at least 5 minutes know how much I love it. I couldn’t sleep the night before, I was sweaty and shaking, at the time I didn’t realise that I was having a full blown panic attack. I couldn’t go, the feeling of sickness overwhelmed me to the point of no return. To this day my Dad recalls how upset he felt going skiing without me. This has been something that then started to occur more and more.&lt;/p&gt;
&lt;p&gt;I hate my anxiety, it has such a tight hold on me when I travel. It was such a big pain when I was applying to Wunder. I knew I’d have to travel way more than I normally do. On the one hand this is great but on the other it’s tough to deal with the physical and mental side effects (oh yeah they’re fun!).&lt;/p&gt;
&lt;p&gt;The physical side effects of anxiety for me are terrible, it can range from not sleeping, panic attacks to nasty bowel movements. It’s pretty horrible but I love traveling so I manage as best as I can.&lt;/p&gt;
&lt;p&gt;As part of my thought process for joining Wunder I figured that this was going to be an opportunity that I couldn’t resist, traveling and meeting people is very important to me so I decided to not let that be a factor in my application.&lt;/p&gt;
&lt;p&gt;While I’ve come to terms with my depression and overcome it for the most part, anxiety just doesn’t seem to want to go away. I’m slowly learning how to cope with it. I’ve found the following things help quite a lot:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Planning times for all connections.&lt;/li&gt;
&lt;li&gt;Keeping registration documents handy.&lt;/li&gt;
&lt;li&gt;Using TripIt for regular reminders about traveling.&lt;/li&gt;
&lt;li&gt;Making sure my bag is &lt;em&gt;always&lt;/em&gt; packed with useful tools e.g. Power bank for charging usb devices, laptop charger.&lt;/li&gt;
&lt;li&gt;Finding out if someone I know will be around.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;All these things help streamline my anxiety, they don’t get rid of it but they help.&lt;/p&gt;
&lt;p&gt;Thanks for reading via RSS!&lt;/p&gt;
&lt;p&gt;Send me a message on &lt;a href="https://remotelab.uk/mikebell"&gt;Mastodon&lt;/a&gt; or &lt;a href="mailto:hello@mikebell.io"&gt;email me&lt;/a&gt;&lt;/p&gt;</description></item><item><title>Year in review 2015</title><link>https://mikebell.io/posts/2015/</link><pubDate>Mon, 25 Jan 2016 00:00:00 +0000</pubDate><author>hello@mikebell.io (Mike Bell)</author><guid>https://mikebell.io/posts/2015/</guid><description>
&lt;p&gt;Shamelessly stealing from &lt;a href="http://lewisnyman.co.uk/blog/2015/" target="_blank" rel="noreferrer"&gt;Lewis Nymans&lt;/a&gt; great post I figured I&amp;rsquo;d do the same and blog about my 2015.&lt;/p&gt;
&lt;h2 class="relative group"&gt;Engagement!
&lt;div id="engagement" class="anchor"&gt;&lt;/div&gt;
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
&lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#engagement" aria-label="Anchor"&gt;#&lt;/a&gt;
&lt;/span&gt;
&lt;/h2&gt;
&lt;p&gt;December/January saw me get engaged to my partner Hannah, we&amp;rsquo;re set to get married this June which I&amp;rsquo;m looking forward to. It was also around the same time that I damaged my knee. This is something that over a year later is still plauging me.&lt;/p&gt;
&lt;h2 class="relative group"&gt;GLA
&lt;div id="gla" class="anchor"&gt;&lt;/div&gt;
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
&lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#gla" aria-label="Anchor"&gt;#&lt;/a&gt;
&lt;/span&gt;
&lt;/h2&gt;
&lt;p&gt;London.gov.uk went live! A huge achievement from my ex-colleagues at CTI. I&amp;rsquo;m really proud of the site but feel that the technical architecture is very poor, this is something that I&amp;rsquo;ve promised myself I won&amp;rsquo;t repeat at Wunder, I&amp;rsquo;ll try my hardest to get my concerns acted on ASAP.&lt;/p&gt;
&lt;h2 class="relative group"&gt;Drupal 8 Commits
&lt;div id="drupal-8-commits" class="anchor"&gt;&lt;/div&gt;
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
&lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#drupal-8-commits" aria-label="Anchor"&gt;#&lt;/a&gt;
&lt;/span&gt;
&lt;/h2&gt;
&lt;p&gt;I&amp;rsquo;ve finally committed code to Drupal 8, it&amp;rsquo;s not much but it feels like a huge goal for me.&lt;/p&gt;
&lt;h2 class="relative group"&gt;DrupalCon Keynote
&lt;div id="drupalcon-keynote" class="anchor"&gt;&lt;/div&gt;
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
&lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#drupalcon-keynote" aria-label="Anchor"&gt;#&lt;/a&gt;
&lt;/span&gt;
&lt;/h2&gt;
&lt;p&gt;Yup, gave the second half of the community keynote at Barcelona. This is a huge personal achievement for me. I&amp;rsquo;m so happy to have been part of this.&lt;/p&gt;
&lt;h2 class="relative group"&gt;WunderUK
&lt;div id="wunderuk" class="anchor"&gt;&lt;/div&gt;
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
&lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#wunderuk" aria-label="Anchor"&gt;#&lt;/a&gt;
&lt;/span&gt;
&lt;/h2&gt;
&lt;p&gt;In December I decided it was time to move on from CTI. I had a great time at CTI but I wanted to make a change and focus on personal development. The move has been hugely positive and I intend to blog more about it in the future.&lt;/p&gt;
&lt;h2 class="relative group"&gt;Bought a house
&lt;div id="bought-a-house" class="anchor"&gt;&lt;/div&gt;
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
&lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#bought-a-house" aria-label="Anchor"&gt;#&lt;/a&gt;
&lt;/span&gt;
&lt;/h2&gt;
&lt;p&gt;Me and Hannah bought a house together in Manchester, it&amp;rsquo;s a lovely home and it allows us both to spend more time together and to just relax.&lt;/p&gt;
&lt;p&gt;That’s about it, I’m pretty sure there will a boat load of things I’ve missed. Here’s to 2016.&lt;/p&gt;
&lt;p&gt;Thanks for reading via RSS!&lt;/p&gt;
&lt;p&gt;Send me a message on &lt;a href="https://remotelab.uk/mikebell"&gt;Mastodon&lt;/a&gt; or &lt;a href="mailto:hello@mikebell.io"&gt;email me&lt;/a&gt;&lt;/p&gt;</description></item><item><title>Release and Rollback with Robo</title><link>https://mikebell.io/posts/release-and-rollback-with-robo/</link><pubDate>Wed, 06 Jan 2016 00:00:00 +0000</pubDate><author>hello@mikebell.io (Mike Bell)</author><guid>https://mikebell.io/posts/release-and-rollback-with-robo/</guid><description>
&lt;p&gt;I&amp;rsquo;ve been looking for a release management tool for a while now. There are quite a lot of tools to do this but I just couldn&amp;rsquo;t get my head into writing XML for most of them.&lt;/p&gt;
&lt;p&gt;I decided to take a look at &lt;a href="http://robo.li/" target="_blank" rel="noreferrer"&gt;Robo&lt;/a&gt; and see what I could do. Since it&amp;rsquo;s all written in php and can be included in any project with composer it&amp;rsquo;s dead easy to get to grips with.&lt;/p&gt;
&lt;p&gt;My &lt;a href="https://gist.github.com/mikebell/de71ea97bee4332797e9" target="_blank" rel="noreferrer"&gt;RoboFile.php&lt;/a&gt; consists of the following commands:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;setup&lt;/code&gt; - Creates basic directories for use. Use $site to setup path variable.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;composer:build&lt;/code&gt; - Run composer install in your project&lt;/li&gt;
&lt;li&gt;&lt;code&gt;release&lt;/code&gt; - Release a new version of your entire codebase to $site/releases. This also calls &lt;code&gt;composer:build&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;rollback ($version)&lt;/code&gt; - Rollback to the last release or if you pass the unix timestamp of the last release it&amp;rsquo;ll revert to that.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;This leaves you with the following:&lt;/p&gt;
&lt;div class="highlight-wrapper"&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-text" data-lang="text"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;$site
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; /releases
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; /123456789
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; /123456790
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; /current -&amp;gt; 123456789&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;So you can easily point your web server config to &lt;code&gt;$site/releases/current&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;I&amp;rsquo;m not quite happy with using a unix time stamp so will probably replace that with a variable you can pass in as part of the &lt;code&gt;release&lt;/code&gt; task.&lt;/p&gt;
&lt;p&gt;I think this is a fairly nice way of handling release management, it&amp;rsquo;s nice to have something that is easy to jump into.&lt;/p&gt;
&lt;p&gt;Thanks for reading via RSS!&lt;/p&gt;
&lt;p&gt;Send me a message on &lt;a href="https://remotelab.uk/mikebell"&gt;Mastodon&lt;/a&gt; or &lt;a href="mailto:hello@mikebell.io"&gt;email me&lt;/a&gt;&lt;/p&gt;</description></item><item><title>Fun with Sculpin</title><link>https://mikebell.io/posts/fun-with-sculpin/</link><pubDate>Mon, 28 Dec 2015 00:00:00 +0000</pubDate><author>hello@mikebell.io (Mike Bell)</author><guid>https://mikebell.io/posts/fun-with-sculpin/</guid><description>
&lt;p&gt;After migrating my blog over to Sculpin I&amp;rsquo;ve slowly been tweaking things here and there. Over the past few days I&amp;rsquo;ve added the following:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Static social media links to post titles&lt;/li&gt;
&lt;li&gt;Posted time ago on homepage&lt;/li&gt;
&lt;li&gt;Comment counts after read more link&lt;/li&gt;
&lt;li&gt;Gulp all the things&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;It&amp;rsquo;s been quite a lot of fun adding all these features. They all touch a wide range of services and different parts of the site.&lt;/p&gt;
&lt;h3 class="relative group"&gt;Static social media links
&lt;div id="static-social-media-links" class="anchor"&gt;&lt;/div&gt;
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
&lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#static-social-media-links" aria-label="Anchor"&gt;#&lt;/a&gt;
&lt;/span&gt;
&lt;/h3&gt;
&lt;p&gt;These are built with free icons converted into a font and then displayed in a span tag wrapped in a link to the various different social media sites.&lt;/p&gt;
&lt;h3 class="relative group"&gt;Time ago
&lt;div id="time-ago" class="anchor"&gt;&lt;/div&gt;
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
&lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#time-ago" aria-label="Anchor"&gt;#&lt;/a&gt;
&lt;/span&gt;
&lt;/h3&gt;
&lt;p&gt;This uses a jquery plugin called &lt;a href="http://timeago.yarp.com/" target="_blank" rel="noreferrer"&gt;Timeago&lt;/a&gt; which tags onto html outputted by twig, I&amp;rsquo;m slowly getting to grips with twig through examples I find around the web. For some reason I just don&amp;rsquo;t get along with Symfony documentation.&lt;/p&gt;
&lt;h3 class="relative group"&gt;Comment counts
&lt;div id="comment-counts" class="anchor"&gt;&lt;/div&gt;
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
&lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#comment-counts" aria-label="Anchor"&gt;#&lt;/a&gt;
&lt;/span&gt;
&lt;/h3&gt;
&lt;p&gt;This is just javascript taken from Disqus, pain in the ass the get it setup though. Disqus as a whole isn&amp;rsquo;t great.&lt;/p&gt;
&lt;h3 class="relative group"&gt;Gulp
&lt;div id="gulp" class="anchor"&gt;&lt;/div&gt;
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
&lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#gulp" aria-label="Anchor"&gt;#&lt;/a&gt;
&lt;/span&gt;
&lt;/h3&gt;
&lt;p&gt;There is an &lt;a href="https://github.com/sculpin/sculpin/pull/296" target="_blank" rel="noreferrer"&gt;outstanding&lt;/a&gt; pull request with Sculpin which without it makes using &lt;code&gt;sculpin generate --watch --server&lt;/code&gt; painful, serving a page takes over a minute. So I&amp;rsquo;ve basically recreated a lot of the toolchain with gulp. I&amp;rsquo;ve pushed all the code up to the main repo and my gulpfile.js can be found &lt;a href="https://github.com/mikebell/mikebell.io/blob/master/source/gulpfile.js" target="_blank" rel="noreferrer"&gt;here&lt;/a&gt;. Running &lt;code&gt;gulp build&lt;/code&gt; kicks off a series of watch tasks that check the file system for any changes and then reacts based on whats changed. I then serve all the html content through drupalVM which I have permanently running in the background. One of the things I&amp;rsquo;ll love to see from &lt;code&gt;sculpin generate&lt;/code&gt; is the ability to output the compiled site to a different directory outside of the main sculpin repo.&lt;/p&gt;
&lt;p&gt;I&amp;rsquo;ve really enjoyed playing around with all this stuff and it feels good to be learning new things again and coding for pleasure.&lt;/p&gt;
&lt;p&gt;Thanks for reading via RSS!&lt;/p&gt;
&lt;p&gt;Send me a message on &lt;a href="https://remotelab.uk/mikebell"&gt;Mastodon&lt;/a&gt; or &lt;a href="mailto:hello@mikebell.io"&gt;email me&lt;/a&gt;&lt;/p&gt;</description></item><item><title>Personal Development Is Key</title><link>https://mikebell.io/posts/personal-development-is-key/</link><pubDate>Wed, 23 Dec 2015 00:00:00 +0000</pubDate><author>hello@mikebell.io (Mike Bell)</author><guid>https://mikebell.io/posts/personal-development-is-key/</guid><description>
&lt;p&gt;When I decided to leave my last job I had a lot of thoughts running through my head. I knew that moving to WunderUK would be a big change and challenge but I figured it was worth a shot. Of all the thoughts that ran through my head at the time (hell they still do) it was the thought of personal development.&lt;/p&gt;
&lt;p&gt;Let&amp;rsquo;s rewind a bit. For the past decade I&amp;rsquo;ve had time line of goals, I&amp;rsquo;ve not stuck to them accurately, sometimes I&amp;rsquo;d make a big change before a deadline and sometimes after. It&amp;rsquo;s a great way for me to analyse a situation and find out wether I&amp;rsquo;m happy or not. Personal development has always been something I just haven&amp;rsquo;t put much thought into. If someone were to ask me where I&amp;rsquo;d be in 5 years I&amp;rsquo;d think to myself &amp;ldquo;here, why wouldn&amp;rsquo;t I be?&amp;rdquo;.&lt;/p&gt;
&lt;p&gt;This past year things have changed a lot. I realised I can keep on developing and learning new technologies but where will that lead me? What options do I have to make my quality of life and work life balance even better?&lt;/p&gt;
&lt;p&gt;I&amp;rsquo;m still exploring where I want my personal development to lead me but putting my focus on this has opened up a load of possibilities that I just didn&amp;rsquo;t think existed.&lt;/p&gt;
&lt;p&gt;Thanks for reading via RSS!&lt;/p&gt;
&lt;p&gt;Send me a message on &lt;a href="https://remotelab.uk/mikebell"&gt;Mastodon&lt;/a&gt; or &lt;a href="mailto:hello@mikebell.io"&gt;email me&lt;/a&gt;&lt;/p&gt;</description></item><item><title>Easy Auto Renewal with Letsencrypt</title><link>https://mikebell.io/posts/easy-auto-renewal-with-letsencrypt/</link><pubDate>Sun, 20 Dec 2015 00:00:00 +0000</pubDate><author>hello@mikebell.io (Mike Bell)</author><guid>https://mikebell.io/posts/easy-auto-renewal-with-letsencrypt/</guid><description>
&lt;p&gt;After reading a lot of different docs for letsencrypt I couldn&amp;rsquo;t find an easy way of auto renewing my domains simply. So after I&amp;rsquo;ve compiled what I&amp;rsquo;ve found so far.&lt;/p&gt;
&lt;p&gt;Add the following to your nginx conf block block:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;location /.well-known/acme-challenge/ {
alias /var/www/mikebell.io/.well-known/acme-challenge;
try_files $uri =404;
}
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Then add the following to crontab as root:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;0 0 1 * * letsencrypt certonly --webroot -w /var/www/mikebell.io/ -d mikebell.io --renew-by-default
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;The &lt;code&gt;--renew-by-default&lt;/code&gt; is key here since it means that it runs without being interactive.&lt;/p&gt;
&lt;p&gt;Thanks for reading via RSS!&lt;/p&gt;
&lt;p&gt;Send me a message on &lt;a href="https://remotelab.uk/mikebell"&gt;Mastodon&lt;/a&gt; or &lt;a href="mailto:hello@mikebell.io"&gt;email me&lt;/a&gt;&lt;/p&gt;</description></item><item><title>New Blog-ish</title><link>https://mikebell.io/posts/new-blog-ish/</link><pubDate>Sat, 19 Dec 2015 00:00:00 +0000</pubDate><author>hello@mikebell.io (Mike Bell)</author><guid>https://mikebell.io/posts/new-blog-ish/</guid><description>
&lt;p&gt;I&amp;rsquo;ve finally moved my blog from Ghost to Sculpin as you can probably see.&lt;/p&gt;
&lt;p&gt;It&amp;rsquo;s all flat file html now which is generated via jenkins. I&amp;rsquo;m glad to be working with Jenkins again since I never really got on with Bamboo. I have quite a nice setup now. When I push a markdown post to the main repo it then triggers a build in jenkins which generates the css and html before copying it all to the webroot.&lt;/p&gt;
&lt;p&gt;The theme is a modified version of Uno which I used on my Ghost blog. I&amp;rsquo;ve stripped out a load of stuff to make it simpler and styled it a bit, it&amp;rsquo;s not perfect but it&amp;rsquo;ll do. As part of porting the theme I&amp;rsquo;ve started using twig which has it&amp;rsquo;s pros and cons. Currently the html is a bit borked if it displays certain posts, luckily most browsers handle it ok. I&amp;rsquo;ve posted &lt;a href="http://stackoverflow.com/questions/34364111/split-twig-content-after-html-tag" target="_blank" rel="noreferrer"&gt;this&lt;/a&gt; question to see if anyone can help. I&amp;rsquo;ve also started to use Gulp to manage building the theme. I still have a long way to go with it since I need to minify the css and fix the image compression since it doesn&amp;rsquo;t appear to be working.&lt;/p&gt;
&lt;p&gt;The migration was done by &lt;a href="https://packagist.org/packages/mikebell/ghosttosculpin" target="_blank" rel="noreferrer"&gt;ghosttosculpin&lt;/a&gt; which I wrote using Symfony Console. I had a lot of fun writing it and it&amp;rsquo;s my first composer package.&lt;/p&gt;
&lt;p&gt;Huge thanks to &lt;a href="https://twitter.com/opdavies" target="_blank" rel="noreferrer"&gt;Oliver Davies&lt;/a&gt; for helping me get started and providing a good base to work off.&lt;/p&gt;
&lt;p&gt;Thanks for reading via RSS!&lt;/p&gt;
&lt;p&gt;Send me a message on &lt;a href="https://remotelab.uk/mikebell"&gt;Mastodon&lt;/a&gt; or &lt;a href="mailto:hello@mikebell.io"&gt;email me&lt;/a&gt;&lt;/p&gt;</description></item><item><title>Hello World 2.0.0</title><link>https://mikebell.io/posts/hello-world-2-0-0/</link><pubDate>Mon, 14 Dec 2015 00:00:00 +0000</pubDate><author>hello@mikebell.io (Mike Bell)</author><guid>https://mikebell.io/posts/hello-world-2-0-0/</guid><description>
&lt;p&gt;It feels like it&amp;rsquo;s been ages since I last blogged. There are a few reasons for this:&lt;/p&gt;
&lt;h3 class="relative group"&gt;Moved house!
&lt;div id="moved-house" class="anchor"&gt;&lt;/div&gt;
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
&lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#moved-house" aria-label="Anchor"&gt;#&lt;/a&gt;
&lt;/span&gt;
&lt;/h3&gt;
&lt;p&gt;Finally did it! Me and Hannah moved into our lovely new house in Manchester. It was insanely stressful though but we&amp;rsquo;re here. I&amp;rsquo;m just waiting for new sofas to arrive now. It&amp;rsquo;s so nice not to be scared to go home now, to not have to deal with noisy neighbours and just being able to relax.&lt;/p&gt;
&lt;h3 class="relative group"&gt;Micro Projects
&lt;div id="micro-projects" class="anchor"&gt;&lt;/div&gt;
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
&lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#micro-projects" aria-label="Anchor"&gt;#&lt;/a&gt;
&lt;/span&gt;
&lt;/h3&gt;
&lt;p&gt;I&amp;rsquo;ve started building little projects, most can be seen on my github account. I&amp;rsquo;m using this as a quick learning tool. If I have a problem I need to solve then I quickly create a solution to this. A great example of this is &lt;code&gt;tsave&lt;/code&gt; it&amp;rsquo;s a simple flat file storage API for a game I&amp;rsquo;m playing. It allows me to sync save files between machines easily. I&amp;rsquo;ve also been playing around with front end stacks (don&amp;rsquo;t ask&amp;hellip;).&lt;/p&gt;
&lt;h3 class="relative group"&gt;Moving blog platforms
&lt;div id="moving-blog-platforms" class="anchor"&gt;&lt;/div&gt;
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
&lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#moving-blog-platforms" aria-label="Anchor"&gt;#&lt;/a&gt;
&lt;/span&gt;
&lt;/h3&gt;
&lt;p&gt;I&amp;rsquo;m moving from Ghost to Sculpin I just need to sort the styling out on the sculpin site and then it&amp;rsquo;s ready to go. I created my first composer package to handle the migration of the Ghost database which can be found here - &lt;a href="https://packagist.org/packages/mikebell/ghosttosculpin" target="_blank" rel="noreferrer"&gt;https://packagist.org/packages/mikebell/ghosttosculpin&lt;/a&gt;.&lt;/p&gt;
&lt;h3 class="relative group"&gt;Rubber-banding Mental State
&lt;div id="rubber-banding-mental-state" class="anchor"&gt;&lt;/div&gt;
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
&lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#rubber-banding-mental-state" aria-label="Anchor"&gt;#&lt;/a&gt;
&lt;/span&gt;
&lt;/h3&gt;
&lt;p&gt;On to the more negative side of the past few months. In the lead up to GLA going live (w00t we did it) it&amp;rsquo;s been really tough, my mental state has been all over the place. I&amp;rsquo;ve had some pretty dark days which have been tough on Hannah but she&amp;rsquo;s been awesome and looked after me. I&amp;rsquo;ve recovered a bit but I&amp;rsquo;m pretty anxious because:&lt;/p&gt;
&lt;h3 class="relative group"&gt;New Job
&lt;div id="new-job" class="anchor"&gt;&lt;/div&gt;
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
&lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#new-job" aria-label="Anchor"&gt;#&lt;/a&gt;
&lt;/span&gt;
&lt;/h3&gt;
&lt;p&gt;I decided to leave CTI after GLA finished. It was a tough decision as I really really like my colleagues they&amp;rsquo;re such an great bunch. I need a change though and I need to be challenged in a different direction now. So for everyone asking I&amp;rsquo;m moving to WunderUK in the new year after a well deserved break. One of the things I really love about Wunder is how open they are. Even before I applied I read their intranet (yeah it&amp;rsquo;s open - &lt;a href="http://way.wunder.io/" target="_blank" rel="noreferrer"&gt;http://way.wunder.io/&lt;/a&gt; - it&amp;rsquo;s also on github!) and learnt so much stuff. After considering things for a while I decided I&amp;rsquo;d go for it and got it. Joe has published a great article on the hiring process at Wunder - &lt;a href="http://www.wunder.uk/blog/were-changing-way-we-interview-people-%E2%80%93-heres-why-and-what-weve-learnt" target="_blank" rel="noreferrer"&gt;http://www.wunder.uk/blog/were-changing-way-we-interview-people-%E2%80%93-heres-why-and-what-weve-learnt&lt;/a&gt;. Hopefully I&amp;rsquo;ll write something about my experience through this as it was a great experience.&lt;/p&gt;
&lt;h3 class="relative group"&gt;Finally Drupal Easy Podcast
&lt;div id="finally-drupal-easy-podcast" class="anchor"&gt;&lt;/div&gt;
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
&lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#finally-drupal-easy-podcast" aria-label="Anchor"&gt;#&lt;/a&gt;
&lt;/span&gt;
&lt;/h3&gt;
&lt;p&gt;Let me start by saying Mike Anello is in the wrong job! He should be a political broadcaster, his questions were probing and intense. You can catch the episode here - &lt;a href="http://drupaleasy.com/podcast/2015/12/drupaleasy-podcast-166-haulin-cats-mike-bell-mental-health-open-source" target="_blank" rel="noreferrer"&gt;http://drupaleasy.com/podcast/2015/12/drupaleasy-podcast-166-haulin-cats-mike-bell-mental-health-open-source&lt;/a&gt;. This was the hardest thing I&amp;rsquo;ve ever done in terms of discussing mental health. A few times through the whole thing I considered calling it quits since it was making me trigger pretty hard but I stuck through it. This is one podcast that I won&amp;rsquo;t be listening to any time soon, not through the fact it&amp;rsquo;s bad but because it&amp;rsquo;s pretty raw for me. I&amp;rsquo;m still really thankful that I had another opportunity to talk to an audience about MH issues.&lt;/p&gt;
&lt;p&gt;That&amp;rsquo;s about it for this post. Expect more posts in the future maybe, actually scrap that I have a new PS4 and Fallout 4 ready to go. See you in the wastelands.&lt;/p&gt;
&lt;p&gt;Thanks for reading via RSS!&lt;/p&gt;
&lt;p&gt;Send me a message on &lt;a href="https://remotelab.uk/mikebell"&gt;Mastodon&lt;/a&gt; or &lt;a href="mailto:hello@mikebell.io"&gt;email me&lt;/a&gt;&lt;/p&gt;</description></item><item><title>Letter to Alex Hynes of Northern Rail</title><link>https://mikebell.io/posts/letter-to-alex-hynes-of-northern-rail/</link><pubDate>Wed, 18 Nov 2015 00:00:00 +0000</pubDate><author>hello@mikebell.io (Mike Bell)</author><guid>https://mikebell.io/posts/letter-to-alex-hynes-of-northern-rail/</guid><description>
&lt;p&gt;I sent the following email to the CEO of Northern Rail this morning after over a month of frustrating commutes to work.&lt;/p&gt;
&lt;p&gt;Hi Alex,&lt;/p&gt;
&lt;p&gt;I’ve recently moved to Swinton in Manchester and I knew in advance that the area was serviced by Northern Rail so my expectations were lower than what I was used to on First Transpennine I wasn’t quite expecting it to be this bad. Here are the examples of things that have happened in the 1 and a half months since i moved:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Average daily delay is 10-15 minutes. Mostly in a morning. Me and my partner have come to terms with the fact that the train just won’t be there at the time it says.&lt;/li&gt;
&lt;li&gt;Overcrowding, these are busy services I accept this at peak times but not being able to get on the train is not acceptable. One morning I saw a train guard get stuck in the doors as they were closing, it looked painful.&lt;/li&gt;
&lt;li&gt;No drivers. This confuses me, how can there be no driver for a train? Sure everyone is human and things go wrong but are there no spare drivers? My offer of driving it myself was turned down though, I suspect this was because I’m a developer.&lt;/li&gt;
&lt;li&gt;Train going down the wrong line… let me repeat that train… going… down… the… wrong… line! I didn’t know this was possible. Luckily there wasn’t a collision and we were just delayed.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;This is over a small period of time. It’s frustrating beyond belief I want to get to work so I can do my job. If I create bad code then I’m responsible and have to act on it.&lt;/p&gt;
&lt;p&gt;Will Northern Rail be improving the service? We need more reliable services, more trains to ease overcrowding and a better service overall.&lt;/p&gt;
&lt;p&gt;Regards,
Mike Bell&lt;/p&gt;
&lt;p&gt;Thanks for reading via RSS!&lt;/p&gt;
&lt;p&gt;Send me a message on &lt;a href="https://remotelab.uk/mikebell"&gt;Mastodon&lt;/a&gt; or &lt;a href="mailto:hello@mikebell.io"&gt;email me&lt;/a&gt;&lt;/p&gt;</description></item><item><title>Depression is Exhausting</title><link>https://mikebell.io/posts/depression-is-exhausting/</link><pubDate>Thu, 05 Nov 2015 00:00:00 +0000</pubDate><author>hello@mikebell.io (Mike Bell)</author><guid>https://mikebell.io/posts/depression-is-exhausting/</guid><description>
&lt;p&gt;I&amp;rsquo;m tired, I&amp;rsquo;m exhausted. I&amp;rsquo;m mentally fucked.&lt;/p&gt;
&lt;p&gt;I had my first &amp;ldquo;official&amp;rdquo; appraisal today and I still can&amp;rsquo;t shake the feeling that I&amp;rsquo;ve fucked up. That I&amp;rsquo;m not good enough and everything is my fault.&lt;/p&gt;
&lt;p&gt;I&amp;rsquo;m not even sure it is but at the moment I just feel like I should crawl into a ball and forgot that I exist.&lt;/p&gt;
&lt;p&gt;There&amp;rsquo;s one part of the appraisal that has really shocked and upset me. Dependability. My &amp;ldquo;dependability&amp;rdquo; is less than satisfactory or some other equally negative wording. I don&amp;rsquo;t really know what to say about that. I feel like I&amp;rsquo;ve failed totally. I hope that my friends don&amp;rsquo;t think that.&lt;/p&gt;
&lt;p&gt;I&amp;rsquo;m putting up a front, that I&amp;rsquo;m fine. The front is breaking and the cracks are showing.&lt;/p&gt;
&lt;p&gt;I&amp;rsquo;m acutely aware of how risky it is putting stuff like this out there. I&amp;rsquo;m worried that I&amp;rsquo;ll be pulled up at work for things I say here. I&amp;rsquo;m worried that it&amp;rsquo;ll effect my future employability. I live this half life where I&amp;rsquo;m constantly worried I&amp;rsquo;ll hurt people and myself yet can pass as a normal human being. I&amp;rsquo;m sat here watching Hannah clean because we have guests tomorrow and I want to cry. I don&amp;rsquo;t want to hurt those I love. I want to get better but today just seems like a lost cause.&lt;/p&gt;
&lt;p&gt;Thanks for reading via RSS!&lt;/p&gt;
&lt;p&gt;Send me a message on &lt;a href="https://remotelab.uk/mikebell"&gt;Mastodon&lt;/a&gt; or &lt;a href="mailto:hello@mikebell.io"&gt;email me&lt;/a&gt;&lt;/p&gt;</description></item><item><title>Home Office!</title><link>https://mikebell.io/posts/home-office/</link><pubDate>Sun, 18 Oct 2015 00:00:00 +0000</pubDate><author>hello@mikebell.io (Mike Bell)</author><guid>https://mikebell.io/posts/home-office/</guid><description>
&lt;p&gt;Since moving to a new house I have an proper office for the first time so I&amp;rsquo;m determined to get it right.&lt;/p&gt;
&lt;p&gt;I asked on twitter what remote workers would suggest, here are the results:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Coffee shops as a nice change of scenery - &lt;a href="https://twitter.com/jjmu15" target="_blank" rel="noreferrer"&gt;@jjmu15&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;A recurring theme is good headphones!&lt;/li&gt;
&lt;li&gt;A closed door to indicate &amp;ldquo;do no disturb&amp;rdquo; - &lt;a href="https://twitter.com/blakehall" target="_blank" rel="noreferrer"&gt;@blakehall&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Good music - &lt;a href="https://twitter.com/jbloomfield" target="_blank" rel="noreferrer"&gt;@jbloomfield&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Good coffee (duh!) - &lt;a href="https://twitter.com/jbloomfield" target="_blank" rel="noreferrer"&gt;@jbloomfield&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Comfortable chair - &lt;a href="https://twitter.com/hussainweb" target="_blank" rel="noreferrer"&gt;@hussainweb&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Good lighting - &lt;a href="https://twitter.com/lewisnyman" target="_blank" rel="noreferrer"&gt;@lewisnyman&lt;/a&gt; &lt;a href="https://twitter.com/hussainweb" target="_blank" rel="noreferrer"&gt;@hussainweb&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Good mic - &lt;a href="https://twitter.com/longwave" target="_blank" rel="noreferrer"&gt;@longwave&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;I have most of these already so it&amp;rsquo;s just a case of getting it actually set up.&lt;/p&gt;
&lt;p&gt;My keyboard is pretty loud so not sure how that&amp;rsquo;s going to go down!&lt;/p&gt;
&lt;p&gt;Thanks for reading via RSS!&lt;/p&gt;
&lt;p&gt;Send me a message on &lt;a href="https://remotelab.uk/mikebell"&gt;Mastodon&lt;/a&gt; or &lt;a href="mailto:hello@mikebell.io"&gt;email me&lt;/a&gt;&lt;/p&gt;</description></item><item><title>I fucked up</title><link>https://mikebell.io/posts/i-fucked-up/</link><pubDate>Wed, 14 Oct 2015 00:00:00 +0000</pubDate><author>hello@mikebell.io (Mike Bell)</author><guid>https://mikebell.io/posts/i-fucked-up/</guid><description>
&lt;p&gt;I fucked up and I fucked up badly.&lt;/p&gt;
&lt;p&gt;A few months ago I went cold turkey on propranolol (against all feedback) and after a few weeks the side effects went away and I was fine.&lt;/p&gt;
&lt;p&gt;A week ago I decided to stop taking Citalopram cold turkey. This was not a good idea.&lt;/p&gt;
&lt;p&gt;Currently I&amp;rsquo;m suffering from withdrawal symptoms, they&amp;rsquo;re not very nice and they make working and life very difficult.&lt;/p&gt;
&lt;p&gt;My symptoms include:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Hazy head&lt;/li&gt;
&lt;li&gt;Extreme emotions&lt;/li&gt;
&lt;li&gt;Quick to anger&lt;/li&gt;
&lt;li&gt;Tension headaches&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;I&amp;rsquo;ve learnt my lesson and I&amp;rsquo;m going back up to 20mg and will sort out tapering off properly.&lt;/p&gt;
&lt;p&gt;UPDATE: Today I&amp;rsquo;m feeling better after going back on them, still a bit hazy and my head aches but I&amp;rsquo;m a lot better. Don&amp;rsquo;t fuck around with SSRIs&lt;/p&gt;
&lt;p&gt;Thanks for reading via RSS!&lt;/p&gt;
&lt;p&gt;Send me a message on &lt;a href="https://remotelab.uk/mikebell"&gt;Mastodon&lt;/a&gt; or &lt;a href="mailto:hello@mikebell.io"&gt;email me&lt;/a&gt;&lt;/p&gt;</description></item><item><title>Finite Energy</title><link>https://mikebell.io/posts/finite-energy/</link><pubDate>Tue, 13 Oct 2015 00:00:00 +0000</pubDate><author>hello@mikebell.io (Mike Bell)</author><guid>https://mikebell.io/posts/finite-energy/</guid><description>
&lt;p&gt;I have a finite amount of energy. My energy comes in a few different forms, all important to how I feel on a day to day basis.&lt;/p&gt;
&lt;p&gt;I find myself applying energy in the wrong place now. Energy that I put in often doesn&amp;rsquo;t yield the results I expect or frankly deserve. I&amp;rsquo;ve found myself questioning more of my decisions recently and the outcome of that has been eye opening to me.&lt;/p&gt;
&lt;p&gt;At the moment I put my energy in to the following things:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Work, coding and process.&lt;/li&gt;
&lt;li&gt;House&lt;/li&gt;
&lt;li&gt;Family&lt;/li&gt;
&lt;li&gt;Community&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;The energy I put into all these things is something I&amp;rsquo;m quite proud of considering my situation however I&amp;rsquo;ve been slowly changing things.&lt;/p&gt;
&lt;p&gt;I&amp;rsquo;m shifting my energy from work (except coding) because I don&amp;rsquo;t get the results I expect out of it. It&amp;rsquo;s a waste of energy to be involved in process when I enjoy coding so much. This is pretty tough though, I have a lot of pride in what I do, I strive to always do my best, promote coding standards, limit and remove technical debt. All these things I enjoy so much. But I think I&amp;rsquo;m getting too invested in the project and end product. The energy I put in does not equal the return I get. I spend too much time being worried, nervous and down at how things are going even though I&amp;rsquo;m doing my best.&lt;/p&gt;
&lt;p&gt;Now that I&amp;rsquo;ve moved into my new house I need to focus more energy on it, there are so many little things that need doing (which reminds me I need to sort the washing machine out tonight!). The return of energy in my house is enormous being able to come home and crash on my sofa is amazing.&lt;/p&gt;
&lt;p&gt;With the new house comes Hannah, she&amp;rsquo;s awesome and deserves me at my best without her I don&amp;rsquo;t think any of this would be worth it.&lt;/p&gt;
&lt;p&gt;Community has always been something I love, I want to spend even more time working in it. This comes in two forms. I intend to submit as many CFPs as possible over the next few months and I want to commit even more code to contributed projects. There&amp;rsquo;s a buzz I get from working with the Drupal/PHP community that just can&amp;rsquo;t be beaten.&lt;/p&gt;
&lt;p&gt;With the end of this post comes a new caveat to my blog:&lt;/p&gt;
&lt;p&gt;Views and opinions represented here are mine and not representative of my employer.&lt;/p&gt;
&lt;p&gt;Thanks for reading via RSS!&lt;/p&gt;
&lt;p&gt;Send me a message on &lt;a href="https://remotelab.uk/mikebell"&gt;Mastodon&lt;/a&gt; or &lt;a href="mailto:hello@mikebell.io"&gt;email me&lt;/a&gt;&lt;/p&gt;</description></item><item><title>A little update</title><link>https://mikebell.io/posts/a-little-update/</link><pubDate>Tue, 06 Oct 2015 00:00:00 +0000</pubDate><author>hello@mikebell.io (Mike Bell)</author><guid>https://mikebell.io/posts/a-little-update/</guid><description>
&lt;p&gt;The past three weeks have been crazy.&lt;/p&gt;
&lt;p&gt;Week 1 - Barcelona&lt;/p&gt;
&lt;p&gt;Week 2 - Packing house&lt;/p&gt;
&lt;p&gt;Week 3 - PHPNW&lt;/p&gt;
&lt;p&gt;Now - Moved in&lt;/p&gt;
&lt;p&gt;So lets just recap, I keynoted at Barcelona, packed up my flat, spoke at PHPNW and then moved house the day after.&lt;/p&gt;
&lt;p&gt;I&amp;rsquo;m shattered, mentally and physically now. I&amp;rsquo;ve got a few blog posts in draft about both DrupalCon and PHPNW which I&amp;rsquo;ll put out when I get chance. For the time being I have to tether of my phone and I&amp;rsquo;m loving snuggling on the couch with Hannah so I&amp;rsquo;m scaling back my online access for a bit.&lt;/p&gt;
&lt;p&gt;Thanks for reading via RSS!&lt;/p&gt;
&lt;p&gt;Send me a message on &lt;a href="https://remotelab.uk/mikebell"&gt;Mastodon&lt;/a&gt; or &lt;a href="mailto:hello@mikebell.io"&gt;email me&lt;/a&gt;&lt;/p&gt;</description></item><item><title>Coming to terms with contribution</title><link>https://mikebell.io/posts/coming-to-terms-with-contribution/</link><pubDate>Fri, 25 Sep 2015 00:00:00 +0000</pubDate><author>hello@mikebell.io (Mike Bell)</author><guid>https://mikebell.io/posts/coming-to-terms-with-contribution/</guid><description>
&lt;p&gt;For a long time I wanted to contributed code to Drupal, I have a few times but no where near as much as I thought I was going to do.&lt;/p&gt;
&lt;p&gt;I&amp;rsquo;ve been thinking about what this really means to me and where my contributions come from. I&amp;rsquo;ve only just come to terms with the fact that my contributions don&amp;rsquo;t lie within code but belong in contributing to the community.&lt;/p&gt;
&lt;p&gt;Over the next few months I&amp;rsquo;ll be doing a few things:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Working with Adam Hill to make communication in the Drupal UK community a bit easier.&lt;/li&gt;
&lt;li&gt;Helping Phil and Eli to grow NWDUG and take pressure off Phil.&lt;/li&gt;
&lt;li&gt;Speaking at PHPNW&lt;/li&gt;
&lt;li&gt;Other stuff&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;I seem to be quite comfortable doing this so I&amp;rsquo;ll carry on!&lt;/p&gt;
&lt;p&gt;Thanks for reading via RSS!&lt;/p&gt;
&lt;p&gt;Send me a message on &lt;a href="https://remotelab.uk/mikebell"&gt;Mastodon&lt;/a&gt; or &lt;a href="mailto:hello@mikebell.io"&gt;email me&lt;/a&gt;&lt;/p&gt;</description></item><item><title>Did someone say hello?</title><link>https://mikebell.io/posts/did-someone-say-hello/</link><pubDate>Sat, 12 Sep 2015 00:00:00 +0000</pubDate><author>hello@mikebell.io (Mike Bell)</author><guid>https://mikebell.io/posts/did-someone-say-hello/</guid><description>
&lt;p&gt;This week I&amp;rsquo;ve found out I run a ridiculous amount of chat apps.&lt;/p&gt;
&lt;p&gt;Here is a run down of what I have on my macbook:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Hipchat - for work&lt;/li&gt;
&lt;li&gt;Skype - for dad and freelance work&lt;/li&gt;
&lt;li&gt;Airdroid - for my phone&lt;/li&gt;
&lt;li&gt;Pidgin/Adium - for hangouts, mostly to contact Hannah and Eli&lt;/li&gt;
&lt;li&gt;Slack - for NWDUG community&lt;/li&gt;
&lt;li&gt;Limechat - for #drupaluk and #phpnw&lt;/li&gt;
&lt;li&gt;Steam friends - not often used&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;All these apps fall into specific categories; work, social and play. It seems very excessive.&lt;/p&gt;
&lt;p&gt;Thanks for reading via RSS!&lt;/p&gt;
&lt;p&gt;Send me a message on &lt;a href="https://remotelab.uk/mikebell"&gt;Mastodon&lt;/a&gt; or &lt;a href="mailto:hello@mikebell.io"&gt;email me&lt;/a&gt;&lt;/p&gt;</description></item><item><title>Running Rocket League on Ubuntu</title><link>https://mikebell.io/posts/running-rock-league-on-ubuntu/</link><pubDate>Fri, 28 Aug 2015 00:00:00 +0000</pubDate><author>hello@mikebell.io (Mike Bell)</author><guid>https://mikebell.io/posts/running-rock-league-on-ubuntu/</guid><description>
&lt;p&gt;This has taken me way longer to work out than it should so I figured I&amp;rsquo;d write this up so people can use it while they wait until Rocket League comes out for linux.&lt;/p&gt;
&lt;p&gt;I&amp;rsquo;m running Ubuntu Mate 15.04 with the latest version of Playonlinux and XBox 360 Wired controller.&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Install playonlinux&lt;/li&gt;
&lt;li&gt;Install steam using playonlinux&lt;/li&gt;
&lt;li&gt;Once it&amp;rsquo;s installed click configure&lt;/li&gt;
&lt;li&gt;Click install components&lt;/li&gt;
&lt;li&gt;Install dotnet4.5&lt;/li&gt;
&lt;li&gt;Wait freaking ages&lt;/li&gt;
&lt;li&gt;Install directx9&lt;/li&gt;
&lt;li&gt;Run steam&lt;/li&gt;
&lt;li&gt;Install Rocket League&lt;/li&gt;
&lt;li&gt;Wait&amp;hellip;.&lt;/li&gt;
&lt;li&gt;Download the 32bit version of &lt;a href="https://github.com/x360ce/x360ce" target="_blank" rel="noreferrer"&gt;https://github.com/x360ce/x360ce&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Move x360ce.exe into the Rocket League folder inside the the virtual machine&lt;/li&gt;
&lt;li&gt;Open steam and then run x360ce.exe&lt;/li&gt;
&lt;li&gt;Configure your controller&lt;/li&gt;
&lt;li&gt;Run Rocket League&lt;/li&gt;
&lt;li&gt;Play badly.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Hopefully this will help people play a really cool game.&lt;/p&gt;
&lt;p&gt;Thanks for reading via RSS!&lt;/p&gt;
&lt;p&gt;Send me a message on &lt;a href="https://remotelab.uk/mikebell"&gt;Mastodon&lt;/a&gt; or &lt;a href="mailto:hello@mikebell.io"&gt;email me&lt;/a&gt;&lt;/p&gt;</description></item><item><title>Alone in a room of hundreds</title><link>https://mikebell.io/posts/alone-in-a-room-of-hundreds/</link><pubDate>Wed, 19 Aug 2015 00:00:00 +0000</pubDate><author>hello@mikebell.io (Mike Bell)</author><guid>https://mikebell.io/posts/alone-in-a-room-of-hundreds/</guid><description>
&lt;p&gt;Conference season is looming pretty fast, I&amp;rsquo;m giving talks at two of my most respected conferences.&lt;/p&gt;
&lt;p&gt;Being able to talk is a great thing, I love the fact that I can do it what I don&amp;rsquo;t like is the afterwards. It&amp;rsquo;s an odd time, the adrenalin is fading and tiredness overwhelms me. I usually spend the rest of the day (or what&amp;rsquo;s left of it) wandering around taking questions and attending sessions. In the evening there are usually parties so I attend them in the hope of catching up with old and new friends.&lt;/p&gt;
&lt;p&gt;But&amp;hellip; I can&amp;rsquo;t help but feel alone in a room of hundreds. I noticed this at last years PHPNW, I was stood in the middle of the main party and I just felt alone.&lt;/p&gt;
&lt;p&gt;This year is going to be different, I want to make new friends, I want to meet people who are my heroes in both the PHP and Drupal community. I don&amp;rsquo;t want to be known as digita| on IRC, I&amp;rsquo;m Mike.&lt;/p&gt;
&lt;p&gt;And I think that&amp;rsquo;s it, I&amp;rsquo;m Mike if you see me at PHPNW or DrupalCon Barcelona come say hi, I&amp;rsquo;ll try not to be too awkward.&lt;/p&gt;
&lt;p&gt;Thanks for reading via RSS!&lt;/p&gt;
&lt;p&gt;Send me a message on &lt;a href="https://remotelab.uk/mikebell"&gt;Mastodon&lt;/a&gt; or &lt;a href="mailto:hello@mikebell.io"&gt;email me&lt;/a&gt;&lt;/p&gt;</description></item><item><title>Operation Positive - Day 8</title><link>https://mikebell.io/posts/operation-positive-day-8/</link><pubDate>Wed, 05 Aug 2015 00:00:00 +0000</pubDate><author>hello@mikebell.io (Mike Bell)</author><guid>https://mikebell.io/posts/operation-positive-day-8/</guid><description>
&lt;p&gt;Status: Failish&lt;/p&gt;
&lt;p&gt;I seem to have been all over the place today. Didn&amp;rsquo;t really get chance to focus on something for more than 5 minutes.&lt;/p&gt;
&lt;p&gt;Went to nwdug though and I remember why it&amp;rsquo;s such an important part of the Manchester Drupal scene.&lt;/p&gt;
&lt;p&gt;Thanks for reading via RSS!&lt;/p&gt;
&lt;p&gt;Send me a message on &lt;a href="https://remotelab.uk/mikebell"&gt;Mastodon&lt;/a&gt; or &lt;a href="mailto:hello@mikebell.io"&gt;email me&lt;/a&gt;&lt;/p&gt;</description></item><item><title>Operation Positive - Day 6</title><link>https://mikebell.io/posts/operation-positive-day-6/</link><pubDate>Tue, 04 Aug 2015 00:00:00 +0000</pubDate><author>hello@mikebell.io (Mike Bell)</author><guid>https://mikebell.io/posts/operation-positive-day-6/</guid><description>
&lt;p&gt;Status: Success&lt;/p&gt;
&lt;p&gt;Pretty good day overall, stayed calm regardless of what&amp;rsquo;s going on.&lt;/p&gt;
&lt;p&gt;Prepping for my presentation on Wednesday which is actually pretty cool. Added a stupid feature to drush-docset so I can demonstrate it.&lt;/p&gt;
&lt;p&gt;The International is on as well so that&amp;rsquo;s keeping me happy!&lt;/p&gt;
&lt;p&gt;Thanks for reading via RSS!&lt;/p&gt;
&lt;p&gt;Send me a message on &lt;a href="https://remotelab.uk/mikebell"&gt;Mastodon&lt;/a&gt; or &lt;a href="mailto:hello@mikebell.io"&gt;email me&lt;/a&gt;&lt;/p&gt;</description></item><item><title>Operation Positive - Day 7</title><link>https://mikebell.io/posts/operation-positive-day-7/</link><pubDate>Tue, 04 Aug 2015 00:00:00 +0000</pubDate><author>hello@mikebell.io (Mike Bell)</author><guid>https://mikebell.io/posts/operation-positive-day-7/</guid><description>
&lt;p&gt;Status: Fail&lt;/p&gt;
&lt;p&gt;Just couldn&amp;rsquo;t seem to get into today at all. Didn&amp;rsquo;t help that I had no appetite all day and only had porridge for lunch. Coffee did nothing to help me at all.&lt;/p&gt;
&lt;p&gt;Pretty much everything I worked on today was one of those problems where the only solution was to just start all over again.&lt;/p&gt;
&lt;p&gt;I find it really tough to be positive sometimes.&lt;/p&gt;
&lt;p&gt;Thanks for reading via RSS!&lt;/p&gt;
&lt;p&gt;Send me a message on &lt;a href="https://remotelab.uk/mikebell"&gt;Mastodon&lt;/a&gt; or &lt;a href="mailto:hello@mikebell.io"&gt;email me&lt;/a&gt;&lt;/p&gt;</description></item><item><title>Operation Positive - Day 4</title><link>https://mikebell.io/posts/operation-positive-day-4/</link><pubDate>Sun, 02 Aug 2015 00:00:00 +0000</pubDate><author>hello@mikebell.io (Mike Bell)</author><guid>https://mikebell.io/posts/operation-positive-day-4/</guid><description>
&lt;p&gt;Status: Success-ish&lt;/p&gt;
&lt;p&gt;Still so tired from London. Had a relaxing morning and afternoon though.&lt;/p&gt;
&lt;p&gt;Hannah came over in the evening and we went for food and drinks which was great. Always feel positive when she&amp;rsquo;s around.&lt;/p&gt;
&lt;p&gt;Thanks for reading via RSS!&lt;/p&gt;
&lt;p&gt;Send me a message on &lt;a href="https://remotelab.uk/mikebell"&gt;Mastodon&lt;/a&gt; or &lt;a href="mailto:hello@mikebell.io"&gt;email me&lt;/a&gt;&lt;/p&gt;</description></item><item><title>Operation Positive - Day 5</title><link>https://mikebell.io/posts/operation-positive-day-5/</link><pubDate>Sun, 02 Aug 2015 00:00:00 +0000</pubDate><author>hello@mikebell.io (Mike Bell)</author><guid>https://mikebell.io/posts/operation-positive-day-5/</guid><description>
&lt;p&gt;Status: Success!!!&lt;/p&gt;
&lt;p&gt;Woke up next to Hannah and she was smiling, that&amp;rsquo;s a very nice way to start the day. Really looking forward into our house.&lt;/p&gt;
&lt;p&gt;I&amp;rsquo;m still shattered from London but I&amp;rsquo;m coming round.&lt;/p&gt;
&lt;p&gt;No negative thoughts today which is pretty impressive.&lt;/p&gt;
&lt;p&gt;Thanks for reading via RSS!&lt;/p&gt;
&lt;p&gt;Send me a message on &lt;a href="https://remotelab.uk/mikebell"&gt;Mastodon&lt;/a&gt; or &lt;a href="mailto:hello@mikebell.io"&gt;email me&lt;/a&gt;&lt;/p&gt;</description></item><item><title>Operation Positive - Day 3</title><link>https://mikebell.io/posts/operation-positive-day-3/</link><pubDate>Fri, 31 Jul 2015 00:00:00 +0000</pubDate><author>hello@mikebell.io (Mike Bell)</author><guid>https://mikebell.io/posts/operation-positive-day-3/</guid><description>
&lt;p&gt;Status: fail&lt;/p&gt;
&lt;p&gt;I&amp;rsquo;m so tired. London really kills me. It doesn&amp;rsquo;t help that my train was cancelled for the second time in a row.&lt;/p&gt;
&lt;p&gt;I don&amp;rsquo;t really have much to say today, the only real positive was that I got to work on some static site search research and look into twig a bit more.&lt;/p&gt;
&lt;p&gt;Thanks for reading via RSS!&lt;/p&gt;
&lt;p&gt;Send me a message on &lt;a href="https://remotelab.uk/mikebell"&gt;Mastodon&lt;/a&gt; or &lt;a href="mailto:hello@mikebell.io"&gt;email me&lt;/a&gt;&lt;/p&gt;</description></item><item><title>Operation Positive - Day 2</title><link>https://mikebell.io/posts/operation-positive-day-2/</link><pubDate>Thu, 30 Jul 2015 00:00:00 +0000</pubDate><author>hello@mikebell.io (Mike Bell)</author><guid>https://mikebell.io/posts/operation-positive-day-2/</guid><description>
&lt;p&gt;Status: Fail&lt;/p&gt;
&lt;p&gt;Overall I think today was worse but I can&amp;rsquo;t put my finger on why, maybe I just wasn&amp;rsquo;t trying hard enough.&lt;/p&gt;
&lt;p&gt;I think that various stresses throughout the day didn&amp;rsquo;t help.&lt;/p&gt;
&lt;p&gt;Games night was great though, I had so much fun playing Munchkin and just relaxing with friends.&lt;/p&gt;
&lt;p&gt;Here&amp;rsquo;s to tomorrow!&lt;/p&gt;
&lt;p&gt;Thanks for reading via RSS!&lt;/p&gt;
&lt;p&gt;Send me a message on &lt;a href="https://remotelab.uk/mikebell"&gt;Mastodon&lt;/a&gt; or &lt;a href="mailto:hello@mikebell.io"&gt;email me&lt;/a&gt;&lt;/p&gt;</description></item><item><title>Operation Positive - Day 1</title><link>https://mikebell.io/posts/operation-positive-day-1/</link><pubDate>Wed, 29 Jul 2015 00:00:00 +0000</pubDate><author>hello@mikebell.io (Mike Bell)</author><guid>https://mikebell.io/posts/operation-positive-day-1/</guid><description>
&lt;p&gt;Status: Fail&lt;/p&gt;
&lt;p&gt;Today was the first day of Operation Positive. The challenge is to not to be negative in the aim of changing how I think.&lt;/p&gt;
&lt;p&gt;It was a failure but that was to be expected and not a huge problem. Below are things from the day that are note worthy:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;I ran the internal retrospective there were negative things on there. Way more positive things though!&lt;/li&gt;
&lt;li&gt;Many meetings, my default state is all meetings are bad even if they aren&amp;rsquo;t.&lt;/li&gt;
&lt;li&gt;Struggling to feel like I&amp;rsquo;m doing a good job.&lt;/li&gt;
&lt;li&gt;Staying positive is hard and tiring.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;I&amp;rsquo;ll try and blog everyday on how things are going. It should be interesting to see how forcing myself to be positive works out. I&amp;rsquo;m also want to write more about my daily work and how it makes me feel but it&amp;rsquo;s always difficult to word things so people don&amp;rsquo;t panic, so we&amp;rsquo;ll see how that goes.&lt;/p&gt;
&lt;p&gt;Thanks for reading via RSS!&lt;/p&gt;
&lt;p&gt;Send me a message on &lt;a href="https://remotelab.uk/mikebell"&gt;Mastodon&lt;/a&gt; or &lt;a href="mailto:hello@mikebell.io"&gt;email me&lt;/a&gt;&lt;/p&gt;</description></item><item><title>Sunrise &amp; Sunset</title><link>https://mikebell.io/posts/sunrise-and-sunset/</link><pubDate>Mon, 06 Jul 2015 00:00:00 +0000</pubDate><author>hello@mikebell.io (Mike Bell)</author><guid>https://mikebell.io/posts/sunrise-and-sunset/</guid><description>
&lt;p&gt;Three tracks that are totally awesome, they embody a full day from sunrise to sunset.&lt;/p&gt;
&lt;iframe src="https://embed.spotify.com/?uri=spotify:user:eosph:playlist:0YRDKjk7USwcnHG3zq5uQQ" width="300" height="380" frameborder="0" allowtransparency="true"&gt;&lt;/iframe&gt;
&lt;p&gt;Thanks for reading via RSS!&lt;/p&gt;
&lt;p&gt;Send me a message on &lt;a href="https://remotelab.uk/mikebell"&gt;Mastodon&lt;/a&gt; or &lt;a href="mailto:hello@mikebell.io"&gt;email me&lt;/a&gt;&lt;/p&gt;</description></item><item><title>The Red Side of Mental Health</title><link>https://mikebell.io/posts/the-red-side-of-mental-health/</link><pubDate>Thu, 02 Jul 2015 00:00:00 +0000</pubDate><author>hello@mikebell.io (Mike Bell)</author><guid>https://mikebell.io/posts/the-red-side-of-mental-health/</guid><description>
&lt;p&gt;There&amp;rsquo;s a side of mental health that I haven&amp;rsquo;t openly talked about. That side is money. Not an easy thing to talk about.&lt;/p&gt;
&lt;p&gt;When I went off work I was on full paid leave for the maximum amount of days, I then went on to statutory. Statutory didn&amp;rsquo;t even cover my rent so I blew through &lt;em&gt;all&lt;/em&gt; my savings while I was off work.&lt;/p&gt;
&lt;p&gt;Like mental health in general the financial recovery has been difficult. I could have made it a lot easier on myself but I thought it was important to at least keep up with at least 60-70% of my normal life.&lt;/p&gt;
&lt;p&gt;Last month was the first month I&amp;rsquo;ve been out of my overdraft, it marks another step in my recovery, it makes things like houses, holidays and children more of a reality.&lt;/p&gt;
&lt;p&gt;Thanks for reading via RSS!&lt;/p&gt;
&lt;p&gt;Send me a message on &lt;a href="https://remotelab.uk/mikebell"&gt;Mastodon&lt;/a&gt; or &lt;a href="mailto:hello@mikebell.io"&gt;email me&lt;/a&gt;&lt;/p&gt;</description></item><item><title>Drupalcon Barcelona</title><link>https://mikebell.io/posts/drupalcon-barcelona/</link><pubDate>Sat, 27 Jun 2015 00:00:00 +0000</pubDate><author>hello@mikebell.io (Mike Bell)</author><guid>https://mikebell.io/posts/drupalcon-barcelona/</guid><description>
&lt;p&gt;&lt;strong&gt;This is an unpublished post that I&amp;rsquo;ve only just got round to posting.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;I&amp;rsquo;m writing this 3 days before everyone finds out that I&amp;rsquo;ll be part of the Thursday keynote. Let me back track a bit.&lt;/p&gt;
&lt;p&gt;19th July - Friday - I published a blog post with my candid take on the week. I went to bed then at 00:15 my phone dinged. Hannah was out so figured it was her getting in touch, I have pretty stringent rules on my phone so only the most important notifications ping me. I check my phone to see an email from Amanda Gosner, my session was accepted. I check the details WTF??? Why is my session only 25 minutes long, queue re-reading the email, Keynote? Wait backtrack a bit.&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;I&amp;rsquo;ve been accepted to DrupalCon Barcelona&lt;/li&gt;
&lt;li&gt;I&amp;rsquo;ve been given part of a Keynote.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Sleep was not easy that night!&lt;/p&gt;
&lt;p&gt;So, I&amp;rsquo;ll be keynoting on the Thursday morning on Mental Health. Keeping this quiet has not been easy, I want to shout it from the roof tops, I want to make sure that as many people as possible come, Thursday morning keynote will be a tough time, a week of drinking and coding will mean that people are tired but seriously this stuff is important. I wouldn&amp;rsquo;t be given then stage if it wasn&amp;rsquo;t.&lt;/p&gt;
&lt;p&gt;It&amp;rsquo;s not really sunk in yet but there&amp;rsquo;s a lot of things going through my head. I have a lot to live up to, not an easy challenge considering I live every day with Imposter Syndrome. It&amp;rsquo;ll be a good experience either way.&lt;/p&gt;
&lt;p&gt;Thanks for reading via RSS!&lt;/p&gt;
&lt;p&gt;Send me a message on &lt;a href="https://remotelab.uk/mikebell"&gt;Mastodon&lt;/a&gt; or &lt;a href="mailto:hello@mikebell.io"&gt;email me&lt;/a&gt;&lt;/p&gt;</description></item><item><title>Life is fucking tough.</title><link>https://mikebell.io/posts/life-is-fucking-tough/</link><pubDate>Fri, 19 Jun 2015 00:00:00 +0000</pubDate><author>hello@mikebell.io (Mike Bell)</author><guid>https://mikebell.io/posts/life-is-fucking-tough/</guid><description>
&lt;p&gt;This week has been tough.&lt;/p&gt;
&lt;p&gt;Fucking tough.&lt;/p&gt;
&lt;p&gt;I&amp;rsquo;d like to think I was transparent about things. I aim to be. But it&amp;rsquo;s tough. I skirt the line of being offensive/hyper critical/moaning old bastard. I have to be careful of what I say out of some kind of fucking moral code (sorry for the swearing mum).&lt;/p&gt;
&lt;p&gt;I have a love hate relationship with development, I&amp;rsquo;m working two jobs, my day job and my projects outside of work. One keeps the bills paid the other keeps me interested in PHP. It&amp;rsquo;s an odd balance.&lt;/p&gt;
&lt;p&gt;I&amp;rsquo;m rambling&amp;hellip; this week has been tough. It&amp;rsquo;s no secret I&amp;rsquo;m working on the biggest project of my career. It&amp;rsquo;s an ok project, parts of it are genuinley challenging which as a developer I relish. I was supposed to be in London today but the mental and physical costs to me personally far out weigh that of the company, it&amp;rsquo;s an odd thing to say but highly relevant in a culture that values the job over life.&lt;/p&gt;
&lt;p&gt;But yeah this week has been tough. I&amp;rsquo;ve felt things I never wanted to feel again, the panic, the dark thoughts that scare me. I&amp;rsquo;m lucky enough to have Hannah who I can turn to whenever things get dark. She&amp;rsquo;s my pebble and I&amp;rsquo;m her rock, it&amp;rsquo;s a sizeist joke but she came up with it so&amp;hellip;&lt;/p&gt;
&lt;p&gt;FUCK this week has been hard. I&amp;rsquo;m trying to disassociate myself with work politics, my dislike of certain colleagues. The things that get me down and angry. I need a switch I can turn off and not give a fuck.&lt;/p&gt;
&lt;p&gt;So I guess what I&amp;rsquo;m saying is this week as been tough, but it&amp;rsquo;s Friday and tomorrow is Saturday, come Monday it all starts over again.&lt;/p&gt;
&lt;p&gt;Thanks for reading via RSS!&lt;/p&gt;
&lt;p&gt;Send me a message on &lt;a href="https://remotelab.uk/mikebell"&gt;Mastodon&lt;/a&gt; or &lt;a href="mailto:hello@mikebell.io"&gt;email me&lt;/a&gt;&lt;/p&gt;</description></item><item><title>One Morning of Spotify Fails</title><link>https://mikebell.io/posts/one-morning-of-spotify-fails/</link><pubDate>Mon, 15 Jun 2015 00:00:00 +0000</pubDate><author>hello@mikebell.io (Mike Bell)</author><guid>https://mikebell.io/posts/one-morning-of-spotify-fails/</guid><description>
&lt;p&gt;This morning I decided to document all the issues I had with Spotify over the passed 4 hours. Here is a list:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Persistent notifications - It&amp;rsquo;s gone from 3 to 1 without me doing anything!&lt;/li&gt;
&lt;li&gt;Flashing UI - Randomly flashes distracting me from work.&lt;/li&gt;
&lt;li&gt;Doesn&amp;rsquo;t remember position when viewing all albums.&lt;/li&gt;
&lt;li&gt;Playing a track in all albums view doesn&amp;rsquo;t appear on the specific album view - it appears like albums on artists pages aren&amp;rsquo;t linked.&lt;/li&gt;
&lt;li&gt;Shows wrong track playing in the bottom left corner.&lt;/li&gt;
&lt;li&gt;Giving the window focus took me to the top of the artists page for no reason.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Worst thing is I pay for this as well. When did we come to accept bad software?&lt;/p&gt;
&lt;p&gt;Thanks for reading via RSS!&lt;/p&gt;
&lt;p&gt;Send me a message on &lt;a href="https://remotelab.uk/mikebell"&gt;Mastodon&lt;/a&gt; or &lt;a href="mailto:hello@mikebell.io"&gt;email me&lt;/a&gt;&lt;/p&gt;</description></item><item><title>Drush Docset for Dash</title><link>https://mikebell.io/posts/drush-docset-for-dash/</link><pubDate>Mon, 01 Jun 2015 00:00:00 +0000</pubDate><author>hello@mikebell.io (Mike Bell)</author><guid>https://mikebell.io/posts/drush-docset-for-dash/</guid><description>
&lt;p&gt;Last night my drush docset for Dash was accepted into the User Contributed section. This means you can now get the following drush commands offline through Dash:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Drush Core&lt;/li&gt;
&lt;li&gt;Features&lt;/li&gt;
&lt;li&gt;Coder&lt;/li&gt;
&lt;li&gt;Search Api&lt;/li&gt;
&lt;li&gt;Module Builder&lt;/li&gt;
&lt;li&gt;Migrate&lt;/li&gt;
&lt;li&gt;Registry Rebuild&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;If you want to use this with Zeal then you can download the docset from here:&lt;/p&gt;
&lt;p&gt;Thanks for reading via RSS!&lt;/p&gt;
&lt;p&gt;Send me a message on &lt;a href="https://remotelab.uk/mikebell"&gt;Mastodon&lt;/a&gt; or &lt;a href="mailto:hello@mikebell.io"&gt;email me&lt;/a&gt;&lt;/p&gt;</description></item><item><title>Can we have a community option please?</title><link>https://mikebell.io/posts/can-we-have-a-community-option-please/</link><pubDate>Tue, 26 May 2015 00:00:00 +0000</pubDate><author>hello@mikebell.io (Mike Bell)</author><guid>https://mikebell.io/posts/can-we-have-a-community-option-please/</guid><description>
&lt;p&gt;Earlier on today I tweeted that I&amp;rsquo;d like a community option when submitting a talk to DrupalCon Europe&lt;/p&gt;
&lt;blockquote class="twitter-tweet" lang="en-gb"&gt;&lt;p lang="en" dir="ltr"&gt;I&amp;#39;d love to see an option for &amp;quot;Community&amp;quot; sessions at &lt;a href="https://twitter.com/DrupalConEur"&gt;@DrupalConEur&lt;/a&gt; &amp;quot;Coding and Development&amp;quot; will have to do.&lt;/p&gt;&amp;mdash; Mike Bell (@mikebell_) &lt;a href="https://twitter.com/mikebell_/status/603218024842305536"&gt;May 26, 2015&lt;/a&gt;&lt;/blockquote&gt;
&lt;script async src="//platform.twitter.com/widgets.js" charset="utf-8"&gt;&lt;/script&gt;
&lt;p&gt;As per usual 140 characters isn&amp;rsquo;t enough.&lt;/p&gt;
&lt;blockquote class="twitter-tweet" lang="en-gb"&gt;&lt;p lang="en" dir="ltr"&gt;&lt;a href="https://twitter.com/mikebell_"&gt;@mikebell_&lt;/a&gt; &lt;a href="https://twitter.com/emma_maria88"&gt;@emma_maria88&lt;/a&gt; &lt;a href="https://twitter.com/DrupalConEur"&gt;@DrupalConEur&lt;/a&gt; Used to have a track, not enough success. Try core convos they&amp;#39;re usually more suited for this.&lt;/p&gt;&amp;mdash; Théodore Biadala (@nod_) &lt;a href="https://twitter.com/nod_/status/603219354709286912"&gt;May 26, 2015&lt;/a&gt;&lt;/blockquote&gt;
&lt;script async src="//platform.twitter.com/widgets.js" charset="utf-8"&gt;&lt;/script&gt;
&lt;blockquote class="twitter-tweet" lang="en-gb"&gt;&lt;p lang="en" dir="ltr"&gt;&lt;a href="https://twitter.com/mikebell_"&gt;@mikebell_&lt;/a&gt; &lt;a href="https://twitter.com/emma_maria88"&gt;@emma_maria88&lt;/a&gt; &lt;a href="https://twitter.com/DrupalConEur"&gt;@DrupalConEur&lt;/a&gt; its been tried before nobody shows up - so community summit on Monday instead&lt;/p&gt;&amp;mdash; mortendk (@mortendk) &lt;a href="https://twitter.com/mortendk/status/603220580519784449"&gt;May 26, 2015&lt;/a&gt;&lt;/blockquote&gt;
&lt;script async src="//platform.twitter.com/widgets.js" charset="utf-8"&gt;&lt;/script&gt;
&lt;p&gt;no no no NO, I didn&amp;rsquo;t say a track, I said an option.&lt;/p&gt;
&lt;p&gt;Here&amp;rsquo;s what I mean:&lt;/p&gt;
&lt;p&gt;When you go to submit a talk at DrupalCon there should be an option to select community. Where does this fit in with the main conference? Right slap bang in the middle. Allocate a percentage of each track to a community session, there you go no extra track.&lt;/p&gt;
&lt;p&gt;Even one &amp;ldquo;Community&amp;rdquo; session a day is enough, allocate a room in the main track rooms and see what happens. I get it&amp;rsquo;s a bit risky, it might upset people if sandwiched between &amp;ldquo;Headless Drupal with NodeJS, AngularJS, BadgerJS, HipsterJS&amp;rdquo; and &amp;ldquo;Drupal 8 Shocking Truths Revealed&amp;rdquo; you have a community based session.&lt;/p&gt;
&lt;p&gt;Again I&amp;rsquo;m not saying a separate track I&amp;rsquo;m saying diversify, the categories that you can submit under are damned impressive but it&amp;rsquo;s still missing something:&lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;Come for the code, stay for the community.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Thanks for reading via RSS!&lt;/p&gt;
&lt;p&gt;Send me a message on &lt;a href="https://remotelab.uk/mikebell"&gt;Mastodon&lt;/a&gt; or &lt;a href="mailto:hello@mikebell.io"&gt;email me&lt;/a&gt;&lt;/p&gt;</description></item><item><title>It's Scrum Jim!</title><link>https://mikebell.io/posts/its-scrum-jim/</link><pubDate>Thu, 14 May 2015 00:00:00 +0000</pubDate><author>hello@mikebell.io (Mike Bell)</author><guid>https://mikebell.io/posts/its-scrum-jim/</guid><description>
&lt;p&gt;My colleague and friend Gem Hill has published her first podcast on Scrum and Agile.&lt;/p&gt;
&lt;p&gt;It&amp;rsquo;s an interesting insight into the Scrum/Agile process outside of a developers perspective.&lt;/p&gt;
&lt;p&gt;She raises some good points on the value of acceptance criteria and being flexible in it&amp;rsquo;s implementation.&lt;/p&gt;
&lt;p&gt;You can get the first episode here - &lt;a href="https://letstalkabouttests.wordpress.com/" target="_blank" rel="noreferrer"&gt;https://letstalkabouttests.wordpress.com/&lt;/a&gt; - Don&amp;rsquo;t forget to like/subscribe/comment/socialmediathehelloutofit.&lt;/p&gt;
&lt;p&gt;Thanks for reading via RSS!&lt;/p&gt;
&lt;p&gt;Send me a message on &lt;a href="https://remotelab.uk/mikebell"&gt;Mastodon&lt;/a&gt; or &lt;a href="mailto:hello@mikebell.io"&gt;email me&lt;/a&gt;&lt;/p&gt;</description></item><item><title>Bugs are way worse than you can imagine</title><link>https://mikebell.io/posts/bugs-are-way-worse-than-you-can-imagine/</link><pubDate>Tue, 21 Apr 2015 00:00:00 +0000</pubDate><author>hello@mikebell.io (Mike Bell)</author><guid>https://mikebell.io/posts/bugs-are-way-worse-than-you-can-imagine/</guid><description>
&lt;p&gt;Every morning I have the same routine, open email check for anything urgent, delete all mail from Jira (I get a lot) and then look at the agile board for highest priority issues.&lt;/p&gt;
&lt;p&gt;Recently this has been a &lt;em&gt;lot&lt;/em&gt; of bugs. So I want to talk about why bugs are way worse than you can imagine.&lt;/p&gt;
&lt;p&gt;In jira bugs are represented as a red dot. Red is a cool (not cold!) colour in both Eastern and Western cultures. Unfortunately for us (western) red is associated with negative things like danger, stop, warning. So imagine seeing a sea of red first thing in the morning.&lt;/p&gt;
&lt;p&gt;The obvious answer to this is to stop creating bugs but that&amp;rsquo;s sometimes just not possible. I have a long standing joke that most of our systems are built using BDD. Traditionally BDD stands for Behavior Driven Development but I&amp;rsquo;ve tweaked it to be Bug Driven Development. This is only half tongue in cheek.&lt;/p&gt;
&lt;p&gt;What creates bugs?&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Poor code&lt;/li&gt;
&lt;li&gt;Technical debt&lt;/li&gt;
&lt;li&gt;Poor ticket management&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;All the above reasons create a cycle of moral draining issues. Working on bugs 24/7 is a depressing task, add that to impending deadlines and rushed code it leads to technical debt. So you can see how it&amp;rsquo;s a vicious cycle.&lt;/p&gt;
&lt;p&gt;And poor ticket management comes in many forms.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Overwhelming &amp;ldquo;In Progress&amp;rdquo; queue - having so many issues in a in progress state is a great way to lose focus on what actually needs doing.&lt;/li&gt;
&lt;li&gt;Not Bugs - Missing functionality, improvements to the way the system works. Arguably the most frustrating all of all bugs.&lt;/li&gt;
&lt;li&gt;Misunderstanding of the system - This is a grey area that I don&amp;rsquo;t believe is an issue caused by a developer more the solution that was being designed.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;The solution is simple here. The agile board isn&amp;rsquo;t the enemy. Better ticket management from all parties would greatly improve moral, code quality and developer happiness. We need to re-understand what a bug is, going back to the red circle of Jira, improvements are a green tick, green is a positive colour, a tick also reinforces this. With this in mind bugs need to be investigated and treated appropriately. If I work on a improvement that&amp;rsquo;s such a moral booster, it&amp;rsquo;s not a problem with the system or flaw in the code it&amp;rsquo;s something I&amp;rsquo;m actively doing to make the system better.&lt;/p&gt;
&lt;p&gt;Ultimately bugs are a downwards spiral, a never ending self defeating hole that can be solved with some fundamental changes to our development workflow. I don&amp;rsquo;t think that any of these are hard to accomplish, the hardest thing is getting people to understand the psychological background behind a developer and how these thing impact our daily lives.&lt;/p&gt;
&lt;p&gt;Thanks for reading via RSS!&lt;/p&gt;
&lt;p&gt;Send me a message on &lt;a href="https://remotelab.uk/mikebell"&gt;Mastodon&lt;/a&gt; or &lt;a href="mailto:hello@mikebell.io"&gt;email me&lt;/a&gt;&lt;/p&gt;</description></item><item><title>The Dark Thoughts Are Back</title><link>https://mikebell.io/posts/the-dark-thoughts-are-back/</link><pubDate>Tue, 14 Apr 2015 00:00:00 +0000</pubDate><author>hello@mikebell.io (Mike Bell)</author><guid>https://mikebell.io/posts/the-dark-thoughts-are-back/</guid><description>
&lt;p&gt;There I said it. I&amp;rsquo;m angry I want to punch the wall till my fists bleed.&lt;/p&gt;
&lt;p&gt;I&amp;rsquo;m stressed and it&amp;rsquo;s starting to show, the cracks are appearing, I can feel my brain tearing itself apart.&lt;/p&gt;
&lt;p&gt;I know what I need to do and I&amp;rsquo;ve set things in motion for that. I hate feeling like this and don&amp;rsquo;t want it to continue.&lt;/p&gt;
&lt;p&gt;Thanks for reading via RSS!&lt;/p&gt;
&lt;p&gt;Send me a message on &lt;a href="https://remotelab.uk/mikebell"&gt;Mastodon&lt;/a&gt; or &lt;a href="mailto:hello@mikebell.io"&gt;email me&lt;/a&gt;&lt;/p&gt;</description></item><item><title>Medication</title><link>https://mikebell.io/posts/medication/</link><pubDate>Wed, 04 Mar 2015 00:00:00 +0000</pubDate><author>hello@mikebell.io (Mike Bell)</author><guid>https://mikebell.io/posts/medication/</guid><description>
&lt;h2 class="relative group"&gt;Everything I know now and what I didn&amp;rsquo;t know then.
&lt;div id="everything-i-know-now-and-what-i-didnt-know-then" class="anchor"&gt;&lt;/div&gt;
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
&lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#everything-i-know-now-and-what-i-didnt-know-then" aria-label="Anchor"&gt;#&lt;/a&gt;
&lt;/span&gt;
&lt;/h2&gt;
&lt;p&gt;Medication is a scary subject. No one really likes to talk about it and who blames them? Talking about medication puts you out there, it&amp;rsquo;s easy to find out what those medications are prescribed for.&lt;/p&gt;
&lt;p&gt;I know now that medication isn&amp;rsquo;t something that I should have been afraid of.&lt;/p&gt;
&lt;p&gt;I wish I&amp;rsquo;d known that starting the medication would have led to some horrible side effects.&lt;/p&gt;
&lt;p&gt;People should know that anti-depressants fuck with your sex life.&lt;/p&gt;
&lt;p&gt;I know that medication has to be tailored for you.&lt;/p&gt;
&lt;p&gt;I know now that trying to go cold turkey is a bad bad thing.&lt;/p&gt;
&lt;p&gt;I know now that I&amp;rsquo;m in a happier place because of them.&lt;/p&gt;
&lt;p&gt;I don&amp;rsquo;t know how long I&amp;rsquo;ll be taking them for, and recently I&amp;rsquo;ve realised that that&amp;rsquo;s ok.&lt;/p&gt;
&lt;p&gt;I know that more people are on medication than I originally thought.&lt;/p&gt;
&lt;p&gt;I don&amp;rsquo;t know if what I&amp;rsquo;m feeling is medication or part of my recovery.&lt;/p&gt;
&lt;p&gt;I know that betablockers do a great job but really screw you over if you need to get the blood pumping.&lt;/p&gt;
&lt;p&gt;I know that Utopia is an awesome TV show after watching it over a 24 hour period where I couldn&amp;rsquo;t sleep because of the medication.&lt;/p&gt;
&lt;p&gt;These are just some of things I&amp;rsquo;ve learnt over the past 6 month. This is all anecdotal evidence and not something they put on those horribly depressing side effect sheets.&lt;/p&gt;
&lt;p&gt;Thanks for reading via RSS!&lt;/p&gt;
&lt;p&gt;Send me a message on &lt;a href="https://remotelab.uk/mikebell"&gt;Mastodon&lt;/a&gt; or &lt;a href="mailto:hello@mikebell.io"&gt;email me&lt;/a&gt;&lt;/p&gt;</description></item><item><title>Mental Health and DrupalCamp London</title><link>https://mikebell.io/posts/mental-health-and-drupalcamp-london/</link><pubDate>Tue, 03 Mar 2015 00:00:00 +0000</pubDate><author>hello@mikebell.io (Mike Bell)</author><guid>https://mikebell.io/posts/mental-health-and-drupalcamp-london/</guid><description>
&lt;p&gt;Over the weekend I had the pleasure of presenting at DrupalCamp London and I&amp;rsquo;ve been blown away by the feedback that I&amp;rsquo;ve received form people.&lt;/p&gt;
&lt;p&gt;The slides from my session can be found here:&lt;/p&gt;
&lt;script async class="speakerdeck-embed" data-id="c20f9584437542f2b61f98d6c2ea6c07" data-ratio="1.29456384323641" src="//speakerdeck.com/assets/embed.js"&gt;&lt;/script&gt;
&lt;p&gt;Overall I had a lovely day, it was great to see how passionate people are. Thanks to everyone who came up to me afterwards and asked me questions. It was great to have some really challenging questions thrown at me.&lt;/p&gt;
&lt;p&gt;Here are some tweets from the event:&lt;/p&gt;
&lt;blockquote class="twitter-tweet" lang="en"&gt;&lt;p&gt;So glad I was able to see my awesome fiance &lt;a href="https://twitter.com/mikebell_"&gt;@mikebell_&lt;/a&gt; give his talk on mental health &lt;a href="https://twitter.com/hashtag/dclondon?src=hash"&gt;#dclondon&lt;/a&gt;&lt;/p&gt;&amp;mdash; Hannah Mallin (@HannahCeciliaM) &lt;a href="https://twitter.com/HannahCeciliaM/status/571651610239213568"&gt;February 28, 2015&lt;/a&gt;&lt;/blockquote&gt;
&lt;script async src="//platform.twitter.com/widgets.js" charset="utf-8"&gt;&lt;/script&gt;
&lt;blockquote class="twitter-tweet" lang="en"&gt;&lt;p&gt;Awesomely eloquent talk regarding Mental Health from &lt;a href="https://twitter.com/mikebell_"&gt;@mikebell_&lt;/a&gt; at &lt;a href="https://twitter.com/hashtag/dclondon?src=hash"&gt;#dclondon&lt;/a&gt;. Thank you.&lt;/p&gt;&amp;mdash; Jon Hadley (@mintsauce) &lt;a href="https://twitter.com/mintsauce/status/571634593968865280"&gt;February 28, 2015&lt;/a&gt;&lt;/blockquote&gt;
&lt;script async src="//platform.twitter.com/widgets.js" charset="utf-8"&gt;&lt;/script&gt;
&lt;blockquote class="twitter-tweet" lang="en"&gt;&lt;p&gt;Very proud to be in a talk about mental health issues at &lt;a href="https://twitter.com/hashtag/dclondon?src=hash"&gt;#dclondon&lt;/a&gt; - kudos &lt;a href="https://twitter.com/mikebell_"&gt;@mikebell_&lt;/a&gt; &lt;a href="http://t.co/k792ZiAw0y"&gt;pic.twitter.com/k792ZiAw0y&lt;/a&gt;&lt;/p&gt;&amp;mdash; Steve Purkiss (@stevepurkiss) &lt;a href="https://twitter.com/stevepurkiss/status/571625412213788672"&gt;February 28, 2015&lt;/a&gt;&lt;/blockquote&gt;
&lt;script async src="//platform.twitter.com/widgets.js" charset="utf-8"&gt;&lt;/script&gt;
&lt;blockquote class="twitter-tweet" lang="en"&gt;&lt;p&gt;Massive respect to &lt;a href="https://twitter.com/mikebell_"&gt;@mikebell_&lt;/a&gt; for this &lt;a href="https://twitter.com/hashtag/dclondon?src=hash"&gt;#dclondon&lt;/a&gt; session on Mental Health &lt;a href="http://t.co/NhwCEPyf4i"&gt;http://t.co/NhwCEPyf4i&lt;/a&gt;. 1/4 of us will suffer. Good to be open!&lt;/p&gt;&amp;mdash; Rachel Lawson (@rachel_norfolk) &lt;a href="https://twitter.com/rachel_norfolk/status/571626410638495744"&gt;February 28, 2015&lt;/a&gt;&lt;/blockquote&gt;
&lt;script async src="//platform.twitter.com/widgets.js" charset="utf-8"&gt;&lt;/script&gt;
&lt;p&gt;There are so many more awesome tweets from people. Special mention goes to Wunder UK for donating £100 to Mind&lt;/p&gt;
&lt;blockquote class="twitter-tweet" lang="en"&gt;&lt;p&gt;To say thanks to &lt;a href="https://twitter.com/mikebell_"&gt;@mikebell_&lt;/a&gt; for talking abt important &amp;amp; difficult topic, we’ve given £100 to Mind. &lt;a href="http://t.co/dLMPiX01e7"&gt;http://t.co/dLMPiX01e7&lt;/a&gt;&amp;#10;Will you join us?&lt;/p&gt;&amp;mdash; Wunder UK (@Wunder_UK) &lt;a href="https://twitter.com/Wunder_UK/status/572722068455886848"&gt;March 3, 2015&lt;/a&gt;&lt;/blockquote&gt;
&lt;script async src="//platform.twitter.com/widgets.js" charset="utf-8"&gt;&lt;/script&gt;
&lt;p&gt;Thanks also to Steve Parks for making a regular donation as well:&lt;/p&gt;
&lt;blockquote class="twitter-tweet" lang="en"&gt;&lt;p&gt;&lt;a href="https://twitter.com/mikebell_"&gt;@mikebell_&lt;/a&gt; Thanks for raising the issues. I’ve set up a monthly direct debit for £12 to Mind. &lt;a href="http://t.co/Vtv2ZyiiwX"&gt;http://t.co/Vtv2ZyiiwX&lt;/a&gt;&amp;#10;// &lt;a href="https://twitter.com/Wunder_UK"&gt;@Wunder_UK&lt;/a&gt;&lt;/p&gt;&amp;mdash; Steve Parks (@steveparks) &lt;a href="https://twitter.com/steveparks/status/572723688249921537"&gt;March 3, 2015&lt;/a&gt;&lt;/blockquote&gt;
&lt;script async src="//platform.twitter.com/widgets.js" charset="utf-8"&gt;&lt;/script&gt;
&lt;p&gt;I plan to do this talk at a few more meetups throughout the year the first confirmed one will be PHPNW 15. With any luck my presentation from London will be available on YouTube at some point in the future.&lt;/p&gt;
&lt;p&gt;Thanks for reading via RSS!&lt;/p&gt;
&lt;p&gt;Send me a message on &lt;a href="https://remotelab.uk/mikebell"&gt;Mastodon&lt;/a&gt; or &lt;a href="mailto:hello@mikebell.io"&gt;email me&lt;/a&gt;&lt;/p&gt;</description></item><item><title>The Surface Detail</title><link>https://mikebell.io/posts/the-surface-detail/</link><pubDate>Tue, 27 Jan 2015 00:00:00 +0000</pubDate><author>hello@mikebell.io (Mike Bell)</author><guid>https://mikebell.io/posts/the-surface-detail/</guid><description>
&lt;p&gt;The title of the latest book I&amp;rsquo;m reading struck a cord with me. It&amp;rsquo;s called &amp;ldquo;The Surface Detail&amp;rdquo; by Iain M. Banks. Without too many spoilers it&amp;rsquo;s about virtual hells. Something which those who live with depression should be well aware of.&lt;/p&gt;
&lt;p&gt;The surface is something people see everyday, it&amp;rsquo;s the thing that people standing next to you on the train, your colleagues who sit next to you see. It&amp;rsquo;s the detail that people miss.&lt;/p&gt;
&lt;p&gt;I guess I&amp;rsquo;m being quite spurious here. What do I mean by detail? What&amp;rsquo;s the difference between the surface and the detail?&lt;/p&gt;
&lt;p&gt;For me the surface is something everyone sees on a daily basis, it&amp;rsquo;s the face I put on. The fake look of everything is OK the face I want you to see.&lt;/p&gt;
&lt;p&gt;It&amp;rsquo;s the detail that&amp;rsquo;s most interesting, that microscopic facial expression you miss as I quietly reach out for help. The look that some things just not quite right. Everyone has it. I just don&amp;rsquo;t think anyone sees it.&lt;/p&gt;
&lt;p&gt;Thanks for reading via RSS!&lt;/p&gt;
&lt;p&gt;Send me a message on &lt;a href="https://remotelab.uk/mikebell"&gt;Mastodon&lt;/a&gt; or &lt;a href="mailto:hello@mikebell.io"&gt;email me&lt;/a&gt;&lt;/p&gt;</description></item><item><title>Ubuntu can be pretty</title><link>https://mikebell.io/posts/ubuntu-can-be-pretty/</link><pubDate>Mon, 19 Jan 2015 00:00:00 +0000</pubDate><author>hello@mikebell.io (Mike Bell)</author><guid>https://mikebell.io/posts/ubuntu-can-be-pretty/</guid><description>
&lt;iframe class="imgur-album" width="100%" height="550" frameborder="0" src="//imgur.com/a/AZfue/embed"&gt;&lt;/iframe&gt;
&lt;p&gt;See Ubuntu can be pretty.&lt;/p&gt;
&lt;p&gt;Theme: Paper - &lt;a href="http://snwh.org/paper/" target="_blank" rel="noreferrer"&gt;http://snwh.org/paper/&lt;/a&gt;
Icons: Moka - &lt;a href="http://mokaproject.com/" target="_blank" rel="noreferrer"&gt;http://mokaproject.com/&lt;/a&gt;
Dock: Docky - &lt;a href="http://wiki.go-docky.com/index.php?title=Welcome_to_the_Docky_wiki" target="_blank" rel="noreferrer"&gt;http://wiki.go-docky.com/index.php?title=Welcome_to_the_Docky_wiki&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Thanks for reading via RSS!&lt;/p&gt;
&lt;p&gt;Send me a message on &lt;a href="https://remotelab.uk/mikebell"&gt;Mastodon&lt;/a&gt; or &lt;a href="mailto:hello@mikebell.io"&gt;email me&lt;/a&gt;&lt;/p&gt;</description></item><item><title>Marriage</title><link>https://mikebell.io/posts/marriage/</link><pubDate>Mon, 29 Dec 2014 00:00:00 +0000</pubDate><author>hello@mikebell.io (Mike Bell)</author><guid>https://mikebell.io/posts/marriage/</guid><description>
&lt;p&gt;After an intense 6 month &lt;strong&gt;anti&lt;/strong&gt; marriage campaign I finally proposed to Hannah (28th Dec 2014). Lucky for me she said yes.&lt;/p&gt;
&lt;p&gt;I have fairly strong views on marriage, what it should be and what it shouldn&amp;rsquo;t. I don&amp;rsquo;t (or should that be didn&amp;rsquo;t?) want to jump into it without being 100% sure. We&amp;rsquo;ve talked about marriage in the past and we both understand where we&amp;rsquo;re coming from, that&amp;rsquo;s what makes our relationship work so well. I finally asked her because it&amp;rsquo;s my commitment to her.&lt;/p&gt;
&lt;p&gt;Here&amp;rsquo;s how it went down:&lt;/p&gt;
&lt;p&gt;Me: &lt;em&gt;whisper&lt;/em&gt; - I have a question for you.
Me: &lt;em&gt;whisper&lt;/em&gt; - It might sound stupid.
Me: &lt;em&gt;whisper&lt;/em&gt; - Will you marry me?
Hannah: Are you kidding me?
Me: &lt;em&gt;produces ring&lt;/em&gt;
Hannah: YES!&lt;/p&gt;
&lt;p&gt;Thanks for reading via RSS!&lt;/p&gt;
&lt;p&gt;Send me a message on &lt;a href="https://remotelab.uk/mikebell"&gt;Mastodon&lt;/a&gt; or &lt;a href="mailto:hello@mikebell.io"&gt;email me&lt;/a&gt;&lt;/p&gt;</description></item><item><title>CBT Update</title><link>https://mikebell.io/posts/cbt-update/</link><pubDate>Tue, 09 Dec 2014 00:00:00 +0000</pubDate><author>hello@mikebell.io (Mike Bell)</author><guid>https://mikebell.io/posts/cbt-update/</guid><description>
&lt;p&gt;I gave up on CBT. The sessions were too infrequent and sporadic. I really didn’t like the over the phone sessions either they were too impersonal and didn’t really contribute anything.&lt;/p&gt;
&lt;p&gt;The one thing I did get out of the sessions was helpful pointers with where i need to focus and what tools I need to give myself to be able to cope with things in the long run.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;I’ve started practising mediation, it gives me a sense of being and helps me re-connect my body and mind.&lt;/li&gt;
&lt;li&gt;I analyse my feelings more, this helps determine the cause of my anxiety and allows me to bring myself out of the spiral that are anxiety attacks.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;So where do I go from here, I’m looking into more traditional therapy now, I intend to continue meditation and medication for a while longer.&lt;/p&gt;
&lt;p&gt;I find I’m smiling more and more each day, I’m happy.
&lt;figure&gt;&lt;img
class="my-0 rounded-md"
loading="lazy"
decoding="async"
fetchpriority="low"
alt="cover"
src="http://i.imgur.com/asZWXi4.jpg"
&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;Thanks for reading via RSS!&lt;/p&gt;
&lt;p&gt;Send me a message on &lt;a href="https://remotelab.uk/mikebell"&gt;Mastodon&lt;/a&gt; or &lt;a href="mailto:hello@mikebell.io"&gt;email me&lt;/a&gt;&lt;/p&gt;</description></item><item><title>Thoughts on Video Streaming Services</title><link>https://mikebell.io/posts/thoughts-on-video-streaming-services/</link><pubDate>Sun, 30 Nov 2014 00:00:00 +0000</pubDate><author>hello@mikebell.io (Mike Bell)</author><guid>https://mikebell.io/posts/thoughts-on-video-streaming-services/</guid><description>
&lt;p&gt;Since I no longer have a magical content providing server in France I&amp;rsquo;ve been trying out a few different streaming services. Apparently this is a lot harder than it seems!&lt;/p&gt;
&lt;h2 class="relative group"&gt;Pre Requisites
&lt;div id="pre-requisites" class="anchor"&gt;&lt;/div&gt;
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
&lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#pre-requisites" aria-label="Anchor"&gt;#&lt;/a&gt;
&lt;/span&gt;
&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;HD - must be HD where available&lt;/li&gt;
&lt;li&gt;Large library&lt;/li&gt;
&lt;li&gt;Available on multiple libraries&lt;/li&gt;
&lt;li&gt;Linux compatible&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 class="relative group"&gt;Google Play
&lt;div id="google-play" class="anchor"&gt;&lt;/div&gt;
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
&lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#google-play" aria-label="Anchor"&gt;#&lt;/a&gt;
&lt;/span&gt;
&lt;/h2&gt;
&lt;p&gt;I&amp;rsquo;m not sure about this service. It&amp;rsquo;s ok I got a Transformers movie free when I got my Nexus 7 tablet but I&amp;rsquo;m not 100% sold on it. The HD film worked well on my tablet but I never got around to seeing if it was available on a desktop.&lt;/p&gt;
&lt;h2 class="relative group"&gt;Amazon Instant
&lt;div id="amazon-instant" class="anchor"&gt;&lt;/div&gt;
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
&lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#amazon-instant" aria-label="Anchor"&gt;#&lt;/a&gt;
&lt;/span&gt;
&lt;/h2&gt;
&lt;p&gt;This looks so promising but fell short massively when it came to HD streaming. Apparently I won&amp;rsquo;t stream HD content properly on Linux because of HCDP DRM. So this is out for now.&lt;/p&gt;
&lt;p&gt;The one thing I do like about this is it seems to have a relatively up to date collection and you can always purchase things that aren&amp;rsquo;t available to stream. You also get free one day shipping on Amazon which is always nice.&lt;/p&gt;
&lt;p&gt;I&amp;rsquo;m not sure if you can stream on a mobile device or not.&lt;/p&gt;
&lt;h2 class="relative group"&gt;Netflix
&lt;div id="netflix" class="anchor"&gt;&lt;/div&gt;
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
&lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#netflix" aria-label="Anchor"&gt;#&lt;/a&gt;
&lt;/span&gt;
&lt;/h2&gt;
&lt;p&gt;Netflix has a weird library it&amp;rsquo;s geo-locked to US and UK with the former having an arguably better library. It&amp;rsquo;s mobile apps are brilliant and the profile support is also great.&lt;/p&gt;
&lt;p&gt;Currently I&amp;rsquo;m using all my profiles, one for Hannah and her dad, the other for my brother and the last one for my parents. My parents use it on their PS3 and Nexus 7, my brother uses it on his computer and Hannah uses it on her TV and laptop. So overall it supports a huge amount of devices which is quite impressive. And all this for such a low price.&lt;/p&gt;
&lt;p&gt;I&amp;rsquo;ve setup a VPN in the US so I can access the US version of Netflix which is pretty cool.&lt;/p&gt;
&lt;h2 class="relative group"&gt;Conclusion
&lt;div id="conclusion" class="anchor"&gt;&lt;/div&gt;
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
&lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#conclusion" aria-label="Anchor"&gt;#&lt;/a&gt;
&lt;/span&gt;
&lt;/h2&gt;
&lt;p&gt;While not a hugely scientific comparison of the services I feel that Netflix is by far the clear winner here for me and my family. I&amp;rsquo;m hoping that the competition can catch up soon.&lt;/p&gt;
&lt;p&gt;Thanks for reading via RSS!&lt;/p&gt;
&lt;p&gt;Send me a message on &lt;a href="https://remotelab.uk/mikebell"&gt;Mastodon&lt;/a&gt; or &lt;a href="mailto:hello@mikebell.io"&gt;email me&lt;/a&gt;&lt;/p&gt;</description></item><item><title>The Move to Ubuntu</title><link>https://mikebell.io/posts/the-move-to-ubuntu/</link><pubDate>Sat, 29 Nov 2014 00:00:00 +0000</pubDate><author>hello@mikebell.io (Mike Bell)</author><guid>https://mikebell.io/posts/the-move-to-ubuntu/</guid><description>
&lt;p&gt;I finally did it! I moved from Windows 7 to Ubuntu 14.04. It&amp;rsquo;s not entirely great but it&amp;rsquo;s working and I can make as many changes as I want.&lt;/p&gt;
&lt;h2 class="relative group"&gt;Problems
&lt;div id="problems" class="anchor"&gt;&lt;/div&gt;
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
&lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#problems" aria-label="Anchor"&gt;#&lt;/a&gt;
&lt;/span&gt;
&lt;/h2&gt;
&lt;p&gt;Unity Launcher - Honestly it&amp;rsquo;s damned annoying, I hate how I can&amp;rsquo;t move it to the right hand side of the screen which would be much better with my dual monitor configuration.&lt;/p&gt;
&lt;p&gt;2nd Sound Card didn&amp;rsquo;t work - Troubleshooted it and for once everything actually seemed ok. I had to install a 3rd party mixer to find that the card was muted and worked.&lt;/p&gt;
&lt;p&gt;Default Ubuntu still looks butt ugly. Fixed that with a new theme and some tweaks that I&amp;rsquo;ll cover later.&lt;/p&gt;
&lt;p&gt;Weird font issues in Firefox, there is a bug report going back to 13.04 but no movement on it.&lt;/p&gt;
&lt;h2 class="relative group"&gt;Solutions and Tweaks
&lt;div id="solutions-and-tweaks" class="anchor"&gt;&lt;/div&gt;
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
&lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#solutions-and-tweaks" aria-label="Anchor"&gt;#&lt;/a&gt;
&lt;/span&gt;
&lt;/h2&gt;
&lt;p&gt;Unity Launcher - I&amp;rsquo;ve hidden it and switched to using Cairo Dock which acts as a nice copy of the OSX dock. Still need to figure out how to get it accross two screens.&lt;/p&gt;
&lt;p&gt;I&amp;rsquo;ve installed the Numix theme and Unity Tweak Tools to configure my desktop. It&amp;rsquo;s looking a lot nicer now.&lt;/p&gt;
&lt;p&gt;Solarized Dark and Andale Mono font in terminal, also disable bold font in terminal preferences as it just doesn&amp;rsquo;t look good.&lt;/p&gt;
&lt;p&gt;Netflix in Firefox - You can get netflix to work in firefox by using Pipelight I followed this guide - &lt;a href="http://www.webupd8.org/2013/08/pipelight-use-silverlight-in-your-linux.html" target="_blank" rel="noreferrer"&gt;http://www.webupd8.org/2013/08/pipelight-use-silverlight-in-your-linux.html&lt;/a&gt; - you&amp;rsquo;ll also need to switch your user agent for Netflix to work. I&amp;rsquo;m currently watching Sword Art Online in another Firefox window (I&amp;rsquo;m hoping the story gets better!)&lt;/p&gt;
&lt;p&gt;Hopefully I&amp;rsquo;ll post more tweaks later for reference. I&amp;rsquo;m still getting used to a few things and there&amp;rsquo;s still a lot more learning to do.&lt;/p&gt;
&lt;p&gt;Thanks for reading via RSS!&lt;/p&gt;
&lt;p&gt;Send me a message on &lt;a href="https://remotelab.uk/mikebell"&gt;Mastodon&lt;/a&gt; or &lt;a href="mailto:hello@mikebell.io"&gt;email me&lt;/a&gt;&lt;/p&gt;</description></item><item><title>Moving To Ghost</title><link>https://mikebell.io/posts/moving-to-ghost/</link><pubDate>Tue, 25 Nov 2014 00:00:00 +0000</pubDate><author>hello@mikebell.io (Mike Bell)</author><guid>https://mikebell.io/posts/moving-to-ghost/</guid><description>
&lt;p&gt;After a conversation erupted on #drupal-uk about using the right tool for the job I decided that I would move my blog to something that was right for the job.&lt;/p&gt;
&lt;h2 class="relative group"&gt;Why move from Drupal?
&lt;div id="why-move-from-drupal" class="anchor"&gt;&lt;/div&gt;
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
&lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#why-move-from-drupal" aria-label="Anchor"&gt;#&lt;/a&gt;
&lt;/span&gt;
&lt;/h2&gt;
&lt;p&gt;Firstly Drupal is great! I love working with it on a daily basis but it&amp;rsquo;s overkill for what I need. I have more half finished attempts at adding a cool feature on the old Drupal site than I care to admit to.&lt;/p&gt;
&lt;p&gt;Drupal allowed me to get an idea of what I wanted from a blog this is something that influenced greatly my decision to move to Ghost.&lt;/p&gt;
&lt;h2 class="relative group"&gt;What do I want?
&lt;div id="what-do-i-want" class="anchor"&gt;&lt;/div&gt;
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
&lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#what-do-i-want" aria-label="Anchor"&gt;#&lt;/a&gt;
&lt;/span&gt;
&lt;/h2&gt;
&lt;p&gt;A simple blog, something I can&amp;rsquo;t add features to outside of simple HTML and something that is pretty. I just need a platform I can log in to and write it&amp;rsquo;s as simple as that.&lt;/p&gt;
&lt;h2 class="relative group"&gt;Why Ghost?
&lt;div id="why-ghost" class="anchor"&gt;&lt;/div&gt;
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
&lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#why-ghost" aria-label="Anchor"&gt;#&lt;/a&gt;
&lt;/span&gt;
&lt;/h2&gt;
&lt;p&gt;Ghost has a number of challenges for me:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;No import from Drupal&lt;/li&gt;
&lt;li&gt;Runs on NodeJS&lt;/li&gt;
&lt;li&gt;Requires redirect fudging&lt;/li&gt;
&lt;li&gt;No comment system&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;These are all great reasons to move! I ended up forking a module to fix a Drupal export to Ghost JSON which can be found here - &lt;a href="https://github.com/mikebell/drupal-to-ghost" target="_blank" rel="noreferrer"&gt;https://github.com/mikebell/drupal-to-ghost&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;I had to learn a bit about hosting nodejs and what was required.&lt;/p&gt;
&lt;p&gt;I will be moving my disqus comments over as soon as I figure out what the best way to do this is.&lt;/p&gt;
&lt;p&gt;If you have any issues or suggestions on the site then shoot me a message on twitter.&lt;/p&gt;
&lt;p&gt;Thanks for reading via RSS!&lt;/p&gt;
&lt;p&gt;Send me a message on &lt;a href="https://remotelab.uk/mikebell"&gt;Mastodon&lt;/a&gt; or &lt;a href="mailto:hello@mikebell.io"&gt;email me&lt;/a&gt;&lt;/p&gt;</description></item><item><title>Front/Back End</title><link>https://mikebell.io/posts/front-back-end/</link><pubDate>Mon, 17 Nov 2014 00:00:00 +0000</pubDate><author>hello@mikebell.io (Mike Bell)</author><guid>https://mikebell.io/posts/front-back-end/</guid><description>
&lt;p&gt;Explaining front and back end development to Hannah:&lt;/p&gt;
&lt;p&gt;Me - &amp;ldquo;&amp;hellip; so that&amp;rsquo;s front end and back end development&amp;rdquo;&lt;/p&gt;
&lt;p&gt;Hannah - &amp;ldquo;I&amp;rsquo;m imagining you like a pantomime horse at the back end&amp;rdquo;&lt;/p&gt;
&lt;p&gt;Me - &amp;ldquo;yeah we get called the asses&amp;rdquo;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;chuckles&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Thanks for reading via RSS!&lt;/p&gt;
&lt;p&gt;Send me a message on &lt;a href="https://remotelab.uk/mikebell"&gt;Mastodon&lt;/a&gt; or &lt;a href="mailto:hello@mikebell.io"&gt;email me&lt;/a&gt;&lt;/p&gt;</description></item><item><title>The Long Road Back From Medication</title><link>https://mikebell.io/posts/the-long-road-back-from-medication/</link><pubDate>Wed, 12 Nov 2014 00:00:00 +0000</pubDate><author>hello@mikebell.io (Mike Bell)</author><guid>https://mikebell.io/posts/the-long-road-back-from-medication/</guid><description>
&lt;p&gt;You become so desperate that you&amp;rsquo;re willing to try anything to get better. It&amp;rsquo;s a good thing to a certain extent. It shows that you&amp;rsquo;re at the stage where you want help in any form.&lt;/p&gt;
&lt;p&gt;I&amp;rsquo;m a long way from that time, but in order to get here I started taking anti-depressants and beta blockers. I&amp;rsquo;m sure that without them I wouldn&amp;rsquo;t be in the position I am now but they have a lasting effect.&lt;/p&gt;
&lt;p&gt;I&amp;rsquo;ve decided that I want to get off them, they&amp;rsquo;re starting to scare me, they&amp;rsquo;re like a fake reality that&amp;rsquo;s projected in front of my eyes. That&amp;rsquo;s not to say that I&amp;rsquo;m not better but part of me wonders how much of that is the meds. So it&amp;rsquo;s time to move away from them, this isn&amp;rsquo;t an easy thing. For a start you can&amp;rsquo;t just go cold turkey.&lt;/p&gt;
&lt;p&gt;A couple of months ago I decided that I wanted to ditch the beta blockers, the side effects aren&amp;rsquo;t great so I figured I&amp;rsquo;d go a couple of days without them. FUCK NO, I was walking down Deansgate when things started to get weird. My heart started to palpitate, I was sweating buckets and I started panicking. Luckily I was on my way to meet Hannah so that kept me calm, and I managed to cope until I got home and swiftly took another tablet. I learnt the hard way that you can&amp;rsquo;t just quit.&lt;/p&gt;
&lt;p&gt;So today while going to the doctors for what turns out to be a viral chest infection I renewed my perscription for the meds, I said I wanted to cut down on the dosages in an attempt to return myself to a non medicated state. I&amp;rsquo;m not sure what went from here but I ended up with the same dosages as usual, apparently I&amp;rsquo;ve not been on the meds for long enough. I was confused and not thinking straight as my chest is causing me real issues at the moment so didn&amp;rsquo;t question it. It&amp;rsquo;s only know that I am.&lt;/p&gt;
&lt;p&gt;The thing with the beta blockers is that they regulate my heart beat. This is great it means that it&amp;rsquo;s under control when I have panic attacks. It&amp;rsquo;s not great when I need to get oxygen circulating around my body. I first noticed this when I went to St Ives to recover, it&amp;rsquo;s has big steep hills that destroyed me every time I went up them. I&amp;rsquo;m worried that this is going to be a huge issues when I go skiing in the new year.&lt;/p&gt;
&lt;p&gt;The anti depressants are even more scary, they&amp;rsquo;ve had a huge difference in my thoughts and attitude but as part of my recovery I want to understand what I was feeling before, that way I can evaluate it and learn how to deal with in the future.&lt;/p&gt;
&lt;p&gt;By the sounds of it I&amp;rsquo;m going to be medicated for a good few months until at least April/May next year. So I&amp;rsquo;m setting this deadline, by my birthday in April I want to be medication free. I want to spend my birthday in San Francisco free of anti depressants and beta blockers.&lt;/p&gt;
&lt;p&gt;Thanks for reading via RSS!&lt;/p&gt;
&lt;p&gt;Send me a message on &lt;a href="https://remotelab.uk/mikebell"&gt;Mastodon&lt;/a&gt; or &lt;a href="mailto:hello@mikebell.io"&gt;email me&lt;/a&gt;&lt;/p&gt;</description></item><item><title>CBT Round 3</title><link>https://mikebell.io/posts/cbt-round-3/</link><pubDate>Tue, 28 Oct 2014 00:00:00 +0000</pubDate><author>hello@mikebell.io (Mike Bell)</author><guid>https://mikebell.io/posts/cbt-round-3/</guid><description>
&lt;p&gt;This was a very short session clocking in at 30 minutes over the phone.&lt;/p&gt;
&lt;p&gt;I can see what we&amp;rsquo;re trying to achieve through CBT but it just seems a bit pointless, I don&amp;rsquo;t think we really covered much of importance. I much prefer in person sessions as I can&amp;rsquo;t distract myself or become distracted by other things as easily.&lt;/p&gt;
&lt;p&gt;I don&amp;rsquo;t really have much to report on this session, in the next sessions we&amp;rsquo;ll be covering breathing techniques to help bring my anxiety down and help control panic attacks more.&lt;/p&gt;
&lt;p&gt;I&amp;rsquo;d be interested to see what other people&amp;rsquo;s CBT session structure is like as like most people I&amp;rsquo;m going into this blindly.&lt;/p&gt;
&lt;p&gt;Thanks for reading via RSS!&lt;/p&gt;
&lt;p&gt;Send me a message on &lt;a href="https://remotelab.uk/mikebell"&gt;Mastodon&lt;/a&gt; or &lt;a href="mailto:hello@mikebell.io"&gt;email me&lt;/a&gt;&lt;/p&gt;</description></item><item><title>Time</title><link>https://mikebell.io/posts/time/</link><pubDate>Mon, 27 Oct 2014 00:00:00 +0000</pubDate><author>hello@mikebell.io (Mike Bell)</author><guid>https://mikebell.io/posts/time/</guid><description>
&lt;p&gt;Time is a funny thing, we emblazon it on our phones, our wrists, on our walls in every facet of our daily lives. It controls us whether we like it or not.&lt;/p&gt;
&lt;p&gt;When I first experienced death it was one of the hardest things to deal with, the resounding thing that people said was that &amp;ldquo;time heals everything&amp;rdquo;. Well I call bullshit to this day I&amp;rsquo;m still hurt by the death of my grandmother. She was a wonderful person taken from us far too early.&lt;/p&gt;
&lt;hr&gt;
&lt;p&gt;Time really is a funny thing. You can listen to a ticking clock and witness as it passes you by.&lt;/p&gt;
&lt;p&gt;My time at school wasn&amp;rsquo;t the best like most geeks (a badge I wear proudly now) I was bullied. I suppressed those memories and I have little recollection of my time there. I remember the people though, I can never forget them, they&amp;rsquo;re etched in my memory, a hatred that I&amp;rsquo;m not sure I can ever forgive.&lt;/p&gt;
&lt;hr&gt;
&lt;p&gt;Time is a constant. Yet it seems to either fly or crawl by. Time flies when you&amp;rsquo;re having fun and crawls when you&amp;rsquo;re bored.&lt;/p&gt;
&lt;p&gt;I broke down 3 months ago, that&amp;rsquo;s ~7.88923e6 seconds. That&amp;rsquo;s a large number. It&amp;rsquo;s a lot of time to reflect on things. What scares me is at 28 years old it&amp;rsquo;s 1% of my life. And just by writing this it&amp;rsquo;s growing.&lt;/p&gt;
&lt;hr&gt;
&lt;p&gt;Time is an odd thing. Time slips by, the world still revolves around us, friends and family laugh and cry, we lose loved ones, we gain loved ones. What we&amp;rsquo;re not prepared for is how to deal with time. We have to learn how to use it and how to deal with what it throws at us. I don&amp;rsquo;t think I&amp;rsquo;ll ever be fully prepared but hey I&amp;rsquo;ve still got time right?&lt;/p&gt;
&lt;p&gt;Thanks for reading via RSS!&lt;/p&gt;
&lt;p&gt;Send me a message on &lt;a href="https://remotelab.uk/mikebell"&gt;Mastodon&lt;/a&gt; or &lt;a href="mailto:hello@mikebell.io"&gt;email me&lt;/a&gt;&lt;/p&gt;</description></item><item><title>The Drop Layout</title><link>https://mikebell.io/posts/the-drop-layout/</link><pubDate>Fri, 24 Oct 2014 00:00:00 +0000</pubDate><author>hello@mikebell.io (Mike Bell)</author><guid>https://mikebell.io/posts/the-drop-layout/</guid><description>
&lt;p&gt;Ever since I bought a Pure Pro I&amp;rsquo;ve sort of been obsessed with the world of mechanical keyboards. As a developer I want to make sure I&amp;rsquo;m happy typing on something day in day out. It&amp;rsquo;s also very important that I can type fast and accurate so I have to be 100% happy with a keyboard. I&amp;rsquo;ve recently sold my Pure Pro which I was pretty happy with as it&amp;rsquo;s just not for me. I bought a Poker 2 ANSI (American layout) as a temporary replacement to it which I&amp;rsquo;ve been more than happy with. It currently has &lt;a href="https://ctrlalt.io/buys/raindrop-r2" target="_blank" rel="noreferrer"&gt;Raindrop&lt;/a&gt; keys on and a Tex acrylic case, it&amp;rsquo;s the nicest keyboard I&amp;rsquo;ve ever had the pleasure of typing on.&lt;/p&gt;
&lt;p&gt;I&amp;rsquo;ve become quite interested in building my own custom keyboard based off the Poker 2 since ISO versions are very very rare these days. I came up with the following template:&lt;/p&gt;
&lt;blockquote class="twitter-tweet" lang="en"&gt;&lt;p&gt;The Drop Layout - can&amp;#39;t wait to build this in a couple of months: &lt;a href="http://t.co/bfjqaTU3CO"&gt;pic.twitter.com/bfjqaTU3CO&lt;/a&gt;&lt;/p&gt;&amp;mdash; Mike Bell (@mikebell_) &lt;a href="https://twitter.com/mikebell_/status/524943339297439745"&gt;October 22, 2014&lt;/a&gt;&lt;/blockquote&gt;
&lt;script async src="//platform.twitter.com/widgets.js" charset="utf-8"&gt;&lt;/script&gt;
&lt;p&gt;For the board I&amp;rsquo;ve looked into 4 different possibilities:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;GH60 - marred by controversy and lack of delivery&lt;/li&gt;
&lt;li&gt;Print my own GH60 - only Rev 3 is out and it has a bug so that&amp;rsquo;s a no go&lt;/li&gt;
&lt;li&gt;Custom wiring + Teensy 2 - I don&amp;rsquo;t have the skill to pull this off&lt;/li&gt;
&lt;li&gt;Nerd60 - pre-soldiered, leds, just add switches!&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;#The Nerd 60
I&amp;rsquo;ve settled on this PCB as it supports both backlight and side LEDs which will look cool with my Tex case, I just need to wait for it to arrive from Korea when the MOQ has been met.&lt;/p&gt;
&lt;p&gt;The controller itself is fully re-programmable and supports lots of different programming layers which is really cool.&lt;/p&gt;
&lt;p&gt;#The layout itself
I really like 60% keyboards, they&amp;rsquo;re easy to transports and have everything I need to develop on. They fall down with the placement of keys and utilities. That&amp;rsquo;s why I designed this layout.&lt;/p&gt;
&lt;p&gt;Here are some key features:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;No Caps lock key, instead it&amp;rsquo;s replaced with an additional Fn key for easy access with your little finger.&lt;/li&gt;
&lt;li&gt;WASD arrow keys, easier access with Caps Fn key.&lt;/li&gt;
&lt;li&gt;Media keys on left hand&lt;/li&gt;
&lt;li&gt;Sane config of utility keys accessible via single right hand or left hand Fn and right hand.&lt;/li&gt;
&lt;li&gt;Mac Layout-ish&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;I&amp;rsquo;ll be doing a full build log with pictures once I get started, there are still a few decisions I have to make with the keyboard but those are still a way off.&lt;/p&gt;
&lt;p&gt;Thanks for reading via RSS!&lt;/p&gt;
&lt;p&gt;Send me a message on &lt;a href="https://remotelab.uk/mikebell"&gt;Mastodon&lt;/a&gt; or &lt;a href="mailto:hello@mikebell.io"&gt;email me&lt;/a&gt;&lt;/p&gt;</description></item><item><title>PHPNW14 Short Review</title><link>https://mikebell.io/posts/phpnw14-short-review/</link><pubDate>Wed, 22 Oct 2014 00:00:00 +0000</pubDate><author>hello@mikebell.io (Mike Bell)</author><guid>https://mikebell.io/posts/phpnw14-short-review/</guid><description>
&lt;p&gt;Instead of a long post going into each sessions I attended I figured you&amp;rsquo;re probably just best watching them when they&amp;rsquo;re on YouTube as it was an excellent conference.&lt;/p&gt;
&lt;p&gt;So I&amp;rsquo;d like to quickly run through the things I really enjoyed about the conference and why I&amp;rsquo;ll be attending without fail next year.&lt;/p&gt;
&lt;p&gt;The Venue - Surprisingly good tbh, I&amp;rsquo;m always weary of conference venues but this was pretty cool, especially the pendulum in the main entrance way.&lt;/p&gt;
&lt;p&gt;The Talks - Superb as per usual, the keynote from ircmaxell was really good. The standard of talks was super high as has become expected of PHPNW.&lt;/p&gt;
&lt;p&gt;The Food - Really good, after lunch I was convinced I wouldn&amp;rsquo;t eat again until much much later in the night but turns out I was starving by tea so the two hot meals was a nice thought.&lt;/p&gt;
&lt;p&gt;The Free Bar - This was a very nice touch and very much appreciated. It was great to sit down with so many people in the industry and just chat about random things.&lt;/p&gt;
&lt;p&gt;The Un-Con - I was very lucky to be able to present to a smallish (~20) crowd in a nice room. It was well organised and the guys and girls that did were so nice and welcoming.&lt;/p&gt;
&lt;p&gt;The Jenny Wong - For those that don&amp;rsquo;t know her (you should go out of way to!) she&amp;rsquo;s an amazing person who does so much for the PHP (and other) communities. It&amp;rsquo;s always a pleasure to meet her and the inevitable drag to people I should meet. She enables so much within the community and is a lovely person.&lt;/p&gt;
&lt;p&gt;The End Keynote - These are always weird affairs for me, they usually go on too long (this one did for me) which sucks when everyone is tired and brain dead (the sign of a good conf). Jeremy handed over to the un-con organisers who did a brief run through of the talks they had, they then started to announce that one person would be given a slot at next years conf. It came down to two people and they chose me. It was such an odd experience, I wanted to implode yet I was so happy and amazed. I still can&amp;rsquo;t believe how lucky I am to be speaking at next years conf, it&amp;rsquo;s something that I&amp;rsquo;ve wanted to do for a while. I was asked what I&amp;rsquo;ll be presenting on and I think it&amp;rsquo;s only fair to talk about Mental Health again, I have the possibility to reach a much larger crowd on something that is so important. Thank you so much to the whole PHPNW team for deeming me worthy enough.&lt;/p&gt;
&lt;p&gt;Here&amp;rsquo;s to next years conf!&lt;/p&gt;
&lt;p&gt;Thanks for reading via RSS!&lt;/p&gt;
&lt;p&gt;Send me a message on &lt;a href="https://remotelab.uk/mikebell"&gt;Mastodon&lt;/a&gt; or &lt;a href="mailto:hello@mikebell.io"&gt;email me&lt;/a&gt;&lt;/p&gt;</description></item><item><title>CBT Round 2</title><link>https://mikebell.io/posts/cbt-round-2/</link><pubDate>Tue, 14 Oct 2014 00:00:00 +0000</pubDate><author>hello@mikebell.io (Mike Bell)</author><guid>https://mikebell.io/posts/cbt-round-2/</guid><description>
&lt;p&gt;I had my second round of CBT today and it went much better than the first round. This time I took a bottle of water with me it gave me something to focus on and stop my hands from getting all weird, it&amp;rsquo;s also amazing how thirsty you get during these things.&lt;/p&gt;
&lt;p&gt;The session was focused on a few situations over the past few weeks where I&amp;rsquo;ve had issues with anxiety and panic attacks. We identified things about the situations and how I should be dealing with them.&lt;/p&gt;
&lt;p&gt;I feel much more positive after today&amp;rsquo;s session and I&amp;rsquo;m glad that I&amp;rsquo;m sticking with it, I can see that this will help me and provide me with the tools to help control my thoughts better.&lt;/p&gt;
&lt;p&gt;Thanks for reading via RSS!&lt;/p&gt;
&lt;p&gt;Send me a message on &lt;a href="https://remotelab.uk/mikebell"&gt;Mastodon&lt;/a&gt; or &lt;a href="mailto:hello@mikebell.io"&gt;email me&lt;/a&gt;&lt;/p&gt;</description></item><item><title>My first CBT session</title><link>https://mikebell.io/posts/my-first-cbt-session/</link><pubDate>Tue, 23 Sep 2014 00:00:00 +0000</pubDate><author>hello@mikebell.io (Mike Bell)</author><guid>https://mikebell.io/posts/my-first-cbt-session/</guid><description>
&lt;p&gt;Today I had my first CBT session. I’m hugely conflicted, I don’t know what I was expecting. My session was just a reiteration of the initial phone introduction. It seemed like a waste of time to me, I’m not discounting CBT at all.&lt;/p&gt;
&lt;p&gt;I was given a pro-forma thought journal to fill out for the next sessions (earliest was 3 weeks!!!), I’d already seen this in the initial documentation that I’d been sent so I could have done this in preparation for this meeting rather than the next.&lt;/p&gt;
&lt;p&gt;While we didn’t go into anything of substance in terms of CBT I did realise a few key things:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;If this doesn’t work I’m going to have to work harder to sort things out for myself.&lt;/li&gt;
&lt;li&gt;I really need to talk to someone professional about my feelings.&lt;/li&gt;
&lt;li&gt;Psychotherapy is a damned hard job for someone, who do psychologists go to talk to?&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Points 1 and 2 are huge steps in the right directions so who knows maybe it is working, subliminally… ** Buy me beer ** ** waves hand in the air mystically **&lt;/p&gt;
&lt;p&gt;Thanks for reading via RSS!&lt;/p&gt;
&lt;p&gt;Send me a message on &lt;a href="https://remotelab.uk/mikebell"&gt;Mastodon&lt;/a&gt; or &lt;a href="mailto:hello@mikebell.io"&gt;email me&lt;/a&gt;&lt;/p&gt;</description></item><item><title>Honesty, Medication and Mental Health</title><link>https://mikebell.io/posts/honesty-medication-and-mental-health/</link><pubDate>Mon, 22 Sep 2014 00:00:00 +0000</pubDate><author>hello@mikebell.io (Mike Bell)</author><guid>https://mikebell.io/posts/honesty-medication-and-mental-health/</guid><description>
&lt;p&gt;Again it’s been too long since my last post, I seem to come up with ideas and start planning it out in my head only to end up with a rambling nonsensical rant on where I am and what I’ve gone through. This time I’m going to structure it and make sure I get my point across.&lt;/p&gt;
&lt;h2 class="relative group"&gt;Honesty
&lt;div id="honesty" class="anchor"&gt;&lt;/div&gt;
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
&lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#honesty" aria-label="Anchor"&gt;#&lt;/a&gt;
&lt;/span&gt;
&lt;/h2&gt;
&lt;p&gt;I’m now a lot more honest, with myself and those around me. It’s vital to where I am that I am honest, it’ll help detect and issues in the future and make sure that I keep those around me in the loop about how I’m feeling. This has become so vital to how I recover as I can no longer hide behind lies and the misconception that everything is fine.&lt;/p&gt;
&lt;h2 class="relative group"&gt;Medication
&lt;div id="medication" class="anchor"&gt;&lt;/div&gt;
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
&lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#medication" aria-label="Anchor"&gt;#&lt;/a&gt;
&lt;/span&gt;
&lt;/h2&gt;
&lt;p&gt;I’m currently on two types of medication, one for anxiety and one for depression. These have both helped a hell of a lot and I don’t think I’d be where I am without them. That being said I need to slowly come off them, this is scaring me more than I thought it would, I’m not sure what part of my mind is me recovering or the medication. I guess I will just have to see what happens once I start to come off them.&lt;/p&gt;
&lt;h2 class="relative group"&gt;Mental Health
&lt;div id="mental-health" class="anchor"&gt;&lt;/div&gt;
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
&lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#mental-health" aria-label="Anchor"&gt;#&lt;/a&gt;
&lt;/span&gt;
&lt;/h2&gt;
&lt;p&gt;A friend pointed me towards &lt;a href="https://twitter.com/funkatron" target="_blank" rel="noreferrer"&gt;@funkatron&lt;/a&gt; and his set of talks on Open Source and Mental Health, these have helped me get a better grasp on things, I highly suggest you check them out. I’m currently in the process of putting together a lightning talk for PHPNW on some of the subjects &lt;a href="https://twitter.com/funkatron" target="_blank" rel="noreferrer"&gt;@funkatron&lt;/a&gt; touches on and what I’ve been through these past few months. It’s important for me that I can help anyone in anyway, even if it’s just 20 minutes and only one person turns up.&lt;/p&gt;
&lt;p&gt;Thanks for reading via RSS!&lt;/p&gt;
&lt;p&gt;Send me a message on &lt;a href="https://remotelab.uk/mikebell"&gt;Mastodon&lt;/a&gt; or &lt;a href="mailto:hello@mikebell.io"&gt;email me&lt;/a&gt;&lt;/p&gt;</description></item><item><title>An Update Pt. 2</title><link>https://mikebell.io/posts/an-update-pt-2/</link><pubDate>Mon, 18 Aug 2014 00:00:00 +0000</pubDate><author>hello@mikebell.io (Mike Bell)</author><guid>https://mikebell.io/posts/an-update-pt-2/</guid><description>
&lt;p&gt;It&amp;rsquo;s been a few weeks since I last posted. I&amp;rsquo;ve decided to be frank about all of this, I want to be honest with myself and others. I&amp;rsquo;ve found that writing things down helps to organise my thoughts.&lt;/p&gt;
&lt;p&gt;My mind is still a mess I don&amp;rsquo;t fully understand it yet, I have good days and bad. I&amp;rsquo;m still having panic attacks even though I&amp;rsquo;m on medication. Overall I&amp;rsquo;m not as depressed though so at least part of the medication is working as it should. The side effects of the medication are finally waning as well which is great as for the first week of taking them it was not pleasant.&lt;/p&gt;
&lt;p&gt;Therapy is something I&amp;rsquo;m looking into and I&amp;rsquo;m scheduled for September, while it&amp;rsquo;s not great it&amp;rsquo;s what I have to work with.&lt;/p&gt;
&lt;p&gt;I&amp;rsquo;ve been thinking a lot on how I got into this place and how I didn&amp;rsquo;t see it coming. I think the problems started before I joined my current job, any issues were hidden away by me finding Hannah (this is not a bad thing!). Hannah makes me so happy it hid any issues I had. Moving jobs provided a different pace and what I thought would be a move back into development. Instead of development I moved into a more project lead role, a role which while I can do just isn&amp;rsquo;t something I enjoy (maybe it&amp;rsquo;s the way it&amp;rsquo;s being run). With the added stress of being project lead on &amp;ldquo;Project Doge&amp;rdquo; and quickly falling into a support role the pressure increased and the increased need to deliver against quite frankly crazy and stupid requests made things very difficult. After I moved off PD I started on &amp;ldquo;Project Momus&amp;rdquo;. This project was certainly the one that broke me, it has all the hall marks of a nightmare, while I won&amp;rsquo;t go into the specifics we should never have taken this project and me being given it was unfair. The one part of my previous job I miss is the ability for people to say &amp;ldquo;no&amp;rdquo;.&lt;/p&gt;
&lt;p&gt;I&amp;rsquo;ve been overwhelmed by peoples support but while everyone is offering their help and experience no one wants to listen. Everyone wants to dish out their own advice and while I&amp;rsquo;m not criticising that for once I&amp;rsquo;d just like to be listened to. I&amp;rsquo;ve always been there for people (at least I think I have). Even typing this sounds selfish. I come off as an ass saying this but it&amp;rsquo;s tough being in this situation and feeling so alone sometimes. I know now that I&amp;rsquo;m not alone and people are there for me to talk to but it felt like I was on an island for so long.&lt;/p&gt;
&lt;p&gt;Being off work has made me think about a lot of things. I haven&amp;rsquo;t touched real code in a while, I want to but I just can&amp;rsquo;t bring myself to it, I find my concentration wanes and I lose focus on the problem. I&amp;rsquo;m hoping that this is something that will come back to me over the next week, I&amp;rsquo;m going to start tackling a few things and work on a personal project.&lt;/p&gt;
&lt;p&gt;I&amp;rsquo;d like to think that I&amp;rsquo;m getting better, it&amp;rsquo;s been a struggle and not something that I ever really want to go through. It feels like I&amp;rsquo;m having to start a lot of things up from scratch, gaining back my confidence and ability to feel like I can do my job. One of the hardest challenges I have at the moment is coming to terms with what I&amp;rsquo;m supposed to be doing as my job, I&amp;rsquo;m struggling to feel like I&amp;rsquo;m good at what I do. On the one hand my lack of coding over the past few years has dulled my skills to the point where I was doing more coding outside of work than in, on the other hand I&amp;rsquo;ve learnt lots of additional skills that are always useful. It&amp;rsquo;s tough to really think about how I want to progress. One of the really interesting things someone pointed out was Imposter Syndrome something I&amp;rsquo;ve read into and can really relate to.&lt;/p&gt;
&lt;p&gt;The one thing I keep coming back to is the fact that I&amp;rsquo;m tired. There are only a select few people that know this but I&amp;rsquo;ve had ME (CFS - Chronic Fatigue Syndrome) since I was 16. It&amp;rsquo;s the subject of another blog post that I&amp;rsquo;ve had written for a few months and will get round to posting as soon as I feel happy posting it. It&amp;rsquo;s an illness that I&amp;rsquo;ve had for a long time know. One of the reasons I&amp;rsquo;ve not been public about this is that I&amp;rsquo;ve had to prove myself that it doesn&amp;rsquo;t effect my ability to work. I won&amp;rsquo;t lie and say it hasn&amp;rsquo;t effected me but I do not want to be judged by it. Hopefully I&amp;rsquo;ve proved over the past 6 years that it hasn&amp;rsquo;t effected me being who I am. All of this seems very contradictory but I&amp;rsquo;m being brutally honest, this has definitely impacted my mental state over the past few months.&lt;/p&gt;
&lt;p&gt;So I guess I should wrap this post up now. I want to thank certain people for helping along the way, I&amp;rsquo;m getting better and becoming a stronger person because of you:&lt;/p&gt;
&lt;p&gt;Janet &amp;amp; David - Dad you&amp;rsquo;re only just understanding and I understand that, it means a lot I appreciate every second we spend together. Mum I love you, thank you for being there and making sure me and Hannah have a lovely place to stay.&lt;/p&gt;
&lt;p&gt;James &amp;amp; Steph - Love you Bob, you&amp;rsquo;ll never realise how much the nights we played games together really mean to me. Steph look after Bob.&lt;/p&gt;
&lt;p&gt;Hannah - &amp;lt;3, I love you.&lt;/p&gt;
&lt;p&gt;Garrett - One day I hope to repay all the wisdom you&amp;rsquo;ve shared. Our late night chats have meant a lot and SF next year will be amazing.&lt;/p&gt;
&lt;p&gt;Mark, Ali, Matt - Thank you for indulging my PSBH habit. Those nights mean a lot and I look forward to many more, let the badge wars continue!&lt;/p&gt;
&lt;p&gt;CTI - I really appreciate the opportunity to work with great people and I look forward to many a successful project in the future.&lt;/p&gt;
&lt;p&gt;UK Drupal Community - Last but not least, thank you to the people on twitter and IRC. You gave me the confidence and ability to get help and get to the position where I can write this.&lt;/p&gt;
&lt;p&gt;Thanks for reading via RSS!&lt;/p&gt;
&lt;p&gt;Send me a message on &lt;a href="https://remotelab.uk/mikebell"&gt;Mastodon&lt;/a&gt; or &lt;a href="mailto:hello@mikebell.io"&gt;email me&lt;/a&gt;&lt;/p&gt;</description></item><item><title>An Update</title><link>https://mikebell.io/posts/an-update/</link><pubDate>Fri, 25 Jul 2014 00:00:00 +0000</pubDate><author>hello@mikebell.io (Mike Bell)</author><guid>https://mikebell.io/posts/an-update/</guid><description>
&lt;p&gt;Hi everyone,&lt;/p&gt;
&lt;p&gt;Firstly thank you so much for getting in touch, I&amp;rsquo;m overwhelmed by the response from people. I&amp;rsquo;m sorry to say I just can&amp;rsquo;t reply to everyone it may seem odd but it&amp;rsquo;s a lot of work I&amp;rsquo;m just not ready for.&lt;/p&gt;
&lt;p&gt;I&amp;rsquo;ve been to the doctors and I&amp;rsquo;m getting help. I don&amp;rsquo;t know how long it&amp;rsquo;ll take to recover.&lt;/p&gt;
&lt;p&gt;The Drupal and PHP community has been a great help in starting me off on the road to recovery. Thank you all so much for the support.&lt;/p&gt;
&lt;p&gt;I&amp;rsquo;ve never been so scared in my entire life but finally there is light at the end of the tunnel.&lt;/p&gt;
&lt;p&gt;Thanks for reading via RSS!&lt;/p&gt;
&lt;p&gt;Send me a message on &lt;a href="https://remotelab.uk/mikebell"&gt;Mastodon&lt;/a&gt; or &lt;a href="mailto:hello@mikebell.io"&gt;email me&lt;/a&gt;&lt;/p&gt;</description></item><item><title>Anxiety and Depression</title><link>https://mikebell.io/posts/anxiety-and-depression/</link><pubDate>Wed, 23 Jul 2014 00:00:00 +0000</pubDate><author>hello@mikebell.io (Mike Bell)</author><guid>https://mikebell.io/posts/anxiety-and-depression/</guid><description>
&lt;p&gt;I&amp;rsquo;ve been suffering from depression and severe anxiety for the past 6 months now. It&amp;rsquo;s costing me my girlfriend, job and most importantly my life.&lt;/p&gt;
&lt;p&gt;I woke up yesterday with my heart pounding out of my chest, I got ready for work and then threw up, I felt dizzy and very scared. All because of everything that&amp;rsquo;s going on in my life. All because I&amp;rsquo;ve had the worst week of my entire life.&lt;/p&gt;
&lt;p&gt;I feel like I&amp;rsquo;ve lost everything, I&amp;rsquo;m emotionally detached from the people I love, I&amp;rsquo;m unable to concentrate on work. I&amp;rsquo;m not even sure if people have noticed that I&amp;rsquo;m stuttering more and can barely string a sentence together when under stress. I&amp;rsquo;m not the person I was a year ago.&lt;/p&gt;
&lt;p&gt;I don&amp;rsquo;t know what to do and that makes things worse. I&amp;rsquo;m hoping that this is a step in the right direction.&lt;/p&gt;
&lt;p&gt;Thanks for reading via RSS!&lt;/p&gt;
&lt;p&gt;Send me a message on &lt;a href="https://remotelab.uk/mikebell"&gt;Mastodon&lt;/a&gt; or &lt;a href="mailto:hello@mikebell.io"&gt;email me&lt;/a&gt;&lt;/p&gt;</description></item><item><title>Drupal + WordPress Sprints Manchester</title><link>https://mikebell.io/posts/drupal-wordpress-sprints-manchester/</link><pubDate>Thu, 03 Jul 2014 00:00:00 +0000</pubDate><author>hello@mikebell.io (Mike Bell)</author><guid>https://mikebell.io/posts/drupal-wordpress-sprints-manchester/</guid><description>
&lt;p&gt;I&amp;rsquo;m proud to announce a new collaboration between the Drupal and WordPress communities in Manchester to provide a space to contribute back to each respective project. It&amp;rsquo;s a great opportunity to get together and work on the projects that we love while being around like minded people.&lt;/p&gt;
&lt;p&gt;The first sprint will be on the 19th July at TechHub in Manchester. You can sign up here - &lt;a href="http://www.eventbrite.com/e/drupal-wordpress-sprints-manchester-tickets-12157905623" target="_blank" rel="noreferrer"&gt;http://www.eventbrite.com/e/drupal-wordpress-sprints-manchester-tickets-12157905623&lt;/a&gt; with lunch provided.&lt;/p&gt;
&lt;p&gt;I&amp;rsquo;d like to thank Jenny Wong (&lt;a href="https://twitter.com/miss_jwo" target="_blank" rel="noreferrer"&gt;@miss_jwo&lt;/a&gt;) for helping to arrange this, I&amp;rsquo;m really looking forward to making this a long running collaboration between the two communities.&lt;/p&gt;
&lt;p&gt;Thanks for reading via RSS!&lt;/p&gt;
&lt;p&gt;Send me a message on &lt;a href="https://remotelab.uk/mikebell"&gt;Mastodon&lt;/a&gt; or &lt;a href="mailto:hello@mikebell.io"&gt;email me&lt;/a&gt;&lt;/p&gt;</description></item><item><title>My Keyboards</title><link>https://mikebell.io/posts/my-keyboards/</link><pubDate>Fri, 20 Jun 2014 00:00:00 +0000</pubDate><author>hello@mikebell.io (Mike Bell)</author><guid>https://mikebell.io/posts/my-keyboards/</guid><description>
&lt;p&gt;I’ve gone a bit mad on keyboards recently, mostly due to &lt;a href="http://geekhack.org/" target="_blank" rel="noreferrer"&gt;geekhack&lt;/a&gt; and &lt;a href="http://www.reddit.com/r/mechanicalkeyboards" target="_blank" rel="noreferrer"&gt;r/mechanicalkeyboards&lt;/a&gt;. I’ve got the following boards at the moment:&lt;/p&gt;
&lt;p&gt;&lt;a href="http://www.amazon.co.uk/gp/product/B00FBCYAKI/ref=as_li_tf_tl?ie=UTF8&amp;amp;camp=1634&amp;amp;creative=6738&amp;amp;creativeASIN=B00FBCYAKI&amp;amp;linkCode=as2&amp;amp;tag=mikebellio-21" target="_blank" rel="noreferrer"&gt;Ducky Shine 3 - ISO - Brown switches&lt;/a&gt; -
This is a 75% keyboard, it’s missing the number pad on the right side. It’s a great gaming keyboard and the keys feel nice and solid. This has white led backlighting which is quite nice, mines currently setup to pulse when a key is pressed.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://www.amazon.co.uk/gp/product/B00A2LLJ0W/ref=as_li_tf_tl?ie=UTF8&amp;amp;camp=1634&amp;amp;creative=6738&amp;amp;creativeASIN=B00A2LLJ0W&amp;amp;linkCode=as2&amp;amp;tag=mikebellio-21" target="_blank" rel="noreferrer"&gt;KBT Pure Pro - ISO - Brown switches&lt;/a&gt; -
A 60% board with built in arrow keys, it’s an ok board but it’s not standard key sizes on the right hand side of the board make it a pain to get used to. Like the Ducky this has white backlight which can get really bright, no fancy display modes though.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://www.amazon.co.uk/gp/product/B00GERK25G/ref=as_li_tf_tl?ie=UTF8&amp;amp;camp=1634&amp;amp;creative=6738&amp;amp;creativeASIN=B00GERK25G&amp;amp;linkCode=as2&amp;amp;tag=mikebellio-21" target="_blank" rel="noreferrer"&gt;Poker 2 - ANSI - Brown switches&lt;/a&gt; -
Another 60% board without the physical arrow keys which means the keys have a much better layout and size. It has white thick PBT caps which make for a nice feel and quietens the keyboard down a bit as well. It doesn’t have any led lights (apart from caps lock) but you can easily fit those as a mod.&lt;/p&gt;
&lt;p&gt;Each one has it’s pros and cons. I use the Ducky at home for gaming and the Poker 2 at work for coding.&lt;/p&gt;
&lt;p&gt;I’m currently waiting on shipment of some LEDs for the Poker 2 and a new set of &lt;a href="http://geekhack.org/index.php?topic=52475.0" target="_blank" rel="noreferrer"&gt;Raindrop&lt;/a&gt; key caps although I’m not sure which keyboard they’ll be going on yet, part of me wants to spray the Ducky white so it fits with the colour scheme.&lt;/p&gt;
&lt;p&gt;After modding my Poker 2 with LEDs I’m going to make a GH60 which is another 60% keyboard but with multiple programmable layers and support for any layout you can think of.&lt;/p&gt;
&lt;p&gt;Thanks for reading via RSS!&lt;/p&gt;
&lt;p&gt;Send me a message on &lt;a href="https://remotelab.uk/mikebell"&gt;Mastodon&lt;/a&gt; or &lt;a href="mailto:hello@mikebell.io"&gt;email me&lt;/a&gt;&lt;/p&gt;</description></item><item><title>The Problem with Points = Time</title><link>https://mikebell.io/posts/the-problem-with-points-equals-time/</link><pubDate>Sat, 07 Jun 2014 00:00:00 +0000</pubDate><author>hello@mikebell.io (Mike Bell)</author><guid>https://mikebell.io/posts/the-problem-with-points-equals-time/</guid><description>
&lt;p&gt;Take the following not so hypothetical situation:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Project Lead create user story and adds estimate of 3 hours.&lt;/li&gt;
&lt;li&gt;Developers estimate per hours on tasks within user story totalling 6 hours.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Where’s that extra 3 hours come from? Who is accountable for the extra 3 hours the project lead or the developer?&lt;/p&gt;
&lt;p&gt;Planning poker helps here but we don’t do it at the moment so we’re reliant on whoever is available at the time to create initial estimates that this isn&amp;rsquo;t going to happen.&lt;/p&gt;
&lt;p&gt;All this assumes that we allow developers into the project planning stage (which we really should).&lt;/p&gt;
&lt;p&gt;Another issue I can think of is that if we have a high estimate ticket of say 20 hours and something goes wrong the likelihood is that estimate will be blown out of the water, including risk as a factor in story point calculation should help with that.&lt;/p&gt;
&lt;p&gt;Playing devils advocate though I can see how it’s difficult to equate story points != hours as when a project starts there is no gauge of initial velocity.&lt;/p&gt;
&lt;p&gt;I think the above points are fairly weak but 140 characters isn&amp;rsquo;t enough for this kind of thing.&lt;/p&gt;
&lt;p&gt;Thanks for reading via RSS!&lt;/p&gt;
&lt;p&gt;Send me a message on &lt;a href="https://remotelab.uk/mikebell"&gt;Mastodon&lt;/a&gt; or &lt;a href="mailto:hello@mikebell.io"&gt;email me&lt;/a&gt;&lt;/p&gt;</description></item><item><title>PSR-4 for dummies with practical example</title><link>https://mikebell.io/posts/psr-4-for-dummies/</link><pubDate>Sun, 01 Jun 2014 00:00:00 +0000</pubDate><author>hello@mikebell.io (Mike Bell)</author><guid>https://mikebell.io/posts/psr-4-for-dummies/</guid><description>
&lt;p&gt;Every time I come to write a new application I always forget how to use PSR-4 so here’s my practical example&lt;/p&gt;
&lt;p&gt;Directories:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;- src
- - Digital
- - - Epok
- - - - Controller
- - - - - HomePageController.php
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;composer.json&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;{
&amp;quot;require&amp;quot;: {
&amp;quot;silex/silex&amp;quot;: &amp;quot;~1.1&amp;quot;
},
&amp;quot;autoload&amp;quot;: {
&amp;quot;psr-4&amp;quot;: {
&amp;quot;Digital\\Epok\\Controller\\&amp;quot;: &amp;quot;src/Digital/Epok/Controller&amp;quot;
}
}
}
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;HomePageController.php&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;&amp;lt;?php
namespace Digital\Epok\Controller;
use Silex\Application;
use Symfony\Component\HttpFoundation\Request;
class HomePageController {
public function homePage(Request $request, Application $application) {
return 'Hi';
}
}
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Hopefully this will help me remember how I should setup PSR-4 with a new project.&lt;/p&gt;
&lt;p&gt;Thanks for reading via RSS!&lt;/p&gt;
&lt;p&gt;Send me a message on &lt;a href="https://remotelab.uk/mikebell"&gt;Mastodon&lt;/a&gt; or &lt;a href="mailto:hello@mikebell.io"&gt;email me&lt;/a&gt;&lt;/p&gt;</description></item><item><title>Quick and Easy Drush Debian Packaging</title><link>https://mikebell.io/posts/quick-and-easy-drush-debian-packaging/</link><pubDate>Thu, 24 Apr 2014 00:00:00 +0000</pubDate><author>hello@mikebell.io (Mike Bell)</author><guid>https://mikebell.io/posts/quick-and-easy-drush-debian-packaging/</guid><description>
&lt;p&gt;I found a really nice way of packaging up drush as a debian package without having to go through all the hassle of creating all the files for a “true” debian package.&lt;/p&gt;
&lt;p&gt;You’ll need the following:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Git&lt;/li&gt;
&lt;li&gt;Composer&lt;/li&gt;
&lt;li&gt;FPM gem&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;You can then run the following commands to setup your base environment for packaging:&lt;/p&gt;
&lt;div class="highlight-wrapper"&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-shell" data-lang="shell"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;git clone git@github.com:drush-ops/drush.git
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;cd&lt;/span&gt; drush
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;composer install
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;sudo gem install fpm&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;To test to make sure your latest master copy of drush is working quickly run either &lt;code&gt;drush&lt;/code&gt; or &lt;code&gt;drush —version&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;Now you are ready to package the contents up:&lt;/p&gt;
&lt;p&gt;&lt;code&gt;fpm -s dir -t deb -n drush -v master ./drush=/usr/bin&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;What this does is tell fpm you want to create a deb file from a directory with a version name of master (corresponding to the branch we checked out in git), it also configures the output directory.&lt;/p&gt;
&lt;p&gt;Once that’s run you should see the newly created package appear. To verify it’s contents run &lt;code&gt;dkpg -c drush_master_amd64.deb&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;Throw in a parameterised job in jenkins and you have a nice way of creating version specific debian packages for deployment.&lt;/p&gt;
&lt;p&gt;Thanks for reading via RSS!&lt;/p&gt;
&lt;p&gt;Send me a message on &lt;a href="https://remotelab.uk/mikebell"&gt;Mastodon&lt;/a&gt; or &lt;a href="mailto:hello@mikebell.io"&gt;email me&lt;/a&gt;&lt;/p&gt;</description></item><item><title>Drupal Sprints Manchester are back!</title><link>https://mikebell.io/posts/drupal-sprints-manchester-are-back/</link><pubDate>Wed, 23 Apr 2014 00:00:00 +0000</pubDate><author>hello@mikebell.io (Mike Bell)</author><guid>https://mikebell.io/posts/drupal-sprints-manchester-are-back/</guid><description>
&lt;p&gt;After a long break we’re back and ready to get sprinting again.&lt;/p&gt;
&lt;p&gt;I’m looking forward to getting stuck into Drupal 8 migrate in preparation for my talk at Drupal Camp Yorkshire.&lt;/p&gt;
&lt;p&gt;More details on the event can be found at &lt;a href="http://www.meetup.com/nwdrupal/events/178627442/" target="_blank" rel="noreferrer"&gt;http://www.meetup.com/nwdrupal/events/178627442/&lt;/a&gt; don’t forget to read my sprint manifesto &lt;a href="http://mikebell.io/blog/29-01-2014/manchester-drupal-sprint-manifesto-v20" target="_blank" rel="noreferrer"&gt;here&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Thanks for reading via RSS!&lt;/p&gt;
&lt;p&gt;Send me a message on &lt;a href="https://remotelab.uk/mikebell"&gt;Mastodon&lt;/a&gt; or &lt;a href="mailto:hello@mikebell.io"&gt;email me&lt;/a&gt;&lt;/p&gt;</description></item><item><title>Music that shaped me</title><link>https://mikebell.io/posts/music-that-shaped-me/</link><pubDate>Sun, 20 Apr 2014 00:00:00 +0000</pubDate><author>hello@mikebell.io (Mike Bell)</author><guid>https://mikebell.io/posts/music-that-shaped-me/</guid><description>
&lt;p&gt;Back when I was a young kid I remember being influenced by so much music. My Dad with heavy rock from the 70/80s, my mum with Elton John and random Christian based music. Stand out album from this period has to be:&lt;/p&gt;
&lt;p&gt;The Waterboys - Fishermans Blues - Stand out track has to be &amp;ldquo;We Will Not Be Lovers&amp;rdquo;, to this day I love this track. I was recently reminded of this while watching Dom Hemingway, Doms daughter covers &amp;ldquo;Fishermans Blues&amp;rdquo; quite well.&lt;/p&gt;
&lt;p&gt;As a grew up I found the sounds of electronic music. I remember buying so many Euphoria CDs and listening to them non stop. Electronic music specifically trance and house represented a feeling that was totally new in my musical history.&lt;/p&gt;
&lt;p&gt;My teenage music tastes varied widely, from electronic music I found myself listening to more and more emo/screamo. I remember a friend in secondary school lending me a Limp Bizkit album which was pretty good for the time. I then moved on to Linkin Park, Hybrid Theory was pretty much a well rinsed album during that period of my life. I also moved on to Metallica and their earlier stuff. I coveted Master of Puppets and Ride the Lightning as must have albums.&lt;/p&gt;
&lt;p&gt;When I went to university my tastes altered towards Deftones, I remember falling asleep to their self titled album after many a drunken night out. Deftones will always have a special place in my heart for all their amazing music. I was also massively into Alexisonfire, I dragged my brother to a gig of theirs in Leeds and remember watching one of the band members constantly snorting white snot out of his nose while the entire place moshed out.&lt;/p&gt;
&lt;p&gt;In what can only be classified as my working years I&amp;rsquo;ve found a home in more electronic music, I started listening to more trance again and from there moved solidly into Drum and Bass.&lt;/p&gt;
&lt;p&gt;Now I&amp;rsquo;ve come to appreciate all types of music, I&amp;rsquo;m currently listening to Burial. I tend to listen to quite a wide range of music and realise now how much it&amp;rsquo;s shaped who I am.&lt;/p&gt;
&lt;p&gt;Thanks for reading via RSS!&lt;/p&gt;
&lt;p&gt;Send me a message on &lt;a href="https://remotelab.uk/mikebell"&gt;Mastodon&lt;/a&gt; or &lt;a href="mailto:hello@mikebell.io"&gt;email me&lt;/a&gt;&lt;/p&gt;</description></item><item><title>How To Quit Vim</title><link>https://mikebell.io/posts/how-to-quit-vim/</link><pubDate>Thu, 03 Apr 2014 00:00:00 +0000</pubDate><author>hello@mikebell.io (Mike Bell)</author><guid>https://mikebell.io/posts/how-to-quit-vim/</guid><description>
&lt;p&gt;Here&amp;rsquo;s my presentation from nwdug in April 2014&lt;/p&gt;
&lt;script async class="speakerdeck-embed" data-id="e3e87a409d2f01316e28625017dd54d3" data-ratio="1.29456384323641" src="//speakerdeck.com/assets/embed.js"&gt;&lt;/script&gt;
&lt;p&gt;Thanks for reading via RSS!&lt;/p&gt;
&lt;p&gt;Send me a message on &lt;a href="https://remotelab.uk/mikebell"&gt;Mastodon&lt;/a&gt; or &lt;a href="mailto:hello@mikebell.io"&gt;email me&lt;/a&gt;&lt;/p&gt;</description></item><item><title>The Commit Message Standard</title><link>https://mikebell.io/posts/the-commit-message-standard/</link><pubDate>Thu, 03 Apr 2014 00:00:00 +0000</pubDate><author>hello@mikebell.io (Mike Bell)</author><guid>https://mikebell.io/posts/the-commit-message-standard/</guid><description>
&lt;p&gt;Since we have git flow as a nice standard it makes sense to standardise our commit messages as well.&lt;/p&gt;
&lt;p&gt;Here’s the following proposed standard:&lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;[Updated | Added | Removed (required)] [Component (required)] [Reason] - [Issue Reference (required)]&lt;/p&gt;
&lt;/blockquote&gt;&lt;p&gt;Action - Updated/Added/Removed - Three options to concisely describe what this commit achieves. If your commit message doesn’t fit any of the words then you might want to reconsider splitting the commit up into smaller chunks (git add -p). Other verbs can be used here but sticking to these 3 as a standard makes you think a bit more carefully about the context of the commit message.&lt;/p&gt;
&lt;p&gt;Component - The area/module/class/method you’ve edited. Note that this isn’t filename it’s a reference to the general area so if people are searching for commits related to the area they can find it easier.&lt;/p&gt;
&lt;p&gt;Reason - A general reason for the update, at a minimum it should include a one line summary of the issue your references.&lt;/p&gt;
&lt;p&gt;Issue Reference - A mandatory reference to the ticket ID.&lt;/p&gt;
&lt;p&gt;I’m looking for feedback on this so please post a comment below!&lt;/p&gt;
&lt;p&gt;Additional Resources:&lt;/p&gt;
&lt;p&gt;&lt;a href="http://twitter.com/miss_jwo" target="_blank" rel="noreferrer"&gt;@miss_jwo&lt;/a&gt; pointed me to &lt;a href="https://gist.github.com/rmccue/daf72eaffe984f988a0a" target="_blank" rel="noreferrer"&gt;https://gist.github.com/rmccue/daf72eaffe984f988a0a&lt;/a&gt; - Some good starting points but I think it misses a lot of vital points.&lt;/p&gt;
&lt;p&gt;Thanks for reading via RSS!&lt;/p&gt;
&lt;p&gt;Send me a message on &lt;a href="https://remotelab.uk/mikebell"&gt;Mastodon&lt;/a&gt; or &lt;a href="mailto:hello@mikebell.io"&gt;email me&lt;/a&gt;&lt;/p&gt;</description></item><item><title>Drupal to Octopress to Drupal</title><link>https://mikebell.io/posts/drupal-to-octopress-to-drupal/</link><pubDate>Mon, 24 Feb 2014 00:00:00 +0000</pubDate><author>hello@mikebell.io (Mike Bell)</author><guid>https://mikebell.io/posts/drupal-to-octopress-to-drupal/</guid><description>
&lt;p&gt;Over the weekend I’ve been working on migrating my site away from Drupal. I managed to get everything up and running on Octopress but it just doesn’t feel right.&lt;/p&gt;
&lt;p&gt;It’s not as flexible as Drupal and it seems the simplest of things breaks it. In theory I like the concept of Octopress but it just seems clunky compared to Drupal.&lt;/p&gt;
&lt;p&gt;I’ll be slowly making upgrades to this site:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Adding Disqus&lt;/li&gt;
&lt;li&gt;Tidying the theme up&lt;/li&gt;
&lt;li&gt;Adding extra theme elements&lt;/li&gt;
&lt;li&gt;Adding some colour!!!&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Thanks for reading via RSS!&lt;/p&gt;
&lt;p&gt;Send me a message on &lt;a href="https://remotelab.uk/mikebell"&gt;Mastodon&lt;/a&gt; or &lt;a href="mailto:hello@mikebell.io"&gt;email me&lt;/a&gt;&lt;/p&gt;</description></item><item><title>Stepping Down from NWDUG</title><link>https://mikebell.io/posts/stepping-down-from-nwdug/</link><pubDate>Sun, 09 Feb 2014 00:00:00 +0000</pubDate><author>hello@mikebell.io (Mike Bell)</author><guid>https://mikebell.io/posts/stepping-down-from-nwdug/</guid><description>
&lt;p&gt;As of the 6th February I’ve stepped down from NWDUG it’s something that I’ve been thinking about for a while now and I now have other things that need my focus. Phil Norton is a great person to work with and I hope that whoever steps up to help will have as much fun as I have over the past few years.&lt;/p&gt;
&lt;p&gt;So whats next? Well I intend to ramp up my involvement with Code Club Manchester, it’s something that I believe in strongly and think I can make a great start with it. I’ll still be running Drupal Sprints Manchester (follow at &lt;a href="http://twitter.com/drupalsprints" target="_blank" rel="noreferrer"&gt;http://twitter.com/drupalsprints&lt;/a&gt;) but the format will be different and new rules will be put into place.&lt;/p&gt;
&lt;p&gt;Thanks for reading via RSS!&lt;/p&gt;
&lt;p&gt;Send me a message on &lt;a href="https://remotelab.uk/mikebell"&gt;Mastodon&lt;/a&gt; or &lt;a href="mailto:hello@mikebell.io"&gt;email me&lt;/a&gt;&lt;/p&gt;</description></item><item><title>Clarifications</title><link>https://mikebell.io/posts/clarifications/</link><pubDate>Thu, 06 Feb 2014 00:00:00 +0000</pubDate><author>hello@mikebell.io (Mike Bell)</author><guid>https://mikebell.io/posts/clarifications/</guid><description>
&lt;ol&gt;
&lt;li&gt;Calm the fuck down.&lt;/li&gt;
&lt;li&gt;No I’m not quitting my job.&lt;/li&gt;
&lt;li&gt;I’m happy with Drupal and will continue to work with it.&lt;/li&gt;
&lt;li&gt;Those that know me should realise I’ve not worked in depth with Drupal in a &lt;em&gt;long&lt;/em&gt; time.&lt;/li&gt;
&lt;li&gt;My current project is great and it’s made me realise that I need to spend more time with underlying tech than just Drupal, the best way I can describe it is this project is London and Drupal is the Thames, it runs all the way through but it’s by no means the sum of all it’s parts.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Hopefully that will put things in perspective now.&lt;/p&gt;
&lt;p&gt;Thanks for reading via RSS!&lt;/p&gt;
&lt;p&gt;Send me a message on &lt;a href="https://remotelab.uk/mikebell"&gt;Mastodon&lt;/a&gt; or &lt;a href="mailto:hello@mikebell.io"&gt;email me&lt;/a&gt;&lt;/p&gt;</description></item><item><title>Code Club Manchester and You!</title><link>https://mikebell.io/posts/code-club-manchester-and-you/</link><pubDate>Thu, 30 Jan 2014 00:00:00 +0000</pubDate><author>hello@mikebell.io (Mike Bell)</author><guid>https://mikebell.io/posts/code-club-manchester-and-you/</guid><description>
&lt;p&gt;I&amp;rsquo;m proud to announce that I&amp;rsquo;ll be involved with Code Club Manchester! CTI has graciously sponsored this great initiative. Both me and Paul Johnson have volunteered our time to help steer the Code Club in Manchester and make sure it&amp;rsquo;s as successful as possible.&lt;/p&gt;
&lt;p&gt;This is something that I feel really passionate about, it&amp;rsquo;s important that the kids get a real feel for what programming actually is (and not just MS Word and Excel!). This practical experience will help to shape how kids feel and treat IT in the future.&lt;/p&gt;
&lt;p&gt;We&amp;rsquo;re planning two events in February that we feel will be really interesting and important for anyone to attend:&lt;/p&gt;
&lt;p&gt;&lt;a href="http://www.eventbrite.com/e/digital-skills-festival-2014-conference-delegate-registration-tickets-9601954705" target="_blank" rel="noreferrer"&gt;Code Club Manchester Launch&lt;/a&gt; - 11th February - The official launch event as part of the Digital Skills festival.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://www.eventbrite.co.uk/e/code-club-in-manchester-a-party-tickets-10118078445" target="_blank" rel="noreferrer"&gt;Code Club Manchester Launch Party&lt;/a&gt; - 11th February - A party to mark the launch of the Code Club in Manchester.&lt;/p&gt;
&lt;p&gt;Please sign up and come and see us!&lt;/p&gt;
&lt;p&gt;##W here do you come in?&lt;/p&gt;
&lt;p&gt;Well this is the good bit, we&amp;rsquo;re looking for volunteers, people who are willing to teach and those who are willing to bug their schools and teachers to get the involved with Code Club. We know that kids will be up for it and parents are too but it&amp;rsquo;s important that schools get behind it as well, that&amp;rsquo;s why we need your help. Contact your school, express and interest and sign up at codeclub.org.uk&lt;/p&gt;
&lt;h2 class="relative group"&gt;What&amp;rsquo;s next?
&lt;div id="whats-next" class="anchor"&gt;&lt;/div&gt;
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
&lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#whats-next" aria-label="Anchor"&gt;#&lt;/a&gt;
&lt;/span&gt;
&lt;/h2&gt;
&lt;p&gt;After the launch and party on the 11th February we&amp;rsquo;ll be moving into full gear and scheduling our first code club meet ups!&lt;/p&gt;
&lt;p&gt;Thanks for reading via RSS!&lt;/p&gt;
&lt;p&gt;Send me a message on &lt;a href="https://remotelab.uk/mikebell"&gt;Mastodon&lt;/a&gt; or &lt;a href="mailto:hello@mikebell.io"&gt;email me&lt;/a&gt;&lt;/p&gt;</description></item><item><title>Manchester Drupal Sprint Manifesto V2.0</title><link>https://mikebell.io/posts/manchsester-drupal-sprint-manifesto-v-2/</link><pubDate>Wed, 29 Jan 2014 00:00:00 +0000</pubDate><author>hello@mikebell.io (Mike Bell)</author><guid>https://mikebell.io/posts/manchsester-drupal-sprint-manifesto-v-2/</guid><description>
&lt;p&gt;I really enjoy the sprints however there are few issues, some from me and some brought up by others who attend the sprints. I&amp;rsquo;m hoping to address them. With this in mind here is a revised manifesto for upcoming sprints:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Must have a laptop - it’s there in the meet up description!&lt;/li&gt;
&lt;li&gt;This is not the NWDUG user group - we’re not here for every day Drupal problems, please check the next NWDUG meet up where your questions will be more than welcome.&lt;/li&gt;
&lt;li&gt;Must have a beginners knowledge of git - I’m looking into running Drupal ladder but it’s not there yet.&lt;/li&gt;
&lt;li&gt;Must be ready to delve into a problem and have the tools ready to do so.&lt;/li&gt;
&lt;li&gt;Must have a working copy of Drupal running - this can be Drupal 7 or 8 (assuming HEAD isn’t broken)&lt;/li&gt;
&lt;li&gt;Must be ready to actively contribute and not leech.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;It’s important that everyone that comes to the sprints feels like they’re not being imposed on and that everyone gets out what they expect. Ultimately I want everyone to be happy with the sprints. I’ll be linking to this post on every future meetup.com event.&lt;/p&gt;
&lt;p&gt;If anyone has any concerns with the above please feel free to contact me.&lt;/p&gt;
&lt;p&gt;Thanks for reading via RSS!&lt;/p&gt;
&lt;p&gt;Send me a message on &lt;a href="https://remotelab.uk/mikebell"&gt;Mastodon&lt;/a&gt; or &lt;a href="mailto:hello@mikebell.io"&gt;email me&lt;/a&gt;&lt;/p&gt;</description></item><item><title>Override servers version of drush</title><link>https://mikebell.io/posts/override-servers-version-of-drush/</link><pubDate>Thu, 23 Jan 2014 00:00:00 +0000</pubDate><author>hello@mikebell.io (Mike Bell)</author><guid>https://mikebell.io/posts/override-servers-version-of-drush/</guid><description>
&lt;p&gt;Recently I had to work on a server that was heavily restricted by a third party company. They were using an archaic version of drush so I decided to change it!&lt;/p&gt;
&lt;p&gt;I have no access to sudo or any form of root account, this made things even more interesting. No wget either.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Download drush 6.2.0 to local machine&lt;/li&gt;
&lt;li&gt;Download console_table 1.1.3 (has to be this version)&lt;/li&gt;
&lt;li&gt;&lt;code&gt;scp&lt;/code&gt; both drush and console_table to remote server&lt;/li&gt;
&lt;li&gt;&lt;code&gt;unzip&lt;/code&gt; drush to ~/drush-6.2.0&lt;/li&gt;
&lt;li&gt;&lt;code&gt;tar -zxf&lt;/code&gt; console_table to ~/drush-6.2.0/lib/&lt;/li&gt;
&lt;li&gt;modify .bashrc / .zshrc and add the following:
PATH=&amp;quot;/home/badger/drush-6.2.0:$PATH”
export PATH&lt;/li&gt;
&lt;li&gt;&lt;code&gt;source ~/.bashrc&lt;/code&gt; or &lt;code&gt;source ~/.zshrc&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;There you go the latest version of drush on a locked down system.&lt;/p&gt;
&lt;p&gt;Thanks for reading via RSS!&lt;/p&gt;
&lt;p&gt;Send me a message on &lt;a href="https://remotelab.uk/mikebell"&gt;Mastodon&lt;/a&gt; or &lt;a href="mailto:hello@mikebell.io"&gt;email me&lt;/a&gt;&lt;/p&gt;</description></item><item><title>A Tale of Christmas Testing</title><link>https://mikebell.io/posts/a-tale-of-christmas-testing/</link><pubDate>Tue, 24 Dec 2013 00:00:00 +0000</pubDate><author>hello@mikebell.io (Mike Bell)</author><guid>https://mikebell.io/posts/a-tale-of-christmas-testing/</guid><description>
&lt;p&gt;Once upon a time there was a project lead working on a big project. As it got closer and closer to christmas projects were due and deployed to the magical kingdom of testing, the winds of change requests and testing blew strong.&lt;/p&gt;
&lt;p&gt;On the eve of christmas as everyone sat around watching servers glowing, heating their hands on the charred sticks of ram and the still clicking hard drives. Unable to do anything but look on, the project lead hung his head wishing that Santa would bring him a full test suite tomorrow.&lt;/p&gt;
&lt;p&gt;Merry Christmas and may all your tests pass.&lt;/p&gt;
&lt;p&gt;Thanks for reading via RSS!&lt;/p&gt;
&lt;p&gt;Send me a message on &lt;a href="https://remotelab.uk/mikebell"&gt;Mastodon&lt;/a&gt; or &lt;a href="mailto:hello@mikebell.io"&gt;email me&lt;/a&gt;&lt;/p&gt;</description></item><item><title>End of 2013 review</title><link>https://mikebell.io/posts/2013/</link><pubDate>Fri, 20 Dec 2013 00:00:00 +0000</pubDate><author>hello@mikebell.io (Mike Bell)</author><guid>https://mikebell.io/posts/2013/</guid><description>
&lt;p&gt;I&amp;rsquo;m sat hear listening to the new Burial Ep - Rival Dealer and thinking about the year that&amp;rsquo;s past.&lt;/p&gt;
&lt;p&gt;This year has been quite a ride for me.&lt;/p&gt;
&lt;p&gt;I met Hannah who has become a huge part of my life.&lt;/p&gt;
&lt;p&gt;I turned down a job I would later regret and rectify.&lt;/p&gt;
&lt;p&gt;Watched as loved ones passed away. Held Hannah close.&lt;/p&gt;
&lt;p&gt;Decided to quit my job and move on to harder challenges.&lt;/p&gt;
&lt;p&gt;This means I&amp;rsquo;m in a much better place.&lt;/p&gt;
&lt;p&gt;2014 will prove to be pretty damned awesome.&lt;/p&gt;
&lt;p&gt;Thanks for reading via RSS!&lt;/p&gt;
&lt;p&gt;Send me a message on &lt;a href="https://remotelab.uk/mikebell"&gt;Mastodon&lt;/a&gt; or &lt;a href="mailto:hello@mikebell.io"&gt;email me&lt;/a&gt;&lt;/p&gt;</description></item><item><title>Rough and Ready phpcs in PHPStorm</title><link>https://mikebell.io/posts/rough-and-ready-phpcs-in-phpstorm/</link><pubDate>Fri, 29 Nov 2013 00:00:00 +0000</pubDate><author>hello@mikebell.io (Mike Bell)</author><guid>https://mikebell.io/posts/rough-and-ready-phpcs-in-phpstorm/</guid><description>
&lt;p&gt;Make sure you have pear installed:&lt;/p&gt;
&lt;p&gt;&lt;code&gt;sudo pear upgrade-all&lt;/code&gt; - If this fails then install pear, if it works then congrats on updating all your pear extensions&lt;/p&gt;
&lt;p&gt;&lt;code&gt;sudo pear install PHP_CodeSniffer&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;OSX Only - &lt;code&gt;sudo cp /private/etc/php.ini.default /private/etc/php.ini&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;Add &lt;code&gt;include_path = &amp;quot;.:/php/includes:/usr/lib/php/pear/&amp;quot;&lt;/code&gt; to php.ini, not to change your includes directory to where pear is installed!&lt;/p&gt;
&lt;p&gt;Now for Drupals cs patterns:&lt;/p&gt;
&lt;p&gt;Download Coder module - &lt;a href="https://drupal.org/project/coder" target="_blank" rel="noreferrer"&gt;https://drupal.org/project/coder&lt;/a&gt;
Untar to a directory e.g. &lt;code&gt;~/Projects/coder&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;PHPStorm Config:&lt;/p&gt;
&lt;p&gt;PHPStorm &amp;gt; Settings &amp;gt; PHP &amp;gt; Code Sniffer&lt;/p&gt;
&lt;p&gt;To find the phpcs path type &lt;code&gt;which phpcs&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;Then use that path in PHPStorm&lt;/p&gt;
&lt;p&gt;Click validate to test whether it works or not.&lt;/p&gt;
&lt;p&gt;You should also increase the tool process timeout as it takes a while to test core files.&lt;/p&gt;
&lt;p&gt;While still in settings select Inspections, drill down to phpcs in PHP and enable the point the coding standard to wherever you downloaded coder to.&lt;/p&gt;
&lt;p&gt;Thanks for reading via RSS!&lt;/p&gt;
&lt;p&gt;Send me a message on &lt;a href="https://remotelab.uk/mikebell"&gt;Mastodon&lt;/a&gt; or &lt;a href="mailto:hello@mikebell.io"&gt;email me&lt;/a&gt;&lt;/p&gt;</description></item><item><title>Unofficial Social Friday Night - Drupal Camp NW 2013</title><link>https://mikebell.io/posts/unofficial-social-friday-night/</link><pubDate>Sat, 16 Nov 2013 00:00:00 +0000</pubDate><author>hello@mikebell.io (Mike Bell)</author><guid>https://mikebell.io/posts/unofficial-social-friday-night/</guid><description>
&lt;p&gt;On Friday the 22nd there will be sprints at Techhub which run in parallel with the business day at Drupal Camp NW 13. I&amp;rsquo;m hoping to be there for the sprints pending confirmation of my holiday!&lt;/p&gt;
&lt;p&gt;After the sprints/business day it makes sense for everyone to get together and go grab some food and drinks. Since everyone will be around the northern quarter we should make the most of it.&lt;/p&gt;
&lt;p&gt;For food/drinks we&amp;rsquo;ll head to A Place Called Common, they serve great burgers and have food suitable for vegetarians (not sure about vegan).&lt;/p&gt;
&lt;p&gt;If your not fussed about drinking then next door there is Home Sweet Home which serves a great Pulled Pork and Sweet Potato bowl.&lt;/p&gt;
&lt;p&gt;After food and a few drinks we can move on to Odd Bar / Trof / Marble Beer House or head the other way to Port Street Beer House / Whisky Jar / Kosmonoaut (also does food but gets really busy). This is up to you guys, they&amp;rsquo;re all great bars but offer different things.&lt;/p&gt;
&lt;p&gt;It&amp;rsquo;s also worth noting that the Manchester Christmas markets will be open which is always good as long as it&amp;rsquo;s not raining (can&amp;rsquo;t promise anything!). The Albert Square (town hall) markets are open till 9pm, they&amp;rsquo;ll be busy but they offer a great atmosphere and come with beer and food.&lt;/p&gt;
&lt;p&gt;Let me know in the comments if anyone has any preferences or would like suggestions for anything. Here&amp;rsquo;s a map of some of the venues - &lt;a href="http://eatmanc.mikebell.io/" target="_blank" rel="noreferrer"&gt;http://eatmanc.mikebell.io/&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Thanks for reading via RSS!&lt;/p&gt;
&lt;p&gt;Send me a message on &lt;a href="https://remotelab.uk/mikebell"&gt;Mastodon&lt;/a&gt; or &lt;a href="mailto:hello@mikebell.io"&gt;email me&lt;/a&gt;&lt;/p&gt;</description></item><item><title>Drupal Sprints around the World</title><link>https://mikebell.io/posts/drupal-sprints-around-the-world/</link><pubDate>Wed, 30 Oct 2013 00:00:00 +0000</pubDate><author>hello@mikebell.io (Mike Bell)</author><guid>https://mikebell.io/posts/drupal-sprints-around-the-world/</guid><description>
&lt;p&gt;On the 22nd October Manchester saw it’s very first Drupal Sprint, this was run in parallel with London Sprints.&lt;/p&gt;
&lt;p&gt;Regular sprints are now becoming a great way to help out with Drupal Core and Contrib. In the UK there are now two sprints covering London and Manchester. In India there are 3 user groups all sprinting regularly. No doubt there are some in the US and in other countries.&lt;/p&gt;
&lt;p&gt;Sprints unlike regular user groups are an ideal place to flex your code knowledge and get your hands dirty. With initiatives such as the Drupal Ladder it’s proving that everyone can contribute in some fashion whether this be via code, documentation or testing. Within the first 30 minutes of Drupal Sprints Manchester we had our first commit to a contributed project (Omega 4) by a first time contributor.&lt;/p&gt;
&lt;p&gt;We communicated with London via Google Hangouts where we updated each other on our progress, I know in the past that London has spoken with India an impressive feat considering the time difference.&lt;/p&gt;
&lt;p&gt;It’s not out of the realms of possibility to organise a monthly world-wide sprint. The idea being that user groups all over the world organise a sprint for a specific date with the aim of working on core and contrib. I believe this will be possible with a minimal amount of effort as we can offload a lot of the organisation to each user group. Coordination of communication can be done through IRC. It would be a great publicity stunt as well, something that every country could benefit from especially in the run up to Drupal 8 release.&lt;/p&gt;
&lt;p&gt;If anyone is interested in a world wide sprint comment below and lets organise something!&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Update&lt;/strong&gt; - Thanks for the extra information Berdir and YesCT. It&amp;rsquo;s really cool to see the community come together for things like this. Subject to our venue being available Manchester will be ready to sprint on the 25th January.&lt;/p&gt;
&lt;p&gt;Thanks for reading via RSS!&lt;/p&gt;
&lt;p&gt;Send me a message on &lt;a href="https://remotelab.uk/mikebell"&gt;Mastodon&lt;/a&gt; or &lt;a href="mailto:hello@mikebell.io"&gt;email me&lt;/a&gt;&lt;/p&gt;</description></item><item><title>A Call to Arms - Support your local Drupal Community</title><link>https://mikebell.io/posts/a-call-to-arms-support-your-local-drupal-community/</link><pubDate>Sun, 13 Oct 2013 00:00:00 +0000</pubDate><author>hello@mikebell.io (Mike Bell)</author><guid>https://mikebell.io/posts/a-call-to-arms-support-your-local-drupal-community/</guid><description>
&lt;p&gt;For me the the Drupal community is amazing, it&amp;rsquo;s always felt like a family, one you can rely on to help and support you.&lt;/p&gt;
&lt;p&gt;It&amp;rsquo;s time for a call to arms, people need to support their local and regional Drupal user groups and events. A lot of these events are volunteer run, it takes time and energy to run meetup after meetup and big events. The people that organise and run these events are quite something, 9 to 5 days don&amp;rsquo;t exist for them.&lt;/p&gt;
&lt;p&gt;So this is where you come in, it&amp;rsquo;s easy to help out:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Volunteering - everyone needs volunteers, get in touch with your local usergroup or next camp and see if they need your help.&lt;/li&gt;
&lt;li&gt;Sponsorship - camps aren&amp;rsquo;t free, they cost money and no one likes to talk about it. If your a company or individual then please consider sponsoring your local camp/meetup. It gets your name out there and some extra brownie points within the community.&lt;/li&gt;
&lt;li&gt;Spreading the word - advertise your local camp/meetup, tell your friends and colleagues, blog and tweet about it. It all helps.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;I&amp;rsquo;m lucky to have worked with some great people on both NWDUG (North West Drupal User Group) and DrupalCamp NW 12 so I know how much the smallest of contribution can help.&lt;/p&gt;
&lt;p&gt;If your in the UK and looking to support your local or regional group then take a look at DrupalCamp NW 2013 - &lt;a href="http://camp2013.nwdrupal.org.uk/" target="_blank" rel="noreferrer"&gt;http://camp2013.nwdrupal.org.uk/&lt;/a&gt; - they&amp;rsquo;re looking for sponsors and volunteers.&lt;/p&gt;
&lt;p&gt;Thanks for reading via RSS!&lt;/p&gt;
&lt;p&gt;Send me a message on &lt;a href="https://remotelab.uk/mikebell"&gt;Mastodon&lt;/a&gt; or &lt;a href="mailto:hello@mikebell.io"&gt;email me&lt;/a&gt;&lt;/p&gt;</description></item><item><title>Drupal Sprints Manchester 26th October</title><link>https://mikebell.io/posts/drupal-sprints-manchester-26th-october/</link><pubDate>Fri, 27 Sep 2013 00:00:00 +0000</pubDate><author>hello@mikebell.io (Mike Bell)</author><guid>https://mikebell.io/posts/drupal-sprints-manchester-26th-october/</guid><description>
&lt;p&gt;I&amp;rsquo;m proud to announce Drupal Sprints Manchester (UK). Last year at Drupal Camp NW I spoke with various other northern Drupalers and decided that we should get together and attempt to emulate Drupal Sprints London.&lt;/p&gt;
&lt;p&gt;The format is simple, Drupal developers / themers / builders get to together and work on Drupal core and contrib.&lt;/p&gt;
&lt;p&gt;My aim is to provide a space where people can get together and get stuck in working on Drupal and giving back to the community in the form of code, all that&amp;rsquo;s required is a laptop with an development stack and your brain.&lt;/p&gt;
&lt;p&gt;The first meetup will be held on the 26th October at Techhub in Manchester more details can be found here - &lt;a href="http://www.meetup.com/nwdrupal/events/142003462/" target="_blank" rel="noreferrer"&gt;http://www.meetup.com/nwdrupal/events/142003462/&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;If you intend on coming then please sign up so we have a good idea of the numbers.&lt;/p&gt;
&lt;p&gt;Please help spread the word!&lt;/p&gt;
&lt;p&gt;Thanks for reading via RSS!&lt;/p&gt;
&lt;p&gt;Send me a message on &lt;a href="https://remotelab.uk/mikebell"&gt;Mastodon&lt;/a&gt; or &lt;a href="mailto:hello@mikebell.io"&gt;email me&lt;/a&gt;&lt;/p&gt;</description></item><item><title>Music podcasts to checkout</title><link>https://mikebell.io/posts/music-podcasts-to-checkout/</link><pubDate>Mon, 23 Sep 2013 00:00:00 +0000</pubDate><author>hello@mikebell.io (Mike Bell)</author><guid>https://mikebell.io/posts/music-podcasts-to-checkout/</guid><description>
&lt;p&gt;Since I&amp;rsquo;m commuting a lot more to Manchester I figured I&amp;rsquo;d start downloading more music podcasts to listen to on the train.&lt;/p&gt;
&lt;p&gt;Here are the ones I&amp;rsquo;ve found so far:&lt;/p&gt;
&lt;p&gt;Blu Mar Ten - Music Podcast - &lt;a href="https://soundcloud.com/blumarten/blu-mar-ten-music-podcast-14" target="_blank" rel="noreferrer"&gt;Sound Cloud&lt;/a&gt; | &lt;a href="http://itunes.apple.com/gb/podcast/blu-mar-ten-music-podcast/id556715872" target="_blank" rel="noreferrer"&gt;iTunes&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Bulb - Into The Deep - &lt;a href="https://soundcloud.com/bulb" target="_blank" rel="noreferrer"&gt;Sound Cloud&lt;/a&gt; | &lt;a href="https://itunes.apple.com/ru/podcast/into-the-deep-podcast/id423595600" target="_blank" rel="noreferrer"&gt;iTunes&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Hospital Records - &lt;a href="https://itunes.apple.com/us/podcast/hospital-podcast/id153880765" target="_blank" rel="noreferrer"&gt;iTunes&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;John B Podcast - &lt;a href="https://soundcloud.com/johnb" target="_blank" rel="noreferrer"&gt;Sound Cloud&lt;/a&gt; | &lt;a href="https://itunes.apple.com/gb/podcast/the-john-b-podcast/id334105892" target="_blank" rel="noreferrer"&gt;iTunes&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Chillstep Works by Ideal_Noise - &lt;a href="https://soundcloud.com/ideal_noise" target="_blank" rel="noreferrer"&gt;Sound Cloud&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;If you have any recommendations then let me know in the comments.&lt;/p&gt;
&lt;p&gt;Thanks for reading via RSS!&lt;/p&gt;
&lt;p&gt;Send me a message on &lt;a href="https://remotelab.uk/mikebell"&gt;Mastodon&lt;/a&gt; or &lt;a href="mailto:hello@mikebell.io"&gt;email me&lt;/a&gt;&lt;/p&gt;</description></item><item><title>The Deep End</title><link>https://mikebell.io/posts/the-deep-end/</link><pubDate>Wed, 18 Sep 2013 00:00:00 +0000</pubDate><author>hello@mikebell.io (Mike Bell)</author><guid>https://mikebell.io/posts/the-deep-end/</guid><description>
&lt;p&gt;Starting at a new company is always a daunting prospect, you&amp;rsquo;re never quite sure what to expect.&lt;/p&gt;
&lt;p&gt;When I started at CTI I had no choice but to hit the ground running. I couldn&amp;rsquo;t have hoped for anything better. I don&amp;rsquo;t like the periods of not knowing what&amp;rsquo;s going on the waiting that usually occurs while people find how your going to fit in. None of this happened.&lt;/p&gt;
&lt;p&gt;I&amp;rsquo;m currently project lead on a very interesting project that&amp;rsquo;s technically challenging. It&amp;rsquo;s great to be working with some pretty amazing developers and freelancers to build this project and see it come together from a different perspective (lead over developer).&lt;/p&gt;
&lt;p&gt;In the first month of being here a lot of things have changed, there are some big plans for the future both in terms of Drupal within the company and the community as a whole. I&amp;rsquo;m really happy to be working on some internal projects that will speed up development and testing and some hopefully disruptive (in a good way) community initiatives.&lt;/p&gt;
&lt;p&gt;It&amp;rsquo;s safe to say that I got thrown in at the deep end but I&amp;rsquo;m still here and loving it.&lt;/p&gt;
&lt;p&gt;Roll on Friday beers though&amp;hellip;&lt;/p&gt;
&lt;p&gt;Thanks for reading via RSS!&lt;/p&gt;
&lt;p&gt;Send me a message on &lt;a href="https://remotelab.uk/mikebell"&gt;Mastodon&lt;/a&gt; or &lt;a href="mailto:hello@mikebell.io"&gt;email me&lt;/a&gt;&lt;/p&gt;</description></item><item><title>Download Drupal to Current Directory using Drush</title><link>https://mikebell.io/posts/download-drupal-to-current-directory-using-drush/</link><pubDate>Tue, 27 Aug 2013 00:00:00 +0000</pubDate><author>hello@mikebell.io (Mike Bell)</author><guid>https://mikebell.io/posts/download-drupal-to-current-directory-using-drush/</guid><description>
&lt;p&gt;This has always bugged me, you can&amp;rsquo;t easily download Drupal to your current directory using drush. After a quick search I found this issue - &lt;a href="https://drupal.org/node/495438" target="_blank" rel="noreferrer"&gt;https://drupal.org/node/495438&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;The following command works well -&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;drush dl -d --destination=&amp;quot;..&amp;quot; --drupal-project-rename=&amp;quot;$(basename `pwd`)&amp;quot;
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;So what&amp;rsquo;s it doing?&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&amp;ndash;destination - specifies where to download Drupal to&lt;/li&gt;
&lt;li&gt;&amp;ndash;drupal-project-rename - renames the downloaded directory to your current directory&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Thanks for reading via RSS!&lt;/p&gt;
&lt;p&gt;Send me a message on &lt;a href="https://remotelab.uk/mikebell"&gt;Mastodon&lt;/a&gt; or &lt;a href="mailto:hello@mikebell.io"&gt;email me&lt;/a&gt;&lt;/p&gt;</description></item><item><title>Vagrant Boxes for Drupal Development</title><link>https://mikebell.io/posts/vagrant-boxes-for-drupal-development/</link><pubDate>Sat, 10 Aug 2013 00:00:00 +0000</pubDate><author>hello@mikebell.io (Mike Bell)</author><guid>https://mikebell.io/posts/vagrant-boxes-for-drupal-development/</guid><description>
&lt;p&gt;During my time off I figured I&amp;rsquo;d get my dev environment setup for when I start at CTI.&lt;/p&gt;
&lt;p&gt;Using the really great &lt;a href="https://puphpet.com/" target="_blank" rel="noreferrer"&gt;puphpet.com&lt;/a&gt; I&amp;rsquo;ve created two new vagrant configs, the first is for Apache the second is for Nginx.&lt;/p&gt;
&lt;h2 class="relative group"&gt;The Changes
&lt;div id="the-changes" class="anchor"&gt;&lt;/div&gt;
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
&lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#the-changes" aria-label="Anchor"&gt;#&lt;/a&gt;
&lt;/span&gt;
&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Removed xhprof and dot file support&lt;/li&gt;
&lt;li&gt;Added an easier way to provision new vhosts and dbs.&lt;/li&gt;
&lt;li&gt;Added drush&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 class="relative group"&gt;Internals
&lt;div id="internals" class="anchor"&gt;&lt;/div&gt;
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
&lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#internals" aria-label="Anchor"&gt;#&lt;/a&gt;
&lt;/span&gt;
&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Ubuntu 12.04&lt;/li&gt;
&lt;li&gt;PHP 5.3&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 class="relative group"&gt;Usage
&lt;div id="usage" class="anchor"&gt;&lt;/div&gt;
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
&lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#usage" aria-label="Anchor"&gt;#&lt;/a&gt;
&lt;/span&gt;
&lt;/h2&gt;
&lt;div class="highlight-wrapper"&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-shell" data-lang="shell"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;git clone git@github.com:digital006/drupaldev-nginx.git
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;mkdir sites
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;vagrant up&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;
&lt;h2 class="relative group"&gt;Links
&lt;div id="links" class="anchor"&gt;&lt;/div&gt;
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
&lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#links" aria-label="Anchor"&gt;#&lt;/a&gt;
&lt;/span&gt;
&lt;/h2&gt;
&lt;p&gt;&lt;a href="https://github.com/digital006/drupaldev-nginx" target="_blank" rel="noreferrer"&gt;https://github.com/digital006/drupaldev-nginx&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="https://github.com/digital006/drupaldev" target="_blank" rel="noreferrer"&gt;https://github.com/digital006/drupaldev&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Hope these are useful to others.&lt;/p&gt;
&lt;p&gt;Thanks for reading via RSS!&lt;/p&gt;
&lt;p&gt;Send me a message on &lt;a href="https://remotelab.uk/mikebell"&gt;Mastodon&lt;/a&gt; or &lt;a href="mailto:hello@mikebell.io"&gt;email me&lt;/a&gt;&lt;/p&gt;</description></item><item><title>Reveal.js and Zen Coding</title><link>https://mikebell.io/posts/reveal-js-and-zen-coding/</link><pubDate>Fri, 09 Aug 2013 00:00:00 +0000</pubDate><author>hello@mikebell.io (Mike Bell)</author><guid>https://mikebell.io/posts/reveal-js-and-zen-coding/</guid><description>
&lt;p&gt;For those that don&amp;rsquo;t know me I hate HTML and CSS odd considering the profession I&amp;rsquo;m in.&lt;/p&gt;
&lt;p&gt;I love when I see people do cool presentations and I really like to know how they&amp;rsquo;ve done it. Maybe I&amp;rsquo;m just a closet themer waiting to get out? Nah.&lt;/p&gt;
&lt;p&gt;After watching &lt;a href="https://twitter.com/MartianWebDev" target="_blank" rel="noreferrer"&gt;Andrew MacPherson&lt;/a&gt; at &lt;a href="http://nwdrupal.org.uk/" target="_blank" rel="noreferrer"&gt;nwdug&lt;/a&gt; this week I was really impressed with Reavel.js so figured I&amp;rsquo;d give it a go for my presentation next week at &lt;a href="http://drupalyorkshire.org.uk/" target="_blank" rel="noreferrer"&gt;Drupal Yorkshire&lt;/a&gt;.&lt;/p&gt;
&lt;h2 class="relative group"&gt;Reveal.js
&lt;div id="revealjs" class="anchor"&gt;&lt;/div&gt;
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
&lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#revealjs" aria-label="Anchor"&gt;#&lt;/a&gt;
&lt;/span&gt;
&lt;/h2&gt;
&lt;p&gt;&lt;a href="http://lab.hakim.se/reveal-js/" target="_blank" rel="noreferrer"&gt;Reveal.js&lt;/a&gt; is a javascript framework for creating really nice looking presentations quick and easily. It uses some HTML5 stuff mixed in with some nice CSS3/SASS magic.&lt;/p&gt;
&lt;p&gt;Reveal comes with a few nice themes (including solarized dark which is actually called moon for some reason). Syntax highlighting seems a bit broken on my version though.&lt;/p&gt;
&lt;h2 class="relative group"&gt;Zen Coding
&lt;div id="zen-coding" class="anchor"&gt;&lt;/div&gt;
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
&lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#zen-coding" aria-label="Anchor"&gt;#&lt;/a&gt;
&lt;/span&gt;
&lt;/h2&gt;
&lt;p&gt;I recently found &lt;a href="https://code.google.com/p/zen-coding/" target="_blank" rel="noreferrer"&gt;Zen Coding&lt;/a&gt; by looking through the list of plugins in PHPStorm. It&amp;rsquo;s a really nice way of writing html in short hand:
&lt;code&gt;section&amp;gt;h1.header+p+ul*2&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;turns into:&lt;/p&gt;
&lt;div class="highlight-wrapper"&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-html" data-lang="html"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;section&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;h1&lt;/span&gt; &lt;span class="na"&gt;class&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;header&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&amp;lt;/&lt;/span&gt;&lt;span class="nt"&gt;h1&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;p&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&amp;lt;/&lt;/span&gt;&lt;span class="nt"&gt;p&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;ul&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;li&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&amp;lt;/&lt;/span&gt;&lt;span class="nt"&gt;li&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;li&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&amp;lt;/&lt;/span&gt;&lt;span class="nt"&gt;li&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="nt"&gt;ul&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="nt"&gt;section&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;The really clean syntax means that you can easily create skeleton HTML code for layouts. If you couple this with bootstrap then it&amp;rsquo;s even more powerful for prototyping sites.&lt;/p&gt;
&lt;p&gt;Overall I&amp;rsquo;m really happy with the results of my presentation, I&amp;rsquo;ll upload them after next week.&lt;/p&gt;
&lt;p&gt;Thanks for reading via RSS!&lt;/p&gt;
&lt;p&gt;Send me a message on &lt;a href="https://remotelab.uk/mikebell"&gt;Mastodon&lt;/a&gt; or &lt;a href="mailto:hello@mikebell.io"&gt;email me&lt;/a&gt;&lt;/p&gt;</description></item><item><title>Kanban All The Things</title><link>https://mikebell.io/posts/kanban-all-the-things/</link><pubDate>Mon, 05 Aug 2013 00:00:00 +0000</pubDate><author>hello@mikebell.io (Mike Bell)</author><guid>https://mikebell.io/posts/kanban-all-the-things/</guid><description>
&lt;p&gt;I&amp;rsquo;ve started working on some really cool projects now that I have a bit of time spare. I have 4 that I&amp;rsquo;m running concurrently which is quite a lot considering at least 2 of them are quite big.&lt;/p&gt;
&lt;p&gt;Knowing what you&amp;rsquo;ve achieved is an excellent way of keeping motivated and running that side by side with what&amp;rsquo;s to be done gives you an overview of the entire project. To manage my projects I&amp;rsquo;m using Trello.com which has a really great interface and is dead easy to setup.&lt;/p&gt;
&lt;p&gt;I&amp;rsquo;m fairly sure I&amp;rsquo;m using a bastardised version of Kanban but it&amp;rsquo;s proving an effective management tool. Well worth a shot.&lt;/p&gt;
&lt;p&gt;Thanks for reading via RSS!&lt;/p&gt;
&lt;p&gt;Send me a message on &lt;a href="https://remotelab.uk/mikebell"&gt;Mastodon&lt;/a&gt; or &lt;a href="mailto:hello@mikebell.io"&gt;email me&lt;/a&gt;&lt;/p&gt;</description></item><item><title>Goodbye Ixis, Hello CTI!</title><link>https://mikebell.io/posts/goodbye-ixis-hello-cti/</link><pubDate>Fri, 02 Aug 2013 00:00:00 +0000</pubDate><author>hello@mikebell.io (Mike Bell)</author><guid>https://mikebell.io/posts/goodbye-ixis-hello-cti/</guid><description>
&lt;p&gt;After 3 and a half years at Ixis I&amp;rsquo;m sad to say goodbye. I think it&amp;rsquo;s time to move on and explore new opportunities. My time at Ixis has been great, the people are amazing and it&amp;rsquo;s been a pleasure to help shape their infrastructure and deliver sites for them.&lt;/p&gt;
&lt;p&gt;I&amp;rsquo;ll be joining CTI mid August as Drupal Technical Architect a role which I cannot wait to start, I&amp;rsquo;m also looking forward to working with Paul Johnson and Mark West. It will allow me to do more development (no more support YES!!!) and work on Drupal 7 and 8 with a bigger team to deliver technically challenging projects.&lt;/p&gt;
&lt;p&gt;I wish everyone at Ixis good luck in the future and to give me a shout if they ever fancy a beer in Manchester.&lt;/p&gt;
&lt;p&gt;Thanks for reading via RSS!&lt;/p&gt;
&lt;p&gt;Send me a message on &lt;a href="https://remotelab.uk/mikebell"&gt;Mastodon&lt;/a&gt; or &lt;a href="mailto:hello@mikebell.io"&gt;email me&lt;/a&gt;&lt;/p&gt;</description></item><item><title>Drush Commands at Drupal Yorkshire</title><link>https://mikebell.io/posts/drush-commands-at-drupal-yorkshire/</link><pubDate>Mon, 29 Jul 2013 00:00:00 +0000</pubDate><author>hello@mikebell.io (Mike Bell)</author><guid>https://mikebell.io/posts/drush-commands-at-drupal-yorkshire/</guid><description>
&lt;p&gt;Just a heads up I&amp;rsquo;ll be speaking at Drupal Yorkshire on the 13th August about Drush Commands and creating your own.&lt;/p&gt;
&lt;p&gt;Which reminds me I should probably make a start on the actual content&amp;hellip;&lt;/p&gt;
&lt;p&gt;Thanks for reading via RSS!&lt;/p&gt;
&lt;p&gt;Send me a message on &lt;a href="https://remotelab.uk/mikebell"&gt;Mastodon&lt;/a&gt; or &lt;a href="mailto:hello@mikebell.io"&gt;email me&lt;/a&gt;&lt;/p&gt;</description></item><item><title>Six Months and a Bit</title><link>https://mikebell.io/posts/six-months-and-a-bit/</link><pubDate>Mon, 29 Jul 2013 00:00:00 +0000</pubDate><author>hello@mikebell.io (Mike Bell)</author><guid>https://mikebell.io/posts/six-months-and-a-bit/</guid><description>
&lt;p&gt;Six months is a long time, it&amp;rsquo;s a percentage of my life gone.&lt;/p&gt;
&lt;p&gt;Just over six months ago things were a lot different. I&amp;rsquo;d never have guess I&amp;rsquo;d be here right now writing this. It&amp;rsquo;s amusing how various acts can shape and change your life.&lt;/p&gt;
&lt;p&gt;I watched as fate played a cruel joke on my grandmother as she lost her memory and personality then I watched with relief as she passed away.&lt;/p&gt;
&lt;p&gt;I made the wrong decision something I regretted until a month ago.&lt;/p&gt;
&lt;p&gt;I met the women who I intend to spend the rest of my life with. I stood by her as her mother repeatedly went in and out of hospital. I watched as her mother died and held her close as she went through one of the toughest times of her life.&lt;/p&gt;
&lt;p&gt;I decided there weren&amp;rsquo;t enough photos of me and I didn&amp;rsquo;t want to regret not remembering the good times.&lt;/p&gt;
&lt;p&gt;I learnt that there&amp;rsquo;s more to life than working.&lt;/p&gt;
&lt;p&gt;I chose to take risks and move out of my comfort zone.&lt;/p&gt;
&lt;p&gt;That&amp;rsquo;s what can happen in six months. So with this day marks my last at Ixis, I&amp;rsquo;ll be taking a two week vacation before starting at CTI Digital late August where I hope to face new challenges and create some really cool things. My leaving is the culmination of all of the above. My time at Ixis has been great but I&amp;rsquo;m ready to move on.&lt;/p&gt;
&lt;p&gt;Here&amp;rsquo;s me relaxing recently and learning to start fresh:&lt;/p&gt;
&lt;p&gt;&lt;figure&gt;&lt;img
class="my-0 rounded-md"
loading="lazy"
decoding="async"
fetchpriority="low"
alt="BBQ with the Mrs ;)"
src="http://farm4.staticflickr.com/3714/9394228795_32d7c97578_z.jpg"
&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;Thanks for reading via RSS!&lt;/p&gt;
&lt;p&gt;Send me a message on &lt;a href="https://remotelab.uk/mikebell"&gt;Mastodon&lt;/a&gt; or &lt;a href="mailto:hello@mikebell.io"&gt;email me&lt;/a&gt;&lt;/p&gt;</description></item><item><title>Git just fucking get on with it.</title><link>https://mikebell.io/posts/git-just-fucking-get-on-with-it/</link><pubDate>Tue, 16 Jul 2013 00:00:00 +0000</pubDate><author>hello@mikebell.io (Mike Bell)</author><guid>https://mikebell.io/posts/git-just-fucking-get-on-with-it/</guid><description>
&lt;p&gt;Here is an unedited version of the post. Raw and uncensored:&lt;/p&gt;
&lt;p&gt;After many a fruitless and frustrating discussions around git best practices here&amp;rsquo;s my bulletproof method:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Tag it - if you want to release code you have to tag it. By tagging you also own that release if it doesn&amp;rsquo;t fucking work I&amp;rsquo;ll hunt you down. You did test it, right?&lt;/li&gt;
&lt;li&gt;What branch should I use? I don&amp;rsquo;t give a shit. I really don&amp;rsquo;t, you&amp;rsquo;re a big boy now we&amp;rsquo;ve let you use big boy tools like the command line take some initiative.&lt;/li&gt;
&lt;li&gt;It&amp;rsquo;s 5pm on a Friday before a bank holiday can we release? Wait there&amp;rsquo;s a gif for this&amp;hellip;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;OK so it&amp;rsquo;s extreme so here&amp;rsquo;s the rational slightly less angry and more rational version:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Tagging - By tagging you recognise that the build is ready for production, it&amp;rsquo;s a releasable point in the code. You&amp;rsquo;re also taking responsibility for that release (you may not be release manager), you&amp;rsquo;ve deemed it good enough to release to production.&lt;/li&gt;
&lt;li&gt;Branching - Seriously here I don&amp;rsquo;t care, ideally you&amp;rsquo;ll be using your own fork of the repo so you can do whatever you want (if not create a new branch don&amp;rsquo;t touch dev/prod). That&amp;rsquo;s the great thing about git if you want n branches you can have n branches. Just make sure when you&amp;rsquo;re ready to merge back into the production repo you submit a pull request against my dev branch.&lt;/li&gt;
&lt;li&gt;No brainer here, unless it&amp;rsquo;s an emergency your code release really isn&amp;rsquo;t as important as you think it is. There is also a flip side to this, if your test coverage is pretty damned good then fine release, the release has to be pretty tight though.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;My ideal repository would be two branches, dev and prod. People submit pull requests to dev and I then merge code ready for release to prod and tag it ready for it to be released. It&amp;rsquo;s simple, here&amp;rsquo;s an interesting use case:&lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;Company A readies a release tagged 1.0&lt;/p&gt;
&lt;/blockquote&gt;&lt;blockquote&gt;&lt;p&gt;Company B has an emergency release that has to be deployed&lt;/p&gt;
&lt;/blockquote&gt;&lt;blockquote&gt;&lt;p&gt;Company A doesn&amp;rsquo;t want to mess around with their branch&lt;/p&gt;
&lt;/blockquote&gt;&lt;blockquote&gt;&lt;p&gt;Company B branch from 0.9 applies any emergency fixes and create 1.0.1&lt;/p&gt;
&lt;/blockquote&gt;&lt;blockquote&gt;&lt;p&gt;Company A merges in 1.0.1 changes from B and creates new release 1.0.2&lt;/p&gt;
&lt;/blockquote&gt;&lt;p&gt;There are no reverts here, no backwards and forwards between companies asking wtf is going on. Just a simple logical solution.&lt;/p&gt;
&lt;p&gt;I hope this helps people refine their git practices.&lt;/p&gt;
&lt;p&gt;Thanks for reading via RSS!&lt;/p&gt;
&lt;p&gt;Send me a message on &lt;a href="https://remotelab.uk/mikebell"&gt;Mastodon&lt;/a&gt; or &lt;a href="mailto:hello@mikebell.io"&gt;email me&lt;/a&gt;&lt;/p&gt;</description></item><item><title>Theorycrafting Drupal Deployment Via Bittorrent</title><link>https://mikebell.io/posts/theorycraftin-drupal-deployment-via-bittorrent/</link><pubDate>Sun, 09 Jun 2013 00:00:00 +0000</pubDate><author>hello@mikebell.io (Mike Bell)</author><guid>https://mikebell.io/posts/theorycraftin-drupal-deployment-via-bittorrent/</guid><description>
&lt;p&gt;There was an article floating around a few weeks ago about deploying large scale applications to multiple servers through bittorrent. I remember being at a talk by a Facebook developer who mentioned they did the same. I figured I&amp;rsquo;d put some thought into how it could be done at a practical level for Drupal sites.&lt;/p&gt;
&lt;p&gt;Tools Needed:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Jenkins - &lt;a href="http://jenkins-ci.org/" target="_blank" rel="noreferrer"&gt;http://jenkins-ci.org/&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;mktorrent - &lt;a href="http://mktorrent.sourceforge.net/" target="_blank" rel="noreferrer"&gt;http://mktorrent.sourceforge.net/&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;rtorrent/libtorrent - &lt;a href="http://libtorrent.rakshasa.no/" target="_blank" rel="noreferrer"&gt;http://libtorrent.rakshasa.no/&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;ocelot/gazelle - &lt;a href="https://what.cd/gazelle/" target="_blank" rel="noreferrer"&gt;https://what.cd/gazelle/&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 class="relative group"&gt;Jenkins
&lt;div id="jenkins" class="anchor"&gt;&lt;/div&gt;
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
&lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#jenkins" aria-label="Anchor"&gt;#&lt;/a&gt;
&lt;/span&gt;
&lt;/h2&gt;
&lt;p&gt;Jenkins can be used to tie all the separate tools together.&lt;/p&gt;
&lt;h2 class="relative group"&gt;mktorrent
&lt;div id="mktorrent" class="anchor"&gt;&lt;/div&gt;
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
&lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#mktorrent" aria-label="Anchor"&gt;#&lt;/a&gt;
&lt;/span&gt;
&lt;/h2&gt;
&lt;p&gt;A cli tool to build .torrent files which can be pushed off to remote servers. This can integrate with Jenkins to build the torrent based of Jenkins variables.&lt;/p&gt;
&lt;h2 class="relative group"&gt;rtorrent/libtorrent
&lt;div id="rtorrentlibtorrent" class="anchor"&gt;&lt;/div&gt;
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
&lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#rtorrentlibtorrent" aria-label="Anchor"&gt;#&lt;/a&gt;
&lt;/span&gt;
&lt;/h2&gt;
&lt;p&gt;This is a command line torrent client, it can be setup to watch from a directory on the remote server. It then starts downloading files once a new torrent is places into the watch directory.&lt;/p&gt;
&lt;h2 class="relative group"&gt;Ocelot/Gazelle
&lt;div id="ocelotgazelle" class="anchor"&gt;&lt;/div&gt;
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
&lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#ocelotgazelle" aria-label="Anchor"&gt;#&lt;/a&gt;
&lt;/span&gt;
&lt;/h2&gt;
&lt;p&gt;High performance bittorrent tracker and web front end. This can be used to manage connections between all your web front ends.&lt;/p&gt;
&lt;h2 class="relative group"&gt;Sample Workflow
&lt;div id="sample-workflow" class="anchor"&gt;&lt;/div&gt;
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
&lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#sample-workflow" aria-label="Anchor"&gt;#&lt;/a&gt;
&lt;/span&gt;
&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;Developer pushes code to specific git branch&lt;/li&gt;
&lt;li&gt;Jenkins fires a build to pull down the latest code (Build 1)&lt;/li&gt;
&lt;li&gt;After Build 1 finishes mktorrent runs to package a .torrent file (Build 2)&lt;/li&gt;
&lt;li&gt;Torrent file is published to Gazelle (Build 2)&lt;/li&gt;
&lt;li&gt;After Build 2 finishes torrent file is pushed to all remote servers&lt;/li&gt;
&lt;li&gt;Each rtorrent instances starts download of files&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 class="relative group"&gt;Issues
&lt;div id="issues" class="anchor"&gt;&lt;/div&gt;
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
&lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#issues" aria-label="Anchor"&gt;#&lt;/a&gt;
&lt;/span&gt;
&lt;/h2&gt;
&lt;p&gt;Things become a bit complex once the files have been distributed via torrents, my main concern would be how to reliably switch over to the new files once the download has completed. rtorrent does have the ability to issue commands once a download has finished but I&amp;rsquo;m unsure whether it could potentially run an external script.&lt;/p&gt;
&lt;p&gt;Drupal is small (averaging 16-30mb for a normal site Drupal 7) so bittorrent isn&amp;rsquo;t the most effective method of distributing a codebase.&lt;/p&gt;
&lt;h2 class="relative group"&gt;Benefits
&lt;div id="benefits" class="anchor"&gt;&lt;/div&gt;
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
&lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#benefits" aria-label="Anchor"&gt;#&lt;/a&gt;
&lt;/span&gt;
&lt;/h2&gt;
&lt;p&gt;Error Detections - Ability to reliably say you have exactly what&amp;rsquo;s expected
Speed - All web server will be providing upstream so in theory the only slow part will be disk IO and downstream connection.&lt;/p&gt;
&lt;p&gt;Overall this is an interesting thought experiment would quite like to try it out one day.&lt;/p&gt;
&lt;p&gt;Thanks for reading via RSS!&lt;/p&gt;
&lt;p&gt;Send me a message on &lt;a href="https://remotelab.uk/mikebell"&gt;Mastodon&lt;/a&gt; or &lt;a href="mailto:hello@mikebell.io"&gt;email me&lt;/a&gt;&lt;/p&gt;</description></item><item><title>Better and Smarter Notifications</title><link>https://mikebell.io/posts/better-and-smarter-notifications/</link><pubDate>Mon, 27 May 2013 00:00:00 +0000</pubDate><author>hello@mikebell.io (Mike Bell)</author><guid>https://mikebell.io/posts/better-and-smarter-notifications/</guid><description>
&lt;p&gt;I&amp;rsquo;m sat in my living room in front of my PC, I have my Nexus phone to the right of me just next to my mouse and my Nexus 7 is sat on table behind me. When I get tagged in a Google Plus post I get notified 5 times.&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;My PC shows that I have a new email from G+&lt;/li&gt;
&lt;li&gt;My phone notification goes off twice, once for G+ app and another for email&lt;/li&gt;
&lt;li&gt;My tablet notification goes off twice, once for G+ app and another for email&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;OK so this sounds very much like first world problems, hell it is but still it poses an interesting problem. How do we get better and smarter notifications?&lt;/p&gt;
&lt;h2 class="relative group"&gt;One Account
&lt;div id="one-account" class="anchor"&gt;&lt;/div&gt;
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
&lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#one-account" aria-label="Anchor"&gt;#&lt;/a&gt;
&lt;/span&gt;
&lt;/h2&gt;
&lt;p&gt;What one thing in common do the above 3 items have in common? They&amp;rsquo;re all tied to my google account, theoretically this solves one problem already, I have a way of syncing message statuses and preferences.&lt;/p&gt;
&lt;h2 class="relative group"&gt;Preferences
&lt;div id="preferences" class="anchor"&gt;&lt;/div&gt;
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
&lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#preferences" aria-label="Anchor"&gt;#&lt;/a&gt;
&lt;/span&gt;
&lt;/h2&gt;
&lt;p&gt;On my phone and tablet I&amp;rsquo;ve reduced the noise by turning off notification in G+ app. I had to do this manually on both devices. Why aren&amp;rsquo;t these options synced? I&amp;rsquo;m signed into the same google account on both devices therefore I should be able to sync my preferences, something that Chrome already does between multiple machines.&lt;/p&gt;
&lt;h2 class="relative group"&gt;Smarter Android Notifications
&lt;div id="smarter-android-notifications" class="anchor"&gt;&lt;/div&gt;
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
&lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#smarter-android-notifications" aria-label="Anchor"&gt;#&lt;/a&gt;
&lt;/span&gt;
&lt;/h2&gt;
&lt;p&gt;Why did my phone and tablet need to notify me twice about the same content? On face value the notifications came from two separate apps (G+ and Gmail). Contextually they&amp;rsquo;re the same. I&amp;rsquo;d like to see some form of unified messaging layer, a message comes through and has something unique about it. Androids notification layer then determines which app is best delivering this to the user, conceptually this is very powerful. In this case G+ app would be the best but imagine if I was close to my data limit or in a poor service area where purely textual data would be appropriate.&lt;/p&gt;
&lt;h2 class="relative group"&gt;Proximity
&lt;div id="proximity" class="anchor"&gt;&lt;/div&gt;
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
&lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#proximity" aria-label="Anchor"&gt;#&lt;/a&gt;
&lt;/span&gt;
&lt;/h2&gt;
&lt;p&gt;In this current usage situation all my devices are within a few meters of me, I don&amp;rsquo;t need to be notified by all of them. When I go to work my PC is off, my tablet is next to my bed and my phone is in my pocket, in this situation I want all my notifications to my phone. On the other hand as I&amp;rsquo;m writing this I&amp;rsquo;m sat at my computer so therefore I want all notifications to this machine. When I&amp;rsquo;m reading in bed I want all notifications to my tablet etc etc.&lt;/p&gt;
&lt;p&gt;The next logical step would be to have notifications managed by proximity. I&amp;rsquo;d love to see this but integration between all these different services would have to be pretty tight something which just isn&amp;rsquo;t there yet.&lt;/p&gt;
&lt;p&gt;Notifications is something that will no doubt become more and more important as our wired society becomes more ingrained with new and existing technology. I&amp;rsquo;m looking forward to when I can get my hands on prescription google glasses. My only concern is privacy, in wanting all these features technology must become more invasive and in this particular case google would have to have a bigger insight into my every day life. Either way it&amp;rsquo;s an interesting topic to think about.&lt;/p&gt;
&lt;p&gt;Thanks for reading via RSS!&lt;/p&gt;
&lt;p&gt;Send me a message on &lt;a href="https://remotelab.uk/mikebell"&gt;Mastodon&lt;/a&gt; or &lt;a href="mailto:hello@mikebell.io"&gt;email me&lt;/a&gt;&lt;/p&gt;</description></item><item><title>Watching From the Outside In</title><link>https://mikebell.io/posts/watching-from-the-outside-in/</link><pubDate>Sun, 26 May 2013 00:00:00 +0000</pubDate><author>hello@mikebell.io (Mike Bell)</author><guid>https://mikebell.io/posts/watching-from-the-outside-in/</guid><description>
&lt;p&gt;A few years ago I adminned a large IRC channel for indie music, during my time as OP I meet a guy called Garrett (film42) we started chatting over our like for indie music and technology. Over the years we kept on chatting and our focus moved away from music and further into technology.&lt;/p&gt;
&lt;p&gt;We both have a love for computers and internet technology. From the start of our friendship I knew there was something special about him, he&amp;rsquo;s driven more driven than most people of that age are.&lt;/p&gt;
&lt;p&gt;Over the past year it&amp;rsquo;s been really interesting listening to him talk about his project Grasswire (&lt;a href="http://grasswire.com/%29" target="_blank" rel="noreferrer"&gt;http://grasswire.com/)&lt;/a&gt;. I&amp;rsquo;ve been lucky enough to be on the outside looking in at a pretty cool project.&lt;/p&gt;
&lt;p&gt;Real time web fascinates me, when I compare what Garrett has done with Grasswire to every Drupal project I&amp;rsquo;ve worked on I&amp;rsquo;m just amazed at how fast it is and how different technology is. The technologies he&amp;rsquo;s leveraging to make Grasswire as scalable and fast as it is are great, problems occur that just don&amp;rsquo;t exist in the glacially slow environment that Drupal lives in, this in turn leads to some really interesting solutions.&lt;/p&gt;
&lt;p&gt;As well as having an insight into the technologies I&amp;rsquo;ve also been lucky to see into how cool entrepreneurship in America is. To me this almost voyeurism into the American tech seen has been an eye opener. I&amp;rsquo;m quite jealous at the opportunities Garrett has, sure it&amp;rsquo;s hard work but I&amp;rsquo;m sure he&amp;rsquo;ll be able to pull it off.&lt;/p&gt;
&lt;p&gt;If you want more info on Grasswire then checkout &lt;a href="http://grasswire.com/" target="_blank" rel="noreferrer"&gt;http://grasswire.com/&lt;/a&gt; and sign up.&lt;/p&gt;
&lt;p&gt;Thanks for reading via RSS!&lt;/p&gt;
&lt;p&gt;Send me a message on &lt;a href="https://remotelab.uk/mikebell"&gt;Mastodon&lt;/a&gt; or &lt;a href="mailto:hello@mikebell.io"&gt;email me&lt;/a&gt;&lt;/p&gt;</description></item><item><title>An update to DrupalCamp 2013</title><link>https://mikebell.io/posts/an-update-to-drupalcamp-2013/</link><pubDate>Sat, 20 Apr 2013 00:00:00 +0000</pubDate><author>hello@mikebell.io (Mike Bell)</author><guid>https://mikebell.io/posts/an-update-to-drupalcamp-2013/</guid><description>
&lt;p&gt;There&amp;rsquo;s no easy way to put this but as of this post I&amp;rsquo;m withdrawing from organising DrupalCamp NW 2013.&lt;/p&gt;
&lt;p&gt;A lot of things have changed over the past 4 months some good some not so. I intend to spend as much time with my friends and family and avoid the stress of organising the event.&lt;/p&gt;
&lt;p&gt;Where does this leave the event? Pretty much in the same place as it was a few months ago, I&amp;rsquo;d love for more people to step up and take charge of the event. Nothing would make me happier than attending DCNW 2013 as an attendee for a change! Hell I might actually see some sessions.&lt;/p&gt;
&lt;p&gt;If you would like to get involved then please come along to the next NWDUG (7pm 1st May at Madlab) or get in touch with either me or Phil Norton.&lt;/p&gt;
&lt;p&gt;Thanks for reading via RSS!&lt;/p&gt;
&lt;p&gt;Send me a message on &lt;a href="https://remotelab.uk/mikebell"&gt;Mastodon&lt;/a&gt; or &lt;a href="mailto:hello@mikebell.io"&gt;email me&lt;/a&gt;&lt;/p&gt;</description></item><item><title>Webinar is a dirty word</title><link>https://mikebell.io/posts/webinar-is-a-dirty-word/</link><pubDate>Wed, 17 Apr 2013 00:00:00 +0000</pubDate><author>hello@mikebell.io (Mike Bell)</author><guid>https://mikebell.io/posts/webinar-is-a-dirty-word/</guid><description>
&lt;p&gt;As a developer it&amp;rsquo;s in my best interest to keep up to date with the current technologies and techniques industry leaders are using. Over the past few years I&amp;rsquo;ve been signed up to many lists from companies that provide webinars.&lt;/p&gt;
&lt;p&gt;Every so often one crosses my increasingly unmanageable inbox that peaks my interest. At first I was all wide eyed and eager looking to see what these so called &amp;ldquo;experts&amp;rdquo; (a word that no longer has the correct meaning) had to say on the given subject matter. Now not so much. Webinars have become a bit of a joke for me, I see them and think &amp;ldquo;you know what that looks great&amp;rdquo; then I have to double check who&amp;rsquo;s running it.&lt;/p&gt;
&lt;p&gt;I get that these things aren&amp;rsquo;t free and you as a viewer have to pay a price, usually listening to a company hawk it&amp;rsquo;s services but make sure there&amp;rsquo;s more value for me!&lt;/p&gt;
&lt;p&gt;The last webinar I attended/watched sealed the deal for me, it was about a subject that I &lt;em&gt;needed&lt;/em&gt; to know about, just when it got the good part I was greeted by the words &amp;ldquo;if your looking for more then contact our sales team&amp;rdquo;. This for me is why &amp;ldquo;webinar&amp;rdquo; is a dirty word and will be until someone proves otherwise.&lt;/p&gt;
&lt;p&gt;Thanks for reading via RSS!&lt;/p&gt;
&lt;p&gt;Send me a message on &lt;a href="https://remotelab.uk/mikebell"&gt;Mastodon&lt;/a&gt; or &lt;a href="mailto:hello@mikebell.io"&gt;email me&lt;/a&gt;&lt;/p&gt;</description></item><item><title>Testing with Codeception and Drupal Projects</title><link>https://mikebell.io/posts/testing-with-codeception/</link><pubDate>Fri, 12 Apr 2013 00:00:00 +0000</pubDate><author>hello@mikebell.io (Mike Bell)</author><guid>https://mikebell.io/posts/testing-with-codeception/</guid><description>
&lt;p&gt;As part of my increased like of agile development and the control it gives you over your estimates and deliverables I&amp;rsquo;ve become increasingly aware of the horrible fact our code coverage sucks. There&amp;rsquo;s no real way to sugar coat it we don&amp;rsquo;t do proper testing, it&amp;rsquo;s bugged me for years.&lt;/p&gt;
&lt;h2 class="relative group"&gt;Technical Debt
&lt;div id="technical-debt" class="anchor"&gt;&lt;/div&gt;
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
&lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#technical-debt" aria-label="Anchor"&gt;#&lt;/a&gt;
&lt;/span&gt;
&lt;/h2&gt;
&lt;p&gt;I first read of technical debt over 5 years at my previous job, the basics of technical debt are that every hack/bodge job will bite you in the ass and you will spend more time fixing things in the long run that implementing it correctly. Now this is where agile comes in, with better estimations it allows you to factor in more unknowns, break down user stories into smaller more achievable tasks and ultimately give you a higher level of what is to be achieved.&lt;/p&gt;
&lt;h2 class="relative group"&gt;With smaller tasks comes great responsibility
&lt;div id="with-smaller-tasks-comes-great-responsibility" class="anchor"&gt;&lt;/div&gt;
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
&lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#with-smaller-tasks-comes-great-responsibility" aria-label="Anchor"&gt;#&lt;/a&gt;
&lt;/span&gt;
&lt;/h2&gt;
&lt;p&gt;When you break down each user story into a task it gives you a clear set of deliverables, now both the user and developer are clear on what needs to be achieved. Now with this method there&amp;rsquo;s no more &amp;ldquo;that was way too ambiguous&amp;rdquo;, you should now exactly what has to be delivered. So on completion of that test how do you confidently say it&amp;rsquo;s complete? There are two ways:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Suck it and see, mark task as complete and let client figure it out&lt;/li&gt;
&lt;li&gt;Test the thing and test it hard and repeatedly.&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 class="relative group"&gt;Over and over and over and over again
&lt;div id="over-and-over-and-over-and-over-again" class="anchor"&gt;&lt;/div&gt;
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
&lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#over-and-over-and-over-and-over-again" aria-label="Anchor"&gt;#&lt;/a&gt;
&lt;/span&gt;
&lt;/h2&gt;
&lt;p&gt;So now you know what you have to deliver, you should test it. Here&amp;rsquo;s where codeception comes in, it&amp;rsquo;s a framework that allows you to quickly (and I mean quickly!) write acceptance testing for you application. It also integrates with other types of testing (e.g. unit tests) but lets start small.&lt;/p&gt;
&lt;p&gt;With each task you should always create a test, each test should actually test functionality, remember don&amp;rsquo;t test for the sake of it!&lt;/p&gt;
&lt;h2 class="relative group"&gt;Getting down to it
&lt;div id="getting-down-to-it" class="anchor"&gt;&lt;/div&gt;
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
&lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#getting-down-to-it" aria-label="Anchor"&gt;#&lt;/a&gt;
&lt;/span&gt;
&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;Install it - &lt;a href="http://codeception.com/install" target="_blank" rel="noreferrer"&gt;http://codeception.com/install&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Create your fist acceptance test:
&lt;code&gt;codecept.phar generate:cept acceptance DrupalUserLogin&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;Write your first test:&lt;/li&gt;
&lt;/ol&gt;
&lt;div class="highlight-wrapper"&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-php" data-lang="php"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;$I&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="k"&gt;new&lt;/span&gt; &lt;span class="nx"&gt;WebGuy&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nv"&gt;$scenario&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;$I&lt;/span&gt;&lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="na"&gt;wantTo&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;Ensure Drupal Login Works&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;$I&lt;/span&gt;&lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="na"&gt;amOnPage&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;/user&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;$I&lt;/span&gt;&lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="na"&gt;fillField&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;edit-name&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;digital&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;$I&lt;/span&gt;&lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="na"&gt;fillField&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;edit-pass&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;THIS IS MY REAL PASS&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;$I&lt;/span&gt;&lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="na"&gt;click&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;edit-submit&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;$I&lt;/span&gt;&lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="na"&gt;see&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;digital&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;&lt;span class="o"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="nx"&gt;code&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;
&lt;ol start="4"&gt;
&lt;li&gt;Define your site (tests/acceptance.suite.yml):&lt;/li&gt;
&lt;/ol&gt;
&lt;div class="highlight-wrapper"&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-php" data-lang="php"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nx"&gt;class_name&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="nx"&gt;WebGuy&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nx"&gt;modules&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nx"&gt;enabled&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="nx"&gt;PhpBrowser&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;WebHelper&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nx"&gt;config&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nx"&gt;PhpBrowser&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nx"&gt;url&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;drupal.org&amp;#39;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;
&lt;ol start="5"&gt;
&lt;li&gt;Run the badger! - &lt;code&gt;php codecept.phar run&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;Bask in the glory of your first test.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;There it is, dead easy to do! There&amp;rsquo;s no reason you shouldn&amp;rsquo;t implement this for every task in your sprint backlog.&lt;/p&gt;
&lt;h2 class="relative group"&gt;Where to go from here?
&lt;div id="where-to-go-from-here" class="anchor"&gt;&lt;/div&gt;
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
&lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#where-to-go-from-here" aria-label="Anchor"&gt;#&lt;/a&gt;
&lt;/span&gt;
&lt;/h2&gt;
&lt;p&gt;After playing around with this for a few hours I seem to be doing the same thing. Each test requires me to login as I don&amp;rsquo;t think each test environment shares session/cookies. I need to figure out a way of creating a codeception module which allows you to plug in a drupal testing user (ideally multiple so you can test each role) and then all the you have to do is call a function which executes the above steps to confirm your logged in before testing authenticated behaviour.&lt;/p&gt;
&lt;p&gt;Something along the lines of:&lt;/p&gt;
&lt;p&gt;&lt;code&gt;$I-&amp;gt;drupalLogin('editor');&lt;/code&gt;&lt;/p&gt;
&lt;h2 class="relative group"&gt;Why will this work?
&lt;div id="why-will-this-work" class="anchor"&gt;&lt;/div&gt;
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
&lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#why-will-this-work" aria-label="Anchor"&gt;#&lt;/a&gt;
&lt;/span&gt;
&lt;/h2&gt;
&lt;p&gt;When you initially set out estimation of each story you should add an extra 5-10% for testing. This way you can cover the additional time taken to write these tests. Trust me it&amp;rsquo;s worth it in the long run!&lt;/p&gt;
&lt;h2 class="relative group"&gt;Update 20/05/13
&lt;div id="update-200513" class="anchor"&gt;&lt;/div&gt;
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
&lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#update-200513" aria-label="Anchor"&gt;#&lt;/a&gt;
&lt;/span&gt;
&lt;/h2&gt;
&lt;p&gt;My colleague Paul Byrne has posted a second part to this article with more information - &lt;a href="http://paul.leafish.co.uk/articles/code/more_testing_with_codeception_and_drupal_projects" target="_blank" rel="noreferrer"&gt;http://paul.leafish.co.uk/articles/code/more_testing_with_codeception_and_drupal_projects&lt;/a&gt; - Check it out.&lt;/p&gt;
&lt;p&gt;Thanks for reading via RSS!&lt;/p&gt;
&lt;p&gt;Send me a message on &lt;a href="https://remotelab.uk/mikebell"&gt;Mastodon&lt;/a&gt; or &lt;a href="mailto:hello@mikebell.io"&gt;email me&lt;/a&gt;&lt;/p&gt;</description></item><item><title>We Went Big...</title><link>https://mikebell.io/posts/we-went-big/</link><pubDate>Sat, 30 Mar 2013 00:00:00 +0000</pubDate><author>hello@mikebell.io (Mike Bell)</author><guid>https://mikebell.io/posts/we-went-big/</guid><description>
&lt;p&gt;&lt;em&gt;This is hopefully going to be the one of the first of many posts going through the motions of organising DrupalCamp NW 2013 or project &amp;ldquo;WTF are you doing???&amp;rdquo;&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;The full title of this post is &amp;ldquo;We went big, now to go bigger&amp;rdquo;. What do I mean by this? Well for start 2012 was amazing the fact that we managed to pull it off and provide such a great event means that we have a lot of work to do. So what next? Well&amp;hellip;&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Money - no one likes to talk about it, but these things don&amp;rsquo;t come free or cheap!&lt;/li&gt;
&lt;li&gt;Venue - this is a tough one, we had a great first venue but if we want to go bigger then&amp;hellip;&lt;/li&gt;
&lt;li&gt;Speakers - our quality it 2012 was amazing we need to equal this and go beyond.&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 class="relative group"&gt;Money
&lt;div id="money" class="anchor"&gt;&lt;/div&gt;
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
&lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#money" aria-label="Anchor"&gt;#&lt;/a&gt;
&lt;/span&gt;
&lt;/h2&gt;
&lt;p&gt;To get money we need sponsors, 2012s sponsors were great! I mean really great, they made things super easy and gave us the capital to create what we did.&lt;/p&gt;
&lt;p&gt;How are we going to manage it for 2013, to be honest pretty much the same way, the major difference is that all tickets will be handled through Eventbrite rather than through Ubercart.&lt;/p&gt;
&lt;h2 class="relative group"&gt;Venue
&lt;div id="venue" class="anchor"&gt;&lt;/div&gt;
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
&lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#venue" aria-label="Anchor"&gt;#&lt;/a&gt;
&lt;/span&gt;
&lt;/h2&gt;
&lt;p&gt;We have some big decisions to make, if we want to go bigger then we&amp;rsquo;re going to have to look elsewhere. The University of Salford had a max capacity of 150, now this might sound like a lot but you can guarantee that even if you sell out your not going to get that amount turning up, it sucks but that&amp;rsquo;s the way these things go.&lt;/p&gt;
&lt;p&gt;So where else can we go, well we&amp;rsquo;re currently looking at a few potential venues and hopefully we can pull something together.&lt;/p&gt;
&lt;p&gt;By no means have we discounted UoS! But there&amp;rsquo;s no harm in looking around.&lt;/p&gt;
&lt;h2 class="relative group"&gt;Speakers
&lt;div id="speakers" class="anchor"&gt;&lt;/div&gt;
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
&lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#speakers" aria-label="Anchor"&gt;#&lt;/a&gt;
&lt;/span&gt;
&lt;/h2&gt;
&lt;p&gt;This goes without saying that 2012 had a tough act to follow, this year we&amp;rsquo;ll be extending invitations out for people to come keynote as well as do special sessions. As per usual we will be opening up community submissions which will go through the same voting process as last year (more to come in a post later).&lt;/p&gt;
&lt;p&gt;I hope this post is enough to wet your appetite on what&amp;rsquo;s to come in the next few months!&lt;/p&gt;
&lt;p&gt;Thanks for reading via RSS!&lt;/p&gt;
&lt;p&gt;Send me a message on &lt;a href="https://remotelab.uk/mikebell"&gt;Mastodon&lt;/a&gt; or &lt;a href="mailto:hello@mikebell.io"&gt;email me&lt;/a&gt;&lt;/p&gt;</description></item><item><title>On Death</title><link>https://mikebell.io/posts/on-death/</link><pubDate>Wed, 27 Mar 2013 00:00:00 +0000</pubDate><author>hello@mikebell.io (Mike Bell)</author><guid>https://mikebell.io/posts/on-death/</guid><description>
&lt;p&gt;&lt;em&gt;&lt;strong&gt;The following was written and unedited on 13th March 2013 the day after my Grandma died.&lt;/strong&gt;&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Death is never an easy subject to tackle, it&amp;rsquo;s something that everyone must face in their own time. Whether it be a close relative or friend death happens and you can&amp;rsquo;t avoid that.&lt;/p&gt;
&lt;p&gt;What perplexes me is why death is such a taboo subject, gone are the days when the thought of it used to paralyze me with fear.&lt;/p&gt;
&lt;p&gt;Yesterday my grandma passed away and I&amp;rsquo;m happy, yes happy. She was in a lot of pain and she wasn&amp;rsquo;t the person I knew her to be. I subscribe to no major religions but I like to think she&amp;rsquo;s in a better place now whatever that may be.&lt;/p&gt;
&lt;p&gt;The majority of my granparents are now gone, none have passed in nice ways. All have suffered in some way, lately it seems more horrific. I&amp;rsquo;m a firm believer in Euthanasia, there comes a point when people just want to pass on. I don&amp;rsquo;t understand why it&amp;rsquo;s not possible to help your loved ones do this in the UK.&lt;/p&gt;
&lt;p&gt;&lt;em&gt;&lt;strong&gt;The following was written on the 27th March nearly a week after the funeral.&lt;/strong&gt;&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;I considered deleting the above as understandably I was emotional, however I feel it&amp;rsquo;s still relevant.&lt;/p&gt;
&lt;p&gt;I remember my Grandpa being ready even when cancer had robbed him of his former glory. I remember shaking his hand and him saying how proud he was of me and I left the room never to see him again. I remember how frail he looked. That is a memory I wish I didn&amp;rsquo;t have, it over shadows the other good memories.&lt;/p&gt;
&lt;p&gt;While my parents and family were sorting out my grandparents house my uncle found a book on perfumery and asked to pass it on to me, these are the memories I want to have of my grandparents.&lt;/p&gt;
&lt;p&gt;My thoughts on Euthanasia will not change and while it&amp;rsquo;s not always applicable I find it quite sad that the UK treats people as criminals when they&amp;rsquo;re helping with their relatives last wishes.&lt;/p&gt;
&lt;p&gt;I hope to live to see the day when it&amp;rsquo;s no longer a crime and people are given the right to assisted suicide.&lt;/p&gt;
&lt;p&gt;I don&amp;rsquo;t have a living will (yet) but I&amp;rsquo;ve spoken to my Dad about the death and my plans should anything happen to me. We both have a mutual understanding of what has to be done.&lt;/p&gt;
&lt;p&gt;Thanks for reading via RSS!&lt;/p&gt;
&lt;p&gt;Send me a message on &lt;a href="https://remotelab.uk/mikebell"&gt;Mastodon&lt;/a&gt; or &lt;a href="mailto:hello@mikebell.io"&gt;email me&lt;/a&gt;&lt;/p&gt;</description></item><item><title>When does a camp become a conf?</title><link>https://mikebell.io/posts/when-does-a-camp-become-a-conf/</link><pubDate>Sun, 03 Mar 2013 00:00:00 +0000</pubDate><author>hello@mikebell.io (Mike Bell)</author><guid>https://mikebell.io/posts/when-does-a-camp-become-a-conf/</guid><description>
&lt;p&gt;I&amp;rsquo;m on a train heading back from drupal camp London, after a great weekend it got me thinking what is a camp and where do you draw the line?&lt;/p&gt;
&lt;p&gt;With over 300 sign ups its rumoured to be one (if not) largest camps in the Europe. At what point so you say it was a conference? The Saturday saw 5 tracks (3 more than NW) with talks lasting 30 minutes. I&amp;rsquo;m inclined to say that the original idea of a camp has grown way bigger than expected as the rise in drupals popularity has increased.&lt;/p&gt;
&lt;p&gt;With the emphasis on community still being the same the quality has increased massively. I love the fact the UK is now producing these large scale camps, it says volumes for the community and those involved in organising them. I hope this trend of producing camps in the same vein as the early drupalcons continues bigger.&lt;/p&gt;
&lt;p&gt;Having said this it makes me realise how far the UK has come in terms of organisation. We still don&amp;rsquo;t have a central body but I don&amp;rsquo;t think it&amp;rsquo;s too far off. I think it&amp;rsquo;s key that those involved in the camps organisation get together and pool resources to make these events bigger and better over the next few years.&lt;/p&gt;
&lt;p&gt;Thanks for reading via RSS!&lt;/p&gt;
&lt;p&gt;Send me a message on &lt;a href="https://remotelab.uk/mikebell"&gt;Mastodon&lt;/a&gt; or &lt;a href="mailto:hello@mikebell.io"&gt;email me&lt;/a&gt;&lt;/p&gt;</description></item><item><title>Drupal Deployment using deb packages and Jenkins</title><link>https://mikebell.io/posts/drupal-deployment-using-deb-packages-and-jenkins/</link><pubDate>Sun, 17 Feb 2013 00:00:00 +0000</pubDate><author>hello@mikebell.io (Mike Bell)</author><guid>https://mikebell.io/posts/drupal-deployment-using-deb-packages-and-jenkins/</guid><description>
&lt;p&gt;I couldn&amp;rsquo;t sleep last night due to a stupid amount of coffee while my brother came round so I go to thinking how I could sort out the mess that is currently my production server.&lt;/p&gt;
&lt;p&gt;I first thought about using codebasehq/deployhq but decided I don&amp;rsquo;t need any more money going out of my account when I have the skills and knowledge (also hardware) to do this myself. After seeing how we deploy stuff at work I figured I&amp;rsquo;d try and port it across to Debian based servers and make quite a few changes based on my requirements.&lt;/p&gt;
&lt;p&gt;Here is an overview of what I want to put in place:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Jenkins server for all the hardwork (already setup from the mumblr days)&lt;/li&gt;
&lt;li&gt;Package script to create debs of sites&lt;/li&gt;
&lt;li&gt;Deployment script to push and install debs on remote servers (probably just handled within Jenkins).&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;You&amp;rsquo;ll need the following Jenkins plugins:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Git&lt;/li&gt;
&lt;li&gt;Debian Package Builder - &lt;a href="https://wiki.jenkins-ci.org/display/JENKINS/Debian&amp;#43;Package&amp;#43;Builder&amp;#43;Plugin" target="_blank" rel="noreferrer"&gt;https://wiki.jenkins-ci.org/display/JENKINS/Debian+Package+Builder+Plugin&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;You&amp;rsquo;ll also need to setup a pgp key so that you can sign your package, read more here - &lt;a href="https://help.ubuntu.com/community/GnuPrivacyGuardHowto" target="_blank" rel="noreferrer"&gt;https://help.ubuntu.com/community/GnuPrivacyGuardHowto&lt;/a&gt;. Once you&amp;rsquo;ve configured that you&amp;rsquo;ll then need to export it and save it in jenkins:&lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;gpg &amp;ndash;export -a &amp;ldquo;jenkins&amp;rdquo; &amp;gt; public.key&lt;/p&gt;
&lt;/blockquote&gt;&lt;blockquote&gt;&lt;p&gt;gpg &amp;ndash;export-secret-key -a &amp;ldquo;jenkins&amp;rdquo; &amp;gt; secret.key&lt;/p&gt;
&lt;/blockquote&gt;&lt;p&gt;&lt;strong&gt;Note this has to be done with the name &amp;ldquo;jenkins&amp;rdquo;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Within your workspace you&amp;rsquo;ll need a folder called debian, within that you&amp;rsquo;ll need the following files:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;control&lt;/li&gt;
&lt;li&gt;copyright&lt;/li&gt;
&lt;li&gt;rules&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Thanks for reading via RSS!&lt;/p&gt;
&lt;p&gt;Send me a message on &lt;a href="https://remotelab.uk/mikebell"&gt;Mastodon&lt;/a&gt; or &lt;a href="mailto:hello@mikebell.io"&gt;email me&lt;/a&gt;&lt;/p&gt;</description></item><item><title>Must have Chrome tools for Drupal Admin</title><link>https://mikebell.io/posts/must-have-chrom-tools-for-drupal-admin/</link><pubDate>Wed, 13 Feb 2013 00:00:00 +0000</pubDate><author>hello@mikebell.io (Mike Bell)</author><guid>https://mikebell.io/posts/must-have-chrom-tools-for-drupal-admin/</guid><description>
&lt;p&gt;Here are some really handy tools for when you have to deal with Drupals admin interface:&lt;/p&gt;
&lt;p&gt;Autofill - &lt;a href="https://chrome.google.com/webstore/detail/nlmmgnhgdeffjkdckmikfpnddkbbfkkk" target="_blank" rel="noreferrer"&gt;https://chrome.google.com/webstore/detail/nlmmgnhgdeffjkdckmikfpnddkbbfkkk&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Automatically fill out forms, great for testing node/add forms with specific sets of data, can store profiles for use on multiple sites.&lt;/p&gt;
&lt;p&gt;Edit This Cookie - &lt;a href="https://chrome.google.com/webstore/detail/fngmhnnpilhplaeedifhccceomclgfbg" target="_blank" rel="noreferrer"&gt;https://chrome.google.com/webstore/detail/fngmhnnpilhplaeedifhccceomclgfbg&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Excellent tool for checking out cookies on a site, useful when testing SSOs.&lt;/p&gt;
&lt;p&gt;Link Clump - &lt;a href="https://chrome.google.com/webstore/detail/lfpjkncokllnfokkgpkobnkbkmelfefj" target="_blank" rel="noreferrer"&gt;https://chrome.google.com/webstore/detail/lfpjkncokllnfokkgpkobnkbkmelfefj&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Right click and highlight a bunch of links then open them up in new tabs, more helpful than you&amp;rsquo;d think when having to test n number of pages during a migration.&lt;/p&gt;
&lt;p&gt;HTTP Headers - &lt;a href="https://chrome.google.com/webstore/detail/hplfkkmefamockhligfdcfgfnbcdddbg" target="_blank" rel="noreferrer"&gt;https://chrome.google.com/webstore/detail/hplfkkmefamockhligfdcfgfnbcdddbg&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Handy for checking whether pages are being served via Varnish of Drupal Cache. Also great for checking the IP of a server on a HA setup (if setup to output to headers).&lt;/p&gt;
&lt;p&gt;Easy Check - &lt;a href="https://chrome.google.com/webstore/detail/ldopaogbegnhconlboidfjcmidndkbeg" target="_blank" rel="noreferrer"&gt;https://chrome.google.com/webstore/detail/ldopaogbegnhconlboidfjcmidndkbeg&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Easiest way to manage Drupals permissions page, click on a checkbox and then drag your mouse and it will auto check all the ones you mouse over, no more clicking like a madman!&lt;/p&gt;
&lt;p&gt;Thanks for reading via RSS!&lt;/p&gt;
&lt;p&gt;Send me a message on &lt;a href="https://remotelab.uk/mikebell"&gt;Mastodon&lt;/a&gt; or &lt;a href="mailto:hello@mikebell.io"&gt;email me&lt;/a&gt;&lt;/p&gt;</description></item><item><title>New domain!</title><link>https://mikebell.io/posts/new-domain/</link><pubDate>Mon, 04 Feb 2013 00:00:00 +0000</pubDate><author>hello@mikebell.io (Mike Bell)</author><guid>https://mikebell.io/posts/new-domain/</guid><description>
&lt;p&gt;I&amp;rsquo;ve gone all hipster! Say hello to mikebell.io&lt;/p&gt;
&lt;p&gt;Thanks for reading via RSS!&lt;/p&gt;
&lt;p&gt;Send me a message on &lt;a href="https://remotelab.uk/mikebell"&gt;Mastodon&lt;/a&gt; or &lt;a href="mailto:hello@mikebell.io"&gt;email me&lt;/a&gt;&lt;/p&gt;</description></item><item><title>DrupalCamp NW Wrapup</title><link>https://mikebell.io/posts/drupalcamp-nw-wrapup/</link><pubDate>Tue, 27 Nov 2012 00:00:00 +0000</pubDate><author>hello@mikebell.io (Mike Bell)</author><guid>https://mikebell.io/posts/drupalcamp-nw-wrapup/</guid><description>
&lt;p&gt;After taking a whole 24 hours away from anything DrupalCamp NW related I now feel relaxed and chilled enough to write this.&lt;/p&gt;
&lt;p&gt;Over the past few months a team of 4 people have spent every waking second organising DrupalCamp NW - Steph Hosny, Philip Norton and Paul Johnson. Our aim was to create an event that the Drupal community would enjoy and learn from. I feel we&amp;rsquo;ve succeeded 110% in this.&lt;/p&gt;
&lt;p&gt;I&amp;rsquo;d like to thank everyone that volunteered and helped organise the weekend, without these people it would not have been possible, your hard work and dedication to the Drupal community makes me proud to be part of something so great.&lt;/p&gt;
&lt;p&gt;On the Friday we saw Drupal Means Business, a full day event aimed at bringing businesses in the NW together to network and knowledge share, this was a huge success.&lt;/p&gt;
&lt;p&gt;The fun really started on the Saturday when the main day of the camp started, the keynote from Morten was excellent, behind all the swearing and passion is a very intelligent man who knows exactly what we as a community need to do to achieve our goals. The calibre of sessions on the Saturday was fantastic, it was very difficult picking them, I honestly believe our sessions rivalled those at Drupalcons. The end keynote by Josh Koenig was fantastic, I have a lot of respect for Josh and it was a pleasure having him speak at our camp.&lt;/p&gt;
&lt;p&gt;The Saturday evening took everyone to Missoula in Manchester, there&amp;rsquo;s nothing like seeing 100+ Drupalers drinking free beer. I&amp;rsquo;m always amazed at how friendly people are, I&amp;rsquo;ve met Dave Long (@longwave) twice over the past couple of years but every time I see him he&amp;rsquo;s always so nice and it feels like I&amp;rsquo;ve known him way longer. Unfortunately I currently have an ear infection so didn&amp;rsquo;t stay too late on the Saturday night but by the sounds of it everyone had a fantastic time.&lt;/p&gt;
&lt;p&gt;The Sunday was the Twig sprint and general unconf. My apologies for the unconf organisation, I&amp;rsquo;m new to all this and it could have been organised a lot better, this is a lesson I&amp;rsquo;ve learnt and will take on board for any future events.&lt;/p&gt;
&lt;p&gt;The sponsors we had this year were great, the sweet stand from Code Enigma was a great idea! I&amp;rsquo;d like to personally thank Pulsant for being our platinum sponsor. Their session at the business day was excellent and it&amp;rsquo;s no nonsense ask the hard questions attitude was refreshing and something that everyone should take on board.&lt;/p&gt;
&lt;p&gt;If your looking for more Drupal goodness in the North West then please come along to NWDUG the first Wednesdays of the month at Madlab 6pm onwards organised by me and Phil Norton. &lt;a href="https://www.nwdug.org.uk" target="_blank" rel="noreferrer"&gt;www.nwdug.org.uk&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;I&amp;rsquo;m currently looking into starting up Drupal Sprint Manchester in partnership with Drupal Sprint London so if your interested please get in touch and we can chat.&lt;/p&gt;
&lt;p&gt;Paul Johnson summed it up perfectly for me on twitter - DrupalCamps are a great excuse to see 147 of your friends again.&lt;/p&gt;
&lt;p&gt;Again thank you so much for coming to DrupalCamp NW and being a part of something amazing.&lt;/p&gt;
&lt;p&gt;Mike Bell&lt;/p&gt;
&lt;p&gt;Thanks for reading via RSS!&lt;/p&gt;
&lt;p&gt;Send me a message on &lt;a href="https://remotelab.uk/mikebell"&gt;Mastodon&lt;/a&gt; or &lt;a href="mailto:hello@mikebell.io"&gt;email me&lt;/a&gt;&lt;/p&gt;</description></item><item><title>Drupalcamp Retrospective Part 2</title><link>https://mikebell.io/posts/drupalcamp-retrospective-part-2/</link><pubDate>Sun, 28 Oct 2012 00:00:00 +0000</pubDate><author>hello@mikebell.io (Mike Bell)</author><guid>https://mikebell.io/posts/drupalcamp-retrospective-part-2/</guid><description>
&lt;p&gt;I never really finished my first Drupalcamp Retrospective post, I missed out a vital point as to why I do what I do now.&lt;/p&gt;
&lt;p&gt;One of the speakers for the day was Robert Douglass, I think he&amp;rsquo;d just joined Acquia for the first time and was giving a talk on his Apache Solr module. When the talk started he gave a brief intro to Acquia and left it at that (something Acquia could learn from all these years later, I&amp;rsquo;m looking at you webinar team), he then proceeded to spend well over an hour and twenty minutes talking very passionately about the module he&amp;rsquo;d been working on.&lt;/p&gt;
&lt;p&gt;For those of you who haven&amp;rsquo;t had the pleasure of hearing him speak I highly suggest you do. His energy was something I&amp;rsquo;d never seen before, at that time I didn&amp;rsquo;t believe that you could actually do a job you love let alone publicly speak about it! I quickly realised that being passionate about something was worth fighting for.&lt;/p&gt;
&lt;p&gt;That single talk planted a spark in the back of my mind that would drive me towards becoming a Drupal developer and making the decisions I did to get where I am today.&lt;/p&gt;
&lt;p&gt;Thanks for reading via RSS!&lt;/p&gt;
&lt;p&gt;Send me a message on &lt;a href="https://remotelab.uk/mikebell"&gt;Mastodon&lt;/a&gt; or &lt;a href="mailto:hello@mikebell.io"&gt;email me&lt;/a&gt;&lt;/p&gt;</description></item><item><title>The 21st Century Music Problem</title><link>https://mikebell.io/posts/the-21st-century-music-problem/</link><pubDate>Thu, 11 Oct 2012 00:00:00 +0000</pubDate><author>hello@mikebell.io (Mike Bell)</author><guid>https://mikebell.io/posts/the-21st-century-music-problem/</guid><description>
&lt;p&gt;I&amp;rsquo;m in an odd situation, my iPod 120gb has died and I have no mass storage media player.&lt;/p&gt;
&lt;p&gt;I have a few alternatives but they aren&amp;rsquo;t feasible with my 250gb+ music collection:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;250gb+ music player - these just don&amp;rsquo;t exist, at least not in the same league as the iPod.&lt;/li&gt;
&lt;li&gt;Streaming - not feasible, work connection is appalling and not fit for streaming and mobile bandwidth hasn&amp;rsquo;t caught up with a 21st century media consumer.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;So what should I do? (Hint: I&amp;rsquo;m not downsizing).&lt;/p&gt;
&lt;p&gt;Thanks for reading via RSS!&lt;/p&gt;
&lt;p&gt;Send me a message on &lt;a href="https://remotelab.uk/mikebell"&gt;Mastodon&lt;/a&gt; or &lt;a href="mailto:hello@mikebell.io"&gt;email me&lt;/a&gt;&lt;/p&gt;</description></item><item><title>Now You Can Panic</title><link>https://mikebell.io/posts/now-you-can-panic/</link><pubDate>Mon, 24 Sep 2012 00:00:00 +0000</pubDate><author>hello@mikebell.io (Mike Bell)</author><guid>https://mikebell.io/posts/now-you-can-panic/</guid><description>
&lt;p&gt;I&amp;rsquo;ve been holding this off for a few weeks now, but it&amp;rsquo;s always been at the back of my mind. I&amp;rsquo;m a developer at heart, have been for over 10 years and I subscribe to the majority of the developer norms (thankfully not all).&lt;/p&gt;
&lt;p&gt;It&amp;rsquo;s no secret that I&amp;rsquo;ve been involved in organising a DrupalCamp for Manchester. It&amp;rsquo;s hard work and it&amp;rsquo;s stressful.&lt;/p&gt;
&lt;p&gt;It&amp;rsquo;s not something that would come easy to a developer, it&amp;rsquo;s a task that most developers wouldn&amp;rsquo;t even attempt. However I feel I&amp;rsquo;m up to the challenge and the timing is right.&lt;/p&gt;
&lt;p&gt;This post is mostly about what I&amp;rsquo;ve learnt, the camp is still a work in progress but I&amp;rsquo;ve learnt so much stuff:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Don&amp;rsquo;t do this! It&amp;rsquo;s hard work, it&amp;rsquo;s very very stressful (I&amp;rsquo;ve made many angry phone calls today).&lt;/li&gt;
&lt;li&gt;If you do decide to go with it get a good team, seriously a good team is great, I&amp;rsquo;m lucky and have a great one who I can trust to get stuff done. We all have our own unique talents which makes spreading the work load a lot easier.&lt;/li&gt;
&lt;li&gt;Get a venue, get it early and get the paperwork. All my stress over the past few weeks has been down to this one fact alone.&lt;/li&gt;
&lt;li&gt;Get sponsors, they&amp;rsquo;re key to providing some early needed funds.&lt;/li&gt;
&lt;li&gt;Use people&amp;rsquo;s contacts! It makes it much easier to get stuff done, especially with suppliers.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;So this is where we get to the &amp;ldquo;Now you can panic&amp;rdquo; part, we&amp;rsquo;ve still got a lot of work to do but it&amp;rsquo;s finally coming together.&lt;/p&gt;
&lt;p&gt;For more info on Drupalcamp North West please follow @DrupalCampNW on Twitter.&lt;/p&gt;
&lt;p&gt;Thanks for reading via RSS!&lt;/p&gt;
&lt;p&gt;Send me a message on &lt;a href="https://remotelab.uk/mikebell"&gt;Mastodon&lt;/a&gt; or &lt;a href="mailto:hello@mikebell.io"&gt;email me&lt;/a&gt;&lt;/p&gt;</description></item><item><title>Support Ticket Manifesto</title><link>https://mikebell.io/posts/support-ticket-manifesto/</link><pubDate>Sun, 23 Sep 2012 00:00:00 +0000</pubDate><author>hello@mikebell.io (Mike Bell)</author><guid>https://mikebell.io/posts/support-ticket-manifesto/</guid><description>
&lt;p&gt;I&amp;rsquo;ve been doing support for over 2 years now, I have such a love hate relationship with it.&lt;/p&gt;
&lt;p&gt;I hate the generic support requests that go along the lines of &amp;ldquo;ZOMG IT&amp;rsquo;S ALL BROKEN&amp;rdquo; (actual ticket, well not really), but I love the complex issues, those that can actually engage me and force me to bring out my debugging skills.&lt;/p&gt;
&lt;p&gt;Every support ticket falls into 2 camps, those that make you scream and those that make you think, I&amp;rsquo;d say 90% are those that make you scream. This is why I&amp;rsquo;m proposing the following manifesto:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;You WILL include Browser and OS information - &amp;ldquo;It doesn&amp;rsquo;t work&amp;rdquo; is not good enough and will just make things take longer, ultimately we have to bounce the ticket back for more info so do us a favour and start out with as much possible.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;URLS for the love of whatever deity you follow please include a url, your not our only client and chances are you host more than one site with us. Also chances are we aren&amp;rsquo;t 100% familiar with your site so a specific url will help us target the issue. Oh yeah and it helps us to grep logs as well.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Time the issue was noted, again we have logs if you can narrow down the timeframe that would help both you and us!&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&amp;ldquo;Just one more thing&amp;rdquo; - NO NO NO start a new ticket, I&amp;rsquo;m going to forget about your second issue if it&amp;rsquo;s deep in a ticket 30 replies long.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Understand the difference between a feature request and bug, it sounds easy but you&amp;rsquo;d be surprised how many times people get it wrong!&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Don&amp;rsquo;t phone to say you&amp;rsquo;ve put a ticket in, we know you have and while I have one hand on the phone talking to you I can&amp;rsquo;t work as fast.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Don&amp;rsquo;t leave your ticket open, if we&amp;rsquo;ve fixed it then close it stating your happy with the response.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Where possible include a screenshot, visual aids help a lot more than a wall of text, also follow below rule.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;The following formats are not acceptable for screenshots - ppt, pptx, xls, xlsx, doc, docx, odt.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Lastly, thanks us. A happy support monkey is a productive support monkey.&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;EDIT: Some more rules!&lt;/p&gt;
&lt;ol start="11"&gt;
&lt;li&gt;
&lt;p&gt;My time estimates are final, if you can do it faster then fuck you do it yourself.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;You&amp;rsquo;re not our only client! Shocking I know but sometimes we work with other people.&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;So there it is, follow these simple rules and we won&amp;rsquo;t hunt you down and knife you.&lt;/p&gt;
&lt;p&gt;Thanks for reading via RSS!&lt;/p&gt;
&lt;p&gt;Send me a message on &lt;a href="https://remotelab.uk/mikebell"&gt;Mastodon&lt;/a&gt; or &lt;a href="mailto:hello@mikebell.io"&gt;email me&lt;/a&gt;&lt;/p&gt;</description></item><item><title>Switching Off</title><link>https://mikebell.io/posts/switching-off/</link><pubDate>Sat, 11 Aug 2012 00:00:00 +0000</pubDate><author>hello@mikebell.io (Mike Bell)</author><guid>https://mikebell.io/posts/switching-off/</guid><description>
&lt;p&gt;It&amp;rsquo;s that time of year again where I need a holiday and the opportunity to get away from everything.&lt;/p&gt;
&lt;p&gt;This week a colleague flippantly said that I&amp;rsquo;d be unable to switch off and required an internet connection. I was kind of offended by this as they assumed that they actually knew me.&lt;/p&gt;
&lt;p&gt;To me holidays are sacred they&amp;rsquo;re a time when you get to switch off and relax. Something that may seem quite alien to those in the business. I don&amp;rsquo;t require an internet connection. In fact I look forward to not having one. Sure its handy but switching off is something I enjoy doing and feel necessary every now and then.&lt;/p&gt;
&lt;p&gt;Thanks for reading via RSS!&lt;/p&gt;
&lt;p&gt;Send me a message on &lt;a href="https://remotelab.uk/mikebell"&gt;Mastodon&lt;/a&gt; or &lt;a href="mailto:hello@mikebell.io"&gt;email me&lt;/a&gt;&lt;/p&gt;</description></item><item><title>An open letter to the bbc</title><link>https://mikebell.io/posts/an-open-letter-to-the-bbc/</link><pubDate>Tue, 31 Jul 2012 00:00:00 +0000</pubDate><author>hello@mikebell.io (Mike Bell)</author><guid>https://mikebell.io/posts/an-open-letter-to-the-bbc/</guid><description>
&lt;p&gt;Dear BBC,&lt;/p&gt;
&lt;p&gt;Today I bought a TV license. I do not own a TV. I do not watch live TV. In fact I don&amp;rsquo;t do anything to warrant owning a TV license.&lt;/p&gt;
&lt;p&gt;I have however grown up with your science programmes. I look forward to watching the latest show that shows the most fascinating scientific breakthroughs and topics.&lt;/p&gt;
&lt;p&gt;So as long as you keep on making great programmes such as Horizon then I&amp;rsquo;ll keep paying.&lt;/p&gt;
&lt;p&gt;Regards,&lt;/p&gt;
&lt;p&gt;Mike Bell&lt;/p&gt;
&lt;p&gt;Thanks for reading via RSS!&lt;/p&gt;
&lt;p&gt;Send me a message on &lt;a href="https://remotelab.uk/mikebell"&gt;Mastodon&lt;/a&gt; or &lt;a href="mailto:hello@mikebell.io"&gt;email me&lt;/a&gt;&lt;/p&gt;</description></item><item><title>Drupalcamp Manchester - A retrospective</title><link>https://mikebell.io/posts/drupalcamp-manchester-a-retrospective/</link><pubDate>Mon, 16 Jul 2012 00:00:00 +0000</pubDate><author>hello@mikebell.io (Mike Bell)</author><guid>https://mikebell.io/posts/drupalcamp-manchester-a-retrospective/</guid><description>
&lt;p&gt;A lot has happened since the last Drupalcamp in Manchester, and when I say a lot I mean a hell of a lot. It&amp;rsquo;s been quite a few years since (over 3 years in fact!).&lt;/p&gt;
&lt;p&gt;Back then I was working a shitty job writing ASP code for a company that had no passion, no motivation. I didn&amp;rsquo;t realise it at the time but that Drupalcamp weekend would bring big changes for me.&lt;/p&gt;
&lt;p&gt;After way too many copy paste sessions adding new sections to brochure sites I figured there had to be a better way of doing things. That&amp;rsquo;s when I stumbled upon Joomla/Wordpress and Drupal. After playing around with all three I settled upon Drupal as my CMS of choice. I initially tried to introduce it to my old company but received little enthusiasm, although I did get to create one client site with it, although that has now disappeared of the face of the internet. This first commercial site was a great eye opener and something that helped set me off on the right path.&lt;/p&gt;
&lt;p&gt;Once the first site was completed I decided to take a closer look at the community, being new to php and Drupal this seemed like the best way to increase my knowledge and skills. I then heard about Drupalcamp Manchester. I figured why the hell not, not forgetting a healthy load of convincing from my parents.&lt;/p&gt;
&lt;p&gt;I remember first turning up at the event and it was hot, not the normal hot but the level of hotness you can only achieve with high level physics or a poptart fresh out of the toaster. Little did I know but I was surrounded by my current friends and colleagues from the Drupal community at large. It was an odd experience looking back as I&amp;rsquo;m the polar opposite of the person that I was then, stepping into the BBC in Manchester I was a timid, quiet ASP developer (things are a tad different ;)). Eventually after the first day was over I decided to leave and because of my stupidly timid nature and not return the next day, something which I regret even now.&lt;/p&gt;
&lt;p&gt;During that first day I picked up all sorts of great information and most of all I learnt that their was a community out there that had passion and direction, that actively encouraged learning and didn&amp;rsquo;t try to bring you down. I also brought back with me a little blue stress ball.&lt;/p&gt;
&lt;p&gt;That little blue stress ball sat on my desk for a good few weeks reminding me of the camp, it was then that I decided I wanted out of my old job and to start fresh. Luckily enough after trolling through the Drupal RSS feeds I found what I was looking for. Turns out that little blue stress ball would come in handy. After a hastily arranged interview and some hassling of my now bosses I landed my current job, something which I&amp;rsquo;ve never regretted leaving Bradford for.&lt;/p&gt;
&lt;p&gt;So that&amp;rsquo;s how Drupalcamp Manchester got me to where I am now. Not only do I have an awesome job but I&amp;rsquo;m no longer a timid, shy person.&lt;/p&gt;
&lt;p&gt;Why am I bringing this up now? Well I now help run North West Drupal User group with Phil (something which I never in a million years thought I could do) and I want to give even more back. Drupalcamps are important and it&amp;rsquo;s been too long.&lt;/p&gt;
&lt;p&gt;Follow &lt;a href="http://twitter.com/drupalcampnw" target="_blank" rel="noreferrer"&gt;http://twitter.com/drupalcampnw&lt;/a&gt; for more details!&lt;/p&gt;
&lt;p&gt;Thanks for reading via RSS!&lt;/p&gt;
&lt;p&gt;Send me a message on &lt;a href="https://remotelab.uk/mikebell"&gt;Mastodon&lt;/a&gt; or &lt;a href="mailto:hello@mikebell.io"&gt;email me&lt;/a&gt;&lt;/p&gt;</description></item><item><title>Find and Replace with QueryPath in PHP</title><link>https://mikebell.io/posts/find-and-replace-with-querypath/</link><pubDate>Mon, 28 May 2012 00:00:00 +0000</pubDate><author>hello@mikebell.io (Mike Bell)</author><guid>https://mikebell.io/posts/find-and-replace-with-querypath/</guid><description>
&lt;p&gt;To find and replace using querypath without destroying existing context you can use the following:&lt;/p&gt;
&lt;div class="highlight-wrapper"&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-php" data-lang="php"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;$temp&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;qp&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nv"&gt;$output&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;table&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="na"&gt;addclass&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;table&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;$output&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nv"&gt;$temp&lt;/span&gt;&lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="na"&gt;top&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;body&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="na"&gt;innerHTML&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;Thanks for reading via RSS!&lt;/p&gt;
&lt;p&gt;Send me a message on &lt;a href="https://remotelab.uk/mikebell"&gt;Mastodon&lt;/a&gt; or &lt;a href="mailto:hello@mikebell.io"&gt;email me&lt;/a&gt;&lt;/p&gt;</description></item><item><title>Coder Manifest</title><link>https://mikebell.io/posts/coder-manifest/</link><pubDate>Wed, 25 Apr 2012 00:00:00 +0000</pubDate><author>hello@mikebell.io (Mike Bell)</author><guid>https://mikebell.io/posts/coder-manifest/</guid><description>
&lt;p&gt;Herein lies the coder manifest.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Thou shalt not commit debug to production&lt;/li&gt;
&lt;li&gt;Thou shalt create test for everything&lt;/li&gt;
&lt;li&gt;Thou shalt not commit code to production and not deploy&lt;/li&gt;
&lt;li&gt;Database shall not be kept it thy repository control system&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Thanks for reading via RSS!&lt;/p&gt;
&lt;p&gt;Send me a message on &lt;a href="https://remotelab.uk/mikebell"&gt;Mastodon&lt;/a&gt; or &lt;a href="mailto:hello@mikebell.io"&gt;email me&lt;/a&gt;&lt;/p&gt;</description></item><item><title>Managing CLI config accross multiple servers/desktops</title><link>https://mikebell.io/posts/managing-cli-config/</link><pubDate>Sat, 17 Mar 2012 00:00:00 +0000</pubDate><author>hello@mikebell.io (Mike Bell)</author><guid>https://mikebell.io/posts/managing-cli-config/</guid><description>
&lt;p&gt;After using CLI for more than three years I&amp;rsquo;ve amassed multiple .*rc files for configuration.&lt;/p&gt;
&lt;p&gt;When I bring a new server/desktop online I needed a way to quickly import all my settings and get up and running.&lt;/p&gt;
&lt;p&gt;My standard configuration always consists of ZSH with the great oh-my-zsh scripts. Additional to this I have my own .zshrc/.vimrc/.ackrc configs.&lt;/p&gt;
&lt;p&gt;I created the following script to automatically install my config files on any new server:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;#!/bin/bash
rm ~/.ackrc
rm ~/.vimrc
rm ~/.zshrc
echo &amp;quot;Removed old config files&amp;quot;
ln -s ~/homeconfig/.zshrc ~/.zshrc
ln -s ~/homeconfig/.ackrc ~/.ackrc
ln -s ~/homeconfig/.vimrc ~/.vimrc
echo &amp;quot;Installed new config files&amp;quot;
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;So now whenever I bring up a new server/desktop I simply run the following:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;git clone blah@blah.com:blah.git
cd blah
./install.sh
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;The install script is very destructive and doesn&amp;rsquo;t takeinto account any of your previous setups so it&amp;rsquo;s always good to make sure you know what&amp;rsquo;s in your install.sh before running it.&lt;/p&gt;
&lt;p&gt;Enjoy!&lt;/p&gt;
&lt;p&gt;Thanks for reading via RSS!&lt;/p&gt;
&lt;p&gt;Send me a message on &lt;a href="https://remotelab.uk/mikebell"&gt;Mastodon&lt;/a&gt; or &lt;a href="mailto:hello@mikebell.io"&gt;email me&lt;/a&gt;&lt;/p&gt;</description></item><item><title>Blocking Twitter Trends and User Recommendations using Adblock Plus</title><link>https://mikebell.io/posts/blocking-twitter-trends/</link><pubDate>Sat, 04 Feb 2012 00:00:00 +0000</pubDate><author>hello@mikebell.io (Mike Bell)</author><guid>https://mikebell.io/posts/blocking-twitter-trends/</guid><description>
&lt;p&gt;To block twitters really annoying trends and user recommendations use the following custom filter:&lt;/p&gt;
&lt;p&gt;Updated via @emaleroland&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;twitter.com##div[class*=&amp;quot;flex-module trends-container context-trends-container&amp;quot;]
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Old:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;twitter.com##div[data-component-term=&amp;quot;user_recommendations&amp;quot;]
twitter.com##div[data-component-term=&amp;quot;trends&amp;quot;]
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;I&amp;rsquo;ve created a filter list you can import into adblock plus. You can download it here - &lt;a href="https://github.com/digital006/socialcrapremover" target="_blank" rel="noreferrer"&gt;https://github.com/digital006/socialcrapremover&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Feel free to fork and commit additional filters&lt;/p&gt;
&lt;p&gt;Thanks for reading via RSS!&lt;/p&gt;
&lt;p&gt;Send me a message on &lt;a href="https://remotelab.uk/mikebell"&gt;Mastodon&lt;/a&gt; or &lt;a href="mailto:hello@mikebell.io"&gt;email me&lt;/a&gt;&lt;/p&gt;</description></item><item><title>My first Drupal 7 Distribution and what I learnt</title><link>https://mikebell.io/posts/my-first-drupal-7-distribution/</link><pubDate>Tue, 24 Jan 2012 00:00:00 +0000</pubDate><author>hello@mikebell.io (Mike Bell)</author><guid>https://mikebell.io/posts/my-first-drupal-7-distribution/</guid><description>
&lt;p&gt;I&amp;rsquo;ve been using Tumblr for a few months now as a simple way of sharing the images I find interesting and beautiful (can be found at &lt;a href="http://ayil.co.uk" target="_blank" rel="noreferrer"&gt;ayil.co.uk&lt;/a&gt;). I found it was lacking in a few features that would be nice, being a Drupal developer I thought hell why not try and recreate it in Drupal 7.&lt;/p&gt;
&lt;h2 class="relative group"&gt;I&amp;rsquo;ve been here before.
&lt;div id="ive-been-here-before" class="anchor"&gt;&lt;/div&gt;
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
&lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#ive-been-here-before" aria-label="Anchor"&gt;#&lt;/a&gt;
&lt;/span&gt;
&lt;/h2&gt;
&lt;p&gt;I&amp;rsquo;m not new to profiles, I started playing around with them at the start of 2010 in Drupal 6 for a clients site. It seemed like a great way to get a site up and running quickly and cut out all the faffing about with installing modules and content types. It went pretty well but then I discovered Features and decided to move everything to them and haven&amp;rsquo;t looked back (regardless of how many times I&amp;rsquo;ve wanted to stab my own eyes out with dependency hell).&lt;/p&gt;
&lt;h2 class="relative group"&gt;The start of something.
&lt;div id="the-start-of-something" class="anchor"&gt;&lt;/div&gt;
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
&lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#the-start-of-something" aria-label="Anchor"&gt;#&lt;/a&gt;
&lt;/span&gt;
&lt;/h2&gt;
&lt;p&gt;So why not recreate Tumblr in Drupal 7? It would have all the best bits of Tumblr and all the best bits of Drupal. Half the stuff I wanted to do comes straight out of the box, especially now that cck is in core.&lt;/p&gt;
&lt;h2 class="relative group"&gt;Queue the montage sequence.
&lt;div id="queue-the-montage-sequence" class="anchor"&gt;&lt;/div&gt;
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
&lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#queue-the-montage-sequence" aria-label="Anchor"&gt;#&lt;/a&gt;
&lt;/span&gt;
&lt;/h2&gt;
&lt;p&gt;For those not familiar with Tumblr you get 7 &amp;ldquo;content types&amp;rdquo;, each of these have specific functionality such as posting a photo or standard text blog post. Creating the 7 content types was easy, a lot of point and clicking but achievable without any coding. Within a few hours I had all 7 content types mapped out and created within Drupal, it was very rough around the edges but it was there and most of all working (well almost).&lt;/p&gt;
&lt;h2 class="relative group"&gt;Shiny new toys.
&lt;div id="shiny-new-toys" class="anchor"&gt;&lt;/div&gt;
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
&lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#shiny-new-toys" aria-label="Anchor"&gt;#&lt;/a&gt;
&lt;/span&gt;
&lt;/h2&gt;
&lt;p&gt;Features allowed me to export all the configuration into separate modules which were controlled by a central controller module (a concept I&amp;rsquo;ve used a few times and should probably write more about). Adding a dependency to this controller module in my distribution info file meant that on install it would cascade down and install all the content types and associated settings. My distribution info file also contained the bare minimum to set-up various menus and blocks.&lt;/p&gt;
&lt;p&gt;Since this was a personal project I decided to throw in some responsive theming for good measures, I used the Omega theme to give me a starting point but since my skills lie in code the theme never really went far, I just have no passion for web design. I highly suggest you checkout &lt;a href="http://drupal.org/project/omega_tools" target="_blank" rel="noreferrer"&gt;omega tools&lt;/a&gt; as it&amp;rsquo;s a great way of configuring the theme in the shortest amount of time and it even comes with some handy drush extensions.&lt;/p&gt;
&lt;h2 class="relative group"&gt;Lights&amp;hellip; Camera&amp;hellip; &amp;hellip; is this thing on?
&lt;div id="lights-camera--is-this-thing-on" class="anchor"&gt;&lt;/div&gt;
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
&lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#lights-camera--is-this-thing-on" aria-label="Anchor"&gt;#&lt;/a&gt;
&lt;/span&gt;
&lt;/h2&gt;
&lt;p&gt;Since my use case was mostly media based I figured I&amp;rsquo;d check out the &lt;a href="http://drupal.org/project/media" target="_blank" rel="noreferrer"&gt;media module&lt;/a&gt;. This was where it all went wrong, it&amp;rsquo;s a usability nightmare, I went round in circles trying to figure out how to configure it properly to do what I wanted. In the end another colleague ended up ripping out what I&amp;rsquo;d done and replace it with something that nearly worked. I found the modal window approach to be horrible (this coming from a guy who&amp;rsquo;s spent the last year living in a modal hell), here are a few of the issues I found:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Upload size = 0, documented bug.&lt;/li&gt;
&lt;li&gt;Remote embed for image shows video options.&lt;/li&gt;
&lt;li&gt;Ignore above it doesn&amp;rsquo;t work for video or image using the third party modules.&lt;/li&gt;
&lt;li&gt;Edge case conflict with omega theme.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;So now I&amp;rsquo;m left with a distribution that installs and works for the most part. If I was a good Samaritan I&amp;rsquo;d jump into the issue queue and help where I can but I don&amp;rsquo;t have the time or the patience. I&amp;rsquo;m not familiar enough with the changes in Drupal 7 as all my work time is spent in Drupal 6 and I haven&amp;rsquo;t had the opportunity to delve behind the scenes of 7 yet.&lt;/p&gt;
&lt;h2 class="relative group"&gt;Making my life easier
&lt;div id="making-my-life-easier" class="anchor"&gt;&lt;/div&gt;
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
&lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#making-my-life-easier" aria-label="Anchor"&gt;#&lt;/a&gt;
&lt;/span&gt;
&lt;/h2&gt;
&lt;p&gt;I use drush a lot, it&amp;rsquo;s probably one of the most used command-line tools in my arsenal at the moment. For those not familiar with drush make it&amp;rsquo;s command that downloads modules and 3rd party libraries so you don&amp;rsquo;t have to, it&amp;rsquo;s a great time saver and well worth looking into. Drupal.org allows you to package a special version of a make file so that it will grab all the modules and 3rd party libraries (only white listed ones, a relatively new feature) and build it for you. Great idea in principle but the thing that annoyed me was the structure of the make file is fundamentally different between the normal type and drupal.org standard. This was a bit of pain for two reasons, the first is it broke my CI setup as a valid d.o make file can&amp;rsquo;t contain &amp;ldquo;core&amp;rdquo; whereas normal drush make requires it. Secondly as I found out after converting my file is that sandbox distributions don&amp;rsquo;t have this packaging setup available. Thankfully everything was tracked in git and 2 reverts later I was back to a normal make file.&lt;/p&gt;
&lt;h3 class="relative group"&gt;Why even bother with a make file testing?
&lt;div id="why-even-bother-with-a-make-file-testing" class="anchor"&gt;&lt;/div&gt;
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
&lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#why-even-bother-with-a-make-file-testing" aria-label="Anchor"&gt;#&lt;/a&gt;
&lt;/span&gt;
&lt;/h3&gt;
&lt;p&gt;I&amp;rsquo;ve been burnt too many times before by developers not testing their make files, it&amp;rsquo;s annoying to have to sit through a whole build process for 4-5 minutes only to have it failed because someone has either spelt the module name wrong or used an invalid release. Automating this test is a great way to save myself and others hassle down the line.&lt;/p&gt;
&lt;h2 class="relative group"&gt;Dead and buried?
&lt;div id="dead-and-buried" class="anchor"&gt;&lt;/div&gt;
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
&lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#dead-and-buried" aria-label="Anchor"&gt;#&lt;/a&gt;
&lt;/span&gt;
&lt;/h2&gt;
&lt;p&gt;Far from it, every week I check the Media issue queue and various twitter postings to see the improvements being made on the module. It&amp;rsquo;ll get there and when it does I&amp;rsquo;ll continue to build my distribution towards some kind of stable release as I still believe that this is a great project.&lt;/p&gt;
&lt;h2 class="relative group"&gt;Where is it?
&lt;div id="where-is-it" class="anchor"&gt;&lt;/div&gt;
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
&lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#where-is-it" aria-label="Anchor"&gt;#&lt;/a&gt;
&lt;/span&gt;
&lt;/h2&gt;
&lt;p&gt;It can be found &lt;a href="http://drupal.org/sandbox/digital/1353814" target="_blank" rel="noreferrer"&gt;here&lt;/a&gt;. Feel free to contribute suggestions/ideas/code. Out of the box you get a responsive site which emulates around 60% of the functionality of Tumblr, it&amp;rsquo;s not pretty but it&amp;rsquo;s functional.&lt;/p&gt;
&lt;h2 class="relative group"&gt;What did I learn?
&lt;div id="what-did-i-learn" class="anchor"&gt;&lt;/div&gt;
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
&lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#what-did-i-learn" aria-label="Anchor"&gt;#&lt;/a&gt;
&lt;/span&gt;
&lt;/h2&gt;
&lt;p&gt;Bucket loads, I&amp;rsquo;m now familiar with the new Drupal admin interface, I have a deeper understanding of install profiles. I also built a Jenkins setup to test various different aspects of building and creation of the profile which I&amp;rsquo;ll write another blog post about. Taking on a distribution is a large task but ultimately worth it.&lt;/p&gt;
&lt;p&gt;Thanks for reading via RSS!&lt;/p&gt;
&lt;p&gt;Send me a message on &lt;a href="https://remotelab.uk/mikebell"&gt;Mastodon&lt;/a&gt; or &lt;a href="mailto:hello@mikebell.io"&gt;email me&lt;/a&gt;&lt;/p&gt;</description></item><item><title>Using Jenkins CI and Drupal</title><link>https://mikebell.io/posts/using-jenkins-ci-and-drupal/</link><pubDate>Tue, 24 Jan 2012 00:00:00 +0000</pubDate><author>hello@mikebell.io (Mike Bell)</author><guid>https://mikebell.io/posts/using-jenkins-ci-and-drupal/</guid><description>
&lt;p&gt;While building my Drupal 7 profile I started playing around with Jenkins CI. My reasons for doing so were two fold:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Code Quality
I believe in code quality, there are multiple tools out there that will analyse code and report back using various different metrics. CI allows me to run these metrics on a repeatable basis, if my code changes then the quality changes. This makes me a better developer overall.&lt;/li&gt;
&lt;li&gt;Repeatable Tasks
Jenkins can do anything you throw at it, why not throw at it all your boring repeatable tasks?&lt;/li&gt;
&lt;/ol&gt;
&lt;h1 class="relative group"&gt;Installation
&lt;div id="installation" class="anchor"&gt;&lt;/div&gt;
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
&lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#installation" aria-label="Anchor"&gt;#&lt;/a&gt;
&lt;/span&gt;
&lt;/h1&gt;
&lt;p&gt;&lt;code&gt;sudo apt-get install jenkins&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;Simple!&lt;/p&gt;
&lt;h1 class="relative group"&gt;Configuration
&lt;div id="configuration" class="anchor"&gt;&lt;/div&gt;
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
&lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#configuration" aria-label="Anchor"&gt;#&lt;/a&gt;
&lt;/span&gt;
&lt;/h1&gt;
&lt;p&gt;After installing Jenkins read &lt;a href="https://wiki.jenkins-ci.org/display/JENKINS/Securing&amp;#43;Jenkins" target="_blank" rel="noreferrer"&gt;this&lt;/a&gt;. Out the box Jenkins is open to the world so now might be a good idea to lock it down a bit.&lt;/p&gt;
&lt;p&gt;It&amp;rsquo;s also worth clicking around the admin screens and getting to grips with it, there are a lot of options when setting things up. Checkout the available module list, chances are your going to want to use a few. Installing these are as simple and point and click.&lt;/p&gt;
&lt;h1 class="relative group"&gt;Useful plugins
&lt;div id="useful-plugins" class="anchor"&gt;&lt;/div&gt;
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
&lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#useful-plugins" aria-label="Anchor"&gt;#&lt;/a&gt;
&lt;/span&gt;
&lt;/h1&gt;
&lt;ul&gt;
&lt;li&gt;Git - of course this will come in really really handy&lt;/li&gt;
&lt;li&gt;Copy Artifact Plugin - Jenkins allows you to create artifacts (a zipped up copy of all files built) this comes in really handy when using multiple build steps, no more cloning repos a couple of times.&lt;/li&gt;
&lt;li&gt;Jenkins Doxygen Plug-in - does what is says on the tin, executes doxygen to create documentation.&lt;/li&gt;
&lt;/ul&gt;
&lt;h1 class="relative group"&gt;Example Jobs
&lt;div id="example-jobs" class="anchor"&gt;&lt;/div&gt;
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
&lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#example-jobs" aria-label="Anchor"&gt;#&lt;/a&gt;
&lt;/span&gt;
&lt;/h1&gt;
&lt;ol&gt;
&lt;li&gt;Testing drush make files&lt;/li&gt;
&lt;li&gt;Testing profile install using drush si&lt;/li&gt;
&lt;li&gt;Running cron, mostly used for getting notifications of failures and audit trail&lt;/li&gt;
&lt;li&gt;Building doxygen documentation&lt;/li&gt;
&lt;/ol&gt;
&lt;h1 class="relative group"&gt;Testing drush make files
&lt;div id="testing-drush-make-files" class="anchor"&gt;&lt;/div&gt;
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
&lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#testing-drush-make-files" aria-label="Anchor"&gt;#&lt;/a&gt;
&lt;/span&gt;
&lt;/h1&gt;
&lt;p&gt;Sometimes drush make files take a while to run, I have a project that contains a lot of modules, it&amp;rsquo;s average build time is around 5 minutes. The project roughly needs rebuilding at least once or twice a week. So that&amp;rsquo;s 10 minutes time spent waiting, now imaging if the build fails, this could be due to a couple of reasons (mostly bad release numbers) but if it fails that 5 minutes wasted. Testing this make allows me to make changes to the make file without worrying about it, I usually just &lt;code&gt;drush dl module&lt;/code&gt; and update the make file manually for other developers to use. Overall this saves time and frustration over broken builds.&lt;/p&gt;
&lt;p&gt;This is also a great time to use the copy artifact plugin, this will save you having to redownload drupal core and contrib multiple times throughout your tests. Be sure to exclude any .git repos otherwise copying the artifact will fail due to permission errors. Artifacts are only saved when a successful build.&lt;/p&gt;
&lt;h1 class="relative group"&gt;Testing profile install
&lt;div id="testing-profile-install" class="anchor"&gt;&lt;/div&gt;
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
&lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#testing-profile-install" aria-label="Anchor"&gt;#&lt;/a&gt;
&lt;/span&gt;
&lt;/h1&gt;
&lt;p&gt;You can use drush to install profiles, this comes in really handy when your testing profiles in development. In my setup I have it chained so that every time a successful make file is built it then copies the files to a new workspace and runs &lt;code&gt;drush si&lt;/code&gt; this then captures all the output and exits if there are any errors in the install.&lt;/p&gt;
&lt;h1 class="relative group"&gt;Running cron
&lt;div id="running-cron" class="anchor"&gt;&lt;/div&gt;
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
&lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#running-cron" aria-label="Anchor"&gt;#&lt;/a&gt;
&lt;/span&gt;
&lt;/h1&gt;
&lt;p&gt;This is as simple as it sounds, you can setup a job to run cron on all your sites. This is a great tool as it provides an audit trail and notifications on any errors.&lt;/p&gt;
&lt;h1 class="relative group"&gt;Building doxygen documentation
&lt;div id="building-doxygen-documentation" class="anchor"&gt;&lt;/div&gt;
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
&lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#building-doxygen-documentation" aria-label="Anchor"&gt;#&lt;/a&gt;
&lt;/span&gt;
&lt;/h1&gt;
&lt;p&gt;Assuming you have a doxygen setup file configured for you project you can get Jenkins to build the documentation for you. If you add this into your build chain it&amp;rsquo;ll run whenever all the test you run are successful, this will save building docs for broken functionality.&lt;/p&gt;
&lt;h1 class="relative group"&gt;Summary
&lt;div id="summary" class="anchor"&gt;&lt;/div&gt;
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
&lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#summary" aria-label="Anchor"&gt;#&lt;/a&gt;
&lt;/span&gt;
&lt;/h1&gt;
&lt;p&gt;Repeating time consuming jobs over and over again is boring and distracts away from the focus of a project, by using Jenkins in my development setup it&amp;rsquo;s allowed me to focus on what&amp;rsquo;s important and monitor my errors (we all make them) without having to worry about them. There is a lot more you can do with Jenkins this is only a taster. I&amp;rsquo;m hoping to present next Wednesday at NWDUG in Manchester. Over the next few weeks I&amp;rsquo;ll expand on the example jobs above and post my setup and code used to achieve them.&lt;/p&gt;
&lt;p&gt;Thanks to &lt;a href="https://twitter.com/#!/stewsnooze" target="_blank" rel="noreferrer"&gt;Stewart Robinson&lt;/a&gt; for giving me a really good code sample and point in the right direction&lt;/p&gt;
&lt;p&gt;Thanks for reading via RSS!&lt;/p&gt;
&lt;p&gt;Send me a message on &lt;a href="https://remotelab.uk/mikebell"&gt;Mastodon&lt;/a&gt; or &lt;a href="mailto:hello@mikebell.io"&gt;email me&lt;/a&gt;&lt;/p&gt;</description></item><item><title>Git log between tags</title><link>https://mikebell.io/posts/git-log-between-tags/</link><pubDate>Tue, 15 Nov 2011 00:00:00 +0000</pubDate><author>hello@mikebell.io (Mike Bell)</author><guid>https://mikebell.io/posts/git-log-between-tags/</guid><description>
&lt;p&gt;This has been bugging me for a while, the cheap and easy way to make changelogs:&lt;/p&gt;
&lt;div class="highlight-wrapper"&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-shell" data-lang="shell"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;git log 6.x-1.0-beta8...6.x-1.0-beta9 --pretty&lt;span class="o"&gt;=&lt;/span&gt;format:&lt;span class="s1"&gt;&amp;#39;%h was %an, message: %s&amp;#39;&lt;/span&gt; &amp;gt; ~/changelog.txt&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;Thanks for reading via RSS!&lt;/p&gt;
&lt;p&gt;Send me a message on &lt;a href="https://remotelab.uk/mikebell"&gt;Mastodon&lt;/a&gt; or &lt;a href="mailto:hello@mikebell.io"&gt;email me&lt;/a&gt;&lt;/p&gt;</description></item><item><title>Lazy Mans guide to Aeropress - Part Zwei</title><link>https://mikebell.io/posts/lazy-mans-guide-to-aeropress-part-zwei/</link><pubDate>Sun, 13 Nov 2011 00:00:00 +0000</pubDate><author>hello@mikebell.io (Mike Bell)</author><guid>https://mikebell.io/posts/lazy-mans-guide-to-aeropress-part-zwei/</guid><description>
&lt;p&gt;After having quite a few months off from coffee I&amp;rsquo;m finally back into it and brewing again.&lt;/p&gt;
&lt;p&gt;This is an updated method I use for brewing Aeropress without any hassle and only the minimum amount of effort. Hopefully you should get some pretty good results from it.&lt;/p&gt;
&lt;p&gt;My setup has actually changed since my last post, I&amp;rsquo;ve ditched paper filters in favour of the &lt;a href="http://coava.myshopify.com/products/disk-coffee-filter" target="_blank" rel="noreferrer"&gt;Coava Disk&lt;/a&gt;. I find this gives a much smoother cup with a greater depth and texture. If your used to the paper filters then when switching to the disk you&amp;rsquo;ll see a huge difference in a number of different factors, namely speed of the plunge. My one issue with the disk is that coffee seems to stick to the disk when you plunge, this probably has some effect on the overall cup but I&amp;rsquo;ll come to how I combat that in the instructions.&lt;/p&gt;
&lt;p&gt;The one piece of equipment I really really wish I had is a &lt;a href="http://www.hasbean.co.uk/products/Hario-V60-Coffee-Drip-Kettle-%27Buono%27.html" target="_blank" rel="noreferrer"&gt;VarioV60 Kettle&lt;/a&gt; just to give some kind of flow control as my kettle really sucks and it&amp;rsquo;s very difficult to get a even pour. This may all sound like hard work but it&amp;rsquo;s not trust me! So now for the steps:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Boil kettle&amp;hellip;&lt;/li&gt;
&lt;li&gt;Pre-heat cup with hot water&lt;/li&gt;
&lt;li&gt;Pour grinds into inverted aeropress (usually around 3cm up when plunger is at 5).&lt;/li&gt;
&lt;li&gt;Leave water to cool for 30s to 1min.&lt;/li&gt;
&lt;li&gt;Pour water over grinds evenly, I don&amp;rsquo;t pre-wet as it&amp;rsquo;s futile with my kettle. If done correctly you should see a nice crema.&lt;/li&gt;
&lt;li&gt;Stir 5-6 time to make sure grinds are soaked.&lt;/li&gt;
&lt;li&gt;Leave for 1 to 1:30 mins&lt;/li&gt;
&lt;li&gt;Pour hot water out of cup&lt;/li&gt;
&lt;li&gt;Stir grinds once more to make sure that none stick to the disk&lt;/li&gt;
&lt;li&gt;Put on disk and plastic cover&lt;/li&gt;
&lt;li&gt;Invert and plunge (plunging should roughly take 15-30 seconds depending on grind size, my pre-ground filter from Hasbeans takes roughly 20 seconds)&lt;/li&gt;
&lt;li&gt;???&lt;/li&gt;
&lt;li&gt;DRINK!&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;13-ish steps for a nice cup of coffee not bad, total time of process when streamlined is roughly 4 minutes.&lt;/p&gt;
&lt;p&gt;Enjoy,&lt;/p&gt;
&lt;p&gt;Thanks for reading via RSS!&lt;/p&gt;
&lt;p&gt;Send me a message on &lt;a href="https://remotelab.uk/mikebell"&gt;Mastodon&lt;/a&gt; or &lt;a href="mailto:hello@mikebell.io"&gt;email me&lt;/a&gt;&lt;/p&gt;</description></item><item><title>Using ack with Drupal projects</title><link>https://mikebell.io/posts/using-ack-with-drupal-projects/</link><pubDate>Thu, 13 Oct 2011 00:00:00 +0000</pubDate><author>hello@mikebell.io (Mike Bell)</author><guid>https://mikebell.io/posts/using-ack-with-drupal-projects/</guid><description>
&lt;p&gt;I decided to move to Ack for searching as it has nice switches like &amp;ndash;php and &amp;ndash;nosql.&lt;/p&gt;
&lt;p&gt;By default ack doesn&amp;rsquo;t recognise .module, .install or .inc files so you have to add them. Create a .ackrc file in your home directory and add the following:&lt;/p&gt;
&lt;p&gt;&lt;code&gt;--type-set=drupal=.module,.install,.inc&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;Thanks for reading via RSS!&lt;/p&gt;
&lt;p&gt;Send me a message on &lt;a href="https://remotelab.uk/mikebell"&gt;Mastodon&lt;/a&gt; or &lt;a href="mailto:hello@mikebell.io"&gt;email me&lt;/a&gt;&lt;/p&gt;</description></item><item><title>DrupalCon London 2011 Wrapup</title><link>https://mikebell.io/posts/drupalcon-london-2011-wrapup/</link><pubDate>Mon, 29 Aug 2011 00:00:00 +0000</pubDate><author>hello@mikebell.io (Mike Bell)</author><guid>https://mikebell.io/posts/drupalcon-london-2011-wrapup/</guid><description>
&lt;p&gt;It&amp;rsquo;s that time again now that I&amp;rsquo;m well and truly full of drupalflu.&lt;/p&gt;
&lt;p&gt;This years pickings were slim to none, not that there wasn&amp;rsquo;t anything great out there but I just didn&amp;rsquo;t have the time to go out and grab any. My time was spent attending sessions and talking to potential new clients on our booth (which was awesome!).&lt;/p&gt;
&lt;p&gt;I did however grab a conference t-shirt which is great, as someone who collects a lot of cool and interesting shirts this one was pretty amazing, so congrats to the designers.&lt;/p&gt;
&lt;p&gt;This years conference was great, so many good sessions to attend and as always it was great to meet up with other drupal people including lots from #drupal-uk. I&amp;rsquo;m so pleased I got to see Batman Live I thought it was a great show and even after my skepticism it was worth it.&lt;/p&gt;
&lt;p&gt;I came away with so many ideas that I can&amp;rsquo;t wait to put into fruition. I particularly like drush deploy, looking forward to seeing that get a stable release. I attended a great BoF on Kit/Build Kit/Features, something that I&amp;rsquo;ve been using for a while now.&lt;/p&gt;
&lt;p&gt;Next years european DrupalCon is in Munich&amp;hellip; Beer Beer and more Beer!&lt;/p&gt;
&lt;p&gt;Thanks for reading via RSS!&lt;/p&gt;
&lt;p&gt;Send me a message on &lt;a href="https://remotelab.uk/mikebell"&gt;Mastodon&lt;/a&gt; or &lt;a href="mailto:hello@mikebell.io"&gt;email me&lt;/a&gt;&lt;/p&gt;</description></item><item><title>Quick lick of paint.</title><link>https://mikebell.io/posts/quick-lick-of-paint/</link><pubDate>Fri, 15 Jul 2011 00:00:00 +0000</pubDate><author>hello@mikebell.io (Mike Bell)</author><guid>https://mikebell.io/posts/quick-lick-of-paint/</guid><description>
&lt;p&gt;It&amp;rsquo;s amazing what a quick lick of paint can do!&lt;/p&gt;
&lt;p&gt;I&amp;rsquo;m now using a theme called simple clean and overriding all default fonts with a font selected using the Google Fonts module.&lt;/p&gt;
&lt;p&gt;Not bad for 5 minutes work.&lt;/p&gt;
&lt;p&gt;Thanks for reading via RSS!&lt;/p&gt;
&lt;p&gt;Send me a message on &lt;a href="https://remotelab.uk/mikebell"&gt;Mastodon&lt;/a&gt; or &lt;a href="mailto:hello@mikebell.io"&gt;email me&lt;/a&gt;&lt;/p&gt;</description></item><item><title>Web Developers of the Future</title><link>https://mikebell.io/posts/web-developers-of-the-future/</link><pubDate>Fri, 15 Jul 2011 00:00:00 +0000</pubDate><author>hello@mikebell.io (Mike Bell)</author><guid>https://mikebell.io/posts/web-developers-of-the-future/</guid><description>
&lt;p&gt;Today I gave a talk to 6th form students at Appleton Academy about getting into the industry and more specifically the drupal industry.&lt;/p&gt;
&lt;p&gt;It was a very interesting experience, one thing that was clear from the start is that schools suck. After being there 10 minutes even I didn&amp;rsquo;t want to be there so god only knows how students can stand it. All that aside though the talk went really well.&lt;/p&gt;
&lt;p&gt;My primary purpose for being there was to talk about the ways to get into the industry whether to go through uni or through work experience. I&amp;rsquo;d like to think I achieved my goal pretty well. One thing is clear schools aren&amp;rsquo;t equipped for modern industries, this isn&amp;rsquo;t really anyone&amp;rsquo;s fault but to me it&amp;rsquo;s really frustrating and something that needs addressing.&lt;/p&gt;
&lt;p&gt;The students really engaged with what I was saying and there were a few that shined through as being potential developers but one thing that was clear from the start the minority really does ruin it for the rest. One kid who shall be referred to as &amp;ldquo;twat&amp;rdquo; from here on in consistently tried to pull the conversation to hacking something which seemed to be cool and the in thing at the moment (thank you lulzsec/anonymouse). It was clear that he won&amp;rsquo;t go far in life but made me wonder whether the rest of the students there were restricted because of the time wasted spent politely steering the conversation back on topic.&lt;/p&gt;
&lt;p&gt;I still stand by my decision that university isn&amp;rsquo;t the way forward and I find it hard to recommend it to students, but I&amp;rsquo;d like to think my arguments were well formed and gave them something to think about.&lt;/p&gt;
&lt;p&gt;Overall it was an interesting experience and kind of gives me hope for the future.&lt;/p&gt;
&lt;p&gt;Thanks for reading via RSS!&lt;/p&gt;
&lt;p&gt;Send me a message on &lt;a href="https://remotelab.uk/mikebell"&gt;Mastodon&lt;/a&gt; or &lt;a href="mailto:hello@mikebell.io"&gt;email me&lt;/a&gt;&lt;/p&gt;</description></item><item><title>That Feeling</title><link>https://mikebell.io/posts/that-feeling/</link><pubDate>Thu, 31 Mar 2011 00:00:00 +0000</pubDate><author>hello@mikebell.io (Mike Bell)</author><guid>https://mikebell.io/posts/that-feeling/</guid><description>
&lt;p&gt;You know that feeling&amp;hellip; the one where your 2000 meters up staring out over snow covered mountains shaking snow off your skis, looking down the hill, picking the line, clearing your mind, ready for that one last push, sinking down as your skis carve through the snow, leaning into corners as you sweep round effortless turns. Then you reach the bottom, look back up, breath in deeply and sink into an adrenaline induced warm cloudy feeling.&lt;/p&gt;
&lt;p&gt;Now listen to this - &lt;a href="http://youtu.be/GIAIrNUYeJ8?hd=1" target="_blank" rel="noreferrer"&gt;http://youtu.be/GIAIrNUYeJ8?hd=1&lt;/a&gt; and re-read.&lt;/p&gt;
&lt;p&gt;I get this feeling everytime I ski, whether on my own or with my family, it&amp;rsquo;s why I love doing it.&lt;/p&gt;
&lt;p&gt;Thanks for reading via RSS!&lt;/p&gt;
&lt;p&gt;Send me a message on &lt;a href="https://remotelab.uk/mikebell"&gt;Mastodon&lt;/a&gt; or &lt;a href="mailto:hello@mikebell.io"&gt;email me&lt;/a&gt;&lt;/p&gt;</description></item><item><title>Kickstarting a Drupal Module</title><link>https://mikebell.io/posts/kickstarting-a-drupal-module/</link><pubDate>Sat, 12 Feb 2011 00:00:00 +0000</pubDate><author>hello@mikebell.io (Mike Bell)</author><guid>https://mikebell.io/posts/kickstarting-a-drupal-module/</guid><description>
&lt;p&gt;Here&amp;rsquo;s a novel idea, why not use &lt;a href="https://www.kickstarter.com/" target="_blank" rel="noreferrer"&gt;Kickstarter.com&lt;/a&gt; to fund module development?&lt;/p&gt;
&lt;p&gt;For example (because we can never have to many!) a new Image Slideshow module. The base price would be say $1000 to kick start the development process.&lt;/p&gt;
&lt;p&gt;Kickstarter allows you to have up to 3 rewards (I think it&amp;rsquo;s 3) you could use this to tie in potential users and customers. Here&amp;rsquo;s an example scenario:&lt;/p&gt;
&lt;p&gt;Reward 1 - (Quantity 4) - $25 - You get 1 feature of your choice added&lt;/p&gt;
&lt;p&gt;Reward 2 - (Quantity 4) - $50 - You get the module installed and implemented on your site&lt;/p&gt;
&lt;p&gt;Reward 3 - (Quantity 5) - $100 - You get my first born and implemenation plus 2 hours support.&lt;/p&gt;
&lt;p&gt;Assuming you get enough committers thats almost all $800 is covered by *potential* customers. Not a bad idea huh?&lt;/p&gt;
&lt;p&gt;The reason I like Kickstarter - &lt;a href="https://www.kickstarter.com/projects/923846239/rosetta-junius-split-record" target="_blank" rel="noreferrer"&gt;https://www.kickstarter.com/projects/923846239/rosetta-junius-split-record&lt;/a&gt; - Commitment complete within 3 hours of it going live and way more commited since, also they are a damn good band (shame about the UK tour though).&lt;/p&gt;
&lt;p&gt;Thanks for reading via RSS!&lt;/p&gt;
&lt;p&gt;Send me a message on &lt;a href="https://remotelab.uk/mikebell"&gt;Mastodon&lt;/a&gt; or &lt;a href="mailto:hello@mikebell.io"&gt;email me&lt;/a&gt;&lt;/p&gt;</description></item><item><title>Retiring the drupal.org forum.</title><link>https://mikebell.io/posts/retiring-the-drupal-org-forum/</link><pubDate>Sun, 06 Feb 2011 00:00:00 +0000</pubDate><author>hello@mikebell.io (Mike Bell)</author><guid>https://mikebell.io/posts/retiring-the-drupal-org-forum/</guid><description>
&lt;p&gt;&lt;strong&gt;Note&lt;/strong&gt;: Due to popular demand I&amp;rsquo;m publishing this early, there will be future revisions.&lt;/p&gt;
&lt;p&gt;There&amp;rsquo;s a post on the drupal.org mailing list which caught my attention - &lt;a href="http://bit.ly/g56sOj" target="_blank" rel="noreferrer"&gt;http://bit.ly/g56sOj&lt;/a&gt;&lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;There has been some chatter on Twitter concerning the future of the
forums on drupal.org.&lt;/p&gt;
&lt;p&gt;I don&amp;rsquo;t want to relight any code wars on keeping it in house or using
external solutions but&amp;hellip;&amp;hellip;&lt;/p&gt;
&lt;p&gt;Here is a well supported stackexchange proposal to provide Drupal
answers. I think this would be an ideal replacement for the Drupal.org
forums.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://area51.stackexchange.com/proposals/2978/drupal-answers" target="_blank" rel="noreferrer"&gt;http://area51.stackexchange.com/proposals/2978/drupal-answers&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Please offer your support and commitment to the stackexchange site so
we can help new users more efficiently.&lt;/p&gt;
&lt;p&gt;Any opinions?&lt;/p&gt;
&lt;p&gt;Stewart Robinson
@stewsnooze&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h2 class="relative group"&gt;The problem.
&lt;div id="the-problem" class="anchor"&gt;&lt;/div&gt;
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
&lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#the-problem" aria-label="Anchor"&gt;#&lt;/a&gt;
&lt;/span&gt;
&lt;/h2&gt;
&lt;p&gt;Things get lost in the mad rush of Post Intsallation, get lost to the depths of emptiness in Module Development and spammed in Services. Retiring the drupal.org forums isn&amp;rsquo;t as bad as it actually sounds. From my personal experience the quality just isn&amp;rsquo;t there. It&amp;rsquo;s very easy for your problem to get brushed under the rug, which isn&amp;rsquo;t ideal when often enough you require answers quick. Now that&amp;rsquo;s not a dig at people providing support on the forums or me demanding for support but it&amp;rsquo;s just the way things are, sometime you are just desperate.&lt;/p&gt;
&lt;h2 class="relative group"&gt;Quick test.
&lt;div id="quick-test" class="anchor"&gt;&lt;/div&gt;
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
&lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#quick-test" aria-label="Anchor"&gt;#&lt;/a&gt;
&lt;/span&gt;
&lt;/h2&gt;
&lt;p&gt;So to make sure this blog post isn&amp;rsquo;t a wild stab in the dark I decided to run a quick test. Disclaimer time, this is one test! And by no means is it perfect. I tried my best to find a question that wasn&amp;rsquo;t too noobish or too difficult, something that the average developer will come up against at some point in their career. It&amp;rsquo;s also a question that can be answered by both developers and themers, think of it as a kind of shotgun question. So here it is:&lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;I&amp;rsquo;m trying to add css and js to a view via a preprocess in my template.php.&lt;/p&gt;
&lt;p&gt;I&amp;rsquo;ve created themename_preprocess_views_view_my_view_name($vars) and added in my drupal_add_js/css but its not working. The view loads fine but the added css and js are not outputted. My drupal_add_js syntax is correct because I&amp;rsquo;ve tested it in a hook_nodeapi in a custom module. The documentation is really unclear as to how to use the function with views.&lt;/p&gt;
&lt;p&gt;Any help would be greatly appreciated.&lt;/p&gt;
&lt;/blockquote&gt;&lt;p&gt;It&amp;rsquo;s not pretty or well written but it gets the point accross. I posted this to both d.o post installation forums (&lt;a href="http://bit.ly/h9beIw" target="_blank" rel="noreferrer"&gt;http://bit.ly/h9beIw&lt;/a&gt;) and stackoverflow (&lt;a href="http://bit.ly/g61Lzv" target="_blank" rel="noreferrer"&gt;http://bit.ly/g61Lzv&lt;/a&gt;). I set myself the following rules:&lt;/p&gt;
&lt;p&gt;1. No replys - This is to ensure I don&amp;rsquo;t bias either question by giving too much information away.
2. The test will run for 24 hours (due to tardiness this is way over now).
3. No bumps - Only really applys to d.o as SE has strict policies against this.&lt;/p&gt;
&lt;h2 class="relative group"&gt;The results.
&lt;div id="the-results" class="anchor"&gt;&lt;/div&gt;
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
&lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#the-results" aria-label="Anchor"&gt;#&lt;/a&gt;
&lt;/span&gt;
&lt;/h2&gt;
&lt;p&gt;It came as no surprise to me that some 6 days later there are still no replies to my d.o post however within 34 minutes I had one reply on SE and within another 10 hours a second. Without jumping the gun this is only one test but I feel that if I repeated it 5/10/15 times I&amp;rsquo;d get the same results (maybe someone else wants to have a go?).&lt;/p&gt;
&lt;h2 class="relative group"&gt;A solution.
&lt;div id="a-solution" class="anchor"&gt;&lt;/div&gt;
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
&lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#a-solution" aria-label="Anchor"&gt;#&lt;/a&gt;
&lt;/span&gt;
&lt;/h2&gt;
&lt;p&gt;I&amp;rsquo;m a huge believer in the work that Stack Exchange/Overflow (SE) team do. It&amp;rsquo;s a great collection of sites that can be used to ask questions and get accurate answers from. As a drupal developer and user the drupal.org (d.o) forums are a fustrating place. This is why I agree with Stewart Robinson (a great bloke by the way). A drupal dedicated SE site would benefit the community in a huge way. Not only does it contain so many great tools (too many to list here) but it has the added benefit of the potential to bring in people from other areas such as (shock horror) Wordpress/Joomla to give an outsiders view on Drupal (something which even Rasmus Lerdorf said in Copenhagen).&lt;/p&gt;
&lt;h2 class="relative group"&gt;Google did it.
&lt;div id="google-did-it" class="anchor"&gt;&lt;/div&gt;
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
&lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#google-did-it" aria-label="Anchor"&gt;#&lt;/a&gt;
&lt;/span&gt;
&lt;/h2&gt;
&lt;p&gt;It&amp;rsquo;s true! They really did (&lt;a href="http://developer.android.com/resources/community-groups.html" target="_blank" rel="noreferrer"&gt;http://developer.android.com/resources/community-groups.html&lt;/a&gt;). Android developers are encouraged to use the Android tag on SO to ask questions about the platform and developement. If my quick sql query is correct (yes SE allows you to query their databases directly! &lt;a href="http://data.stackexchange.com/stackoverflow/query/new" target="_blank" rel="noreferrer"&gt;http://data.stackexchange.com/stackoverflow/query/new&lt;/a&gt;) then there are currently ~34000 questions, which is a huge amount.&lt;/p&gt;
&lt;h2 class="relative group"&gt;Conclusion.
&lt;div id="conclusion" class="anchor"&gt;&lt;/div&gt;
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
&lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#conclusion" aria-label="Anchor"&gt;#&lt;/a&gt;
&lt;/span&gt;
&lt;/h2&gt;
&lt;p&gt;So why not give it a go? Even if the d.o forums aren&amp;rsquo;t retired at least the Drupal Answer SE site would provide an alternative. I see no reason not go ahead with it. To help move this along commit at: &lt;a href="http://area51.stackexchange.com/proposals/2978/drupal-answers" target="_blank" rel="noreferrer"&gt;http://area51.stackexchange.com/proposals/2978/drupal-answers&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Thanks for reading via RSS!&lt;/p&gt;
&lt;p&gt;Send me a message on &lt;a href="https://remotelab.uk/mikebell"&gt;Mastodon&lt;/a&gt; or &lt;a href="mailto:hello@mikebell.io"&gt;email me&lt;/a&gt;&lt;/p&gt;</description></item><item><title>Lazy Mans Guide to Aeropress Brewing</title><link>https://mikebell.io/posts/lazy-mans-guide-to-aeropress-brewing/</link><pubDate>Mon, 17 Jan 2011 00:00:00 +0000</pubDate><author>hello@mikebell.io (Mike Bell)</author><guid>https://mikebell.io/posts/lazy-mans-guide-to-aeropress-brewing/</guid><description>
&lt;p&gt;For well over a year now I&amp;rsquo;ve been using an Aeropress. I started with a crappy espresso machine, then moved on to cafetiere, still dabble with filters (Chemex is on my list of things to buy) but the one piece of equipment I&amp;rsquo;ve stuck with has been my Aeropress.&lt;/p&gt;
&lt;p&gt;Much to the cringe of many people I can&amp;rsquo;t actually brew well with the Aeropress. Every single brew is different, I&amp;rsquo;m currently drinking what&amp;rsquo;s quite possibly the worst cup of coffee I&amp;rsquo;ve made from it in a long while. This is because I purposely brew different, I like to experiment with it. I spent a good 8 months brewing top down (coffee grounds in, water on top, no flip), this method was ok but not great. After watching a few videos I moved over to the flip side (quite literally) something which has improved the brew a lot. The flip side method is an odd one, I was nervous when I first tried it, I mean hot water flying everywhere is not my idea of a great time. I&amp;rsquo;ve only ever had it gone wrong once and that was down to a miss shaped filter paper which resulted in a coffee cup full of grounds.&lt;/p&gt;
&lt;p&gt;My current cup of coffee is bad, it&amp;rsquo;s bad for a number of reasons, poor quality coffee, water too hot and finally I usually never plunge all the way but did this time. I&amp;rsquo;ll still drink it because it&amp;rsquo;s a new flavour for me, something I can remember and build on.&lt;/p&gt;
&lt;p&gt;Thanks for reading via RSS!&lt;/p&gt;
&lt;p&gt;Send me a message on &lt;a href="https://remotelab.uk/mikebell"&gt;Mastodon&lt;/a&gt; or &lt;a href="mailto:hello@mikebell.io"&gt;email me&lt;/a&gt;&lt;/p&gt;</description></item><item><title>Module Goto</title><link>https://mikebell.io/posts/module-goto/</link><pubDate>Sat, 06 Nov 2010 00:00:00 +0000</pubDate><author>hello@mikebell.io (Mike Bell)</author><guid>https://mikebell.io/posts/module-goto/</guid><description>
&lt;p&gt;Module Goto is a small module that extends the great Root Candy theme for Drupal, it provides simple menu that appears on the right hand side of the module page which allows you to click and navigate between the different field sets. This is immensely helpful when you have hundreds of modules available in a multisite configuration.&lt;/p&gt;
&lt;p&gt;The process is pretty simple, it loops through all the fieldsets on the module list page and creates links to them, it uses the jQuery plugin scrollTo to do the physical movement.&lt;/p&gt;
&lt;p&gt;I&amp;rsquo;ve uploaded the project to github and can be found at: &lt;a href="https://github.com/mikebell/modulegoto" target="_blank" rel="noreferrer"&gt;https://github.com/mikebell/modulegoto&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Feel free to fork and play around with it, all I ask is that you commit back any helpful changes. I&amp;rsquo;m looking at adding in other theme support soon and moving some of the javascript work into php.&lt;/p&gt;
&lt;p&gt;Enjoy&lt;/p&gt;
&lt;p&gt;Thanks for reading via RSS!&lt;/p&gt;
&lt;p&gt;Send me a message on &lt;a href="https://remotelab.uk/mikebell"&gt;Mastodon&lt;/a&gt; or &lt;a href="mailto:hello@mikebell.io"&gt;email me&lt;/a&gt;&lt;/p&gt;</description></item><item><title>MI1 Dynamic Admin Menu</title><link>https://mikebell.io/posts/mi1-dynamic-admin-menu/</link><pubDate>Thu, 21 Oct 2010 00:00:00 +0000</pubDate><author>hello@mikebell.io (Mike Bell)</author><guid>https://mikebell.io/posts/mi1-dynamic-admin-menu/</guid><description>
&lt;p&gt;Record the most used admin menu items and create a menu containing those links. Possibly tie in with Root Candys drop down bar or custom menu support.&lt;/p&gt;
&lt;p&gt;The idea behind these MI* (Module Idea) posts is for me to quickly post ideas that I have in the hope that I&amp;rsquo;ll either write the module or someone else will have a go.&lt;/p&gt;
&lt;p&gt;Thanks for reading via RSS!&lt;/p&gt;
&lt;p&gt;Send me a message on &lt;a href="https://remotelab.uk/mikebell"&gt;Mastodon&lt;/a&gt; or &lt;a href="mailto:hello@mikebell.io"&gt;email me&lt;/a&gt;&lt;/p&gt;</description></item><item><title>Panic Coding</title><link>https://mikebell.io/posts/panic-coding/</link><pubDate>Thu, 30 Sep 2010 00:00:00 +0000</pubDate><author>hello@mikebell.io (Mike Bell)</author><guid>https://mikebell.io/posts/panic-coding/</guid><description>
&lt;p&gt;What started out as an amusing joke at work one day has turned into quite an interesting concept. After mentioning it to my colleagues and developer friends on IRC this seemed to snowball into some kind of monster.&lt;/p&gt;
&lt;p&gt;This is Panic Coding.&lt;/p&gt;
&lt;p&gt;This idea is simple, you have a development environment with your current project, nothing else, the bare minimum to work on that project/issue. You then have an hour to fix it. At the end of this hour your development environment is wiped clean. If you&amp;rsquo;ve not completed it then tough luck.&lt;/p&gt;
&lt;p&gt;So how does this work then, the main principle behind the idea is KISS (Keep It Simple Stupid). If you can&amp;rsquo;t accomplish the whole or part (OO anyone?) within the hour then something isn&amp;rsquo;t right.&lt;/p&gt;
&lt;p&gt;&amp;ldquo;But what if your project/issue takes longer than an hour?&amp;rdquo; - &lt;strong&gt;great&lt;/strong&gt; question! You can attack this from a few different points.&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Can the problem be broken down? If so why don&amp;rsquo;t two/three/four developers tackle it?&lt;/li&gt;
&lt;li&gt;Are you sure you&amp;rsquo;ve gone about things the right way? Is the code horrible? Does it make you cringe? The hour limit means that you really have to think about what your doing.&lt;/li&gt;
&lt;li&gt;You&amp;rsquo;ll simply have to remember the code. Hopefully you should know it already but sometimes google/stackoverflow just gives you the perfect solution, having to remember it will hopefully force you to think about it more. You never know you might learn something.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&amp;ldquo;What a waste of time!&amp;rdquo; - uhuh, &amp;ldquo;Why spend a few hours fixing something when you can put a fix out in two minutes?&amp;rdquo; - Fair point, if I solve the problem and then it causes another problem I&amp;rsquo;ll be more than happy to bill you for additional time fixing the fix. I can&amp;rsquo;t count the amount of times I&amp;rsquo;ve had to fix other peoples &amp;ldquo;fixes&amp;rdquo;.&lt;/p&gt;
&lt;p&gt;I&amp;rsquo;m sure there are many more questions and by no means is this a tried and tested method, at the end of the day it&amp;rsquo;s a stupid idea that *&lt;strong&gt;just&lt;/strong&gt;* might work.&lt;/p&gt;
&lt;p&gt;Thanks for reading via RSS!&lt;/p&gt;
&lt;p&gt;Send me a message on &lt;a href="https://remotelab.uk/mikebell"&gt;Mastodon&lt;/a&gt; or &lt;a href="mailto:hello@mikebell.io"&gt;email me&lt;/a&gt;&lt;/p&gt;</description></item><item><title>Drupalcon Copenhagen 2010 Swag!</title><link>https://mikebell.io/posts/drupalcon-copenhagen-2010-swag/</link><pubDate>Sat, 04 Sep 2010 00:00:00 +0000</pubDate><author>hello@mikebell.io (Mike Bell)</author><guid>https://mikebell.io/posts/drupalcon-copenhagen-2010-swag/</guid><description>
&lt;p&gt;I think the dust has settled form Drupalcon CPH, at least my hangover is now well and truly gone (although probably never forgotten, damned Awesomesauce!)&lt;/p&gt;
&lt;p&gt;Overall it was a great experience got to meet lots of really cool people both from the drupal community and form #drupaluk. I&amp;rsquo;ve seen quite a few blog posts rounding up Drupalcon so figured I might as well write my own but rather than comment on the rather stupid &amp;hellip; wait for it &amp;hellip;. here it comes &amp;hellip; queue the DUM DUM DUUUUUUU Sex Scandal I figured I&amp;rsquo;d talk about the swag.&lt;/p&gt;
&lt;p&gt;This was my first outing to a major conference so I have no other benchmarks but I don&amp;rsquo;t think I did too badly:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Bucket load of stickers! Probably around 30-40, my favorite being the Kitten Killers.&lt;/li&gt;
&lt;li&gt;Open Publishing T-Shirt, not bad quality, the design is ok as well.&lt;/li&gt;
&lt;li&gt;Rack Hosting T-Shirt, same as above really, not sure about the design though, perfect painting tee.&lt;/li&gt;
&lt;li&gt;VPS.NET stress robot, copy much???&lt;/li&gt;
&lt;li&gt;Drupal Gardens grow-your-own thingy, I&amp;rsquo;ve given this to my mum as pretty much every attempt I&amp;rsquo;ve ever made at growing something has ended in disaster.&lt;/li&gt;
&lt;li&gt;Random notebook, nope not the electronic kind the paper kind. This is the 21st Century people.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;And last but not least probably the best swag I think you could ever get was a VPS. Yes a whole VPS. No strings attached just a free VPS for a year. I was a bit wary about it at first but it seems legit, full root, 512mb of RAM, 10gb HDD, 100gb BW.&lt;/p&gt;
&lt;p&gt;I&amp;rsquo;m still deciding on what to do with mine, so far I&amp;rsquo;ve attempted the Omega8cc aegir/nginx install but not had much luck with that. Will probably end up putting regular aegir on and then installing pirc and znc.&lt;/p&gt;
&lt;p&gt;So that&amp;rsquo;s about it really, good times had by all plenty of learning was done, plenty of drinking too.&lt;/p&gt;
&lt;p&gt;Thanks for reading via RSS!&lt;/p&gt;
&lt;p&gt;Send me a message on &lt;a href="https://remotelab.uk/mikebell"&gt;Mastodon&lt;/a&gt; or &lt;a href="mailto:hello@mikebell.io"&gt;email me&lt;/a&gt;&lt;/p&gt;</description></item><item><title>Scrobbling from iPod classic using Foobar</title><link>https://mikebell.io/posts/scrobbling-from-ipod-classic-using-foobar/</link><pubDate>Sat, 12 Jun 2010 00:00:00 +0000</pubDate><author>hello@mikebell.io (Mike Bell)</author><guid>https://mikebell.io/posts/scrobbling-from-ipod-classic-using-foobar/</guid><description>
&lt;p&gt;I figured I&amp;rsquo;d write this as a reference for an IRC channel I op as quit a few people wonder how to Scrobble from an iPod Classic.&lt;/p&gt;
&lt;p&gt;You need a few things:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Foobar&lt;/li&gt;
&lt;li&gt;foo_dop.dll - &lt;a href="http://bit.ly/dBI3Cm" target="_blank" rel="noreferrer"&gt;http://bit.ly/dBI3Cm&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;foo_audioscrobbler - &lt;a href="http://bit.ly/cRBrGj" target="_blank" rel="noreferrer"&gt;http://bit.ly/cRBrGj&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Place both dlls in your components folder and then restart foobar.&lt;/p&gt;
&lt;p&gt;In File &amp;gt; Preferences select Audioscrobbler and fill out your username and password, the click &amp;ldquo;Import played tracks from portable devices&amp;rdquo;. You should then be able to sync your iPod by going to File &amp;gt; iPod and clicking synchronise. You don&amp;rsquo;t have to fully synchronise it though check out View &amp;gt; Console to see if there are any problems or how many tracks you&amp;rsquo;ve scrobbled.&lt;/p&gt;
&lt;p&gt;And that&amp;rsquo;s it, enjoy!&lt;/p&gt;
&lt;p&gt;Thanks for reading via RSS!&lt;/p&gt;
&lt;p&gt;Send me a message on &lt;a href="https://remotelab.uk/mikebell"&gt;Mastodon&lt;/a&gt; or &lt;a href="mailto:hello@mikebell.io"&gt;email me&lt;/a&gt;&lt;/p&gt;</description></item><item><title>My long lasting trials with Linux</title><link>https://mikebell.io/posts/my-long-lasting-trials-with-linux/</link><pubDate>Thu, 27 May 2010 00:00:00 +0000</pubDate><author>hello@mikebell.io (Mike Bell)</author><guid>https://mikebell.io/posts/my-long-lasting-trials-with-linux/</guid><description>
&lt;p&gt;Another year, another release of Ubuntu.&lt;/p&gt;
&lt;p&gt;Ubuntu has been my choice of frustration ever since version 5 I think, it&amp;rsquo;s been that long ago I can&amp;rsquo;t remember.&lt;/p&gt;
&lt;p&gt;Every year I&amp;rsquo;ve said myself that I&amp;rsquo;ll ditch windows and move to linux. Below is a rough timeline of every single fail I&amp;rsquo;ve had with linux.&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Ubuntu 5 - Wifi card plainly refused to work, my knowledge of linux was low so I gave up after a few hours.&lt;/li&gt;
&lt;li&gt;Ubuntu 6 - Wifi card refused to work, spent 2 days trying to get it to work. Graphics card was buggy.&lt;/li&gt;
&lt;li&gt;Ubuntu 7 - Wifi card worked with 7.04 upgrade to 7.10 broke it and refused to work again, spent another 2 days trying to sort it all out. I think this was around the time the first set of unofficial nvidia card drivers came out (envy?) which was amazing, a graphics card that actually worked.&lt;/li&gt;
&lt;li&gt;Ubuntu 8 - Wifi no longer works, I didn&amp;rsquo;t even try to bug fix, another year another fail.&lt;/li&gt;
&lt;li&gt;Ubuntu 9 - Wifi works!!!!!!! Can you believe it it actually works and out of the box too! Switched to ATI graphics card, never did figure out why it didn&amp;rsquo;t work properly.&lt;/li&gt;
&lt;li&gt;Ubuntu 10 - No longer need wifi, ATI cards works great apart from a few hiccups with dual screen which were resolved by some tinkering. Sound card doesn&amp;rsquo;t work. Not giving up yet though.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;So there you go, it&amp;rsquo;s not that I haven&amp;rsquo;t tried and my knowledge in linux has vastly improved over the years. It appears I&amp;rsquo;m cursed.&lt;/p&gt;
&lt;p&gt;Thanks for reading via RSS!&lt;/p&gt;
&lt;p&gt;Send me a message on &lt;a href="https://remotelab.uk/mikebell"&gt;Mastodon&lt;/a&gt; or &lt;a href="mailto:hello@mikebell.io"&gt;email me&lt;/a&gt;&lt;/p&gt;</description></item><item><title>A-Z Module Page</title><link>https://mikebell.io/posts/a-z-module-page/</link><pubDate>Thu, 15 Apr 2010 00:00:00 +0000</pubDate><author>hello@mikebell.io (Mike Bell)</author><guid>https://mikebell.io/posts/a-z-module-page/</guid><description>
&lt;p&gt;So I had an interesting idea while scrolling through the hundreds of modules on our dev site at work. Why not have an A to Z listing on the top of the page which then links to the corresponding section this would would make it a lot easier than scrolling and using find (think of all the dependencies).&lt;/p&gt;
&lt;p&gt;I&amp;rsquo;ll have a go at making it this weekend for D6 then see what it&amp;rsquo;s like porting it to D7. I&amp;rsquo;ll also submit to drupal.org it might finally get me a CVS account :)&lt;/p&gt;
&lt;p&gt;On that note I finally installed D7 today, I&amp;rsquo;m not sold on it just yet, the overlays don&amp;rsquo;t really add anything to the user experience. I much prefer it when it goes off to a separate page. I guess Drupal is trying to get into the whole Web 2.0 (is it 3.0 yet?) but I say leave it for the front end and don&amp;rsquo;t mess with the back end.&lt;/p&gt;
&lt;p&gt;Thanks for reading via RSS!&lt;/p&gt;
&lt;p&gt;Send me a message on &lt;a href="https://remotelab.uk/mikebell"&gt;Mastodon&lt;/a&gt; or &lt;a href="mailto:hello@mikebell.io"&gt;email me&lt;/a&gt;&lt;/p&gt;</description></item><item><title>IMDB Top 250</title><link>https://mikebell.io/posts/imdb-top-250/</link><pubDate>Thu, 15 Apr 2010 00:00:00 +0000</pubDate><author>hello@mikebell.io (Mike Bell)</author><guid>https://mikebell.io/posts/imdb-top-250/</guid><description>
&lt;p&gt;A blog post in which I attempt to watch all top 250 movies as rated on IMDB. (Bold I've seen)&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;Rank&amp;nbsp;&amp;nbsp; &amp;nbsp;Rating&amp;nbsp;&amp;nbsp; &amp;nbsp;Title&amp;nbsp;&amp;nbsp; &amp;nbsp;Votes&lt;br /&gt;&lt;strong&gt;1.&amp;nbsp;&amp;nbsp; &amp;nbsp;9.1&amp;nbsp;&amp;nbsp; &amp;nbsp;The Shawshank Redemption (1994)&amp;nbsp;&amp;nbsp; &amp;nbsp;482,565&lt;/strong&gt;&lt;br /&gt;2.&amp;nbsp;&amp;nbsp; &amp;nbsp;9.1&amp;nbsp;&amp;nbsp; &amp;nbsp;The Godfather (1972)&amp;nbsp;&amp;nbsp; &amp;nbsp;388,188&lt;br /&gt;3.&amp;nbsp;&amp;nbsp; &amp;nbsp;9.0&amp;nbsp;&amp;nbsp; &amp;nbsp;The Godfather: Part II (1974)&amp;nbsp;&amp;nbsp; &amp;nbsp;229,396&lt;br /&gt;4.&amp;nbsp;&amp;nbsp; &amp;nbsp;8.9&amp;nbsp;&amp;nbsp; &amp;nbsp;Il buono, il brutto, il cattivo. (1966)&amp;nbsp;&amp;nbsp; &amp;nbsp;146,638&lt;br /&gt;&lt;strong&gt;5.&amp;nbsp;&amp;nbsp; &amp;nbsp;8.9&amp;nbsp;&amp;nbsp; &amp;nbsp;Pulp Fiction (1994)&amp;nbsp;&amp;nbsp; &amp;nbsp;391,958&lt;/strong&gt;&lt;br /&gt;&lt;strong&gt;6.&amp;nbsp;&amp;nbsp; &amp;nbsp;8.8&amp;nbsp;&amp;nbsp; &amp;nbsp;Schindler's List (1993)&amp;nbsp;&amp;nbsp; &amp;nbsp;259,430&lt;/strong&gt;&lt;br /&gt;7.&amp;nbsp;&amp;nbsp; &amp;nbsp;8.8&amp;nbsp;&amp;nbsp; &amp;nbsp;12 Angry Men (1957)&amp;nbsp;&amp;nbsp; &amp;nbsp;107,791&lt;br /&gt;8.&amp;nbsp;&amp;nbsp; &amp;nbsp;8.8&amp;nbsp;&amp;nbsp; &amp;nbsp;One Flew Over the Cuckoo's Nest (1975)&amp;nbsp;&amp;nbsp; &amp;nbsp;200,101&lt;br /&gt;&lt;strong&gt;9.&amp;nbsp;&amp;nbsp; &amp;nbsp;8.8&amp;nbsp;&amp;nbsp; &amp;nbsp;Star Wars: Episode V - The Empire Strikes Back (1980)&amp;nbsp;&amp;nbsp; &amp;nbsp;262,930&lt;br /&gt;10.&amp;nbsp;&amp;nbsp; &amp;nbsp;8.8&amp;nbsp;&amp;nbsp; &amp;nbsp;The Dark Knight (2008)&amp;nbsp;&amp;nbsp; &amp;nbsp;430,425&lt;br /&gt;11.&amp;nbsp;&amp;nbsp; &amp;nbsp;8.8&amp;nbsp;&amp;nbsp; &amp;nbsp;The Lord of the Rings: The Return of the King (2003)&amp;nbsp;&amp;nbsp; &amp;nbsp;342,994&lt;/strong&gt;&lt;br /&gt;&lt;strong&gt;12.&amp;nbsp;&amp;nbsp; &amp;nbsp;8.8&amp;nbsp;&amp;nbsp; &amp;nbsp;Star Wars (1977)&amp;nbsp;&amp;nbsp; &amp;nbsp;306,592&lt;/strong&gt;&lt;br /&gt;13.&amp;nbsp;&amp;nbsp; &amp;nbsp;8.7&amp;nbsp;&amp;nbsp; &amp;nbsp;Casablanca (1942)&amp;nbsp;&amp;nbsp; &amp;nbsp;159,663&lt;br /&gt;14.&amp;nbsp;&amp;nbsp; &amp;nbsp;8.7&amp;nbsp;&amp;nbsp; &amp;nbsp;Goodfellas (1990)&amp;nbsp;&amp;nbsp; &amp;nbsp;214,961&lt;br /&gt;15.&amp;nbsp;&amp;nbsp; &amp;nbsp;8.7&amp;nbsp;&amp;nbsp; &amp;nbsp;Shichinin no samurai (1954)&amp;nbsp;&amp;nbsp; &amp;nbsp;91,135&lt;br /&gt;&lt;strong&gt;16.&amp;nbsp;&amp;nbsp; &amp;nbsp;8.7&amp;nbsp;&amp;nbsp; &amp;nbsp;Fight Club (1999)&amp;nbsp;&amp;nbsp; &amp;nbsp;357,160&lt;br /&gt;17.&amp;nbsp;&amp;nbsp; &amp;nbsp;8.7&amp;nbsp;&amp;nbsp; &amp;nbsp;Cidade de Deus (2002)&amp;nbsp;&amp;nbsp; &amp;nbsp;154,690&lt;br /&gt;18.&amp;nbsp;&amp;nbsp; &amp;nbsp;8.7&amp;nbsp;&amp;nbsp; &amp;nbsp;The Lord of the Rings: The Fellowship of the Ring (2001)&amp;nbsp;&amp;nbsp; &amp;nbsp;367,623&lt;/strong&gt;&lt;br /&gt;&lt;strong&gt;19.&amp;nbsp;&amp;nbsp; &amp;nbsp;8.7&amp;nbsp;&amp;nbsp; &amp;nbsp;Raiders of the Lost Ark (1981)&amp;nbsp;&amp;nbsp; &amp;nbsp;231,352&lt;/strong&gt;&lt;br /&gt;20.&amp;nbsp;&amp;nbsp; &amp;nbsp;8.7&amp;nbsp;&amp;nbsp; &amp;nbsp;Rear Window (1954)&amp;nbsp;&amp;nbsp; &amp;nbsp;111,978&lt;br /&gt;&lt;strong&gt;21.&amp;nbsp;&amp;nbsp; &amp;nbsp;8.7&amp;nbsp;&amp;nbsp; &amp;nbsp;The Usual Suspects (1995)&amp;nbsp;&amp;nbsp; &amp;nbsp;253,088&lt;/strong&gt;&lt;br /&gt;22.&amp;nbsp;&amp;nbsp; &amp;nbsp;8.7&amp;nbsp;&amp;nbsp; &amp;nbsp;Psycho (1960)&amp;nbsp;&amp;nbsp; &amp;nbsp;134,811&lt;br /&gt;23.&amp;nbsp;&amp;nbsp; &amp;nbsp;8.7&amp;nbsp;&amp;nbsp; &amp;nbsp;C'era una volta il West (1968)&amp;nbsp;&amp;nbsp; &amp;nbsp;68,541&lt;br /&gt;24.&amp;nbsp;&amp;nbsp; &amp;nbsp;8.6&amp;nbsp;&amp;nbsp; &amp;nbsp;The Silence of the Lambs (1991)&amp;nbsp;&amp;nbsp; &amp;nbsp;230,645&lt;br /&gt;&lt;strong&gt;25.&amp;nbsp;&amp;nbsp; &amp;nbsp;8.6&amp;nbsp;&amp;nbsp; &amp;nbsp;The Matrix (1999)&amp;nbsp;&amp;nbsp; &amp;nbsp;359,181&lt;br /&gt;26.&amp;nbsp;&amp;nbsp; &amp;nbsp;8.6&amp;nbsp;&amp;nbsp; &amp;nbsp;Se7en (1995)&amp;nbsp;&amp;nbsp; &amp;nbsp;260,363&lt;br /&gt;27.&amp;nbsp;&amp;nbsp; &amp;nbsp;8.6&amp;nbsp;&amp;nbsp; &amp;nbsp;Memento (2000)&amp;nbsp;&amp;nbsp; &amp;nbsp;254,185&lt;/strong&gt;&lt;br /&gt;28.&amp;nbsp;&amp;nbsp; &amp;nbsp;8.6&amp;nbsp;&amp;nbsp; &amp;nbsp;It's a Wonderful Life (1946)&amp;nbsp;&amp;nbsp; &amp;nbsp;96,806&lt;br /&gt;&lt;strong&gt;29.&amp;nbsp;&amp;nbsp; &amp;nbsp;8.6&amp;nbsp;&amp;nbsp; &amp;nbsp;The Lord of the Rings: The Two Towers (2002)&amp;nbsp;&amp;nbsp; &amp;nbsp;309,298&lt;/strong&gt;&lt;br /&gt;30.&amp;nbsp;&amp;nbsp; &amp;nbsp;8.6&amp;nbsp;&amp;nbsp; &amp;nbsp;Dr. Strangelove or: How I Learned to Stop Worrying and Love the Bomb (1964)&amp;nbsp;&amp;nbsp; &amp;nbsp;149,023&lt;br /&gt;31.&amp;nbsp;&amp;nbsp; &amp;nbsp;8.6&amp;nbsp;&amp;nbsp; &amp;nbsp;Sunset Blvd. (1950)&amp;nbsp;&amp;nbsp; &amp;nbsp;50,988&lt;br /&gt;32.&amp;nbsp;&amp;nbsp; &amp;nbsp;8.6&amp;nbsp;&amp;nbsp; &amp;nbsp;North by Northwest (1959)&amp;nbsp;&amp;nbsp; &amp;nbsp;88,140&lt;br /&gt;33.&amp;nbsp;&amp;nbsp; &amp;nbsp;8.6&amp;nbsp;&amp;nbsp; &amp;nbsp;Citizen Kane (1941)&amp;nbsp;&amp;nbsp; &amp;nbsp;132,328&lt;br /&gt;&lt;strong&gt;34.&amp;nbsp;&amp;nbsp; &amp;nbsp;8.6&amp;nbsp;&amp;nbsp; &amp;nbsp;Léon (1994)&amp;nbsp;&amp;nbsp; &amp;nbsp;186,199&lt;/strong&gt;&lt;br /&gt;35.&amp;nbsp;&amp;nbsp; &amp;nbsp;8.6&amp;nbsp;&amp;nbsp; &amp;nbsp;Apocalypse Now (1979)&amp;nbsp;&amp;nbsp; &amp;nbsp;164,472&lt;strong&gt;&lt;br /&gt;36.&amp;nbsp;&amp;nbsp; &amp;nbsp;8.5&amp;nbsp;&amp;nbsp; &amp;nbsp;American Beauty (1999)&amp;nbsp;&amp;nbsp; &amp;nbsp;277,551&lt;br /&gt;37.&amp;nbsp;&amp;nbsp; &amp;nbsp;8.5&amp;nbsp;&amp;nbsp; &amp;nbsp;Forrest Gump (1994)&amp;nbsp;&amp;nbsp; &amp;nbsp;280,508&lt;br /&gt;38.&amp;nbsp;&amp;nbsp; &amp;nbsp;8.5&amp;nbsp;&amp;nbsp; &amp;nbsp;American History X (1998)&amp;nbsp;&amp;nbsp; &amp;nbsp;209,806&lt;/strong&gt;&lt;br /&gt;39.&amp;nbsp;&amp;nbsp; &amp;nbsp;8.5&amp;nbsp;&amp;nbsp; &amp;nbsp;Taxi Driver (1976)&amp;nbsp;&amp;nbsp; &amp;nbsp;145,865&lt;br /&gt;40.&amp;nbsp;&amp;nbsp; &amp;nbsp;8.5&amp;nbsp;&amp;nbsp; &amp;nbsp;Vertigo (1958)&amp;nbsp;&amp;nbsp; &amp;nbsp;86,382&lt;br /&gt;&lt;strong&gt;41.&amp;nbsp;&amp;nbsp; &amp;nbsp;8.5&amp;nbsp;&amp;nbsp; &amp;nbsp;Terminator 2: Judgment Day (1991)&amp;nbsp;&amp;nbsp; &amp;nbsp;223,134&lt;/strong&gt;&lt;br /&gt;42.&amp;nbsp;&amp;nbsp; &amp;nbsp;8.5&amp;nbsp;&amp;nbsp; &amp;nbsp;Lawrence of Arabia (1962)&amp;nbsp;&amp;nbsp; &amp;nbsp;75,602&lt;br /&gt;&lt;strong&gt;43.&amp;nbsp;&amp;nbsp; &amp;nbsp;8.5&amp;nbsp;&amp;nbsp; &amp;nbsp;Alien (1979)&amp;nbsp;&amp;nbsp; &amp;nbsp;170,115&lt;/strong&gt;&lt;br /&gt;44.&amp;nbsp;&amp;nbsp; &amp;nbsp;8.5&amp;nbsp;&amp;nbsp; &amp;nbsp;Le fabuleux destin d'Amélie Poulain (2001)&amp;nbsp;&amp;nbsp; &amp;nbsp;169,659&lt;br /&gt;&lt;strong&gt;45.&amp;nbsp;&amp;nbsp; &amp;nbsp;8.5&amp;nbsp;&amp;nbsp; &amp;nbsp;WALL&amp;middot;E (2008)&amp;nbsp;&amp;nbsp; &amp;nbsp;165,548&lt;br /&gt;46.&amp;nbsp;&amp;nbsp; &amp;nbsp;8.5&amp;nbsp;&amp;nbsp; &amp;nbsp;Saving Private Ryan (1998)&amp;nbsp;&amp;nbsp; &amp;nbsp;255,907&lt;br /&gt;47.&amp;nbsp;&amp;nbsp; &amp;nbsp;8.5&amp;nbsp;&amp;nbsp; &amp;nbsp;A Clockwork Orange (1971)&amp;nbsp;&amp;nbsp; &amp;nbsp;182,759&lt;/strong&gt;&lt;br /&gt;48.&amp;nbsp;&amp;nbsp; &amp;nbsp;8.5&amp;nbsp;&amp;nbsp; &amp;nbsp;The Shining (1980)&amp;nbsp;&amp;nbsp; &amp;nbsp;166,597&lt;br /&gt;49.&amp;nbsp;&amp;nbsp; &amp;nbsp;8.4&amp;nbsp;&amp;nbsp; &amp;nbsp;Paths of Glory (1957)&amp;nbsp;&amp;nbsp; &amp;nbsp;42,026&lt;br /&gt;&lt;strong&gt;50.&amp;nbsp;&amp;nbsp; &amp;nbsp;8.4&amp;nbsp;&amp;nbsp; &amp;nbsp;The Departed (2006)&amp;nbsp;&amp;nbsp; &amp;nbsp;245,289&lt;/strong&gt;&lt;br /&gt;51.&amp;nbsp;&amp;nbsp; &amp;nbsp;8.4&amp;nbsp;&amp;nbsp; &amp;nbsp;The Pianist (2002)&amp;nbsp;&amp;nbsp; &amp;nbsp;124,624&lt;br /&gt;52.&amp;nbsp;&amp;nbsp; &amp;nbsp;8.4&amp;nbsp;&amp;nbsp; &amp;nbsp;To Kill a Mockingbird (1962)&amp;nbsp;&amp;nbsp; &amp;nbsp;78,433&lt;br /&gt;&lt;strong&gt;53.&amp;nbsp;&amp;nbsp; &amp;nbsp;8.4&amp;nbsp;&amp;nbsp; &amp;nbsp;Aliens (1986)&amp;nbsp;&amp;nbsp; &amp;nbsp;161,438&lt;/strong&gt;&lt;br /&gt;54.&amp;nbsp;&amp;nbsp; &amp;nbsp;8.4&amp;nbsp;&amp;nbsp; &amp;nbsp;Sen to Chihiro no kamikakushi (2001)&amp;nbsp;&amp;nbsp; &amp;nbsp;93,391&lt;br /&gt;55.&amp;nbsp;&amp;nbsp; &amp;nbsp;8.4&amp;nbsp;&amp;nbsp; &amp;nbsp;Das Leben der Anderen (2006)&amp;nbsp;&amp;nbsp; &amp;nbsp;68,474&lt;br /&gt;56.&amp;nbsp;&amp;nbsp; &amp;nbsp;8.4&amp;nbsp;&amp;nbsp; &amp;nbsp;M (1931)&amp;nbsp;&amp;nbsp; &amp;nbsp;37,362&lt;br /&gt;57.&amp;nbsp;&amp;nbsp; &amp;nbsp;8.4&amp;nbsp;&amp;nbsp; &amp;nbsp;Double Indemnity (1944)&amp;nbsp;&amp;nbsp; &amp;nbsp;34,739&lt;br /&gt;&lt;strong&gt;58.&amp;nbsp;&amp;nbsp; &amp;nbsp;8.4&amp;nbsp;&amp;nbsp; &amp;nbsp;Eternal Sunshine of the Spotless Mind (2004)&amp;nbsp;&amp;nbsp; &amp;nbsp;206,375&lt;/strong&gt;&lt;br /&gt;59.&amp;nbsp;&amp;nbsp; &amp;nbsp;8.4&amp;nbsp;&amp;nbsp; &amp;nbsp;Chinatown (1974)&amp;nbsp;&amp;nbsp; &amp;nbsp;74,329&lt;br /&gt;&lt;strong&gt;60.&amp;nbsp;&amp;nbsp; &amp;nbsp;8.4&amp;nbsp;&amp;nbsp; &amp;nbsp;Requiem for a Dream (2000)&amp;nbsp;&amp;nbsp; &amp;nbsp;173,545&lt;/strong&gt;&lt;br /&gt;61.&amp;nbsp;&amp;nbsp; &amp;nbsp;8.4&amp;nbsp;&amp;nbsp; &amp;nbsp;The Third Man (1949)&amp;nbsp;&amp;nbsp; &amp;nbsp;48,357&lt;br /&gt;&lt;strong&gt;62.&amp;nbsp;&amp;nbsp; &amp;nbsp;8.4&amp;nbsp;&amp;nbsp; &amp;nbsp;L.A. Confidential (1997)&amp;nbsp;&amp;nbsp; &amp;nbsp;157,433&lt;br /&gt;63.&amp;nbsp;&amp;nbsp; &amp;nbsp;8.4&amp;nbsp;&amp;nbsp; &amp;nbsp;Reservoir Dogs (1992)&amp;nbsp;&amp;nbsp; &amp;nbsp;200,793&lt;/strong&gt;&lt;br /&gt;64.&amp;nbsp;&amp;nbsp; &amp;nbsp;8.4&amp;nbsp;&amp;nbsp; &amp;nbsp;Das Boot (1981)&amp;nbsp;&amp;nbsp; &amp;nbsp;66,966&lt;br /&gt;65.&amp;nbsp;&amp;nbsp; &amp;nbsp;8.4&amp;nbsp;&amp;nbsp; &amp;nbsp;The Treasure of the Sierra Madre (1948)&amp;nbsp;&amp;nbsp; &amp;nbsp;31,237&lt;br /&gt;&lt;strong&gt;66.&amp;nbsp;&amp;nbsp; &amp;nbsp;8.4&amp;nbsp;&amp;nbsp; &amp;nbsp;Monty Python and the Holy Grail (1975)&amp;nbsp;&amp;nbsp; &amp;nbsp;148,156&lt;/strong&gt;&lt;br /&gt;67.&amp;nbsp;&amp;nbsp; &amp;nbsp;8.4&amp;nbsp;&amp;nbsp; &amp;nbsp;City Lights (1931)&amp;nbsp;&amp;nbsp; &amp;nbsp;25,279&lt;br /&gt;68.&amp;nbsp;&amp;nbsp; &amp;nbsp;8.4&amp;nbsp;&amp;nbsp; &amp;nbsp;El laberinto del fauno (2006)&amp;nbsp;&amp;nbsp; &amp;nbsp;142,085&lt;br /&gt;69.&amp;nbsp;&amp;nbsp; &amp;nbsp;8.4&amp;nbsp;&amp;nbsp; &amp;nbsp;Avatar (2009)&amp;nbsp;&amp;nbsp; &amp;nbsp;212,816&lt;br /&gt;70.&amp;nbsp;&amp;nbsp; &amp;nbsp;8.4&amp;nbsp;&amp;nbsp; &amp;nbsp;The Bridge on the River Kwai (1957)&amp;nbsp;&amp;nbsp; &amp;nbsp;55,849&lt;br /&gt;&lt;strong&gt;71.&amp;nbsp;&amp;nbsp; &amp;nbsp;8.4&amp;nbsp;&amp;nbsp; &amp;nbsp;Inglourious Basterds (2009)&amp;nbsp;&amp;nbsp; &amp;nbsp;148,884&lt;/strong&gt;&lt;br /&gt;72.&amp;nbsp;&amp;nbsp; &amp;nbsp;8.3&amp;nbsp;&amp;nbsp; &amp;nbsp;Raging Bull (1980)&amp;nbsp;&amp;nbsp; &amp;nbsp;84,813&lt;br /&gt;&lt;strong&gt;73.&amp;nbsp;&amp;nbsp; &amp;nbsp;8.3&amp;nbsp;&amp;nbsp; &amp;nbsp;The Prestige (2006)&amp;nbsp;&amp;nbsp; &amp;nbsp;187,571&lt;/strong&gt;&lt;br /&gt;74.&amp;nbsp;&amp;nbsp; &amp;nbsp;8.3&amp;nbsp;&amp;nbsp; &amp;nbsp;Up (2009)&amp;nbsp;&amp;nbsp; &amp;nbsp;89,369&lt;br /&gt;&lt;strong&gt;75.&amp;nbsp;&amp;nbsp; &amp;nbsp;8.3&amp;nbsp;&amp;nbsp; &amp;nbsp;2001: A Space Odyssey (1968)&amp;nbsp;&amp;nbsp; &amp;nbsp;152,191&lt;/strong&gt;&lt;br /&gt;76.&amp;nbsp;&amp;nbsp; &amp;nbsp;8.3&amp;nbsp;&amp;nbsp; &amp;nbsp;Singin' in the Rain (1952)&amp;nbsp;&amp;nbsp; &amp;nbsp;52,368&lt;br /&gt;&lt;strong&gt;77.&amp;nbsp;&amp;nbsp; &amp;nbsp;8.3&amp;nbsp;&amp;nbsp; &amp;nbsp;Back to the Future (1985)&amp;nbsp;&amp;nbsp; &amp;nbsp;188,677&lt;/strong&gt;&lt;br /&gt;78.&amp;nbsp;&amp;nbsp; &amp;nbsp;8.3&amp;nbsp;&amp;nbsp; &amp;nbsp;La vita è bella (1997)&amp;nbsp;&amp;nbsp; &amp;nbsp;101,341&lt;br /&gt;79.&amp;nbsp;&amp;nbsp; &amp;nbsp;8.3&amp;nbsp;&amp;nbsp; &amp;nbsp;Modern Times (1936)&amp;nbsp;&amp;nbsp; &amp;nbsp;33,195&lt;br /&gt;80.&amp;nbsp;&amp;nbsp; &amp;nbsp;8.3&amp;nbsp;&amp;nbsp; &amp;nbsp;Der Untergang (2004)&amp;nbsp;&amp;nbsp; &amp;nbsp;76,748&lt;br /&gt;81.&amp;nbsp;&amp;nbsp; &amp;nbsp;8.3&amp;nbsp;&amp;nbsp; &amp;nbsp;Some Like It Hot (1959)&amp;nbsp;&amp;nbsp; &amp;nbsp;63,430&lt;br /&gt;82.&amp;nbsp;&amp;nbsp; &amp;nbsp;8.3&amp;nbsp;&amp;nbsp; &amp;nbsp;Amadeus (1984)&amp;nbsp;&amp;nbsp; &amp;nbsp;91,676&lt;br /&gt;&lt;strong&gt;83.&amp;nbsp;&amp;nbsp; &amp;nbsp;8.3&amp;nbsp;&amp;nbsp; &amp;nbsp;Full Metal Jacket (1987)&amp;nbsp;&amp;nbsp; &amp;nbsp;142,427&lt;/strong&gt;&lt;br /&gt;84.&amp;nbsp;&amp;nbsp; &amp;nbsp;8.3&amp;nbsp;&amp;nbsp; &amp;nbsp;The Maltese Falcon (1941)&amp;nbsp;&amp;nbsp; &amp;nbsp;48,950&lt;br /&gt;85.&amp;nbsp;&amp;nbsp; &amp;nbsp;8.3&amp;nbsp;&amp;nbsp; &amp;nbsp;Nuovo cinema Paradiso (1988)&amp;nbsp;&amp;nbsp; &amp;nbsp;42,365&lt;br /&gt;86.&amp;nbsp;&amp;nbsp; &amp;nbsp;8.3&amp;nbsp;&amp;nbsp; &amp;nbsp;Braveheart (1995)&amp;nbsp;&amp;nbsp; &amp;nbsp;227,791&lt;br /&gt;&lt;strong&gt;87.&amp;nbsp;&amp;nbsp; &amp;nbsp;8.3&amp;nbsp;&amp;nbsp; &amp;nbsp;Gran Torino (2008)&amp;nbsp;&amp;nbsp; &amp;nbsp;112,326&lt;/strong&gt;&lt;br /&gt;88.&amp;nbsp;&amp;nbsp; &amp;nbsp;8.3&amp;nbsp;&amp;nbsp; &amp;nbsp;Rashômon (1950)&amp;nbsp;&amp;nbsp; &amp;nbsp;36,481&lt;br /&gt;89.&amp;nbsp;&amp;nbsp; &amp;nbsp;8.3&amp;nbsp;&amp;nbsp; &amp;nbsp;Once Upon a Time in America (1984)&amp;nbsp;&amp;nbsp; &amp;nbsp;67,653&lt;br /&gt;90.&amp;nbsp;&amp;nbsp; &amp;nbsp;8.3&amp;nbsp;&amp;nbsp; &amp;nbsp;All About Eve (1950)&amp;nbsp;&amp;nbsp; &amp;nbsp;33,212&lt;br /&gt;&lt;strong&gt;91.&amp;nbsp;&amp;nbsp; &amp;nbsp;8.3&amp;nbsp;&amp;nbsp; &amp;nbsp;The Green Mile (1999)&amp;nbsp;&amp;nbsp; &amp;nbsp;185,467&lt;/strong&gt;&lt;br /&gt;92.&amp;nbsp;&amp;nbsp; &amp;nbsp;8.3&amp;nbsp;&amp;nbsp; &amp;nbsp;Metropolis (1927)&amp;nbsp;&amp;nbsp; &amp;nbsp;36,902&lt;br /&gt;&lt;strong&gt;93.&amp;nbsp;&amp;nbsp; &amp;nbsp;8.3&amp;nbsp;&amp;nbsp; &amp;nbsp;Slumdog Millionaire (2008)&amp;nbsp;&amp;nbsp; &amp;nbsp;160,771&lt;/strong&gt;&lt;br /&gt;94.&amp;nbsp;&amp;nbsp; &amp;nbsp;8.3&amp;nbsp;&amp;nbsp; &amp;nbsp;The Elephant Man (1980)&amp;nbsp;&amp;nbsp; &amp;nbsp;54,498&lt;br /&gt;&lt;strong&gt;95.&amp;nbsp;&amp;nbsp; &amp;nbsp;8.3&amp;nbsp;&amp;nbsp; &amp;nbsp;Sin City (2005)&amp;nbsp;&amp;nbsp; &amp;nbsp;241,339&lt;/strong&gt;&lt;br /&gt;96.&amp;nbsp;&amp;nbsp; &amp;nbsp;8.3&amp;nbsp;&amp;nbsp; &amp;nbsp;The Great Dictator (1940)&amp;nbsp;&amp;nbsp; &amp;nbsp;34,465&lt;br /&gt;97.&amp;nbsp;&amp;nbsp; &amp;nbsp;8.3&amp;nbsp;&amp;nbsp; &amp;nbsp;Rebecca (1940)&amp;nbsp;&amp;nbsp; &amp;nbsp;33,423&lt;br /&gt;98.&amp;nbsp;&amp;nbsp; &amp;nbsp;8.3&amp;nbsp;&amp;nbsp; &amp;nbsp;The Apartment (1960)&amp;nbsp;&amp;nbsp; &amp;nbsp;34,157&lt;br /&gt;99.&amp;nbsp;&amp;nbsp; &amp;nbsp;8.3&amp;nbsp;&amp;nbsp; &amp;nbsp;The Sting (1973)&amp;nbsp;&amp;nbsp; &amp;nbsp;62,179&lt;br /&gt;&lt;strong&gt;100.&amp;nbsp;&amp;nbsp; &amp;nbsp;8.3&amp;nbsp;&amp;nbsp; &amp;nbsp;Gladiator (2000)&amp;nbsp;&amp;nbsp; &amp;nbsp;261,880&lt;/strong&gt;&lt;br /&gt;&lt;strong&gt;101.&amp;nbsp;&amp;nbsp; &amp;nbsp;8.3&amp;nbsp;&amp;nbsp; &amp;nbsp;The Great Escape (1963)&amp;nbsp;&amp;nbsp; &amp;nbsp;58,414&lt;/strong&gt;&lt;br /&gt;&lt;strong&gt;102.&amp;nbsp;&amp;nbsp; &amp;nbsp;8.3&amp;nbsp;&amp;nbsp; &amp;nbsp;Indiana Jones and the Last Crusade (1989)&amp;nbsp;&amp;nbsp; &amp;nbsp;163,080&lt;br /&gt;103.&amp;nbsp;&amp;nbsp; &amp;nbsp;8.3&amp;nbsp;&amp;nbsp; &amp;nbsp;Star Wars: Episode VI - Return of the Jedi (1983)&amp;nbsp;&amp;nbsp; &amp;nbsp;200,622&lt;/strong&gt;&lt;br /&gt;104.&amp;nbsp;&amp;nbsp; &amp;nbsp;8.3&amp;nbsp;&amp;nbsp; &amp;nbsp;Ladri di biciclette (1948)&amp;nbsp;&amp;nbsp; &amp;nbsp;25,373&lt;br /&gt;105.&amp;nbsp;&amp;nbsp; &amp;nbsp;8.3&amp;nbsp;&amp;nbsp; &amp;nbsp;Unforgiven (1992)&amp;nbsp;&amp;nbsp; &amp;nbsp;92,089&lt;br /&gt;&lt;strong&gt;106.&amp;nbsp;&amp;nbsp; &amp;nbsp;8.3&amp;nbsp;&amp;nbsp; &amp;nbsp;Batman Begins (2005)&amp;nbsp;&amp;nbsp; &amp;nbsp;254,082&lt;/strong&gt;&lt;br /&gt;&lt;strong&gt;107.&amp;nbsp;&amp;nbsp; &amp;nbsp;8.3&amp;nbsp;&amp;nbsp; &amp;nbsp;Jaws (1975)&amp;nbsp;&amp;nbsp; &amp;nbsp;130,154&lt;br /&gt;108.&amp;nbsp;&amp;nbsp; &amp;nbsp;8.2&amp;nbsp;&amp;nbsp; &amp;nbsp;Blade Runner (1982)&amp;nbsp;&amp;nbsp; &amp;nbsp;176,548&lt;/strong&gt;&lt;br /&gt;109.&amp;nbsp;&amp;nbsp; &amp;nbsp;8.2&amp;nbsp;&amp;nbsp; &amp;nbsp;Hotel Rwanda (2004)&amp;nbsp;&amp;nbsp; &amp;nbsp;86,114&lt;br /&gt;&lt;strong&gt;110.&amp;nbsp;&amp;nbsp; &amp;nbsp;8.2&amp;nbsp;&amp;nbsp; &amp;nbsp;Die Hard (1988)&amp;nbsp;&amp;nbsp; &amp;nbsp;171,006&lt;/strong&gt;&lt;br /&gt;111.&amp;nbsp;&amp;nbsp; &amp;nbsp;8.2&amp;nbsp;&amp;nbsp; &amp;nbsp;Mr. Smith Goes to Washington (1939)&amp;nbsp;&amp;nbsp; &amp;nbsp;31,565&lt;br /&gt;112.&amp;nbsp;&amp;nbsp; &amp;nbsp;8.2&amp;nbsp;&amp;nbsp; &amp;nbsp;On the Waterfront (1954)&amp;nbsp;&amp;nbsp; &amp;nbsp;38,859&lt;br /&gt;113.&amp;nbsp;&amp;nbsp; &amp;nbsp;8.2&amp;nbsp;&amp;nbsp; &amp;nbsp;No Country for Old Men (2007)&amp;nbsp;&amp;nbsp; &amp;nbsp;185,294&lt;br /&gt;&lt;strong&gt;114.&amp;nbsp;&amp;nbsp; &amp;nbsp;8.2&amp;nbsp;&amp;nbsp; &amp;nbsp;Oldboy (2003)&amp;nbsp;&amp;nbsp; &amp;nbsp;89,605&lt;/strong&gt;&lt;br /&gt;115.&amp;nbsp;&amp;nbsp; &amp;nbsp;8.2&amp;nbsp;&amp;nbsp; &amp;nbsp;Touch of Evil (1958)&amp;nbsp;&amp;nbsp; &amp;nbsp;30,845&lt;br /&gt;116.&amp;nbsp;&amp;nbsp; &amp;nbsp;8.2&amp;nbsp;&amp;nbsp; &amp;nbsp;Det sjunde inseglet (1957)&amp;nbsp;&amp;nbsp; &amp;nbsp;34,473&lt;br /&gt;&lt;strong&gt;117.&amp;nbsp;&amp;nbsp; &amp;nbsp;8.2&amp;nbsp;&amp;nbsp; &amp;nbsp;District 9 (2009)&amp;nbsp;&amp;nbsp; &amp;nbsp;129,112&lt;br /&gt;118.&amp;nbsp;&amp;nbsp; &amp;nbsp;8.2&amp;nbsp;&amp;nbsp; &amp;nbsp;Fargo (1996)&amp;nbsp;&amp;nbsp; &amp;nbsp;157,264&lt;br /&gt;119.&amp;nbsp;&amp;nbsp; &amp;nbsp;8.2&amp;nbsp;&amp;nbsp; &amp;nbsp;Mononoke-hime (1997)&amp;nbsp;&amp;nbsp; &amp;nbsp;61,364&lt;br /&gt;120.&amp;nbsp;&amp;nbsp; &amp;nbsp;8.2&amp;nbsp;&amp;nbsp; &amp;nbsp;The Wizard of Oz (1939)&amp;nbsp;&amp;nbsp; &amp;nbsp;97,683&lt;/strong&gt;&lt;br /&gt;121.&amp;nbsp;&amp;nbsp; &amp;nbsp;8.2&amp;nbsp;&amp;nbsp; &amp;nbsp;Per qualche dollaro in più (1965)&amp;nbsp;&amp;nbsp; &amp;nbsp;39,983&lt;br /&gt;122.&amp;nbsp;&amp;nbsp; &amp;nbsp;8.2&amp;nbsp;&amp;nbsp; &amp;nbsp;Heat (1995)&amp;nbsp;&amp;nbsp; &amp;nbsp;136,437&lt;br /&gt;123.&amp;nbsp;&amp;nbsp; &amp;nbsp;8.2&amp;nbsp;&amp;nbsp; &amp;nbsp;Strangers on a Train (1951)&amp;nbsp;&amp;nbsp; &amp;nbsp;32,053&lt;br /&gt;&lt;strong&gt;124.&amp;nbsp;&amp;nbsp; &amp;nbsp;8.2&amp;nbsp;&amp;nbsp; &amp;nbsp;Donnie Darko (2001)&amp;nbsp;&amp;nbsp; &amp;nbsp;198,398&lt;/strong&gt;&lt;br /&gt;125.&amp;nbsp;&amp;nbsp; &amp;nbsp;8.2&amp;nbsp;&amp;nbsp; &amp;nbsp;Cool Hand Luke (1967)&amp;nbsp;&amp;nbsp; &amp;nbsp;42,768&lt;br /&gt;126.&amp;nbsp;&amp;nbsp; &amp;nbsp;8.2&amp;nbsp;&amp;nbsp; &amp;nbsp;High Noon (1952)&amp;nbsp;&amp;nbsp; &amp;nbsp;32,328&lt;br /&gt;&lt;strong&gt;127.&amp;nbsp;&amp;nbsp; &amp;nbsp;8.2&amp;nbsp;&amp;nbsp; &amp;nbsp;The Sixth Sense (1999)&amp;nbsp;&amp;nbsp; &amp;nbsp;226,299&lt;/strong&gt;&lt;br /&gt;128.&amp;nbsp;&amp;nbsp; &amp;nbsp;8.2&amp;nbsp;&amp;nbsp; &amp;nbsp;There Will Be Blood (2007)&amp;nbsp;&amp;nbsp; &amp;nbsp;122,208&lt;br /&gt;129.&amp;nbsp;&amp;nbsp; &amp;nbsp;8.2&amp;nbsp;&amp;nbsp; &amp;nbsp;Notorious (1946)&amp;nbsp;&amp;nbsp; &amp;nbsp;29,642&lt;br /&gt;130.&amp;nbsp;&amp;nbsp; &amp;nbsp;8.2&amp;nbsp;&amp;nbsp; &amp;nbsp;The Manchurian Candidate (1962)&amp;nbsp;&amp;nbsp; &amp;nbsp;33,186&lt;br /&gt;131.&amp;nbsp;&amp;nbsp; &amp;nbsp;8.2&amp;nbsp;&amp;nbsp; &amp;nbsp;The Wrestler (2008)&amp;nbsp;&amp;nbsp; &amp;nbsp;83,414&lt;br /&gt;132.&amp;nbsp;&amp;nbsp; &amp;nbsp;8.2&amp;nbsp;&amp;nbsp; &amp;nbsp;The Deer Hunter (1978)&amp;nbsp;&amp;nbsp; &amp;nbsp;83,286&lt;br /&gt;133.&amp;nbsp;&amp;nbsp; &amp;nbsp;8.2&amp;nbsp;&amp;nbsp; &amp;nbsp;Annie Hall (1977)&amp;nbsp;&amp;nbsp; &amp;nbsp;61,688&lt;br /&gt;&lt;strong&gt;134.&amp;nbsp;&amp;nbsp; &amp;nbsp;8.2&amp;nbsp;&amp;nbsp; &amp;nbsp;Kill Bill: Vol. 1 (2003)&amp;nbsp;&amp;nbsp; &amp;nbsp;218,067&lt;br /&gt;135.&amp;nbsp;&amp;nbsp; &amp;nbsp;8.2&amp;nbsp;&amp;nbsp; &amp;nbsp;Snatch. (2000)&amp;nbsp;&amp;nbsp; &amp;nbsp;162,164&lt;/strong&gt;&lt;br /&gt;136.&amp;nbsp;&amp;nbsp; &amp;nbsp;8.2&amp;nbsp;&amp;nbsp; &amp;nbsp;The General (1926)&amp;nbsp;&amp;nbsp; &amp;nbsp;18,635&lt;br /&gt;137.&amp;nbsp;&amp;nbsp; &amp;nbsp;8.2&amp;nbsp;&amp;nbsp; &amp;nbsp;Platoon (1986)&amp;nbsp;&amp;nbsp; &amp;nbsp;102,619&lt;br /&gt;&lt;strong&gt;138.&amp;nbsp;&amp;nbsp; &amp;nbsp;8.1&amp;nbsp;&amp;nbsp; &amp;nbsp;The Big Lebowski (1998)&amp;nbsp;&amp;nbsp; &amp;nbsp;166,606&lt;/strong&gt;&lt;br /&gt;139.&amp;nbsp;&amp;nbsp; &amp;nbsp;8.1&amp;nbsp;&amp;nbsp; &amp;nbsp;Ben-Hur (1959)&amp;nbsp;&amp;nbsp; &amp;nbsp;55,219&lt;br /&gt;&lt;strong&gt;140.&amp;nbsp;&amp;nbsp; &amp;nbsp;8.1&amp;nbsp;&amp;nbsp; &amp;nbsp;Into the Wild (2007)&amp;nbsp;&amp;nbsp; &amp;nbsp;89,267&lt;/strong&gt;&lt;br /&gt;141.&amp;nbsp;&amp;nbsp; &amp;nbsp;8.1&amp;nbsp;&amp;nbsp; &amp;nbsp;The Big Sleep (1946)&amp;nbsp;&amp;nbsp; &amp;nbsp;27,404&lt;br /&gt;142.&amp;nbsp;&amp;nbsp; &amp;nbsp;8.1&amp;nbsp;&amp;nbsp; &amp;nbsp;Yojimbo (1961)&amp;nbsp;&amp;nbsp; &amp;nbsp;27,264&lt;br /&gt;143.&amp;nbsp;&amp;nbsp; &amp;nbsp;8.1&amp;nbsp;&amp;nbsp; &amp;nbsp;Million Dollar Baby (2004)&amp;nbsp;&amp;nbsp; &amp;nbsp;131,507&lt;br /&gt;144.&amp;nbsp;&amp;nbsp; &amp;nbsp;8.1&amp;nbsp;&amp;nbsp; &amp;nbsp;Ran (1985)&amp;nbsp;&amp;nbsp; &amp;nbsp;32,578&lt;br /&gt;145.&amp;nbsp;&amp;nbsp; &amp;nbsp;8.1&amp;nbsp;&amp;nbsp; &amp;nbsp;It Happened One Night (1934)&amp;nbsp;&amp;nbsp; &amp;nbsp;23,571&lt;br /&gt;&lt;strong&gt;146.&amp;nbsp;&amp;nbsp; &amp;nbsp;8.1&amp;nbsp;&amp;nbsp; &amp;nbsp;The Lion King (1994)&amp;nbsp;&amp;nbsp; &amp;nbsp;125,690&lt;br /&gt;147.&amp;nbsp;&amp;nbsp; &amp;nbsp;8.1&amp;nbsp;&amp;nbsp; &amp;nbsp;Life of Brian (1979)&amp;nbsp;&amp;nbsp; &amp;nbsp;88,762&lt;/strong&gt;&lt;br /&gt;148.&amp;nbsp;&amp;nbsp; &amp;nbsp;8.1&amp;nbsp;&amp;nbsp; &amp;nbsp;Butch Cassidy and the Sundance Kid (1969)&amp;nbsp;&amp;nbsp; &amp;nbsp;54,362&lt;br /&gt;&lt;strong&gt;149.&amp;nbsp;&amp;nbsp; &amp;nbsp;8.1&amp;nbsp;&amp;nbsp; &amp;nbsp;The Bourne Ultimatum (2007)&amp;nbsp;&amp;nbsp; &amp;nbsp;135,533&lt;/strong&gt;&lt;br /&gt;150.&amp;nbsp;&amp;nbsp; &amp;nbsp;8.1&amp;nbsp;&amp;nbsp; &amp;nbsp;Witness for the Prosecution (1957)&amp;nbsp;&amp;nbsp; &amp;nbsp;16,777&lt;br /&gt;151.&amp;nbsp;&amp;nbsp; &amp;nbsp;8.1&amp;nbsp;&amp;nbsp; &amp;nbsp;Smultronstället (1957)&amp;nbsp;&amp;nbsp; &amp;nbsp;19,878&lt;br /&gt;152.&amp;nbsp;&amp;nbsp; &amp;nbsp;8.1&amp;nbsp;&amp;nbsp; &amp;nbsp;Finding Nemo (2003)&amp;nbsp;&amp;nbsp; &amp;nbsp;153,855&lt;br /&gt;&lt;strong&gt;153.&amp;nbsp;&amp;nbsp; &amp;nbsp;8.1&amp;nbsp;&amp;nbsp; &amp;nbsp;Trainspotting (1996)&amp;nbsp;&amp;nbsp; &amp;nbsp;142,319&lt;br /&gt;154.&amp;nbsp;&amp;nbsp; &amp;nbsp;8.1&amp;nbsp;&amp;nbsp; &amp;nbsp;Star Trek (2009)&amp;nbsp;&amp;nbsp; &amp;nbsp;120,414&lt;/strong&gt;&lt;br /&gt;155.&amp;nbsp;&amp;nbsp; &amp;nbsp;8.1&amp;nbsp;&amp;nbsp; &amp;nbsp;Stand by Me (1986)&amp;nbsp;&amp;nbsp; &amp;nbsp;84,880&lt;br /&gt;156.&amp;nbsp;&amp;nbsp; &amp;nbsp;8.1&amp;nbsp;&amp;nbsp; &amp;nbsp;The Graduate (1967)&amp;nbsp;&amp;nbsp; &amp;nbsp;73,573&lt;br /&gt;&lt;strong&gt;157.&amp;nbsp;&amp;nbsp; &amp;nbsp;8.1&amp;nbsp;&amp;nbsp; &amp;nbsp;The Terminator (1984)&amp;nbsp;&amp;nbsp; &amp;nbsp;169,168&lt;/strong&gt;&lt;br /&gt;158.&amp;nbsp;&amp;nbsp; &amp;nbsp;8.1&amp;nbsp;&amp;nbsp; &amp;nbsp;Gone with the Wind (1939)&amp;nbsp;&amp;nbsp; &amp;nbsp;74,551&lt;br /&gt;&lt;strong&gt;159.&amp;nbsp;&amp;nbsp; &amp;nbsp;8.1&amp;nbsp;&amp;nbsp; &amp;nbsp;Toy Story (1995)&amp;nbsp;&amp;nbsp; &amp;nbsp;135,763&lt;/strong&gt;&lt;br /&gt;160.&amp;nbsp;&amp;nbsp; &amp;nbsp;8.1&amp;nbsp;&amp;nbsp; &amp;nbsp;Groundhog Day (1993)&amp;nbsp;&amp;nbsp; &amp;nbsp;127,009&lt;br /&gt;&lt;strong&gt;161.&amp;nbsp;&amp;nbsp; &amp;nbsp;8.1&amp;nbsp;&amp;nbsp; &amp;nbsp;Scarface (1983)&amp;nbsp;&amp;nbsp; &amp;nbsp;142,362&lt;/strong&gt;&lt;br /&gt;162.&amp;nbsp;&amp;nbsp; &amp;nbsp;8.1&amp;nbsp;&amp;nbsp; &amp;nbsp;Amores perros (2000)&amp;nbsp;&amp;nbsp; &amp;nbsp;57,432&lt;br /&gt;163.&amp;nbsp;&amp;nbsp; &amp;nbsp;8.1&amp;nbsp;&amp;nbsp; &amp;nbsp;The Thing (1982)&amp;nbsp;&amp;nbsp; &amp;nbsp;73,132&lt;br /&gt;&lt;strong&gt;164.&amp;nbsp;&amp;nbsp; &amp;nbsp;8.1&amp;nbsp;&amp;nbsp; &amp;nbsp;Ratatouille (2007)&amp;nbsp;&amp;nbsp; &amp;nbsp;122,256&lt;/strong&gt;&lt;br /&gt;165.&amp;nbsp;&amp;nbsp; &amp;nbsp;8.1&amp;nbsp;&amp;nbsp; &amp;nbsp;Dog Day Afternoon (1975)&amp;nbsp;&amp;nbsp; &amp;nbsp;55,774&lt;br /&gt;166.&amp;nbsp;&amp;nbsp; &amp;nbsp;8.1&amp;nbsp;&amp;nbsp; &amp;nbsp;Gandhi (1982)&amp;nbsp;&amp;nbsp; &amp;nbsp;47,680&lt;br /&gt;&lt;strong&gt;167.&amp;nbsp;&amp;nbsp; &amp;nbsp;8.1&amp;nbsp;&amp;nbsp; &amp;nbsp;V for Vendetta (2005)&amp;nbsp;&amp;nbsp; &amp;nbsp;209,278&lt;/strong&gt;&lt;br /&gt;168.&amp;nbsp;&amp;nbsp; &amp;nbsp;8.1&amp;nbsp;&amp;nbsp; &amp;nbsp;The Gold Rush (1925)&amp;nbsp;&amp;nbsp; &amp;nbsp;19,487&lt;br /&gt;169.&amp;nbsp;&amp;nbsp; &amp;nbsp;8.1&amp;nbsp;&amp;nbsp; &amp;nbsp;8&amp;frac12; (1963)&amp;nbsp;&amp;nbsp; &amp;nbsp;27,554&lt;br /&gt;170.&amp;nbsp;&amp;nbsp; &amp;nbsp;8.1&amp;nbsp;&amp;nbsp; &amp;nbsp;The Grapes of Wrath (1940)&amp;nbsp;&amp;nbsp; &amp;nbsp;22,028&lt;br /&gt;&lt;strong&gt;171.&amp;nbsp;&amp;nbsp; &amp;nbsp;8.1&amp;nbsp;&amp;nbsp; &amp;nbsp;Lock, Stock and Two Smoking Barrels (1998)&amp;nbsp;&amp;nbsp; &amp;nbsp;117,884&lt;br /&gt;172.&amp;nbsp;&amp;nbsp; &amp;nbsp;8.1&amp;nbsp;&amp;nbsp; &amp;nbsp;Twelve Monkeys (1995)&amp;nbsp;&amp;nbsp; &amp;nbsp;160,316&lt;/strong&gt;&lt;br /&gt;173.&amp;nbsp;&amp;nbsp; &amp;nbsp;8.1&amp;nbsp;&amp;nbsp; &amp;nbsp;Le salaire de la peur (1953)&amp;nbsp;&amp;nbsp; &amp;nbsp;13,125&lt;br /&gt;174.&amp;nbsp;&amp;nbsp; &amp;nbsp;8.1&amp;nbsp;&amp;nbsp; &amp;nbsp;Les diaboliques (1955)&amp;nbsp;&amp;nbsp; &amp;nbsp;13,350&lt;br /&gt;175.&amp;nbsp;&amp;nbsp; &amp;nbsp;8.1&amp;nbsp;&amp;nbsp; &amp;nbsp;Casino (1995)&amp;nbsp;&amp;nbsp; &amp;nbsp;101,752&lt;br /&gt;176.&amp;nbsp;&amp;nbsp; &amp;nbsp;8.1&amp;nbsp;&amp;nbsp; &amp;nbsp;The Night of the Hunter (1955)&amp;nbsp;&amp;nbsp; &amp;nbsp;24,080&lt;br /&gt;&lt;strong&gt;177.&amp;nbsp;&amp;nbsp; &amp;nbsp;8.1&amp;nbsp;&amp;nbsp; &amp;nbsp;The Princess Bride (1987)&amp;nbsp;&amp;nbsp; &amp;nbsp;118,910&lt;/strong&gt;&lt;br /&gt;178.&amp;nbsp;&amp;nbsp; &amp;nbsp;8.0&amp;nbsp;&amp;nbsp; &amp;nbsp;The Incredibles (2004)&amp;nbsp;&amp;nbsp; &amp;nbsp;148,948&lt;br /&gt;179.&amp;nbsp;&amp;nbsp; &amp;nbsp;8.0&amp;nbsp;&amp;nbsp; &amp;nbsp;Hotaru no haka (1988)&amp;nbsp;&amp;nbsp; &amp;nbsp;31,861&lt;br /&gt;180.&amp;nbsp;&amp;nbsp; &amp;nbsp;8.0&amp;nbsp;&amp;nbsp; &amp;nbsp;The Killing (1956)&amp;nbsp;&amp;nbsp; &amp;nbsp;23,180&lt;br /&gt;181.&amp;nbsp;&amp;nbsp; &amp;nbsp;8.0&amp;nbsp;&amp;nbsp; &amp;nbsp;Kind Hearts and Coronets (1949)&amp;nbsp;&amp;nbsp; &amp;nbsp;12,211&lt;br /&gt;182.&amp;nbsp;&amp;nbsp; &amp;nbsp;8.0&amp;nbsp;&amp;nbsp; &amp;nbsp;Judgment at Nuremberg (1961)&amp;nbsp;&amp;nbsp; &amp;nbsp;13,039&lt;br /&gt;183.&amp;nbsp;&amp;nbsp; &amp;nbsp;8.0&amp;nbsp;&amp;nbsp; &amp;nbsp;The Wild Bunch (1969)&amp;nbsp;&amp;nbsp; &amp;nbsp;29,326&lt;br /&gt;&lt;strong&gt;184.&amp;nbsp;&amp;nbsp; &amp;nbsp;8.0&amp;nbsp;&amp;nbsp; &amp;nbsp;Children of Men (2006)&amp;nbsp;&amp;nbsp; &amp;nbsp;147,638&lt;br /&gt;185.&amp;nbsp;&amp;nbsp; &amp;nbsp;8.0&amp;nbsp;&amp;nbsp; &amp;nbsp;In Bruges (2008)&amp;nbsp;&amp;nbsp; &amp;nbsp;88,194&lt;/strong&gt;&lt;br /&gt;186.&amp;nbsp;&amp;nbsp; &amp;nbsp;8.0&amp;nbsp;&amp;nbsp; &amp;nbsp;The Exorcist (1973)&amp;nbsp;&amp;nbsp; &amp;nbsp;96,759&lt;br /&gt;187.&amp;nbsp;&amp;nbsp; &amp;nbsp;8.0&amp;nbsp;&amp;nbsp; &amp;nbsp;Le notti di Cabiria (1957)&amp;nbsp;&amp;nbsp; &amp;nbsp;10,180&lt;br /&gt;188.&amp;nbsp;&amp;nbsp; &amp;nbsp;8.0&amp;nbsp;&amp;nbsp; &amp;nbsp;Sunrise: A Song of Two Humans (1927)&amp;nbsp;&amp;nbsp; &amp;nbsp;10,499&lt;br /&gt;189.&amp;nbsp;&amp;nbsp; &amp;nbsp;8.0&amp;nbsp;&amp;nbsp; &amp;nbsp;The Best Years of Our Lives (1946)&amp;nbsp;&amp;nbsp; &amp;nbsp;16,343&lt;br /&gt;190.&amp;nbsp;&amp;nbsp; &amp;nbsp;8.0&amp;nbsp;&amp;nbsp; &amp;nbsp;The Hustler (1961)&amp;nbsp;&amp;nbsp; &amp;nbsp;23,974&lt;br /&gt;191.&amp;nbsp;&amp;nbsp; &amp;nbsp;8.0&amp;nbsp;&amp;nbsp; &amp;nbsp;The Kid (1921)&amp;nbsp;&amp;nbsp; &amp;nbsp;12,747&lt;br /&gt;192.&amp;nbsp;&amp;nbsp; &amp;nbsp;8.0&amp;nbsp;&amp;nbsp; &amp;nbsp;Harvey (1950)&amp;nbsp;&amp;nbsp; &amp;nbsp;22,001&lt;br /&gt;193.&amp;nbsp;&amp;nbsp; &amp;nbsp;8.0&amp;nbsp;&amp;nbsp; &amp;nbsp;Ed Wood (1994)&amp;nbsp;&amp;nbsp; &amp;nbsp;69,987&lt;br /&gt;194.&amp;nbsp;&amp;nbsp; &amp;nbsp;8.0&amp;nbsp;&amp;nbsp; &amp;nbsp;Dial M for Murder (1954)&amp;nbsp;&amp;nbsp; &amp;nbsp;27,627&lt;br /&gt;195.&amp;nbsp;&amp;nbsp; &amp;nbsp;8.0&amp;nbsp;&amp;nbsp; &amp;nbsp;Good Will Hunting (1997)&amp;nbsp;&amp;nbsp; &amp;nbsp;140,708&lt;br /&gt;196.&amp;nbsp;&amp;nbsp; &amp;nbsp;8.0&amp;nbsp;&amp;nbsp; &amp;nbsp;Rosemary's Baby (1968)&amp;nbsp;&amp;nbsp; &amp;nbsp;47,103&lt;br /&gt;197.&amp;nbsp;&amp;nbsp; &amp;nbsp;8.0&amp;nbsp;&amp;nbsp; &amp;nbsp;King Kong (1933)&amp;nbsp;&amp;nbsp; &amp;nbsp;36,557&lt;br /&gt;&lt;strong&gt;198.&amp;nbsp;&amp;nbsp; &amp;nbsp;8.0&amp;nbsp;&amp;nbsp; &amp;nbsp;Big Fish (2003)&amp;nbsp;&amp;nbsp; &amp;nbsp;132,625&lt;/strong&gt;&lt;br /&gt;&lt;strong&gt;199.&amp;nbsp;&amp;nbsp; &amp;nbsp;8.0&amp;nbsp;&amp;nbsp; &amp;nbsp;Låt den rätte komma in (2008)&amp;nbsp;&amp;nbsp; &amp;nbsp;48,033&lt;/strong&gt;&lt;br /&gt;200.&amp;nbsp;&amp;nbsp; &amp;nbsp;8.0&amp;nbsp;&amp;nbsp; &amp;nbsp;A Streetcar Named Desire (1951)&amp;nbsp;&amp;nbsp; &amp;nbsp;31,766&lt;br /&gt;201.&amp;nbsp;&amp;nbsp; &amp;nbsp;8.0&amp;nbsp;&amp;nbsp; &amp;nbsp;Letters from Iwo Jima (2006)&amp;nbsp;&amp;nbsp; &amp;nbsp;52,454&lt;br /&gt;202.&amp;nbsp;&amp;nbsp; &amp;nbsp;8.0&amp;nbsp;&amp;nbsp; &amp;nbsp;Shadow of a Doubt (1943)&amp;nbsp;&amp;nbsp; &amp;nbsp;20,012&lt;br /&gt;203.&amp;nbsp;&amp;nbsp; &amp;nbsp;8.0&amp;nbsp;&amp;nbsp; &amp;nbsp;Sleuth (1972)&amp;nbsp;&amp;nbsp; &amp;nbsp;16,209&lt;br /&gt;&lt;strong&gt;204.&amp;nbsp;&amp;nbsp; &amp;nbsp;8.0&amp;nbsp;&amp;nbsp; &amp;nbsp;Kill Bill: Vol. 2 (2004)&amp;nbsp;&amp;nbsp; &amp;nbsp;171,503&lt;/strong&gt;&lt;br /&gt;205.&amp;nbsp;&amp;nbsp; &amp;nbsp;8.0&amp;nbsp;&amp;nbsp; &amp;nbsp;Stalag 17 (1953)&amp;nbsp;&amp;nbsp; &amp;nbsp;19,633&lt;br /&gt;206.&amp;nbsp;&amp;nbsp; &amp;nbsp;8.0&amp;nbsp;&amp;nbsp; &amp;nbsp;Magnolia (1999)&amp;nbsp;&amp;nbsp; &amp;nbsp;116,139&lt;br /&gt;207.&amp;nbsp;&amp;nbsp; &amp;nbsp;8.0&amp;nbsp;&amp;nbsp; &amp;nbsp;Le scaphandre et le papillon (2007)&amp;nbsp;&amp;nbsp; &amp;nbsp;28,108&lt;br /&gt;208.&amp;nbsp;&amp;nbsp; &amp;nbsp;8.0&amp;nbsp;&amp;nbsp; &amp;nbsp;Brief Encounter (1945)&amp;nbsp;&amp;nbsp; &amp;nbsp;12,503&lt;br /&gt;209.&amp;nbsp;&amp;nbsp; &amp;nbsp;8.0&amp;nbsp;&amp;nbsp; &amp;nbsp;Crash (2004/I)&amp;nbsp;&amp;nbsp; &amp;nbsp;161,925&lt;br /&gt;210.&amp;nbsp;&amp;nbsp; &amp;nbsp;8.0&amp;nbsp;&amp;nbsp; &amp;nbsp;Mystic River (2003)&amp;nbsp;&amp;nbsp; &amp;nbsp;111,393&lt;br /&gt;211.&amp;nbsp;&amp;nbsp; &amp;nbsp;8.0&amp;nbsp;&amp;nbsp; &amp;nbsp;Rocky (1976)&amp;nbsp;&amp;nbsp; &amp;nbsp;89,307&lt;br /&gt;212.&amp;nbsp;&amp;nbsp; &amp;nbsp;8.0&amp;nbsp;&amp;nbsp; &amp;nbsp;The African Queen (1951)&amp;nbsp;&amp;nbsp; &amp;nbsp;32,010&lt;br /&gt;213.&amp;nbsp;&amp;nbsp; &amp;nbsp;8.0&amp;nbsp;&amp;nbsp; &amp;nbsp;Shutter Island (2010)&amp;nbsp;&amp;nbsp; &amp;nbsp;41,406&lt;br /&gt;214.&amp;nbsp;&amp;nbsp; &amp;nbsp;8.0&amp;nbsp;&amp;nbsp; &amp;nbsp;Network (1976)&amp;nbsp;&amp;nbsp; &amp;nbsp;31,292&lt;br /&gt;215.&amp;nbsp;&amp;nbsp; &amp;nbsp;8.0&amp;nbsp;&amp;nbsp; &amp;nbsp;Duck Soup (1933)&amp;nbsp;&amp;nbsp; &amp;nbsp;24,951&lt;br /&gt;&lt;strong&gt;216.&amp;nbsp;&amp;nbsp; &amp;nbsp;8.0&amp;nbsp;&amp;nbsp; &amp;nbsp;The Curious Case of Benjamin Button (2008)&amp;nbsp;&amp;nbsp; &amp;nbsp;124,490&lt;/strong&gt;&lt;br /&gt;217.&amp;nbsp;&amp;nbsp; &amp;nbsp;8.0&amp;nbsp;&amp;nbsp; &amp;nbsp;Rope (1948)&amp;nbsp;&amp;nbsp; &amp;nbsp;29,221&lt;br /&gt;218.&amp;nbsp;&amp;nbsp; &amp;nbsp;8.0&amp;nbsp;&amp;nbsp; &amp;nbsp;Bonnie and Clyde (1967)&amp;nbsp;&amp;nbsp; &amp;nbsp;38,825&lt;br /&gt;219.&amp;nbsp;&amp;nbsp; &amp;nbsp;8.0&amp;nbsp;&amp;nbsp; &amp;nbsp;Manhattan (1979)&amp;nbsp;&amp;nbsp; &amp;nbsp;36,288&lt;br /&gt;&lt;strong&gt;220.&amp;nbsp;&amp;nbsp; &amp;nbsp;8.0&amp;nbsp;&amp;nbsp; &amp;nbsp;Pirates of the Caribbean: The Curse of the Black Pearl (2003)&amp;nbsp;&amp;nbsp; &amp;nbsp;219,437&lt;/strong&gt;&lt;br /&gt;221.&amp;nbsp;&amp;nbsp; &amp;nbsp;8.0&amp;nbsp;&amp;nbsp; &amp;nbsp;La strada (1954)&amp;nbsp;&amp;nbsp; &amp;nbsp;16,571&lt;br /&gt;222.&amp;nbsp;&amp;nbsp; &amp;nbsp;8.0&amp;nbsp;&amp;nbsp; &amp;nbsp;La battaglia di Algeri (1966)&amp;nbsp;&amp;nbsp; &amp;nbsp;12,773&lt;br /&gt;223.&amp;nbsp;&amp;nbsp; &amp;nbsp;8.0&amp;nbsp;&amp;nbsp; &amp;nbsp;Wo hu cang long (2000)&amp;nbsp;&amp;nbsp; &amp;nbsp;104,127&lt;br /&gt;224.&amp;nbsp;&amp;nbsp; &amp;nbsp;8.0&amp;nbsp;&amp;nbsp; &amp;nbsp;Patton (1970)&amp;nbsp;&amp;nbsp; &amp;nbsp;37,495&lt;br /&gt;225.&amp;nbsp;&amp;nbsp; &amp;nbsp;8.0&amp;nbsp;&amp;nbsp; &amp;nbsp;Changeling (2008)&amp;nbsp;&amp;nbsp; &amp;nbsp;57,558&lt;br /&gt;&lt;strong&gt;226.&amp;nbsp;&amp;nbsp; &amp;nbsp;8.0&amp;nbsp;&amp;nbsp; &amp;nbsp;Little Miss Sunshine (2006)&amp;nbsp;&amp;nbsp; &amp;nbsp;141,460&lt;/strong&gt;&lt;br /&gt;227.&amp;nbsp;&amp;nbsp; &amp;nbsp;8.0&amp;nbsp;&amp;nbsp; &amp;nbsp;The Conversation (1974)&amp;nbsp;&amp;nbsp; &amp;nbsp;30,865&lt;br /&gt;228.&amp;nbsp;&amp;nbsp; &amp;nbsp;8.0&amp;nbsp;&amp;nbsp; &amp;nbsp;Planet of the Apes (1968)&amp;nbsp;&amp;nbsp; &amp;nbsp;54,085&lt;br /&gt;229.&amp;nbsp;&amp;nbsp; &amp;nbsp;8.0&amp;nbsp;&amp;nbsp; &amp;nbsp;The Adventures of Robin Hood (1938)&amp;nbsp;&amp;nbsp; &amp;nbsp;21,924&lt;br /&gt;230.&amp;nbsp;&amp;nbsp; &amp;nbsp;8.0&amp;nbsp;&amp;nbsp; &amp;nbsp;The Nightmare Before Christmas (1993)&amp;nbsp;&amp;nbsp; &amp;nbsp;73,398&lt;br /&gt;231.&amp;nbsp;&amp;nbsp; &amp;nbsp;8.0&amp;nbsp;&amp;nbsp; &amp;nbsp;Les quatre cents coups (1959)&amp;nbsp;&amp;nbsp; &amp;nbsp;22,104&lt;br /&gt;232.&amp;nbsp;&amp;nbsp; &amp;nbsp;8.0&amp;nbsp;&amp;nbsp; &amp;nbsp;Who's Afraid of Virginia Woolf? (1966)&amp;nbsp;&amp;nbsp; &amp;nbsp;18,230&lt;br /&gt;233.&amp;nbsp;&amp;nbsp; &amp;nbsp;7.9&amp;nbsp;&amp;nbsp; &amp;nbsp;Barry Lyndon (1975)&amp;nbsp;&amp;nbsp; &amp;nbsp;37,410&lt;br /&gt;234.&amp;nbsp;&amp;nbsp; &amp;nbsp;7.9&amp;nbsp;&amp;nbsp; &amp;nbsp;All Quiet on the Western Front (1930)&amp;nbsp;&amp;nbsp; &amp;nbsp;20,059&lt;br /&gt;235.&amp;nbsp;&amp;nbsp; &amp;nbsp;7.9&amp;nbsp;&amp;nbsp; &amp;nbsp;Anatomy of a Murder (1959)&amp;nbsp;&amp;nbsp; &amp;nbsp;15,463&lt;br /&gt;236.&amp;nbsp;&amp;nbsp; &amp;nbsp;7.9&amp;nbsp;&amp;nbsp; &amp;nbsp;The Lady Vanishes (1938)&amp;nbsp;&amp;nbsp; &amp;nbsp;16,899&lt;br /&gt;237.&amp;nbsp;&amp;nbsp; &amp;nbsp;7.9&amp;nbsp;&amp;nbsp; &amp;nbsp;Mulholland Dr. (2001)&amp;nbsp;&amp;nbsp; &amp;nbsp;95,188&lt;br /&gt;&lt;strong&gt;238.&amp;nbsp;&amp;nbsp; &amp;nbsp;7.9&amp;nbsp;&amp;nbsp; &amp;nbsp;Shaun of the Dead (2004)&amp;nbsp;&amp;nbsp; &amp;nbsp;122,805&lt;br /&gt;239.&amp;nbsp;&amp;nbsp; &amp;nbsp;7.9&amp;nbsp;&amp;nbsp; &amp;nbsp;Spartacus (1960)&amp;nbsp;&amp;nbsp; &amp;nbsp;47,732&lt;/strong&gt;&lt;br /&gt;240.&amp;nbsp;&amp;nbsp; &amp;nbsp;7.9&amp;nbsp;&amp;nbsp; &amp;nbsp;Glory (1989)&amp;nbsp;&amp;nbsp; &amp;nbsp;54,394&lt;br /&gt;241.&amp;nbsp;&amp;nbsp; &amp;nbsp;7.9&amp;nbsp;&amp;nbsp; &amp;nbsp;Tonari no Totoro (1988)&amp;nbsp;&amp;nbsp; &amp;nbsp;27,180&lt;br /&gt;242.&amp;nbsp;&amp;nbsp; &amp;nbsp;7.9&amp;nbsp;&amp;nbsp; &amp;nbsp;Monsters, Inc. (2001)&amp;nbsp;&amp;nbsp; &amp;nbsp;105,082&lt;br /&gt;&lt;strong&gt;243.&amp;nbsp;&amp;nbsp; &amp;nbsp;7.9&amp;nbsp;&amp;nbsp; &amp;nbsp;The Truman Show (1998)&amp;nbsp;&amp;nbsp; &amp;nbsp;143,808&lt;/strong&gt;&lt;br /&gt;244.&amp;nbsp;&amp;nbsp; &amp;nbsp;7.9&amp;nbsp;&amp;nbsp; &amp;nbsp;The Philadelphia Story (1940)&amp;nbsp;&amp;nbsp; &amp;nbsp;26,429&lt;br /&gt;&lt;strong&gt;245.&amp;nbsp;&amp;nbsp; &amp;nbsp;7.9&amp;nbsp;&amp;nbsp; &amp;nbsp;(500) Days of Summer (2009)&amp;nbsp;&amp;nbsp; &amp;nbsp;55,877&lt;/strong&gt;&lt;br /&gt;&lt;strong&gt;246.&amp;nbsp;&amp;nbsp; &amp;nbsp;7.9&amp;nbsp;&amp;nbsp; &amp;nbsp;Toy Story 2 (1999)&amp;nbsp;&amp;nbsp; &amp;nbsp;105,633&lt;/strong&gt;&lt;br /&gt;247.&amp;nbsp;&amp;nbsp; &amp;nbsp;7.9&amp;nbsp;&amp;nbsp; &amp;nbsp;His Girl Friday (1940)&amp;nbsp;&amp;nbsp; &amp;nbsp;19,700&lt;br /&gt;248.&amp;nbsp;&amp;nbsp; &amp;nbsp;7.9&amp;nbsp;&amp;nbsp; &amp;nbsp;Arsenic and Old Lace (1944)&amp;nbsp;&amp;nbsp; &amp;nbsp;28,305&lt;br /&gt;&lt;strong&gt;249.&amp;nbsp;&amp;nbsp; &amp;nbsp;7.9&amp;nbsp;&amp;nbsp; &amp;nbsp;Brazil (1985)&amp;nbsp;&amp;nbsp; &amp;nbsp;73,541&lt;br /&gt;250.&amp;nbsp;&amp;nbsp; &amp;nbsp;7.9&amp;nbsp;&amp;nbsp; &amp;nbsp;Edward Scissorhands (1990)&amp;nbsp;&amp;nbsp; &amp;nbsp;95,917&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Thanks for reading via RSS!&lt;/p&gt;
&lt;p&gt;Send me a message on &lt;a href="https://remotelab.uk/mikebell"&gt;Mastodon&lt;/a&gt; or &lt;a href="mailto:hello@mikebell.io"&gt;email me&lt;/a&gt;&lt;/p&gt;</description></item><item><title>Social Media Recursion</title><link>https://mikebell.io/posts/social-media-recursion/</link><pubDate>Tue, 23 Feb 2010 00:00:00 +0000</pubDate><author>hello@mikebell.io (Mike Bell)</author><guid>https://mikebell.io/posts/social-media-recursion/</guid><description>
&lt;p&gt;With what seems to be a new social network being released every week, I&amp;rsquo;m looking at you Buzz, people have more than their fair share of choices to make. This got me thinking, why not have an account on everyone? Well for a start there&amp;rsquo;s no point, but most crucial is why bother if none of your friends are on there.&lt;/p&gt;
&lt;p&gt;Now this is the part where recursion comes in, the majority of social networks have some sort of api or some hook that developers can use to interact with the services. So why not hook them all together? For example:&lt;/p&gt;
&lt;p&gt;Network 1 posts Message 1 to Network 2, Network 2 posts Message 1 to Network3, Network 3 then adds one character to Message and posts back to Network 1.&lt;/p&gt;
&lt;p&gt;The rules are:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;Communication between Networks must be done using a provided api.
1a However if network is big enough and has no api then other methods can be used in conjunction with .&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Message must start with one character, this will grow by one with each recursion.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Experiment ends when Message equal 140 characters (twitter must be used).&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Your allowed one &amp;lsquo;bridge&amp;rsquo; script, this script can either be used to bridge a network that doesn&amp;rsquo;t provide a suitable api or as part of 4a.
4a. Your &amp;lsquo;bridge&amp;rsquo; script must pause the recursion for 5-10 minutes, this is to stop any potential problems with api limits or potential classifications as spam.&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;That&amp;rsquo;s about it really, I&amp;rsquo;d love to see what people come up with. When I get chance I&amp;rsquo;ll give it a try.&lt;/p&gt;
&lt;p&gt;Thanks for reading via RSS!&lt;/p&gt;
&lt;p&gt;Send me a message on &lt;a href="https://remotelab.uk/mikebell"&gt;Mastodon&lt;/a&gt; or &lt;a href="mailto:hello@mikebell.io"&gt;email me&lt;/a&gt;&lt;/p&gt;</description></item><item><title>Jquery UI Tabs in Drupal 6</title><link>https://mikebell.io/posts/jquery-ui-tabs-in-drupal-6/</link><pubDate>Fri, 07 Aug 2009 00:00:00 +0000</pubDate><author>hello@mikebell.io (Mike Bell)</author><guid>https://mikebell.io/posts/jquery-ui-tabs-in-drupal-6/</guid><description>
&lt;p&gt;A few months ago I saw an ubercart shop that had tabbed content on the product pages. Genius idea!&lt;/p&gt;
&lt;p&gt;As per rule 35 of drupal/the internet a module probably already exists but I decided to build this from scratch.&lt;/p&gt;
&lt;p&gt;It&amp;rsquo;s not a module so I won&amp;rsquo;t be releasing it, it&amp;rsquo;s more a proof of concept for me to learn some more drupal skills.&lt;/p&gt;
&lt;p&gt;My first attempt failed miserably attempting to shoe horn it into the default node.tpl.php. So rather than doing it this way I created a view to display node content based on the content type and an argument (something I&amp;rsquo;ve never really been too keen on). The thing I love most about Views is how it gives you everything you need to theme it. Within 2 minutes I had the code needed to make any modification to the views display. I then modified the row print to wrap a div tag around the three fields I&amp;rsquo;d created using CCK, I also created the list needed to fire the tabs.&lt;/p&gt;
&lt;p&gt;I&amp;rsquo;m new to the jQuery UI library so after reading up on tabs and looking at the source code I set about integrating everything I needed to get it to work, this included the div wrapping and list elements.&lt;/p&gt;
&lt;p&gt;The first real problem I encountered was the version of jQuery UI, it was the latest version and didn&amp;rsquo;t use the same version as Drupal does, after upgrading jQuery using the Update jQuery Module (#35 again!) and downloading the correct UI version I was set to go.&lt;/p&gt;
&lt;p&gt;The second problem was a bit obscure but easy to fix, the fields outputted by views were referenced as classes rather than IDs, after checking that they were unique therefore not breaking validity I changed the tpl.php file to use IDs, simple!&lt;/p&gt;
&lt;p&gt;Overall this was a neat little project something that I&amp;rsquo;ll use in other project definitely (including this site no doubt).&lt;/p&gt;
&lt;p&gt;Thanks for reading via RSS!&lt;/p&gt;
&lt;p&gt;Send me a message on &lt;a href="https://remotelab.uk/mikebell"&gt;Mastodon&lt;/a&gt; or &lt;a href="mailto:hello@mikebell.io"&gt;email me&lt;/a&gt;&lt;/p&gt;</description></item><item><title>About me</title><link>https://mikebell.io/about/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><author>hello@mikebell.io (Mike Bell)</author><guid>https://mikebell.io/about/</guid><description>
&lt;p&gt;My name is Mike Bell, I&amp;rsquo;m a 30 something:&lt;/p&gt;
&lt;p&gt;Developer, Tinkerer, Coder, Hacker, Husband. Powered by coffee and whisky.&lt;/p&gt;
&lt;p&gt;Views are my own.&lt;/p&gt;
&lt;h3 class="relative group"&gt;Things to know about me
&lt;div id="things-to-know-about-me" class="anchor"&gt;&lt;/div&gt;
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
&lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#things-to-know-about-me" aria-label="Anchor"&gt;#&lt;/a&gt;
&lt;/span&gt;
&lt;/h3&gt;
&lt;p&gt;I have Chronic Fatigue Syndrome and Generalised Anxiety Disorder. I&amp;rsquo;ve lived with these for my all of my adult life.&lt;/p&gt;
&lt;p&gt;code by useiconic.com from the Noun Project.&lt;/p&gt;
&lt;p&gt;Thanks for reading via RSS!&lt;/p&gt;
&lt;p&gt;Send me a message on &lt;a href="https://remotelab.uk/mikebell"&gt;Mastodon&lt;/a&gt; or &lt;a href="mailto:hello@mikebell.io"&gt;email me&lt;/a&gt;&lt;/p&gt;</description></item><item><title>CV</title><link>https://mikebell.io/cv/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><author>hello@mikebell.io (Mike Bell)</author><guid>https://mikebell.io/cv/</guid><description>
&lt;!--- start --&gt;# Mike Bell&lt;!--- end --&gt;
&lt;h2 class="relative group"&gt;Senior DevOps Engineer&lt;!--- start --&gt; - Remote &amp;amp; Manchester UK&lt;!--- end --&gt;
&lt;div id="senior-devops-engineer---remote--manchester-uk" class="anchor"&gt;&lt;/div&gt;
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
&lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#senior-devops-engineer---remote--manchester-uk" aria-label="Anchor"&gt;#&lt;/a&gt;
&lt;/span&gt;
&lt;/h2&gt;
&lt;p&gt;Senior DevOps Engineer focused on AWS, management, building and maintaining of infrastructure and projects.&lt;/p&gt;
&lt;p&gt;I’ve been remote working for over 10 years, taking responsibility of my own time management and ability to work with teams based anywhere in the world. At MoJ Cloud Platform I manage, maintain and support users in our Kubernetes cluster. I&amp;rsquo;ve managed critical incidents professionally and often help other team members. I enjoy pairing up with colleagues and working on tough and interesting problems.&lt;/p&gt;
&lt;p&gt;Outside of work I maintain my own on-prem and cloud infrastructure where I run multiple servers with virtual vms and containers focusing on home automation software. When not working I love to build Lego, design and build custom keyboards, cook and play with my cats.&lt;/p&gt;
&lt;h3 class="relative group"&gt;Employment History
&lt;div id="employment-history" class="anchor"&gt;&lt;/div&gt;
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
&lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#employment-history" aria-label="Anchor"&gt;#&lt;/a&gt;
&lt;/span&gt;
&lt;/h3&gt;
&lt;h4 class="relative group"&gt;Senior DevOps Engineer - MoJ - Cloud Platform - January 2025
&lt;div id="senior-devops-engineer---moj---cloud-platform---january-2025" class="anchor"&gt;&lt;/div&gt;
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
&lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#senior-devops-engineer---moj---cloud-platform---january-2025" aria-label="Anchor"&gt;#&lt;/a&gt;
&lt;/span&gt;
&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;Incident Management&lt;/li&gt;
&lt;li&gt;Shaping and managing upcoming workloads&lt;/li&gt;
&lt;li&gt;Mentoring junior and mid level engineers&lt;/li&gt;
&lt;li&gt;Taking charge of project milestones and delivering them to a high standard&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;My role on the Cloud Platform team takes me across many different areas of Kubernetes, Terraform and AWS. I&amp;rsquo;ve created custom tooling, delivered key features for users of the platform, managed complex component upgrades and general BAU on the cluster and it&amp;rsquo;s key repositories. I also provide support to our users and often have to solve complex issues. I&amp;rsquo;ve been involved in Kubernetes cluster upgrades and managed critical incidents.&lt;/p&gt;
&lt;h4 class="relative group"&gt;DevOps Engineer - MoJ - Cloud Platform - November 2023
&lt;div id="devops-engineer---moj---cloud-platform---november-2023" class="anchor"&gt;&lt;/div&gt;
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
&lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#devops-engineer---moj---cloud-platform---november-2023" aria-label="Anchor"&gt;#&lt;/a&gt;
&lt;/span&gt;
&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;Kubernetes&lt;/li&gt;
&lt;li&gt;Terraform&lt;/li&gt;
&lt;li&gt;AWS&lt;/li&gt;
&lt;li&gt;Incident management&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 class="relative group"&gt;Platform Engineer - SpareRoom - May 2023 to September 2023
&lt;div id="platform-engineer---spareroom---may-2023-to-september-2023" class="anchor"&gt;&lt;/div&gt;
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
&lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#platform-engineer---spareroom---may-2023-to-september-2023" aria-label="Anchor"&gt;#&lt;/a&gt;
&lt;/span&gt;
&lt;/h4&gt;
&lt;p&gt;Responsible for managing and maintaining GCP infrastructure.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Terraform&lt;/li&gt;
&lt;li&gt;Jenkins and Github Actions&lt;/li&gt;
&lt;li&gt;GCP&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 class="relative group"&gt;Senior Consultant - Platform Engineer - Hippo Digital - February 2021 to February 2023
&lt;div id="senior-consultant---platform-engineer---hippo-digital---february-2021-to-february-2023" class="anchor"&gt;&lt;/div&gt;
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
&lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#senior-consultant---platform-engineer---hippo-digital---february-2021-to-february-2023" aria-label="Anchor"&gt;#&lt;/a&gt;
&lt;/span&gt;
&lt;/h4&gt;
&lt;p&gt;&lt;strong&gt;Government Property Agency&lt;/strong&gt; - Built and maintain a multi environment AWS setup for a data warehouse and accompanying ingestion and APIs. Currently managing 12 AWS accounts for two different projects (ETL and Data Warehouse).&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Cloudformation and subsequent refactor to Terraform/Terragrunt&lt;/li&gt;
&lt;li&gt;CodePipeline, Codebuild and Github Actions&lt;/li&gt;
&lt;li&gt;RDS&lt;/li&gt;
&lt;li&gt;Lambda Functions (Python using Chalice)&lt;/li&gt;
&lt;li&gt;Ansible&lt;/li&gt;
&lt;li&gt;Cognito&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Sega, Creative Assembly&lt;/strong&gt; - PaaS for highly available multilingual static sites with a focus on security. Consultancy around other properties in the Sega portfolio.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Terraform/Terragrunt for a repeatable multi environment platform&lt;/li&gt;
&lt;li&gt;CodePipeline, Codebuild and CodeDeploy&lt;/li&gt;
&lt;li&gt;API Gateway, Cognito, Cloudfront, ECR, ELB/ALB, VPC/EC2, S3&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 class="relative group"&gt;DevOps Engineer (previously Senior Developer) - Convivio - June 2016 to February 2021
&lt;div id="devops-engineer-previously-senior-developer---convivio---june-2016-to-february-2021" class="anchor"&gt;&lt;/div&gt;
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
&lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#devops-engineer-previously-senior-developer---convivio---june-2016-to-february-2021" aria-label="Anchor"&gt;#&lt;/a&gt;
&lt;/span&gt;
&lt;/h4&gt;
&lt;p&gt;&lt;strong&gt;Cabinet Office National Leadership Centre&lt;/strong&gt; - I helped to build and maintain an AWS EKS cluster for their now defunct Leadership Network Connect. The first objective of the project was to compare existing architectures available through the Government such as GOV.UK PaaS and GSP (GDS Supported Platform), while both have their benefits we were unable to use them for our needs so proceeded to build our own. Following building our own we made sure to open source &lt;a href="https://github.com/cabinetoffice/national-leadership-centre-terragrunt" target="_blank" rel="noreferrer"&gt;our&lt;/a&gt; &lt;a href="https://github.com/cabinetoffice/national-leadership-centre-terraform" target="_blank" rel="noreferrer"&gt;work&lt;/a&gt; to create a repeatable UK government friendly Kubernetes cluster.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Terraform&lt;/li&gt;
&lt;li&gt;AWS&lt;/li&gt;
&lt;li&gt;Concourse&lt;/li&gt;
&lt;li&gt;Prometheus&lt;/li&gt;
&lt;li&gt;Kibana&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;GDS TechDocs&lt;/strong&gt; - With the help of others via pair programming we built the API integration for the TechDocs gem. This required an in-depth knowledge of the OpenAPI specification and learning Ruby on Rails. A challenging project but one where I scoped the features we could deliver within the time given.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Internal Systems&lt;/strong&gt; - Responsible for the development and maintaining of Convivios internal infrastructure.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Terraform&lt;/li&gt;
&lt;li&gt;AWS, EC2/S3/DynamoDB/RDS&lt;/li&gt;
&lt;li&gt;Ansible&lt;/li&gt;
&lt;li&gt;Concourse&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Cyber Essentials Plus&lt;/strong&gt; - I have run the company through the CE and CE+ audits to ensure that we&amp;rsquo;re compliant with their standards. As part of this I&amp;rsquo;ve also started our investigation into ISO 27001. I chose to run Cyber Essentials project as a Kanban to make sure it was visible to everyone what they had to provide and where we were going through the process. It worked really well and there was a very quick turn around.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;MOJ Judicial Appointments Commission&lt;/strong&gt; - Responsible for development and support of the JAC application system.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Development of new features using Drupal and PHP.&lt;/li&gt;
&lt;li&gt;Support of existing features and infrastructure including CI and deployment. Implementing and monitoring the support queue.&lt;/li&gt;
&lt;li&gt;Application debugging and performance monitoring/improvements at the server and code level.&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 class="relative group"&gt;Senior Developer - WunderUK - January 2016 to June 2016
&lt;div id="senior-developer---wunderuk---january-2016-to-june-2016" class="anchor"&gt;&lt;/div&gt;
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
&lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#senior-developer---wunderuk---january-2016-to-june-2016" aria-label="Anchor"&gt;#&lt;/a&gt;
&lt;/span&gt;
&lt;/h4&gt;
&lt;p&gt;&lt;strong&gt;Ministry of Justice JAC/JARS&lt;/strong&gt; - Complex reporting functionality across hundreds of datasets. This involved liaising with many MOJ team members to get a greater understanding of the data they have and how they wanted to use it.&lt;/p&gt;
&lt;h4 class="relative group"&gt;Drupal Technical Architect - CTI Digital - 2013 to 2015
&lt;div id="drupal-technical-architect---cti-digital---2013-to-2015" class="anchor"&gt;&lt;/div&gt;
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
&lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#drupal-technical-architect---cti-digital---2013-to-2015" aria-label="Anchor"&gt;#&lt;/a&gt;
&lt;/span&gt;
&lt;/h4&gt;
&lt;h4 class="relative group"&gt;Drupal Technical Lead - Ixis - January 2010 to August 2013
&lt;div id="drupal-technical-lead---ixis---january-2010-to-august-2013" class="anchor"&gt;&lt;/div&gt;
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
&lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#drupal-technical-lead---ixis---january-2010-to-august-2013" aria-label="Anchor"&gt;#&lt;/a&gt;
&lt;/span&gt;
&lt;/h4&gt;
&lt;h4 class="relative group"&gt;Web Developer - Inphinet - April 2008 – December 2009
&lt;div id="web-developer---inphinet---april-2008--december-2009" class="anchor"&gt;&lt;/div&gt;
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
&lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#web-developer---inphinet---april-2008--december-2009" aria-label="Anchor"&gt;#&lt;/a&gt;
&lt;/span&gt;
&lt;/h4&gt;
&lt;h3 class="relative group"&gt;Commitment to Open Source and Community
&lt;div id="commitment-to-open-source-and-community" class="anchor"&gt;&lt;/div&gt;
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
&lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#commitment-to-open-source-and-community" aria-label="Anchor"&gt;#&lt;/a&gt;
&lt;/span&gt;
&lt;/h3&gt;
&lt;p&gt;I like to give back to open source communities whether that be in code contributions or speaking at conferences. I&amp;rsquo;m a confident public speaker and proud to have keynoted at DrupalCon Barcelona and spoken at PHPNW Conference.&lt;/p&gt;
&lt;p&gt;In the past I co-ran a Drupal user group in Manchester for many years and regularly ran hackdays for the community.&lt;/p&gt;
&lt;p&gt;I part administered a mental health support group on Slack for people within the tech community, I&amp;rsquo;ve also contributed to Geek Mental Health week including maintaining the website and running events.&lt;/p&gt;
&lt;h3 class="relative group"&gt;Education
&lt;div id="education" class="anchor"&gt;&lt;/div&gt;
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
&lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#education" aria-label="Anchor"&gt;#&lt;/a&gt;
&lt;/span&gt;
&lt;/h3&gt;
&lt;p&gt;2004 - 2007 - Degree in Multimedia and E-Commerce Systems&lt;!--- start --&gt; at the University of Gloucestershire&lt;!--- end --&gt;&lt;/p&gt;
&lt;p&gt;2002 - 2004 - A Levels&lt;!--- start --&gt;, Dixons City Technology College:&lt;!--- end --&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;AVCE ICT (Double Award) - BB&lt;/li&gt;
&lt;li&gt;General Studies C&lt;/li&gt;
&lt;li&gt;Physics D&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;2000 - 2002 - GCSE&lt;!--- start --&gt;, Dixons City Technology College:&lt;!--- end --&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;GNVQ ICT (Merit)&lt;/li&gt;
&lt;li&gt;English Literature (B), English Language (B)&lt;/li&gt;
&lt;li&gt;Maths (B)&lt;/li&gt;
&lt;li&gt;Chemistry (B), Physics (C), Biology (C)&lt;/li&gt;
&lt;li&gt;Geography (C), German (D)&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;References available upon request.&lt;/p&gt;
&lt;p&gt;Thanks for reading via RSS!&lt;/p&gt;
&lt;p&gt;Send me a message on &lt;a href="https://remotelab.uk/mikebell"&gt;Mastodon&lt;/a&gt; or &lt;a href="mailto:hello@mikebell.io"&gt;email me&lt;/a&gt;&lt;/p&gt;</description></item><item><title>Now</title><link>https://mikebell.io/now/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><author>hello@mikebell.io (Mike Bell)</author><guid>https://mikebell.io/now/</guid><description>
&lt;p&gt;Currently a Senior DevOps Engineer working for the UK Gov. Enjoying working with Kubernetes at scale and improving processes and developer experience.&lt;/p&gt;
&lt;p&gt;Reading lots of scifi books, really like Clarkesworld magazine for the short stories. Making my way through Charles Stross - The Laundry Files, really enjoying them.&lt;/p&gt;
&lt;p&gt;Always looking for new and cool film/tv to watch.&lt;/p&gt;
&lt;p&gt;Got two cats called Shadow and Lilly who I love dearly.&lt;/p&gt;
&lt;p&gt;Going through a post-hardcore and cybernuero music fix at the moment, odd mix I know!&lt;/p&gt;
&lt;p&gt;Over two years on from my bilateral pulmonary embolism physically recovered, emotional not quite.&lt;/p&gt;
&lt;p&gt;Last updated: 04/05/26&lt;/p&gt;
&lt;p&gt;Thanks for reading via RSS!&lt;/p&gt;
&lt;p&gt;Send me a message on &lt;a href="https://remotelab.uk/mikebell"&gt;Mastodon&lt;/a&gt; or &lt;a href="mailto:hello@mikebell.io"&gt;email me&lt;/a&gt;&lt;/p&gt;</description></item></channel></rss>