Dave Thomas


Chief Scientist / CSO at First Derivatives, Founder / Organiser of YOW!

Dave Thomas, Chief Scientist/CSO, Kx Systems, Co-Founder and past Chairman of Bedarra Research Labs (BRL), creators of the Ivy visual analytics workbench and ACM Distinguished Engineer. Founder and past CEO of Object Technology International (OTI), becoming CEO of IBM OTI Labs after its sale to IBM.

With a unique ability to see the future and translate research into competitive products, he is known for his contributions to Object Technology including IBM VisualAge and Eclipse IDEs, Smalltalk and Java virtual machines.

Dave is a popular, humorous, albeit opinionated keynote speaker with an impressive breadth of business experience and technical depth. He is a thought leader in large-scale software engineering and a founding director of the Agile Alliance.

With close links the R&D community Dave is an adjunct research professor at Carleton University in Canada and held past positions at UQ and QUT in Australia. He has been a business and technical advisor to many technology companies including Kx Systems.

Dave is founder and chairman of the YOW! Australia and Lambda Jam conferences, and is a GOTO Conference Fellow.

YOW! Connected 2015 Melbourne

Productive Device Programming – IoT Device Programming Models and Runtimes


IoT devices vary from extremely limited 8/16/32 processors to Linux capable machines. In order to quickly develop products/applications, one needs higher level tool chain for productivity. In this talk, we describe the essential features and constraints of programming models for different device classes. Device programming typically requires substantial low-level coding which often needs to be substantially rewritten for different processor configurations. Productivity and portability are often achieved by using discipline programming techniques and high level language abstractions. We then discuss our experience with table driven interpreters, procedural, object and vector virtual machines and associated tooling.