Programming Throwdown - OpenSCAD
Episode Date: March 18, 2014This show covers OpenSCAD and 3d modeling. Tools of the show: Jason: uSelect iDownload Patrick: Skulls of the Shogun. Books of the show: Jason: My Friend Dahmer http://amzn.to/1eOLNL8 Patrick...: Make Magazine http://makezine.com/ ★ Support this podcast on Patreon ★
Transcript
Discussion (0)
Hosting provided by HostTornado.
They offer website hosting packages, dedicated servers, and VPS solutions.
HostT.net.
Programming Throwdown, Episode 32, OpenSCAD.
Take it away, Jason.
Hey, everybody.
Yeah, I've been answering a lot of questions
on stack overflow and quora this is this is my new my new hobby not answering questions for your
child yet no no definitely you know so you know he he's like why is the sky blue and i tell him
to ask me on stack overflow i need i need more points yeah yeah ask me on Stack Overflow. I need more points. Yeah, yeah.
Ask me on Sky Exchange.
But yeah, I've been answering questions
on like Math Stack Exchange
and Stack Overflow and Quora.
And it's been interesting.
It's kind of fun.
One thing I noticed is,
you know, I've met people who have,
you know, a bazillion points in stack overflow.
And I realized that at a certain level, it becomes almost like a click. Um, it's kind of weird. Like,
you know, I was asking people, how do you get so many points? And I guess at some level people
start, like you can, you can basically invest your points and questions and so the
questions that are really really hard to answer or or that are say like very nebulous you know
a bunch of people with a lot of points will answer and someone will pick one of them and that person
get even more points and so it becomes like you kind of have to know the right people and
and i realize like almost everything when you get to a high enough level devolves into
a click like for example
I worked with a guy
on my last team
who was the world junior
chess champion
and you know he was like a grandmaster
and he had a huge
you know chess rating I don't know what it was
but it was probably like I don't even know what the ratings range are but it was you know obviously one of the top in the world it's probably
not as good as mine oh yeah yeah i'm sure we could we i'm sure we could write our computer program to
beat him but that's beside the point he uh and he was basically saying it's kind of like a click
you know you have to go to the right tournaments you have to socialize with the right people so
you get invited see that's part of it is you have to get invited to the tournaments so that you can get the rating so
you can be the best now like theoretically if you won every single game like a tournament you know
if you beat everybody who you ever faced then theoretically you know the next highest person
should feel rather compelled to play you right but but in practice
like it just doesn't work that way that a lot of it comes down to sort of networking and meeting
the right people and all that and i realized that like even on the internet things like quora and
stack exchange actually work the same way when you get to a certain level but that's what i always
say about the movie industry right like that you know people want to be actors or actresses and there's like the lightning striking chance that you will be found but that
for the most part it's about knowing people and having an in and getting the roles and then people
want to take like a safe bet so like they want to take you because for a small movie role because
you were in a commercial and they want to take you for a big movie role because you were in a commercial and they want to take you
for a big movie role because you were in a medium movie role right and so like exactly you have to
start somewhere but like if you start at the bottom it takes a long time to get to the top
yeah exactly and i mean this idea that like doing the thing that that that they're trying to
evaluate whether it's chess or answering questions or whatever like it's not sufficient you know like you could as i was saying you could just beat absolutely
everybody in chess and never become the world champion just because you wouldn't have access
to the people who would get you the the higher rating and and i feel like most systems in the
world most social systems work this way and and that realizing that that is even true on
the internet was just fascinating interesting so do you go for quantity of questions like you just
go on there and like answer questions that are too dumb that nobody else wants to answer them
or do you like go for like the really thoughtful like oh this is interesting it makes me happy to
answer this question yeah so um i realized the you know i i would answer anything
just about i mean i would answer the dumb question but the volume of people who are there to answer
dumb questions is so large that i never get the opportunity you know like like i'm just not
checking it often enough or even if i do I can just tell like if someone answer if
someone asks you know why is my homework assignment code not working and there's a divide by zero
like by the time I like I'm usually on my phone I'm usually traveling you know by the time I get
to a place where I can answer the question um someone like 10 other people have already answered
it you know so I'm sort of forced into answering the deeper questions which is kind of is is more fun anyways right um so one of those questions
sounds an awful lot like work maybe yeah i'm not gonna lie like i'm glad that you help society
well you know actually the reason why i do it isn't to help society, but it's because maybe this is connected to why I answer the harder questions is that I want to provoke a discussion with people who think I'm wrong.
Either that or I want to know I'm right about something that's like pretty nebulous.
So, for example, I answered this question on Quora and it was effectively like, how do I start a machine learning startup? The question was, this guy said, uh, I was given the lead machine learning
engineer at a startup, but I'm basically never, I'm relatively new to machine learning. Oh no.
Yeah. Yeah. But then he qualifies it by saying I have practice in software engineering from
industry. Wait, so hold on. So I think I've seen this in a movie before person gets a job for a role like financial analyst and then the first thing they
do is they google what does a financial analyst do yeah exactly so uh i wish you would say the
startup so i'd know uh not to join us but okay but sorry So he has software engineering experience, but now he's lead machine learning director, VP.
Yeah, exactly.
He's CMLO at some company.
It sounds like a rapper.
Yeah, CLO was a rapper, right?
Anyways, so I answered the question as best I could
and basically told him, he wouldn't give any details on what machine learning he's doing, just that he's doing machine learning.
And so I posted a link.
The sentient kind.
Yeah, exactly.
I'm on this startup called Skynet.
And so, you know, I tried to answer as best I could.
I'll post a link to it in the show notes.
Did your answer involve Newton's laws of robotics?
No, but I did tell him to always...
You didn't answer it right.
Always include if created Skynet fitness minus 999
just to make sure that his genetic algorithm
knows it's been punished if it creates Skynet.
But it's fun. People can vote
on your question.
The other thing is
there's really interesting
in-depth answers to
more of these meta questions
like, you know, what
library should I use to do X?
There might be five choices.
And people who wrote those
libraries answer it's kind of cool and then they start a debate so i always wonder that like i see
i see posts on like hacker news or um other places and it's like hi i'm the author of this or i'm the
guy who this page is about like if they didn't post it themselves and then they say stuff and i'm always wondering like i guess i view it slightly different than like a blog post author
like giving like oh thank you for the i misspelled the word i'm fixing it about people like defending
or re-explaining like i guess it's good like it helps improve the thing like often they'll go
edit the page to be more clear or whatever but other times like they just get involved in an argument and it's kind of like i don't know like if i did it
i think i'd kind of just like do it and leave it out there like i kind of don't want to i might
read the responses but i don't want to like or if you answered a question on quora yeah so like
answering a question on quora would be fine but like i wouldn't want to like people like getting
into my question or like
getting into a debate about it like oh i see what you're saying that would be like not offensive but
just like i feel like i waste my time or like ah you missed the point and like trying to put more
work into it and yeah well this is you know like this is why the kind of people who who who enjoy
that are the people who invent programming languages
we talked about this one time like you know you think about like it's never occurred at least not
to me to invent to make a new programming language and we've seen plenty of languages come and go
through our lifetime so it's not like all the good ones were taken or anything like that
but uh you know i wondered why like why is it that we've
never tried to invent a language i think what it comes down to is i don't care enough like like
most languages do what i want and there's already plenty of them out there we've we can talk about
languages for shows forever but like there's enough tools i can always get a job done somehow. And the kind of person who cannot deal with the tool set as it is
and needs another tool,
that's also the kind of person who would fight to the death
on Quora or Hacker News or whatever
to defend their library or their tool or what have you.
Those qualities have to be tied together, right?
Yeah.
So watch out.
I'm answering questions on Quora.
I'm answering questions on Quora.
I might go invent a language now.
So I'm posting a question right now.
What should programming throwdown episode 33 be about?
And what should I say?
Could someone write me a script please
do you think that question would be answered um yeah you'd get some answers i think some
people from the audience would tell you where to go wait what uh oh man so we talked
last episode we talked about, uh, programming interviews.
I think it was last.
That's right.
It was.
And, uh, I, right after that, actually, and I wrote it down.
You interviewed somewhere.
I wrote, I can't disclose that information.
Okay.
If I had, I would feel really bad for that person.
Um, as I always know.
Um, so I came across this right afterwards and I like wrote it
down because like, this is going to be good and I'm going to remember it for the next
episode.
Um, but there was an article, I don't know anything about this site.
I guess I should have read it and seen if the site itself is any good.
I did read the article, but it says, uh, it's choosing a programming language to do your
interview.
So if you're going to do a programming interview, how do you choose a language?
And the website is coding for interviews.com. I have have no idea what it's about anyways but the article is
interesting and basically says like what should you think about and you know they had some good
points which is like you should look up if your company has a strong preference the one you're
interviewing with and they show like facebook google amazon microsoft here's the like strong preferences
or whatever um and then once you do that you should practice and then no common like very
common things um and and they have some good stuff in here that i wouldn't have always thought about
like throwing exceptions it's like do people throw exceptions in that language and like what is kind
of like the way people do it or don't um And about casting, like being careful about how to cast back and forth between stuff in the language you choose.
And then they have an interesting point, have some opinions about it.
Like what do you like about it?
What do you don't like about it?
And I've actually had that in every interview pretty much I've ever done.
At least at one point, somebody asked me like, why do you like that language?
Or what's the thing you dislike most or whatever?
Basically wanting you to be passionate.
And I don't know as, like, an interviewer,
like, how good of a question that is
because I think it's perfectly fine for people to, like,
have been using a language and not think deeply about the language.
And I don't know that, for me,
that says anything about them as a person,
that, like, they didn't think deeply about the flaws of I don't know that for me that says anything about them as a person that like they didn't think deeply about the flaws of
the language they're in yeah I think it's the kind of question that like has
many good answers you know if someone was to say no I really love Java because
it has like static typing and I've been burned so many times or whatever like
has a like some insightful answer that'd be good. And if somebody said,
I just want to use, like, whatever tool is best for the job
and kind of went about it that way,
it's fine, too.
I mean...
Okay.
It's a difficult...
But, yeah, you're right that it's not...
It definitely shouldn't, you know,
be the thing that you go off of, like,
this guy is really passionate about Java, guys.
Let's hire him, you know?
Yeah.
Unless you were making programming languages
or, like, really deep down were making programming languages or like really
deep down making tools for languages or something i guess yeah that's true that's but but yeah no
you have a good point i like if somebody's just like there isn't a bad answer you're just looking
for a conversation to have or whatever yeah exactly exactly yeah i did get asked it recently
like what it like how big of a language buff am I? That's what somebody asked me or whatever.
Really?
Would I get in a debate with other team members?
Was this an interview or something?
Yeah.
And,
uh,
I was just like,
uh,
okay.
Like I try to be middle of the road.
Like I care about what I'm doing,
but I don't want to get in arguments for the sake of arguing.
Yeah,
definitely.
Which may or may not be true but
actually that's if you think about it that's a pretty terrifying question to be asked because
unless you know the person pretty well what's your biggest flaw yeah it's like it's such a bad
question because everybody wants to say something that's actually good i'm a perfectionist right
like yeah exactly i i work too hard yeah i work too hard yeah yeah it's like these things and Because everybody wants to say something that's actually good. I'm a perfectionist, right? Yeah, exactly.
I work too hard.
Yeah, I work too hard.
Yeah, yeah.
It's like these things.
And they think they're being like, ha-ha, like I made it a positive.
But if you really do admit some deep flaw, I don't know.
You leave the person.
I interviewed or filled out an application for Best Buy one time when I was a teenager or whatever okay i was like 18 or 19
and um they make you take this like personality test or whatever do they really on the computer
yeah yeah and they ask you like your co-worker has stolen something like what will you do like
will you rat him out will you no they didn't say that but like on like a severity like how bad is
this like they your co-worker you found out your co-worker you know takes pens from the office uh and uses them
at home like what's your moral reaction to that or whatever and it's like kind of disturbing because
your immediate thing is like you want to say like oh stealing is bad like i report him to the police
but then it's like well i don't they know that. They must be looking for something
different.
I throw the guy in jail
because he did something minorly
wrong. They probably don't want to hire me
if I say that.
There was one of the Ultima
games where instead
of choosing your character like knight
or bard or barbarian or what have
you, you answered questions
exactly like this and then it shows your class depending on how you answered like if you if you
answered everything like uh very letter of the law then you ended up a knight you know like maybe the
same thing's happening at best buy like if you uh if you if you answered everything in a way that uh made the customer
right even when they were stealing pens they became manager or something i don't know wait what
i didn't get the job so whatever it is i don't think i answered correctly
oh maybe the answers were to steal pens wait i don't think that what no what huh
see that's correlation is causation so you put
that you would catch your co-worker and like you'd report him and you didn't get the job
therefore the correct answer is to let your co-worker get away with steel i just assumed
it was because i overstated my technical competency okay they were scared about having
someone at best buy no no no no one time it's kind of an aside but i went to
comp usa and um you know i somehow it came up i was like buying a video card and at the time they
had like a service assistant like you know like like you know get the video card from the back
and give it to you and talk to you or whatever.
I think Fry still does this and they get a commission or whatever.
Which I don't like.
Oh, I hate that.
I absolutely hate it.
Something came up about drivers.
This one has good drivers or something.
I said, I use Linux, it doesn't matter.
He goes, other than it sounding cool,
why would anybody use Linux?
I was like, wait, that's a good question.
What?
Get out of here.
Because I don't want to download my Unix tools that we spent a whole show talking about.
I want them to just be there.
But actually, you know, what I told him was, I was like, you know, when you're in school and they teach you you know there's like
the half-ass way of doing things and then there's like the okay way and the great way it's like
windows does the half-ass way and linux does a great way like when you learn about like like
yeah it's true when you're over like swap file management or managing dynamic libraries you take
your operating system 101 course in college. There's always three different ways
to solve the problem.
There's the terrible way. There's the way
that people implemented
while they were thinking of the right way.
And it's okay, but it's not that great.
And then there's the right way that's just
way better than either of the other two.
And Linux always does
the third one, and Windows always does the first one.
And that argument didn't work either the guy at CompUSA just laughed or whatever anyways I never went back you should have just avoided conversation
yeah lesson learned if you if you talk to anybody at Best Buy or CompUSA
you'll get rejected for a job and either way
you'll leave unhappy i feel like i've probably offended people if you work at best buy we're
sorry yeah if you work at best buy you're probably great i'm just jealous because i couldn't get the
job yeah right so um my topic is a little hard to explain actually extremely hard to explain but i have tried
visualizing it yeah exactly it is literally a group a collection of math visualizations
so i'm uh through the math stack exchange and through google plus and i've been uh following
a lot of like geeky math people on the internet nerd and uh yeah and throughout the uh um throughout the weeks i've been doing
this i've come across some amazing visualizations and i wanted to kind of share those with you
um obviously they're very hard to talk about but i'll try briefly can you describe to us
an interpretive dance yeah exactly i'm doing it right now. Oh, I feel happy.
Yeah.
So they have like the binomial theorem where it's like A plus B parentheses squared.
And they like distribute the squared, you know, through A and B.
So it becomes like A squared plus 2AB plus B squared.
They're always these kind of things that you learn in like middle school or high school.
But they actually take shapes.
And the shapes have an area of like middle school or high school but they actually take shapes and the
shapes have an area of like a squared or b squared and actually show you how the shapes kind of come
together and why that makes sense um they do this for the pythagorean theorem and a couple other
things and uh i thought it was pretty cool i actually joined the math uh google plus community
and they have a section just for these cool visualizations that they post
every like few days or so and it's just kind of cool to to look at some people have some really
uh creative ways of looking at things it's very cool yeah i think sometimes like people
other than like the math they do in grade school or whatever, the more advanced math, the only way we know it is through the pictures
that end up in the journal papers or whatever.
The stuff that ends up in popular news will have a picture,
like new way of dealing with high dimensionality
and show some cool picture or whatever.
And people will be like, oh, cool.
So the more pictures you have, I guess, the more cool people think your math is.
Yeah, and as we were talking about before the show, like, I feel like the people actually learned these theorems through these pictures, you know?
I mean, the Greco-Romans who discovered, you know, Pythagorean theorem, which, you know, Pythagoras did not discover Pythagorean theorem.
That's, like like a common misconception
he's just named after him because
he ran the school or whatever
but at any rate
they probably
did this, they had a bunch of triangles
and squares
on sheets of wood or something
and visualized almost all of these theorems
I'm imagining
so it's kind of cool to read to like to reinvent that yourself through these pictures
and if you can't do that you can at least use wolfram language wolfram language is oh i was
gonna say before i watched a part of a documentary about the history of math
and then i got bored and i stopped watching it but they were saying that the sumerians
in third millennium bc used a base 60 numbering system what oh because i guess i guess that's
because like that's what time is effectively right so that's what they're saying like these
people were actually like genius or whatever.
And they were like count using like kind of the knuckles in their hands as opposed to fingers.
And anyways, yeah.
So base 60.
And it's crazy.
And we still have like vestiges of it left over until today.
Oh, that's really interesting.
Anyway, so maybe I'll add the link here, and we can put it in the show notes.
But there's this documentary from the BBC on math,
if you can make it through it.
Okay, so Wolfram language.
I saw it came out actually just last week, I believe.
Wolfram, I forget the guy's first name.
I think his last name is Wolfram.
Stephen Wolfram.
The guy who has Wolfram Alpha.
Do we call it a search engine? i don't remember what they call it they have i think it's called like a math search engine or something or computation engine
so he has like that is supposed to be based on this thing he's been working on and he has a book
uh i think it might even be online that like describes like his kind of theory of like working
with math and this kind of stuff he does a lot more than just like make a software package for doing math processing like he's trying to do more and um he
has a programming language he's been working on and part of it is a functional description
and then he's trying to integrate it like with a lot of other stuff so you can say like it understands things about location
so if you say capitals of states um your capitals of states in the united states or some specification
you can get like here are all the capital cities and then you can do things like population of
cities and the language itself knows how to like go fetch that information and natively display it
to you um and then like you know shows things about kind of having some graphic and then having
it parameterized and like doing it in only like a couple lines of code so there's a youtube video
we'll put it in the show notes you may have already seen it um the wolfram language and it
has like all these different pieces and this real slick video he shows um and it does seem kind of interesting it seems very different like i don't know how i
feel about it because like there is like the language itself but then there's all this other
stuff as well which we talked about like python being batteries included but here even going
further than just like here's other libraries of code but like data i guess that's the thing
it's like this talks about having kind of data
be a part of the language where you can natively know bits of data um and that's not normal for a
language at least like not the way i think about it yeah that's pretty amazing when somebody gives
you a language a compiler as it were an interpreter that like it has so much you know stuff that won't
even really fit on your computer.
Like I think it has to be connected to the web to be able to get some of
this information.
Cause otherwise it would just be massive. I would assume.
Yeah. I mean,
being able to sort of like unify this data that might be like very
qualitative, right. It's kind of amazing.
Yeah. But it's one of those things too.
Like I scratched my head and think like, oh, that's nifty,
but it's like if you ever try to do voice search on Android or iOS and you
try to like say a specific command in a certain way, that's the most natural to you. It doesn't
always work. Um, because like it's expecting a different keyword. And as soon as you know,
the keyword, it does a pretty good job of understanding what you're saying. Like,
take me home might not work initially.
I think it does work now.
You have to say navigate home.
Like it knows what home is,
but not conceptually.
It just knows it as like a keyword.
And so you have to say navigate home,
but saying like,
take me home or how do I get home?
It,
unless it's programmed to know that it can't figure it out.
Yeah.
I mean,
do you think that like sometimes i wonder if you
can solve this purely through just like statistics of of people's interactions in other words like
enough people say take me home and then that fails and then they say get directions to home
that like you over time can learn that taking stuff does that yeah some stuff is supposedly does that like i wonder if that's enough though like i you know i mean when i was an undergrad
there was this whole course on like natural language processing and all of this crazy
amount of like frames and all this like human you know like like part of speech tagging
all of this crazy stuff that people did all these heuristics they use and sometimes i
wonder if you really need any of that or if you can do almost everything through just inference
if you had enough data right yeah i don't know it's tough but um the reason i was bringing up
this other stuff or whatever about um you know the voice searches to say like ns wolfram language
like all these amazing things but like there's a lot of stuff to memorize there's no way you can memorize it so like the same thing
happens even if you write in like java right you probably unless you're like really good like
memorize every aspect of all the parts of java but the parts to do like like a lot of stuff you
can know like you can know the majority of the language and the nuances but with something
like this it would probably change often i would assume like because of the data part like you
would have now we have um i don't know species of animals oh okay well now like here's the keywords
for that it's like you would constantly have to be in the mode of like looking stuff up to know what
what keyword to use to get at that data um yeah and then that data may or may not be available right versus just like sitting
down and saying okay i have this small set of pieces and figuring out how to arrange them to
do what i want yeah i mean you get like almost like agoraphobia there's just like so much stuff
going on that you can't even really get started yeah but but check out the video it's
cool uh it's yeah it has some partnership i think i uh with i'm trying to remember now i didn't look
at it right before the show but uh um i there's something where they're doing with the raspberry
pies like raspberry pie ships with a version of wolfram something oh interesting and i think
they're going to try to do this as well, some partnership with them. I used WolframAlpha recently to, I needed to calculate, like, the,
I needed to sample from the cumulative distribution function
of, like, normal distribution.
So you end up having a, there's this function called IRF, like E-R-F.
I think it stands for, like, error rate function.
And the function is defined in terms of itself it's like
erf of x is equal to blah blah blah times e to the erf of x over two and so i'm just like what what
so and i had to like integrate that i was like what so i went on wolfram alpha and uh it's amazing
actually they show you how to do it it's really impressive like there's a
there's a technique you can use which of course you can't you can't get the exact answer
you know just you could tell right away that like a recurrence like this like it's never gonna end
you know it's like one of these like infinite series right but uh but it shows you like what
people do like in industry and stuff to to get answers and uh i was really impressed by wolf
all right it's time for book of the show book of the show so uh my book's actually a comic book
um i thought it was pretty cool it's called my friend dommer and it's written by um somebody who went to high school with uh jeffrey dahmer who is a notorious murder slash
cannibal um wait what yeah i mean basically you know shortly after high school you know
throughout high school he was pretty crazy and you know he just kind of got worse and worse
and then within a few years of high school graduating high school he he killed this lady
who was jogging near his house
but wait this is in real life
well this is a real story
what I'm talking about now really happened
and literally he cannibalized
this poor lady
and then he proceeded to murder
and cannibalize people until he was caught
and he ended up getting an electric chair
but the comic book is illustrated
it's written from the perspective of this guy who went to high school with him
and it's really interesting, it's all about
this was I guess in the 70s
and I think people are much more in touch with mental disabilities interesting it's all about basically you know this was i guess in the 70s and you know i think
people are much more in touch with like mental disabilities and and and you know these things
are taken much more seriously especially after columbine and so on and so forth just in general
people are much more like empathic towards these kind of mental problems than they were back then
um and it just it just you know he just goes through just like
the person was like he was pretty bad when he was like 14 he was already kind of messed up
and then throughout high school how like things really just go from bad to worse
and everyone's just kind of making fun of it you know like his classmates and stuff was kind of
making fun of the situation but really it's just very serious that he's kind of messed up you know and uh um you know and and the show
ends with them all graduating high school and then there's a short narrative about you know
what happens after that but i just i the whole thing was it was of course very somber but it
was also really interesting.
And the guy starts the comic book by saying, you know, I'm self-publishing this book because nobody would publish it for me.
Nobody wanted to get near this subject because they thought it was like too touchy and they didn't want to deal with the problems, the fallout or whatever.
So I paid for the publishing myself.
And it's just that kind of gets your attention. And then from then on, the whole thing or whatever. So I paid for the publishing myself. And it's just, that kind of gets your attention, right?
And then from then on, the whole thing is actually
pretty interesting. And it's not
too, like, you know, the whole thing
takes place before he
started, you know, murdering people. So it's
not graphic or bloody or anything like that.
But it's, like,
it's actually, like, it's a very somber
story. And it's actually really interesting.
So I recommend reading it. Yeah, I don it's a very somber story. It's actually really interesting. So I recommend reading it.
Yeah, I don't know how to follow that up.
Yeah, it's pretty deep.
Don't read it when you want, like, you know, feel good.
But I got a lot out of it.
I thought it was interesting.
Okay.
My book of the show is a magazine.
All right.
Make magazine. You're the the show is a magazine. All right. Well, that's good.
Make Magazine.
You're the ying to my yang.
It has nothing to do with cannibals as far as I know.
So if you've not seen this before, I don't know if they sell it overseas,
but at least in America they have this magazine, Make Magazine.
It's been going on for probably like four or five years now.
I don't actually know.
I'd have to look it up.
Oh, really?
I felt like it's been around forever.
You think longer than that?
Maybe.
Maybe I'm thinking of something else.
We have to look it up.
So I think they come out with four a year.
So quarterly, I believe, is how often it comes out.
I'm not.
I'd have to look it up again.
But they have a lot of really awesome DIY projects and and articles and talking to people doing that kind of thing.
So like recently I was reading, I think issue 36 or whatever.
I think they're on issue 37 right now.
And they were talking about the Internet of Things.
They were talking to some people who are doing a startup about Internet of Things and kind of what that means and what it's about and how they did it.
And then they have like typically a couple tutorials on how to build something so the one i was reading about was
doing fusion in a jar and oh nice i really want to try it like it seems really awesome
um and you get this kind of glowing star basically in in a jar um and you but it requires like all sorts of crazy equipment right not crazy
but like i don't have it equipment so things like vacuum pumps and neon sign transformers and
um you know some special materials and uh but when you do it it's just like wow this is the
kind of thing like i wish i could have done this for like science fair stuff. It would have been like, you know, amazing or whatever.
And then they have, you know, less, less crazy stuff,
but even just to like sit there and read through it and think about it and
kind of, you know,
just be in that culture of like how to make something that you may have
thought required like a factory to make it and, you know,
making it yourself that kind of of spirit is i like i like
a lot i like reading the magazine yeah i mean i think that inspired it's really interesting that
like uh you know i felt like when i was really interested in in these kind of things you know
when we were both uh working together like on the east coast um you know at the time 3d printers were not popular at all and i built
like a lot of electronic kind of things but i never got to actually enclose any of the electronics
and make something which i would work day to day you know and uh i just think it's absolutely
amazing how you know what five six years later we could actually you know fabricate
something that would be like almost professional quality you know just for you know a few thousand
dollars of equipment right yeah it's pretty amazing and it ties in with our theme which
we'll talk about in a minute our show topic but yeah i mean stuff is changing so eight years ago
it started just just shy of eight years ago january 2005 so i was off um but yeah i mean stuff is changing so eight years ago it started just just shy of eight years ago
january 2005 so it's i was off um but yeah if you've never checked it out before um they have
a blog and they post like you know projects people do and uh is the magazine free or how does it work
no no no so the magazine is paid uh and it's a little expensive and it comes out quarterly but
i mean it's how much is it roughly i think uh i want to say like six seven dollars maybe eight dollars seven dollars so like uh thirty
dollars a year yeah i think it's maybe thirty five dollars a year okay that's not bad i mean
for four four yeah so i mean you're not doing it because it's like cheap uh but it is uh you know
it's a good read and i don't know where else you get it for like what kind of
material.
Okay.
So it looks like it's maybe $10 an issue or at least the most recent issue is
$10 on Amazon,
but it's probably like what a hundred pages or so.
Yeah.
It's nice.
It's thick.
It's I don't know how many pages it is.
I have no way of estimating.
It's not,
I don't think it's that unreasonable really.
I mean,
I think magazines are magazine is like uh it's one of these words that sort of like gives gives away the price and
the word you know like if you say magazine there's an expectation that it should be like three dollars
you know yeah but really like something like this which it sounds like it's it's it's a whole volume
right yeah i mean it's a lot of material and that
stuff is longer form and yeah it's hard right because sometimes i go to like what am i gonna
read and it's like you can read comic books right but like they're they're also somewhat expensive
for how long it takes to read like a single comic book which is something i never quite understood
like for me like oh by at least the what are the ones that
come like batman every every week or every month oh yeah like the superhero and it's like what i
don't know what it's what prices are now like four dollars for an issue or something and it's like
but i could read that issue very quickly um no that's just to get the story now i can go back
and look at the pictures and think about it right longer or whatever but like just reading the story through is very quick but for ten dollars i can buy
a 800 page science fiction novel um you know that will take me like months to read yeah yeah exactly
yeah i never you know even like now with the digital era the prices are more reasonable but
still you know this the whole
superhero comic thing i just i agree i think the pricing model is just ridiculous and and part of
it too is like i think the people who who get those comics they're they get it mainly for the
art you know because the story i'm probably going to offend every comic book follower but i mean the
story on superhero comics i just never could really get that into it it never was that compelling you know
yeah i i don't know i always wanted to be into comic books but like my my parents never really
like offered to buy them for me or take me to where they were bought and there wasn't any place
close to me um i gotcha and so like i never really got into it and then like as an adult
there's still like somewhat of a stigma attached to it.
Like, it's a childish thing or whatever.
And with the movies, like, I wear T-shirts that have superhero stuff on them and nobody seems to mind.
But, like, reading comics is kind of, like, seen as childish.
I'm not exactly sure where that came from.
Isn't that interesting?
Like, if you were to wear, like, an Iron Manshirt which i do 10 years ago people would be like that
guy is you know he must have been they wouldn't know what it is like but yeah well that's true
too but uh but yeah now it's like because it's in the movies it's okay yeah all right okay time for
tool of the show tool of the show so my tool of the show is you select I download,
which is pretty cool. It's a it's a plugin for Chrome. I don't know if anyone else has had this
problem, or if it's just me. But if you have you ever go to those web pages, you know, most of the
time, it might be like internal, like, like, like the Hadoop, you you know front end or whatever or some kind of page but it just it
has a ton of links like i'll give you another example the um the google books data set which
which is available for download um is literally like a hundred links like you have to click on
one by one and so um i found this pretty awesome link that basically
is sort of like you kind of click and drag a lasso as if you're going to take a screenshot
or something like that but then after this lasso it colors anything inside that lasso yellow
and any links yellow and then if you hit shift enter it'll open all of those links in a new
window so in other words like if you had this plugin you could click the plugin on top right
select all the links for hacker news front page shift enter and they'll all open in in a different
tab um and if you hit alt enter it automatically downloads them all. And it has some built-in download manager.
So it like breaks it up into chunks.
It does it like really efficiently and so on and so forth.
So I thought this was pretty cool.
And I had to use it rather recently, but it worked extremely well.
And it's pretty lightweight.
It's just a Chrome plugin.
So give it a shot.
I do find that annoying i always
want to write to like people who have pages like this and like is there any other way you could
provide this to me yeah yeah i don't uh it doesn't happen that much anymore um it's pretty rare to
have this have this situation although i had it you know this week but uh for the most part you
know people i guess why do why do you think that doesn't happen anymore maybe there's just people although I had it this week. But for the most part, people, I guess,
why do you think that doesn't happen anymore?
Maybe there's just people have bigger files.
People got smarter.
I don't know.
I think that you just don't have to download files
in pieces anymore.
I mean, this particular data set was like
17 terabytes or something ridiculous.
So it was still broken up into pieces.
But yeah, for the most part
the days of downloading part 99 of 100 you know as a separate file are over all right so i was
just realizing i might have said this one last time i was looking back at the log for my tool
of the show but it looks like it got copied from the previous one so it said kai cad twice in a row so i have no idea what i said last
time but i if it was this one it makes it that much better that i still think it's thought about
it this time okay and that's a game skulls of the shogun and uh jason's about to tell me that this
is my uh you're in the clear oh good yes this is a game it used to be on the xbox i think the xbox 360 i guess arcade um and now it's
on ios i don't know if it's on android i didn't look um i'm terrible i don't do the android thing
as much as i guess i should as a jason's gonna make fun of me that i'm basically the linux guy
on non-linux guy oh well it's okay wait so on ios skulls of the shogun and the difference
here is ios does everything the better way anyways okay all right good good i feel better
now i feel better now um so if i now shift slightly to say that what i'm using is black bear
no okay um skulls of the show is a strategy game uh on ios and i was we had a conversation a couple
episodes back where i was saying like i always want to be good at strategy games and i'm always
terrible at them and for some reason i do well at this game it's a turn-based strategy game
where you are like a shogun who has died and went to the afterlife but someone one of your enemies that you killed went there before you obviously
and claimed to be you uh and like there was like a special place in the afterlife set up for you
because you were such a good shogun um and instead he's claimed this place or whatever
and so now you're like fighting through the afterlife to get to him so that you can become
who like reclaim yourself or something wow that's
a pretty uh involved story no it's really it's really like goofy um okay it's not that serious
and the animation style is crazy and it's all this kind of like skeleton zombie-ish like people or
whatever um but you have like kind of the shogun style like you have uh i don't know if that's a
style but like you know you have samurai and you have guys on horseback and guys with bows and arrows and your shogun
who's like very powerful but if if he dies you lose um and so like you want to use them but like
you can't put them at risk um and they have some interesting mechanics like if you're next to a
cliff when you hit someone they get like pushed back a little. And if they fall off the cliff, they die.
So you can try to like, there are approaches where there's like narrow stuff and you have to be careful about who goes through so that your people don't get knocked off the cliff.
But for some reason, this strategy game, I seem to be doing okay.
It's probably because I have it on easy setting.
Are you playing against a computer or against people?
Yeah, so they have against people, but I haven't tried that yet because I don't want to be embarrassed.
And I'm thinking highly of myself at present.
Oh, my goodness.
Have you been on their website?
No.
They have, if you click on, if you go to their website,
Are you going to talk about the trailer?
Because the reason I bought the game was because of the trailer.
Oh, really?
Well, I was going to say, if you click on team,
they have pictures of the employees and they're hilarious. Okay. But yeah, so what about the trailer oh really well i was gonna say if you click on team uh they have pictures of the employees and they're hilarious okay but yeah so what about the trailer so if you
watch the trailer it's like a mash-up of like yes okay this is pretty much like the trailer it's a
mash-up of like every 80s and 90s video game commercial if there ever like was one like this
and it's just like amazing you should definitely watch the trailer if you grew up
in the 80s and 90s at least in america and uh i keep giving that caveat i should stop people
should just assume that but uh people were making fun of it like this is stupid and it's chintzy and
cheesy it's like no i remember all the gi joe commercials that were exactly like that uh growing up and so anyways then i bought it and it
was like the comedy is very similar um and you know they break the third wall sometimes or whatever
like they talk to you i guess or whatever they make fun of themselves anyway so and the gameplay
is nice and it's approachable i'll say that that means easy enough for me to do well at but uh okay
so it's approachable, and I like it.
And I've been playing it. I haven't beat it yet, but I think I'm pretty close to the end.
So check it out, Skulls of the Shogun,
if you like strategy games and don't want to be humiliated.
How much does it cost?
Do you remember?
I think it's like $5.
Okay.
That's not bad.
I mean, I play it on my iPad, and it's beautiful.
It's nice nice and i've
gotten so many hours out of it i had to spend a lot of time at jury duty and uh i definitely was
playing this when when i wasn't not supposed to be doing anything yeah you're just like every now
and then you look up from your ipad guilty no no when the judge told us we couldn't no i i put it
all away uh but all the rest of the time, there's a lot of downtime at court.
I see.
Yeah, I was definitely playing it.
We should definitely do a show on jury duty.
I can go on at length about that.
Okay.
This is awesome.
It's $4.99.
I will definitely buy this immediately.
But don't tell me that it was too easy because then I'll be embarrassed.
No, I'm just like you. I mean, I love love strategy games and i'm equally terrible at all of them so
uh this is it sounds right at my eye all right all right so open scad that's right uh so open
is that like a open wound like open an open scab so so we'll talk a little bit about like 3d modeling 3d models in general
so this is a programming language used for creating 3d models and 3d models are interesting
because there's lots of ways to create them you can create them with what's called computer-aided
design tools cad which are things like SolidWorks,
or I guess even things like Maya or Blender
or other things where you create shapes
and you shift them and move them
interactively with your mouse.
But we're programmers, that's boring and hard and artistic.
And we're none of those things, I'm none of those things.
So OpenScad is a programming language
to create the same kinds of things, these 3D models.
And 3D models, ultimately, you're trying to represent
some shape or object or thing you want to build or make
or use in a video game.
And you're trying to make some abstract representation
of what we'll call the real world.
And one of the interesting things i like about
the languages that try to describe these is that you know they can be really pure um so if you have
a sphere in the real life in real world no perfect sphere exists right so like in the real world
you've never encountered one because it would have to be perfectly smooth and have perfect
roundness. And ultimately you can't because they're made of molecules and the molecules have
size and shape. And so you'll never have something which is a perfect sphere. Somebody's going to
correct me with some example of something that's a perfect sphere, but it's okay.
That would be hard to do. I think you're in the right here.
Okay. All right. It sounds good. All right. all right good so but like in this language you can you can represent something that's a perfect sphere right that has
is very uniform and and and smooth uh and then you can do things with it like take another sphere and
join the two together and make a two sphere thing and if you build up shapes um you begin to come up
with complex objects or you know uh shift shapes around. And we'll talk about more specifics of that later.
But I always, I'm terrible at drawing.
I think Jason does drawing.
So maybe he can tell us more about this.
Definitely.
I've done a lot of Blender, but OpenSCAD is new to me.
So drawing, you know, like always,
like when I try to read like how to draw,
and they're always like,
start by breaking down the scene into shapes.
So like you have a head and a head is a circle and the ears are squished circles and ovals um
and stuff like this and they always like show the you draw these like square and a couple lines and
some circles and then like two steps later you have like a perfectly drawn guy riding a horse
it's like there's always that one step like it's like okay i see it i see
it and then they're like now fill in the details and that those are like the four or five words of
death like when you see in any art instruction book now fill in the details the details include
like going to college getting a degree in art and coming back and finishing the try yeah i'm not sure that's true but yeah so i
mean but this open scad these things that represent uh trying to make 3d models from basic shapes and
operations it kind of to me represents the same thing like i if i'm trying to build a model of
my kitchen table at first i'd say oh okay it's just a rectangular prism and four rectangular prisms
for legs but no table really looks like that looks boring uh and terrible so then you have to like
chamfer the corners like put a little round over on them um you need like a little bead detail
around the bottom and there's like an apron around underneath the tabletop and there's like an inlay
right and you begin to but all those things are also simple and so like if i can simply build up to the object i'm trying to represent to me i feel
like that's an easier approach than when i've tried to do like the modeling and for some reason
it doesn't work for me yeah i mean the other thing too right is like blender and maya and these tools like zbrush and so on you know they're meant to be
like creative tools by artists who want to draw like most of the time you know cartoony
non-photorealistic things right and they don't work very well if you need to build something
precise like a table that shouldn't wobble right no that's a
good point yeah so organic right like exactly an animal would be hard to like draw a perfect
representation of using ovals and shapes exactly sort of introducing some sort of randomness
right but the opposite is also true where like like, you know, in Blender and these tools, it's not really designed for precision.
And so you're kind of expected that if you draw like a bear,
that the four legs aren't going to touch the ground in exactly the same spot.
You know, you're probably using, you know, like a tablet, a Wacom or something.
And, you know, it's, I'm sure if you zoomed in really closely on, you know, any model in, you know, World of Warcraft or any of these games that, you know, the legs wouldn't all line up perfectly and things like that.
Or an intern was there trying to get them all to align.
Yeah, that's right.
But, but, you know, if you, you know, built a table that way and then actually had it printed and then, you know, got the table back, you'd be very disappointed.
So OpenScout really excels in this area where you need precision.
Yeah.
So another way that people use are NURBS.
What are NURBS?
NURBS.
So, right.
So there's...
You know it's going to be good when there's a wind up
before the pitch
yeah that's right
so most 3D modeling
is done through polygons
right so this is
essentially triangles
just a triangle
or triangles
well yeah
Blender actually has n gons support um and then but i'm assuming
yeah before it goes to your graphics card it gets turned into polygons um or sorry to triangles but
uh but you know usually you know most of these models are done by taking you know say triangles
and and and putting a bunch of them together, right?
But there's also this other way, and it's kind of like,
you know how like you can use Photoshop,
and at the end of the day, you're drawing pixels.
You know, like you might draw a line or a circle in Photoshop, but it's really just, you know, a bunch of pixels.
And Photoshop is clever enough to take the concept of a circle
and the equations that define a circle
and turn it into a bunch of black and white dots, right?
But then you also have, you know, vector art
like Illustrator, right?
Where it actually stores the equation of a circle
and then at runtime, you know,
anytime you do anything to that circle, you know, on the fly, it's turning the equation of a circle and then at runtime you know anytime you do anything to that circle you know on the fly
it's turning the equation of the circle into pixels so nerbs takes that idea and extends it
to 3d so a nerbs it stands for non-uniform rational b-spline oh so enlightening and uh
basically what it is is just in the same way, it's a
mathematical
explanation of a curve
or a sphere or a torus or what have
you. And it can
define arbitrarily complex shapes
using these
splines that are connected together
through control points.
But then again, it's not
a bunch of triangles it's this
equation that then you can resolve into triangles anytime you want
so open scad has you start with some shape we talked about this but you can have like a 2d
shape a 3d shape and if you start with a 2d shape you typically i don't the terminal extrude it you
kind of like stretch it in some way or some fashion some transformation um so if you take a
square and you move orthogonal to the plane the square is in up you make a cube well or some
rectangular prism i guess um and you can stretch it but if you move the square through like a curve
you get a curvy shape or a circle through a curve you get like a pipe or a tube um so you can start
with 2d shapes because the 3d shapes are often you know start as 2d shapes um or 3d and they have
you know primitive shapes so they have circle square um you know they have primitive shapes. So they have circle, square.
They have primitive 3D shapes.
So you have things like sphere and cylinder, polyhedron.
And these are your basic building blocks.
And then when you combine them with the translations like we talked about then you can move them shift them around stretch them and transformations could be like um scale it like
make it bigger um or rotate it like spin it around translate it move it move it side to side
and these are the kind of things that the transformations uh and when you combine them
and we'll talk a little come back to transformations in a second you combine them with like boolean operations so if i have like
one circle another circle and i union them together i join them together or let's say
three i have three circles and i join them together just so you can make a snowman you
know with three circles three are three spheres sorry more circles yeah right joined on top of
each other or if i difference
uh you know to one sphere from another sphere i can take a bite out of the sphere or you know
a square to a sphere you can start to build up with these basic boolean operations and the shapes
and the transformations you can start to build up very complex shapes and there are different kinds
of transformations like we talked about
and uh just like basic ones like scale and rotate shift slide um but then there are more complex
ones it's like a fine transformation so what is an a fine transformation right so an a fine
transformation is a 2d transformation and i I think, let me look it up.
There's some like math property that makes it.
Okay, so these ones that where you can describe by a matrix multiply?
Oh, that's right.
So an affine transformation is one that it preserves points, straight lines, and planes.
So the idea is like, you know, if you have n points and you do the transformation,
then you have endpoints.
You know, it doesn't like collapse the space or anything like that.
And if a line is straight as a result of transformation, the line will still be straight.
So it won't be, there won't be any kind of like weird, like radial warping or anything like that.
So most transformations are either affine transformations or either, you know, translations.
So like you move something, you slide it. Rotations rotations so you kind of rotate it around some pivot point or you
know kind of sheer operations like scaling or just scaling in one dimension
or things like that and it turns out that most of what you need to do like if
you have several basic primitives like squares rectangles things like that and you have access to affine transformations that you can create, you know, just about anything.
Then there's, yeah, there's 3D transformations like the Euler transformations. If you've ever
done anything with like control theory, like with gimbals or you know controlling like a arm for a robot or something like that
you could think of sort of even like if you move your hand around you can kind of like twist your
hand right but then you can kind of move your hand from side to side like if you were waving but your
wrist was locked right you could kind of just wave your hand or you can move your hand kind of up and
down like if you go to like grab your mouse you kind of like tilt your hand
down so this is like the three axes which you can move your arm and so you
can do like Euler 3d transformations where you specify these axes they're
called roll pitch and yaw but then you end up in these it just if you follow
the math it kind of breaks down and
you can end up in what's called gimbal lock um can you do you want to describe gimbal lock you
probably know more about it than i do actually i don't think i do this is where you get to a
a place where you can't represent it correctly yeah i think i think it's a bit good yeah i think gimbal lock is where you can look
it up and i'll try to explain it and you can correct me when i'm wrong but i think gimbal
lock is where you end up in a situation where doing one of those transformations doesn't change
anything like for example um let's say you're looking straight up in the air if
you kind of like if you turn your head let me see if I get this right this is a
tough thing to explain yeah it is looking so you're looking straight up in
the air then oh yeah if you're looking straight up in the air then if you like
lean your head from side to side nothing changes if you're looking straight up in the air, then if you lean your head from side to side, nothing changes
because you're already straight up in the air.
Something like that.
You can be in a position where if you put one of the axes in a certain way,
you can make it so one of the three axes is a no-op.
And the reason why this is a problem is because the value of that axis like doesn't
matter it's undefined and that causes chaos like like that value can oscillate wildly and the
picture won't change um so so like the system is stable even though that value can be anything
and it causes just complete chaos in control theory so did i get that right yeah yeah
pretty good so basically yeah like some place where you yeah you lose one of your degrees of
freedom and it causes mathematical and it happened in apollo 11 so on apollo 11 yeah they had a
problem where they got into an orientation near 85 degrees of
pitch,
uh,
that the,
the stabilization loop got messed up.
Um,
and so they were supposed to like,
like it was supposed to,
the gimbal was supposed to like flip around at that time or whatever.
But,
um,
it,
for some reason it got messed up and froze.
Uh,
and so they had to manually like move,
move it or whatever.
Oh, and then realign it
so yeah it actually was a big problem but yeah
okay we're yeah so you can imagine
like if in general
right like if a number can be anything
and on the outside it doesn't
matter then over
time that number will just
assume any value and then what happens
is eventually things change in the system and all
of a sudden that number matters but it's four billion and it just the system just doesn't know
what to do with four billion it just collapses so so they came up with this idea of quaternions
and again this is really hard to explain i'm not going to do it justice. But basically, the idea is you assume that there's a fourth dimension.
Yeah.
And you do all of your math assuming this fourth dimension.
And this fourth dimension ends up, you also normalize by the fourth dimension.
So in other words, you know, if you have a vector in general,
or if you have a list of numbers in general,
you can do this thing called normalizing,
where the biggest number becomes one,
and all the other numbers become some fraction of the biggest number, right?
So like, you talk about like normalizing people's grades,
or like, you know, grading on the curve or something like that.
Right. When you grade on the curve, what you're doing, you're taking the highest person.
Let's say he got an 80. So that means everyone else's grade is over 80.
And that guy who got an 80, he gets 100 percent. Right.
So you have this fourth dimension that doesn't really exist.
You can't visualize it it but it's there for
all the calculations and you're constantly normalizing by all four of the dimensions
and so it keeps even when you have gimbal lock in the three dimensions the fourth dimension
keeps everything from going crazy that's uh that's the best way i can explain it. A little bit of 3D theory to warm your soul.
Yeah, that's right.
So another advantage of OpenSCAD over other modeling programs
is that you can define stuff as basically a formula, right?
So like the height is two times the width.
And then somebody can simply define how high they want the thing to be
and it automatically generates it at the appropriate width.
Oh, that's cool.
Yeah, so for, like, 3D printing, this is pretty cool, right?
So typically you might be able to scale something, right?
So, like, you have a model of Jason's head, and you're going to 3D print it.
And you can apply a basic scale, which just says all the points in the 3D model,
like, expand them the same amount
from origin or whatever and then you get a accurate representation of a bigger jason's head
but what if you had things that uh you know wanted to move in relation to one another
and so you had like gears and if you scale the gears maybe the meshing of the gears changes
oh right and so you can end up
with with complexing or you only want to scale you know in one dimension but you want the all
the gears to stay you know the gears need to can't be scaled in one dimension right like they have to
be round they have to be a perfect circle close to a perfect circle um and so you if you wanted
to scale the thing in one dimension,
you would need to do something else.
And so parameterizing allows you to handle these kinds of things.
Oh, that's amazing.
There's also a tool really similar to OpenScad called ImplicitCAD,
which is written in Haskell, which is cool.
And it's actually one of the few
commonly used things that I could think of
that was written in Haskell
yeah right
not that that's a knock against Haskell
sometimes people say like oh what's written in that language
well this is written
ImplicitCAD is written in Haskell
and is very similar to OpenSCAD
so is OpenSCAD a tool or a language
or both
oh okay gotcha so the language itself
though like and apparently i wasn't the only one like i saw other people saying the same thing
immediately made me remember when i was in college and doing ray tracing so always like i took a
computer graphics class and it's very classical like you have to learn about lighting and about
ray tracing.
The most common, or one of the most common ray tracers that people use is POV ray.
And they have a scene description language
where it's the same thing.
You describe objects and then you make a picture
that represents what the scene would look like
from a specific point of view.
So the only thing additional from what OpenSCAD does is is you define a camera angle like things that describe the camera
basically um and lighting but aside from that like the objects are just the same they just
describe a scene um but you have special things which are light since one special thing i guess
which is a camera um and they become very similar after that like you're using basic shapes
and primitives and transformations to build up a scene you know yeah that's uh i wonder if like uh
i mean is there a lot of open scad content in other words like this is there if i wanted just like a car
to 3d print would someone have just made a car in open scad that i could download or something
i mean is there yes like on thingiverse like yeah there's a lot of stuff on thingiverse
oh those are done in open scad not all or they could be some of them yeah yeah gotcha
yeah cool cool but yeah for sure sure, like, I mean,
typically these things, like, actually,
I don't know if OpenSCAD supports it,
but I know like POV Ray, like you can import a model.
So if you have like a 3D surface mesh,
I guess they're called meshes, a mesh, right?
Like with a texture, you can import it into the scene.
And hopefully it's, you know,
small enough where you can't discern the triangles, but it'll bounce the rays off of it into the scene um and hopefully it's you know small enough where you can't discern the
triangles but it'll bounce the rays off of it just the same oh interesting um but also yeah i'm on
the i'm on the thingiverse site where you can download um you know open scad um you know files
and uh yeah it's cool they have like iphone cases have you tried making an iphone case i have
not yet okay yeah there's a bunch of really cool things a stacking container yeah definitely go to
openscad.com gallery and then i'm assuming that you can just download the uh source code for this
yeah yeah and then build it yep so it's very useful for that so like wanting to get started in like 3d printing and like oh
i want to be able to make my own models uh to 3d print but i don't want to have to learn a
modeling program um and so this is what i came across and so this is this is my the endeavor
i'm embarking upon okay all right do you have a 3d printer or no no but i have access to 3d printers
oh i see ha ha ha that's ambiguous and uh mysterious i know a guy i know a guy i know
a guy who knows a guy no no i just know the guy oh okay you have so one degree of freedom between
you and the guy who has a 3d printer? And only one more between him and Kevin Bacon.
Okay.
How much between him and Canadian Bacon?
Wait, I eat
Canadian Bacon, so zero.
Oh my gosh.
My mind just exploded.
There's a 3D printer
on Amazon, and it
sells for $1,200,
but it's on sale for $1,199.
You save a penny.
So Jason's 3D printer shopping right now.
Yeah.
Hopefully his wife doesn't walk in the room.
Yeah, right.
You can use OpenSCAD and a 3D printer to obviously print your own things.
I was kind of hoping that I could say something nice about the price,
but it's actually pretty darn expensive.
There's cheaper 3D printer kits.
Oh, I see.
So, yeah, it's totally expensive.
The MakerBot is $2,200.
There's this FlashForge that's $1,200.
Oh, actually, they do go down.
There's one that's 900 yeah so you get them
yeah like i've seen them you know like 400 500 for like this one called printer bot without the e
okay anyways yeah so they have cheaper ones um and they're coming down all the time and one of
the cool things is there are 3d printers designed in OpenSCAD.
Oh, nice.
So you could get... And it's cool because it kind of works in
with the whole bootstrapping thing,
like self-rep-wrap is about this self-replicating.
And so you write a description in OpenSCAD,
and if you have any way of making the shapes
that are described in OpenSCAD parametrically
of whatever size you want,
then you make the first one,
and then you have a 3D printer,
of which you could print more.
But of course, there are typically some things
which aren't printable that are used.
Gotcha.
Oh, yeah, like I'm sure the metal...
It's like metal rods and circuit boards.
One day, the idea is that they will be printable,
but for now, they aren't.
Right, right.
But yeah, it's kind of a cool community,
and there's a lot of like,
it's almost like writing a compiler
to compile your compiler.
Yeah.
No, this is totally awesome.
I would love to,
I did a little bit of 3D printing,
but I need to get back into it.
It's a lot of fun.
Yeah, so it's still a little pricey, but now that you know OpenSCAD,
at least you have one part that can no longer be an excuse.
That's right.
Well, I know the guy who knows the guy who has a 3D printer.
I will disavow all knowledge of you after this.
So you no longer know me.
All right.
Oh, man.
Cool.
This is awesome.
Yeah, I think I would...
Actually, one more thing about OpenSCAD,
like, does it give you any visual?
Because, I mean, I would imagine that, like, this language...
Yeah, yeah.
You need constant feedback, right?
Otherwise, it's hard to do anything.
Yeah, so there is.
There's rendering options, yep.
Oh, I see.
So, like, while you're coding, you can you can see the object yeah so it's very similar I
mean don't my impressions of it using this is very similar to kind of the way
if you've ever done ray tracing it's very similar so you kind of edit your
code and you kind of have like you click a little button and you know or even
interactively it'll show you kind of like the updates you're making can't remember um okay but yeah so um similar yeah when you go to actually make the thing
or generate some other representation of it than the raw like mathematical description it may do a
more complete because ultimately you're you need to like if you're doing a 3d printer you need to
tell the machine the exact coordinates to go to but you can't tell it like make this perfect circle because it can't has only finite resolution
right right yep so have you printed anything with open scat or not yet not yet okay you'll
have to let us know how it goes i want to hear a post-mortem soon i had to make something i'm proud enough like to make real okay because
it's just all digital so it's so easy to just like it's like a portrait of painting it's never
complete just keep you should do the iphone case at least you have an iphone case that's just
someone else's work i need to make my own iphone case oh yeah you should make uh you should you should
etch your own design into this iphone case that somebody else already made i will make it from
scratch if i did not invent it it is inferior you should make you should make the worst iphone case
ever like it protects the parts of the iphone that that don't need like it's just a band around
the middle it's like a titanium iphone case the case will not
break yeah the phone will shatter the case will not break oh man it's yeah okay this is it's
getting too late for jason oh man that's awesome well thank you for all the activities and comments
and emails we've been getting from everyone yeah we found
out the uh the google plus page has what 300 plus ones no 900 900 900 yes oh oh i'm so sorry i
thought you were pulling my leg it literally i just looked it up we We have 900 plus ones. Yes. That is absolutely amazing. We, we, uh,
we love you guys. I have no idea what it's counting, but 900 plus ones, some sort of
aggregation of every, I don't care. 900 is a big number that is not counting page views.
I'm sure that that account, I'm sure those are 900 actions and it can't be minutes of our podcast
because it's far more than 900 yeah so we definitely we we really appreciate
your support um you've been buying our book a week uh a lot of you have been buying the books
of the week and keeping up with us or at least clicking on our link and buying other things
yeah that's right that keeps the the whole operation up and running the server the the
terabytes of bandwidth that we consume every month, um, cost a lot of money.
And yeah,
that's motivation to make shorter podcasts,
I guess.
Yeah.
The next podcast will be on hask.
Um,
we don't have time to do the rest.
Um,
but,
uh,
we appreciate all of your support and,
uh,
you know,
we definitely look forward to,
to doing,
to,
you know,
keeping these podcasts going.
They've been a lot of fun for us.
So keep writing in with your questions.
I really like answering them on G+.
Yeah, that's what I'm getting out of this story.
We should just have you answer questions for the podcast.
We should do a mailbag.
It's been a while.
Oh, no.
It'll just be all me.
I'll just ask all the things I need to do at work.
Jason, will you do this work for me? is my compiler not working all right till next time all right catch you guys
later the intro music is Axo by Binar Pilot programming throwdown is distributed under a
Creative Commons attribution share alike 2.0 license you're free to share copy distribute transmit the work to
remix adapt the work but you must provide attribution to Patrick and I and
share alike in kind