imaginarium
/ˈɪˌmædʒəˈneɪri:əm/
n.
place devoted to the imagination. There are various types of imaginaria, centers largely devoted to stimulating and cultivating the imagination, towards scientific, artistic, commercial, recreational, or spiritual ends.


Science

Climate Twitter

Monitoring the online conversation around the Conference of the Parties (COP)

Hascell

Using comonadic computation to implement various cellular automata in Haskell.

Synch.Live

Building and using an open technology framework to explore collective emergent behaviour in humans.

Hacking

SnowWall

MEng software project - building a front-end for investigating outbound connections and privacy invasion on MS Windows

Synch.Live

Building and using an open technology framework to explore collective emergent behaviour in humans.

a perfect day for banana hacking

Get root on Nokia 8110 4G and free it with GerdaOS

PiLapse

Drive a timelapse with a Raspberry Pi and gphoto2

FehFrame

An open-source digital picture frame using RaspberriPi, a screen, and picture viewer feh



List of articles


a perfect day for banana hacking

Get root on Nokia 8110 4G and free it with GerdaOS


Synch.Live

Part 1: Emergent art

Synch.Live is an art experience designed to mobilize our hard-wired human instinct to cooperate


Synch.Live

Part 2: First prototype

Building an LED headset with WS2801 and Raspberry Pi


Synch.Live

Part 3: Real-Time Clock

We add a real time clock module to the headset prototype, and implement precisely timed blinking behaviour on two headsets


Synch.Live

Part 4: Deploying the Flock

we build 10 LED headsets for and use Ansible to configure the hardware, install the necessary software, and run tests


Synch.Live

Part 5: In Search of Lost Time

We use Network Time Protocol and chronyd to synchronise our 10 Raspberry Pi Zero W wearables to blink in sync


Synch.Live

Part 6: Filming and tracking

We set up a Raspberry Pi 4 with a Raspberry Pi High Quality camera to film the Synch.Live players and track their motion with OpenCV.


PiLapse

Drive a timelapse with a Raspberry Pi and gphoto2

I ran a 7-day timelapse, every five minutes, to capture the growth of a new leaf of my Monstera plant, using a Raspberry Pi 3 and the gphoto2 library to drive my Sony A7S, darktable to export them, and ffmpeg to animate them.


Is Google down?

When all your eggs are in the Google basket

Thank Google it's not friday


In support of Z-Library

Z-Library has been taken down by the feds.

Knowledge to everyone. Knowledge must be free. To open science. Everyone is a pirate, even scientists. Verified Z-library (ZLib) and Library Genesis (LibGen) mirrors included in this post.


Hascell: Cellular automata in Haskell

Part 1: Wolfram's Wonderful World

I wrote a beautiful but naive Haskell implementation of Wolfram's elementary cellular automata (ECA) in 30 lines. It can generate the evolution of all 256 rules from a default starting configuration and (slowly) save them to PNG images.


Hascell: Cellular automata in Haskell

Part 2: Conway's Comonadic Conundrum

I wrote a more efficient Haskell implementation of Wolfram's elementary cellular automata using Comonadic Arrays. I also extended it to 2D worlds and played with Conway's game of life.


FehFrame

An open-source digital picture frame using RaspberriPi, a screen, and picture viewer feh

We used an old screen and a Raspberry Pi to make an open-source digital picture frame that loops through awesome scenes in movies.


Defacebook

Is facebook really down?

We interrupt this programme to bring you... the collapse of society as we know it


Bonus: University projects

A list of my university coursework and projects:

Group projects

  • 2016 Seek: An Information Retrieval tool written in Python for natural language processing on large corpora. Can extract, with good accuracy, topics, names, and summaries from unstructured text.
  • 2016 Scanalysis: A static analysis tool written in Scala which parses a piece of code and transforms it into a logic statement, verifying against a set of pre and post-conditions whether the code is correct
  • 2015 Doodlr.js: A Javascript application with real-time collaborative digital painting features. It displays a wall of all canvases, where users can pick one and join in collaborative drawing. Built on top of Meteor and Parse, so unfortunately defunct.
  • 2015 PintOS: a version of the Standford operating systems exercise in C. Contributed implementations of system calls, memory management, thread synchronisation and interruptions.
  • 2014 WHack: A compiler written from scratch in Haskell for a simplified C-like language called WACC.
  • 2014 RaspberryDots: An assembler and emulator for ARM architecture. Fully implemented in C, the system was then deployed on a Raspberry Pi and used to encode a sequence of characters into blinks of LEDs.
  • 2013 Computational Morality: a research project on logic models for computational morality and their use for AI applied to decision-making for trolley problems.

Individual Projects

  • 2015 Enigma: an enigma machine simulation in C++.