STFC ECCC
    • The Single Responsibility Principle
    • The Open/Closed Principle
    • Spack
    • GitHub Actions
    • Inheritance is Evil
    • Nuxt
    • LogSeq
    • Time Complexity
    • How to Review a Codebase
    • Numba and Bitmasks
    • Mutation Testing
    • Message Passing Interface
    • P vs NP
    • Verbose Graphics with Rust and Vulkan
    • Slidev
    • Nuxt Content By Example
    • Rust MMU Guest Lecture
    • As We May Think - AI for Coding
    • Git in Practice: Techniques for Collaborative Development
    • A Crash Course in Natural Language Processing
    • Graphs: Ruining the Travelling Salesman's Day Since 1930
    • Automating File Creation With Jinja2 Templates in Python
    • What the hell is a Monad?
    • The Liskov Substitution Principle
    • Everything as a Specification
    • The Interface Segregation Principle
    • The Dependency Inversion Principle
    • A Field Guide To Coupling
    • Why Python is (and isn't) Fast
    • Cybersecurity
    • What Linux Distribution Should You Use?
    • Agent Communication Protocols
    • Why I hate try/catch, and why you should hate it too!
    • The Beauty of Vim Motions
Talks

Time Complexity

James Cornall

James Cornall

Graduate Software Engineer

A presentation on time complexity in algorithms, covering Big O notation and common complexity classes.
Open PDF

LogSeq

A live demo and introduction to LogSeq, a knowledge management and note-taking tool that uses a local-first, markdown-based approach.

How to Review a Codebase

A guide on effectively reviewing a codebase and understanding how to improve it.

STFC • © 2026