About Bob
A lifetime learner, maker, and teacher. I'm entering another chapter of my life into the world of Web Development, Software, and Design. With a background in woodworking, service and education, I aim to create where creation is done.
I grew up in an area too rural to foster coding, but through a winding path as wood-craftsman and a tinkerer I discovered an industry I had an aptitude and a childlike excitement for. After a couple years with a TeamTreehouse account, a Community College course in programming, an amazing online coder community, all-nighter obsessions, and an extremely supportive web-developer girlfriend, I’ve compiled a variety of projects from the front-end and back-end to the woodshop. Now, I’m ready to see what we can accomplish together.
I’m JavaScript centered and gaining skills with HTML5 and CSS3, pulling my long-time experience with Adobe Photoshop and Illustrator into the fold. In the back-end, and on the software side I'm experienced in Python, node.js and C++. I wrote a python program to interoperate Vector paths from G-code into a string to be executed by an Arduino Uno with code I wrote in C++ for 3D milling or printing paths.
Thanks for stopping by! Check out my projects and send me a note. I love to get feedback.
Contact Info
I’m currently living in Oakland, Ca and anyone with any questions or comments regarding my portfolio or any of the projects on display, please feel free to contact me via email, which is the best way to get ahold of me.
As of writing this, I am currently considering full-time employment or contract work based on the skills on display within this site. If you have a project or job opportunity you’d like to talk to me about, feel free to email me about that as well. Also, visit my linkedin.
8-by-8 Pixel-Art Creator
• Also, Live Pixel-Chat with DIY Global Display Frame. •
My first full-stack project is underway and a testable prototype is up and running. If it wasn’t obvious with a few other projects I’ve created and worked on - I like grids and pixels. I’m a horrible free-hand artist so when it’s simplified and as mathematic as possible, it makes it hard for other artists to know I’m a sham!
So here, on this site we have an 8-by-8 grid constrained to 16 colors, one being transparent. This project currently stands alone for a user to create pixel art and save it to the public gallery.
Also, as an experiment with PubNub’s global data-stream network, I decided to stretch their service’s legs and create a global pixel-chat function that allows anyone around to world to simultaneously create pixel-art on the same grid. Hypothetically there could be more artists than pixels!
The video on the slideshow above demonstrates how two star-crossed lovers could work on a pixel heart together - at the same time – from opposite sides of the planet – in a pre-framed portrait.
I plan to add several functions to the site, but as of now, the sites is still a 100% front-end application with all shared data stored and retrieved as JSON files from PubNub. A Node.js backend is on its way and will bring with it additional capabilities such as user log in, editing, deleting and sharing of pixel art. Also, a SUPER Ayte-by8 - also called and Ayte-by8-by8-by8, or 64-by-64 editor is on its way!
In addition, I have built an 8-by-8 pixel display frame with the CNC router (see: CNC microcontrollers for project info) as well as implementation the new MKR1000, Arduino’s new IoT WiFi capable microcontroller.
WARNING: your art will be framed and displayed in my living room upon sharing to the public gallery or editing the live pixel-chat. The framed pixel display is programmed in C++ and continuously check for new updates to the website. If a new Ayte-by8 is shared the image will display on the frame! So, what are you waiting for! Let me see your art.
If you don’t believe me or want to see what you art looked like in my living room, send me an email and I’ll put it back up and take a picture and send it to you!
riiple
• A Game Inspired By a Classroom Math Exercize •
Riiple is a joint venture project and game inspired by a card game my brother and I were both taught in our rural elementary school. This project is still in development and updates are soon to come.
• Beach Sudoku •
A from-scratch coded simple Sudoku game with 100 easy, medium, hard and extra-hard puzzles. The puzzles were generated by a python code I wrote to find possible puzzles that wouldn't break the rules of the game.
• My Portfolio Project •
Perhaps the longest, largest, and most challenging project of my portfolio has been the actual portfolio itself. It’s ongoing and it’s been a tornado of lessons, struggles, re-focuses, accomplishments and lost-in-CSS-land fun.
• A Purple Rain Pixel-Art Annimation •
A little program I wrote as a Prince tribute. Browser art like this can be a lot of fun and JavaScript really allows for this kind of expression. Sorry, mobile users, it’s pretty heavy on a phone and freezes up. Don’t forget to drag your mouse over the pixels after following the link to the actual page.
I used divs for the pixel cells, and I think that many divs may be what’s causing it to slow down, Writing in as an SVG format may help speed things up.
• Homemade CNC Router •
Building a CNC router unknowingly allowed me to become seduced into the world of programming. I started this project as a woodworker; I had no idea what programming was. But, it has already changed the trajectory of my life.
• Python Built Gcode Editor and Interpreter •
When you boil it all down, a CNC router, like a 3d printer, is just a point in space moved around by Stepper motors in small increments: forward, back, left, right, up and down. A Router cuts the material as it moves, or a 3d printer places material at that location. But for that motion to make beautiful sculptures or carvings, a path must be created. Like the small steps needed to create the object, there are several small steps along the way to create the path itself.
• Arduino Uno XYZ Stepper Motor Driver •
• Writtin in C++ programing language for the ATmega328P chip. •
The jump from code to Machine really happens when the signal is sent to move one of the motors. It can be a sensitive transition and this his jump also happens to be where I discovered the value of coding and the Arduino Uno.
• LCD Display for CNC files, Status and Control •
Being able to start doing some actual projects with my CNC router made me realized I didn’t want my computer tethered to a loud machine for hours on end. So I broke down the basic control and display components and created a program that would allow the machine to run without the computer.
• Photoshopped Images to Stincels •
After purchasing a lathe and creating a few wooden mugs, I really liked the idea of painting images on the mug. Except, I’m not very good at painting on a curved surface - and, I’m not very good at painting on a flat surface either. So, that’s why I like stencils!
• A Backyard Shed, Designed with Google Sketchup •
After living in a cramped apartment in San Francisco for nearly 2 years, I moved out to Oakland where I found a small house with a backyard! The only thing missing was shed to store my tools.
• Wooden Gravity Clock (in progress) •
Cogs fascinate me. When I first started thinking about building a CNC machine, I started thinking about making cogs. No idea what they’d do, just that they’d be. So After I accomplished my goal of cutting out some basic wooden cogs I decided I needed to put them to use.
• Backyard Built Woodshop/Shed •
I had a truck, I had the necessary power tools, and I had a yard. But, I didn’t have a place to keep it all. I’ve worked with wood my whole life but only on small projects. This project would be a challenge, a lesson, a triumph, and a failure.
• Sorry, No Squirrels Allowed •
A backyard without cats or dogs is a squirrel’s back yard, not human’s. At least, that’s what I’ve learned from my backyard. They chatter, they jump around and mostly they just entertain; however, they seem to think soft soil in a planter box is a free access mineshaft!
• Redwood Lathed Cups •
Lathes are great, and a really fun tool to work with. Starting out with a ragged ‘ol 4”x4” piece of lumber and slowly round off the edges into a cylinder is actually quite a soothing and relaxing process.