Welcome to the professional blog of Adam Green 👋 34 blog posts, 6 lessons, and 7 talks on energy and data science.
Automation techniques for testing & deploying infrastructure driven by changes to code.
How Git enables version control and code collaboration.
Downloading, cleaning & joining UK electricity grid data with pandas, requests and pydantic.
Improve your energy project modelling with this simple & flexible forecasting technique.
Using optimization of a battery to measure forecast accuracy.
A Python library for optimizing batteries, EVs, CHP and renewable generators using mixed-integer linear programming.
A simple guide to data provided by AEMO for the Australia's National Electricity Market (NEM).
Berlin Machine Learning Group: Reinforcement learning for energy systems with energy-py
Energy efficiency is not so simple.
Concise practical details about the two most common forms of gas based combined heat and power systems.
A Python framework for training reinforcement learning agents on energy systems using Gymnasium and Stable Baselines 3.
Explaining the relationship between gas turbines and ambient temperature.
An introduction to how the UK recovers electricity grid balancing costs.
The equation I used the most as an energy engineer.
Being careful and consistent when dealing with kilowatts and kilowatt-hours is a basic for all energy professionals.
Explaining the conventions for quantifying the heat of combustion.
Find interesting data with rules, distance and machine learning based anomaly detection.
Thirteen data science tools setting the standard in 2025.
Attention and Multi-Head Attention in NumPy.
Why this new feature is a game changer for developers.
Overview of artificial intelligence, machine learning, and deep learning concepts
Explaining the fully connected, convolution, LSTM and attention deep learning layer architectures.
Demo day presentation at Data Science Retreat
Ha & Schmidhuber's World Models reimplemented in Tensorflow 2.0.
Getting control using a stateful and stateless LSTM.
Common mistakes made by data scientists and how to avoid them
Finally - stable learning.
Tuning hyperparameters of the new energy-py DDQN reinforcement learning agent.
Debugging the new energy-py DQN reinforcement learning agent.
Introduction to Q-Learning reinforcement learning algorithm
Three tips to write better function signatures with positional & keyword parameters, generic functions and function overloads.
Twelve Python tools setting the standard in 2025.
The default programming language for working with data.
Ten Python tools setting the standard in 2023.
Introduction to distributed computation in Python, covering tools and techniques for parallel processing
Using the defaultdict store results from temporal simulations in Python.
I've been learning Python for around eleven months - it's been a wonderful journey!
Find your next role as a a data professional.
Make your data science projects presentable, reproducible, accessible and extensible.
Learn how to use a shell, write shell scripts, and configure your shell environment.
Five patterns to guide your Git workflows.
And never back again.
Seventeen terminal, shell and command-line tools setting the standard in 2023.
Make your data science workflows better with this classic UNIX tool.
How to setup custom keyboard shortcuts for Jupyter Lab.
A guide to the next generation of notebook tooling.