Intro to Robotics: Anki Vector SDK

One major plus about owning a Vector robot, despite the Anki shutdown, is utilizing the SDK that was released. With the SDK for Vector, you can take full control of your robot.

Something to keep in mind when doing this and sharing your experience is to ensure your own robot name and information (serial info, etc) is kept private, or else others can login. Luckily, there are a lot of credentials needed to log into the SDK with your Vector, so breaches should be rare.

I decided to start with the “remote control” application (found in the apps directory of the SDK files). This app lets you take control of your Vector without needing to write your own code.

For me, I was eager to utilize the ability to make Vector say any written text. Throughout the day I had reached some walls with getting the remote control app to work. Finally, I took a break to reset. At first, I thought that there was a PIP installation issue because of the error message I was receiving. Finally, I asked my husband over to help. As I was going deeper into the directories through the terminal (from memory!) my husband was impressed with what I managed to learn, which made me feel good about myself despite the setbacks. Then, ironically, while trying to explain to my husband the error message, I had detected the issue and fixed it!

What had happened was that I added a line of code for a PIP enum34 installation earlier, but I thought I deleted that version. Turns out the file was saved with my (incorrect) line of code. Once I removed that line of code (with my husband confused as to what I was doing) I retried the steps and voila! It worked!

My husband (who is a level 3 software support engineer) laughed at me because he said he saw this happen often at work–how the solution is usually simple and overlooked.

Funny enough, I didn’t start off today with the specific goal of accomplishing the SDK setup. I had a much smaller goal in mind, which was “do as much as you can, even if it doesn’t work.” My major downfall tends to be overly-focusing on the destination / end result, and sometimes missing out on the journey. Today I tried to go against that and truly just enjoy each step, regardless of the outcome. It started with watching a YouTube video on the SDK setup and remote control app as my toddler was falling asleep in my lap with her bottle of milk. I’ve been having my own health issues lately, so I was trying hard not to overly stress myself as I navigated through the day.

Today was a great reminder that it doesn’t just matter what you accomplish, but how you get there. I much preferred today’s more relaxed attitude and pleasant surprise over my past overly-stressed and result-focused approach. Sometimes focusing so much on the result can make you overlook important details needed to get there. By allowing myself to take as much time as I needed to set this up and troubleshoot the errors, the quicker I ended up being at identifying the problem. Oh, the irony of life! Got to love it!

Raspberry Pi Project Progress – LCD Screen Pt 1

Live Project Update!

I just had to say that I’m in the process of hooking up this LCD screen to my Raspberry Pi and it’s very exciting! This is my third beginner project dealing with circuitry of any type, so all of this is very new.

I would have never guessed that identifying the proper pins and finding the right wires and inputs would create such a satisfying feeling. Like most new things, you become incredibly focused on the task since you’re tuning new skills. I believe that this aspect of intensely “zoning in” to the project by counting the pins and looking at the diagrams is what creates a uniquely relaxing mental relief for my over-stimulated creative mind. To say it plainly, I love to follow and create instructions so learning all of this is essentially learning how to create, follow, and test multiple sets of instructions (algorithms!), so this subject as a whole is a very kismet match for me. Then, the circuitry and physicality of the Raspberry Pi reminds me of the feeling of switching between writing on the computer versus a pen and paper, or painting digitally versus with real paints, water and a canvas; working with the Raspberry Pi helps make programming feel more physically tactile helps motivate me and keep me interested to learn more.

Earlier today I was learning on Team Treehouse (which was awesome!) and then I ended up taking a break. I think that I will continue alternating between learning through the classroom courses, books, with breaks of Raspberry Pi projects in between to help split up the rhythm and keep myself motivated.

Well, this was a nice break. Time to get back to my LCD screen!

Introduction To Computers – “Code” by Charles Petzold

BACKSTORY & WHY THIS BOOK IS SPECIAL

The book Code is wonderfully unique, and for that, Charles Petzold will forever be one of my heroes. Thank you, sir Charles (if you ever happen to read this) for thinking the way you do and for having been determined enough to write this book.

For those of you who are already entrenched in the industry and know this book, you may think I’m crazy for having started with this choice as an introduction to the technological realm. But, I must say, Charles Petzold’s book Code is my favorite not just for helping me with this learning journey, but because of the writing style and unique approach taken.

As mentioned in his preface to the paperback edition (which must be read, by the way) Petzold’s book takes a completely different approach than others because his main goal is to teach his reader how computers work from a granular perspective.

If you’ve read my very first “origin” post, then it should be noted that I picked up this book after I had already briefly dipped my toes into the programming world. I had known about Python, and a general understanding of computers, but nothing too in-depth. I had walked into the new Amazon Book store near the Empire State Building in Midtown, New York City, where I saw, sitting pretty on a tan shelf, the white and simple cover of Code. What drew me to the book (admittedly) was the cover because I recognized the braille and binary used underneath the title lettering. Immediately, I could tell that this book was special because it was making the connection between language and code, and connections like that are exactly what excite me.

As I continued to read Code, I felt like a bit of an imposter who was pretending to understand everything they were reading. Petzold includes many diagrams and visuals to accompany his examples. His examples tend to build upon each other, with many pointing to parallelism, so that way you develop an “all-encompassing” concept of code, as a whole. Most of it made sense, especially because of the wonderful way that Petzold is able to introduce his subject, zoom in, and then zoom back out at the end of the chapter to help draw together all of the concepts. Since I was a complete novice, as I continued to view the various charts and diagrams, some of the terms and ideas were beginning to feel unreal. Was I really grasping these concepts? Did these diagrams and new words really make sense to me or was I just lying to myself? Regardless, I continued to read. I made it a point to continue to read the book, even if I thought the concepts weren’t clicking for me yet.

Finally, I had completed my first read-through of the book. As time passed, I hoped that the concepts Petzold explained and how he explained them would stick in my mind, and I eagerly waited for the day when I would have proof that they did.

HOW THIS BOOK HELPED ME UNDERSTAND FUNDAMENTAL CONCEPTS

I was gifted my first Raspberry Pi from a good friend. As I opened up the beginner’s kit and looked at all of the components, I was overcome with an odd sensation of confusion and understanding. Although I had never seen these parts before in person, I had an idea of their uses and functions. It was in these moments of assembling the Raspberry Pi when I realized that Petzold’s words and diagrams had clicked, because as I connected each piece I could recall familiar sections from the book.

Simply put, reading Petzold’s way of explaining this subject has not only helped me with my approach to computers and programming, but it has helped me intrinsically understand how basic things work, from my automated Glade Air Freshener dispenser, to the phenomenon as to why my light switches invert themselves sometimes.

I had a good feeling when I chose Code as my very first introduction to this subject, and I’m so excited to re-read it again in the future. Already through my Python studying, I find myself recalling sections from Code with a smile on my face. I’m very grateful to have begun my journey with such a wonderfully insightful perspective on this subject, and I’m sure Code will be a book that I continuously revisit and recommend. However, the largest take-away from reading Code for me was witnessing how wonderfully an expert can perceive, understand, and explain a subject by drawing connections to so many different real-life and historical examples. This book is a wonderful look inside the mind of a true technical virtuoso.