Building GLFW on Mac OS X

GLFW is a free, Open Source, multi-platform library for OpenGL, OpenGL ES and Vulkan. This platform provides a simple, API for creating windows, contexts and surfaces, reading input, handling events, etc. To allow you to provide a surface and a way to interact with your 3D graphics. There are others available such as SDL.


  1. Install and launch XCode from the app store.
  2. Install CMake (I use brew: brew install cmake)

You could download a pre-compiled binary, however, it is better to build this on your system so it takes into account your GPU type etc.

To build GLFW from source do the following

  1. Download and extract the GLFW source code and put in the location of your choice
  2. Open the Terminal and cd to root the directory that GLFW has been extracted too (the one that contains
  3. cd to the extracted directory.
  4. Type: cmake (hit return).
  5. A Makefile will be created for you.
  6. Type: make (hit return).
  7. After the compilation process, type: sudo make install

The libraries will be copied to /usr/local/lib, and the header files copied to /usr/local/include.

So you should be good to go! Happy programming.


Autonomous Driving Levels

Everyone has heard of autonomous cars, but did you know that most modern cars are on the autonomous driving scale, here is a simplistic overview of the levels of autonomy.

Officially, the levels of autonomy are classed into 5 levels:

  • Level 1: “Hands on the wheel”: The car has driver assistance functions but under the supervision of a driver. Basically, the car may apply the brakes for you etc.
  • Level 2 “Hands on and off the wheel”: The car is driving itself (automated driving) but the driver is providing full supervision. This what Tesla provide at the moment, although this is creeping to Level 3.
  • Level 3 “Hands off and Eyes off, but…”: This where is gets interesting, the car is driving itself (automated driving) in defined situations but without driver supervision, with driver is required to take the wheel if requested by the system. The System is in charge.
  • Level 4 “Hands off the wheel, Eyes off and Mind Off”: The car is driving itself (automated driving) in defined situations without driver supervision without requiring the driver to take the wheel.
  • Level 5 “Driverless”: The car is driving itself (automated driving)  but without the driver. This is the holy grail of autonomous driving.