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.


Comments are closed.

Ed Barnard (Speaker) at 15:33 on 2 Nov 2018

For those interested, additional reading:
- My pinned tweet thread is a table of contents for several related essays with photos - https://twitter.com/ewbarnard
- My related-reading list for a similar talk - http://otscripts.com/big-iron-reading-list/
- Find "A Tour of the Worm" article online
- By all means please contact me on twitter for questions, discussion, suggestions

Nick Escobedo at 11:13 on 3 Nov 2018

Useful if you want to now how things work and learn some about binary.

Wasn't able to write code last half of the session because we didn't have time.

Gave practical examples of how we can adjust our thinking about math and algorithms.

I really enjoyed the whole tutorial. It was really great to have a chance to not only go over the material in-depth, but also to go over *how* to go over material you aren't familiar with in particular. Specifically, I liked seeing the examples and going over all of the "why"s behind everything. The style and class of topic (fundamentals) are both things I would *really* love to see more of in the future.

Robert Collier at 17:03 on 3 Nov 2018

this was a fascinating look into both the history and future of our industry, as well as under the hood at how and why things work.

Eric Anderson at 09:03 on 5 Nov 2018

The talk was a challenging look into how data is stored and manipulated at the lowest levels of computing. Using higher level languages we forget how data is stored and represented at the binary level and this talk did a good job reminded me of that.

Having never worked with bitwise operators, the initial code challenge was confusing at first. I think other attendees would have been similarly confused as well as working with data in this way is less common.

Overall I really enjoyed the talk, knowing the low level aspects of computing is important.