View the Full Schedule

Tutorial: Binary for IoT

We've come full circle: A generation ago people were expected to manipulate binary numbers. Those forgotten skills are coming back into demand. The Raspberry Pi, IoT microcontrollers, network code, pure-PHP libraries, all deal with binary-based interfaces or hardware pins. This tutorial focuses on learning the software skills you need for working close to the hardware. We'll "learn binary" and practice this knowledge with two pure PHP projects. We'll first learn and use AND, OR, XOR to build a binary adder implementing Boolean logic gates in PHP. Next we learn shifting, masking, one's complement, two's complement for our second PHP project: Implement your own algorithm converting decimal to hexadecimal without sprintf(). This hands-on tutorial focuses on gaining a strong working knowledge of the skills you need for working close to modern IoT hardware. Zero prior "binary" knowledge is expected.


Edward Barnard

Edward Barnard (@ewbarnard)


Ed Barnard had a front-row seat when the Morris Worm took down the Internet, November 1988. He was teaching CRAY-1 supercomputer operating system internals to analysts as they were being directly hit by the Worm. It was a busy week! Ed continues to indulge his interests in computer security and teaching software concepts to others.