Correcting Claude Code's Cluster Resource Requests with slurmwatch: Requested Memory and CPU Cores Against Actual Usage

Every job submitted to an HPC cluster begins with a guess. The submission script names how much memory the job may use and how many CPU cores it may occupy; Slurm, the scheduler that hands out the cluster’s machines, reserves exactly that and runs the job. Read more

Counting Artificial Intelligence in 51.9 Million Job Postings: Measurement, Rotation, and Firm Adoption

Abstract. Public discussion of the artificial-intelligence labour market rests on counts of β€œAI jobs”, but the counting itself is rarely examined. Using 51,864,055 LinkedIn job postings collected monthly from February to July 2026 (23,970,734 of them distinct), I show that three quantities routinely conflated differ by a factor of six: 10. Read more

Pay-Transparency Mandates in 51.9 Million Job Postings: Measurement, Within-Firm Evidence, and Spillover

Abstract. Twelve US states require employers to publish a pay range in the job advertisement itself. I measure compliance in a corpus of 51,864,055 LinkedIn job postings collected monthly from February to July 2026, of which 23,970,734 are distinct and 14,250,750 are locatable to a US state. Read more

A Repeat-Rent Index From Rental Listings: External Validation and a Falsified Explanation for Its Level Bias

Abstract. Official measures of rent inflation are accurate and slow. This article builds a unit-level repeat-rent index for the United States from 12.8 million rental listings, using the repeat-sales design of Bailey, Muth and Nourse (1963) with the variance correction of Case and Shiller (1987), and evaluates it against two external benchmarks. Read more

Argonne 3.5-think: From Base Model to Reasoning Model

A companion article described how Argonne 3.5-base was pretrained: the same 2.88-billion-parameter architecture as Argonne 3.0, unchanged component for component, retrained on 88.84 billion tokens of web text and mathematics with a corrected learning-rate schedule, and finishing with a context window of 13,568 tokens that was trained rather than assumed. Read more

Argonne 3.5-base: Retraining an Unchanged Architecture With a Revised Recipe

Two earlier articles in this series described the two halves of building a language model from nothing: pretraining five generations of base models, and teaching one of them to reason. Both ended on the same conclusion β€” that the ceiling on a fine-tuned model is set by the base model beneath it, and that Argonne 3. Read more

rapiDU: A Faster du, and the Measurements du Cannot Make

rapiDU is an open-source command-line tool that answers the question du is normally reached for β€” what is taking up all the space? β€” and then answers four further questions that du cannot answer at all. It returns the same total as du to the byte, which is verified on every commit, and on a cold walk of a large parallel filesystem it has been measured returning that total five to seven times sooner. Read more

slurmwatch: Live Telemetry for HPC Jobs

slurmwatch is an open-source command-line tool that shows what a running job is actually doing to the hardware it was given. Point it at a job β€” or run it with no arguments and let it find the job itself β€” and it displays, live in the terminal, the processor time, the memory, and, where the machine has them, the graphics-card activity belonging to that job. Read more

Pretraining a Language Model From Scratch: Argonne 1.0 to 3.0

In an earlier article I described how a small language model can be taught to reason. That discussion rested on a claim worth restating: the capabilities of a fine-tuned model are largely determined by the quality of the underlying base model. The present article turns to that foundation directly β€” how the base models themselves were built, beginning from nothing more than a corpus of text and a randomly initialized set of parameters. Read more

How I Taught a Small Language Model to Reason

For the last few years, this blog has mostly been about tidy data, statistical models, and the occasional TidyTuesday chart. This post is different. Over the past few months I did something I had wanted to try for a long time: I built a small AI language model from scratch β€” the same basic kind of technology behind chatbots β€” and then tried to teach it to reason: to work through a problem step by step before answering, the way you might show your work on a math test. Read more