From Brick To Brain: How Modular Robotic Brains Are Taking Off


Intelligent Brick: The EV3 from Lego Mindstorms, a modular robotic “brain”

Computers were always supposed to be brains – however they have spent the majority of their lifetimes clogging up our server rooms, sitting on our desktops running screensavers and eventually moving into our pockets where they were too often used for the playing of games like Flappy Bird.

To be a brain means to be able to think and reason, to be able to sense and possess awareness, to learn from experience and ultimately possess consciousness – not just any calculator deserves this distinction – which is probably why Lego Mindstorms (a popular robotics kit) took a hard look at the capabilities of their computing unit and settled on the name “Intelligent Brick.”

We ain’t there yet.

However, with key advancements in heterogeneous computing (the stuffing of different complimentary CPUs and GPUs into a single space), size and power shrinkages urged by the needs of mobile computing, the addition of perceptive cameras capable of “Seeing” in 3D, we are now beginning to see steps towards much more capable general-purpose modular robotic brains.

These hardware advancements are being joined by key developments in software tools and operating systems such as ROS (Robot Operating Systems) and Dronecode, not to mention the cloud (as Amazon demonstrated last year with their Simple Drone Service).

In the next couple of years, we may very well see the introduction of what will one day be remembered as the “Ford Model-T” of robotic brains. 

Exhibit A: The DJI Manifold

Who you thinkin’ at?

Meet our first contender for the title of true robotic brain: It’s called “Manifold” by DJI. It looks like a box, its square like a box, it isn’t a box – it is actually a thinking unit for drones loaded with NVIDIA Tegra K1, 192 GPU CUDA cores and a Quad-core ARM Cortex-A15 processor.

You need all of that graphical processing horsepower to do a whole lot of computer vision, obstacle recognition and avoidance (As Intel demonstrated earlier in the year at CES with the RealSense-based Yuneec Typhoon H). Drone compute units like this are going to be very helpful over the next few years as more and more drones are deployed for commercial applications.

Exhibit B: The Erle-Brain 2

Don’t call it a brick, you might hurt it’s feelings

Next up we have the Erle Robotics Erle-Brain 2 – it comes loaded with Ubuntu and ROS (Robot Operating System) and even has a perceptive camera built directly into the top of the device.  You can snap the Erle-Brain 2 into a variety of different kits and contains sensors including a gyroscope, accelerometer, temperature, pressure and digital compass.


General purpose robotics units such as this will have a vast array of applications and are going to be fun to watch, my expectations are high about the direction these are heading in. 


Seeking Inflection Points: My new role at Intel


Starting tomorrow I will be taking on the position of “Inventor Platform Manager, Strategic Partners” at Intel’s New Technology Group (focusing on Makers and Innovators). In this role, I will be working with a broad ecosystem of cloud partners (Amazon, Microsoft, IBM, Google etc), developers, makers and hardware accelerators to increase the usability and adoption of Intel’s maker products such as Intel Edison, Intel Curie, the Arduino 101 (and future devices).

Looking forward to meeting the next generation of makers, couldn’t be more excited to be in this role within Intel at this time.

Amazon re:Invent 2015: IoT and Mobile Bootcamp

I have been working with the folks at Amazon on a series of workshops and bootcamps over the last six months, was invited to Amazon re:Invent 2015 to represent Intel at the day 1 and 2 bootcamps focusing on IoT and Intel Edison. 75 developers, bluetooth, WiFi, Amazon DynamoDB, Amazon Kinesis, Amazon SQS and Cognito.

What the Hack! Hardware hackathon discussion with Jeremy Foster

Thanks so much to Jeremy Foster from Microsoft for spending an hour with Intel to discuss the topic of hardware hackathons. We had a great exchange of ideas about the future of Internet of Things and the importance of DX for hardware and software developers!

Is React Native Cross-Platform Snake-Oil?

Cross platform native UI, you say?

I watched the video on React Native which hit the front page of Hacker News the other day and remain pretty skeptical about the promises being made.

Having built both native iOS and Android experiences (as well as cross-platform applications in Cordova / Phone Gap and Flex 4), I am not sold that the key problems preventing developers from producing a truly unified codebase are likely to ever be solved completely in a “Learn Once, Deploy Anywhere” manner…There will nearly always be some level of customization required, Developers and designers will nearly always need to have direct knowledge of each platform target.

The obsession with attempting to streamline native mobile development is well-placed…I fully understand the pain involved in trying to manage Android and iOS development simultaneously…However, it is unlikely that React Native is going to be a “magic bullet.”
[Read more…]

Programming Interview Mental Gym

This is the second part of my old study guide for programming interviews.

Programming interviews have two components. There is a “memorization of trivia from your first semester of Computer Science which you forgot about 4 years ago” component and then there is a mental exercise (white boarding) component which is basically about how efficiently your brain can solve problems with someone breathing down your neck judging your every move and clicking their pen the whole time.

The mental exercise preparation component involves sitting down 30 minutes a day with a pad of paper and writing out solutions to problems without the help of a compiler. You can basically watch tv and do it, it isn’t too bad. I have found, historically, I can go from incompetent to passable at the white boarding thing by spending about 3-5 days working through a few of these problems on a daily basis. For the record I am not all that talented at this but this practice works for me. Too hard? Do an easier one. Trust your brain to get “in shape” when you do these…it happens when you sleep, the next day you will be 20% smarter each time.

These interviews are about efficiency. The more you practice + sleep, the more efficient your brain gets. If you are going through an all day interview, if you are not efficient you will get tired and make mistakes towards the end.

[Read more…]

Programming Interview Study Guide (iOS, Android, Design Patterns, Algorithms)

This is the study guide I built myself over the course of interviewing for iOS and Android development roles over the years. Being a software developer, I figured “If I have to do this more than once, why not just write the guide once and never bother having to track this junk down ever again?” So I did. If you are actively interviewing, I recommend you create your own guide like this (using your own metaphors and wordings)…it will save you a lot of time over the years. Make sure to have sections on common trivia + sections on your domain + common whiteboard problems to practice.

A huge amount of disparate information about software development interviews is spread across multiple books and websites and that it’s purest form is a simple bulleted list which compresses all the most important information into 1/100th of the space. This is my attempt at arriving at that. When I was in full “interview mode,”  I had 100% of this in my head. Getting to that state takes weeks of preparation.

Studying is the act of compressing disparate information to make it more efficient to consume.

I especially like the code samples for tree traversals which I got from a YouTube video linked at the top. These are the most understandable algorithms and pretty easy to remember. A simple rearrangement of the internal methods switch from per-order to pre-order to post-order.

The most important thing you will ever do is to reword these (and other difficult) concepts in your own language using your own metaphors in your own voice. These are written in mine! No other technique has helped me memorize these concepts quite as effectively.
[Read more…]