Projects

darkmatter

Modeling a Dark Matter Detector

Arduino, Electronics

I created a model of a cryogenic dark metter detector using an Arduino, a strip of LEDs, a breadboard and some recycled office waste. See the video above for a demonstration.

The model is based on the SuperCDMS SNOLAB experiment. For more info on the code and electronics so the git repo here.

Dark matter is one of the biggest mysteries of modern physics - we'd really like to find it! SuperCDMS is a cryogenic detector, meaning that it looks for minute disturbances caused by dark matter particles colliding with ultra-cold atoms in the detector crystals. This is one of many approaches being used to understand the nature of this mysterious substance.

shakespeare

Writing a Shakespearean Sonnet with Neural Networks

Tensorflow, Python, Pandas, Jupyter

I created a neural network that trains on Shakespeare's sonnets and attempts to write its own poetry. The git repo for the first iteration is here, and the repo for the second iteration is here.

This was not a particularly serious project and the results were pretty mixed. The first iteration has no concept of punctuation and so punctuation is added to taste. The second iteration, based on a slightly more complex algorithm (links in the repo readme), includes punctuation.

Here is a sample from iteration 1:

  • Well hell in worst head doting sight to dote his blood,
  • increase fears the leaves force men worms rain we do come,
  • hence slow by happy show keep me read my true new single grief.

It doesn't make a lot of sense. Here is a sample from iteration 2:

  • As to thee as your beauty;
  • but in my summer sail of me my lie.
  • What from this to all thy days than with their show;
  • when freezings is tenure of the beauty; be suns of thee defeated on that thee most,
  • dost my will that separable did live

This version sorts its own punctuation and seems to rather like semicolons. There is still some tuning to be done before it can win any writing prizes.

ippplog

IPPP Blog

NodeJS, Express, MongoDB, Heroku

The IPPP (Institute for Particle Physics Phenomenology) is the specific group I belong to in the Durham University Physics Department. We have I weekly meeting where people can ask, show or discuss computing-related topics. I created this blog and suggestion board website to replace our previous google-doc system.

The website is university-recognised and can be found at the university domain plog.ippp.dur.ac.uk.

The website uses Node.js + Express for the back end and MongoDB for the database. It is currently hosted on Heroku and MongoDB ATLAS but will be moving onto university servers in the near future. The front end uses Bootstrap 4 and a some jQuery.

Users are able to make blog posts, submit discussion topic suggestions, like suggestions, comment etc. The upcoming topic is always shown on the homepage at the top of the main posts page. Posts and comments accept markdown. More features will come upon request by the community.

tube

Dynamic Tube Map

JavaScript, p5, JSON

For an embedded demonstration, view on a larger screen.

I started this fun little map on the train back from London, after reading an article about the closest stations in the London Underground. It oscillates between the true geographical layout of the stations and the simpler map offered by Transport for London. It is made using the p5.js library.

I focussed on Zone 1 and used WebPlotDigitizer (an online tool I have previously used for physics) to create a JSON file for the various station coordinates for both the geographical and regular tube map. After listing the various station connections, I simply applied an oscillatory function to each segment that is tracked via time.

For more details and the code, see GitHub.

ucr

UCR Cosmology Lectures

Physics, Presentation, Communication

Part of my stay at the University of Costa Rica was to give Master's-level lectures on modern cosmology. This was a lot of hard work and involved collecting and streamlining information into a pedagogical review of the field, accessible to new students.

For a full lecture presentation see here.

fractal

Fractal Clock

JavaScript, p5

The combination of code with maths and creativity is one I much enjoy. After seeing how the p5.js package was used to make fractals, I decided to make fractals that display the time.

The time is conveyed in three different ways for each unit (hour, minute, second):

  • The fractal, which folds and unfolds cyclically with the periodicity of the unit - i.e. every 24h for the hour fractal (green).
  • The arc, which gives an indication of where the associated hand would be on a traditional analog clock.
  • The numbers, which simply display the time in digital format for those struggling to read the fractals or arcs.
The fractals, arc and numbers associated with each unit are colour-coded.

For full code see GitHub.

ippp

Outreach Talks

iOS, Apple Pencil, Presentation, Communication, Outreach

With a big visit planned to Orkney Science Festival, I decided to test a new format of presentation using the department iPads. This less formal style was a big success with the children and really helped them stay engaged. The illustrations helped convey the physics in a fun way.

For an example full presentation see here.

ytf

YTF Poster

GIMP, Advertisement, Graphics

On the YTF conference committee in 2017, I was charged with creating the conference poster and branding. I decided to capture the hype in the community for the latest Star Wars release. It was a big hit and I learned a lot about using GIMP in the process. The ghost-like face is physicist Richard Feynman and the LHC cross section is surrounded by flying Feynman diagrams.