Voxxed Days Banff 2019
from Friday 20 September to Saturday 21 September 2019.
Mike Duigou works on Java-based ocean-going robots at Liquid Robotics. He was previously a developer on the Java Core Libraries team at Oracle and contributed to the core collections and Java 8 lambda libraries. Mike has also enjoyed working on autonomous cars, dancing robots, industrial real-time applications and peer-to-peer networking.
Imagine you created your own programming language. Would it be the perfect embodiment of how you wanted to program? Would other people use that language in the way that you intended? I have had the good fortune to work on several large Java projects begun by James Gosling, the creator of both the Java programming language and the JVM. This session will be my observations from reading James' Java code and examine how he uses Java in his own programs including some atypical Java idioms I first encountered there. I will also offer perspective on code and platform evolution based upon the code of someone programming in Java longer than anyone else.
For high-availability services, rebooting or starting a new instance is not a viable failure-handling strategy. This session covers experiences and approaches used for developing and deploying resilient, fault-tolerant code. It looks at exception handling, threads and pools, locking, timeouts, deadlocks, recovery, memory, logging, saturation/runaways, resource hogs, manual repair of running systems, and—yes—when a reboot is your best option. The presenter works on the on-vehicle software for the Liquid Robotics Wave Glider, an autonomous marine data collection platform that often spends months at a time at sea.