Become a Creator today!Start creating today - Share your story with the world!
Start for free
00:00:00
00:00:01
#24.JOY.EC2017 Bonus Episode - The Joy of EuroClojure aka @iamjoyclark image

#24.JOY.EC2017 Bonus Episode - The Joy of EuroClojure aka @iamjoyclark

defn
Avatar
47 Plays8 years ago
Where we talk with The Joy [ Clarke ] of EuroClojure Joy gave a talk at EuroClojure about keeping security simple https://www.youtube.com/watch?v=lRHPZXKQVLk&index=8&list=PLZdCLR02grLpzt6WENiHe16-vx74VbCw_ Security makes us all feel vulnerable and we had a safe space in Berlin. As usual we bang on about frameworks and libs. Joy gives Emacs one finger (rather than all 10) and uses NightCoder. Check out her sketch notes from the conference and other places on here Twitter feed.
Transcript

Episode Number Variations

00:00:15
Speaker
okay um episode number 24 and a half 24.1 maybe 24.1 yeah something like that okay 0.24.01 yeah we need a reference number now we actually need to change all these numbers why because rich told us oh yeah right semantic versioning is useless now okay ever incrementing numbers although in our
00:00:45
Speaker
of this thing. It's adding to the dependencies. So it doesn't break anything. And people are very dependent upon this podcast now. So this is awesome. We're getting closure junkies out there. So you heard another voice

Introducing Joy Clark

00:01:03
Speaker
here. Yeah. Welcome to DeafN, episode number 24 or whatever. I'm really excited to be here. Thank you. I'm a fan.
00:01:13
Speaker
Okay. You are joy in person, so you are the real joy of closure. That is what I've, when I heard that the concept joy of closure, I felt very like, like they were talking about me. So you were the one who inspired Fogus and Chris Houser to write Joy of Closure? Probably. I had no idea.
00:01:39
Speaker
No. Well, I think the point is that you come to represent it even if the two things were different. I would be honored to represent the joy of closure. Okay, let's do a formal introduction. You enjoy closure, don't you? Let's get rid of the names now.
00:01:59
Speaker
We need to do proper introductions. So we're in Berlin at Euroclosure. Yeah, we're in a panic room because they thought, I don't know, the definitely should be in a panic room.

Journey into Clojure

00:02:16
Speaker
And we're with our special guest, Joy Clark.
00:02:19
Speaker
Welcome to the episode. Thank you. So how did you get into closure? I got in closure in the university in Dusseldorf. My mentor basically brainwashed all of the students into thinking functional programming is awesome and amazing. And so we had functional programming course and
00:02:42
Speaker
I had already learned functional programming, and by the time I started Clojure, I was like, oh, this is exactly how I think. I can just write programs exactly how I think without any of the extra stuff. What was the rest of the functional programming stuff? Was it the most tight stuff, or was it the concept small? It was like we started functional programming with Clojure. Oh, really? Okay.
00:03:07
Speaker
Yeah, my, my mentor in the university, he's still there, but they have the function program course closure, his is his favorite language. So as I said, he tries to frame it on the students. And you're working for InnoQ? Yes. So do you do closure there? I do in my like, eternal projects, prepping for talks and that sort of thing. I squeeze it in.
00:03:32
Speaker
So for the people who are not at your enclosure and who are going to see your talk online, maybe you can give a small, I don't know, synopsis of your talk.

Security in Web Apps: A Developer's Responsibility

00:03:44
Speaker
I was talking about secure security, web applications like security and simplicity. Basically, we focus so much on the simplicity aspect of web applications where we really know which each piece is going into a web application. But as closure, we kind of are responsible for putting all the pieces together. And often the security piece is just forgotten because it's dependent on us to remember to put it in. So I was talking about like, what do we need to do then?
00:04:15
Speaker
I think you said in the talk actually that there's this, yeah, let's say tension between the concept of a library and the concept of a framework. I think there are some, there are definitely some frameworks out there in Clojure that are kind of fine, you know, no problem. But you're right that generally we don't have batteries included and, you know, trust the programmer is the motto, you know, you can do all this stuff.
00:04:47
Speaker
like frameworks or libraries that put all this stuff together, is that what you're trying to promote? Or do you want to just like... Honestly, like I haven't tried...
00:04:56
Speaker
You know, it's been on my to-do list forever. Try out docs, try out pedestal, try out luminous, try out all these cool things that I'm sure are great. And I haven't gone around to it, but I think the main thing I was trying to communicate in the talk is that we need to pay attention to the security aspect of the app. You know, like the framework, there really isn't a framework most of the time. But even if we're using a framework like doctor or whatever framework we're using,
00:05:24
Speaker
It's still, we should look at the security aspect and see is the security aspect there? Like what are they doing for security? We can't just like trust the framework to do the security for us. We need to do code review. We need to look at all of the different things that need to be done. I mentioned the OWASP 2017 just came out or is coming. I mean, they're in the process I think by the end of July.
00:05:52
Speaker
they'll put the stamp of approval on the process. And so those are like rules, like the main vulnerabilities in web applications that developers can control. And so I use that as a checklist in the application. There's a lot of things I can't control.

Simplicity in Web Development with Clojure

00:06:11
Speaker
Like if the platform has vulnerabilities, I can't control that. But I can control in the web application itself that I'm not doing stupid stuff.
00:06:21
Speaker
So, E-max or something else? Okay, moving on. I've intended to learn E-max multiple times. I don't like it because my finger doesn't like it. You should remap caps lock. It doesn't work because my finger, even if I stretch it out upwards, it still pops. Then you should try evil mode.
00:06:47
Speaker
That was what I was intending on doing. Yeah. You space match with you more. I know, you know, Ray is no feeling like I might not. But I use a night code. No. Night code. You're the first person. I'm aware of that. I kind of use it just like now it's a little bit of a rebellion, like against the emacs people. Cause they're like, you can't program anything in night code. I'm like, just you.
00:07:14
Speaker
It's like night coder. Interesting. Anyway, so you've been sketchnoting at this conference. So two things. One, what is your impression of Euroclosure so far? And second question, sketchnoting. What? How? Why? When? I think like.
00:07:39
Speaker
Two questions might be a little bit related. I love the conference. It's like I went to the Juks conference recently in Germany and I was like, you know, it's kind of boring talks all the time and you're just kind of standing around and I was like, this is kind of, you know, it's okay. There's some interesting talks. Here I'm like, I want to go to every single talk, you know.
00:07:58
Speaker
I want to like, not only that, I want to talk to the people afterwards and I want to interact with all these different people from all these different places who do my language, you know? So I absolutely love it. And one of the reasons I also like sketchnoting is is a way that you can get into the material more. So it for me, at least like it's not for everyone, but for me, it makes it more enjoyable because you're like sketchnoting is basically sketching, noting,
00:08:28
Speaker
and publishing. That's what I always say. It's not as difficult as people think.
00:08:34
Speaker
but you just like, you have to actively listen when you're listening to a talk and you, if something like peaks your interest or you think, oh, that's a good point, or that's a point that they're trying to make, you know, like that's one of their main points, you just write it down quickly. And then in the, in the breaks or something, you, you do some colors, you do like boxes around things, draw little pictures. And then, so, so you, but you're kind of like completely involved in the talk the whole time. And so,
00:09:04
Speaker
I always do it for me, like for sketchnoting, because I don't retain much just by listening to things. If I do sketchnotes, I like remember basically everything that happened in the talk. So that's why I do it. And it's lots of fun. And then Twitter likes it too.

Sharing and Connecting: Sketchnotes and Social Media

00:09:23
Speaker
Yeah they're really amazing and as you can see from I don't know for the people who are listening to it I mean she's posting all these sketch notes for every talk on her Twitter account I am Joy Clark. I am Joy Clark. Yeah so amazing stuff. Yeah it's fantastic and you also did a little one of the dev job as well which is a few
00:09:51
Speaker
for people who don't know about Jeff death choke this is something that Ray is doing at closure conferences to another people apart from the podcast so he is basically insulting everybody
00:10:08
Speaker
So and the other thing that we want to talk about is, we'll get back to closing in a bit again. And you're also, we don't usually talk about our competitors on this podcast. But when there is quality content, we should promote it. We are adults around here, although we hate our competitors, but still. I'm not an competitor.
00:10:32
Speaker
But every podcast is a competitor around everybody. Until we rule the world. And then everyone will still be a competitor. Have you got a vegetarian podcast? No. So tell us about your podcast.

Co-hosting the Case Podcast

00:10:51
Speaker
I'm one of the co-hosts for the case podcast, which is conversations about software engineering, basically just inviting people on the show to kind of do an interview type situation, discussing different topics. It's not closure specific, so it's not really a competitor. You guys got that one locked down. And you're not vegetarian, so. Not. Yeah. So the more closure podcasts we can have, the better.
00:11:15
Speaker
all along. We don't see this competition because growing the pie is better. Exactly. Yeah. I do want to bring my personal goals is to get a couple of closure speakers on the podcast because it spreads the word about closure. I think the audience is more general. It's not specific to closure of people. It might be like a gateway drug or something.
00:11:41
Speaker
I think we should tell other people to listen to DeafM in your podcast. It already was recorded, but... You've got more podcasts to do, haven't you? I do, yeah. I think much more, no problem.
00:11:55
Speaker
Yeah. Right. Okay. Moving on. Yeah. So, let's get back to Closure again. So, you have experimented with different templating libraries and those things right now, right? So, you're learning Closure only for the

Embracing Minimalism in Web Apps

00:12:11
Speaker
web application development or are you looking into other things as well like React Native?
00:12:15
Speaker
I do mainly closure like web applications. I'm not a big fan of single page applications because I make websites, which are just like linked resources. And I think the practical like the old fashioned model of websites is very simple actually. Like you have
00:12:38
Speaker
server serves HTTP requests and it returns HTML and the browser knows how to interpret the HTML and then it can generate forms or something and then send requests back. And so that kind of, that's the architecture that's there. It's worked for years. It still works. And so I do that in my web applications. I actually use, I use almost no JavaScript. If I use JavaScript, I use it for progressive enhancement or something.
00:13:20
Speaker
You basically do, you do, well, I don't know why they say it. Like let's do React for mobile. I don't really get it because like for React, like if you're doing a large JavaScript single page application, you have to send like a lot of megabytes of data to a mobile client. And I don't see why that's more performant on a mobile device. Cause it's like, it's more megabytes. If you just send them HTML and the browser renders it, it works on all platforms.
00:13:29
Speaker
Oh, okay. It's like sprinkling some jQuery here and there and then. Yeah.
00:13:46
Speaker
Maybe a little bit more about it's like the native thing. Yeah, yeah, that talk today was really cool. I haven't really tried that.
00:13:56
Speaker
But as far as like doing websites goes, it just depends on what you're doing. As soon as you're doing something where your browser is going to be open all day or you are doing like something like a rich client application in the web browser, then it makes total sense to do a single page application. It's just like when I do my little websites, which are just pages that link to other pages.
00:14:20
Speaker
then I use HTML. It has a link element. It's like an A element. And then it links to another page. And the thing is, is if you do that responsive first, so you developed for something that looks good on a small screen. So it'll look good on a phone. And then you can change the CSS later. So it looks good on a big screen too, like change that. But you do like mobile first CSS development. And then.
00:14:51
Speaker
It does. I mean, something that looks good on a mobile device will look good on a desktop device as well. It just might be too wide, so you can break it down. When it's mobile, it's a big screen. You can put boxes next to each other. Otherwise, they're over each other. So far at the conference, what is your favorite talk? Well, apart from your own talk, obviously. I liked the one yesterday on data science. Now I want to get my sketch notes. The brain is obviously connected.
00:15:21
Speaker
with the Star Wars theme.
00:15:29
Speaker
Yeah, and I liked the one today about breaking down the walls. Distributed systems. Yeah, distributed systems. The data science ones, they're a bit abstract for me. I think it's very interesting, but when am I going to go and do probabilistic modeling? I don't know. But it seems to be like the theme of the conference this year, right? What is very interesting to listen to talks about that, you know?
00:15:54
Speaker
Because it is something different than what I usually do at my day job. Yeah, exactly. That's the point. But I think it's what in the industry, isn't it? So when you're at conferences like this, they want to try and... I think next year we'll be all about blockchain. Yeah, probably. I think blockchain will be... So you should get on the blockchain for closure and do... Get blockchain now and next year... You'll be presenting at the conference. We're all about blockchain.
00:16:16
Speaker
Yeah. So this year it's AI, machine learning, probabilistic programming. I think there were almost like four talks yesterday. Almost. There were three talks yesterday on either machine learning or data science and one today. Yeah. Four talks already. Yeah. So it's interesting. So I think, actually, at least it was a little bit negative, I thought, on where the two wings, instead the two
00:16:40
Speaker
down on it, but her honesty reveals gaps in the tools. But other talks are actually emphasizing that there are some tools. So it's interesting, I think. I think she's right. There are gaps, but there are still some good tools in the pipeline and it works. Yeah, I think like more tools is always better. Yeah.
00:17:09
Speaker
things are quite nice. The notebook situation doesn't seem so good, but apart from that, you know, there's stuff coming through. I think we're getting there. Maybe we should, of course, we'll explore this more in one of the episodes. Maybe we need to get one of these people in.

Making Clojure Accessible

00:17:25
Speaker
And today we just published our discussion with Draga, the guy who made the Neanderthal that we keep hearing and practically every talk today. Yeah, it's pretty cool stuff.
00:17:37
Speaker
Anyway, so let's get back to you again. What are your plans? What are you trying to do with closure and where do you want to go with closure? For me, I think it's like I would like we had an unsession yesterday about making closure easier for beginners. And I would personally like to see that kind of
00:17:58
Speaker
to filter in more and more people to the closure. I think Closure Bridge, what they're doing is absolutely amazing. I wish there were a closure bridge near me, there's not, but I think that's absolutely amazing and kind of focusing on, let's make this easy for beginners, which is one of the reasons I like night code. It's like, yeah, I mean, you can...
00:18:20
Speaker
You can just open it up and then teach them Clojure and they don't have to think about Emacs. Emacs is more difficult than Clojure. Actually, for Java, there is something called BlueJ. I don't know if you remember. I've never heard of that. There is something called BlueJ that's very specific to teach Java. It's a very minimal IDE and that's used by universities just to quickly just
00:18:45
Speaker
write your java code press a button and you can run so there is no this ceremony of there is an ant file or i don't know maven or whatever the shit that we need to put up with but um yeah so i think night code is similar to that one as well and then i tried a couple of times it was fun but um you know eventually if you already know emacs then it's it's a no-brainer but if you don't know emacs yet it's actually not very easy to learn that's true that's true you know there's a pretty pretty
00:19:11
Speaker
But eventually you will, I mean everybody sees the light and then they go to the maxima, which is a kind of inevitability I think. He's still living in the dark ages, he'll get there. Okay, I think that's it from us for today.
00:19:30
Speaker
Any final thoughts? Well, I really enjoyed your support joint. Thank you very much. I hope people listen to this. We'll watch it online when the videos come out fairly shortly. I think you did really well. It was a fascinating topic. I think we'll definitely hear more from you and we'll definitely hear more about security. Sure. Thank you very much. Of course, I'll try to listen to K's podcast. As you know, I'm not trying to really podcast listening. I will try to listen at least once. I promise you that one.
00:19:58
Speaker
Okay, sounds good. Okay, that's it. Thank you very much. Thank you. Bye.
00:20:29
Speaker
you