CoRecursive: Coding Stories

CoRecursive: Coding Stories

By Adam Gordon Bell - Software DeveloperNewsEducationHow ToTech News
Download on the App Store

CoRecursive: Coding Stories episodes

  • Chat: Don and Adam discuss folds

    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"

    • Why Functional Programming Matters - John Hughes
    • Beautiful Folds - Gabriel Gonzalez
    • Folds in Scala
    • Recursion Training

    https://corecursive.com/046-don-and-adam-folds/

    37 min
  • Story: David Heinemeier Hansson, Software Contrarian

    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:

    • The Majestic Monolith
    • On React
    • TDD is Dead
    • RailsConf 2014

    Podcast Page

    1 hr 3 min
  • React and Scala JS with Shadaj Laddad

    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. ""

    • Person site of Shadaj
    • Slinky JS
    • Talks by Shadaj
    • Youtube channel

    https://corecursive.com/044-shadaj-laddad-react-and-scala-js/

    39 min
  • Tech Talk: The Business Of Developer Tools With Lee Edwards

    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:

    • Root VC
    • The Business Value of Developer Relations - Mary Thengvall
    • Code Climate
    • Particle.io
    • FlexPort
    38 min
  • Tech Talk: Software in Context with Zach Tellman

    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/

    54 min
  • Tech Talk: Beautiful and Useless Coding with Allison Parrish

    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

    53 min
  • Tech Talk: Tech Evangelism and Open source With Gabriel Gonzalez

    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

    1 hr 8 min
  • Tech Talk: Structure and Interpretation of Computer Programs with Hal Abelson

    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."

    • SICP Lectures
    • The Structure and Interpretation of Computer Programs
    • Hal Interview

    https://corecursive.com/039-hal-abelson-sicp/

    57 min
  • Tech Talk: Open Source Health and Diversity with Heather C Miller

    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/

    42 min
  • Tech Talk: Compiling to Bytecode with Thorsten Ball

    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/

    59 min

About CoRecursive: Coding Stories

From the publisher's feed

The stories and people behind the code. Hear stories of software development from interesting people.

More shows like CoRecursive: Coding Stories

Software Engineering Radio - the podcast for professional software developers by team@se-radio.net (SE-Radio Team)

Software Engineering Radio - the podcast for professional software developers

275 Listeners

Hanselminutes with Scott Hanselman by Scott Hanselman

Hanselminutes with Scott Hanselman

380 Listeners

The Changelog: Software Development, Open Source by Changelog Media

The Changelog: Software Development, Open Source

288 Listeners

Software Engineering Daily by Software Engineering Daily

Software Engineering Daily

624 Listeners

Talk Python To Me by Michael Kennedy

Talk Python To Me

581 Listeners

Soft Skills Engineering by Jamison Dance and Dave Smith

Soft Skills Engineering

287 Listeners

Thoughtworks Technology Podcast by Thoughtworks

Thoughtworks Technology Podcast

44 Listeners

Syntax - Tasty Web Development Treats by Wes Bos & Scott Tolinski - Full Stack JavaScript Web Developers

Syntax - Tasty Web Development Treats

985 Listeners

.NET Rocks! by Carl Franklin and Richard Campbell

.NET Rocks!

243 Listeners

The Stack Overflow Podcast by The Stack Overflow Podcast

The Stack Overflow Podcast

62 Listeners

The Real Python Podcast by Real Python

The Real Python Podcast

140 Listeners

Signals and Threads by Jane Street

Signals and Threads

75 Listeners

Oxide and Friends by Oxide Computer Company

Oxide and Friends

66 Listeners

Latent Space: The AI Engineer Podcast by Latent.Space

Latent Space: The AI Engineer Podcast

105 Listeners

The Pragmatic Engineer by Gergely Orosz

The Pragmatic Engineer

75 Listeners