actorartathleteauthorbizcrimecrosspostcustomerservicedirectoredufoodgaminghealthjournalistmedicalmilmodpostmunimusicnewsworthynonprofitotherphilpolretailscispecialisedspecializedtechtourismtravelunique

Technology-LiveIamA Open Source Developer for the PancakeBot AMA!

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

My Proof: Twitter Post - Keybase Proof that I own both twitter and Reddit accounts.

Also check out ninjanode, a fun crappy game I made in a week a few years ago.

Q:

How do you feel knowing that you are the only AMA I've ever caught on time?

A:

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!


Q:

Serious question time, what is the one piece of "sci-fi tech" you'd love to see come to life in your life time and why?

A:

Um. Hmm. Holodeck probably. We're damn close to reasonably usable walking VR without wires. I think everyone would be fit after playing through Half Life 3 VR running around and ducking with a weighted backpack. ALSO being on other planets and impossible places and situations... it could enhance everything about education hands on... blah blah, we all know it'd be awesome.


Q:

Or the holodeck from Jason X? Right?

A:

Nothing like virtual premarital fornication and slaughter to further the human race! Really though art is going to become vastly more important as we phase out jobs to robots that I program. Of course the two bots I use on a regular basis make art so.. I suppose we're just plain screwed? 😆


Q:

Is there an open source /non profit project working on this type of tech for use by the handicapped? My sister is blind and I've been thinking about how cool it would be if she could use self driving car technology to help her walk / exercise around the city. If someone designed (headsets?) it would also be cool to have a waterproof option so she could go swimming by herself.

A:

Fav Programming language:

  • I love lisp for the purity (not for practicality or libraries)
  • I love JavaScript for the good parts™, for the community, and the practical ubiquity and ease of entry (not for the type friction or boolean matching).
  • I love PHP for its ubiquity, backend freedom, the built in native function for every goddamn thing you can imagine and at least half you can't. Hate it for the same reasons too.

It's important to not stick yourself in any one thing for too long. Get out of your comfort zone and build something, even if only once, you'll have a better more universal look at every project you do afterwards.


Q:

This is interesting coming from a programmer with such accolades. I say this because people consider php as a language for noobs.

A:

Accolades? HA! I'm just a run of the mill contractor. I have no awards or speaking engagements. Just show up and do the thing. The reason these languages are newb languages is because the barrier for entry is so small. This means LOTS of people know enough to do something, so it gets popular. They're just tools. Sometimes weird or hard tools to use, doesn't mean they're bad for that sake. Great things are happening in PHP7 to correct many of the faults, just as with JavaScript. These are living languages that everyone should have a hand in learning and not be afraid to just get out there and build something. Use a boring stack and build something is better than the latest and greatest. The idea is what matters, not exactly how it's implemented.


Q:

What do you think is the most efficient way for the average tech illiterate American (native English speaker with <=15Mb Internet connection) to learn all the things that make a competent programmer?

What programming language /methodology would be best to start with? For these Americans that don't have a reason (yet) to learn?

A:

I learned everythign I know about programming from the internet. Never had a formal college education and it's totally doable. The important thing to do is to just start with something. Try to code something from some elses work, change little things, tweak it till it works. Find someone crazy enough to hire you to do a little of this and the sky's the limit.


Q:

You should take a look at /r/lolphp/
They have a really strong opinion about PHP

A:

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.


Q:

Yeah, but Facebook is a massive giant pile of spaghetti at this point and isn't the ideal example for how PHP is actually a good language They even use a custom engine
But PHP is still a amazing language when you need to do something fast and without hassle
And I'm sorry if I'm intelligible I'm drunk and english isn't my first language
You're a amazing person and a incredible inspiration even if your favorite programming language is kinda garbage <3

A:

Ha! That's fine. They're all just tools to build stuff. Once you get old enough to see that Mac/PC/Linux are all just tools for us to do stuff, you stop caring so much about who has the best of anything and just make stuff go.


Q:

If you like lisp but also like practicality, ever tried Clojure or ClojureScript?

A:

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.


Q:

Well if you get some time, I recommend it! Its my favorite blend of elegance and practicality.

A:

I'll make time for it, thank you again for the personal recommendation.


Q:

Leaving us in suspense for the first question huh?

A:

I think I answered that twice now elsewhere :)


Q:

[deleted]

A:

"Oh my god... I can't even flip pancakes."


Q:

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?

A:

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.


Q:

Pancakes pls lover.

A:

Mr Techninja, first time commenter, long time listener. I hear you're the most boring AMA ever, but in reality you're actually slightly interesting considering how much you seem to pander with all those links in the description. Is it true that true == 'true' but [] !== []? Thanks in advance for the gold.


Q:

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!

A:

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.


Q:

[deleted]

A:

Pancakes are about 6-7 months away from gaining enough intelligence to take over the blogosphere... luckily they may never reach that goal as they can only manage it at room temperature, and they're usually eaten or get moldy before then. We're safe from Pancake Skynet... for now


Q:

Will there be restrictions on penis shaped pancakes?

A:

Certainly not in in the privacy of your own 4 star restaurant! Though I caution against feeding pancake phallus' to unwilling participants.


Q:

Lol, on a serious note though, would that be possible?

A:

Pancake Phallus'? Absolutely. Would be amazed to learn they haven't been done already. Human being love drawing that shape.


Q:

I know it's possible, I meant would it be possible for someone to set a restriction where some sort of ai could detect if someone wanted to make a pancake like that

A:

Actually... Yes! Using the power of neural networks trained to recognize pr0n!


Q:

How many Pepe pancakes have you printed yet?

Edit: Changed "made" to "printed"

A:

Zero. The PancakePepe is too dank for a newb such as I.


Q:

Are there any design patterns you use to implement the software? I know nothing about 3d printing, but find it's very intriguing.

A:

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.


Q:

Thanks for sharing :) Does Adam Savage keep knocking on your door every couple of years asking for a photo?

A:

Nope, gotta work hard for that! He's an incredibly busy guy. Barely made the last one. I fear that may be the last one for a while considering the negative attention. We'll see how it goes of course.


Q:

Wait I think I'm out of the loop, what negative attention?

A:

The thread for the metaphoto got locked cause the comments got bad enough to have the mods step in.


Q:

Ohhh the Reddit thread got bad. I thought you meant there was negativity around the actual meeting up every year or something. Thanks for the reply!

A:

Yea, nothing like that, though it has certainly been tough to make it all happen. You're welcome!


Q:

The first thing my boyfriend wanted to make with the pancake bot, after I told him it exists, is a penis shaped pancake.

What was the first pancake shape you wanted to make?

Please tell me it's not penis.

A:

It's not! I think it was a space ship... or possibly a skyscraper. Oh, wait.. this isn't helping. :D


Q:

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?

A:

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.


Q:

What's the coolest pancake you printed?

A:

The one that went into the freezer! (☞゚ヮ゚)☞ ☜(゚ヮ゚☜)

Likely The Adventure Time BMO I hand traced. It is unfortunately a Pancake larger than most dinner plates so.. not very handy size, but a fun pancake. It's in my twitter history somewhere....


Q:

Do you think you could win Robot Wars? (It's a UK robot fighting competition hosted by the BBC.)

A:

Oh, I know what it is! :) There have been a bunch of spin-offs of the same idea including some smaller scale stuff at Robogames here in California. No, unfortunately I lead a family of 6 and cannot fully devote my time or money to making killer robots, but I 'd love to once they all move out and I can begin to rule the world.. Muwahahahahahaha!


Q:

You sound like my kind of mad robo-scientist.

A:

I try 🤖


Q:

How many pancakes can I print before it breaks?

A:

Depends on if you pour batter directly into the vacuum pump or not ;)

On the first version that totally did happen but the company acknowledged it and replaced the units, the 2.0 version has a filter to prevent this now.

Actually the commercial product is pretty darn well built considering. The Griddle is an entirely separate part, and the various moving parts for the X/Y platform are modular and the electronics are even open source and Arduino based. Assuming you didn't forcefully rend the plastic, drop it on concrete, or hit it with a hammer, your biggest problem is simply going to be finely adjusting your batter consistency and temperature. So I hear from the creator, the biggest issue likely in longevity is probably going to be wear and tear on the stepper motors and belts from lack of acceleration control in GCODE rendering. Probably still thousands of pancakes without any real breakdown. The firmware on the bot is still a work in progress (not my work) but it's getting better all the time as well.


Q:

Would you rather have 99 spaces or 1 tab that is 99 spaces wide?

A:

All my tabs are 99 spaces wide ( ͡° ͜ʖ ͡°)


Q:

How do I vectorize a rasterized image? Also can I build this for half the cost with an Arduino?

A:

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!


Q:

Is there an option to add icing on your pancake?

A:

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.


Q:

Pancakes or waffles?

A:

A pancake is just a waffle waiting for the right griddle.


Q:

Once you add the Z axis it becomes a WaffleBot.

A:

Wafflebot controls all!


Q:

VIM or Emacs?


Q:

I'm cooking pancakes right now, what's the best time to flip it?

A:

Depends on the temperature. Bubbles are a sure sign of good sealing and browning. They'll start on the edges and come to the center. Some time between edge bubbles and center bubbles is best to get that golden brown finish.


Q:

this is somewhat unrelated, but i recently have been playing around with using a 3d printer (well, at least the gantry itself, sans extruder), to draw stuff. i've been making really short 3d models (so its just a single layer), and then slicing it using conventional slicers. but this toolchain is obviously overkill for such an application. your application would make it a lot more user friendly! :D

A:

Not necessarily. Right now I'm just doing 2 axis. Though the user interface and speed leaves a bit to be desired.


Q:

What do you like on your pancakes?

A:

Bloobs and cream.


Q:

As someone who wants to get into a programming profession what is a tip you have outside of networking?

A:

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 :)


Q:

Where did you get the idea to build this?

A:

The hardware was built and conceived by Miguel


Q:

Happy new year! Any suggestions about what should I do this 2017?

A:

Learn to program with an open source project... and acquire a taste for durian fruit!


Q:

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!

A:

Totally doable! Submit an issue request on the github page and it'll get considered (for real!)


Q:

That's really awesome! Does the hardware already have networking capabilities? I haven't worked with an arduino before (I think I read this is what controls it).

I can envision making a skill on the Alexa application or using IFTTT. Then I could tell my echo to make my coffee and a pancake. The future is now!

Thank you for your work on this and making it open source!

A:

Of course, glad to help. No the hardware doesn't have DIRECT support for wireless just yet, but it is Arduino based so it's totally possible to hack it in there, or just plug it into a computer or Raspberry PI to control it.


Q:

Any chance for multi-extruder pancake bots in the future? A Nutella-filled pancake is always good. Or artfully placing blueberries in specific places of the pancake art would be cool.

A:

Definitely something like this in the works. The bot already has attachment points for addons, and it's open source if you wanted to hack your own addition.


Q:

I'm trying to learn Python, as my first ever programming language. Are there any resources you would particularly recommend for new programmers, whether for Python or just in general?

Signed,

PiraticalYognaut

A:

I do not off the top of my head as I flip between hundreds of questions and fighting people in space ships. Um, I'd say pick something worth experimenting with and try to achieve it. Schuyler and Roger, the JR devs you likely met on ninjanode built a python bot interface for ninjanode over the course of a few weeks. It turned from a proof of concept into a server destroying experiment gone wrong.. but it was a learning experience. Try to build something you have no idea how to even start, and just start paddlign around and grab whatever code gets you closest and bang your head against it till you get closer. Learning how to program is a long slog through garnering as much experience as you can from those who know better, and giving back when you can.


Q:

Alright, pretty much how I approach most things, then. :)

I have had some experience with coding-like tools before, such as Scratch, where I was able to build some fairly neat stuff. I might see if I can manage something like recreating what I'd built in Python to start off with. Even if it doesn't work, I'm sure it will be fun. In any case, thank you very much for your advice, and happy New Year!

(I do have to go to bed now though, as it is 2AM. I've had a lot of fun playing NinjaNode with you and everyone else, though, so thanks for that. :) )

A:

Glad you enjoyed it! Come back anytime.. though the server may be dead ;)


Q:

If I buy this, will I get all the girls?

A:

Only the ones who love pancakes.