
Sign up to save your podcasts
Or


Today we try a different format. Adam invites his neighbour, Don McKay, over to ask him questions. An interesting discussion on recursion, corecursion and the naming of the podcast unfolds.
"John was saying, we conclude that since modularity is the key to successful programming, dah, dah, dah, dah, dah. I think what he means by modularity is okay, we write our fold and it's like three lines long. Once that exists somewhere, we don't have to have that base case all over our code. We ended up programming a higher declarative level. The other reason is just I really like clean abstractions. There's more to learn but once you do, you're able to kind of have this language where you can talk about these things at a higher level"
https://corecursive.com/046-don-and-adam-folds/
David Heinemeier Hansson talks to Adam about being avoiding a software monoculture. He explains why we should find a programming language that speaks to us, why ergonomics matter and why single page apps and microservices are not for him.
"That is the pleasure and privilege of working with the web. No one knows what you built it. It, you could build an in basic, you can build it a Ocaml, you can build in the Haskell, you can build it in whatever Ruby. No one is going to be none the wiser you get to choose"
You want to write for the web. I mean, literally every programming language that's ever been invented and known to humankind is serving a webpage somewhere."
"There's just something heartwarming in that, that this idea of the monoculture that like this is all just a battle to the death and there's going to be one framework and there's going to be one programming language that lifts is left standing. Programmers are really drawn into that right into that horse race."
So much of their technology choices seem to be predicated on like, is this popular? Is this going to be popular next year? Do you know what I mean?"
"The crimes against programming humanities that have been done in the service of single page applications are far worse than the ones that have been done in the service of microservices.
But then of course, as it is, lots of people combine the two. So it's a fleet of microservices serving a single page application, and that's just where it bam, my head explodes with like, yeah, I would rather retire and fucking, I don't know, make weaved baskets than deal with that shit."
"I'm not saying that email is sort of in its base form is wonderful, but you know what is wonderful asynchronous. Write-ups of cohesive, full thoughts, people using actual goddamn paragraphs to describe ideas and proposals, and they put those paragraphs together into form entire, cohesive thoughts. And then letting someone take that in, read those several paragraphs, sit back for more than five minutes. Ponder that. And then respond."
Links:
Podcast Page
Today Adam talks to Shadaj Laddad. What is React? Why do we need front end frameworks at all. Shadaj explains modern front end web development. He also explains why he likes to use react from scala.js and built a framework to make that easy for all.
"React is a lot of things. I guess the core principle is it lets you model your entire application as a function from properties of what you want your page to look like to an HTML tree. Everything is defined as this function. ""
"In the traditional web, everything was built upon mutations, right? You'd collect some data and then you'd do some DOM manipulations to say, Hey, modified the contents of this html node."
"React kind of abstracts away from that and says, Hey, this is the result I want. Just tell me what you would like the webpage should look like. And I'll do the internal work to actually make that happen. ""
https://corecursive.com/044-shadaj-laddad-react-and-scala-js/
How do you build a business around tools for software engineers? Adam talks to Lee Edwards, a VC who spends a lot of time thinking about this question.
"When I think about is this a good business, I think about is there value Accruing. The question is just how much.
The question about is it a venture-backed business? The very, very oversimplified answer is do you believe you can get $100 million in revenue within 10 years? And those numbers are kind of fudgy. But if you can do that, you can IPO a company and it's kind of amazing that PagerDuty and Twillio each do one thing well and they're multibillion-dollar companies. "
"Another interesting thing that venture capitalists talk about behind closed doors and probably never tweet about or say publicly because it makes them look bad. But you do often wonder if the founder of a dev tool company, a lot of times they're really altruistic and you know, I feel this way too, right? But venture capitalists are like, wait, don't give your stuff away for free. And it can sometimes be kind of like a conflict. I think when you're looking for an open-source founder, you need to look for someone as a VC that actually does want to make everyone money."
Show Notes:
Tech Talks are in-depth technical discussions.
Adam talks to Author and Clojure advocate Zach Tellman about how great software is built.
"If we say something is over-engineered, what we mean is it's too complex or it's too robust or it handles a bunch of situations or scenarios that are not relevant to how we're using it. It's okay for us to create narrow things. It's okay for us to create Powershells instead of bash sort of environments because that narrowness gives us the ability to go and do things we might not otherwise be able to do."
"Twitter are built on top of Ruby because that was a reasonable thing. And then it stopped being the reasonable thing. And again, you have this kind of, I dunno, I call it hacker news induction, which is like, well I built this thing and then I built this other thing, which is almost exactly the same thing. And it worked or it didn't work. And therefore I think that this must generalize across all possible applications of this thing, right? So I tried to rails and it was great or it was awful and therefore it is great or awful, you know, in all situations. "
Zach's Personal Site
Elements Of Clojure Book
https://corecursive.com/042-zach-tellman-software-in-context/
Tech Talks are in-depth technical discussions.
Generative Art involves using the tools of computation to creative ends. Adam talks to Allison Parrish about how she uses word vectors to create unique poetry. Word vectors represent a fundamentally new tool for working with text.
Adam and Allison also talk about creative computer programming and building twitter bots and what makes something art.
"Computer programming is beautiful and useless. That's the reason that you should want to do it is not because it's going to get you a job, because it has a particular utility, but simply for the same reasons that you would pick up oil paints or do origami or something. It's something that has like an inherent beauty to it that is worthy of studying."
"For my purpose as an artist and as like someone who teaches programming to artists and designers, I want to emphasize that it's not only a vocational thing, it's not only a way for building things like to do apps for that matter. It's not only a way to, you know, write useful applications that help to organize communities or help to do scientific work and other like good applications of programming and software engineering. But there is this like very essential, very core part of computer programming that is just joyful. Um, that's about understanding your own mind in different ways and understanding the world in different lands."
Experimental Creative Writing with the Vectorized Word
Every Icon
Word2Vect
Allison Parrish's Website
Tracery
Articulations
Every Word
What makes some pieces of technology take off? Why is java popular and not small talk or Haskell. Gabe is a popular blogger, a former Haskell cheerleader, and creator of the Dhal configuration language. Today we talk about marketing and tech evangelism.
"One common mistake I see a lot of new open source developers make is they tried to build what I call the hype train. Where they have started a new project that has a lot of poTech Evangelism with Gabriel Gonzalez tential and they advertise on hacker news hoping that, okay, we're gonna generate a lot of hype, maybe get a lot of influx of new contributors, new contributes, new features, generate more hype and so forth."
"They hope that there'll be that virtuous cycle that will get them to the mainstream in practice, that never happens. Usually, the thing about contributors is that their needs are always going to be fragmented, right? If you have eight new contributors, they're going to be taking you in eight different directions. You should focus on one direction and sometimes that means not only doing a lot of work yourself, but it's explicitly saying no to something and saying this is not where I want to take the product right now."
Links:
Crossing the Chasm
Dhall Lang
Adam's SE Radio Interview with Gabe
Haskell For All - Gabe's Blog
Tech Talks are in-depth technical discussions.
Adam talks to Hal Abelson about the textbook he coauthored in 1984, SICP and why it is still popular and influential today.
"If you pick up almost any computing book it starts out 'here are these datatypes, these operations that you do' and somewhere around 20 or 30% through the book, they show you how to define a function or a procedure. Whereas we really take the opposite approach. We say the key thing is abstraction. So we kind of start there."
"The axe [the book] is grinding is that people write programs to do one particular thing. And then the price of that is that a whole lot of software engineering ends up being trying to get out of the hole you dug yourself into because you made a program that was too specific."
https://corecursive.com/039-hal-abelson-sicp/
Tech Talks are in-depth technical discussions.
Heather C Miller is an Assistant Processor at CMU. She is concerned that key open source projects are at risk of failure and no one is paying attention. Adam talks to her about open source, how it grows, the diversity problems it has and much more.
Heather also shares some interesting stories about the early days of Scala and her ideas for increasing diversity in tech.
Heather's JuliaCon keynote
Digital Infrastructure
Scala Center
https://corecursive.com/038-heather-miller-open-source/
Tech Talks are in-depth technical discussions.
What do compilers do? What is the runtime of a language? What does it mean to compile something down to bytecode and what executes the byte code. Throsten Ball Answers these questions in this interview with Adam.
"A virtual machine is a computer built-in software, a CPU built-in software" "Compilers can be slow. You know, I grew up running Linux and I had Gentoo running, so I basically let my computer run for the whole night to compile my window manager. So I do know how slow compilers can be and the reason they're slow is because you're paying the upfront costs that an interpreter pays at runtime. You're paying a little bit more because you're doing additional optimizations. You're shifting the cost to a point in time where you're happy to pay it."
Writing a compiler in GO
GCC Codebase Mirror
LLVM Codebase
TCC Compiler
C in 4 functions
8CC - small self hosting compiler
https://corecursive.com/037-thorsten-ball-compilers/
From the publisher's feed

275 Listeners

380 Listeners

288 Listeners

624 Listeners

581 Listeners

287 Listeners

44 Listeners

985 Listeners

243 Listeners

62 Listeners

140 Listeners

75 Listeners

66 Listeners

105 Listeners

75 Listeners