Welcome to the website of James W. Hanlon. Here you'll find notes on subjects of interest and projects I've been working on, as well as various archived documents and talks, and some information about me.
Browse: by catergory, by tag.
Details of how I how self host services to maintain a degree of digital privacy and freedom.
How to build a simple discrete-event simulation with an example in Rust
A review of one year’s worth of data from my home heat pump.
Thoughts on the requirements of software infrastructure to support chip design.
A rationale and strawman for a processor to accelerate dynamic-language workloads.
Retrofitting insulation in a timber-framed top floor.
A hardware implementation of a Hex processor with some basic tooling, including a complete compiler for a simple programming language.
Choosing seeds for parallel xoroshiro128+ generators using fixed offsets produces correlated outputs.
A short summary of an investigation into the statisitical quality and implementation cost in hardware of the xoroshiro128aox PRNG.
Investigation of thermal faults using a thermal-imaging camera.
A review of human impacts on nature as a way to reflect and navigate environmental bad news.
Using Hamming Codes for single error correction and double error detection.
Details of new chips that have been built recently to accelerate machine intelligence workloads.
A description of how digital circuits are modified to allow scan testing to be performed.
Experimental lighting using high-power LEDs in generous volumes and behind translucent acrylic plastic to create big blocks of colour.
An LED driver module controlled by a PIC12F1572 and with CAT4101 drivers, deployable in an array via a RS485 interface.
A description of a command-line tool I created for tracing timing paths from a flattened netlist back through the RTL.
Retrofitting an existing shed/workshop with insulation to improve its energy efficiency and make it a usable space throughout the year.
Coding style for RTL design using Verilog / SystemVerilog. Updated 2024.
Using empirical statistical tests to determine the quality of PRNGs.
A C++ implementation of a convoluational neural network building on the explanation in Michael Nielsen’s book ‘Neural Networks and Deep Learning’.
Neural networks have become a hot topic in computing and their development is progressing rapidly. They have a long history with some of the first …
An overview of the key features of the language, many of which derive from occam.
The XMP-64 is an experimental single-board distributed-memory parallel computer with 512 hardware threads and is programmable with a C-like language. It was developed by …
An overview of my PhD thesis.