Programming Throwdown - OpenSCAD

Episode Date: March 18, 2014

This 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)
Starting point is 00:00:00 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
Starting point is 00:00:34 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.
Starting point is 00:00:58 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
Starting point is 00:01:36 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
Starting point is 00:01:58 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
Starting point is 00:02:36 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
Starting point is 00:03:22 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
Starting point is 00:04:06 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
Starting point is 00:04:50 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.
Starting point is 00:05:57 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?
Starting point is 00:06:39 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.
Starting point is 00:07:03 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.
Starting point is 00:07:30 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
Starting point is 00:07:45 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
Starting point is 00:08:38 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
Starting point is 00:09:17 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
Starting point is 00:09:56 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.
Starting point is 00:10:16 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.
Starting point is 00:10:46 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
Starting point is 00:11:05 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
Starting point is 00:11:29 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.
Starting point is 00:12:13 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
Starting point is 00:12:33 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
Starting point is 00:13:02 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...
Starting point is 00:13:14 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
Starting point is 00:13:30 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,
Starting point is 00:13:51 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,
Starting point is 00:14:03 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.
Starting point is 00:14:28 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
Starting point is 00:14:58 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
Starting point is 00:15:32 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
Starting point is 00:15:53 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
Starting point is 00:16:35 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.
Starting point is 00:17:12 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?
Starting point is 00:17:30 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
Starting point is 00:18:06 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
Starting point is 00:18:22 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
Starting point is 00:19:11 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.
Starting point is 00:19:55 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
Starting point is 00:20:27 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.
Starting point is 00:21:02 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
Starting point is 00:21:35 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
Starting point is 00:22:05 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.
Starting point is 00:22:35 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.
Starting point is 00:22:59 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
Starting point is 00:23:37 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
Starting point is 00:24:29 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.
Starting point is 00:25:05 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,
Starting point is 00:25:24 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,
Starting point is 00:25:50 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.
Starting point is 00:26:02 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
Starting point is 00:26:45 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
Starting point is 00:27:30 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
Starting point is 00:28:15 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
Starting point is 00:28:54 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
Starting point is 00:29:48 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
Starting point is 00:30:18 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
Starting point is 00:30:44 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
Starting point is 00:31:22 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?
Starting point is 00:32:06 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
Starting point is 00:32:22 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.
Starting point is 00:32:41 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.
Starting point is 00:33:00 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.
Starting point is 00:33:12 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.
Starting point is 00:33:34 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.
Starting point is 00:34:26 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
Starting point is 00:34:56 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
Starting point is 00:35:45 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.
Starting point is 00:36:28 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.
Starting point is 00:36:39 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
Starting point is 00:37:05 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
Starting point is 00:37:49 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
Starting point is 00:38:34 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?
Starting point is 00:38:59 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
Starting point is 00:39:54 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.
Starting point is 00:40:47 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
Starting point is 00:41:05 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.
Starting point is 00:41:33 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
Starting point is 00:41:58 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
Starting point is 00:42:51 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
Starting point is 00:43:43 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.
Starting point is 00:44:25 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?
Starting point is 00:44:52 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
Starting point is 00:45:15 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
Starting point is 00:46:03 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.
Starting point is 00:46:20 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.
Starting point is 00:46:48 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.
Starting point is 00:47:04 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
Starting point is 00:47:51 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
Starting point is 00:48:15 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
Starting point is 00:48:49 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.
Starting point is 00:49:29 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.
Starting point is 00:49:44 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
Starting point is 00:50:33 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
Starting point is 00:51:27 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.
Starting point is 00:52:14 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.
Starting point is 00:52:57 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
Starting point is 00:53:11 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
Starting point is 00:53:35 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
Starting point is 00:54:06 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
Starting point is 00:54:42 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
Starting point is 00:54:59 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
Starting point is 00:55:39 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
Starting point is 00:56:31 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
Starting point is 00:57:11 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?
Starting point is 00:57:53 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.
Starting point is 00:58:22 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
Starting point is 00:59:19 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
Starting point is 00:59:55 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
Starting point is 01:00:46 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
Starting point is 01:01:26 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,
Starting point is 01:01:50 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,
Starting point is 01:02:00 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
Starting point is 01:02:17 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.
Starting point is 01:02:54 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,
Starting point is 01:03:23 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
Starting point is 01:03:56 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.
Starting point is 01:04:28 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
Starting point is 01:05:03 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.
Starting point is 01:05:33 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
Starting point is 01:05:55 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
Starting point is 01:06:17 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.
Starting point is 01:06:42 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
Starting point is 01:07:36 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.
Starting point is 01:08:02 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
Starting point is 01:08:46 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?
Starting point is 01:09:31 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.
Starting point is 01:09:50 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.
Starting point is 01:10:11 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
Starting point is 01:10:32 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
Starting point is 01:11:00 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.
Starting point is 01:11:16 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
Starting point is 01:11:31 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,
Starting point is 01:11:49 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.
Starting point is 01:12:06 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.
Starting point is 01:12:20 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
Starting point is 01:12:51 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
Starting point is 01:13:45 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
Starting point is 01:14:38 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
Starting point is 01:15:20 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.
Starting point is 01:15:35 Um, but, uh, we appreciate all of your support and, uh, you know, we definitely look forward to, to doing,
Starting point is 01:15:43 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.
Starting point is 01:15:56 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
Starting point is 01:16:25 remix adapt the work but you must provide attribution to Patrick and I and share alike in kind

There aren't comments yet for this episode. Click on any sentence in the transcript to leave a comment.