GitHub

My face

Challenges in porting Ray Tracing in One Weekend to the GPU

Lately I’ve been learning OpenGL and to get better at coding shaders I went through the Ray Tracing in One Weekend book and ported it to GLSL (OpenGL Shading Language). The book is great by the way and I would recommend this challenge to anyone who is interested in learning about ray tracing or shader programming. The book implements the ray tracer in C++ on the CPU and I’ve ported it to GLSL to run on the GPU. While making the port I ran into some interesting challenges due to the differences in CPU and GPU architectures so I thought I’d write a post about them and how I solved them.

Using the HTML5 Drag and Drop API to implement column reordering

Lately I’ve been building a web-based table component at work and in this post I want to talk about implementing drag and drop column reordering. The HTML5 Drag and Drop API has many quirks that make this harder than expected.

Self-hosting email is not rocket science

Inspired by a recent Hacker News comment, I’m publishing the notes I took when I set up my email server two years ago. This covers all the steps to get from a fresh Debian install to a working email setup. My setup features a spam filter and SPF, DKIM and DMARC for reliable delivery but is otherwise pretty minimal. I’ve been using this with Thunderbird and K-9 Mail for the past two years and it’s been great.

I persistently changed the RGB colors of my GIGABYTE motherboard using EFI variables

Neither GIGABYTE’s official RGB Fusion software nor the excellent OpenRGB support changing the RGB colors of recent GIGABYTE boards in a way that persists reboots. However there is a way to do this that involves some slightly scary editing of EFI variables and the danger of bricking your board if you’re not careful.