This is my personal webpage. Use what you find useful. Ignore the rest. Best viewed on Github as there are many notebooks. Github will render the notebooks for you. Got a question? Just raise an issue. date article 2024-02-28 Renting or buying? A view on the UK house market 2023-10-27 Is deepcopy a good idea? 2023-10-25 The nth product 2023-09-06 Maximum delayed commitment - an agile strategy 2023-09-05 The cost of python datastructures 2023-07-30 Reading .npy files without np.load 2023-07-17 Classes as global configuration templates 2023-05-23 Graphs 4 - solving search problems 2023-05-23 Graphs 3 - as finite state machines (and how to solve sudokus) 2023-05-23 Graphs 2 - Generating and visualizing graphs 2023-05-23 Graphs 1 - Basic graph theory 2023-05-20 Validated DataFrames for Pandas for free? 2023-04-05 Tablite: The mega-tutorial for out-of-memory datasets 2023-02-22 What are convolutions? 2023-02-18 Math for Operations Research 2023-02-05 Solving the knapsack problem in 3 ways 2023-01-05 Notes on basic stochastic optimization 2023-01-05 Scheduling: Is it worth the effort? (Yes!) 2022-12-26 A dummy file system for apps using key-value store 2022-12-20 The fastest alarm clock (or sortation in practice) 2022-12-20 Controlling python at exit 2022-11-08 Calling nim from python 2022-10-30 An effective priority jobqueue using insort and deque 2022-10-24 Writing documentation with JupyterBook - Easy! 2022-09-21 Business calendar - when is the business open? 2022-09-17 Matrices as Graphs - some notes 2022-08-21 Comparing syntax of pandas vs tablite 2022-08-18 Rounding the better way 2.0 (rounding numbers and dates) 2022-07-19 Measuring speed to disk 2022-07-19 Organising code for python projects, packaging and testing packages 2022-04-30 del, __del__ and garbage collection 2022-04-13 Multiprocessing with shared memory - part 2 2022-03-14 Detecting the intersection of range objects 2022-03-13 Multiprocessing with shared memory 2022-02-13 Friday dinner notes about wordle 2022-02-05 A short intro to h5py and HDF5 2022-01-29 In memory ZIP folder 2022-01-08 Combinations of lists (or how product works) 2021-12-20 How to test for permutations? 2021-12-19 Fastest method to prove assignment problem cannot be solved? 2021-12-13 Starting a small python trick collection 2021-12-11 Replace substrings without corrupting strings that contain the substring 2021-10-04 Problems reading text as tables 2021-09-30 Solving equations with PuLP 2021-09-21 Rounding to nearest n 2021-09-05 Solving probability problems with python 2021-06-14 How many digits do you need? 2021-04-12 Stock cutting problem 2021-01-22 Integer ratios 2021-01-15 When is numpy really faster? 2020-06-27 Tablite - a dirty data tool 2020-06-05 Notes on optimisation strategies 2020-05-31 Graph-theory - a reference implementation 2020-05-28 Problem structure keywords and content (or how to solve any problem) 2020-05-25 Basic geometry 2020-05-23 Calculating the convex hull 2020-05-19 Rounding datetime, dates and times 2020-05-18 Safely parse arguments to pythons eval 2020-05-17 Solving traveling salesmans problem with genetic algorithm 2020-05-14 Graceful interrupt in batch jobs using pythons yield 2020-05-11 Brute force solution to the knapsack problem 2020-05-07 Automatic test generation 2020-05-06 Maslite 2020-05-05 Monty Hall simulation 2020-05-04 Basic combinatorics