About Me

addison-humanoid-ces-2020

Who Am I?

I am a roboticist with over 15 years of experience across a range of industries.

Current Work

I work at the intersection of robotics, machine learning, and computer vision. My focus is on developing robotic systems to solve real-world problems.

Previous Work

During the first 10 years of my career, I was on the business side of technology turning ideas into successful and profitable products that connect with new markets and consumers. In my roles, I drew on my diverse set of skills and experiences to help companies navigate the complex demands required to build market-leading products.

I was a senior executive at 21212 LLC, the first technology startup accelerator in Brazil. Before that I worked at SEACOM, a $700 million, 17,000 km submarine fiber optic cable that provided high speed data and broadband internet services in 23 African countries. I’ve also worked at Siemens, one of the largest electronics and electrical engineering companies in the world.

I have founded several successful technology startups and have worked at Goldman Sachs, Swiss Re, Emory University, Penn State University, the University of Oklahoma, and the U.S. House of Representatives.

Education

  • Master of Science (M.S.) in Computer Science from Johns Hopkins University (expected 2020)
  • Master of Science (M.S.) in Meteorology from Penn State University
  • Bachelor of Arts (B.A.) in Physics and Environmental Science (double major) from the University of Virginia

At Johns Hopkins University, I studied robotics, machine learning, and computer vision.

For my master’s thesis at Penn State, I used linear regression and neural networks to predict hurricane damage from measurable storm parameters.

For my full background, check out my LinkedIn profile.

Motivation

There are many problems in the world in which robotics will play a significant role in making it easier, faster, and safer for people to get things done. I love this field because of the opportunities to build the products that will push the world forward and help us achieve what is currently not yet possible…the technologies that will make the world a better place for this generation and future generations to come.

Mission

Automatic Addison is about building the future. My mission is dedicated to improving the lives of others by teaching, researching, and developing technologies to remove steps from common human activities; especially activities that are dirty, dull, dangerous, or delicate.

Subscribe to my YouTube channel so that you can follow my journey.

Teaching Philosophy

Learn by Doing

Most books and courses take a bottom-up approach to teaching a particular subject.

For example, let’s say you want to learn robotics so that you can make a living build real-world robots. Most robotics courses and books teach each core robotics topic in isolation without constantly connecting each of those topics to a real-world robot. 

You might first learn about kinematics…then you learn about dynamics…then you learn about control…then perception, and so on…all in isolation….until you are bored stiff and can’t take it anymore!

There might be a toy project thrown in at the end of each topic to make you feel like you understand and can apply the concepts, but such a project will often not even remotely resemble what you would encounter in the real world…say at a job where you have to earn a living building robots.

how-robotics-should-be-taught-large-light

Mathematics, economics, physics, etc….all these subjects are taught this way. You never learn how to apply what you’ve learned in the real world until much later (if at all).

The problem with this bottom-up approach is that you lack any useful context about how the individual components work with each other. You’re unable to apply the learned concepts in any kind of meaningful way in the real world.

In many cases when building a robot, just a few concepts are necessary to get the job done. Learning a multitude of individual robotics topics in a bottom-up way, before getting your hands dirty on a real robot, would be overkill and a waste of time.

Think about how you learned how to drive. You learned how to drive by driving, not by learning about the theory of combustion engines or the mathematics of the forces that govern the motion of an automobile.

You learned how to speak your native language by speaking, not by studying the intricacies of nouns, pronouns, and verbs.

You learned how to code by building programs that solved real-world problems, not by studying about computational complexity or doing mathematical proofs.

You learned to swim by swimming, not by taking a course on human anatomy or fluid dynamics. 

To get good at building robots, you must build robots.

To get good at machine learning and data science, you must do machine learning and data science.

To get good at computer vision, you must do computer vision.

…not just read books and study theory.

Pick up the theory and complex math gradually along your journey. In this way, you’ll have the context to understand the theoretical underpinnings of all the stuff you have built. Everything that seems super abstract now will be a heck of a lot clearer when you have a real-world project in front of you that you actually care about. 

Not only is this top-down way of learning more effective and faster, but it is a lot more fun than trying to progressively master subtopics in total isolation, the way you would in a typical textbook or course.

My teaching philosophy is therefore top-down. I “teach to the problem not to the tools” (Credit: Elon Musk).

Teaching to the problem focuses on enhancing your problem-solving skills by:

  • Putting each learning objective in the context of a real-world, highly motivating and engaging problem that needs to be solved.
  • Hands-on learning of career-relevant skills by solving real-world problems and working on authentic, real-world projects that matter.
  • Learning about a subject through active exploration of real-world challenges and problems rather than through rote memorization and lectures that require you to cram facts into your brain without real-world context.
  • Integrating knowing and doing. 
  • Focusing on skills listed in actual job postings on Indeed.com and LinkedIn.

Start with the problem (i.e. customer experience) and work backwards to the technology.” – Steve Jobs

Examples

Look at this excerpt from the table of contents from a popular machine learning textbook:

neural-network-textbook

You can see that most courses and textbooks on machine learning look like the above image. You learn a bunch of tools and techniques without any real-world context.

Instead of learning a bunch of machine learning algorithms and techniques you’ll quickly forget, how about having you learn machine learning in the context of a real-world problem?

Which would motivate you to learn more…the above image…or this:

  • Predict Someone’s Ethnicity Using K-means Clustering
  • Detect Fraud Using Auto Encoders
  • Diagnose Coronary Artery Disease Using Deep Learning Techniques
  • Screen for Autism Using Support Vector Machines
  • Determine If Someone Has Breast Cancer Using Naive Bayes
  • Create a Traffic Sign Recognizer Using Neural Networks
  • Classify Clothing Images Using Capsule Networks
  • Detect Diabetes Onset Using K-Nearest Neighbors
  • Recognize Human Activity Using Recurrent Neural Networks
  • Classify Images Using Convolutional Neural Networks
  • Simulate a Self-Driving Car Using Reinforcement Learning
  • Convert Speech into Text Using Neural Networks
  • Generate Book Scripts Using Long Short-Term Memory Networks
  • Predict Stock Prices Using Gaussian Process Regression
  • Play Pacman Using Deep Reinforcement Learning
  • Train a Self-Driving Car Using Neural Networks

It’s for this reason why I always try to connect each concept I teach to some real-world problem. You’ll retain the information way better, and you’ll have a lot more fun along the way.

Methodology for Explaining a New Concept

When possible, I like to use the following five-step process for explaining a new concept:

  1. Analogies: Connect the current knowledge to previous knowledge.
  2. Pictures and Diagrams: Draw a picture to help visualize the concept.
  3. Real-world Examples: Why does this concept matter? Think of real-world examples of this concept in practice, solving an actual problem.
  4. Layman’s Terms: Convert the complex technical jargon into basic plain language. Try to explain a concept to a five-year-old child.
  5. Technical Details: Dive into the technical details and theory on an as-needed basis.

Quotations

“Start with the customer experience [i.e. the problem] and work backwards to the technology. You can’t start with the technology and try to figure out where you’re gonna try to sell it….What incredible benefits can we give to the customer?” – Steve Jobs

“Slow is smooth, smooth is fast.” – Navy Seals

The first reply on this post at StackExchange provides excellent advice about how to learn difficult subjects.