<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Cormac Anstruther</title>
    <description>The latest articles on DEV Community by Cormac Anstruther (@cormacanstruther).</description>
    <link>https://dev.to/cormacanstruther</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F4246183%2Fca4c3d58-81d3-445e-b986-d8eb532c2b81.jpg</url>
      <title>DEV Community: Cormac Anstruther</title>
      <link>https://dev.to/cormacanstruther</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/cormacanstruther"/>
    <language>en</language>
    <item>
      <title>A small source ledger makes reporting easier to check</title>
      <dc:creator>Cormac Anstruther</dc:creator>
      <pubDate>Sun, 15 Nov 2026 16:22:37 +0000</pubDate>
      <link>https://dev.to/cormacanstruther/a-small-source-ledger-makes-reporting-easier-to-check-49pa</link>
      <guid>https://dev.to/cormacanstruther/a-small-source-ledger-makes-reporting-easier-to-check-49pa</guid>
      <description>&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F0abobc1rvorl3pds4slf.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F0abobc1rvorl3pds4slf.jpg" alt="Reports beside a laptop and backup drive" width="800" height="534"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;A business story can begin with one announcement and quickly become a folder full of almost identical documents. There is a presentation, a revised presentation, a spreadsheet and a statement that quietly changes a date. For a reporter, finding a number again can take longer than finding it the first time. A small source ledger is a useful software project because it tackles that ordinary problem directly.&lt;/p&gt;

&lt;p&gt;The starting point is a plain CSV file. Give each source a stable identifier and record its title, publisher, original address, retrieval date and local filename. Add a short note explaining why it matters. Keep the original document separately. The ledger should help someone reach the evidence, rather than become a substitute for reading it. A simple spreadsheet is enough to maintain the first version.&lt;/p&gt;

&lt;h2&gt;
  
  
  Separate collection from interpretation
&lt;/h2&gt;

&lt;p&gt;A short script can check whether required fields are missing, spot repeated addresses and list files that are no longer present. Those are mechanical checks with clear answers. Whether a company has met a promise is a different question. That needs definitions, context and, often, a conversation. Keeping those tasks separate makes the automation easier to trust and the reporting easier to explain.&lt;/p&gt;

&lt;p&gt;For dates, choose one written format, such as year, month and day. For amounts, store the original value beside a separate currency field. Avoid silently replacing source values with converted figures. If a comparison needs a calculation, save the formula and its assumptions in another file. The next person should be able to reconstruct the step without guessing which exchange rate or reporting period was intended.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Ffqzby7ltf9cnww9ct9cm.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Ffqzby7ltf9cnww9ct9cm.jpg" alt="Research desk with a laptop and source notes" width="799" height="450"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Keep useful changes visible
&lt;/h2&gt;

&lt;p&gt;Version control can help with the ledger and small scripts. A concise commit message might explain that a document was replaced after the publisher issued a correction. Large source PDFs can live outside the repository, with filenames recorded in the ledger. Confidential notes and personal contact details need their own access controls; a public repository is unsuitable for them. Before sharing anything, inspect the files being included.&lt;/p&gt;

&lt;p&gt;A checksum adds another modest safeguard. It identifies the particular file that was reviewed, even when two downloads share the same name. It does not establish that the document is true. It simply answers a narrower question: are these bytes the same? That distinction matters when an apparently unchanged link starts serving a revised report.&lt;/p&gt;

&lt;h2&gt;
  
  
  Make the handover boring
&lt;/h2&gt;

&lt;p&gt;The best finishing touch is a short README. Explain how to open the ledger, run the checks and understand the status labels. Include one invented example so that a colleague can try the process without touching live research. Record known gaps openly. An unavailable attachment should remain an unavailable attachment, rather than disappear from the list.&lt;/p&gt;

&lt;p&gt;This system need not become a large application. A readable table, a few checks and a clear folder structure can already save repeated work. More importantly, they leave a trail between a published sentence and the material behind it. Software earns its place in reporting when it makes that trail easier to follow, question and correct.&lt;/p&gt;

</description>
      <category>productivity</category>
      <category>software</category>
      <category>softwaredevelopment</category>
    </item>
  </channel>
</rss>
