{"pages":[{"date":"2026-08-13","permalink":"/misc/reading-list/the-stranger/","tags":[],"text":" Albert Camus  ","title":"The Stranger"},{"date":"2026-08-04","permalink":"/misc/reading-list/closer/","tags":[],"text":" Dennis Cooper  ","title":"Closer"},{"date":"2026-07-29","permalink":"/misc/reading-list/abolish-silicon-valley/","tags":[],"text":" Wendy Liu  ","title":"Abolish Silicon Valley: How to Liberate Technology from Capitalism"},{"date":"2026-08-04","permalink":"/misc/reading-list/sluts/","tags":[],"text":" Dennis Cooper  ","title":"Sluts"},{"date":"2026-07-29","permalink":"/misc/reading-list/fundamentals-of-music-processing/","tags":[],"text":" Meinard Müller  ","title":"Fundamentals of Music Processing: Audio, Analysis, Algorithms, Applications"},{"date":"2026-07-29","permalink":"/misc/reading-list/clean-code/","tags":[],"text":" Robert C. Martin  ","title":"Clean Code: A Handbook of Agile Software Craftsmanship"},{"date":"2026-07-29","permalink":"/misc/reading-list/logic-in-computer-science/","tags":[],"text":" Michael Huth, Mark Ryan  ","title":"Logic in Computer Science: Modelling and Reasoning about Systems"},{"date":"2026-07-29","permalink":"/misc/reading-list/principles-of-model-checking/","tags":[],"text":" Christel Baier, Joost-Pieter Katoen, Kim Guldstrand Larsen  ","title":"Principles of Model Checking"},{"date":"2026-07-29","permalink":"/misc/reading-list/how-to-write-one-song/","tags":[],"text":" Jeff Tweedy  ","title":"How to Write One Song"},{"date":"2026-07-29","permalink":"/misc/reading-list/audition/","tags":[],"text":" Ryu Murakami  ","title":"Audition"},{"date":"2026-07-29","permalink":"/misc/reading-list/in-the-miso-soup/","tags":[],"text":" Ryu Murakami  ","title":"In the Miso Soup"},{"date":"0001-01-01","permalink":"/projects/modular-3d-geospatial-viewer/","tags":[],"text":"Developed as my BSc thesis project, this is a modular 3D mapping platform whose Vite-packaged core library can be used independently of its React interface. Applications can include only the interface features they need.\nRead the BSc thesis (PDF)\nCombined point clouds, GeoJSON geometry, IFC/BIM models, 3D Tiles and georeferenced imagery in one layered viewer using the Three.js ecosystem. Developed a performance-focused GeoJSON renderer covering all geometry types and batching large point collections into efficient point-cloud representations. Added drawing and editing tools, snapping across data types, project saving and loading, layer controls, an OpenLayers minimap and custom 3D clipping tools.    ","title":"Modular 3D Geospatial Viewer"},{"date":"0001-01-01","permalink":"/projects/parking-and-access-operations-platform/","tags":[],"text":"A deployed full-stack application for managing parking access, vehicle records, barriers and operational events.\nBuilt the application with React, TypeScript, Node.js and Vite. Integrated AxTraxNG access-control hardware through its REST API and modelled access points in PostgreSQL, mapping controller inputs and outputs to interface controls. Embedded live camera feeds through go2rtc and built an OpenLayers operations map that displays access-point locations and highlights incoming calls using a call-centre API. Designed a server-side event cache that prevents repeated upstream requests when multiple clients poll for updates.    ","title":"Parking and Access Operations Platform"},{"date":"0001-01-01","permalink":"/projects/internal-operations-portal-renovation/","tags":[],"text":"Renovated a legacy company portal using Next.js, React, Material UI, Node.js, Express, PostgreSQL/PostGIS and Docker Compose.\nBuilt scheduled background jobs that periodically import worker, absence, invoice and attendance data from an existing company accounting system into PostgreSQL.\n   ","title":"Internal Operations Portal Renovation"},{"date":"0001-01-01","permalink":"/projects/property-data-management-application/","tags":[],"text":"A Vite-powered React application through which client staff can search for, view and enter property records.\nIntegrated the interface with an existing backend using SOAP and XML. Implemented permission-aware updates, user activity histories and Excel import/export functionality across all data views. Developed a Claude Code skill for the backend’s proprietary BASIC dialect, substantially accelerating the development of new API functions.    ","title":"Property Data Management Application"},{"date":"0001-01-01","permalink":"/projects/public-sector-data-parsing-services/","tags":[],"text":"Developed containerised Node.js API services that retrieve PDF documents from a public-sector source and transform their contents into structured JSON for business applications.\nImplemented authenticated session handling, document processing, error recovery and operational logging around the external system. Built a job-queue system with controlled concurrency, pacing, cancellation, scheduled request status checks, retries and callbacks, backed by SQLite.    ","title":"Public-Sector Data Parsing Services"},{"date":"0001-01-01","permalink":"/projects/cad-data-and-symbol-integration-toolkit/","tags":[],"text":"A company-wide C#/.NET toolchain for maintaining shared CAD symbols and importing geospatial business data into AutoCAD.\nBuilt a two-way conversion process that decompiled ten separate CAD symbol and line-style files into a canonical GeoJSON library, then recompiled it into two unified CAD resource files. Preserved drawing behaviour throughout the conversion, including scaling, compound line patterns, referenced symbols and polygon fills, while establishing one maintainable source of truth. Developed an AutoCAD plug-in that imports business-system GeoJSON as correctly layered and styled 2D/3D points, lines, polygons, labels and reusable blocks. Packaged shared symbol and line-style resources with drawings so that they render correctly without requiring separate company-file installation.    ","title":"CAD Data and Symbol Integration Toolkit"},{"date":"0001-01-01","permalink":"/projects/untangle/","tags":[],"text":"A graph-theory puzzle game for Android, created in Unity. Players rearrange a network of connected points until none of its edges intersect.\nView Untangle on itch.io\n   ","title":"Untangle"},{"date":"0001-01-01","permalink":"/projects/space-blaster/","tags":[],"text":"A top-down roguelike shooter for Windows and Android, built with a custom engine written in C# using MonoGame.\nView Space Blaster on itch.io\n   ","title":"Space Blaster"},{"date":"2026-08-24","permalink":"/misc/music/jay-z-4-44/","tags":[],"text":"  JAY-Z 4:44","title":"JAY-Z - 4:44"},{"date":"2026-08-24","permalink":"/misc/music/jay-z-reasonable-doubt/","tags":[],"text":"  JAY-Z Reasonable Doubt","title":"JAY-Z - Reasonable Doubt"},{"date":"2026-08-15","permalink":"/misc/music/phoebe-bridgers-lost-weekend/","tags":[],"text":"  Phoebe Bridgers Lost Weekend","title":"Phoebe Bridgers - Lost Weekend"},{"date":"2026-08-13","permalink":"/misc/music/phoebe-bridgers-punisher/","tags":[],"text":"  Phoebe Bridgers Punisher","title":"Phoebe Bridgers - Punisher"},{"date":"2026-08-01","permalink":"/misc/music/sidewalks-and-skeletons-exorcism/","tags":[],"text":"  Sidewalks and Skeletons Exorcism","title":"Sidewalks and Skeletons - Exorcism"},{"date":"2026-08-01","permalink":"/misc/music/hayley-williams-ego-death/","tags":[],"text":"  Hayley Williams Ego Death at a Bachelorette Party","title":"Hayley Williams - Ego Death at a Bachelorette Party"},{"date":"2026-08-01","permalink":"/misc/music/charlie-byrd-bossa-nova-pelos-passaros/","tags":[],"text":"Relaxing and beautiful jazz guitar recordings.\n  Charlie Byrd Bossa Nova Pelos Passaros","title":"Charlie Byrd - Bossa Nova Pelos Passaros"},{"date":"2026-08-01","permalink":"/misc/music/halsey-the-great-impersonator/","tags":[],"text":"  Halsey The Great Impersonator","title":"Halsey - The Great Impersonator"},{"date":"2026-08-01","permalink":"/misc/music/kehlani-kehlani/","tags":[],"text":"  Kehlani Kehlani","title":"Kehlani - Kehlani"},{"date":"2026-08-01","permalink":"/misc/music/kendrick-lamar-gnx/","tags":[],"text":"  Kendrick Lamar GNX","title":"Kendrick Lamar - GNX"},{"date":"2026-07-27","permalink":"/posts/my-first-post/","tags":[],"text":"Test… Testing… Test…\n   ","title":"Is this thing on?"},{"date":"0001-01-01","permalink":"/misc/fun-things/","tags":[],"text":" Websites: Things to doomscroll.\nHacker news - Obligatory. Legends of Localization - Website about the localization process behind japanese games. Huge comfort read of mine. Podcasts: The stuff one has on in the background.\nSong Exploder - Podcast about how hit songs were written. Gives a great insight into the creative process. You’re wrong about - Podcast about media scandals and the response of the general public. Talks: Knowledge for your headtop.\nThe Birth and Death of JavaScript The Big OOPs: Anatomy of a Thirty-five-year Mistake Tinkering: Random stuff I’m researching.\nComfyUI - Currently building an image -\u003e 2D concept art -\u003e 3D model pipeline in this for future gamedev. Boids - Article on an artificial life simulation. Useful for modelling crowd movements/traffic etc. Worldsmith - Series of articles about world generation and the random algorithms used. Supabase - Basically a ready-made backend for web apps. Conferences \u0026 events: Real world physical interaction opportunities I occasionally engage in.\n39C3 - Hacker conference with some great talks. WHY - Ditto.    ","title":"Fun stuff"}]}