<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
  <title>Kevin Healy-Clarke</title>
  <subtitle>My small corner of the internet. An interaction designer obsessing over the web and digital products. Trying to leave things better than I found them.</subtitle>
  <link href="https://kevinhealyclarke.co.uk/feed.xml" rel="self" />
  <link href="https://kevinhealyclarke.co.uk/" />
  <updated>2025-10-01T15:19:53Z</updated>
  <id>https://kevinhealyclarke.co.uk/</id>
  <author>
    <name>Kevin Healy-Clarke</name>
    <email>hello@kevhealy.com</email>
  </author>
  <entry>
    <title>Getting it right in (digital) print</title>
    <link href="https://kevinhealyclarke.co.uk/blog/2013/06/getting-it-right-in-digital-print/" />
    <updated>2013-06-12T00:00:00Z</updated>
    <id>https://kevinhealyclarke.co.uk/blog/2013/06/getting-it-right-in-digital-print/</id>
    <content type="html">&lt;p&gt;When you consider the countless different mediums the ‘printed’ word is used for, it’s no surprise how ebook formats are in a constant state of change. As of writing this, there are around 25 formats in use today; the most popular being the open source EPUB format which is pretty much supported across the board (except on Kindle devices frustratingly, although there are certain kits which let you convert your EPUBs in to a suitable format for Kindles however).&lt;/p&gt;
&lt;h2 id=&quot;researching-solutions&quot;&gt;Researching solutions&lt;/h2&gt;
&lt;p&gt;Luckily there isn’t much of a learning curve getting your content ready for ebook distribution as most formats (at least all of the ones I experimented with) are essentially packages of XML and CSS files. EPUB has great support for CSS3 too but devices are understandably slow to catch up.&lt;/p&gt;
&lt;p&gt;I could waffle on for hours but there are plenty of seriously smarter people than me who have published much better resources on the subject of ebooks and their format types. At the top of the pile would have to be &lt;a href=&quot;http://www.elizabethcastro.com/&quot;&gt;Liz Castro’s&lt;/a&gt; in-depth insights in to EPUB files which essentially became the backbone of everything I’ve learn’t on the subject. I highly recommend buying her guide: &lt;a href=&quot;http://www.elizabethcastro.com/epub/&quot;&gt;EPUB Straight to the Point: Creating ebooks for the Apple iPad and other ereaders&lt;/a&gt; which she continually updates with other mini-guides as well. They’re all really well written and a must read for anyone who wants to start figuring out ebooks.&lt;/p&gt;
&lt;h2 id=&quot;how-to-solve-a-problem-like-open-minds&quot;&gt;How to solve a problem like Open Minds&lt;/h2&gt;
&lt;p&gt;The EPUB format seemed like the clear choice in translating ‘Open Minds’ in to a digital format. I began prototyping a few sample spreads using Liz Castro’s “Fixed Layouts” guide as basis. The results looked pretty promising but because I had to hard code the entire thing, the process was pretty long winded and not ideal. The magazine typically had 15 - 20 uniquely designed spreads which really needed to be retained in the digital copy as a form of visual consistency and to maintain audience interest.&lt;/p&gt;
&lt;p&gt;The approved solution was actually sitting in front of me the entire time. iBooks Author is a free WYSIWYG ebook editor from Apple which can produce rich layouts quickly and effortlessly and also includes a bunch of built in ‘widgets’ so you can add things like interactive images, videos, audio, and polls by just dragging and dropping to your layout. If you’re used to designing in programs like InDesign, then this will be pretty easy to pick up. You essentially build layouts for both portrait and landscape (although you can disable portrait mode). It may seem like double the work, but there are a few restrictions in place especially on portrait, where you’re stuck using a predetermined layout for both body copy and any widgets you’ve used. This can work out to be a double edged sword - on the one hand, you can guarantee a conformed layout in portrait, so you can focus all your time on making landscape looking great; on the other hand, if you decide to make a black background with white body copy on landscape for example, it can be really tricky to get the black background to display in portrait. I ran in to this problem a few times and unfortunately couldn’t find a better solution than compromising on a few colour and layout choices. You do however get free rein of the header area in portrait mode so if worst comes to worst you can at least make visually interesting introductions to your articles.&lt;/p&gt;
&lt;p&gt;It’s worth noting that the .iba format exported from iBooks Author is actually based on EPUB but its reliance on bespoke widget code to function means it unfortunately doesn’t adhere entirely to the EPUB standard. This essentially means iBooks Author files can only be viewed on iOS devices with the iBooks app installed – an issue if you want to have your eBook available on as many different devices as possible. As of writing, iBooks Author is the only application of its kind for making visually rich and interactive eBooks relatively painlessly, so unless Apple decide to make iBooks available on other platforms you’re unfortunately stuck on iOS for now.&lt;/p&gt;
&lt;p&gt;The results iBooks Author can produce speaks volumes for ebooks and the future of digital publishing as a whole, however its restrictions to iOS devices is a big shame. As the open source EPUB format seems to be the leading standard for ebooks at the moment, I’d very much like to see an app in a similar vein to iBooks Author, which uses the EPUB format properly so your product can be viewed on as many devices as possible.&lt;/p&gt;
</content>
  </entry>
  <entry>
    <title>Nailing your hypothesis for a better variant test</title>
    <link href="https://kevinhealyclarke.co.uk/blog/2017/05/nailing-your-hypothesis-for-a-better-variant-test/" />
    <updated>2017-05-11T00:00:00Z</updated>
    <id>https://kevinhealyclarke.co.uk/blog/2017/05/nailing-your-hypothesis-for-a-better-variant-test/</id>
    <content type="html">&lt;p&gt;Imagine you’re a few months in after launching your digital product. Stats are looking good, initial marketing has gone down well and downloads are higher than first predicted (we can dream, right?). Now that it’s out there in the wild, your team can properly start analysing and begin the pruning process; which may involve some kind of variant test. Great!&lt;/p&gt;
&lt;p&gt;A small aside – if you’re not familiar with variant tests, they go something like this:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;You write a hypothesis on what you want to test;&lt;/li&gt;
&lt;li&gt;You create variations, which are split amongst a defined percentage of users; and&lt;/li&gt;
&lt;li&gt;Once your test has gone live and enough data gathered, it should show you which variation was successful, had failed, or displayed similar outcomes.&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id=&quot;so-what-are-you-going-to-test&quot;&gt;So – what are you going to test?&lt;/h2&gt;
&lt;p&gt;There will probably be a lot of input from your team when this question rears its head; and if you’re not preparing hypotheses properly, then your tests can begin to fall apart before they’ve even begun. Let’s take a look at the following examples:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Jerry wants to try a smaller font size on the terms and conditions because he thinks they’re too big;&lt;/li&gt;
&lt;li&gt;Summer wants to test a different image on the launch screen as she thinks it’ll be more engaging; and&lt;/li&gt;
&lt;li&gt;Beth thinks the colour of the navigation is too bright and wants to test a more subtle colour scheme.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;These examples &lt;em&gt;could&lt;/em&gt; be good grounds for a variant test; but at the moment they’re just conjecture, and we’re missing a little more information which would turn these statements in to far more useful hypotheses.&lt;/p&gt;
&lt;p&gt;So what additional information is required? I’ve put together some questions which should be answered before you consider it a candidate for testing.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;em&gt;What are you testing?&lt;/em&gt; This is your initial statement. It should be short and to the point. Try not to make design decisions here.&lt;/li&gt;
&lt;li&gt;&lt;em&gt;What are you predicting?&lt;/em&gt; Your key goal for creating this test.&lt;/li&gt;
&lt;li&gt;&lt;em&gt;How are you measuring this test?&lt;/em&gt; This could be any change in a particular conversion metric.&lt;/li&gt;
&lt;li&gt;&lt;em&gt;Should you be aware of anything in the wider context?&lt;/em&gt; This could be anything outside of your tests scope which may be affected either positively or negatively.&lt;/li&gt;
&lt;li&gt;&lt;em&gt;Any suggestions for designing the test?&lt;/em&gt; This final question provides a platform for other team members to give design suggestions.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;By answering these questions you should have a hypothesis which is well-rounded, objective, and democratic within your team. Remember, the main aim of this exercise is to try and make sure everyone knows what to expect during your all-important testing phase. As a designer you have a clear understanding as to the “why” of the test, and can start making design decisions; as a developer you can see what needs to be assessed, changed and measured; and as a client you can make a more informed decision as to the benefit of doing a particular test and prioritise accordingly.&lt;/p&gt;
&lt;p&gt;I’d love to hear any thoughts or suggestions you might have on this, so do drop me a line on &lt;a href=&quot;https://twitter.com/&quot;&gt;Twitter&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;&lt;span class=&quot;p-dark&quot;&gt;Edit (01-05-2018)&lt;/span&gt; – I recently came across &lt;a href=&quot;https://blog.optimizely.com/2015/01/29/why-an-experiment-without-a-hypothesis-is-dead-on-arrival/&quot;&gt;this article&lt;/a&gt; which goes in to more detail on the same topic. Definitely worth sinking your teeth in to.&lt;/p&gt;
</content>
  </entry>
  <entry>
    <title>Another chapter begins — I&#39;m joining Twilio</title>
    <link href="https://kevinhealyclarke.co.uk/blog/2019/02/another-chapter-begins/" />
    <updated>2019-02-05T00:00:00Z</updated>
    <id>https://kevinhealyclarke.co.uk/blog/2019/02/another-chapter-begins/</id>
    <content type="html">&lt;p&gt;It’s a bright Tuesday morning and I’ve just hung up the phone after agreeing to accept a role at Twilio on a permanent basis. Familiar conflicting feelings bubble to the surface as I’m sat in my lounge: excitement battling fear, extroversion tackling introversion, &lt;a href=&quot;https://en.wikipedia.org/wiki/Fight-or-flight_response&quot; title=&quot;Fight or flight response&quot;&gt;fight vs flight&lt;/a&gt;. I’ve grown accustomed to these classic imposter syndrome traits. After 6 years of freelancing and moving between companies frequently you get used to it.&lt;/p&gt;
&lt;p&gt;I recall the decision to go freelance back in 2014, the anticipation to go and make it on my own, to choose my own projects and branch out in to the design industry. I can confidently say that I achieved most of that and was lucky enough to collaborate with some amazing people over that time too. But I have missed the long game. I’ve missed being able to consistently learn, iterate and deliver solutions for a product over a meaningful period of time.&lt;/p&gt;
&lt;p&gt;I am, of course, very excited by this new step in my career. I’ll be working with a small team in London on their ‘Programmable Applications’ initiative. I’m still struggling to understand the concept of a ‘programmable application’ but the promise of insight really interests me. My current understanding of Twilio is that they are a company made by developers, for developers. They provide API’s to help businesses connect to their customers by bridging the gap between the internet and telecoms. You’ve ordered a Deliveroo and you want to talk to your rider? &lt;em&gt;That’s&lt;/em&gt; Twilio in play right there. They’re hugely popular within the developer community and they seem to thrive within that space. I was told by various designers during the interview process that if you ask a random designer on the street “Who are Twilio?” you’ll probably just get a funny look. If you ask the same question to a developer their eyes will light up with excitement.&lt;/p&gt;
&lt;p&gt;I’ll be starting at the end of this month where I’ll be flying out to San Francisco to meet the extended team and go through training. Instead of wandering between projects every few months — there one minute and gone the next — I’ll be staying put for a while and growing roots in a new place.&lt;/p&gt;
</content>
  </entry>
  <entry>
    <title>Reflecting on 2022</title>
    <link href="https://kevinhealyclarke.co.uk/blog/2023/01/reflecting-on-2022/" />
    <updated>2023-01-01T00:00:00Z</updated>
    <id>https://kevinhealyclarke.co.uk/blog/2023/01/reflecting-on-2022/</id>
    <content type="html">&lt;p&gt;Like a lot of folks I’m kicking off 2023 looking back at the year past and planning for the next. Generally speaking I’ve always found any kind of self reflection a massive slog and hugely draining but I do see the benefit of getting &lt;em&gt;any&lt;/em&gt; thoughts out of my head and down on digital paper, so here goes.&lt;/p&gt;
&lt;h2 id=&quot;life-at-checkout-com&quot;&gt;Life at Checkout.com&lt;/h2&gt;
&lt;p&gt;I can define this past year with one word: “rollercoaster”. The backdrop of *gestures vaguely around* &lt;em&gt;this&lt;/em&gt; — specifically our economic and global issues — have left their mark. General feelings of deflatedness, low morale and “meh” have hit me (and I’m sure a lot of people) a few times this year. Thankfully I’ve been surrounded by a lot of amazing and inspiring folks, which has really helped. I’m hoping 2023 will fare better for everyone.&lt;/p&gt;
&lt;p&gt;Getting to know fintech as an industry has been a ride. I’ve picked up a lot of acronyms and terminology to last me a lifetime (no, you’re a network token). The technical complexity of making a payment — from the moment you make a payment online through to a business receiving it and available on a dashboard — is something I underestimated but after a lot of deep work I feel I could sit in on a meeting and get the jist.&lt;/p&gt;
&lt;p&gt;It has also been great to be able to ship regularly this past year. I’ve been lucky enough to lead design on some heavy hitting areas of our products while spending some of my time in the latter half of the year helping to ramp up a community-driven design system (Hoping to write more about this in the future). We’ve shipped &lt;em&gt;a lot&lt;/em&gt; though this last year so 2023 I’m looking to focus on iteration, specifically getting value out in to the wild early and building on that experience.&lt;/p&gt;
&lt;h2 id=&quot;the-craft&quot;&gt;The Craft™&lt;/h2&gt;
&lt;p&gt;I’ve explored a lot of &lt;a href=&quot;https://www.11ty.dev/&quot;&gt;11ty&lt;/a&gt; this past year and focussed on general optimisation for this site. It was a pleasant surprise to see kevhealy.com reach number 20 when submitting to the &lt;a href=&quot;https://www.11ty.dev/speedlify/kevhealy-com/&quot;&gt;11ty speedlify leaderboards&lt;/a&gt; (although this has since dropped to #30). There are a couple of things I want to explore further like moving all images out of Cloudinary (which I use primarily for responsive transformations) and leveraging the &lt;a href=&quot;https://www.11ty.dev/docs/plugins/image/&quot;&gt;11ty image utility&lt;/a&gt;to handle all of this instead. 2023 I aim to share and be open with my projects (less of the private repos).&lt;/p&gt;
&lt;p&gt;2022 has also seen my role with design systems shifting to a core facilitator and contributor, so I’ve also spent a lot of time researching design systems frameworks and patterns while also keeping tabs on what is coming around the corner. One highlight which I really love is the standardisation work being proposed by the &lt;a href=&quot;https://www.designtokens.org/&quot;&gt;DTCG&lt;/a&gt; — I’m looking forward to digging deeper in to this in 2023.&lt;/p&gt;
&lt;h2 id=&quot;music&quot;&gt;Music&lt;/h2&gt;
&lt;p&gt;2022 I’ve mainly been listening to podcasts, specifically The Adam Buxton Podcast, Athletico Mince (probably the best Bob Mortimer comedy I’ve heard) and The Moon Under the Water with John Robins (great beer chat in this). There have been a couple of albums I’ve had on loop from 2022: Lucifer on the Sofa by Spoon and Ultra Truth by Daniel Avery, both I’ve picked up on vinyl and love to bits.&lt;/p&gt;
&lt;h2 id=&quot;cycling&quot;&gt;Cycling&lt;/h2&gt;
&lt;p&gt;Honestly, this year the less said the better. My bike is finally out of storage and residing at my in-laws for the moment, so I’m keen to get more meaningful and longer road rides when spring hits.&lt;/p&gt;
&lt;h2 id=&quot;photography&quot;&gt;Photography&lt;/h2&gt;
&lt;p&gt;I got my hands on a Sony A7RIII with a 35mm prime lens and a 70-300 zoom lens which I’ve really enjoyed using. I’ve not published my photos in any meaningful way so I’m looking to get those out in the wild this year.&lt;/p&gt;
&lt;h2 id=&quot;a-new-chapter-as-a-healy-clarke&quot;&gt;A new chapter as a Healy-Clarke&lt;/h2&gt;
&lt;p&gt;2022 has been a year of life milestones and I feel super privilaged to be able to have done all of this, especially after the last few years we have all gone through. We celebrated our wedding with friends and family after getting married in lockdown 2021, both changed our surnames (the sheer pain of updating all of our records to reflect this has been absolutely ridiculous and something I never want to go through again!), visited Canada for our honeymoon and moved out of the city and in to the Kent countryside.&lt;/p&gt;
&lt;p&gt;We’ve fit a lot in to 2022 and looking forward to seeing what 2023 brings!&lt;/p&gt;
&lt;h2 id=&quot;looking-forward&quot;&gt;Looking forward&lt;/h2&gt;
&lt;p&gt;I’m not one for resolutions but I will try to frame 2023 in to one sentence to use as a guiding light:&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Focus on small and meaningful things which come together as a bigger whole. Communicate early and often, keep an open mind. Don’t be too hard on yourself.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;See you in 2023!&lt;/p&gt;
</content>
  </entry>
  <entry>
    <title>The art of retention</title>
    <link href="https://kevinhealyclarke.co.uk/blog/2023/01/the-art-of-retention/" />
    <updated>2023-01-02T00:00:00Z</updated>
    <id>https://kevinhealyclarke.co.uk/blog/2023/01/the-art-of-retention/</id>
    <content type="html">&lt;p&gt;Its 2004 and once a week after sixth form I would journey to Central St Martins in Holborn, London (at their stunning historic campus which has now sadly gone) for a 12 week Graphic Design short course. I remember showing up one day and we were all given an A4 sheet of paper each with a different brand printed on it.&lt;/p&gt;
&lt;p&gt;Our brief was to sketch out tiny changes we would make to the brand given to us and discuss with the class why we felt those changes improved the overall identity. I ended up with the brand for &lt;a href=&quot;https://www.boots.com/&quot;&gt;Boots&lt;/a&gt; (a UK health and beauty retailer with a relatively well known identity) and recall removing the oval shape containing the identity to remove a constraint I felt was not adding much.&lt;/p&gt;
&lt;p&gt;This exercise aimed to teach us about small changes making a big difference but also how retaining details can be just as important when working through a brand refresh.&lt;/p&gt;
&lt;hr&gt;
&lt;p&gt;This weekend I’ve spent some time exploring the &lt;a href=&quot;https://www.paulrand.design&quot;&gt;archives of Paul Rand&lt;/a&gt;. It’s a fantastic treasure trove of logos, presentations and concepts which I highly recommend exploring. One particular proposal for the Cummins Engine Company began with this preamble:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;“Good design as well as good business judgement dictates that in the redesign or updating of any trademark due consideration be given to the retention of any features which will contribute constructively to the development of a new design”&lt;/p&gt;
&lt;/blockquote&gt;
&lt;figure&gt;&lt;picture&gt;&lt;source type=&quot;image/avif&quot; srcset=&quot;https://kevinhealyclarke.co.uk/img/i2LbihvwEx-300.avif 300w, https://kevinhealyclarke.co.uk/img/i2LbihvwEx-600.avif 600w, https://kevinhealyclarke.co.uk/img/i2LbihvwEx-1200.avif 1200w, https://kevinhealyclarke.co.uk/img/i2LbihvwEx-1800.avif 1800w, https://kevinhealyclarke.co.uk/img/i2LbihvwEx-2150.avif 2150w&quot; sizes=&quot;(max-width: 72rem) 100vw, 75vw&quot;&gt;&lt;img loading=&quot;lazy&quot; decoding=&quot;async&quot; src=&quot;https://kevinhealyclarke.co.uk/img/i2LbihvwEx-300.jpeg&quot; alt=&quot;A scan from a trademark proposal by Paul Rand for the Cummins Engine Company.&quot; width=&quot;2150&quot; height=&quot;1200&quot; srcset=&quot;https://kevinhealyclarke.co.uk/img/i2LbihvwEx-300.jpeg 300w, https://kevinhealyclarke.co.uk/img/i2LbihvwEx-600.jpeg 600w, https://kevinhealyclarke.co.uk/img/i2LbihvwEx-1200.jpeg 1200w, https://kevinhealyclarke.co.uk/img/i2LbihvwEx-1800.jpeg 1800w, https://kevinhealyclarke.co.uk/img/i2LbihvwEx-2150.jpeg 2150w&quot; sizes=&quot;(max-width: 72rem) 100vw, 75vw&quot;&gt;&lt;/picture&gt;&lt;figcaption&gt;Source: &lt;a href=&quot;https://www.paulrand.design/work/Logo-Presentation-Books.html&quot;&gt;paulrand.design&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;
&lt;p&gt;It’s a simple enough statement but it encapsulates what we were trying to be taught in that design exercise all those years ago.&lt;/p&gt;
&lt;p&gt;Thinking about &lt;a href=&quot;https://kevinhealyclarke.co.uk/blog/2023/01/2023-01-01-reflecting-on-2022/2023-01-01-reflecting-on-2022.md&quot;&gt;the year ahead&lt;/a&gt; I’ve been telling myself to focus on iteration — this has reminded me that what we retain in our designs and experiences is just as important.&lt;/p&gt;
</content>
  </entry>
  <entry>
    <title>Reading: “Can We Teach Graphic Design History Without the Cult of Hero Worship?”
</title>
    <link href="https://kevinhealyclarke.co.uk/blog/2023/01/reading-can-we-teach-graphic-design-history-without-the-cult-of-hero-worship/" />
    <updated>2023-01-03T00:00:00Z</updated>
    <id>https://kevinhealyclarke.co.uk/blog/2023/01/reading-can-we-teach-graphic-design-history-without-the-cult-of-hero-worship/</id>
    <content type="html">&lt;p&gt;Getting through my list of things to read, &lt;a href=&quot;https://eyeondesign.aiga.org/can-we-teach-graphic-design-history-without-the-cult-of-hero-worship/&quot;&gt;this article&lt;/a&gt; from AIGA written by &lt;a href=&quot;https://aggietoppins.com/&quot;&gt;Aggie Toppins&lt;/a&gt; had me nodding along throughout.&lt;/p&gt;
&lt;p&gt;The article begins by talking about the challenge of thinking about the culture and forces that brought around a movement (like modernism) when what we are really taught about are the perceived “heroes” of those movements. This was certainly true when I was in education; we would always be reaching for the next Neville Brody, Paul Rand or Ken Garland piece to discuss and inspire us; rarely, in any meaningful way at least, would we be taught about the surrounding environment (or who they worked with) which bore their work.&lt;/p&gt;
&lt;p&gt;What really hit home is towards the end of the article where the author discusses a disenchantment with modern design practices and how designers are longingly looking back to a history where the individual creator ruled; a history which, you could argue, is a fabrication.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;“And yet, before the computer, designers relied on analogous trades to realize their plans. They worked with typesetters and printers, for example, to produce a single artifact. Design has always been controlled by outside conditions; labor has always been collaborative. Many prominent designers, even if gifted leaders, were supported by teams who created value for their businesses.”&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;The best experiences you have as a designer / maker / human being will rarely come from something you’ve done solely as an individual but something you’ve done with others. I can certainly relate to this.&lt;/p&gt;
</content>
  </entry>
  <entry>
    <title>Reading: &quot;The mysterious loudness control: What does it do?&quot;
</title>
    <link href="https://kevinhealyclarke.co.uk/blog/2023/01/reading-the-mysterious-loudness-control/" />
    <updated>2023-01-04T00:00:00Z</updated>
    <id>https://kevinhealyclarke.co.uk/blog/2023/01/reading-the-mysterious-loudness-control/</id>
    <content type="html">&lt;p&gt;Have you ever seen that button on a record player or audio system labelled &lt;em&gt;“Loudness”&lt;/em&gt; which, when toggled on, just makes the audio sound much better? &lt;a href=&quot;https://www.extron.com/article/loudnesscontrol_ts&quot;&gt;This post&lt;/a&gt; by Steve Somers goes in to the science behind this control. To be honest, although I found it hugely fascinating, most of the content went right over my head but from what I can gather the control essentially provides more power to compensate for low frequencies which is why when switched on your audio should sound much richer.&lt;/p&gt;
&lt;p&gt;What I really love about this post is why it was written in the first place: A disregarded simple design feature which went wrong and discovering the complexity involved to get it working.&lt;/p&gt;
</content>
  </entry>
  <entry>
    <title>Fixing a persistently italic variable font</title>
    <link href="https://kevinhealyclarke.co.uk/blog/2023/01/fixing-a-persistently-italic-variable-font/" />
    <updated>2023-01-05T00:00:00Z</updated>
    <id>https://kevinhealyclarke.co.uk/blog/2023/01/fixing-a-persistently-italic-variable-font/</id>
    <content type="html">&lt;p&gt;A while ago I implemented &lt;a href=&quot;https://www.myfonts.com/products/variable-tt-hoves-480643&quot;&gt;TTHoves Variable&lt;/a&gt; on this site but struggled with an issue where the entire site would render in italics. This seemed to happen persistently in Safari and sometimes (but not always) in Chrome and Firefox too.&lt;/p&gt;
&lt;p&gt;After some searching and playing around, setting the slant setting to 0 did the trick, which I applied to the body:&lt;/p&gt;
&lt;pre class=&quot;language-css&quot;&gt;&lt;code class=&quot;language-css&quot;&gt;&lt;span class=&quot;token selector&quot;&gt;body&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
    &lt;span class=&quot;token property&quot;&gt;font-variation-settings&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&#39;slnt&#39;&lt;/span&gt; 0&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;I’m not sure why this is needed on some fonts and not others. When reading up on &lt;a href=&quot;https://web.dev/variable-fonts/&quot;&gt;web.dev&lt;/a&gt; slant should default to 0 so perhaps its a setting not playing nice when exporting the font. If anyone reading this knows the answer I’d love to know!&lt;/p&gt;
&lt;p&gt;Anyway, if you’re having this issue, hopefully this sorts things for you.&lt;/p&gt;
</content>
  </entry>
  <entry>
    <title>Canada part 1</title>
    <link href="https://kevinhealyclarke.co.uk/blog/2023/01/canada-part-1/" />
    <updated>2023-01-06T00:00:00Z</updated>
    <id>https://kevinhealyclarke.co.uk/blog/2023/01/canada-part-1/</id>
    <content type="html">&lt;p&gt;A short photo series from our trip to Canada. This was my first proper outing with the Sony A7RIII using a 35mm prime and a 70-300 zoom. I love both of these lenses and found the zoom to be great for those “whats that in the distance” moments.&lt;/p&gt;
&lt;p&gt;The following photos cover our time in Banff and Yoho National Park.&lt;/p&gt;
&lt;h2 id=&quot;banff&quot;&gt;Banff&lt;/h2&gt;
&lt;p&gt;After a hefty 9 hour flight we drove straight from Calgary airport to Banff. The views here were insane and had very similar scenary throughout our trip.&lt;/p&gt;
&lt;figure&gt;&lt;picture&gt;&lt;source type=&quot;image/avif&quot; srcset=&quot;https://kevinhealyclarke.co.uk/img/wORC53e5Rb-300.avif 300w, https://kevinhealyclarke.co.uk/img/wORC53e5Rb-600.avif 600w, https://kevinhealyclarke.co.uk/img/wORC53e5Rb-1200.avif 1200w, https://kevinhealyclarke.co.uk/img/wORC53e5Rb-1800.avif 1800w, https://kevinhealyclarke.co.uk/img/wORC53e5Rb-2150.avif 2150w&quot; sizes=&quot;(max-width: 72rem) 100vw, 75vw&quot;&gt;&lt;img loading=&quot;lazy&quot; decoding=&quot;async&quot; src=&quot;https://kevinhealyclarke.co.uk/img/wORC53e5Rb-300.jpeg&quot; alt=&quot;Panoramic view of the Canadian Rockies from the top of Sulphur Mountain.&quot; width=&quot;2150&quot; height=&quot;805&quot; srcset=&quot;https://kevinhealyclarke.co.uk/img/wORC53e5Rb-300.jpeg 300w, https://kevinhealyclarke.co.uk/img/wORC53e5Rb-600.jpeg 600w, https://kevinhealyclarke.co.uk/img/wORC53e5Rb-1200.jpeg 1200w, https://kevinhealyclarke.co.uk/img/wORC53e5Rb-1800.jpeg 1800w, https://kevinhealyclarke.co.uk/img/wORC53e5Rb-2150.jpeg 2150w&quot; sizes=&quot;(max-width: 72rem) 100vw, 75vw&quot;&gt;&lt;/picture&gt;&lt;figcaption&gt;Panorama from the top of Sulphur Mountain, Banff. I used the 35mm prime for this shot and stitched it all together using Lightroom.&lt;/figcaption&gt;&lt;/figure&gt;
&lt;h2 id=&quot;takakkaw-falls&quot;&gt;Takakkaw Falls&lt;/h2&gt;
&lt;p&gt;About an hours drive from Banff heading towards the town of Golden. Takakkaw Falls were a little off the beaten track but there were still a fair amount of tourists here. Nonetheless, full of amazing landscapes and I loved the rainbow coming off the falls.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;picture&gt;&lt;source type=&quot;image/avif&quot; srcset=&quot;https://kevinhealyclarke.co.uk/img/qkRpgnnuWu-300.avif 300w, https://kevinhealyclarke.co.uk/img/qkRpgnnuWu-600.avif 600w, https://kevinhealyclarke.co.uk/img/qkRpgnnuWu-1200.avif 1200w, https://kevinhealyclarke.co.uk/img/qkRpgnnuWu-1800.avif 1800w, https://kevinhealyclarke.co.uk/img/qkRpgnnuWu-2150.avif 2150w&quot; sizes=&quot;(max-width: 72rem) 100vw, 75vw&quot;&gt;&lt;img loading=&quot;lazy&quot; decoding=&quot;async&quot; src=&quot;https://kevinhealyclarke.co.uk/img/qkRpgnnuWu-300.jpeg&quot; alt=&quot;A rainbow formed in front of Takakkaw Falls, Yoho National Park.&quot; width=&quot;2150&quot; height=&quot;1451&quot; srcset=&quot;https://kevinhealyclarke.co.uk/img/qkRpgnnuWu-300.jpeg 300w, https://kevinhealyclarke.co.uk/img/qkRpgnnuWu-600.jpeg 600w, https://kevinhealyclarke.co.uk/img/qkRpgnnuWu-1200.jpeg 1200w, https://kevinhealyclarke.co.uk/img/qkRpgnnuWu-1800.jpeg 1800w, https://kevinhealyclarke.co.uk/img/qkRpgnnuWu-2150.jpeg 2150w&quot; sizes=&quot;(max-width: 72rem) 100vw, 75vw&quot;&gt;&lt;/picture&gt;&lt;/li&gt;
&lt;li&gt;&lt;picture&gt;&lt;source type=&quot;image/avif&quot; srcset=&quot;https://kevinhealyclarke.co.uk/img/BRckjEzIH6-300.avif 300w, https://kevinhealyclarke.co.uk/img/BRckjEzIH6-600.avif 600w, https://kevinhealyclarke.co.uk/img/BRckjEzIH6-1200.avif 1200w, https://kevinhealyclarke.co.uk/img/BRckjEzIH6-1800.avif 1800w, https://kevinhealyclarke.co.uk/img/BRckjEzIH6-2150.avif 2150w&quot; sizes=&quot;(max-width: 72rem) 100vw, 75vw&quot;&gt;&lt;img loading=&quot;lazy&quot; decoding=&quot;async&quot; src=&quot;https://kevinhealyclarke.co.uk/img/BRckjEzIH6-300.jpeg&quot; alt=&quot;A rushing river formed by Takakkaw Falls, Yoho National Park, with the peak of a round mountain behind.&quot; width=&quot;2150&quot; height=&quot;1434&quot; srcset=&quot;https://kevinhealyclarke.co.uk/img/BRckjEzIH6-300.jpeg 300w, https://kevinhealyclarke.co.uk/img/BRckjEzIH6-600.jpeg 600w, https://kevinhealyclarke.co.uk/img/BRckjEzIH6-1200.jpeg 1200w, https://kevinhealyclarke.co.uk/img/BRckjEzIH6-1800.jpeg 1800w, https://kevinhealyclarke.co.uk/img/BRckjEzIH6-2150.jpeg 2150w&quot; sizes=&quot;(max-width: 72rem) 100vw, 75vw&quot;&gt;&lt;/picture&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;emerald-lake&quot;&gt;Emerald lake&lt;/h2&gt;
&lt;p&gt;We unfortunately missed sunrise here (after having to take a detour due to roadworks on Highway 1) but got here just in time to see the mist on the water. A tranquil part of the national park and wished we stayed here in the lodge.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;picture&gt;&lt;source type=&quot;image/avif&quot; srcset=&quot;https://kevinhealyclarke.co.uk/img/BpgYjnhlHs-300.avif 300w, https://kevinhealyclarke.co.uk/img/BpgYjnhlHs-600.avif 600w, https://kevinhealyclarke.co.uk/img/BpgYjnhlHs-1200.avif 1200w&quot; sizes=&quot;(max-width: 72rem) 100vw, 75vw&quot;&gt;&lt;img loading=&quot;lazy&quot; decoding=&quot;async&quot; src=&quot;https://kevinhealyclarke.co.uk/img/BpgYjnhlHs-300.jpeg&quot; alt=&quot;Harriet sat on a rock in front of Emerald Lake, Yoho National Park, with morning mist covering the surface of the water.&quot; width=&quot;1200&quot; height=&quot;800&quot; srcset=&quot;https://kevinhealyclarke.co.uk/img/BpgYjnhlHs-300.jpeg 300w, https://kevinhealyclarke.co.uk/img/BpgYjnhlHs-600.jpeg 600w, https://kevinhealyclarke.co.uk/img/BpgYjnhlHs-1200.jpeg 1200w&quot; sizes=&quot;(max-width: 72rem) 100vw, 75vw&quot;&gt;&lt;/picture&gt;&lt;/li&gt;
&lt;li&gt;&lt;picture&gt;&lt;source type=&quot;image/avif&quot; srcset=&quot;https://kevinhealyclarke.co.uk/img/fLr3aK7HvK-300.avif 300w, https://kevinhealyclarke.co.uk/img/fLr3aK7HvK-600.avif 600w, https://kevinhealyclarke.co.uk/img/fLr3aK7HvK-1200.avif 1200w&quot; sizes=&quot;(max-width: 72rem) 100vw, 75vw&quot;&gt;&lt;img loading=&quot;lazy&quot; decoding=&quot;async&quot; src=&quot;https://kevinhealyclarke.co.uk/img/fLr3aK7HvK-300.jpeg&quot; alt=&quot;A zoomed in corner of a lodge in front of Emerald Lake, Yoho National Park, with morning mist covering the surface of the water.&quot; width=&quot;1200&quot; height=&quot;800&quot; srcset=&quot;https://kevinhealyclarke.co.uk/img/fLr3aK7HvK-300.jpeg 300w, https://kevinhealyclarke.co.uk/img/fLr3aK7HvK-600.jpeg 600w, https://kevinhealyclarke.co.uk/img/fLr3aK7HvK-1200.jpeg 1200w&quot; sizes=&quot;(max-width: 72rem) 100vw, 75vw&quot;&gt;&lt;/picture&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;lake-agnes&quot;&gt;Lake Agnes&lt;/h2&gt;
&lt;p&gt;Arriving at Lake Louise we decided to bypass this famouse lake first and head up to the Lake Agnes Tea House. A very steep 2 hour hike we eventually arrived. Someone clocked a mountain goat in the far distance on the other side of the lake so I gave the zoom lens a go.&lt;/p&gt;
&lt;figure&gt;&lt;picture&gt;&lt;source type=&quot;image/avif&quot; srcset=&quot;https://kevinhealyclarke.co.uk/img/qKQyB03sE6-300.avif 300w, https://kevinhealyclarke.co.uk/img/qKQyB03sE6-600.avif 600w, https://kevinhealyclarke.co.uk/img/qKQyB03sE6-1200.avif 1200w, https://kevinhealyclarke.co.uk/img/qKQyB03sE6-1800.avif 1800w, https://kevinhealyclarke.co.uk/img/qKQyB03sE6-2150.avif 2150w&quot; sizes=&quot;(max-width: 72rem) 100vw, 75vw&quot;&gt;&lt;img loading=&quot;lazy&quot; decoding=&quot;async&quot; src=&quot;https://kevinhealyclarke.co.uk/img/qKQyB03sE6-300.jpeg&quot; alt=&quot;A mountain goat scaling a cliff face near Lake Agnes, Banff National Park.&quot; width=&quot;2150&quot; height=&quot;1434&quot; srcset=&quot;https://kevinhealyclarke.co.uk/img/qKQyB03sE6-300.jpeg 300w, https://kevinhealyclarke.co.uk/img/qKQyB03sE6-600.jpeg 600w, https://kevinhealyclarke.co.uk/img/qKQyB03sE6-1200.jpeg 1200w, https://kevinhealyclarke.co.uk/img/qKQyB03sE6-1800.jpeg 1800w, https://kevinhealyclarke.co.uk/img/qKQyB03sE6-2150.jpeg 2150w&quot; sizes=&quot;(max-width: 72rem) 100vw, 75vw&quot;&gt;&lt;/picture&gt;&lt;figcaption&gt;I love this photo of the mountain goat but can only imagine how much detail it would have been with a 400mm zoom and 2x attachment…&lt;/figcaption&gt;&lt;/figure&gt;
&lt;h2 id=&quot;lake-louise&quot;&gt;Lake Louise&lt;/h2&gt;
&lt;p&gt;We ventured back down for some time in Lake Louise and took the bus to Moraine Lake where we kayaked. I had no idea about the popularity of the changing larch in autumn and also that not all coniferous trees are evergreen — the larch in particular changes in autumn so people come to visit far and wide to witness this.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;picture&gt;&lt;source type=&quot;image/avif&quot; srcset=&quot;https://kevinhealyclarke.co.uk/img/S82XroOAaR-300.avif 300w, https://kevinhealyclarke.co.uk/img/S82XroOAaR-600.avif 600w, https://kevinhealyclarke.co.uk/img/S82XroOAaR-1200.avif 1200w&quot; sizes=&quot;(max-width: 72rem) 100vw, 75vw&quot;&gt;&lt;img loading=&quot;lazy&quot; decoding=&quot;async&quot; src=&quot;https://kevinhealyclarke.co.uk/img/S82XroOAaR-300.jpeg&quot; alt=&quot;A silhouette of hikers next to Lake Agnes tea house with the reflection of the lake in front of them.&quot; width=&quot;1200&quot; height=&quot;800&quot; srcset=&quot;https://kevinhealyclarke.co.uk/img/S82XroOAaR-300.jpeg 300w, https://kevinhealyclarke.co.uk/img/S82XroOAaR-600.jpeg 600w, https://kevinhealyclarke.co.uk/img/S82XroOAaR-1200.jpeg 1200w&quot; sizes=&quot;(max-width: 72rem) 100vw, 75vw&quot;&gt;&lt;/picture&gt;&lt;/li&gt;
&lt;li&gt;&lt;picture&gt;&lt;source type=&quot;image/avif&quot; srcset=&quot;https://kevinhealyclarke.co.uk/img/dN9NGAUouY-300.avif 300w, https://kevinhealyclarke.co.uk/img/dN9NGAUouY-600.avif 600w, https://kevinhealyclarke.co.uk/img/dN9NGAUouY-1200.avif 1200w&quot; sizes=&quot;(max-width: 72rem) 100vw, 75vw&quot;&gt;&lt;img loading=&quot;lazy&quot; decoding=&quot;async&quot; src=&quot;https://kevinhealyclarke.co.uk/img/dN9NGAUouY-300.jpeg&quot; alt=&quot;Orange larch trees amongst evergreen trees on a cliff face above Lake Louise, Banff National Park.&quot; width=&quot;1200&quot; height=&quot;800&quot; srcset=&quot;https://kevinhealyclarke.co.uk/img/dN9NGAUouY-300.jpeg 300w, https://kevinhealyclarke.co.uk/img/dN9NGAUouY-600.jpeg 600w, https://kevinhealyclarke.co.uk/img/dN9NGAUouY-1200.jpeg 1200w&quot; sizes=&quot;(max-width: 72rem) 100vw, 75vw&quot;&gt;&lt;/picture&gt;&lt;/li&gt;
&lt;/ul&gt;
</content>
  </entry>
  <entry>
    <title>Day 1 of tiny whoops</title>
    <link href="https://kevinhealyclarke.co.uk/blog/2023/01/day-1-of-tiny-whoops/" />
    <updated>2023-01-08T00:00:00Z</updated>
    <id>https://kevinhealyclarke.co.uk/blog/2023/01/day-1-of-tiny-whoops/</id>
    <content type="html">&lt;p&gt;This weekend I opened the box on my new &lt;a href=&quot;https://www.flyingtech.co.uk/rtfkits/happymodel-moblite7-1s-ultralight-75mm-whoop&quot;&gt;Moblite7&lt;/a&gt;, &lt;a href=&quot;https://www.flyingtech.co.uk/electronics/jumper-t-pro-radio-transmitter-4in1-multi-protocol-elrs&quot;&gt;Jumper T-Pro radio&lt;/a&gt; and
&lt;a href=&quot;https://www.unmannedtechshop.co.uk/product/betafpv-vr03-fpv-goggles-w-dvr/&quot;&gt;BetaFPV Goggles&lt;/a&gt; (Big thanks to Will Cheyney for the suggestions on equipment).&lt;/p&gt;
&lt;p&gt;After a long few hours scratching my head and figuring out how to connect it all together I finally got the little guy in the air… and very quickly off the ceiling, off the walls and ultimately on the floor. I’m an absolutely awful pilot but what is amazing is the strong community around this stuff. There are a ton of videos and posts to delve in to which I hope will help me to improve.&lt;/p&gt;
&lt;p&gt;Next steps:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Fly in a straight line, turn around and come back without crashing&lt;/li&gt;
&lt;li&gt;Get familiar with &lt;a href=&quot;https://betaflight.com/&quot;&gt;Betaflight&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Figure out the settings on the radio to help with fine tuning&lt;/li&gt;
&lt;/ul&gt;
</content>
  </entry>
  <entry>
    <title>Using grade to add emphasis</title>
    <link href="https://kevinhealyclarke.co.uk/blog/2023/01/using-grade-to-add-emphasis/" />
    <updated>2023-01-09T00:00:00Z</updated>
    <id>https://kevinhealyclarke.co.uk/blog/2023/01/using-grade-to-add-emphasis/</id>
    <content type="html">&lt;p&gt;In the past I’ve explored adding a medium or semi-bold weight to a link or button when hovering — it gives a little bit of additional visual feedback that this thing is going to do something when you interact with it. This is obviously very easy to accomplish in Sketch or Figma but I would instantly regret it when building this with CSS — unless I added a bunch of absolute positioning and layout hacks the change in font weight would nudge surrounding elements and create a jarring experience, especially on body copy.&lt;/p&gt;
&lt;p&gt;With variable fonts however we now have access to the &lt;em&gt;grade axis&lt;/em&gt; which alters the thickness of a characters stroke without affecting the overall width, spacing or kerning — perfect!&lt;/p&gt;
&lt;p&gt;We can easily access the grade axis in CSS. Lets add a change to the grade on all anchor links on hover:&lt;/p&gt;
&lt;pre class=&quot;language-css&quot;&gt;&lt;code class=&quot;language-css&quot;&gt;&lt;span class=&quot;token selector&quot;&gt;a&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
    &lt;span class=&quot;token property&quot;&gt;font-variation-settings&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&#39;GRAD&#39;&lt;/span&gt; 0&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
&lt;span class=&quot;token selector&quot;&gt;a:hover&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
    &lt;span class=&quot;token property&quot;&gt;font-variation-settings&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&#39;GRAD&#39;&lt;/span&gt; 88&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;With this added (and of course with a variable font imported) you should see a change without any layout shifts.&lt;/p&gt;
&lt;h2 id=&quot;support&quot;&gt;Support&lt;/h2&gt;
&lt;p&gt;Unfortunately the ability to edit the grade axis isn’t available on all variable fonts — if you’re using a font which you’ve purchased and are not sure try putting it through &lt;a href=&quot;https://wakamaifondue.com/&quot;&gt;wakamaifondue&lt;/a&gt; and if you can tweak the GRAD axis then congrats, its available in the font.&lt;/p&gt;
</content>
  </entry>
  <entry>
    <title>Blitz through a MacBook battery using &#39;yes&#39;</title>
    <link href="https://kevinhealyclarke.co.uk/blog/2025/10/blitz-through-a-macbook-battery-using-yes/" />
    <updated>2025-10-01T15:19:53Z</updated>
    <id>https://kevinhealyclarke.co.uk/blog/2025/10/blitz-through-a-macbook-battery-using-yes/</id>
    <content type="html">&lt;p&gt;Before diving in it’s worth mentioning that my command line experience is very much limited to running a few git commands or executing a local server – it’s beginners to say the least – so do read the following contents with that in mind!&lt;/p&gt;
&lt;p&gt;A little bit about &lt;code&gt;yes&lt;/code&gt;: when run, &lt;code&gt;yes&lt;/code&gt; prints out a specified string and a new line as a continuous stream until stopped. If no string is given then it prints out ‘y’ by default:&lt;/p&gt;
&lt;pre class=&quot;language-sh-session&quot;&gt;&lt;code class=&quot;language-sh-session&quot;&gt;&lt;span class=&quot;token output&quot;&gt;yes “All work and no play…”
All work and no play…
All work and no play…
All work and no play…
All work and no play…
All work and no play…
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;You get the gist. Not useful at all on its own (unless your name is &lt;a href=&quot;https://en.m.wikipedia.org/wiki/Jack_Torrance&quot; target=&quot;_blank&quot; rel=&quot;noopener noreferrer&quot;&gt;Jack Torrance&lt;/a&gt;) but when piped in to other commands it’ll provide an automatic response to any command that might require one and then stop once the chain is complete.&lt;/p&gt;
&lt;p&gt;For example, I use &lt;a href=&quot;https://cleanshot.com/&quot; target=&quot;_blank&quot; rel=&quot;noopener noreferrer&quot;&gt;CleanShot&lt;/a&gt; for screenshotting (it’s great – I highly recommend it). Every now and then I use the command line to clean out all the screenshots from my Desktop. I typically run this command: &lt;code&gt;rm -i &amp;quot;CleanShot&amp;quot;*.png&lt;/code&gt; (I use &lt;code&gt;-i&lt;/code&gt; to provide a confirmation for each screenshot just in case I delete the wrong file). Now, if I’m feeling bold, I can pipe this command after &lt;code&gt;yes&lt;/code&gt; and it will handle all of the confirmation for me: &lt;code&gt;yes | rm -i &amp;quot;CleanShot&amp;quot;*.png&lt;/code&gt; (you can also achieve the same thing by using the force &lt;code&gt;-f&lt;/code&gt; flag on the &lt;code&gt;rm&lt;/code&gt; command instead for the same effect).&lt;/p&gt;
&lt;p&gt;So what does this have to do with testing the charge on a MacBook Air battery? Well it’s actually the continuous stream side effect I mentioned earlier that we’re interested in. I’d replaced the battery and in order to test that it was working as expected, I wanted to take it through a charge, drain and then a final recharge cycle. To drain the battery as quickly as possible maxing out the CPU load is your best bet. This is where reaching for &lt;code&gt;yes&lt;/code&gt; comes in to play.&lt;/p&gt;
&lt;p&gt;Here is the command to run:&lt;/p&gt;
&lt;pre class=&quot;language-sh-session&quot;&gt;&lt;code class=&quot;language-sh-session&quot;&gt;&lt;span class=&quot;token output&quot;&gt;yes &gt; /dev/null &amp;amp;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;This command is doing a few things:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;yes&lt;/code&gt;: we get a continuous stream of &lt;code&gt;y&lt;/code&gt; as fast as the CPU can manage&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&amp;gt; /dev/null&lt;/code&gt;: we’re redirecting the output of &lt;code&gt;yes&lt;/code&gt; and putting it in to &lt;code&gt;/dev/null&lt;/code&gt; which, for Unix systems, is instantly thrown out (also known as the &lt;a href=&quot;https://peltekis.dev/blog/understanding-dev-null-the-blackhole-of-unix/&quot; target=&quot;_blank&quot; rel=&quot;noopener noreferrer&quot;&gt;black hole&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&amp;amp;&lt;/code&gt;: this pushes the process in to the background so you can continue using the command line&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;By opening up the Activity Monitor on your Mac you’ll see your CPU load increasing. If your CPU has multiple cores (and it most likely does) you will want to run that same command a few times to get to 100% load. This worked wonders and got the battery from around 7 hours of charge time down to 15 minutes!&lt;/p&gt;
&lt;p&gt;To finish things up, when the battery had dropped to around 5%, to avoid a forced shutdown I ran &lt;code&gt;killall yes&lt;/code&gt; which terminates the command completely.&lt;/p&gt;
&lt;p&gt;And that’s it! Job well done in my book. Anyway, the following video sums up ‘yes’ in a nutshell if you’re interested:&lt;/p&gt;
&lt;iframe width=&quot;560&quot; height=&quot;315&quot; src=&quot;https://www.youtube.com/embed/0bYY8m1Lb2I?si=XEJ0ItfIY3gYrEZ6&quot; title=&quot;YouTube video player&quot; frameborder=&quot;0&quot; allow=&quot;accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share&quot; referrerpolicy=&quot;strict-origin-when-cross-origin&quot; allowfullscreen=&quot;&quot;&gt;&lt;/iframe&gt;</content>
  </entry>
</feed>