Jan 1st 2017 by techninja42 • 48 Questions • 1850 Points
Yes, it's possibly the most boring AMA in existence, ask a programmer all you ever wanted to know about printing pancakes, or other stuff! :D
It is done! Thank you and happy new year all! I suppose I've answered pretty much every single question over the course of the last 6 hours. I live here so I won't really stop answering questions, but I will go ahead and get some sleep. There's some gems hidden in some of these Q & A's so read up, and thanks for having me. Zoidberg says (/) (°,,°) (/) Contribute to Open Source Software!
My short bio: I'm 33, been programming for 20 something years, son to creator of the almost world famous Underground Comix Company RipOff Press. Got into web development heavily around 2003, fell into programming for robots when my eldest child built a watercolor painting robot and needed software for it. We then took it around the world, even showed it to Obama. Got noticed by an awesome maker who said he wanted me to make the PancakeBot software, and I said sure! So I made PancakePainter open source using open web technologies. Fun stuff.
Oh, and I posted that Adam Savage metaphoto post back in may. Good times XD
Also check out ninjanode, a fun crappy game I made in a week a few years ago.
How do you feel knowing that you are the only AMA I've ever caught on time?
Well.. I am just a boring guy without needing to do anything else tonight. Likely would have been on Reddit or programming crap anyways. I always miss em too! Glad I made it for this one!
You should take a look at /r/lolphp/
They have a really strong opinion about PHP
I'm sure they do, and rightfully so at times. WAY too easy to make a security vulnerable application.. of course it still runs things like Facebook.
If you like lisp but also like practicality, ever tried Clojure or ClojureScript?
I have not! Though it's discussed all the time on HackerNews. If I had any free time these days I'd probably spend a weekend getting into it.
Do you have a strong internal struggle seeing that your code allows for the creation of fancy pancakes, but you're really a Belgian waffle guy at heart?
It's true. Damn pancakes taking over the world and I sit here letting them just take over. Don't you worry pancakes, you'll get your just desserts.
What was it like meeting Obama and Adam? Also, I can't help but think of the Butter-bot from Rick and Morty when I look at this PancakeBot, awesome work!
Thank you. The PancakeBot is awesome hard work done by Miguel Valenzuela and his family. I'm sure when he gets up tomorrow he'll join in here and answer any more hardware specific questions, though this all started as a lego maker project and went through the whole Kickstarter thing. Really great to see products that seem so useless actually have something of a user base enough to make them a reality.
Obama: Nice guy, firm handshake. Can't wait to buy a plain white shirt from him in Hawaii.
Adam Savage: Nicest maker guy in the world, a pure nerd and model maker at the very core, talented enough that if we never heard from him again he's sure to build himself an empire of awesome crap without us.
Will there be restrictions on penis shaped pancakes?
Certainly not in in the privacy of your own 4 star restaurant! Though I caution against feeding pancake phallus' to unwilling participants.
Are there any design patterns you use to implement the software? I know nothing about 3d printing, but find it's very intriguing.
I really wish I had a better idea about design patterns. I think when workign with a team having clean code and a really solid method for creating brand new software are incredibly important. Usually I work with frameworks like Drupal or React for big projects. For PancakePainter and RoboPaint, they were built quickly and completely on my own to get the job done, so they shifted and changed and grew from crazy ideas I had as I learned the language more and more. Programming is like painting in that to represent an idea there's a million different ways to do it. I think it's incredibly important that people can learn from (and build off of your work), so I strive for readability and cleanliness, usually above frameworks, new code styles or even "good" structure. I'll be first to admit I've got a lot to learn still, but I know enough to get the job done, and get myself in trouble.
I implore anyone to leave a comment in code on github if you have a question, or submit a pull request just to learn how it works. It's about the community and learning and inclusion first and foremost.
Great work! As look would have it, someone gave me a pancake printer a few weeks back, but I took a peek at the gcode and immediately gave up. Any plans to support vector imports, specifically Adobe illustrator, or maybe even svgs?
Yep, that's in the works. There's a PR for it somewhere, but I haven't gotten around to it yet. The SVG standard just has too much in it to go wrong if not properly handled without cleanup.
Would you rather have 99 spaces or 1 tab that is 99 spaces wide?
All my tabs are 99 spaces wide ( ͡° ͜ʖ ͡°)
How do I vectorize a rasterized image? Also can I build this for half the cost with an Arduino?
Ah yes! Vectorization of raster images is what I'm working on for a release date a few weeks out from now. In short: It's tricky.
The PancakeBot draws lines of ~2mm thick of batter, but this can cook out to anywhere from 3-5mm. This means the small fills generated by most vectorization software end up being unfillable in any reliable sense with current algorithms. Not to mention lines end up as fills as well. The lines/fills algorithm available in Adobe Illustrator with a specified stroke thickness works pretty well in converting most cartoon images into something reasonably close to what could be drawn. Unfortunately I have yet to prioritize the SVG import functionality in a way I can be happy with.
The plan so far is to use mixed centerline and self-destructing inset/offset fills to overlay a fill and line to make something that can reliably print high contrast input raster art. This is a darn tricky problem especially considering how fills need to work with outlines to ensure the pancake cooks properly.
Arduino: Yes! You could totally make this. No, I kind of doubt it would be cheaper. The PancakeBot has tooled forms for strong ABS plastic structure and a decent hardware design to make it all come together. Parts ordered individually (arduino, stepper controller, steppers, vacuum pump, etc) might end up costing the same or maybe $100 less, but then you need some kind of structure. I suspect somewhere on the internet Miguel has plans for the original one made of lego, but even then it's not quite the same. Would be a great and fun project to do though!
Not yet! Though I hear Miguel is working on the icing attachment.. or something along those lines. I think it'd be nicer to use it for icing already made round cookies that a pancake that's already trying to express itself artistically.
Wafflebot controls all!
As someone who wants to get into a programming profession what is a tip you have outside of networking?
Never stop working on something that challenges you. Share your work and take criticism. Knowing you're never as good as you could be is a perfect first step to working towards becoming more. Sounds stupid, but it's something you can totally apply to your side work all the time :)
Any chance you could add smartphone compatibility or ability to print pancakes on demand from my Amazon echo (Alexa) or google home? I want to have pancakes created by voice command!
Totally doable! Submit an issue request on the github page and it'll get considered (for real!)