<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Posts on One For The Code</title>
    <link>http://localhost:1313/posts/</link>
    <description>Recent content in Posts on One For The Code</description>
    <generator>Hugo</generator>
    <language>en</language>
    <lastBuildDate>Mon, 02 Mar 2026 19:14:00 +0000</lastBuildDate>
    <atom:link href="http://localhost:1313/posts/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>Reducing Katas</title>
      <link>http://localhost:1313/posts/reducing-katas/</link>
      <pubDate>Wed, 26 Feb 2025 11:08:41 +0000</pubDate>
      <guid>http://localhost:1313/posts/reducing-katas/</guid>
      <description>Currently back doing kata as I realise after a year of glue engineering, a lot of heavy React and a lot of Node, I&amp;rsquo;ve forgotten a lot of the basics. There are certain programming practices, I feel, that are essential to keep sharp - it&amp;rsquo;s all too easy to get out of the habit of these though. So I decided to make a concerted effort to get back into the habit of doing kata, and boy did I learn quickly how much I&amp;rsquo;ve forgotten.</description>
    </item>
    <item>
      <title>Roll Your Own Component Generators</title>
      <link>http://localhost:1313/posts/roll-your-own-component-generators/</link>
      <pubDate>Tue, 04 Feb 2025 00:00:00 +0000</pubDate>
      <guid>http://localhost:1313/posts/roll-your-own-component-generators/</guid>
      <description>A little trick to speed you along your development journey.</description>
    </item>
    <item>
      <title>Stone Soup Programming</title>
      <link>http://localhost:1313/posts/2023-07-11-stone-soup-programming/</link>
      <pubDate>Tue, 11 Jul 2023 13:58:42 +0000</pubDate>
      <guid>http://localhost:1313/posts/2023-07-11-stone-soup-programming/</guid>
      <description>I recently read (I think it was The Pragmatic Programmer, but I can&amp;rsquo;t be sure) and it introduced the concept of Stone Soup Programming (if anyone knows the actual book that has a section on this please do share it - it&amp;rsquo;s in my library somewhere and I don&amp;rsquo;t have time right now to go searching). I thought it was a great idea at the time and have been waiting for an opportunity to try it out.</description>
    </item>
    <item>
      <title>Shape Shifting Functions</title>
      <link>http://localhost:1313/posts/2023-07-10-shape-shifting-functions/</link>
      <pubDate>Mon, 10 Jul 2023 14:24:03 +0000</pubDate>
      <guid>http://localhost:1313/posts/2023-07-10-shape-shifting-functions/</guid>
      <description>I wanted to write a quick post about decorators, as I&amp;rsquo;ve been using them a lot recently and I think they&amp;rsquo;re a really useful tool to have in your belt. I spent quite a bit of time trying to find a suitable analogy, so apologies if this is a bit of a stretch! I&amp;rsquo;m a massive sci-fi fan, and one of my favourite films is John Carpenter&amp;rsquo;s The Thing. If you haven&amp;rsquo;t seen it, it&amp;rsquo;s about a shape-shifting alien that assimilates the crew of an Antarctic research station.</description>
    </item>
    <item>
      <title>How to Make Time</title>
      <link>http://localhost:1313/posts/2023-05-11-how-to-make-time/</link>
      <pubDate>Thu, 11 May 2023 09:39:36 +0000</pubDate>
      <guid>http://localhost:1313/posts/2023-05-11-how-to-make-time/</guid>
      <description>How much can you get done in a day?&#xA;Sometimes it can feel that there’s just not enough hours in the day.&#xA;Other times we don’t feel much like doing anything.&#xA;And how many times have you heard someone say they “just don’t have time&amp;quot; to work on something?&#xA;The reality is, we all have the exact same amount of time and you only have to look into the world of professional athletes, authors, musicians and celebrities in general to see that there is most definitely a way of using your time more effectively.</description>
    </item>
    <item>
      <title>Higher-Order Functions</title>
      <link>http://localhost:1313/posts/2023-04-22-javascript-101-higher-order-functions/</link>
      <pubDate>Mon, 02 Mar 2026 19:14:00 +0000</pubDate>
      <guid>http://localhost:1313/posts/2023-04-22-javascript-101-higher-order-functions/</guid>
      <description>Introduction Functions are the building blocks of JavaScript. By defining a block of code and executing it when we choose, we can build complex applications whilst keeping our code clean, easy to understand, and reusable.&#xA;In their simplest form, functions in JavaScript are declared and invoked as below:&#xA;function multiply(a, b) { return a * b; } multiply(2, 3); // 6 These are referred to as first-order functions and are one of the first things we learn how to do in JavaScript.</description>
    </item>
    <item>
      <title>Call, Bind and Apply</title>
      <link>http://localhost:1313/posts/2022-04-02-javascript-101-call-bind-and-apply/</link>
      <pubDate>Sat, 02 Apr 2022 09:58:29 +0000</pubDate>
      <guid>http://localhost:1313/posts/2022-04-02-javascript-101-call-bind-and-apply/</guid>
      <description>tl;dr call, bind and apply are 3 really important methods that are available on all Javascript functions OOTB. Each method does the same kind of thing, but the invocations are different.&#xA;Call call attaches this into a function, and then executes it immediately:&#xA;var pokemon1 = { name: &amp;#34;Gary&amp;#34;, species: &amp;#34;Charizard&amp;#34;, type1: &amp;#34;Fire&amp;#34;, type2: &amp;#34;Flying&amp;#34;, health: 1000, atk: 94, }; var pokemon2 = { name: &amp;#34;Barry&amp;#34;, species: &amp;#34;Blastoise&amp;#34;, type1: &amp;#34;Water&amp;#34;, type2: &amp;#34;&amp;#34;, health: 1000, atk: 91, }; function getFullName(connectingWord) { var fullName = this.</description>
    </item>
    <item>
      <title>JavaScript 101: Immediately Invoked Functions</title>
      <link>http://localhost:1313/posts/2022-02-11-javascript-101-immediately-invoked-functions/</link>
      <pubDate>Fri, 11 Feb 2022 10:01:40 +0000</pubDate>
      <guid>http://localhost:1313/posts/2022-02-11-javascript-101-immediately-invoked-functions/</guid>
      <description>tl;dr Like it says on the tin, an immediately invoked function (IIFE) is a function that is executed as soon as it is defined.&#xA;IIFE&amp;rsquo;s main use cases are for when we don&amp;rsquo;t want to pollute the global namespace, as in, we don&amp;rsquo;t want to introduce a bunch of variables and functions into a &amp;ldquo;scope&amp;rdquo; accessible by the rest of our application. You can also use IIFE if you want to make use of the module pattern(https://javascript.</description>
    </item>
    <item>
      <title>Comparison and Logical Operators in Javascript</title>
      <link>http://localhost:1313/posts/2022-02-05-comparison-and-logical-operators-in-javascript/</link>
      <pubDate>Sat, 05 Feb 2022 09:56:54 +0000</pubDate>
      <guid>http://localhost:1313/posts/2022-02-05-comparison-and-logical-operators-in-javascript/</guid>
      <description>Logical and comparison operators are a means of comparing data types.&#xA;So given x = 5:&#xA;| Operator | Description | How to use | Result | | ------------- | ----------------------------- | --------------------------------------------- | ---------------------------------------- | | == | equal to | x == 8 &amp;lt;br /&amp;gt; x==5 &amp;lt;br /&amp;gt; x == &amp;#34;5&amp;#34; | `false` &amp;lt;br /&amp;gt; `true` &amp;lt;br /&amp;gt; `true` | | === | equal value and equal type | x === 8 &amp;lt;br /&amp;gt; x === &amp;#34;5&amp;#34; | `true` &amp;lt;br /&amp;gt; `false` | | !</description>
    </item>
    <item>
      <title>Javascript 101: Hoisting</title>
      <link>http://localhost:1313/posts/2022-01-25-javascript-101-hoisting/</link>
      <pubDate>Tue, 25 Jan 2022 00:00:00 +0000</pubDate>
      <guid>http://localhost:1313/posts/2022-01-25-javascript-101-hoisting/</guid>
      <description>tl;dr - &amp;ldquo;hoisting&amp;rdquo; is a default behaviour of Javscript, basically it means &amp;ldquo;variables and function declarations get hoisted to the top&amp;rdquo;.&#xA;The concept of hoisting can throw off some developers, as it isn&amp;rsquo;t too intuitive to begin with so lets look at an example. Consider the following code:&#xA;variable = 1; console.log(variable); var variable; What is the expected output here? Funnily enough it will log out 1 even though it seems the variable was declared afterwards.</description>
    </item>
    <item>
      <title>JavaScript 101: Implicit Type Coercion</title>
      <link>http://localhost:1313/posts/2022-01-14-javascript-101-implicit-type-coercion/</link>
      <pubDate>Fri, 14 Jan 2022 10:06:56 +0000</pubDate>
      <guid>http://localhost:1313/posts/2022-01-14-javascript-101-implicit-type-coercion/</guid>
      <description>tl;dr: Javascript automatically converts some types into others implicit - always to be found in; essentially connected with. coercion - persuading someone to do something by using force or threats.&#xA;By looking into the definition of each of these words, it isn&amp;rsquo;t immediately clear what is meant by the term implicit type coercion, and we need the context of computer programming to understand what is actually going on.&#xA;When writing programs, it&amp;rsquo;s important to know how to compare values to each other - by doing this we can control an applications flow.</description>
    </item>
    <item>
      <title>JavaScript 101: Data Types</title>
      <link>http://localhost:1313/posts/2021-12-29-javascript-101-data-types/</link>
      <pubDate>Wed, 29 Dec 2021 10:10:51 +0000</pubDate>
      <guid>http://localhost:1313/posts/2021-12-29-javascript-101-data-types/</guid>
      <description>Every programming language needs to know the kinds of data it will be working with. By knowing and learning about how a computer language uses data we can write better programs.&#xA;When we define a variable in Javascript assigning a variable gives that variable a &amp;ldquo;type&amp;rdquo; as an attribute.&#xA;As we write bigger, more complex applications it becomes essential that we know how to use these different &amp;ldquo;types&amp;rdquo; of data a variable can be.</description>
    </item>
    <item>
      <title>Passing By Value and Passing By Reference</title>
      <link>http://localhost:1313/posts/2021-12-14-what-does-passing-by-value-and-passing-by-reference-mean-in-javascript/</link>
      <pubDate>Tue, 14 Dec 2021 00:00:00 +0000</pubDate>
      <guid>http://localhost:1313/posts/2021-12-14-what-does-passing-by-value-and-passing-by-reference-mean-in-javascript/</guid>
      <description>tl;dr Javascript passes its’ primitive types by value, and its’ non-primitive types by reference.&#xA;&amp;ldquo;Value&amp;rdquo; and &amp;ldquo;Reference&amp;rdquo; here are referring to a variables position in memory. In other words, when we ask programs to access data it needs to know where to look.&#xA;To understand the difference between primitive and non-primitive data types in Javascript look here(/code/javascript/javascript-data-types)&#xA;How Primitive Types Are Passed&#xA;const x = 123; const y = x; console.</description>
    </item>
  </channel>
</rss>
