<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
<channel>
  <title>John MacKintosh</title>
  <link>https://johnmackintosh.com/</link>
  <atom:link href="https://johnmackintosh.com/feed.xml" rel="self" type="application/rss+xml"/>
  <description>Data analyst based in Scotland. I can tell you whether that change between this period and the last one is something you need to act on. Skilled in SQL, R, Power BI and Excel, I build dashboards you'll actually use.</description>
  <language>en-GB</language>
  <lastBuildDate>Sat, 03 Oct 2026 00:00:00 +0000</lastBuildDate>
  <item>
    <title>Make sure you are on the correct site</title>
    <link>https://johnmackintosh.com/blog/old-site/</link>
    <guid isPermaLink="true">https://johnmackintosh.com/blog/old-site/</guid>
    <pubDate>Sat, 03 Oct 2026 00:00:00 +0000</pubDate>
    <description>The website with my name ending dot net is not mine.</description>
  </item>
  <item>
    <title>Moving back home</title>
    <link>https://johnmackintosh.com/archive/website/</link>
    <guid isPermaLink="true">https://johnmackintosh.com/archive/website/</guid>
    <pubDate>Wed, 09 Apr 2025 00:00:00 +0000</pubDate>
    <description>I've gone back to my old website domain.</description>
  </item>
  <item>
    <title>Population pyramid plots with base R</title>
    <link>https://johnmackintosh.com/archive/base-r-pyramids/</link>
    <guid isPermaLink="true">https://johnmackintosh.com/archive/base-r-pyramids/</guid>
    <pubDate>Thu, 03 Apr 2025 00:00:00 +0000</pubDate>
    <description>Population pyramids using base R, via shiny, live in the browser.</description>
  </item>
  <item>
    <title>The life changing magic of tidying text files</title>
    <link>https://johnmackintosh.com/archive/tidying-text-files/</link>
    <guid isPermaLink="true">https://johnmackintosh.com/archive/tidying-text-files/</guid>
    <pubDate>Sun, 22 Dec 2024 00:00:00 +0000</pubDate>
    <description>Bringing order to irregularly structured open data CSV files.</description>
  </item>
  <item>
    <title>new programming with data.table</title>
    <link>https://johnmackintosh.com/archive/dt-programming/</link>
    <guid isPermaLink="true">https://johnmackintosh.com/archive/dt-programming/</guid>
    <pubDate>Mon, 05 Feb 2024 00:00:00 +0000</pubDate>
    <description>baby steps creating handy functions with the new data.table programming interface.</description>
  </item>
  <item>
    <title>more .I in data.table</title>
    <link>https://johnmackintosh.com/archive/more-dot-i/</link>
    <guid isPermaLink="true">https://johnmackintosh.com/archive/more-dot-i/</guid>
    <pubDate>Sat, 03 Feb 2024 00:00:00 +0000</pubDate>
    <description>using .I and .N to retrieve the correct combination of records from grouped data</description>
  </item>
  <item>
    <title>.I in data.table</title>
    <link>https://johnmackintosh.com/archive/dot-i/</link>
    <guid isPermaLink="true">https://johnmackintosh.com/archive/dot-i/</guid>
    <pubDate>Wed, 03 Jan 2024 00:00:00 +0000</pubDate>
    <description>A quick note to understand what the special operator .I does in data.table.</description>
  </item>
  <item>
    <title>non-equi joins in data.table</title>
    <link>https://johnmackintosh.com/archive/non-equi-joins/</link>
    <guid isPermaLink="true">https://johnmackintosh.com/archive/non-equi-joins/</guid>
    <pubDate>Fri, 22 Dec 2023 00:00:00 +0000</pubDate>
    <description>A quick note to understand (non-equi) joins in data.table</description>
  </item>
  <item>
    <title>That's a W(RAP)!</title>
    <link>https://johnmackintosh.com/archive/ph-profiles/</link>
    <guid isPermaLink="true">https://johnmackintosh.com/archive/ph-profiles/</guid>
    <pubDate>Wed, 06 Dec 2023 00:00:00 +0000</pubDate>
    <description>An ambition realised as a suite of R powered publications enter the public domain</description>
  </item>
  <item>
    <title>checks and {tiny}testing - a quick primer</title>
    <link>https://johnmackintosh.com/archive/checks-and-tests/</link>
    <guid isPermaLink="true">https://johnmackintosh.com/archive/checks-and-tests/</guid>
    <pubDate>Sat, 07 Oct 2023 00:00:00 +0000</pubDate>
    <description>A quick intro to checking and testing your functions, with help from {checkmate} and {tinytest}</description>
  </item>
  <item>
    <title>Create your first Excel LAMBDA function</title>
    <link>https://johnmackintosh.com/archive/excel-lambda-intro/</link>
    <guid isPermaLink="true">https://johnmackintosh.com/archive/excel-lambda-intro/</guid>
    <pubDate>Thu, 10 Aug 2023 00:00:00 +0000</pubDate>
    <description>Here's how to create a set of custom, lambda functions in Excel. No macros or VBA required.</description>
  </item>
  <item>
    <title>Fixing my broken VSCode setup for R</title>
    <link>https://johnmackintosh.com/archive/vsc/</link>
    <guid isPermaLink="true">https://johnmackintosh.com/archive/vsc/</guid>
    <pubDate>Sat, 04 Feb 2023 00:00:00 +0000</pubDate>
    <description>Here's how I set up the correct user settings and keybindings for using R in VSCode</description>
  </item>
  <item>
    <title>On target</title>
    <link>https://johnmackintosh.com/archive/targets/</link>
    <guid isPermaLink="true">https://johnmackintosh.com/archive/targets/</guid>
    <pubDate>Wed, 14 Dec 2022 00:00:00 +0000</pubDate>
    <description>A beginners introduction to getting started with the targets package in R</description>
  </item>
  <item>
    <title>Word Up - automatic reporting with MS Word, Officedown and flextable</title>
    <link>https://johnmackintosh.com/archive/word-up/</link>
    <guid isPermaLink="true">https://johnmackintosh.com/archive/word-up/</guid>
    <pubDate>Wed, 21 Sep 2022 00:00:00 +0000</pubDate>
    <description>Recreating existing Word reports in RMarkdown with Officer, Officedown and flextable.</description>
  </item>
  <item>
    <title>modifying columns in datatable with lapply</title>
    <link>https://johnmackintosh.com/archive/lapply/</link>
    <guid isPermaLink="true">https://johnmackintosh.com/archive/lapply/</guid>
    <pubDate>Tue, 30 Aug 2022 00:00:00 +0000</pubDate>
    <description>How to modify or update multiple columns in data.table with lapply and SDcols</description>
  </item>
  <item>
    <title>Exploring your database with shiny</title>
    <link>https://johnmackintosh.com/archive/dbexplorer/</link>
    <guid isPermaLink="true">https://johnmackintosh.com/archive/dbexplorer/</guid>
    <pubDate>Tue, 14 Jun 2022 00:00:00 +0000</pubDate>
    <description>Programmatically querying a database with flexible SQL queries and visualising the results with shiny.</description>
  </item>
  <item>
    <title>Iterating over multiple database tables with the tidyverse</title>
    <link>https://johnmackintosh.com/archive/purrr-sql/</link>
    <guid isPermaLink="true">https://johnmackintosh.com/archive/purrr-sql/</guid>
    <pubDate>Thu, 28 Apr 2022 00:00:00 +0000</pubDate>
    <description>Extracting data from multiple database tables with dplyr and purrr.</description>
  </item>
  <item>
    <title>Dynamic SQL queries with R</title>
    <link>https://johnmackintosh.com/archive/sql-schema-query/</link>
    <guid isPermaLink="true">https://johnmackintosh.com/archive/sql-schema-query/</guid>
    <pubDate>Wed, 06 Apr 2022 00:00:00 +0000</pubDate>
    <description>Programmatic querying with dynamic schema, table and column names.</description>
  </item>
  <item>
    <title>Getting to know Julia</title>
    <link>https://johnmackintosh.com/archive/julia/</link>
    <guid isPermaLink="true">https://johnmackintosh.com/archive/julia/</guid>
    <pubDate>Tue, 08 Mar 2022 00:00:00 +0000</pubDate>
    <description>Trying out some basic data operations (download, minimal wrangling and plotting) in Julia</description>
  </item>
  <item>
    <title>Separate SQL</title>
    <link>https://johnmackintosh.com/archive/separate-sql/</link>
    <guid isPermaLink="true">https://johnmackintosh.com/archive/separate-sql/</guid>
    <pubDate>Tue, 08 Feb 2022 00:00:00 +0000</pubDate>
    <description>Why you should consider keeping your SQL queries in a separate file.</description>
  </item>
</channel>
</rss>
