---
title: Bare Metal Programming
osem_url: https://osem.seagl.org/conferences/seagl2016/program/proposals/250
beginning: '2016-11-12T15:30:00.000-08:00'
end: '2016-11-12T16:30:00.000-08:00'
presenters:
- name: Brian Raiter
  osem_url: https://osem.seagl.org/users/46
  gravatar_id: 21b92bcebd1324d0615b97c993469643
  biography: Brian Raiter is a professional software engineer, and a long-standing
    recreational programmer.
---

High-level languages are a blessing to programmers, but sometimes they leaves us feeling divorced from the actual hardware, especially as operating systems become increasingly complicated. When it seems as if the only way that a modern program does anything is by pulling on giant levers connected to fantastically complicated machinery hidden inside distant black boxes, programmers throughout history have banished this sense of frustration by setting aside their compilers and writing programs directly in the lowest level available to us -- assembly language.

Occasionally there is a real need for working in assembly. However, sometimes people write assembly programs just for sheer fun of it -- to meet the challenge of making working programs with no intermediary layer, or just to understand what can be done when the compiler's not around to stop you.

In this talk, I'll show you how to get started on writing assembly programs for Linux, introduce some of the popular tooling, and demonstrate some of the many ways assembly programming can liven up your recreational programming.
