<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>clairecodes</title>
    <link>https://www.clairecodes.com/</link>
    <description>Recent content on clairecodes</description>
    <generator>Hugo -- gohugo.io</generator>
    <language>en-gb</language>
    <lastBuildDate>Tue, 03 Oct 2023 14:51:53 +0100</lastBuildDate>
    
	<atom:link href="https://www.clairecodes.com/index.xml" rel="self" type="application/rss+xml" />
    
    
    <item>
      <title>Dev Diary Entry, 3rd October 2023</title>
      <link>https://www.clairecodes.com/dev-diary/2023-10-03/</link>
      <pubDate>Tue, 03 Oct 2023 14:51:53 +0100</pubDate>
      
      <guid>https://www.clairecodes.com/dev-diary/2023-10-03/</guid>
      <description>I&amp;rsquo;m having another go at Blogtober starting this week, where I post something every day through October. I haven&amp;rsquo;t posted a Dev Diary for ages and in my made-up rules this will count towards my count of 31 posts this month.
What have I been up to? Professionally, I&amp;rsquo;ve moved from a design role back into a development role which has been very fun. The world of web development has changed a lot since 2019, but coding is like riding a bike.</description>
    </item>
    
    <item>
      <title>Blogtober 2023</title>
      <link>https://www.clairecodes.com/blog/2023-10-01-blogtober-2023//</link>
      <pubDate>Sun, 01 Oct 2023 23:20:09 +0100</pubDate>
      
      <guid>https://www.clairecodes.com/blog/2023-10-01-blogtober-2023//</guid>
      <description> Here we go again! My yearly attempt at building a writing habit by publishing a blog post each day throughout October. I made it to day 3 last year! This time I&amp;rsquo;m more prepared, with 20+ ideas for short blogs about web development. Fingers crossed!
2023 Blogtober Posts  1st October - this one!  </description>
    </item>
    
    <item>
      <title>How to Group Hugo Posts by Year</title>
      <link>https://www.clairecodes.com/blog/2023-07-20-how-to-group-hugo-posts-by-year//</link>
      <pubDate>Thu, 20 Jul 2023 15:50:10 +0100</pubDate>
      
      <guid>https://www.clairecodes.com/blog/2023-07-20-how-to-group-hugo-posts-by-year//</guid>
      <description>Here&amp;rsquo;s how to group and count posts by year in Hugo, using the GroupByDate function.
Within a list.html layout template:
&amp;lt;ul&amp;gt; {{ range .Pages.GroupByDate &amp;quot;2006&amp;quot; }} &amp;lt;li&amp;gt;There were {{ len .Pages }} posts in the year {{ .Key }}&amp;lt;/li&amp;gt; &amp;lt;!-- You can add another range here to get individual posts, for example: --&amp;gt; &amp;lt;!-- {{ range .Pages.ByTitle }} --&amp;gt; {{ end }} &amp;lt;/ul&amp;gt; &amp;lt;div&amp;gt;There are {{ len .Pages }} total posts.</description>
    </item>
    
    <item>
      <title>Accessible Grey Colour Combinations</title>
      <link>https://www.clairecodes.com/blog/2022-10-03-accessible-grey-colour-combinations//</link>
      <pubDate>Mon, 03 Oct 2022 22:01:26 +0100</pubDate>
      
      <guid>https://www.clairecodes.com/blog/2022-10-03-accessible-grey-colour-combinations//</guid>
      <description>It&amp;rsquo;s important to build accessible web experiences, and while there is no substitute for in person, manual accessibility testing, there are certain metrics that tools like Google Lighthouse and WAVE expect to be satisfied. One of these is colour contrast ratios. If a background and foreground colour combination doesn&amp;rsquo;t reach a certain ratio then it&amp;rsquo;s considered to fail WCAG compliance, which is bad. 🙅‍♀️ (N.B. this post won&amp;rsquo;t cover the maths or the reasoning behind these calculations.</description>
    </item>
    
    <item>
      <title>My Experience With a Standing Desk</title>
      <link>https://www.clairecodes.com/blog/2022-10-02-my-experience-with-a-standing-desk//</link>
      <pubDate>Sun, 02 Oct 2022 23:46:53 +0100</pubDate>
      
      <guid>https://www.clairecodes.com/blog/2022-10-02-my-experience-with-a-standing-desk//</guid>
      <description>Since Covid, I primarily work from home and bought myself a standing desk especially for this purpose. Here&amp;rsquo;s some thoughts and observations on my experience with a standing desk from the past two years.
The desk is a white Ikea Skarsta. It&amp;rsquo;s adjustable with a manual crank. I chose this model because I like Ikea&amp;rsquo;s quality and also their prices. It&amp;rsquo;s big enough to fit two monitors, a laptop, a keyboard, a mouse, a notebook, a glass of water, a coffee mug and a mobile phone comfortably.</description>
    </item>
    
    <item>
      <title>Blogtober 2022 Introduction</title>
      <link>https://www.clairecodes.com/blog/2022-10-01-blogtober-2022-introduction//</link>
      <pubDate>Sat, 01 Oct 2022 13:27:07 +0100</pubDate>
      
      <guid>https://www.clairecodes.com/blog/2022-10-01-blogtober-2022-introduction//</guid>
      <description>All Blogtober 2022 Posts  1st October: this post 2nd October: My Experience With a Standing Desk 3rd October: Accessible Grey Colour Combinations  Blogtober 2022 I challenged myself to Blogtober 4 years ago in 2018 and ended up publishing 22 blog posts (out of 31) and finding it pretty fun too. This page lists all my Blogtober 2018 posts. I&amp;rsquo;ve completely lost my writing habit, so I thought the Blogtober challenge would be a great way to rediscover it.</description>
    </item>
    
    <item>
      <title>Dev Diary Entry, 5th April 2022</title>
      <link>https://www.clairecodes.com/dev-diary/2022-04-05/</link>
      <pubDate>Tue, 05 Apr 2022 20:12:11 +0100</pubDate>
      
      <guid>https://www.clairecodes.com/dev-diary/2022-04-05/</guid>
      <description>I haven&amp;rsquo;t posted any content for so long that I&amp;rsquo;ve become afraid of publishing again. I lose my nerve and inevitably my confidence and go back to square one where I feel I have nothing to share. This is after blogging and working in tech for A Long Time Now (8 years I think?). So here I am writing about nothing in particular just to break the cycle and start posting again.</description>
    </item>
    
    <item>
      <title>Dev Diary Entry, 15th November 2021</title>
      <link>https://www.clairecodes.com/dev-diary/2021-11-15/</link>
      <pubDate>Mon, 15 Nov 2021 14:36:04 +0000</pubDate>
      
      <guid>https://www.clairecodes.com/dev-diary/2021-11-15/</guid>
      <description>I revisited the codebase of this blog recently for the first time in months and was very grateful for the Readme file. Past-Claire had written enough instructions so that Future-Claire could get developing quickly. This is your regular reminder to create documentation for whoever maintains the code after you, even it&amp;rsquo;s yourself!</description>
    </item>
    
    <item>
      <title>Dev Diary Entry, 8th November 2021</title>
      <link>https://www.clairecodes.com/dev-diary/2021-11-08/</link>
      <pubDate>Mon, 08 Nov 2021 13:33:50 +0000</pubDate>
      
      <guid>https://www.clairecodes.com/dev-diary/2021-11-08/</guid>
      <description>How has another 3 months gone by with me barely posting anything? All my 2021 goals are looking very unrealistic (post x number of blog posts, read x number of books) so it&amp;rsquo;s easy to think 2021 has been &amp;ldquo;unsuccessful&amp;rdquo;. However, since the last UK lockdown ended in Spring, 2021 has been a vast improvement on 2020 for me personally, and content creation and consumption have been replaced by actually getting out and doing things in real life 🎉.</description>
    </item>
    
    <item>
      <title>Dev Diary Entry, 9th August 2021</title>
      <link>https://www.clairecodes.com/dev-diary/2021-08-09/</link>
      <pubDate>Mon, 09 Aug 2021 15:24:17 +0100</pubDate>
      
      <guid>https://www.clairecodes.com/dev-diary/2021-08-09/</guid>
      <description>It&amp;rsquo;s been over three months since I published something on the internet! Did I even exist for that period of time?? The reason for not being on the internet was being out in the real world instead. The UK has gradually eased lockdown restrictions since Spring and at the time of writing we are the most pre-pandemic than we&amp;rsquo;ve been since March 2020. Workwise this means I&amp;rsquo;ve been able to return to an office!</description>
    </item>
    
    <item>
      <title>Dev Diary Entry, 27th April 2021</title>
      <link>https://www.clairecodes.com/dev-diary/2021-04-27/</link>
      <pubDate>Tue, 27 Apr 2021 13:19:13 +0100</pubDate>
      
      <guid>https://www.clairecodes.com/dev-diary/2021-04-27/</guid>
      <description>When I started working from home last year I bought myself a standing desk. It&amp;rsquo;s a basic model from Ikea with a manual crank to adjust the height. I really like using it, but on busy days I often forget to change the height and end up sitting all day! Another thing no one tells you is that you need to build up your stamina: I could barely manage half an hour standing when I started.</description>
    </item>
    
    <item>
      <title>Dev Diary Entry, 31st March 2021</title>
      <link>https://www.clairecodes.com/dev-diary/2021-03-31/</link>
      <pubDate>Wed, 31 Mar 2021 15:22:27 +0100</pubDate>
      
      <guid>https://www.clairecodes.com/dev-diary/2021-03-31/</guid>
      <description>I consider deleting my Twitter account quite a lot - I never tweet or interact with others on it. I only use it on my laptop which minimises the time I spend on it, but nevertheless I waste too much time reading people moaning in 280 characters or less. But it still has a strong tech community, plus every now and again someone retweets an old blog post of mine to say it had helped them, which I love!</description>
    </item>
    
    <item>
      <title>Dev Diary Entry, 24th March 2021</title>
      <link>https://www.clairecodes.com/dev-diary/2021-03-24/</link>
      <pubDate>Wed, 24 Mar 2021 22:08:50 +0000</pubDate>
      
      <guid>https://www.clairecodes.com/dev-diary/2021-03-24/</guid>
      <description>I use Google Keep to keep track of ideas for blog posts, Instagram posts and coding projects: maybe a new CSS feature I&amp;rsquo;d like to tinker with or a feature idea for my blog. Unfortunately my Keep account has evolved into a graveyard for ideas. I&amp;rsquo;m determined not to waste these little thoughts so lately I&amp;rsquo;ve been sorting through them and salvaging what I can for inspiration. However a lot of ideas just go stale - my interests and opinions change quickly and I should learn to strike while the iron is hot in the future (I won&amp;rsquo;t though!</description>
    </item>
    
    <item>
      <title>One Sided Borders in Figma</title>
      <link>https://www.clairecodes.com/blog/2021-03-24-one-sided-borders-in-figma//</link>
      <pubDate>Wed, 24 Mar 2021 22:06:08 +0000</pubDate>
      
      <guid>https://www.clairecodes.com/blog/2021-03-24-one-sided-borders-in-figma//</guid>
      <description>One feature I&amp;rsquo;d love to see in Figma is the ability to add a border (or stroke) to just one side of a rectangle. Currently strokes apply to the whole shape and so do any customisations. This is a shame since a border on a single edge can easily be achieved in CSS with declarations like border-bottom and border-left.
In the meantime, using the &amp;ldquo;inner shadow&amp;rdquo; effect can create the appearance of a solid border on only one side of a shape.</description>
    </item>
    
    <item>
      <title>Dev Diary Entry, 17th March 2021</title>
      <link>https://www.clairecodes.com/dev-diary/2021-03-17/</link>
      <pubDate>Wed, 17 Mar 2021 14:07:04 +0000</pubDate>
      
      <guid>https://www.clairecodes.com/dev-diary/2021-03-17/</guid>
      <description>Some of my &amp;ldquo;old&amp;rdquo; blog posts (written more than two years ago) here on clairecodes are some of my top 10 posts in terms of traffic. One of these is Displaying Column Card Counts in Trello. I reread it and realised it was inaccurate since Trello had updated their UI, so I&amp;rsquo;ve updated it to reflect the changes. But once I started editing the post I couldn&amp;rsquo;t stop! I cringed at my verbose tone of voice and liberally used the delete key!</description>
    </item>
    
    <item>
      <title>Dev Diary Entry, 9th March 2021</title>
      <link>https://www.clairecodes.com/dev-diary/2021-03-09/</link>
      <pubDate>Tue, 09 Mar 2021 16:19:06 +0000</pubDate>
      
      <guid>https://www.clairecodes.com/dev-diary/2021-03-09/</guid>
      <description>I took part in a blind coding challenge this week with my other frontend colleagues. We paired up and had 30 minutes to recreate a design in CodePen using only CSS and HTML. The catch was that we hid the live preview screen, and viewed the result only after the time was up together with the rest of the team. It was fun and the results varied a lot!</description>
    </item>
    
    <item>
      <title>Dev Diary Entry, 24th February 2021</title>
      <link>https://www.clairecodes.com/dev-diary/2021-02-24/</link>
      <pubDate>Wed, 24 Feb 2021 21:43:08 +0000</pubDate>
      
      <guid>https://www.clairecodes.com/dev-diary/2021-02-24/</guid>
      <description>We&amp;rsquo;ve got several more weeks of lockdown in the UK ahead of us and it sapped my enthusiasm for hobbies this week. My solution to these low moods? Exercise, but really quick sessions that I can easily fit into my day. There&amp;rsquo;s tonnes of short, free workouts available on YouTube which are all I need to release a few endorphins, or get me out of that mid-afternoon energy slump while working from home.</description>
    </item>
    
    <item>
      <title>Creating Custom Front Matter in Hugo Files</title>
      <link>https://www.clairecodes.com/blog/2021-02-19-creating-custom-front-matter-in-hugo-files//</link>
      <pubDate>Fri, 19 Feb 2021 13:53:44 +0000</pubDate>
      
      <guid>https://www.clairecodes.com/blog/2021-02-19-creating-custom-front-matter-in-hugo-files//</guid>
      <description>Front matter is metadata found at the top of each Markdown post in a Hugo site. Front matter captures data associated with the post and is a powerful tool for personalising your Hugo site. This article explains how to customise the fields in the front matter.
Let&amp;rsquo;s define some Hugo terminology first:
 content type - how Hugo defines and organises your content. For example, creating a file with the command hugo new posts/my-first-post.</description>
    </item>
    
    <item>
      <title>Dev Diary Entry, 16th February 2021</title>
      <link>https://www.clairecodes.com/dev-diary/2021-02-16/</link>
      <pubDate>Tue, 16 Feb 2021 12:59:56 +0000</pubDate>
      
      <guid>https://www.clairecodes.com/dev-diary/2021-02-16/</guid>
      <description>After last week&amp;rsquo;s question on which static site generator is coolest, I came across the Jamstack website which lists hundreds of them! It doesn&amp;rsquo;t answer the question of which one is the coolest, but it gives an idea of which ones are most popular.</description>
    </item>
    
    <item>
      <title>Dev Diary Entry, 9th February 2021</title>
      <link>https://www.clairecodes.com/dev-diary/2021-02-09/</link>
      <pubDate>Tue, 09 Feb 2021 22:05:21 +0000</pubDate>
      
      <guid>https://www.clairecodes.com/dev-diary/2021-02-09/</guid>
      <description>What do all the cool kids use for building their personal sites nowadays? I see more and more declaring &amp;ldquo;Built with 11ty&amp;rdquo; in the footer, rather than Gatsby, which used to be the framework everyone talked about. The current iteration of clairecodes uses Hugo, which is built in Go. I&amp;rsquo;m no Gopher (was going to learn as a hobby but never got round to it) but it doesn&amp;rsquo;t stop me from accomplishing everything I need to with Hugo, and it&amp;rsquo;s very fast.</description>
    </item>
    
    <item>
      <title>2020 Review</title>
      <link>https://www.clairecodes.com/blog/2021-02-09-2020-review//</link>
      <pubDate>Tue, 09 Feb 2021 22:03:08 +0000</pubDate>
      
      <guid>https://www.clairecodes.com/blog/2021-02-09-2020-review//</guid>
      <description>2020 - what a year! This is my annual review post where I list some stats and reflections on the past year and a goal or two for the coming year. You can read my reviews for 2019 here and 2018 here.
Blog posts published: 6 Blogging definitely wasn&amp;rsquo;t my strong point this year, and I published even fewer than 2019&amp;rsquo;s total of 17 blogs. I felt like I didn&amp;rsquo;t have anything to write about while I was on maternity leave, then once I was back in work I never had the energy or motivation of an evening to write.</description>
    </item>
    
    <item>
      <title>Dev Diary Entry, 2nd February 2021</title>
      <link>https://www.clairecodes.com/dev-diary/2021-02-02/</link>
      <pubDate>Tue, 02 Feb 2021 20:44:59 +0000</pubDate>
      
      <guid>https://www.clairecodes.com/dev-diary/2021-02-02/</guid>
      <description>I&amp;rsquo;ve been a Mac user for both work and personal use since 2015, but sadly (for me) my current workplace only uses Windows. Back to the world of ctrl-alt-delete for me! I keep forgetting that Windows file paths use back slashes \ compared to the Mac/Linux forward slash /. I&amp;rsquo;m having a hard time remembering all my keyboard shortcuts for Mac VSCode too! I&amp;rsquo;m not fluently bilinugal in operating systems quite yet.</description>
    </item>
    
    <item>
      <title>Font-face and Styled Components</title>
      <link>https://www.clairecodes.com/blog/2021-02-01-font-face-and-styled-components//</link>
      <pubDate>Mon, 01 Feb 2021 14:01:55 +0000</pubDate>
      
      <guid>https://www.clairecodes.com/blog/2021-02-01-font-face-and-styled-components//</guid>
      <description>A method to add a font using font-face to a React app using styled-components.
Adding a Google font to your project using a &amp;lt;link&amp;gt; tag is quick and easy, but you may want to self-host these files instead, perhaps for performance reasons. Or maybe your project uses a non-Google font! How can you add font files with @font-face to a project that uses styled components?
The first step is to obtain your font files.</description>
    </item>
    
    <item>
      <title>Dev Diary Entry, 27th January 2021</title>
      <link>https://www.clairecodes.com/dev-diary/2021-01-27/</link>
      <pubDate>Wed, 27 Jan 2021 21:05:39 +0000</pubDate>
      
      <guid>https://www.clairecodes.com/dev-diary/2021-01-27/</guid>
      <description>I feel pretty experienced in building a website at this point in my life, but every time I have to add a font to a project I have to google every step of it! Then I spend another few painful minutes making sure my file import paths are correct (and cursing myself for not setting up absolute imports) and I question whether I ever knew how to code at all. Admittedly this gets a little quicker each time, as I can pick out the blog post on installing fonts that I&amp;rsquo;ve read several times before in my search results.</description>
    </item>
    
    <item>
      <title>Dev Diary Entry, 20th January 2021</title>
      <link>https://www.clairecodes.com/dev-diary/2021-01-20/</link>
      <pubDate>Wed, 20 Jan 2021 13:10:21 +0000</pubDate>
      
      <guid>https://www.clairecodes.com/dev-diary/2021-01-20/</guid>
      <description>I&amp;rsquo;m trying to decide whether to buy a protective case for my one month old MacBook Air. Although I try to be extra careful how I handle it, an accident is bound to happen soon, especially with a toddler around who likes throwing things. I used a plastic shell case with my last MacBook, but it didn&amp;rsquo;t fit completely snug and ended up with grit trapped in it that scratched the case!</description>
    </item>
    
    <item>
      <title>Dev Diary Entry, 12th January 2021</title>
      <link>https://www.clairecodes.com/dev-diary/2021-01-12/</link>
      <pubDate>Tue, 12 Jan 2021 19:28:19 +0000</pubDate>
      
      <guid>https://www.clairecodes.com/dev-diary/2021-01-12/</guid>
      <description>Entering a third lockdown in the UK and I feel at peace with it this time round. The stress of Christmas is over, I had a good break from work and now for at least six weeks I&amp;rsquo;m not to leave my house, unless for exercise or supermarket trips. No, I&amp;rsquo;m not pleased that I can&amp;rsquo;t go anywhere or see anyone, but removing the uncertainty of the situation makes me feel calmer for now.</description>
    </item>
    
    <item>
      <title>Dev Diary Entry, 6th January 2021</title>
      <link>https://www.clairecodes.com/dev-diary/2021-01-04/</link>
      <pubDate>Mon, 04 Jan 2021 22:49:54 +0000</pubDate>
      
      <guid>https://www.clairecodes.com/dev-diary/2021-01-04/</guid>
      <description>It&amp;rsquo;s like old times again, posting my Dev Diary during another UK-wide lockdown! Only this time I&amp;rsquo;m working instead of being a full-time mum and the weather is awful. Luckily nursery is still open so I can continue work uninterrupted, but the freezing weather and dark evenings are making this isolation much more difficult. YouTube workout videos and lunchtime dog walks have become essential on workdays to keep my morale up.</description>
    </item>
    
    <item>
      <title>Dev Diary Entry, 30th December 2020</title>
      <link>https://www.clairecodes.com/dev-diary/2020-12-30/</link>
      <pubDate>Wed, 30 Dec 2020 16:06:33 +0000</pubDate>
      
      <guid>https://www.clairecodes.com/dev-diary/2020-12-30/</guid>
      <description>Last Dev Diary of the year and time to reflect. I normally do a year in review blog post covering how I&amp;rsquo;ve found the year development-wise, which I&amp;rsquo;ll write for 2020. I&amp;rsquo;ve enjoyed writing Dev Diary entries this year and found they were a pleasant weekly distraction during the strict three month lockdown we had over spring. I&amp;rsquo;ve tinkered with the format of them lately to improve how useful they are, and hope to continue writing them more regularly next year.</description>
    </item>
    
    <item>
      <title>Dev Diary Entry, 9th December 2020</title>
      <link>https://www.clairecodes.com/dev-diary/2020-12-09/</link>
      <pubDate>Wed, 09 Dec 2020 15:49:51 +0000</pubDate>
      
      <guid>https://www.clairecodes.com/dev-diary/2020-12-09/</guid>
      <description>I&amp;rsquo;ve got a new MacBook Air this week. I&amp;rsquo;ve &amp;ldquo;downgraded&amp;rdquo; from a 2018 MacBook Pro to an Air, since I don&amp;rsquo;t feel I need the beefier spec of the Pro model. I mostly use my laptop for web browsing and developing web applications, and weight is also important to me as I travel with it too (well, theoretically &amp;hellip;). There&amp;rsquo;s a sweet spot for finding the best time to upgrade your tech products to get a good price for your older gear.</description>
    </item>
    
    <item>
      <title>Dev Diary Entry, 1st December 2020</title>
      <link>https://www.clairecodes.com/dev-diary/2020-12-01/</link>
      <pubDate>Tue, 01 Dec 2020 13:26:26 +0000</pubDate>
      
      <guid>https://www.clairecodes.com/dev-diary/2020-12-01/</guid>
      <description>My coding Instagram account has been dormant since July. It seems a shame since I spent so much time on it over the past couple of years. I got a bit fed up of taking photos though, which is pivotal to a photo-sharing platform! Plus I didn&amp;rsquo;t like the focus on stories and videos - I just like writing lengthy captions no one reads. Blogging like this suits me more, plus gives me ownership of the content.</description>
    </item>
    
    <item>
      <title>Dev Diary Entry, 25th November 2020</title>
      <link>https://www.clairecodes.com/dev-diary/2020-11-25/</link>
      <pubDate>Wed, 25 Nov 2020 08:45:00 +0000</pubDate>
      
      <guid>https://www.clairecodes.com/dev-diary/2020-11-25/</guid>
      <description>I&amp;rsquo;ve been at my current paid job for five months now and it&amp;rsquo;s a big change of direction from my previous roles. I concentrate more on the design and UX side of frontend rather than the guts of React and Redux. I&amp;rsquo;m having a great time delving into this side of web devlopment and learn so much day-to-day. Consequently I find myself more mentally tired than when I was &amp;ldquo;only&amp;rdquo; writing CSS and JavaScript.</description>
    </item>
    
    <item>
      <title>Dev Diary Entry, 10th November 2020</title>
      <link>https://www.clairecodes.com/dev-diary/2020-11-10/</link>
      <pubDate>Tue, 10 Nov 2020 13:09:41 +0000</pubDate>
      
      <guid>https://www.clairecodes.com/dev-diary/2020-11-10/</guid>
      <description>How do you get better at something? Through practise. I&amp;rsquo;ve realised that I read a lot about web development but don&amp;rsquo;t spend that much time building websites. I read widely about the latest web trends, but using the tech that I read about is more valuable (if I can find the time of course!). So, more CodePen demos, short blog posts and create-react-app tests are the order of the day.</description>
    </item>
    
    <item>
      <title>Dev Diary Entry, 3rd November 2020</title>
      <link>https://www.clairecodes.com/dev-diary/2020-11-03/</link>
      <pubDate>Tue, 03 Nov 2020 12:12:59 +0000</pubDate>
      
      <guid>https://www.clairecodes.com/dev-diary/2020-11-03/</guid>
      <description>So Blogtober didn&amp;rsquo;t go that well! I managed a grand total of one published post and one draft. What have we learnt from this? That I&amp;rsquo;m not motivated enough to post regularly right now. I have plenty of ideas, but am not disciplined enough to write them up. Even trying to embarass myself into posting more hasn&amp;rsquo;t worked! Oh well. Next job on the list, a redesign of this Dev Diary page and format.</description>
    </item>
    
    <item>
      <title>Which Way Round Should OK and Cancel Buttons Go?</title>
      <link>https://www.clairecodes.com/blog/2020-10-29-which-way-round-should-ok-and-cancel-buttons-go//</link>
      <pubDate>Thu, 29 Oct 2020 13:21:06 +0000</pubDate>
      
      <guid>https://www.clairecodes.com/blog/2020-10-29-which-way-round-should-ok-and-cancel-buttons-go//</guid>
      <description>A very common user interface pattern is a modal or form with two options: &amp;ldquo;OK&amp;rdquo; and &amp;ldquo;Cancel&amp;rdquo;. The question is, how should we position the buttons? &amp;ldquo;OK&amp;rdquo; then &amp;ldquo;Cancel&amp;rdquo;, or &amp;ldquo;Cancel&amp;rdquo; followed by &amp;ldquo;OK&amp;rdquo;?
Are you sure about that?  OK Cancel   Are you sure about that?  Cancel OK   Questions like these are the minutiae of user interface design. Who cares, right? Well, when you&amp;rsquo;re the one designing the app and are responsible for the position of every element, (like me) you begin to care deeply!</description>
    </item>
    
    <item>
      <title>Do Prettier and ESLint Do the Same Thing?</title>
      <link>https://www.clairecodes.com/blog/2020-10-19-do-prettier-and-eslint-do-the-same-thing//</link>
      <pubDate>Mon, 19 Oct 2020 22:32:05 +0100</pubDate>
      
      <guid>https://www.clairecodes.com/blog/2020-10-19-do-prettier-and-eslint-do-the-same-thing//</guid>
      <description>Do you have to choose between ESLint and Prettier? No! They both serve a different and complementary purpose in your codebase, and can be used alongside each other.
What does ESLint do? ESLint is a static code analyser for JavaScript. It analyses the code and identifies any patterns that it considers problematic (bug-causing!). The goal is to make the code more consistent and avoid bugs by enforcing best practices. It&amp;rsquo;s up to the developer to action the ESLint output and fix the problems.</description>
    </item>
    
    <item>
      <title>Dev Diary Entry, 19th October 2020</title>
      <link>https://www.clairecodes.com/dev-diary/2020-10-19/</link>
      <pubDate>Mon, 19 Oct 2020 22:05:41 +0100</pubDate>
      
      <guid>https://www.clairecodes.com/dev-diary/2020-10-19/</guid>
      <description>I wrote an introductory Blogtober 2020 post 19 days ago and haven&amp;rsquo;t posted a thing since 😅 I was really hoping that by posting my intentions it would motivate me to write more, but it hasn&amp;rsquo;t! Also, you know that period when it feels like everyone is sick in your family one after the other? We&amp;rsquo;ve had that in my house and I&amp;rsquo;m just enjoying everyone being healthy right now! Oh and I&amp;rsquo;m spending a lot of my evenings playing Super Mario Odyssey on my Switch (3 years late I know).</description>
    </item>
    
    <item>
      <title>Blogtober 2020</title>
      <link>https://www.clairecodes.com/blog/2020-10-01-blogtober-2020//</link>
      <pubDate>Thu, 01 Oct 2020 23:12:29 +0100</pubDate>
      
      <guid>https://www.clairecodes.com/blog/2020-10-01-blogtober-2020//</guid>
      <description>I tried this last year but got no further than the 1st October! Let&amp;rsquo;s try again this year.
What&amp;rsquo;s Blogtober? A challenge to publish a blog post every day thoughout October. I&amp;rsquo;ve done this before in 2018 fairly successfully. Blog posts can be tutorials, tips or something more chatty and opinionated - just normal blog content. No minimum or maximum word count. Realistically I&amp;rsquo;ll spend 1-2 hours on this a day so posts will be short and concise.</description>
    </item>
    
    <item>
      <title>Dev Diary Entry, 2nd September 2020</title>
      <link>https://www.clairecodes.com/dev-diary/2020-09-02/</link>
      <pubDate>Wed, 02 Sep 2020 19:27:47 +0100</pubDate>
      
      <guid>https://www.clairecodes.com/dev-diary/2020-09-02/</guid>
      <description>This is the first time I&amp;rsquo;ve published anything all summer! Blame starting a job and finally being able to get out and about, now lockdown restrictions eased in the UK. No Instagram captions, blogs or Dev Diary posts since July, which must be a record for me. All I&amp;rsquo;ve done is push a small change to the blog, which ended up breaking my url structure and decreasing my traffic, but that&amp;rsquo;s a story for another time and I think I&amp;rsquo;ve fixed it now 🤞</description>
    </item>
    
    <item>
      <title>Dev Diary Entry, 24th July 2020</title>
      <link>https://www.clairecodes.com/dev-diary/2020-07-24/</link>
      <pubDate>Fri, 24 Jul 2020 15:04:31 +0100</pubDate>
      
      <guid>https://www.clairecodes.com/dev-diary/2020-07-24/</guid>
      <description>Now I&amp;rsquo;m working fully remote, I&amp;rsquo;ve set up a workspace in my spare bedroom and with a standing desk. So far I can manage about 45 minutes standing up before my joints complain and I need to sit down. I&amp;rsquo;ve read that you should expect to do a 1:1 or 2:1 ratio of sitting to standing - the intention isn&amp;rsquo;t to stand up all day. It definitely feels better having the option to stand than only sitting all day, mind you.</description>
    </item>
    
    <item>
      <title>Dev Diary Entry, 15th July 2020</title>
      <link>https://www.clairecodes.com/dev-diary/2020-07-15/</link>
      <pubDate>Wed, 15 Jul 2020 22:15:27 +0100</pubDate>
      
      <guid>https://www.clairecodes.com/dev-diary/2020-07-15/</guid>
      <description>Where have I been? Preparing for a child&amp;rsquo;s 1st birthday party! It consumed my life for a couple of weeks: decorations, food and a Sesame Street themed cake smash, all for a little person who won&amp;rsquo;t remember any of it! But this was my way of subconsciously distracting myself from the thing that started a few days later: a new job! Part-time hours, fully remote (for the time being) and exactly the area I want to focus on: UI development.</description>
    </item>
    
    <item>
      <title>Dev Diary Entry, 23rd June 2020</title>
      <link>https://www.clairecodes.com/dev-diary/2020-06-23/</link>
      <pubDate>Tue, 23 Jun 2020 23:27:32 +0100</pubDate>
      
      <guid>https://www.clairecodes.com/dev-diary/2020-06-23/</guid>
      <description>The 10 minutes of code/learning a day thing has worked really well and I&amp;rsquo;ve got a good portion of the way through Wes Bos&amp;rsquo;s CSS Grid course! I will definitely make this a habit. I&amp;rsquo;ve also discovered how much I actually already knew about CSS Grid just from reading blog posts and creating layouts with the help of Google: another example of lacking confidence in myself. My name is Claire and I know CSS Grid!</description>
    </item>
    
    <item>
      <title>Dev Diary Entry, 16th June 2020</title>
      <link>https://www.clairecodes.com/dev-diary/2020-06-16/</link>
      <pubDate>Tue, 16 Jun 2020 10:21:40 +0100</pubDate>
      
      <guid>https://www.clairecodes.com/dev-diary/2020-06-16/</guid>
      <description>I&amp;rsquo;ve started a new thing this week: spend 10 minutes a day learning. This is to break down the mental barrier that stops me doing online courses or learning a new technology. 10 minutes is easily achievable, and will hopefully lead to spending more than 10 minutes coding once I start and realise it isn&amp;rsquo;t so bad after all! Of course by &amp;ldquo;learning&amp;rdquo; I mean specifically learn more about frontend tech!</description>
    </item>
    
    <item>
      <title>Dev Diary Entry, 9th June 2020</title>
      <link>https://www.clairecodes.com/dev-diary/2020-06-09/</link>
      <pubDate>Tue, 09 Jun 2020 22:09:32 +0100</pubDate>
      
      <guid>https://www.clairecodes.com/dev-diary/2020-06-09/</guid>
      <description>Lockdown measures are easing a lot in the UK, but most people I know working in tech will be working remotely for the time being with no signs of returning to an office. This is a good thing, because we&amp;rsquo;ve been trying to convince management of the benefits and productivity of remote work for a long time. However, I&amp;rsquo;m not sure how many people would be happy with working remotely permanently.</description>
    </item>
    
    <item>
      <title>Dev Diary Entry, 2nd June 2020</title>
      <link>https://www.clairecodes.com/dev-diary/2020-06-02/</link>
      <pubDate>Tue, 02 Jun 2020 12:07:20 +0100</pubDate>
      
      <guid>https://www.clairecodes.com/dev-diary/2020-06-02/</guid>
      <description>In these difficult times, be mindful of your media and news consumption and limit how often you read the headlines. Take a break if it&amp;rsquo;s getting overwhelming! Stay informed, but also stay healthy.</description>
    </item>
    
    <item>
      <title>Dev Diary Entry, 26 May 2020</title>
      <link>https://www.clairecodes.com/dev-diary/2020-05-26/</link>
      <pubDate>Tue, 26 May 2020 23:21:42 +0100</pubDate>
      
      <guid>https://www.clairecodes.com/dev-diary/2020-05-26/</guid>
      <description>I&amp;rsquo;ve stopped counting how many weeks ago lockdown started now! It&amp;rsquo;s the new normal.
I published a blog post this week! Only two minutes before writing this week&amp;rsquo;s Dev Diary mind you, but the main thing is I&amp;rsquo;ve completed a piece of writing and should be able to publish more consistently now I&amp;rsquo;ve broke my dry spell. Join me next week and I might have completed another of my half-finished posts!</description>
    </item>
    
    <item>
      <title>CSS Transitions for Multiple Properties on One Element</title>
      <link>https://www.clairecodes.com/blog/2020-05-26-css-transitions-for-multiple-properties-on-one-element//</link>
      <pubDate>Tue, 26 May 2020 21:35:20 +0100</pubDate>
      
      <guid>https://www.clairecodes.com/blog/2020-05-26-css-transitions-for-multiple-properties-on-one-element//</guid>
      <description>This caught me out recently so I thought it was worth documenting in a blog post.
How do you define a CSS transition for multiple properties on the same HTML element?
The CSS transition property defines the effect between two different states of an element. transition is a shorthand property, which means it combines other CSS properties in single declaration. The resulting shorthand is simpler to read and write. Other common shorthand properties are margin, background and font.</description>
    </item>
    
    <item>
      <title>Dev Diary Entry, 19th May 2020</title>
      <link>https://www.clairecodes.com/dev-diary/2020-05-19/</link>
      <pubDate>Tue, 19 May 2020 09:48:18 +0100</pubDate>
      
      <guid>https://www.clairecodes.com/dev-diary/2020-05-19/</guid>
      <description>Perfectionism in coding and writing is a real problem for me - I sometimes can&amp;rsquo;t get past planning or drafting something because I find the pressure of building something using best practices too overwhelming. I&amp;rsquo;ve barely blogged this year but I have half a dozen topics I want to write about but I&amp;rsquo;m never happy with anything I start writing. I&amp;rsquo;m hoping to push through this inner saboteur and publish a blog post to tell you about in next week&amp;rsquo;s Dev Diary.</description>
    </item>
    
    <item>
      <title>Dev Diary Entry, 12th May 2020</title>
      <link>https://www.clairecodes.com/dev-diary/2020-05-12/</link>
      <pubDate>Tue, 12 May 2020 14:30:30 +0100</pubDate>
      
      <guid>https://www.clairecodes.com/dev-diary/2020-05-12/</guid>
      <description>I haven&amp;rsquo;t posted to Instagram for a week although I still log on because it&amp;rsquo;s nice to see how other virtual people are doing. I haven&amp;rsquo;t felt like creating any dev content recently, but I know that if I do publish something it will make me feel better, so here I am writing my weekly dev diary! It&amp;rsquo;s best to keep busy in times like this.</description>
    </item>
    
    <item>
      <title>Dev Diary Entry, 5th May 2020</title>
      <link>https://www.clairecodes.com/dev-diary/2020-05-05/</link>
      <pubDate>Tue, 05 May 2020 11:09:44 +0100</pubDate>
      
      <guid>https://www.clairecodes.com/dev-diary/2020-05-05/</guid>
      <description>April has vanished without a trace and now it&amp;rsquo;s May. Having a suddenly very mobile 10 month old is a blessing and a curse: good because it creates structure in the day but bad because he needs eyes on him all the time! He&amp;rsquo;s a chaos monkey at the moment.
I&amp;rsquo;m approaching the year anniversary of when I began my maternity leave and this is not what I expected this period to look like!</description>
    </item>
    
    <item>
      <title>Dev Diary Entry, 28th April 2020</title>
      <link>https://www.clairecodes.com/dev-diary/2020-04-28/</link>
      <pubDate>Tue, 28 Apr 2020 11:11:22 +0100</pubDate>
      
      <guid>https://www.clairecodes.com/dev-diary/2020-04-28/</guid>
      <description>I can&amp;rsquo;t believe this is the beginning of the sixth week I&amp;rsquo;ve spent in the house (minus long daily walks). It&amp;rsquo;s starting to wear thin now. The weather will be changing from sunny to cloudy with a chance of rain this week, which will make things harder. Fingers crossed some restrictions will be lifted by the end of May.</description>
    </item>
    
    <item>
      <title>Dev Diary Entry, 21st April 2020</title>
      <link>https://www.clairecodes.com/dev-diary/2020-04-21/</link>
      <pubDate>Tue, 21 Apr 2020 13:04:31 +0100</pubDate>
      
      <guid>https://www.clairecodes.com/dev-diary/2020-04-21/</guid>
      <description>It&amp;rsquo;s the fifth week of lockdown and I should stop talking about it because every week is the same as the last!! Other countries are beginning to lift restrictions but the UK is doing terribly with testing and infections so I think we&amp;rsquo;ll be here for a while yet, at least June. I&amp;rsquo;m trying to keep my mind busy and tinker on a few projects when I&amp;rsquo;m not looking after the baby.</description>
    </item>
    
    <item>
      <title>Dev Diary Entry, 14 April 2020</title>
      <link>https://www.clairecodes.com/dev-diary/2020-04-14/</link>
      <pubDate>Tue, 14 Apr 2020 14:07:30 +0100</pubDate>
      
      <guid>https://www.clairecodes.com/dev-diary/2020-04-14/</guid>
      <description>Week 4! It&amp;rsquo;s like a real life Groundhog Day experience. I post more consistently to Instagram lately and interact with other users more, probably since I can&amp;rsquo;t talk to anyone in real life aside from my husband and baby! I wouldn&amp;rsquo;t go so far as to say Instagram is a source of strength and support, but it helps pass the time.</description>
    </item>
    
    <item>
      <title>Dev Diary Entry, 7th April 2020</title>
      <link>https://www.clairecodes.com/dev-diary/2020-04-07/</link>
      <pubDate>Tue, 07 Apr 2020 15:32:50 +0100</pubDate>
      
      <guid>https://www.clairecodes.com/dev-diary/2020-04-07/</guid>
      <description>Entering week 3 of UK lockdown. The weather is good, the supermarket has toilet roll in stock and my internet connection is reliable, what is there to complain about?</description>
    </item>
    
    <item>
      <title>Dev Diary Entry, 31st March 2020</title>
      <link>https://www.clairecodes.com/dev-diary/2020-03-31/</link>
      <pubDate>Tue, 31 Mar 2020 14:49:17 +0100</pubDate>
      
      <guid>https://www.clairecodes.com/dev-diary/2020-03-31/</guid>
      <description>Second week of lockdown - nothing much exciting has happened this week! 😅 I&amp;rsquo;m having more video calls and Google hangouts than I&amp;rsquo;ve ever had!</description>
    </item>
    
    <item>
      <title>How to Reverse Ordered List Counters in HTML</title>
      <link>https://www.clairecodes.com/blog/2020-03-29-how-to-reverse-ordered-list-counters-in-html//</link>
      <pubDate>Sun, 29 Mar 2020 23:15:30 +0000</pubDate>
      
      <guid>https://www.clairecodes.com/blog/2020-03-29-how-to-reverse-ordered-list-counters-in-html//</guid>
      <description>An ordered list in HTML uses ascending numbers to display list items, beginning at number 1. The code:
&amp;lt;ol&amp;gt; &amp;lt;li&amp;gt;Don&#39;t Stop Me Now&amp;lt;/li&amp;gt; &amp;lt;li&amp;gt;Under Pressure&amp;lt;/li&amp;gt; &amp;lt;li&amp;gt;We Are the Champions&amp;lt;/li&amp;gt; &amp;lt;li&amp;gt;Bohemian Rhapsody&amp;lt;/li&amp;gt; &amp;lt;/ol&amp;gt;  produces the following list:
 Don&#39;t Stop Me Now Under Pressure We Are the Champions Bohemian Rhapsody  It&amp;rsquo;s possible to reverse the order of the counters with only HTML - no CSS or JavaScript required!
Add an HTML attribute called reversed to the &amp;lt;ol&amp;gt; tag.</description>
    </item>
    
    <item>
      <title>Dev Diary Entry, 24th March 2020</title>
      <link>https://www.clairecodes.com/dev-diary/2020-03-24/</link>
      <pubDate>Tue, 24 Mar 2020 14:54:11 +0000</pubDate>
      
      <guid>https://www.clairecodes.com/dev-diary/2020-03-24/</guid>
      <description>The UK has entered lockdown today, so life outside has been cancelled for 3 weeks at least. I&amp;rsquo;m grateful to work in an industry mostly based on the internet, so I can still stay connected and keep my own skills relevant, even if I&amp;rsquo;m not currently employed.</description>
    </item>
    
    <item>
      <title>Dev Diary Entry, 15th March 2020</title>
      <link>https://www.clairecodes.com/dev-diary/2020-03-15/</link>
      <pubDate>Sun, 15 Mar 2020 13:56:28 +0000</pubDate>
      
      <guid>https://www.clairecodes.com/dev-diary/2020-03-15/</guid>
      <description>I&amp;rsquo;ve been volunteering once a week for the last month at a high school in Liverpool with InnovateHer to help deliver a course about game development to year 9&amp;rsquo;s (13 - 14 year olds). It&amp;rsquo;s taken me right out of my comfort zone and also back into the adult world. As part of the course, we visited the Sony PlayStation offices in Wavertree which I found so cool, even though it was basically an average office, albeit one with PlayStation controllers on every desk.</description>
    </item>
    
    <item>
      <title>Dev Diary Entry, 27th February 2020</title>
      <link>https://www.clairecodes.com/dev-diary/2020-02-27/</link>
      <pubDate>Thu, 27 Feb 2020 14:11:29 +0000</pubDate>
      
      <guid>https://www.clairecodes.com/dev-diary/2020-02-27/</guid>
      <description>January turned out to be very quiet for me, but February has been a lot busier. I&amp;rsquo;ve got several job leads in the pipeline and I also found out that I&amp;rsquo;d been accepted to speak at UpFront Conference next month! I&amp;rsquo;ll be doing a 5 minute lightning talk as part of the underrepresented speaker bursary program. I hope March is as exciting!</description>
    </item>
    
    <item>
      <title>Achievements Unlocked in 2019</title>
      <link>https://www.clairecodes.com/blog/2020-02-11-achievements-unlocked-in-2019//</link>
      <pubDate>Tue, 11 Feb 2020 23:58:27 +0000</pubDate>
      
      <guid>https://www.clairecodes.com/blog/2020-02-11-achievements-unlocked-in-2019//</guid>
      <description>Here&amp;rsquo;s my belated review of last year, 2019. A one sentence summary is &amp;ldquo;had a baby&amp;rdquo;: everything else personally or professionally paled into insignificance next to this event! It has been a very challenging year but also incredibly rewarding.
Highs and lows  I was pregnant for 50% of 2019, and gave birth on the 1st July to my son I got made redundant 1 month later on 1st August when my employer, Laterooms.</description>
    </item>
    
    <item>
      <title>Dev Diary Entry, 27th January 2020</title>
      <link>https://www.clairecodes.com/dev-diary/2020-01-27/</link>
      <pubDate>Mon, 27 Jan 2020 13:54:19 +0000</pubDate>
      
      <guid>https://www.clairecodes.com/dev-diary/2020-01-27/</guid>
      <description>I need to start making more of my time in the evening once the baby is in bed. This isn&amp;rsquo;t me pushing myself too hard, or not taking time to rest - I just really need to peel myself off the sofa in the evening and apply for a job or write a blog post or create a CodePen demo. My big productivity hack has been to sit at the kitchen table instead of the sofa and I&amp;rsquo;ve found that this eventually makes me stop watching YouTube and start doing something a little less mindless!</description>
    </item>
    
    <item>
      <title>Dev Diary Entry, 7th January 2020</title>
      <link>https://www.clairecodes.com/dev-diary/2020-01-07/</link>
      <pubDate>Tue, 07 Jan 2020 16:48:14 +0000</pubDate>
      
      <guid>https://www.clairecodes.com/dev-diary/2020-01-07/</guid>
      <description>It&amp;rsquo;s the start of another new year, which always makes me want to start building positive habits. One of this year&amp;rsquo;s is to spend more time taking online courses. I&amp;rsquo;m working my way through a Gatsby one at the moment on Egghead.</description>
    </item>
    
    <item>
      <title>Dev Diary Entry, 20th December 2019</title>
      <link>https://www.clairecodes.com/dev-diary/2019-12-20/</link>
      <pubDate>Fri, 20 Dec 2019 15:56:01 +0000</pubDate>
      
      <guid>https://www.clairecodes.com/dev-diary/2019-12-20/</guid>
      <description>It&amp;rsquo;s close to Christmas and so most job-hunting activities have stopped for the holidays. With a new baby, it&amp;rsquo;s been more festive for me this year than for the past decade combined and I&amp;rsquo;m not worrying about securing a role by a certain date, just doing stuff when I find the time. Merry Christmas!</description>
    </item>
    
    <item>
      <title>Dev Diary Entry, 26th November 2019</title>
      <link>https://www.clairecodes.com/dev-diary/2019-11-26/</link>
      <pubDate>Tue, 26 Nov 2019 23:21:46 +0000</pubDate>
      
      <guid>https://www.clairecodes.com/dev-diary/2019-11-26/</guid>
      <description>Continuing the job search this week. It takes up most of my precious spare time at night so there&amp;rsquo;s not much time for blogging at the moment.</description>
    </item>
    
    <item>
      <title>Dev Diary Entry, 19th November 2019</title>
      <link>https://www.clairecodes.com/dev-diary/2019-11-19/</link>
      <pubDate>Tue, 19 Nov 2019 17:01:27 +0000</pubDate>
      
      <guid>https://www.clairecodes.com/dev-diary/2019-11-19/</guid>
      <description>I went to dotCSS in Paris and HalfStack conference in London this time last year, and the memories section in Google photos on my phone has been reminding me! I&amp;rsquo;m sad not to be going to any conferences this season because I love a good tech conference 😅 but there&amp;rsquo;s always next year, and some may even have childcare!</description>
    </item>
    
    <item>
      <title>Dev Diary Entry, 13th November 2019</title>
      <link>https://www.clairecodes.com/dev-diary/2019-11-13/</link>
      <pubDate>Wed, 13 Nov 2019 19:22:20 +0000</pubDate>
      
      <guid>https://www.clairecodes.com/dev-diary/2019-11-13/</guid>
      <description>I was on someone&amp;rsquo;s personal site a while back, and in the footer alongside their social links it said &amp;ldquo;This website does not track you&amp;rdquo; - i.e. there isn&amp;rsquo;t any Google Analytics, etc. I suppose they pointed this out because they were proud of it, but I personally wouldn&amp;rsquo;t turn the tracking analytics off my own website. I like the data too much and I think it&amp;rsquo;s useful and interesting to see what pages are being hit.</description>
    </item>
    
    <item>
      <title>The roles of Spacebar and Enter in keyboard navigation</title>
      <link>https://www.clairecodes.com/blog/2019-11-06-the-roles-of-spacebar-and-enter-in-keyboard-navigation//</link>
      <pubDate>Wed, 06 Nov 2019 22:54:12 +0000</pubDate>
      
      <guid>https://www.clairecodes.com/blog/2019-11-06-the-roles-of-spacebar-and-enter-in-keyboard-navigation//</guid>
      <description>Did you know, that not everyone uses a mouse to navigate the world wide web? You can use a keyboard to interact with a webpage too. (But you already knew that.) Different elements on a page respond to different keypresses. I always forget what the spacebar and enter keys do, so here&amp;rsquo;s a quick reminder.
   Key Expected functions     Spacebar activate buttonscheck/uncheck checkboxscroll down the pageexpand a dropdown menu   Enter activate buttonsopen linksopen menus    Or the key bit I always forget:</description>
    </item>
    
    <item>
      <title>Dev Diary Entry, 5th November 2019</title>
      <link>https://www.clairecodes.com/dev-diary/2019-11-05/</link>
      <pubDate>Tue, 05 Nov 2019 22:26:39 +0000</pubDate>
      
      <guid>https://www.clairecodes.com/dev-diary/2019-11-05/</guid>
      <description>It&amp;rsquo;s time to seriously look for a new job. I was made redundant back in August just a couple of months into maternity leave, when Laterooms.com went into administration. I&amp;rsquo;d like to go back to work in the New Year, because I&amp;rsquo;ve taken all the baby classes I can stand! I want to work part-time, which isn&amp;rsquo;t common, so I&amp;rsquo;m going to have to so some self-promotion and reach out to employers.</description>
    </item>
    
    <item>
      <title>Blogtober 2019</title>
      <link>https://www.clairecodes.com/blog/2019-10-01-blogtober-2019//</link>
      <pubDate>Tue, 01 Oct 2019 21:10:27 +0100</pubDate>
      
      <guid>https://www.clairecodes.com/blog/2019-10-01-blogtober-2019//</guid>
      <description>Last year I challenged myself to complete Blogtober: to publish a blog post to this site once a day throughout October. I didn&amp;rsquo;t do too badly, and wrote a total of 21 out of 31 posts. This year will be a little different though, since I&amp;rsquo;ve got a new baby to work around (he&amp;rsquo;s 3 months old today!) and the posts won&amp;rsquo;t be as technical or detailed, since that&amp;rsquo;s just not where my head is at the moment, deep into maternity leave.</description>
    </item>
    
    <item>
      <title>Dev Diary Entry, 25th September 2019</title>
      <link>https://www.clairecodes.com/dev-diary/2019-09-25/</link>
      <pubDate>Wed, 25 Sep 2019 13:10:08 +0100</pubDate>
      
      <guid>https://www.clairecodes.com/dev-diary/2019-09-25/</guid>
      <description>I&amp;rsquo;m challenging myself to Blogtober again this year, where I post a blog post for every day in October. I&amp;rsquo;ve been planning out subjects for posts, because thinking of 31 ideas for blog posts is the hardest bit! I maintain a private Trello board for any blog ideas, whether it&amp;rsquo;s Blogtober or not.</description>
    </item>
    
    <item>
      <title>Dev Diary Entry, 16th August 2019</title>
      <link>https://www.clairecodes.com/dev-diary/2019-08-16/</link>
      <pubDate>Fri, 16 Aug 2019 16:44:34 +0100</pubDate>
      
      <guid>https://www.clairecodes.com/dev-diary/2019-08-16/</guid>
      <description>After I was made redundant last week by my full-time employment (although I&amp;rsquo;m on maternity for the foreseeable future), I updated my LinkedIn to reflect my next ideal role: part-time, remote frontend web development. Although most recruiters and hiring mangers would laugh in my face, I&amp;rsquo;m sure such a thing exists. I want to get ahead of the game and keep an eye on the job market now.</description>
    </item>
    
    <item>
      <title>Blogging Seasonally</title>
      <link>https://www.clairecodes.com/blog/2019-08-16-blogging-seasonally//</link>
      <pubDate>Fri, 16 Aug 2019 13:19:54 +0100</pubDate>
      
      <guid>https://www.clairecodes.com/blog/2019-08-16-blogging-seasonally//</guid>
      <description>An idea to improve productivity.
When I want to build a habit to blog or code regularly, I often make a commitment to myself like:
 I will publish one blog post a week.
 Or:
 I will code for 20 minutes three nights a week.
 And I inevitably fail after a few days.
Perhaps adding another section to these pledges will improve my success rate. I mentally read the previous goals as:</description>
    </item>
    
    <item>
      <title>Dev Diary Entry, 6th August 2019</title>
      <link>https://www.clairecodes.com/dev-diary/2019-08-06/</link>
      <pubDate>Tue, 06 Aug 2019 23:37:09 +0100</pubDate>
      
      <guid>https://www.clairecodes.com/dev-diary/2019-08-06/</guid>
      <description>Laterooms.com went into administration last week and I, alongside all my colleagues, was made redundant. This doesn&amp;rsquo;t affect me too much since I&amp;rsquo;m on maternity leave but it was still a shock and not what I wanted to hear when my baby had just turned one month old! I&amp;rsquo;ll write a blog post or Instagram caption about this another time but this was definitely my biggest &amp;ldquo;dev&amp;rdquo; news this week.</description>
    </item>
    
    <item>
      <title>Dev Diary Entry, 31st July 2019</title>
      <link>https://www.clairecodes.com/dev-diary/2019-07-31/</link>
      <pubDate>Wed, 31 Jul 2019 17:15:00 +0100</pubDate>
      
      <guid>https://www.clairecodes.com/dev-diary/2019-07-31/</guid>
      <description>👋 Hello, it&amp;rsquo;s been a while! My son Ezra was born on the 1st July and everything since then has been a wonderful tired blur. The sleep deprivation is very real 😴. As you can imagine, I haven&amp;rsquo;t looked at anything tech-related for a while: no Twitter, no Instagram, no GitHub. However, sometimes it&amp;rsquo;s nice to think about something other than nappies, so I&amp;rsquo;m reading a few tech blog posts here and there.</description>
    </item>
    
    <item>
      <title>Switching From Atom to VS Code</title>
      <link>https://www.clairecodes.com/blog/2019-06-21-switching-from-atom-to-vs-code//</link>
      <pubDate>Fri, 21 Jun 2019 11:43:45 +0100</pubDate>
      
      <guid>https://www.clairecodes.com/blog/2019-06-21-switching-from-atom-to-vs-code//</guid>
      <description>I&amp;rsquo;ve been a long-time user of GitHub&amp;rsquo;s Atom, using it as my primary code editor for three years (and three years is a lifetime in the world of frontend development right?). But after seeing so much positive reaction to VS Code, I decided it was time for a change. It&amp;rsquo;s been six months since I made the full-time switch to Microsoft&amp;rsquo;s VS Code, which I thought was a good point to reflect on the experience so far.</description>
    </item>
    
    <item>
      <title>Dev Diary Entry, 28th May 2019</title>
      <link>https://www.clairecodes.com/dev-diary/2019-05-28/</link>
      <pubDate>Tue, 28 May 2019 16:05:17 +0100</pubDate>
      
      <guid>https://www.clairecodes.com/dev-diary/2019-05-28/</guid>
      <description>Second week of maternity leave complete, and I haven&amp;rsquo;t felt the need to keep up-to-date with tech Twitter or read any of the coding newsletters that keep arriving in my inbox just yet. I&amp;rsquo;m still getting used to the lack of strict routine for 5&amp;frasl;7 days and also spending a lot of time catching up on baby preparations that I&amp;rsquo;ve been ignoring while I was still working.</description>
    </item>
    
    <item>
      <title>Dev Diary Entry, 21st May 2019</title>
      <link>https://www.clairecodes.com/dev-diary/2019-05-21/</link>
      <pubDate>Tue, 21 May 2019 10:29:49 +0100</pubDate>
      
      <guid>https://www.clairecodes.com/dev-diary/2019-05-21/</guid>
      <description>I&amp;rsquo;ve been on maternity leave for a week now and have been very busy so far - even though I&amp;rsquo;m not in work there&amp;rsquo;s plenty of chores and jobs to be done, especially with baby prep! I&amp;rsquo;ve maintained my GitHub streak with a new project (although on a repo I haven&amp;rsquo;t made public yet) but haven&amp;rsquo;t found time to work on blog posts or catch up on links/email newsletters. I&amp;rsquo;m expecting to develop more of a routine over the next week.</description>
    </item>
    
    <item>
      <title>CV Driven Development</title>
      <link>https://www.clairecodes.com/blog/2019-05-15-cv-driven-development//</link>
      <pubDate>Wed, 15 May 2019 22:36:56 +0100</pubDate>
      
      <guid>https://www.clairecodes.com/blog/2019-05-15-cv-driven-development//</guid>
      <description>What is CV Driven Development? I first heard it used by a colleague, self-deprecatingly, talking about their own career decisions. Googling &amp;ldquo;CV Driven Development&amp;rdquo; didn&amp;rsquo;t return a conclusive definition: the first page of search results contains ten links to ten different interpretations. The explanation I liked most was from Martin Jee&amp;rsquo;s blog:
 CV Driven Development (CDD) is a software development process which prioritises design and development choices that will enhance the implementing programmer’s Curriculum Vitae over other potential solutions, regardless of how rational that choice is.</description>
    </item>
    
    <item>
      <title>Dev Diary Entry, 14th May 2019</title>
      <link>https://www.clairecodes.com/dev-diary/2019-05-14/</link>
      <pubDate>Tue, 14 May 2019 08:46:49 +0100</pubDate>
      
      <guid>https://www.clairecodes.com/dev-diary/2019-05-14/</guid>
      <description>Today is my last day of work before my maternity leave starts!! I also have a three week GitHub streak going on which will be interesting to see how long I can maintain.</description>
    </item>
    
    <item>
      <title>Dev Diary Entry, 7th May 2019</title>
      <link>https://www.clairecodes.com/dev-diary/2019-05-07/</link>
      <pubDate>Tue, 07 May 2019 08:04:04 +0100</pubDate>
      
      <guid>https://www.clairecodes.com/dev-diary/2019-05-07/</guid>
      <description></description>
    </item>
    
    <item>
      <title>Meta Descriptions in Hugo Templates</title>
      <link>https://www.clairecodes.com/blog/2019-05-03-meta-descriptions-in-hugo-templates//</link>
      <pubDate>Fri, 03 May 2019 15:35:48 +0100</pubDate>
      
      <guid>https://www.clairecodes.com/blog/2019-05-03-meta-descriptions-in-hugo-templates//</guid>
      <description>What is a meta description? A meta description is a summary of a webpage set in an HTML meta tag. It&amp;rsquo;s often displayed by search engines in their results as the page description, so it can have an impact on the page&amp;rsquo;s click-through rate. A relevant meta description can help improve your page&amp;rsquo;s SEO.
&amp;lt;meta&amp;gt; tags are placed within the &amp;lt;head&amp;gt; tag of the document. Order of other meta tags doesn&amp;rsquo;t matter.</description>
    </item>
    
    <item>
      <title>Dev Diary Entry, 30th April 2019</title>
      <link>https://www.clairecodes.com/dev-diary/2019-04-30/</link>
      <pubDate>Tue, 30 Apr 2019 10:08:28 +0100</pubDate>
      
      <guid>https://www.clairecodes.com/dev-diary/2019-04-30/</guid>
      <description>I want to redesign my blog: add some new layouts and change the copy, especially the landing page. So I&amp;rsquo;ve made a commitment to myself to commit some code to it everyday until I&amp;rsquo;m happier with it. This means I can chip away at it gradually and make good progress 🤞</description>
    </item>
    
    <item>
      <title>Styling list bullets with emoji</title>
      <link>https://www.clairecodes.com/blog/2019-04-26-styling-list-bullets-with-emoji//</link>
      <pubDate>Fri, 26 Apr 2019 11:48:09 +0100</pubDate>
      
      <guid>https://www.clairecodes.com/blog/2019-04-26-styling-list-bullets-with-emoji//</guid>
      <description>The available styles of bullet points for HTML unordered lists &amp;lt;ul&amp;gt; are limited. Using CSS, they can be changed to something more exciting, like emoji! 🎉👯‍♂️✨
In this post, I&amp;rsquo;ll show you two methods to replace them: @counter-style, which is concise and flexible (but your browser probably doesn’t support it), and the more tried-and-tested technique of using the ::before pseudo-element.
We will transform an unordered list with unstyled counters from this:</description>
    </item>
    
    <item>
      <title>Dev Diary Entry, 23rd April 2019</title>
      <link>https://www.clairecodes.com/dev-diary/2019-04-23/</link>
      <pubDate>Tue, 23 Apr 2019 13:20:19 +0100</pubDate>
      
      <guid>https://www.clairecodes.com/dev-diary/2019-04-23/</guid>
      <description>I was away on holiday this week, but that never stops me taking my laptop wherever I&amp;rsquo;m travelling to and doing a bit of light reading.</description>
    </item>
    
    <item>
      <title>My Misconceptions about the Universal Selector in CSS</title>
      <link>https://www.clairecodes.com/blog/2019-04-21-my-misconceptions-about-the-universal-selector-in-css//</link>
      <pubDate>Sun, 21 Apr 2019 23:31:22 +0100</pubDate>
      
      <guid>https://www.clairecodes.com/blog/2019-04-21-my-misconceptions-about-the-universal-selector-in-css//</guid>
      <description>The asterisk * is known as the universal selector in CSS. It matches all elements of any type.
* { color: red; }  This example would change the colour of all the text on the page to red (as long as there wasn&amp;rsquo;t a more specific rule applied to the element).
I don&amp;rsquo;t often use the universal selector, because I assumed that selecting everything would be bad for page performance and difficult to override.</description>
    </item>
    
    <item>
      <title>Liquid Tag Page Build Failure Debug</title>
      <link>https://www.clairecodes.com/blog/2019-04-17-liquid-tag-page-build-failure-debug//</link>
      <pubDate>Wed, 17 Apr 2019 22:45:00 +0100</pubDate>
      
      <guid>https://www.clairecodes.com/blog/2019-04-17-liquid-tag-page-build-failure-debug//</guid>
      <description>A quick bug-fix post today.
In a previous blog post I&amp;rsquo;d written an example of a Liquid tag and nested it within &amp;lt;pre&amp;gt; and &amp;lt;code&amp;gt; tags, using the standard some Markdown code fences of three backticks ```. It looked like this:
```js {% codepen https://codepen.io/claireparker/pen/oMmPPZ %} ```  Every time I pushed to Git and GitHub I received a page build error that looked like this:
 Unable to build page.</description>
    </item>
    
    <item>
      <title>Dev Diary Entry, 16th April 2019</title>
      <link>https://www.clairecodes.com/dev-diary/2019-04-16/</link>
      <pubDate>Tue, 16 Apr 2019 21:42:32 +0100</pubDate>
      
      <guid>https://www.clairecodes.com/dev-diary/2019-04-16/</guid>
      <description>I&amp;rsquo;ve been off work sick this week so haven&amp;rsquo;t managed much. Damn my pregnant immune system!</description>
    </item>
    
    <item>
      <title>Ignoring Prettier</title>
      <link>https://www.clairecodes.com/blog/2019-04-13-ignoring-prettier//</link>
      <pubDate>Sat, 13 Apr 2019 21:22:04 +0100</pubDate>
      
      <guid>https://www.clairecodes.com/blog/2019-04-13-ignoring-prettier//</guid>
      <description>Prettier is an &amp;ldquo;opinionated code formatter&amp;rdquo;. Quoting the docs:
 It removes all original styling and ensures that all outputted code conforms to a consistent style.
 It&amp;rsquo;s commonly used in JavaScript projects, and also offers plugins that support other languages. Prettier can be run through its CLI, or even automatically through your code editor each time you hit save.
Allowing Prettier to be responsible for how your code is formatted is a huge timesaver, especially when working in teams where code reviews can turn into passive-aggressive discussions about indentation and line-length.</description>
    </item>
    
    <item>
      <title>Dev Diary Entry, 9th April 2019</title>
      <link>https://www.clairecodes.com/dev-diary/2019-04-09/</link>
      <pubDate>Tue, 09 Apr 2019 13:05:44 +0100</pubDate>
      
      <guid>https://www.clairecodes.com/dev-diary/2019-04-09/</guid>
      <description>Productive week this week 🏆 I made the most of time in the evenings and didn&amp;rsquo;t spend mindless hours on YouTube. I even got back in the habit of daily Instagram posting.</description>
    </item>
    
    <item>
      <title>npx Egghead Course Notes</title>
      <link>https://www.clairecodes.com/blog/2019-04-05-npx-egghead-course-notes//</link>
      <pubDate>Fri, 05 Apr 2019 11:49:19 +0100</pubDate>
      
      <guid>https://www.clairecodes.com/blog/2019-04-05-npx-egghead-course-notes//</guid>
      <description>I&amp;rsquo;ve just finished watching Elijah Manor&amp;rsquo;s Egghead course about npx. It really useful, not just for the info about npx but also for all the npm tricks I picked up too. Plus it was less than 20 minutes in length! In an attempt to keep this info in my brain for as long as possible, here are my notes from the course. The course is currently free and available to watch on Egghead.</description>
    </item>
    
    <item>
      <title>Dev Diary Entry, 2nd April 2019</title>
      <link>https://www.clairecodes.com/dev-diary/2019-04-02/</link>
      <pubDate>Tue, 02 Apr 2019 11:42:56 +0100</pubDate>
      
      <guid>https://www.clairecodes.com/dev-diary/2019-04-02/</guid>
      <description></description>
    </item>
    
    <item>
      <title>Why my Hugo Archetypes didn&#39;t work</title>
      <link>https://www.clairecodes.com/blog/2019-03-28-why-my-hugo-archetypes-didnt-work//</link>
      <pubDate>Thu, 28 Mar 2019 15:06:50 +0000</pubDate>
      
      <guid>https://www.clairecodes.com/blog/2019-03-28-why-my-hugo-archetypes-didnt-work//</guid>
      <description>A short story about Hugo template files and Markdown file extensions.
Brief overview of archetypes in Hugo The current version of my personal blog is built with Hugo, a static site generator. Hugo has the concept of archetypes, which are template files used to create new content types with the hugo new command. It saves you having to copy and paste customised front matter (the YAML, TOML or JSON data at the top of the file) or other custom content every time you create a new post.</description>
    </item>
    
    <item>
      <title>2019 03 26</title>
      <link>https://www.clairecodes.com/dev-diary/2019-03-26/</link>
      <pubDate>Tue, 26 Mar 2019 16:02:55 +0000</pubDate>
      
      <guid>https://www.clairecodes.com/dev-diary/2019-03-26/</guid>
      <description>It was the annual UpFront conference here in Manchester last Friday and I attended with my current work colleagues. I&amp;rsquo;ve been to the last four UpFront conferences 🏆 and I realised I&amp;rsquo;ve attended them with a different group of colleagues each year: a combination of the high turnover of staff in IT and my own job-hopping! It was another good year of talks. No well-known speakers this year, but that doesn&amp;rsquo;t indicate quality anyway.</description>
    </item>
    
    <item>
      <title>Dev Diary Entry, 19th March 2019</title>
      <link>https://www.clairecodes.com/dev-diary/2019-03-19/</link>
      <pubDate>Tue, 19 Mar 2019 08:59:20 +0000</pubDate>
      
      <guid>https://www.clairecodes.com/dev-diary/2019-03-19/</guid>
      <description></description>
    </item>
    
    <item>
      <title>The difference between dependencies and devDependencies in a JavaScript project</title>
      <link>https://www.clairecodes.com/blog/2019-03-13-the-difference-between-dependencies-and-devdependencies-in-a-javascript-project//</link>
      <pubDate>Wed, 13 Mar 2019 10:08:30 +0000</pubDate>
      
      <guid>https://www.clairecodes.com/blog/2019-03-13-the-difference-between-dependencies-and-devdependencies-in-a-javascript-project//</guid>
      <description>When you use npm to install a package to your project with the command npm install &amp;lt;package-name&amp;gt;, the name and version of the package appears in the project&amp;rsquo;s package.json file under the “dependencies” key. For example, npm install react will look write something like this to the file:
{ ... &amp;quot;dependencies&amp;quot;: { &amp;quot;react&amp;quot;: &amp;quot;^16.8.4&amp;quot;, ... } ... }  The code for the package will be installed in the project&amp;rsquo;s local node_modules folder.</description>
    </item>
    
    <item>
      <title>Dev Diary Entry, 12th March 2019</title>
      <link>https://www.clairecodes.com/dev-diary/2019-03-12/</link>
      <pubDate>Tue, 12 Mar 2019 08:20:31 +0000</pubDate>
      
      <guid>https://www.clairecodes.com/dev-diary/2019-03-12/</guid>
      <description>It was International Women&amp;rsquo;s Day last Friday. I find &amp;ldquo;celebrations&amp;rdquo; of it in the workplace more awkward every year: &amp;ldquo;oh look, there&amp;rsquo;s not many of you are there?&amp;rdquo;, but on Instagram it was a very positive affair. However I&amp;rsquo;m very cynical about it all and I&amp;rsquo;m sure some people and companies just pay lip-service to diversity for the retweets and mentions 🙃</description>
    </item>
    
    <item>
      <title>Dev Diary Entry, 5th March 2019</title>
      <link>https://www.clairecodes.com/dev-diary/2019-03-05/</link>
      <pubDate>Tue, 05 Mar 2019 13:51:06 +0000</pubDate>
      
      <guid>https://www.clairecodes.com/dev-diary/2019-03-05/</guid>
      <description>I&amp;rsquo;ve felt more energised in my work since my holiday (did I mention I was on holiday last week?!). I&amp;rsquo;ve got a few things on my coding To-Do list and I&amp;rsquo;m confident I&amp;rsquo;ll squeeze out a new blog post this week too 🤞</description>
    </item>
    
    <item>
      <title>Dev Diary Entry, 28th February 2019</title>
      <link>https://www.clairecodes.com/dev-diary/2019-02-28/</link>
      <pubDate>Thu, 28 Feb 2019 14:46:52 +0000</pubDate>
      
      <guid>https://www.clairecodes.com/dev-diary/2019-02-28/</guid>
      <description>I was away on holiday last week and didn&amp;rsquo;t read or write a line of code. I also spent hardly any time on Instagram or Twitter. It was a very relaxing week! 🌞 What was important for me about this holiday was that I didn&amp;rsquo;t mentally beat myself up because I wasn&amp;rsquo;t spending my free time redesigning my blog, or taking photos for Instagram, or learning a new language etc. I made a choice to switch off and didn&amp;rsquo;t worry about the million other ways I could have been &amp;ldquo;productively&amp;rdquo; spending my time.</description>
    </item>
    
    <item>
      <title>Dev Diary Entry, 19th February 2019</title>
      <link>https://www.clairecodes.com/dev-diary/2019-02-19/</link>
      <pubDate>Tue, 19 Feb 2019 18:00:43 +0000</pubDate>
      
      <guid>https://www.clairecodes.com/dev-diary/2019-02-19/</guid>
      <description>I have done very little extra-curricular coding or writing this week but won&amp;rsquo;t let that stop me writing this entry!
I&amp;rsquo;ve read lots of development-related blog posts since last week, but none resonated with me enough to share here. I haven&amp;rsquo;t worked on any side projects (I&amp;rsquo;ll be honest, I haven&amp;rsquo;t done that enthusiastically for a while) nor have I written any blog posts. I&amp;rsquo;ve barely posted to Instagram either. And that&amp;rsquo;s OK!</description>
    </item>
    
    <item>
      <title>Dev Diary Entry, 13th February 2019</title>
      <link>https://www.clairecodes.com/dev-diary/2019-02-13/</link>
      <pubDate>Wed, 13 Feb 2019 21:26:33 +0000</pubDate>
      
      <guid>https://www.clairecodes.com/dev-diary/2019-02-13/</guid>
      <description></description>
    </item>
    
    <item>
      <title>Achievements Unlocked and Internet Points Earned in 2018</title>
      <link>https://www.clairecodes.com/blog/2019-02-05-achievements-unlocked-and-internet-points-earned-in-2018//</link>
      <pubDate>Tue, 05 Feb 2019 20:55:14 +0000</pubDate>
      
      <guid>https://www.clairecodes.com/blog/2019-02-05-achievements-unlocked-and-internet-points-earned-in-2018//</guid>
      <description>I always mean to write a &amp;ldquo;year in review&amp;rdquo; post at new year and never get round to it. This is my belated attempt for 2018, only a month or so late!
I&amp;rsquo;ve been working as a software developer since November 2013, so 2018 marked my 5 year anniversary in this industry 🎉 I&amp;rsquo;ve made more of an effort to contribute to the community and engage with other developers online this year.</description>
    </item>
    
    <item>
      <title>Dev Diary Entry, 5th February 2019</title>
      <link>https://www.clairecodes.com/dev-diary/2019-02-05/</link>
      <pubDate>Tue, 05 Feb 2019 13:17:20 +0000</pubDate>
      
      <guid>https://www.clairecodes.com/dev-diary/2019-02-05/</guid>
      <description>I&amp;rsquo;ve downloaded the Flutter SDK (and xCode and Android Studio) to my Mac this week because I want to try Flutter out. I got the Hello World app working and the hot reloading feature is very cool! Mobile app development is something that interests me so we&amp;rsquo;ll see whether I can stick with it further than the tutorial 😂</description>
    </item>
    
    <item>
      <title>Interests 31st January 2019</title>
      <link>https://www.clairecodes.com/dev-diary/2019-01-31/</link>
      <pubDate>Thu, 31 Jan 2019 08:34:35 +0000</pubDate>
      
      <guid>https://www.clairecodes.com/dev-diary/2019-01-31/</guid>
      <description></description>
    </item>
    
    <item>
      <title>How to prevent pasting into input fields</title>
      <link>https://www.clairecodes.com/blog/2019-01-30-how-to-prevent-pasting-into-input-fields//</link>
      <pubDate>Wed, 30 Jan 2019 11:39:54 +0000</pubDate>
      
      <guid>https://www.clairecodes.com/blog/2019-01-30-how-to-prevent-pasting-into-input-fields//</guid>
      <description>In some forms, the “Confirm email address” or “Confirm password” fields don&amp;rsquo;t allow users to paste text into them. The idea is to make users type their email or password twice to help catch any typos they might have made in those important &amp;ldquo;Email&amp;rdquo; and &amp;ldquo;Password&amp;rdquo; values.
How is this functionality achieved? How can you stop your users from pasting content into an HTML input field?
We can use JavaScript to target an input field’s paste event and change how it works:</description>
    </item>
    
    <item>
      <title>Write a Blog Post for Yourself First</title>
      <link>https://www.clairecodes.com/blog/2019-01-23-write-a-blog-post-for-yourself-first//</link>
      <pubDate>Wed, 23 Jan 2019 11:57:30 +0000</pubDate>
      
      <guid>https://www.clairecodes.com/blog/2019-01-23-write-a-blog-post-for-yourself-first//</guid>
      <description>Is your new year’s resolution to start a tech blog? But do you worry that every subject you’ll write about has been covered a million times before? You’re right, it probably has, but that isn’t a reason not to write about it (for example: the message of this blog post has been covered many times before!). I always write my blog posts for an audience of one: myself in the future.</description>
    </item>
    
    <item>
      <title>Interests 16th January 2019</title>
      <link>https://www.clairecodes.com/dev-diary/2019-01-16/</link>
      <pubDate>Wed, 16 Jan 2019 17:00:30 +0000</pubDate>
      
      <guid>https://www.clairecodes.com/dev-diary/2019-01-16/</guid>
      <description>I really enjoy writing an entry for this page each week, but the contents of each post has evolved and I think the page needs a rename. I initially set out for it to be a list of topics that I was working with or was interested in working with, and would serve as inspiration. The best name I could come up with was &amp;ldquo;Interesting&amp;rdquo;, because naming things is hard. Later I started listing blog posts that I&amp;rsquo;d enjoyed reading and also mentioned any projects or blog posts that I&amp;rsquo;d worked on that week.</description>
    </item>
    
    <item>
      <title>How to Embed CodePens in Blog Posts on dev.to and Medium</title>
      <link>https://www.clairecodes.com/blog/2019-01-15-how-to-embed-codepens-in-blog-posts-on-dev.to-and-medium//</link>
      <pubDate>Tue, 15 Jan 2019 08:43:58 +0000</pubDate>
      
      <guid>https://www.clairecodes.com/blog/2019-01-15-how-to-embed-codepens-in-blog-posts-on-dev.to-and-medium//</guid>
      <description>CodePens are a great way to interactively demonstrate a code concept in a blog post. However, I spend more time than I wish to admit googling how to embed a CodePen into my posts, both on Medium and dev.to. Here are the current methods to achieve this on both platforms.
dev.to Copy the url of your CodePen and add it to a Liquid tag like this:
{% codepen https://codepen.io/claireparker/pen/oMmPPZ %}  Paste the Liquid tag directly into the page.</description>
    </item>
    
    <item>
      <title>Interests 8th January 2019</title>
      <link>https://www.clairecodes.com/dev-diary/2019-01-08/</link>
      <pubDate>Tue, 08 Jan 2019 14:01:08 +0000</pubDate>
      
      <guid>https://www.clairecodes.com/dev-diary/2019-01-08/</guid>
      <description>I&amp;rsquo;ve been M.I.A. online since mid-November - I&amp;rsquo;ve not blogged or used my coding Instagram for over six weeks. I don&amp;rsquo;t know if this is burnout or lack of motivation or just that time of year - I felt really drained in work and generally don&amp;rsquo;t like the lack of daylight at this time of year. But now it&amp;rsquo;s new year which always leaves me energised. Here are a few links I enjoyed reading before Christmas.</description>
    </item>
    
    <item>
      <title>Interests 23rd November 2018</title>
      <link>https://www.clairecodes.com/dev-diary/2018-11-23/</link>
      <pubDate>Fri, 23 Nov 2018 18:02:47 +0000</pubDate>
      
      <guid>https://www.clairecodes.com/dev-diary/2018-11-23/</guid>
      <description></description>
    </item>
    
    <item>
      <title>Interests 13th November 2018</title>
      <link>https://www.clairecodes.com/dev-diary/2018-11-16/</link>
      <pubDate>Fri, 16 Nov 2018 09:36:06 +0000</pubDate>
      
      <guid>https://www.clairecodes.com/dev-diary/2018-11-16/</guid>
      <description>dotCSS 2018 was awesome and I took something away from every talk. Paris wasn&amp;rsquo;t bad either 🙃. Write-up coming soon. Quiet week otherwise for Instagramming, blogging and general coding.</description>
    </item>
    
    <item>
      <title>Interests 7th November 2018</title>
      <link>https://www.clairecodes.com/dev-diary/2018-11-07/</link>
      <pubDate>Wed, 07 Nov 2018 19:06:20 +0000</pubDate>
      
      <guid>https://www.clairecodes.com/dev-diary/2018-11-07/</guid>
      <description>I&amp;rsquo;m writing this from departures of the airport: I&amp;rsquo;m travelling to Paris to attend dotCSS after winning a ticket giveaway held by Women Who Code! Very excited, expect a blog post soon!</description>
    </item>
    
    <item>
      <title>The Coverage is a Lie</title>
      <link>https://www.clairecodes.com/blog/2018-10-26-the-coverage-is-a-lie//</link>
      <pubDate>Fri, 26 Oct 2018 21:39:10 +0100</pubDate>
      
      <guid>https://www.clairecodes.com/blog/2018-10-26-the-coverage-is-a-lie//</guid>
      <description>This is something a colleague said today and made me laugh. He does have a point though. Just because you have high test coverage, does this mean your codebase is covered by test assertions and safe from bugs? Probably not.
What is test coverage? Wikipedia explains it pretty well:
 Test coverage is a measure used to describe the degree to which the source code of a program is executed when a particular test suite runs.</description>
    </item>
    
    <item>
      <title>Drawing a Shield with One Div</title>
      <link>https://www.clairecodes.com/blog/2018-10-25-drawing-a-shield-with-one-div//</link>
      <pubDate>Thu, 25 Oct 2018 16:57:13 +0100</pubDate>
      
      <guid>https://www.clairecodes.com/blog/2018-10-25-drawing-a-shield-with-one-div//</guid>
      <description>Have you ever seen A Single Div by Lynn Fisher? The following example is in no way as impressive but follows the same concept: drawing an item using CSS and only one HTML div.
I was inspired by seeing this site explaining the concept of using multiple values in the border-radius value. I already knew you could do this, but looking at the shape reminded me of a shield, and things escalated from there.</description>
    </item>
    
    <item>
      <title>Missing Emoji</title>
      <link>https://www.clairecodes.com/blog/2018-10-24-missing-emoji//</link>
      <pubDate>Wed, 24 Oct 2018 22:30:05 +0100</pubDate>
      
      <guid>https://www.clairecodes.com/blog/2018-10-24-missing-emoji//</guid>
      <description>It&amp;rsquo;s happened to all of us: you&amp;rsquo;re reading an article online or a message from a friend on your phone, and where the author intended to display an emoji, all you see is an empty rectangle. This is your device&amp;rsquo;s way of saying it doesn&amp;rsquo;t have support for that emoji.
Why is an emoji missing on my operating system? This is very complex (and interesting!) subject so I&amp;rsquo;m going to try and give a high-level overview.</description>
    </item>
    
    <item>
      <title>Welcoming Language</title>
      <link>https://www.clairecodes.com/blog/2018-10-23-welcoming-language//</link>
      <pubDate>Tue, 23 Oct 2018 21:51:07 +0100</pubDate>
      
      <guid>https://www.clairecodes.com/blog/2018-10-23-welcoming-language//</guid>
      <description>This might be obvious to you, but it occurred to me the other day and I wanted to elaborate on it.
When you write an invite to an event, description for your meetup, sign off on your email newsletter, write your bio on your personal website or otherwise expect a response from a stranger online, don&amp;rsquo;t forget to leave a positive invitation or call-to-action at the end.
What do I mean by that?</description>
    </item>
    
    <item>
      <title>Interests 23rd October 2018</title>
      <link>https://www.clairecodes.com/dev-diary/2018-10-23/</link>
      <pubDate>Tue, 23 Oct 2018 12:05:38 +0100</pubDate>
      
      <guid>https://www.clairecodes.com/dev-diary/2018-10-23/</guid>
      <description></description>
    </item>
    
    <item>
      <title>When Not to go for a Job Interview (UK Software Developer Edition)</title>
      <link>https://www.clairecodes.com/blog/2018-10-22-when-not-to-go-for-a-job-interview-uk-software-developer-edition//</link>
      <pubDate>Mon, 22 Oct 2018 21:39:42 +0100</pubDate>
      
      <guid>https://www.clairecodes.com/blog/2018-10-22-when-not-to-go-for-a-job-interview-uk-software-developer-edition//</guid>
      <description>I&amp;rsquo;ve always shied away from blogging about finding a job - I feel it can be controversial and I don&amp;rsquo;t see many other people doing it. However I&amp;rsquo;m going through the process myself again at the moment and wanted to share some advice. This is advice I&amp;rsquo;ve learnt myself before and always forget! Think of this as a memo for Future-Claire.
Note: I&amp;rsquo;m a software developer in the North of England.</description>
    </item>
    
    <item>
      <title>Is that really Pair Programming?</title>
      <link>https://www.clairecodes.com/blog/2018-10-21-is-that-really-pair-programming//</link>
      <pubDate>Sun, 21 Oct 2018 09:32:50 +0100</pubDate>
      
      <guid>https://www.clairecodes.com/blog/2018-10-21-is-that-really-pair-programming//</guid>
      <description>Pair programming is when two developers sit together at the same computer to write code. There&amp;rsquo;s lots of different techniques for pairing and takes more than just moving your chair over to your colleague&amp;rsquo;s desk. Discovering the most effective way to pair takes some effort, and looks different for each pair of developers.
Pairing can be very useful, but there are other times when it isn&amp;rsquo;t necessary, or when the term is misused.</description>
    </item>
    
    <item>
      <title>Takeaways From Lean In</title>
      <link>https://www.clairecodes.com/blog/2018-10-20-takeaways-from-lean-in//</link>
      <pubDate>Sat, 20 Oct 2018 21:45:52 +0100</pubDate>
      
      <guid>https://www.clairecodes.com/blog/2018-10-20-takeaways-from-lean-in//</guid>
      <description>I recently finished reading Lean In by Sheryl Sandberg and really enjoyed it. There were a lot of inspiring stories and messages throughout the book and it gave me a lot to think about. Here a few points that stood out to me as I was reading it:
Are you my Mentor? This was the title of a chapter in the book and Sheryl had a really refreshing take on mentorship.</description>
    </item>
    
    <item>
      <title>Sass or SCSS?</title>
      <link>https://www.clairecodes.com/blog/2018-10-19-sass-or-scss//</link>
      <pubDate>Fri, 19 Oct 2018 21:18:44 +0100</pubDate>
      
      <guid>https://www.clairecodes.com/blog/2018-10-19-sass-or-scss//</guid>
      <description>What do you use to style web pages? Do you write CSS or use a preprocessor? Sass is a popular CSS preprocessor, but why do you sometimes see Sass, and other times SCSS? Do you find all these acronyms and file extensions confusing, when all you want to do is make your title text a nice shade of maroon?
In this post, I’ll define some of the common abbreviations associated with Sass and explain the difference between Sass and SCSS.</description>
    </item>
    
    <item>
      <title>Jumping Around the Command Line</title>
      <link>https://www.clairecodes.com/blog/2018-10-16-jumping-around-the-command-line//</link>
      <pubDate>Tue, 16 Oct 2018 22:06:01 +0100</pubDate>
      
      <guid>https://www.clairecodes.com/blog/2018-10-16-jumping-around-the-command-line//</guid>
      <description>Next time you find yourself pressing the arrow key to move to the end of the command line, stop and remember, there is a quicker way! Here are a few quick shortcuts to make your cursor movement more efficient.
Note: These are written for a Mac - swap out the Cmd button for your OS-specific alternative (e.g. Cmd on Windows). These were tested in Terminal and iTerm2 using a Bash shell.</description>
    </item>
    
    <item>
      <title>Interests 16th October 2018</title>
      <link>https://www.clairecodes.com/dev-diary/2018-10-16/</link>
      <pubDate>Tue, 16 Oct 2018 21:50:39 +0100</pubDate>
      
      <guid>https://www.clairecodes.com/dev-diary/2018-10-16/</guid>
      <description>This week, one of the women I follow on Instagram (Leah of @leah_lestrange posted her first blog post where she explained basic concepts about the internet in a simple way. Read it here. At the end of it she had a long list of developers and tech types to follow on Instagram. She included me in her list 🤩, and the description next to it listed me as a &amp;ldquo;Web Developer &amp;amp; Blogger&amp;rdquo;.</description>
    </item>
    
    <item>
      <title>Making the Alt Key Work in iTerm2</title>
      <link>https://www.clairecodes.com/blog/2018-10-15-making-the-alt-key-work-in-iterm2//</link>
      <pubDate>Mon, 15 Oct 2018 22:13:26 +0100</pubDate>
      
      <guid>https://www.clairecodes.com/blog/2018-10-15-making-the-alt-key-work-in-iterm2//</guid>
      <description>iTerm2 is a replacement for the default Terminal application on MacOS. It has many more handy features than Terminal , is free to download and is also open source 🎉.
However, on first install, you can’t use the Option or Alt key (this key: ⌥) as you would in other applications: you can&amp;rsquo;t skip or jump over words by pressing Alt and the left or right keys. Instead you see sequences like [D or [C:</description>
    </item>
    
    <item>
      <title>Why I Like Blogging as a Developer</title>
      <link>https://www.clairecodes.com/blog/2018-10-14-why-i-like-blogging-as-a-developer//</link>
      <pubDate>Sun, 14 Oct 2018 21:47:31 +0100</pubDate>
      
      <guid>https://www.clairecodes.com/blog/2018-10-14-why-i-like-blogging-as-a-developer//</guid>
      <description>Every software developer should blog in my opinion. If there are ever a set of qualifications or standards needed to be a qualified developer, then I definitely think that writing technical blog posts should be a required skill.
But instead of telling you why you should start blogging, I’ve decided to list some of the reasons that I enjoy blogging, as well as take a short trip down memory lane.</description>
    </item>
    
    <item>
      <title>Women&#39;s Wednesday Interview</title>
      <link>https://www.clairecodes.com/blog/2018-10-13-womens-wednesday-interview//</link>
      <pubDate>Sat, 13 Oct 2018 22:45:57 +0100</pubDate>
      
      <guid>https://www.clairecodes.com/blog/2018-10-13-womens-wednesday-interview//</guid>
      <description>I&amp;rsquo;m an active member of Instagram though my coding-themed account claire_codes. There&amp;rsquo;s a lot more developers posting on Instagram than you think - it&amp;rsquo;s a very positive, supportive community and I have a lot of fun interacting with people and finding new ways to communicate with them.
Daniela (who runs the account coding.misslild)) runs a feature in her Instagram stories every Wednesday she calls “Women’s Wednesday”. She asks a female developer a series of questions and posts their answers.</description>
    </item>
    
    <item>
      <title>What a green GitHub graph doesn&#39;t show</title>
      <link>https://www.clairecodes.com/blog/2018-10-12-what-a-green-github-graph-doesnt-show//</link>
      <pubDate>Fri, 12 Oct 2018 22:27:44 +0100</pubDate>
      
      <guid>https://www.clairecodes.com/blog/2018-10-12-what-a-green-github-graph-doesnt-show//</guid>
      <description>The GitHub contributions graph is the dashboard visible on a user&amp;rsquo;s GitHub profile page. It shows the number of contributions you&amp;rsquo;ve made to repositories over the past year. Contributions are marked on each day with a different shade of green, depending on how much you did that day relative to the rest of the year.
A contribution is defined as:
 opening an issue creating a pull request reviewing a pull request making a code commit  Most of your contributions probably come from commits, especially when starting out and working on personal projects only.</description>
    </item>
    
    <item>
      <title>Emoji Silhouettes</title>
      <link>https://www.clairecodes.com/blog/2018-10-11-emoji-silhouettes//</link>
      <pubDate>Thu, 11 Oct 2018 21:38:16 +0100</pubDate>
      
      <guid>https://www.clairecodes.com/blog/2018-10-11-emoji-silhouettes//</guid>
      <description>To change the colour of text with CSS, we can simply use the colour CSS property. However, this doesn’t work on emoji characters. But by using the background-clip property, it&amp;rsquo;s possible to fill the whole emoji shape with a colour, or gradient. This enables us to create text effects like this:
 .silhouette-one { font-size: 24px; display: inline-block; background: -webkit-linear-gradient(to right, #ffea00, #f50057); background: linear-gradient(to right, #ffea00, #f50057); -webkit-background-clip: text; -webkit-text-fill-color: transparent; }  🐘 ☘️ ⭐️ TL;DR The CSS required to create the silhouettes above looks like this:</description>
    </item>
    
    <item>
      <title>CSS Polka Dot Background</title>
      <link>https://www.clairecodes.com/blog/2018-10-10-css-polka-dot-background//</link>
      <pubDate>Wed, 10 Oct 2018 23:14:56 +0100</pubDate>
      
      <guid>https://www.clairecodes.com/blog/2018-10-10-css-polka-dot-background//</guid>
      <description>TL;DR This post explains how to produce this design using CSS:
 .polka-space-one { background-image: radial-gradient(#212121 20%, transparent 20%), radial-gradient(#FAFAFA 20%, transparent 20%); background-color: #E53935; background-position: 0 0, 50px 50px; background-size: 100px 100px; width: 100%; height: 300px; }   It can be created with only a single HTML tag and these background-related CSS properties:
body { background-image: radial-gradient(#212121 20%, transparent 20%), radial-gradient(#fafafa 20%, transparent 20%); background-color: #e53935; background-position: 0 0, 50px 50px; background-size: 100px 100px; }  Below is an explanation of how this works, or you can experiment with the code directly in this CodePen example:</description>
    </item>
    
    <item>
      <title>Interests 9th October 2018</title>
      <link>https://www.clairecodes.com/dev-diary/2018-10-09/</link>
      <pubDate>Tue, 09 Oct 2018 22:28:52 +0100</pubDate>
      
      <guid>https://www.clairecodes.com/dev-diary/2018-10-09/</guid>
      <description></description>
    </item>
    
    <item>
      <title>Blogging on Your Birthday</title>
      <link>https://www.clairecodes.com/blog/2018-10-07-blogging-on-your-birthday//</link>
      <pubDate>Sun, 07 Oct 2018 22:44:02 +0100</pubDate>
      
      <guid>https://www.clairecodes.com/blog/2018-10-07-blogging-on-your-birthday//</guid>
      <description>Note: my original intention for this blog post was to write it on my actual birthday (which was yesterday, 6th October), but it turned out I didn’t get chance. But I did think about what I was going to write, so I the thought was there.
A Birthday Haiku  A birthday blog post
Implies I&amp;rsquo;m having no fun
The cake is a lie
 A coding poet Embarrassing isn&amp;rsquo;t it?</description>
    </item>
    
    <item>
      <title>Current Development Learning Goals</title>
      <link>https://www.clairecodes.com/blog/2018-10-05-current-development-learning-goals//</link>
      <pubDate>Fri, 05 Oct 2018 22:52:54 +0100</pubDate>
      
      <guid>https://www.clairecodes.com/blog/2018-10-05-current-development-learning-goals//</guid>
      <description>I&amp;rsquo;m coming up to my five-year anniversary of working professionally as a web developer this November. I am still enchanted by the challenge of writing software, particularly as I&amp;rsquo;ve moved solely into frontend web development.
One of the things I love about being a developer is that there are always new things to learn, and that it&amp;rsquo;s part of your job as a good software engineer to keep learning them.</description>
    </item>
    
    <item>
      <title>Displaying Column Card Counts in Trello</title>
      <link>https://www.clairecodes.com/blog/2018-10-04-displaying-column-card-counts-in-trello//</link>
      <pubDate>Thu, 04 Oct 2018 22:32:00 +0100</pubDate>
      
      <guid>https://www.clairecodes.com/blog/2018-10-04-displaying-column-card-counts-in-trello//</guid>
      <description>Updated March 2020 to reflect Trello&amp;rsquo;s latest design.
My current favourite tool for managing tasks is Trello. Trello is a free web application for project management. You can use a Trello board to organise pretty much anything, for example I have a board for managing blog post ideas. But it&amp;rsquo;s missing one feature for me: I’d like to see the total number of cards in each list displayed at the top of the column.</description>
    </item>
    
    <item>
      <title>Interests 4th October 2018</title>
      <link>https://www.clairecodes.com/dev-diary/2018-10-04/</link>
      <pubDate>Thu, 04 Oct 2018 17:40:43 +0200</pubDate>
      
      <guid>https://www.clairecodes.com/dev-diary/2018-10-04/</guid>
      <description>I&amp;rsquo;ve been on holiday this week, so all my weekly development themed newsletters are backing up in my inbox.</description>
    </item>
    
    <item>
      <title>Using email newsletters to stay up-to-date with web development</title>
      <link>https://www.clairecodes.com/blog/2018-10-03-using-email-newsletters-to-stay-up-to-date-with-web-development//</link>
      <pubDate>Wed, 03 Oct 2018 10:02:44 +0200</pubDate>
      
      <guid>https://www.clairecodes.com/blog/2018-10-03-using-email-newsletters-to-stay-up-to-date-with-web-development//</guid>
      <description>Click here to scroll directly to my list of newsletter subscriptions.
Hi, my name&amp;rsquo;s Claire and I&amp;rsquo;m a frontend web developer. The exact definition of frontend development varies between developers and companies. What a frontend developer does in Company A might be the responsibility of a UX researcher or backend developer in Company B. It might even be spelt differently! (I prefer &amp;ldquo;frontend&amp;rdquo; rather than &amp;ldquo;front-end&amp;rdquo; or &amp;ldquo;front end&amp;rdquo;) Take a look at the Front-end Developer Handbook (2018 edition) for an idea of the areas that frontend development covers.</description>
    </item>
    
    <item>
      <title>Simple vs clever code style</title>
      <link>https://www.clairecodes.com/blog/2018-10-02-simple-vs-clever-code-style//</link>
      <pubDate>Tue, 02 Oct 2018 18:02:44 +0200</pubDate>
      
      <guid>https://www.clairecodes.com/blog/2018-10-02-simple-vs-clever-code-style//</guid>
      <description>&amp;ldquo;Code is written once, but is read over and over again&amp;rdquo;  Code is written once, but is read over and over again.
 Said some developer somewhere.
In my humble opinion, good code is easy to read and understand. There&amp;rsquo;s lots of factors that contribute to code being readable and easy to maintain, but today I&amp;rsquo;m going to focus on the choice of idioms and patterns used.
An example So your code does The Thing successfully.</description>
    </item>
    
    <item>
      <title>Blogtober 2018</title>
      <link>https://www.clairecodes.com/blog/2018-10-01-blogtober-2018//</link>
      <pubDate>Mon, 01 Oct 2018 23:18:49 +0200</pubDate>
      
      <guid>https://www.clairecodes.com/blog/2018-10-01-blogtober-2018//</guid>
      <description>Blogtober 2018 posts  1st October: Kick-off post (this one!) 2nd October: Simple vs clever code style 3rd October: Using email newsletters to stay up-to-date with web development 4th October: Displaying Column Card Counts in Trello 5th October: Current Development Learning Goals 6th October: Coming soon! 7th October: Blogging on your birthday 8th October: Coming soon! 9th October: Coming soon! 10th October: CSS Polka Dot Background 11th October: Emoji Silhouettes 12th October: What a green GitHub graph doesn&amp;rsquo;t show 13th October: Women&amp;rsquo;s Wednesday Interview 14th October: Why I Like Blogging as a Developer 15th October: Making the Alt Key Work in iTerm2 16th October: Jumping around the command line 17th October: Coming soon!</description>
    </item>
    
    <item>
      <title>Interests 25th September 2018</title>
      <link>https://www.clairecodes.com/dev-diary/2018-09-25/</link>
      <pubDate>Tue, 25 Sep 2018 21:02:31 +0100</pubDate>
      
      <guid>https://www.clairecodes.com/dev-diary/2018-09-25/</guid>
      <description></description>
    </item>
    
    <item>
      <title>Testing text with Jest snapshots</title>
      <link>https://www.clairecodes.com/blog/2018-09-19-testing-text-with-jest-snapshots//</link>
      <pubDate>Wed, 19 Sep 2018 22:41:54 +0100</pubDate>
      
      <guid>https://www.clairecodes.com/blog/2018-09-19-testing-text-with-jest-snapshots//</guid>
      <description>Note: this article discusses snapshot testing with Jest, but other test libraries also offer snapshotting features.
Snapshot tests are ubiquitous in testing React components. But have you ever considered using them elsewhere? This post explores using snapshots to test functions that return lots of text.
What do snapshots do? When you run a snapshot test against a React component, it generates a “snapshot” of the rendered output in a test file.</description>
    </item>
    
    <item>
      <title>Interests 18th September 2018</title>
      <link>https://www.clairecodes.com/dev-diary/2018-09-18/</link>
      <pubDate>Tue, 18 Sep 2018 21:32:02 +0100</pubDate>
      
      <guid>https://www.clairecodes.com/dev-diary/2018-09-18/</guid>
      <description></description>
    </item>
    
    <item>
      <title>Customising styled components with props</title>
      <link>https://www.clairecodes.com/blog/2018-09-14-customising-styled-components-with-props//</link>
      <pubDate>Fri, 14 Sep 2018 17:35:27 +0100</pubDate>
      
      <guid>https://www.clairecodes.com/blog/2018-09-14-customising-styled-components-with-props//</guid>
      <description>How do you change the style and appearance of a React styled component the value of a prop?
Define the component in your app and pass the prop. (Setting a prop with no value as I do below implicitly passes a boolean true.) I&amp;rsquo;m using a boolean to keep things simple.
&amp;lt;Widget invisible&amp;gt;Hello World&amp;lt;/Widget&amp;gt;  Next, in your component, pass the prop to the styled component wrapper. We can access the props within the styled component&amp;rsquo;s tagged template literal.</description>
    </item>
    
    <item>
      <title>My Prettier Cheatsheet</title>
      <link>https://www.clairecodes.com/blog/2018-09-13-my-prettier-cheatsheet//</link>
      <pubDate>Thu, 13 Sep 2018 18:26:03 +0100</pubDate>
      
      <guid>https://www.clairecodes.com/blog/2018-09-13-my-prettier-cheatsheet//</guid>
      <description>At the time of writing, Prettier is on version 1.14.2.
This post is my own personal cheatsheet for Prettier. It contains a brief overview of Prettier and how to set it up on a project. It&amp;rsquo;s not an exhaustive tutorial, just some suggested quickstart methods and my preferred config.
The reason for this post is that I don&amp;rsquo;t set new apps up from scratch very often, and when I do I end up spending too much time trying to remember my preferred settings.</description>
    </item>
    
    <item>
      <title>2018-09-10</title>
      <link>https://www.clairecodes.com/dev-diary/2018-09-10/</link>
      <pubDate>Mon, 10 Sep 2018 19:17:39 +0100</pubDate>
      
      <guid>https://www.clairecodes.com/dev-diary/2018-09-10/</guid>
      <description>It’s been a quiet couple of months for me online. I haven&amp;rsquo;t had much inclination to code or blog over the summer, or even post to Instagram regularly. But this isn&amp;rsquo;t the first time I&amp;rsquo;ve lost interest in coding. I just go with it and eventually I rediscover my enthusiasm for all this web development stuff instead of forcing it and having it become a chore. I finally squeezed a blog post out of my brain though which hopefully marks the end of my drought.</description>
    </item>
    
    <item>
      <title>Template Literals and Arrays</title>
      <link>https://www.clairecodes.com/blog/2018-09-08-template-literals-and-arrays//</link>
      <pubDate>Sat, 08 Sep 2018 21:49:44 +0100</pubDate>
      
      <guid>https://www.clairecodes.com/blog/2018-09-08-template-literals-and-arrays//</guid>
      <description>Template literals (or the feature formerly known as template strings in older versions of the spec) are one of my favourite features of ES6. By quoting with backticks instead of quotes, we can create strings that span multiple lines and interpolate variables. For example:
const thing = &amp;quot;World&amp;quot;; `Hello ${thing}`; // &amp;quot;Hello // World&amp;quot;  (Note, anything preceded by // in the code examples is what gets printed to a browser console after executing the code.</description>
    </item>
    
    <item>
      <title>2018-07-18</title>
      <link>https://www.clairecodes.com/dev-diary/2018-07-18/</link>
      <pubDate>Wed, 18 Jul 2018 22:25:09 +0100</pubDate>
      
      <guid>https://www.clairecodes.com/dev-diary/2018-07-18/</guid>
      <description></description>
    </item>
    
    <item>
      <title>2018-07-10</title>
      <link>https://www.clairecodes.com/dev-diary/2018-07-10/</link>
      <pubDate>Tue, 10 Jul 2018 22:16:09 +0100</pubDate>
      
      <guid>https://www.clairecodes.com/dev-diary/2018-07-10/</guid>
      <description>I&amp;rsquo;m realising each week I do this lately, that there&amp;rsquo;s such a bias in my reading and learning towards web design and layouts. This is interesting for me to know and also another reason why this format of blogging is useful 😀</description>
    </item>
    
    <item>
      <title>2018-07-02</title>
      <link>https://www.clairecodes.com/dev-diary/2018-07-02/</link>
      <pubDate>Mon, 02 Jul 2018 22:09:32 +0100</pubDate>
      
      <guid>https://www.clairecodes.com/dev-diary/2018-07-02/</guid>
      <description></description>
    </item>
    
    <item>
      <title>2018-06-26</title>
      <link>https://www.clairecodes.com/dev-diary/2018-06-26/</link>
      <pubDate>Tue, 26 Jun 2018 23:08:43 +0100</pubDate>
      
      <guid>https://www.clairecodes.com/dev-diary/2018-06-26/</guid>
      <description></description>
    </item>
    
    <item>
      <title>2018-06-13</title>
      <link>https://www.clairecodes.com/dev-diary/2018-06-13/</link>
      <pubDate>Wed, 13 Jun 2018 21:48:43 +0100</pubDate>
      
      <guid>https://www.clairecodes.com/dev-diary/2018-06-13/</guid>
      <description></description>
    </item>
    
    <item>
      <title>Quickly Switching Between Two Branches in Git</title>
      <link>https://www.clairecodes.com/blog/2018-06-08-quickly-switching-between-two-branches-in-git//</link>
      <pubDate>Fri, 08 Jun 2018 22:17:24 +0100</pubDate>
      
      <guid>https://www.clairecodes.com/blog/2018-06-08-quickly-switching-between-two-branches-in-git//</guid>
      <description>git checkout - checks out the last branch you were working on.
 Do you find yourself needing to switch between the same two branches in git again and again? There&amp;rsquo;s a shortcut for that in the terminal!
Instead of typing out the branch name manually each time, substitute the name with the hyphen character -.
Note: In the gif, I&amp;rsquo;m using the Bash shell in iTerm2 on a Mac.</description>
    </item>
    
    <item>
      <title>2018-05-28</title>
      <link>https://www.clairecodes.com/dev-diary/2018-05-28/</link>
      <pubDate>Mon, 28 May 2018 22:09:12 +0100</pubDate>
      
      <guid>https://www.clairecodes.com/dev-diary/2018-05-28/</guid>
      <description></description>
    </item>
    
    <item>
      <title>Finding your coding niche</title>
      <link>https://www.clairecodes.com/blog/2018-05-28-finding-your-coding-niche//</link>
      <pubDate>Mon, 28 May 2018 21:50:13 +0100</pubDate>
      
      <guid>https://www.clairecodes.com/blog/2018-05-28-finding-your-coding-niche//</guid>
      <description>I wrote a post for The Girl Code about my experience in the tech industry. The topic was very broad but I found I had something to say about changing roles as a developer, and that it can take a while sometimes to find your area of interest.
Read the full post on The Girl Code&amp;rsquo;s Medium account here.</description>
    </item>
    
    <item>
      <title>2018-05-15</title>
      <link>https://www.clairecodes.com/dev-diary/2018-05-15/</link>
      <pubDate>Tue, 15 May 2018 22:09:12 +0100</pubDate>
      
      <guid>https://www.clairecodes.com/dev-diary/2018-05-15/</guid>
      <description></description>
    </item>
    
    <item>
      <title>2018-05-09</title>
      <link>https://www.clairecodes.com/dev-diary/2018-05-09/</link>
      <pubDate>Wed, 09 May 2018 22:09:12 +0100</pubDate>
      
      <guid>https://www.clairecodes.com/dev-diary/2018-05-09/</guid>
      <description></description>
    </item>
    
    <item>
      <title>Escape from Node Mountain</title>
      <link>https://www.clairecodes.com/blog/2018-05-09-escape-from-node-mountain//</link>
      <pubDate>Wed, 09 May 2018 21:50:13 +0100</pubDate>
      
      <guid>https://www.clairecodes.com/blog/2018-05-09-escape-from-node-mountain//</guid>
      <description>A quick tip that will save a lot of hassle.
We&amp;rsquo;ve all been there - you open a file in node_modules, then the tree view focus is lost amongst dozens of folders. In order to select another file outside node_modules you have to scroll for miles and miles.
To quickly escape from this node modules prison, click on the file in tree view so that it has focus, then press the left arrow key repeatedly until you&amp;rsquo;re free and have returned to the lush green plains at the root of your project.</description>
    </item>
    
    <item>
      <title>How to create an array of unique values in JavaScript using Sets</title>
      <link>https://www.clairecodes.com/blog/2018-05-06-how-to-create-an-array-of-unique-values-in-javascript-using-sets//</link>
      <pubDate>Sun, 06 May 2018 23:57:39 +0100</pubDate>
      
      <guid>https://www.clairecodes.com/blog/2018-05-06-how-to-create-an-array-of-unique-values-in-javascript-using-sets//</guid>
      <description>TL;DR let uniqueArray = [...new Set([5,5,2,2,2,4,2])]; // [5,2,4]  Pardon? Sorry for the verbose title - sometimes things can be explained better with a code example.
Imagine you have a JavaScript array that contains many elements, some of which are duplicated:
let dupeArray = [1,1,4,5,4,4,2,1,5];  Your goal is to remove the duplicates and leave only one entry per value:
let uniqueArray = [1,4,5,2];  You might write a for-loop, or use a map or filter to get this result.</description>
    </item>
    
    <item>
      <title>2018-05-03</title>
      <link>https://www.clairecodes.com/dev-diary/2018-05-03/</link>
      <pubDate>Thu, 03 May 2018 21:58:38 +0100</pubDate>
      
      <guid>https://www.clairecodes.com/dev-diary/2018-05-03/</guid>
      <description></description>
    </item>
    
    <item>
      <title>2018-04-29</title>
      <link>https://www.clairecodes.com/dev-diary/2018-04-29/</link>
      <pubDate>Sun, 29 Apr 2018 21:58:38 +0100</pubDate>
      
      <guid>https://www.clairecodes.com/dev-diary/2018-04-29/</guid>
      <description>Moved house this week so not much time to open the laptop in the evenings. Kept up the pace in work though.</description>
    </item>
    
    <item>
      <title>2018-04-18</title>
      <link>https://www.clairecodes.com/dev-diary/2018-04-18/</link>
      <pubDate>Wed, 18 Apr 2018 22:25:51 +0100</pubDate>
      
      <guid>https://www.clairecodes.com/dev-diary/2018-04-18/</guid>
      <description>First week of a new job so there is sooooo much new stuff to learn! I love it!</description>
    </item>
    
    <item>
      <title>Drying Out CSS Selectors with Sass Maps</title>
      <link>https://www.clairecodes.com/blog/2018-04-16-drying-out-css-selectors-with-sass-maps//</link>
      <pubDate>Mon, 16 Apr 2018 22:31:21 +0100</pubDate>
      
      <guid>https://www.clairecodes.com/blog/2018-04-16-drying-out-css-selectors-with-sass-maps//</guid>
      <description>Repetitive selectors I recently wrote some Sass that looked like this:
$color-apple: green; $color-lemon: yellow; $color-strawberry: red; .apple-button { background-color: $color-apple; } .strawberry-button { background-color: $color-strawberry; } .lemon-button { background-color: $color-lemon; } // This compiles to: // .apple-button { // background-color: green; // } // // .strawberry-button { // background-color: red; // } // // .lemon-button { // background-color: yellow; // }  (No I&amp;rsquo;m not working on a website for a greengrocers, the fruit theme is just for example purposes!</description>
    </item>
    
    <item>
      <title>Why it&#39;s important to give your button a type</title>
      <link>https://www.clairecodes.com/blog/2018-04-14-why-its-important-to-give-your-button-a-type//</link>
      <pubDate>Sat, 14 Apr 2018 23:56:31 +0100</pubDate>
      
      <guid>https://www.clairecodes.com/blog/2018-04-14-why-its-important-to-give-your-button-a-type//</guid>
      <description>How do you create a button element with HTML? I often see them written like this:
&amp;lt;button&amp;gt;Press me&amp;lt;/button&amp;gt;  This code is valid HTML and passes the W3C markup validation service. However, I believe that the type attribute should always be included on a button. If this attribute is missing, it can introduce potentially confusing behaviour - and there&amp;rsquo;s enough of that to deal with already in web development!</description>
    </item>
    
    <item>
      <title>2018-04-12</title>
      <link>https://www.clairecodes.com/dev-diary/2018-04-12/</link>
      <pubDate>Thu, 12 Apr 2018 22:15:59 +0100</pubDate>
      
      <guid>https://www.clairecodes.com/dev-diary/2018-04-12/</guid>
      <description>It&amp;rsquo;s been a really busy few days in terms of discovering new stuff so here&amp;rsquo;s another Interesting post for this week!</description>
    </item>
    
    <item>
      <title>2018-04-10</title>
      <link>https://www.clairecodes.com/dev-diary/2018-04-10/</link>
      <pubDate>Tue, 10 Apr 2018 13:55:42 +0100</pubDate>
      
      <guid>https://www.clairecodes.com/dev-diary/2018-04-10/</guid>
      <description></description>
    </item>
    
    <item>
      <title>Making a sticky sidebar with two lines of CSS</title>
      <link>https://www.clairecodes.com/blog/2018-04-02-making-a-sticky-sidebar-with-two-lines-of-css//</link>
      <pubDate>Mon, 02 Apr 2018 16:19:53 +0100</pubDate>
      
      <guid>https://www.clairecodes.com/blog/2018-04-02-making-a-sticky-sidebar-with-two-lines-of-css//</guid>
      <description>Have you ever been on a website where an element “sticks” to the screen and follows you as you scroll down the page? This is what I call a sticky sidebar, and I’ve spent many hours battling with legacy code trying to debug one. In the past, developers used JavaScript to build this feature, by recalculating the position of the sidebar on the browser&amp;rsquo;s scroll event. This was complicated to maintain and also costly for performance.</description>
    </item>
    
    <item>
      <title>2018-03-31</title>
      <link>https://www.clairecodes.com/dev-diary/2018-03-31/</link>
      <pubDate>Sat, 31 Mar 2018 22:17:05 +0000</pubDate>
      
      <guid>https://www.clairecodes.com/dev-diary/2018-03-31/</guid>
      <description></description>
    </item>
    
    <item>
      <title>Reasons not to use IDs in CSS</title>
      <link>https://www.clairecodes.com/blog/2018-03-19-reasons-not-to-use-ids-in-css//</link>
      <pubDate>Mon, 19 Mar 2018 20:54:03 +0000</pubDate>
      
      <guid>https://www.clairecodes.com/blog/2018-03-19-reasons-not-to-use-ids-in-css//</guid>
      <description>Sometimes when I’m reviewing code, I advise a colleague not to use IDs for CSS style selectors, and inevitably get asked why. Like standing in queues, making a cup of tea or applying a full face of makeup in the dark at 6am, avoiding IDs in CSS is something I do without thinking. I&amp;rsquo;ve been doing it for so long without questioning it, that it takes me a minute before I can explain to other people why.</description>
    </item>
    
    <item>
      <title>Styling inline code tags</title>
      <link>https://www.clairecodes.com/blog/2018-03-16-styling-inline-code-tags//</link>
      <pubDate>Fri, 16 Mar 2018 08:58:21 +0000</pubDate>
      
      <guid>https://www.clairecodes.com/blog/2018-03-16-styling-inline-code-tags//</guid>
      <description>I like writing tech-related blog posts (you’re reading one right now!). My posts often contain the &amp;lt;code&amp;gt; tag as I illustrate code examples. The default browser style for this tag can be pretty dull, typically using the system monospace font and a beige background colour. I&amp;rsquo;ve added my own custom style to this tag. This is a step-by-step explanation of it, as I&amp;rsquo;d rather do that than watch some drivel on Netflix today.</description>
    </item>
    
    <item>
      <title>2018-03-14</title>
      <link>https://www.clairecodes.com/dev-diary/2018-03-14/</link>
      <pubDate>Wed, 14 Mar 2018 21:57:58 +0000</pubDate>
      
      <guid>https://www.clairecodes.com/dev-diary/2018-03-14/</guid>
      <description></description>
    </item>
    
    <item>
      <title>Deleting multiple local git branches with grep</title>
      <link>https://www.clairecodes.com/blog/2018-03-13-deleting-multiple-local-git-branches-with-grep//</link>
      <pubDate>Tue, 13 Mar 2018 22:45:59 +0000</pubDate>
      
      <guid>https://www.clairecodes.com/blog/2018-03-13-deleting-multiple-local-git-branches-with-grep//</guid>
      <description>After working for a while on a project, it’s likely that you’ll have a lot of branches checked out locally. Branches quickly expire and are no longer needed, so it’s a good idea to delete them. But if you’re like me, you don’t do this very regularly! When I type git branch into the terminal I&amp;rsquo;m confronted with dozens of dead branches.
Delete local branches by typing git branch -D branch-name in your terminal.</description>
    </item>
    
    <item>
      <title>2018-03-07</title>
      <link>https://www.clairecodes.com/dev-diary/2018-03-07/</link>
      <pubDate>Wed, 07 Mar 2018 22:17:05 +0000</pubDate>
      
      <guid>https://www.clairecodes.com/dev-diary/2018-03-07/</guid>
      <description></description>
    </item>
    
    <item>
      <title>2018-02-20</title>
      <link>https://www.clairecodes.com/dev-diary/2018-02-20/</link>
      <pubDate>Tue, 20 Feb 2018 22:26:33 +0000</pubDate>
      
      <guid>https://www.clairecodes.com/dev-diary/2018-02-20/</guid>
      <description></description>
    </item>
    
    <item>
      <title>Do your own dotfiles</title>
      <link>https://www.clairecodes.com/blog/2018-02-19-do-your-own-dotfiles//</link>
      <pubDate>Mon, 19 Feb 2018 21:35:19 +0000</pubDate>
      
      <guid>https://www.clairecodes.com/blog/2018-02-19-do-your-own-dotfiles//</guid>
      <description>A new job brings lots of changes, including a new laptop or computer. I’m lucky enough to have been able to use a MacBook in all of my developer jobs. (Once you go Mac you never go back!) I recently started a new job and found myself starting from scratch again. I began by downloading Atom, replaced Terminal with iTerm2 and installed some other handy apps.
I used my dotfiles to customise my terminal prompt, and thanked Past Claire for committing the code for this to the repo.</description>
    </item>
    
    <item>
      <title>2017-12-04</title>
      <link>https://www.clairecodes.com/dev-diary/2017-12-04/</link>
      <pubDate>Mon, 04 Dec 2017 22:08:03 +0000</pubDate>
      
      <guid>https://www.clairecodes.com/dev-diary/2017-12-04/</guid>
      <description></description>
    </item>
    
    <item>
      <title>2017-11-28</title>
      <link>https://www.clairecodes.com/dev-diary/2017-11-28/</link>
      <pubDate>Tue, 28 Nov 2017 22:19:59 +0000</pubDate>
      
      <guid>https://www.clairecodes.com/dev-diary/2017-11-28/</guid>
      <description></description>
    </item>
    
    <item>
      <title>Multiline comments in Sass</title>
      <link>https://www.clairecodes.com/blog/2017-11-21-multiline-comments-in-sass//</link>
      <pubDate>Tue, 21 Nov 2017 21:35:19 +0000</pubDate>
      
      <guid>https://www.clairecodes.com/blog/2017-11-21-multiline-comments-in-sass//</guid>
      <description>Note: These rules are specifically for sass-lint, because that&amp;rsquo;s my linter of choice. However, equivalent rules will (probably) exist for other linters such as stylelint or csslint.
If you lint your Sass code using an automated tool like sass-lint, you might have encountered the rule: no-css-comments. Depending on the severity level in your linter config, this will trigger an error or a warning when it encounters comments like this /* I am a CSS style comment */.</description>
    </item>
    
    <item>
      <title>2017-11-20</title>
      <link>https://www.clairecodes.com/dev-diary/2017-11-20/</link>
      <pubDate>Mon, 20 Nov 2017 22:41:57 +0000</pubDate>
      
      <guid>https://www.clairecodes.com/dev-diary/2017-11-20/</guid>
      <description></description>
    </item>
    
    <item>
      <title>Does this matter?</title>
      <link>https://www.clairecodes.com/dev-diary/2017-07-01/</link>
      <pubDate>Sat, 01 Jul 2017 00:00:00 +0000</pubDate>
      
      <guid>https://www.clairecodes.com/dev-diary/2017-07-01/</guid>
      <description></description>
    </item>
    
    <item>
      <title>Does this matter?</title>
      <link>https://www.clairecodes.com/dev-diary/2017-04-09/</link>
      <pubDate>Sun, 09 Apr 2017 00:00:00 +0000</pubDate>
      
      <guid>https://www.clairecodes.com/dev-diary/2017-04-09/</guid>
      <description></description>
    </item>
    
    <item>
      <title>Global gitignores - is this thing on?</title>
      <link>https://www.clairecodes.com/blog/2017-04-06-global-gitignores-is-this-thing-on//</link>
      <pubDate>Thu, 06 Apr 2017 22:05:26 +0000</pubDate>
      
      <guid>https://www.clairecodes.com/blog/2017-04-06-global-gitignores-is-this-thing-on//</guid>
      <description>Do you get tired of typing out echo node_modules/ &amp;gt; .gitignore every time you create a new JavaScript project? Do you always forget and commit those pesky node modules to GitHub anyway? And what about those npm_debug.log or .DS_Store files (what even is .DS_Store⁉️)?
Well help is at hand to save you yet more precious keystrokes. Create a ✨global gitignore✨ file which will be used by all your git repos locally on your machine and you may never need to write a .</description>
    </item>
    
    <item>
      <title>Top tips for targeting your searches in Atom</title>
      <link>https://www.clairecodes.com/blog/2017-03-22-top-tips-for-targeting-your-searches-in-atom//</link>
      <pubDate>Wed, 22 Mar 2017 23:10:20 +0000</pubDate>
      
      <guid>https://www.clairecodes.com/blog/2017-03-22-top-tips-for-targeting-your-searches-in-atom//</guid>
      <description>Are you working on a large project in Atom? Dozens of directories? Thousands of files? Innumerable node modules? You may have discovered that Atom isn&amp;rsquo;t the fastest editor out there when executing search queries across an entire project. Give Atom a helping hand by narrowing down the scope of your search with a few simple glob patterns.
TL;DR  Exclude a directory from your search by adding an exclamation point in front of its name: !</description>
    </item>
    
    <item>
      <title>Improving colour contrast ratios in Atom</title>
      <link>https://www.clairecodes.com/blog/2017-03-07-improving-colour-contrast-ratios-in-atom//</link>
      <pubDate>Tue, 07 Mar 2017 20:58:17 +0000</pubDate>
      
      <guid>https://www.clairecodes.com/blog/2017-03-07-improving-colour-contrast-ratios-in-atom//</guid>
      <description>Atom is an open source text editor and is as customisable as you’d expect a piece of open source software to be (i.e. very). If you want a new piece of functionality, chances are a package already exists for it. The same goes for design themes. But it&amp;rsquo;s also simple to make small style tweaks to your UI without overhauling your whole colour scheme. I recently did this to make the tree view easier to use for my poor old eyes 👀.</description>
    </item>
    
    <item>
      <title>Why the title attribute is pointless in HTML5</title>
      <link>https://www.clairecodes.com/blog/2017-01-31-why-the-title-attribute-is-pointless-in-html5//</link>
      <pubDate>Tue, 31 Jan 2017 22:29:26 +0000</pubDate>
      
      <guid>https://www.clairecodes.com/blog/2017-01-31-why-the-title-attribute-is-pointless-in-html5//</guid>
      <description>I’ve been working a lot with Magento 2 recently (lucky me 😑) and I&amp;rsquo;ve noticed the title attribute used heavily across the HTML and PHTML template files. I found examples on &amp;lt;input&amp;gt;, &amp;lt;a&amp;gt; , &amp;lt;textarea&amp;gt;, &amp;lt;p&amp;gt; and especially &amp;lt;div&amp;gt; tags, e.g.
&amp;lt;div title=&amp;quot;&amp;lt;?php /* @escapeNotVerified */ echo __(‘Buy me&#39;)?&amp;gt;&amp;quot;&amp;gt; &amp;lt;?php /* @escapeNotVerified */ echo __(‘Buy me&#39;) ?&amp;gt; &amp;lt;/div&amp;gt;  This is the pattern I&amp;rsquo;ve seen used: the title attribute is used to repeat the text within the div or an equivalent “useful” value for other tags.</description>
    </item>
    
    <item>
      <title>When strict equality goes wrong</title>
      <link>https://www.clairecodes.com/blog/2016-11-07-when-strict-equality-goes-wrong//</link>
      <pubDate>Mon, 07 Nov 2016 21:24:01 +0000</pubDate>
      
      <guid>https://www.clairecodes.com/blog/2016-11-07-when-strict-equality-goes-wrong//</guid>
      <description>I recently saw this code in the wild. Names have been changed to protect those involved.
function makeFizzbobs (widget) { if (widget === null) { return {}; } else { // Does something interesting with widget return 42; } }  I could imagine what the author of the code thought they were doing: they were guarding against an empty function parameter right? Cos null sounds like what you&amp;rsquo;d be left with if the user didn&amp;rsquo;t supply an argument like floop or 321.</description>
    </item>
    
    <item>
      <title>Command concatenation in the terminal</title>
      <link>https://www.clairecodes.com/blog/2016-09-04-command-concatenation-in-the-terminal//</link>
      <pubDate>Sun, 04 Sep 2016 20:45:17 +0000</pubDate>
      
      <guid>https://www.clairecodes.com/blog/2016-09-04-command-concatenation-in-the-terminal//</guid>
      <description>You may know that you can chain commands at the terminal. So instead of writing
$ echo &#39;foo&#39; $ echo &#39;bar&#39;  And hitting return after each one, you could type:
$ echo &#39;foo&#39; &amp;amp;&amp;amp; echo &#39;bar&#39;  And achieve much the same thing - not exactly the same output but often close enough. I frequently use this combination in my JavaScript app development:
rm -rf node_modules &amp;amp;&amp;amp; npm i &amp;amp;&amp;amp; say done  That&amp;rsquo;s a freebie.</description>
    </item>
    
    <item>
      <title>Super quick Regex TDD setup</title>
      <link>https://www.clairecodes.com/blog/2016-08-13-super-quick-regex-tdd-setup//</link>
      <pubDate>Sat, 13 Aug 2016 20:25:22 +0000</pubDate>
      
      <guid>https://www.clairecodes.com/blog/2016-08-13-super-quick-regex-tdd-setup//</guid>
      <description>When you need to build a regex you could either (A) hack around in the console, getting confused and lost, or instead (B) use TDD and write some tests: you can have a clear list of strings your regex should match and those it shouldn&amp;rsquo;t, run them quickly and see whether the regex works and have readymade documentation for future use 🏆
But how do you set that up? If it sounds like a lot of work, it isn&amp;rsquo;t.</description>
    </item>
    
    <item>
      <title>Trailing commas in JavaScript objects, yay or nay?</title>
      <link>https://www.clairecodes.com/blog/2016-06-07-trailing-commas-in-javascript-objects-yay-or-nay//</link>
      <pubDate>Tue, 07 Jun 2016 17:33:47 +0000</pubDate>
      
      <guid>https://www.clairecodes.com/blog/2016-06-07-trailing-commas-in-javascript-objects-yay-or-nay//</guid>
      <description>TL;DR  A trailing comma on the final property of a JavaScript object is valid syntax in ECMAScript5 ... but it will throw an error in IE8 *surprise* 🎉 Trailing commas are also allowed in arrays But if you try to parse an object with a trailing comma to JSON it will throw an error   Do you notice anything different about this object?
{ cat: &amp;quot;miaow&amp;quot;, dog: &amp;quot;woof&amp;quot;, frog: &amp;quot;ribbit&amp;quot;, }  Maybe that trailing comma after &amp;ldquo;ribbit&amp;rdquo; strikes you as a bit off.</description>
    </item>
    
    <item>
      <title>This one crazy tip will help you write gold-plated tests!!!1!</title>
      <link>https://www.clairecodes.com/blog/2016-05-18-this-one-crazy-tip-will-help-you-write-gold-plated-tests1//</link>
      <pubDate>Wed, 18 May 2016 20:17:36 +0000</pubDate>
      
      <guid>https://www.clairecodes.com/blog/2016-05-18-this-one-crazy-tip-will-help-you-write-gold-plated-tests1//</guid>
      <description>Here is my top tip to help you write better tests, be they unit tests, integration tests, functional tests or unicorn tests:
Always write a failing test first.
There are three steps to TDD. You may have heard of the 🚦 traffic lights*:
 ❤️ Red: write a failing test 💛 Amber: make the test pass 💚 Green: improve the code you&amp;rsquo;ve just written, refactor  Or maybe red test -&amp;gt; green test -&amp;gt; refactor**.</description>
    </item>
    
    <item>
      <title>So you think you know how clear works?</title>
      <link>https://www.clairecodes.com/blog/2016-05-02-so-you-think-you-know-how-clear-works//</link>
      <pubDate>Mon, 02 May 2016 23:03:12 +0000</pubDate>
      
      <guid>https://www.clairecodes.com/blog/2016-05-02-so-you-think-you-know-how-clear-works//</guid>
      <description>TL;DR  Clears floating elements preceding the one it&#39;s applied to Whether you need clear: left or clear: right depends on the direction the element is floating   I thought I understood the clear property in CSS, but it turns out I didn&amp;rsquo;t.
Take 3 divs. Let&amp;rsquo;s float them side-by-side (excuse the pseudo-HTML):
&amp;lt;style&amp;gt; .left { float: left; } &amp;lt;/style&amp;gt; &amp;lt;div class=&amp;quot;left&amp;quot;&amp;gt;ALPHA&amp;lt;/div&amp;gt; &amp;lt;div class=&amp;quot;left&amp;quot;&amp;gt;BETA&amp;lt;/div&amp;gt; &amp;lt;div class=&amp;quot;left&amp;quot;&amp;gt;GAMMA&amp;lt;/div&amp;gt;  They will now look something like this on the screen:</description>
    </item>
    
    <item>
      <title>How to chain functions in JavaScript</title>
      <link>https://www.clairecodes.com/blog/2016-04-26-how-to-chain-functions-in-javascript//</link>
      <pubDate>Tue, 26 Apr 2016 20:21:04 +0000</pubDate>
      
      <guid>https://www.clairecodes.com/blog/2016-04-26-how-to-chain-functions-in-javascript//</guid>
      <description>The chaining design pattern is lovely. 🌅 It means we can call several object methods in one line of code. You see this pattern used in jQuery a lot.
Instead of several repetitive lines (A) we have a cleaner one-liner (B) 🍰:
// (A) let sponge = new Cake(); sponge.mix(); sponge.bake(); sponge.eat(); // (B) let sponge = new Cake().mix().bake().eat();  But how? You can&amp;rsquo;t just randomly start chaining methods and hope they work.</description>
    </item>
    
    <item>
      <title>Selecting the last n elements in CSS</title>
      <link>https://www.clairecodes.com/blog/2016-04-16-selecting-the-last-n-elements-in-css//</link>
      <pubDate>Sat, 16 Apr 2016 16:25:27 +0000</pubDate>
      
      <guid>https://www.clairecodes.com/blog/2016-04-16-selecting-the-last-n-elements-in-css//</guid>
      <description>Let&amp;rsquo;s a take a bog-standard list: 🚽📋
&amp;lt;ul&amp;gt; &amp;lt;li&amp;gt;Doris Lessing&amp;lt;/li&amp;gt; &amp;lt;li&amp;gt;Angela Carter&amp;lt;/li&amp;gt; &amp;lt;li&amp;gt;Ann Patchett&amp;lt;/li&amp;gt; &amp;lt;li&amp;gt;Iris Murdoch&amp;lt;/li&amp;gt; &amp;lt;/ul&amp;gt;  Quick, off the top of your head: 👴
 How would you select only the last list item? li:last-child What if we added another item to the list. How would you select only the last 2 elements? li:nth-last-child(-n+2) A final list element is added: there&amp;rsquo;s now 6 li&amp;rsquo;s and we want only the last 3.</description>
    </item>
    
    <item>
      <title>A 101 day GitHub streak</title>
      <link>https://www.clairecodes.com/blog/2016-04-10-a-101-day-github-streak//</link>
      <pubDate>Sun, 10 Apr 2016 20:51:46 +0000</pubDate>
      
      <guid>https://www.clairecodes.com/blog/2016-04-10-a-101-day-github-streak//</guid>
      <description>📆 I was going to call this post &amp;ldquo;101 days of coding&amp;rdquo;, but that would be misleading. I&amp;rsquo;ve been getting paid to write code as a web developer for over 2 years now, but over the past 3+ months I&amp;rsquo;ve been writing code in my spare time - after work, after chores, after slobbing in front of the TV - and then committing and pushing it to GitHub. The really weird and pointless thing about this is that I&amp;rsquo;ve done it every day since the 1st of January this year and now I have a pretty good streak, just look at my GitHub scorecard:</description>
    </item>
    
    <item>
      <title>Semver in package.json</title>
      <link>https://www.clairecodes.com/blog/2016-03-09-semver-in-package.json//</link>
      <pubDate>Wed, 09 Mar 2016 21:56:35 +0000</pubDate>
      
      <guid>https://www.clairecodes.com/blog/2016-03-09-semver-in-package.json//</guid>
      <description>TL;DR  Allow only patch changes: ~1.1.3, e.g. =1.1.3  Allow minor changes: ^1.1.3, e.g. =1.1.3    You might have noticed some unexpected characters next to the package versions of the dependencies or devDependencies properties in your package.json file:
&amp;quot;dependencies&amp;quot;: { &amp;quot;backbone&amp;quot;: &amp;quot;^1.3.1&amp;quot;, &amp;quot;express&amp;quot;: &amp;quot;~4.13.4&amp;quot; }  Semver First of all, let&amp;rsquo;s understand how packages are versioned and what each of those numbers represent.
A piece of software, e.</description>
    </item>
    
    <item>
      <title>Changing Jekyll&#39;s Permalink</title>
      <link>https://www.clairecodes.com/blog/2016-03-08-changing-jekylls-permalink//</link>
      <pubDate>Tue, 08 Mar 2016 19:54:26 +0000</pubDate>
      
      <guid>https://www.clairecodes.com/blog/2016-03-08-changing-jekylls-permalink//</guid>
      <description>Let&amp;rsquo;s change the permalink format for your Jekyll blog.
🔗 What? In your Jekyll blog, a permalink is the name for the URL that points directly to a specific blog post. It&amp;rsquo;s a permanent link to a page.
🔗 Why? Jekyll uses a really ugly, verbose permalink format by default which includes the date and category of the post:
/:categories/:year/:month/:day/:title.html  Which in the live site for this post would become:</description>
    </item>
    
    <item>
      <title>Spies in Jasmine &amp; Sinon</title>
      <link>https://www.clairecodes.com/blog/2016-02-15-spies-in-jasmine-sinon//</link>
      <pubDate>Mon, 15 Feb 2016 18:13:45 +0000</pubDate>
      
      <guid>https://www.clairecodes.com/blog/2016-02-15-spies-in-jasmine-sinon//</guid>
      <description>🔎 TL;DR 🔍  Terminology used by Jasmine, Sinon and other testing frameworks is not the same: one person&#39;s spy is another person&#39;s stub The equivalent of Sinon&#39;s sinon.spy(foo,&#39;bar&#39;) in Jasmine is spyOn(foo,&#39;bar&#39;).and.callThrough()   So you&amp;rsquo;re testing. In JavaScript. Perhaps you want to test:
 whether a method has been called what arguments the method was called with what the method returns  A reasonable request. You turn to your testing framework and it turns back to you and it says &amp;ldquo;Bob, you need to use a spy.</description>
    </item>
    
    <item>
      <title>Git Aliases</title>
      <link>https://www.clairecodes.com/blog/2016-02-03-git-aliases//</link>
      <pubDate>Wed, 03 Feb 2016 19:42:23 +0000</pubDate>
      
      <guid>https://www.clairecodes.com/blog/2016-02-03-git-aliases//</guid>
      <description>How many times do type out the same repetitive commands for Git every day? Want to save some keystrokes? Use a Git alias. Consider the very useful but very long:
git log --graph --oneline --decorate  What a mouthful. But all you need to do, from any directory at the command line, is type:
git config --global alias.plog &#39;log --graph --oneline --decorate&#39;  Then from then on all you need to type is:</description>
    </item>
    
    <item>
      <title>npm all the things!</title>
      <link>https://www.clairecodes.com/blog/2016-02-01-npm-all-the-things//</link>
      <pubDate>Mon, 01 Feb 2016 21:43:35 +0000</pubDate>
      
      <guid>https://www.clairecodes.com/blog/2016-02-01-npm-all-the-things//</guid>
      <description>Are you one of those mugs ☕️ still downloading zip files of libraries for their JavaScript projects? Well you don&amp;rsquo;t have to be! Leverage the power of the command line today and npm that thing!
npm is Node&amp;rsquo;s Package Manager (how did they come up with that name??) and I am having great fun with it at the moment - packaging, modularising and managing my JavaScript project dependencies with minimal pain.</description>
    </item>
    
    <item>
      <title>Scheduling Ruby and JavaScript jobs with Heroku</title>
      <link>https://www.clairecodes.com/blog/2016-01-06-scheduling-ruby-and-javascript-jobs-with-heroku//</link>
      <pubDate>Wed, 06 Jan 2016 21:37:32 +0000</pubDate>
      
      <guid>https://www.clairecodes.com/blog/2016-01-06-scheduling-ruby-and-javascript-jobs-with-heroku//</guid>
      <description>Need to do a job regularly in your app? If it&amp;rsquo;s on Heroku then there&amp;rsquo;s a free add-on that can run the job for you. It&amp;rsquo;s imaginatively called Heroku Scheduler. Here&amp;rsquo;s how I set up Ruby and JavaScript jobs ready to be scheduled.
Create your app. From the root directory, initialise git and create a Heroku app. I like to use the Heroku toolbelt for all my Heroku command line needs.</description>
    </item>
    
    <item>
      <title>Paths in Ruby</title>
      <link>https://www.clairecodes.com/blog/2016-01-01-paths-in-ruby//</link>
      <pubDate>Fri, 01 Jan 2016 14:30:01 +0000</pubDate>
      
      <guid>https://www.clairecodes.com/blog/2016-01-01-paths-in-ruby//</guid>
      <description>You&amp;rsquo;ve got a file, but where does it live? Which directory are you in? Where am I? What&amp;rsquo;s my name?
For the following examples, imagine:
 you&amp;rsquo;re executing a file called foo.rb which lives in the file system at /Users/me/myDir/foo.rb you&amp;rsquo;re located in /Users/me/myDir you&amp;rsquo;ve executed the command ruby foo.rb from the terminal  Remember:
 absolute path - the full path of the file in the file system: it starts with the root directory and includes all the directories between it and the file in question.</description>
    </item>
    
    <item>
      <title>The :not() pseudo-class</title>
      <link>https://www.clairecodes.com/blog/2015-12-15-the-not-pseudo-class//</link>
      <pubDate>Tue, 15 Dec 2015 00:00:01 +0000</pubDate>
      
      <guid>https://www.clairecodes.com/blog/2015-12-15-the-not-pseudo-class//</guid>
      <description>How do you use CSS to style a particular element differently from other similar elements? You&amp;rsquo;d stick a class or ID on it, like so:
&amp;lt;style&amp;gt; .special { color: red; } &amp;lt;/style&amp;gt; &amp;lt;p&amp;gt;Normal&amp;lt;/p&amp;gt; &amp;lt;p&amp;gt;Normal&amp;lt;/p&amp;gt; &amp;lt;p class=&amp;quot;special&amp;quot;&amp;gt;Special&amp;lt;/p&amp;gt; &amp;lt;p&amp;gt;Normal&amp;lt;/p&amp;gt; &amp;lt;p&amp;gt;Normal&amp;lt;/p&amp;gt;   .code-example, .code-example-two { border: 1px solid #dcdcdc; border-radius: 3px; padding: 15px; font-family: serif; font-size: 16px; } .code-example .special { color: red; }  Normal
Normal
Special
Normal
Normal
 But what if you have the opposite problem - you want to exclude an element from a particular style?</description>
    </item>
    
    <item>
      <title>NodeLists are not Arrays</title>
      <link>https://www.clairecodes.com/blog/2015-12-01-nodelists-are-not-arrays//</link>
      <pubDate>Tue, 01 Dec 2015 00:00:16 +0000</pubDate>
      
      <guid>https://www.clairecodes.com/blog/2015-12-01-nodelists-are-not-arrays//</guid>
      <description>When you&amp;rsquo;re working with the DOM, it&amp;rsquo;s tempting to think that when you select a group of elements from the page that you&amp;rsquo;ve got an array. Right? Wrong! It might look like a duck and walk like a duck, but it moos like a cow. Just what is this monster?! It&amp;rsquo;s a NodeList.
Try this in your browser console:
&amp;gt; var whoami = document.querySelectorAll(&#39;div&#39;); &amp;gt; Object.getPrototypeOf(whoami) NodeList {}  Compare this with:</description>
    </item>
    
    <item>
      <title>Coding After Codecademy</title>
      <link>https://www.clairecodes.com/blog/2015-11-10-coding-after-codecademy//</link>
      <pubDate>Tue, 10 Nov 2015 00:00:16 +0100</pubDate>
      
      <guid>https://www.clairecodes.com/blog/2015-11-10-coding-after-codecademy//</guid>
      <description>Last month, I gave a lightning talk called &amp;ldquo;Coding After Codecademy&amp;rdquo; which was inspired by people asking me how to improve their newly acquired web development skills, now they&amp;rsquo;ve completed some Codecademy/Udacity/Code School courses. They&amp;rsquo;ve got basic HTML, CSS and JavaScript syntax, so what are some good things to start building or learning next? I know how daunting it can be to be faced with a blank editor at that stage, so in my talk I gave some common-sense advice that I would have appreciated when I was in that position myself.</description>
    </item>
    
    <item>
      <title>How to Deploy an AngularJS App on Heroku</title>
      <link>https://www.clairecodes.com/blog/2015-09-30-how-to-deploy-an-angularjs-app-on-heroku//</link>
      <pubDate>Wed, 30 Sep 2015 00:00:00 +0100</pubDate>
      
      <guid>https://www.clairecodes.com/blog/2015-09-30-how-to-deploy-an-angularjs-app-on-heroku//</guid>
      <description>Or getting an EAN app running on Heroku EAN rather than MEAN because we&amp;rsquo;ll be using Express, AngularJS and Node but not Mongo this time.
When googling deploying an AngularJS app to Heroku, all the tutorials I looked at (i.e. the top 3 in the first page of results &amp;hellip;) assumed I&amp;rsquo;d cloned the Angular seed app - which I hadn&amp;rsquo;t and didn&amp;rsquo;t want to. I had a dead simple one controller, one service AngularJS app (note: 1.</description>
    </item>
    
    <item>
      <title>Deploying Jekyll on Heroku</title>
      <link>https://www.clairecodes.com/blog/2015-09-20-deploying-jekyll-on-heroku//</link>
      <pubDate>Sun, 20 Sep 2015 00:00:00 +0100</pubDate>
      
      <guid>https://www.clairecodes.com/blog/2015-09-20-deploying-jekyll-on-heroku//</guid>
      <description>How I deployed my Jekyll blog to Heroku step-by-step If you use Jekyll for your blog you&amp;rsquo;ll see that their docs suggest hosting your app on GitHub pages. However, I wanted to host mine on Heroku because - well, just because I could really. I&amp;rsquo;d used Heroku previously and I knew I wouldn&amp;rsquo;t be restricted in my choice of plug-ins further down the line. Alas, I didn&amp;rsquo;t find a single clear tutorial for setting it up: even the example linked on the Jekyll site didn&amp;rsquo;t run for me!</description>
    </item>
    
    <item>
      <title>LeedsHack</title>
      <link>https://www.clairecodes.com/blog/2015-09-14-leedshack//</link>
      <pubDate>Mon, 14 Sep 2015 22:14:07 +0100</pubDate>
      
      <guid>https://www.clairecodes.com/blog/2015-09-14-leedshack//</guid>
      <description>Or, what to expect at a hack I went to my first hack a couple of weeks ago and wanted to (belatedly) share with you my experience and maybe even convince you to go to one yourself!
LeedsHack was held in Leeds City Museum on Saturday 22nd and Sunday 23rd August. The aim of the game was to create a demoable project or hack in just 24 hours, with coding starting at 12pm on Saturday and finishing at noon on Sunday.</description>
    </item>
    
    <item>
      <title>Scraping Sites That Use Ajax</title>
      <link>https://www.clairecodes.com/blog/2015-09-05-scraping-sites-that-use-ajax//</link>
      <pubDate>Sat, 05 Sep 2015 16:08:43 +0100</pubDate>
      
      <guid>https://www.clairecodes.com/blog/2015-09-05-scraping-sites-that-use-ajax//</guid>
      <description>Or, where&amp;rsquo;s the rest of my HTML?? TL;DR  If the website you&#39;re scraping uses Ajax to load content, open-uri and Nokogiri won&#39;t cut it Use Watir WebDriver (+ PhantomJS) instead   I recently wanted to do a one-off web-scrape of a single page to get the hrefs of the 100+ &amp;lt;a&amp;gt; tags within it. A cursory google suggested Nokogiri and open-uri would do the trick, so off I went:</description>
    </item>
    
    <item>
      <title>Pomodoros &amp; Pair Programming</title>
      <link>https://www.clairecodes.com/blog/2015-09-01-pomodoros-pair-programming//</link>
      <pubDate>Tue, 01 Sep 2015 23:00:16 +0100</pubDate>
      
      <guid>https://www.clairecodes.com/blog/2015-09-01-pomodoros-pair-programming//</guid>
      <description>TL;DR  Next time you pair program, try using the Pomodoro Technique to improve your productivity and mix things up a bit. Breaks up difficult or tedious stories Keeps morale high and dev&#39;s brains fresh Time box learning or research which is sometimes easier to do solo Not always possible - everything in moderation   I currently work in a team where we pair program most of the time, and I&amp;rsquo;ve found that applying the principles of the Pomodoro Technique to when pairing - focus for a bit then a short break - has helped me work more effectively.</description>
    </item>
    
    <item>
      <title>About</title>
      <link>https://www.clairecodes.com/about/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>https://www.clairecodes.com/about/</guid>
      <description>Hello 👋 I&amp;rsquo;m Claire Parker-Jones, a UX Designer. I&amp;rsquo;ve been a (mostly frontend) developer for eight years, and have recently transitioned into the product design area of web development. This blog is my place to learn in public.
I&amp;rsquo;ve been publishing blog posts about web development on this site since 2015. Some of my most popular posts are:
 One Sided Borders in Figma Styling list bullets with emoji Font-face and Styled Components  I post more tech lifestyle content on my Instagram account claire_codes, underneath photos of my laptop and my dog.</description>
    </item>
    
    <item>
      <title>Click Me</title>
      <link>https://www.clairecodes.com/click-me/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>https://www.clairecodes.com/click-me/</guid>
      <description>Hmm</description>
    </item>
    
    <item>
      <title>Work History</title>
      <link>https://www.clairecodes.com/work-history/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>https://www.clairecodes.com/work-history/</guid>
      <description>My CV is accessible in this Google doc.
Find my list of past jobs on LinkedIn.
 Main Skills  React (with Redux and styled components) vanilla JavaScript CSS (I love writing CSS) Magento layout writing clean maintainable code  working as part of a team, mentoring junior members and sharing knowledge   command line, source control with Git, time manangement with Jira - the usual stuff    I&#39;ve worked with lots of JavaScript libraries and frameworks, including Backbone, jQuery, Angular 1 and even YUI.</description>
    </item>
    
  </channel>
</rss>