Reinventing black boxes

Accepted Session
Short Form
Scheduled: Thursday, June 25, 2015 from 2:30 – 3:15pm in B304


Open source has a long history of reimplementing, and reverse engineering proprietary tools. This talk will integrate the tools needed to reverse engineer into stories of how it has been done before.


There is a constant need to provide open source glue, and alternatives to new technology. Learning how to analyze black boxes frees you from having to wait for someone else to do it. When you solve the puzzle yourself you will really understand how it works.

Reverse engineering is a lot like debugging. There are open source full development stacks including debugging for almost every operating system, and architecture. There are a few other tools you need, but with decades of reinvention the toolbox will usually have everything you need.

Since black boxes aren’t documented it’s impossible to know for sure if you will have the skills you need ahead of time. They are puzzles which might be easy, or hard. Chances are you won’t have to go it alone for long as other people, and whole communities often want the same thing that you do.


Reverse Engineering

Speaking experience

In 2014 I presented at PDXBYTE, Javascript admirers, Puppet users group, PDX Node, plus several hackathons, and unconferences. I think only one of those got recorded on video. I gave an early version of this talk on March 10 2014. The slides ran out around the right time for a 45 minute talk with a little Q & A. There weren't any talks after me so I actually went way over, but questions are easy to trim. The video of that talk should be online in the 3rd week of March on the pdxbyte channel.


  • 16697042895 300d969781 o

    Daniel Johnson



    Daniel Johnson is a full stack developer who has been programming since 1990, and focused on Open Source technologies since 2003. Jobs have ranged from telephone tech support to systems administration, and freelance software development. He has spent the most time in the last few years working with Rails, AngularJS, Android, and Arduino. In 2014 he founded a users group for C, C++, and Assembly. He was the first person to document how to use the intel real sense 3d camera with Linux.