Degrees Of Abstraction

As a software architect, how do you make a problem easy to solve? In the software engineering world this comes up a lot. There are always hard problems that will bring things to a screeching halt. Picture this: you are in charge of a brand new project. Your goal is to choose the right technology, the right practices and, the right workflow to make that project a success. You know this project will be encountering problems over time. The correct perspective can make all the difference. As architects we have a very powerful tool to help us: abstraction. Lets take a look at abstraction and how important it is for software development.

Written 02/11/2019

Cathedral Model Photogrammetry

While visiting in Germany, my father and I went out for a bike ride around the towns near Essen. One of the towns that we checked out was Neviges. Within it you can find the Wallfahrtsdom (Pilgrimage Cathedral). This is one of the most interesting churches that I have seen. It has a very imposing presence, it is dark, very geometric and made entirely of concrete. It was built 50 years ago and holds 6,000 visitors.

Near this was a little model that showed what the building looked like in full. I examined this model and had the idea to take a video of it. I figured that it would be fun to build a 3D model of the church model.

Written 19/11/2018

Inverse Kinematics In Game Maker

Inverse kinematics is calculating the position of limbs and angle of joints in a system in order to make them reach a desired end position. In other words when considering a point calculate what angle limbs should be in to touch it. This is useful in games when making arms bend to hold objects, making legs touch the ground on uneven terrain or even rendering simple ropes.

Almost a year ago I worked on a fairly large student project with three other members. The project was to build a game using Game Maker Studio 1.4. and during this project one of the things that I ended up needing was a simple inverse kinematics script. Unfortunately I was not able to find one. This is to provide the script that I ended up using as well as an explanation as to how it works for any one interested. If you are interested in the project that I needed this for, it was a adventure/rogue lite game. It is playable on Windows or Linux and you can check it out here at Artificial.

Written 20/12/2017

Chromebook Storage Upgrade

I have been using my Lenovo N22 Chromebook, running linux, for a couple of months now. It is an extremely convenient laptop for travel, school, and even personal projects. I have even been able to use the recently released Vulkan graphics API, just to show how capable these little laptops are. Unfortunately, there is one small problem that has been bothering me. The N22 model, similar to almost all Chromebooks, only has 16GB of storage.

In this post I will explore my solution to expand the devices storage capacity.

Written 13/04/2017

Transforming a Lenovo N22 Chromebook Into a Full Linux Laptop

In this post I will be going over the steps required to turn a stock Lenovo N22 Chromebook into a full linux Laptop. Unlike the majority of Chromebook Linux tutorials, this will not be along side the existing operating system. This will completely remove the existing OS from the device.

This post will cover how to disable the existing software security and hardware security that is present on the device. Then cover how to replace the existing BIOS, making it possible to boot and install alternative operating systems on the device.


If something goes wrong during this process it can and likely will brick your device These instructions are for the Lenovo N22 Chromebook, attempting them on a different computer may have undesired side effects. Continue at your own risk.

Written 31/01/2017
< 3 of 4 >