Exploring Functional Programming: Tools, Techniques, and Industry Insights - RRU 250 - podcast episode cover

Exploring Functional Programming: Tools, Techniques, and Industry Insights - RRU 250

Mar 13, 202447 min
--:--
--:--
Download Metacast podcast app
Listen to this episode in Metacast mobile app
Don't just listen to podcasts. Learn from them with transcripts, summaries, and chapters for every episode. Skim, search, and bookmark insights. Learn more

Episode description

Lucas, Peter, and Chris delve into a fascinating discussion about functional programming, its application in the industry, and personal experiences working with related tools and technologies. From exploring the knowledge gap in functional programming to sharing anecdotes about learning new languages, they provide valuable insights into the world of functional programming. They also touch on the challenges and benefits of adopting functional programming techniques in development, along with recommendations for resources and tools in this space. Join them as they embark on a deep dive into the world of functional programming.SponsorsLinksSocial MediaUnvoidLucas PaganiniChris FrewinPeter Osah

Advertising Inquiries: https://redcircle.com/brands

Privacy & Opt-Out: https://redcircle.com/privacy

Become a supporter of this podcast: https://www.spreaker.com/podcast/react-round-up--6102072/support.

Transcript

Hey, Welcome to React Roundup, the podcast where we keep you updated on all things React related. This show is sponsored by Raygun and produced by Top and Doves and Onvoid. Top and Doves is very great Top and Doves. We get top and pay and recognition. We're working on interesting problems and making meaningful community contributions an Onvoid which provides remote design and software development services on a task basis, so clients only pay and tests are delivered and approved. In

today's episode, we will talk about what your hosts are working on. My name is Lucas S. Paganini, one of your hosts in the podcast, and joining me in today's episode are also the hosts Chris Ruand Hi everyone, and Peter Osa. Hi everyone. Hey folks, this is Charles Maxwell. I've been talking to a bunch of people that want to update their resume and find a better job, and I figure, well, why not just share

my resume? So you if you go to top endevs dot com slash resume, enter your name and email address, then you'll get a copy of the resume that I use, that I've used through freelancing through most of my career. As I've kind of refined it and tweaked it to get me the jobs that I want. Like I said, topendevs dot com slash resume will get you that and you can just kind of use the formatting. It comes in word and pages formats and you can just fill it in from there. So

I'm going to get the ball rolling. So in my case, something I've been working on in my spare time for a very very very very very very very very very very very very very very long time is a book about functional programming, and it's been like a common go project because at one side, it's mostly started as a way for me to really digest some of the most complex concepts of functional programming and at the same time wanting to give back to

the community because being quite frank, I have no expectations of becoming a millionaire with a technical book about functional programming. It was really just to create something that would be of value for others that are also learning, and for that there's actually one book that is really really good and has helped me tremendously in this journey, which I'm going to say now because since I can't talk about my book since it's not ready and might take five more years to be.

Then I'm going to talk about a book that is ready and it is really really good, which is Functional Programming Made Easier, a step by step guide by Charles Skull Funny. This book is two thousand pages of amazing, in depth, super technical content. Like it is deep. It is like really really deep. This guy really takes you from surface level up until super deep functional programming logic. And it does it in purescript. Like there's no JavaScript,

no typescript, everything is in purescript. But purescript can be compiled to JavaScript, so technically you can write in purescript and compile to run a node on the server side or just to run JavaScript on the browser, so it is doable. But honestly, I think it's just good for the learning process of the book, But I wouldn't really use purescript in my real projects.

It's just too overly complex to most people. And I think that even if I have a good enough understanding of it, which I don't because like I understand from the book, but I haven't built enough things with it to say that I'm proficient in purescript. But I still wouldn't really use it because I want other people to be able to understand my code and work on it. And as good as purescript is, it's very niched the amount of developers that actually know how to write in it, just for you guys to know.

It's super close to Haskell in terms of syntax, which is also kind of niche. If you look at the amount of web developers in the world, I would say the lass than one percent knows half called. So what I wanted to do is a book that has all the concepts that Charles Caulfuni talks about in this book, but everything in typescript. This is what I wanted to do, and it's probably going to take a while, but yeah, this is basically the thing that I've been looking on in my spare time.

So really curious to know if you guys have any particular questions about that, and also to know what you guys are working on. Yeah, it sounds that sounds awesome. I mean, I'm I also make courses myself, and I just started like making a book where I made a book a book it's like forty pages long, So yeah, I mean I need a brush up on functional programming definitely. I mean I'm a fan of small like reusable functions.

But in terms of oh man, the stuff like currying and all this this fancy stuff which can be super helpful, I've just I've just forgotten it over the years. I think, Yeah, I would be I'm curious, did you go, like, what's the path you've gone down for the I guess the book it's set like the generation itself. Are you using should I even say latex? Or have you gone towards like a markdown. There's so many solutions out there now for this type of stuff. I'd be curious and

like, what tools are using there? I have never used Latex. I think the closest I got to a complete It's not that bad, it's just weird. I think the closest I got to a completely pure functional language was Hascal. So a while ago I was trying to learn Haskell. When I was I was like, okay, let me go into the core of functional

programming and then I can take it to out development. So I tried to or house go and I didn't go super deep on it, like to the point where I actually built a useful API, but I was able to at least do some simple scripts like validating an email, validating document registration, like doing some scripts like that, but I wasn't able to really like build something as complex as an API with it, which I think the complexity with functional

programming starts when you need side effects, because it the core idea is that everything needs to be pure, but you need to be able to have side effects, right, Like, you can't just have functions that always return the same thing, because what if you have a function that needs to get the current time, It's always going to be different, So how do you do that? You know, and there are ways for you to do that in

a pure way like it. Some may say that it's kind of a hack because at the end of the day, you're not like really returning the same thing all the time. But in a way, it's kind of like conforming to the functional programming standards. But when you're building an API, which requires a lot of that, then that's where I think most of the complexity of functional programming lies. And I wasn't able to do that with Haskell or purescript. I did it with FPTS a bunch of times, actually, and fpts

is a library for typescript which exposes multiple functional programming data structures. It's a really amazing universe of data structures, Like they have almost anything that you can

think of. They have wrappers around a synchronous call. So for example, we have promises in jobscript, but promises they are eagerly executed, and in FPTS, they wanted to have a synchronous way of retrieving data that would be lazily executed, so you could compose it with other operators and it would only run at the end, like not while you're applying to the operators, because when you're doing functions, then you do like dot then and that executes,

and then it goes to the next dot then and that executes it, then it goes to the next dot them. But the idea with fpts is you define all the operators that will transform your data, and the data only goes through the entire pipeline of transformations when you call it at the end of the entire chain. So it's kind of like you apply all the operators and you return something that FPT calls a task, and the task is pure and simply a function that returns a promise, but it's not a promise itself. It's

a function that returns a promise. So it's not executed yet. You need to call it to execute. So everything else PTS is kind of like that. It allows for lazy evaluation of a bunch of things. They also have rappers for maybees, so we do a lot of like string or noul. If you were to really use functional programming, you would not have nual, you would have a maybe or other languages call it an option, which is

a wrapper around the value that could be nulable. So imagine a data structure that is like a data structure that has a property called tag, and this tag is a string that can either be some, are on. If it is none, then that's a that's the entire object. It's like an object with the property tag equals to none. If it is some, then it has another property called value, which holds any kind of value that you want.

So and then you can have a type union which is like an option of t is equal to none or sum of T. So when you have an option of a string, that means that either you have none which is not, or you have a sum which has a property called value that holds the string. So there is no rule. Uh. And and then you might say, okay, cool, but what the hell, like, really, why do you need that? And the cool thing is all the operators that come with it. So if you have an option, then fpts exposed.

This is a bunch of operators for you to work with that. So you have like a map, and a map operator takes a function that converts the value, but only converts if the value exists. So if the value is none, then the function never gets called, so you don't need to like check if it is neual, then don't do anything, and if it's not dual, then do the transformation. You don't need that because it's already

wrapping that for you. You know, your function is only going to apply to the value if the value is not neual, so you don't have to write checks for new and undefined. And then you could also, for example, use an operator called flatMap, which is going to return another option.

So imagine that you have the option of a string. Let's say that you have like a an email, so this email my might are my not exist, So you have the option of a strength that is an email, and then you want to transform that email into using a function that takes the string and it also returns an option. It also returns something that might or might not exist, So you can use the flatMap operator. And if you use the flatMap operator in a in an option, if the option is none,

it's not going to do anything. If the option is some is going to apply, and then whatever returns becomes the new value. So if it returns none, then you have none. If it returns some, then you have the value transformating. So there are a bunch of utility functions like that, and some of them are really, really really powerful. And I absolutely love fpts, and I'm really thankful for Julio Guanti, which is the creator of

this universe of libraries. But the problem is that not your co workers aren't necessarily going to keep up with your learnings of fpts. So we got to a point where I was really proficient in it, but the rest of the team wasn't. And okay, cool, The code was cleaner to my eyes because I was more proficient in it to understand it, But to others, they were like, I just want to do a cred How the how do

I do this with this? You know? Uh? And then we just decided to not use fpts anymore, even though it's an amazing library that solves a lot of problems. It was just not worth the overhead to the engineers. Yeah, so I do have a question. So yeah, I think

it's a good book. So you know that I think most of them in the industrialized a lot of people are kind of like from out so reconize us of like op neds sense or really you come to talk about like, okay, solid principles, which many of them usually kind of highlights from Opie concepts. And in your book, like, is then the way you're trying to kind of encourage a lot of people to practice like functional programming in this real sense? Like, is then any way or is it maybe something you're kind

of planning. Maybe I wouldn't really say she's spilled the beans, but just maybe is there I feel like thought about it, I'm front of maybe a way to kind of sensitize or using functional program is the best way to go? Was it very nice to go the goal? If there's any part in

my book, because thus far it's just explaining the concepts. There wasn't any part of the book thus far there was like just trying to convince that functional programming is the golden standard and or is terrible because I've been there already and OP is not terrible. I actually went back to a lot of things that like, I missed a lot of things that OP had, especially dependence injection, Like a lot of frameworks offer dependence injection, and there was just the

ex the dependency injection within functional programming wasn't wasn't the best experience. So there are a lot of things that I missed in OP when I went into this, the search for the golden standard of programming that I actually that made me think back, look back and think, oh, actually, it's not that functional programming or OP is best. It's just you need to be able to mix and match and figure out which one is the best in each context.

So, for example, you're creating a bunch of utilities, why would you do them in OP? Like that makes sense? You can build like the next low dash. Why would you do it? You're just going to create a bunch of unnecessary dependencies. It would be much better if you just created isolated functions. But now you're creating a component. This component holds state. Why would you not use a class? You know, that's what they were

built for. It makes total sense to use them, And what I actually generally do is I try to isolate as much as I can from the class methods and properties into functions and then call those functions in the class during its

creation. So let's say that I have a method in a class that is like really complex, Like imagine a method that is like three hundred lines long, and then you're like, it makes sense that it belongs into this class, is not going to be reused anywhere else, so there's no point in making it a function, and everything inside of it is not utilities, Like you have three hundred lines, but you already like isolated everything that you could

which were just utilities like data structure, conversions, et cetera. The three hundred lines that you have there are all lines of actual business logic. There's specific to your application, and it wouldn't make sense for you to just isolate that in utility functions. You can still create a function that generates that method, and that will at least allow you to remove those three hundred lines from

the class file and isolate that in another five and just important. So what I generally do is every time I have a function that returns another function, I prefix it with make so Let's say that I have a function that it's supposed to return. A function that receives like a body of data and processes

that and returns a response. Let's say that it's like a I don't know a calendar system, for example, So you have a post request that receives some data and it needs to go to the database, save that data, do a bunch of validations, and then return the calendar object, the calendar

event object that was created. So you could just have this entire method in a class called like calendar events handler or calendar events controller whatever, or if you just wanted to clean up that file, like the class itself is too long and you want to be able to isolate that function just for readability, you can create another file called like make create calendar event, and that ex is a function called make create calendar event. And this function takes all the

dependencies. So let's say that for this function to execute, he needs a reference to the database service, a reference to the time zone service, a reference to the user service. Okay, so these are the parameters that you're going to give and then it's going to return to you the function that takes other arguments and creates the calendar event and returns it if that makes sense.

Hey, there, this is Charles Maxwood. I'm excited because I wanted to let you know about this thing that I pulled together that I had just I've been dying to have this for years and I never felt like I could, and then I just realized that there's no reason why I can't. So I'm putting together book club and we're going to read development focused books, career books, you know, technical books, whatever. The first book that we're going

to do is going to be Clean Architecture by Uncle Bob Martin. If you're not familiar with clean code or some of the other stuff that Bob has done, check that out. I've also talked to him on the Clean Coders podcast, which is on Top End Devs. But yeah, we're gonna get on.

He's going to show up to some of our meetings. And what I'm thinking is we'll probably have like five or six people part of the conversation along with Bob and I at the same time, and we'll just so somebody can come on, they can ask their question, and then we'll just rotate people through, so we'll mute one person, unmute another person, when it's their turn to come on and be part of the discussion. So we'll do that

for like an hour hour and a half. And then the other part of it that I'm putting together is just kind of a meet and greet gather area on gather Town. And so after the meetup and the call, we we'll do as we'll all go over to gather Town and you can just log in, walk up to a group and have a conversation, and that way we can all kind of get to know each other and make friends and get to

know people across the world. One thing that finding is that, yeah, the meetups are starting to come back, but a lot of people don't have the opportunity to go to a meetup and I really want to meet you guys and talk to you. So we're gonna put all that together. It'll all be part of that book club. You can go to top endevs dot com slash book Club to be part of it, and I'm looking forward to seeing you there. The first book club meeting will be in December, the beginning

of December. We're starting the first week of December, and you'll also be part of the conversation about which book we do next. I have one in mind, but I want to see where everybody's at. So there you go, yeah, yeah, yeah, so yeah, I understand. Actually, So I think one thing is that I think functional program is actually I think the functional program we do have, they'll spend some of the weaknesses. However, I feel that a lot of people kind of you know, feel that

Okay, Opiece, it beats a bit. It also kind of like stimline principles are all and that when you're maybe for example, i've actually kind of been in record if you were by if you're like, so you're kind of creating your utility functions, you know, just they're going to be like functions and like if you will be like, oh, why don't you put this in the class and those methods and that kind of thing, because of well

they're kind of familiar with opiece class methods and so on. So that's why I asked that question because it's kind of like a very big and I want to say controversy, but I think that's that should be the world. But

yeah, that's that's absolutely great. So so I think I'm another question, the question is do you think like, Okay, I don't know if you've kind of had experience with a lot of people who kind of purely follow functional program I think I might say if I kind of follow like Charls Simpson on

LinkedIn, we kind of talk so much about like functional programming. So I don't know, do you feel like if you've actually worked with like people who are kind of like functional programming stream language, if that a lot of people actually do it a lot, do you feel that there's this kind of knowledge gap in some aspects of functional programming that you feel that maybe in your books you're kind of going to highlight because I know so people feel program is just

functions, just maybe functions, functions and functions, so like that, Yeah, that kind of thing. What would I tell people that want to learn more about functional programming or that might that maybe they have like a simplified view of it, just thinking that functional programm is just creating functions. Okay, that's a good question. So I would say, first off, a functional programming language is a language that allows you to treat functions as first class citizens.

And that's different from just being able to create functions, because you may be writing functions in a language, whatever language you can think of, like I'm sure that most languages, most programming languages have the concept of functions, but the fact that you can create a function doesn't make that language functional. What makes it functional is being able to treat functions as first class citizens. And what do I mean by that is being able to treat functions as data.

Like when you call a function that is like ad and then it takes two perameters two numbers one and two in returns three. That's you expect every single language in the world to support that right, to support the ability for you to create a function called ad that takes super memeters with numbers and returns another number. But functional programming languages are special because they allow you to pass

other functions just like you would pass a number or a strength. You should be able in a functional programming language to call a function that as an argument receives another function, and it might return yet another function as a result. So the first requirement for a functional programming language is for you to allow you to treat functions as first class citizens, functions as data. Then another huge thing, which is not like It doesn't mean that it doesn't allow the opposite,

but it needs to allow immutability ideally it would enforce immutability. But technically, like you can say that a functional programming language is functional even if it allows mutability, just simply by also allowing for immutability. So JavaScript is functional, but it also allows you to mutate the objects. If you were to write functional code, you would never mutate anything. But then you say, Lucas, what do you mean, Like I have a user object, I

need to change the name. Sure, you create another object with the new name, but you can't mutate the original one. And there are a bunch of libraries that facilitate your life on that. So you could use EMMER, you could use immutable JS, you could use fpts as I was mentioning previously, and then you would write your entire code, including your variables, like

you technically should not use let variables anywhere because they are also mutable. So you should be able to write everything as constant, every every everything needs to be constant. Nothing can be mutable. And it's crazy because you can actually write everything that way. Like at first it was like that's that's got to be impossible, like that's there's gotta be a scenario word, But it actually is possible. So I would first say that, just so that the person

can understand that functional programming is not just creating functions. And then I would say what do you get by knowing this and by working in a language that allows that? And then and then I would tell the person, now you are equipped to start learning functional programming techniques. So now you can research about maybe about hiders, about lenses, about currying, as Chris was just talking about, Uh, you can learn about semigroups, ords, semiards, rings,

moneds. You know, there are a lot of abstractions which all those names that I just mentioned, they are patterns, you know. They're they're not specific to a particular language. They're not specific to Haskell, they're not specific to scholar, they're not specific to jeascript. They are patterns kind of like in OP we have like the adapter pattern, we have the strategy pattern.

In functional programming you have a bunch of patterns too, And I think, uh, functional programming developer is someone that understands the patterns that exist, and then he can apply those patterns even in context where he's also using object or into programming. So you can have parts of your code that are functional, other parts that are that are OP but the thing is you got to understand the techniques and the patterns, that's all. Yeah. I wanted to

point out a funny, like a funny side note. You mentioned there's there's no language where you shouldn't be able to define a function. And I remember my first days when I was learning C Sharp and I'm like, oh, like exactly how you describe, like, oh, I just need a quick function here, I'm gonna do this, and my mentor then he's like you can't, and I'm like what. He's like, Yeah, there's no such

thing as as just like a plane function. And I was like what because like I was coming from the front like front end world, where okay, yeah, in Angular you're you're still doing class stuff, but I was in the React functional hook world and it like it like blew my mind. I'm like, okay, so I really have to make like a static class with a static function and that acts as my or a static method and that acts as my function. He's like yep, so I mean now they have they

have local functions. I'm not sure how new they are, but uh, I just wanted to point out, like for people who are listening to I agree with everything you guys are saying like, it's there's huge value in kind of learning both of these paradigms because and for me, I think it's stubborn and kind of ignorant to be like, oh, only functional programing is good, only class OP is good. I think there's there's cool ways of solving problems with both both ways. But I will say it's super hard. At

least it was for me. Like I spent years doing functional react hooks and now I'm right more C sharp, and you somehow you keep you carrying like these functional ideas that just don't always apply or they're just for the other people who have been writing OP forever, they're like, why didn't you just do like this? And it's like a super obvious implementation after you see it, but you just you're just, yeah, you're just stuck in one mode or

the other. So for people who are listening, if you're intimidated or whatever, it's I mean, it's all stuff that we face every day, and and sometimes they're there. First of all, there is no like one best solution. And then even even whether you know you're doing object oriented or functional, even then, as Lucas was saying, there's there's so many different strategies and patterns that you can do to solve these things that yeah, I don't know, I'm kind of rambling on, but yeah, I don't know where

I'm going with that. I would just yeah, I'm just saying like, yeah, I mean, there's volume both. I guess it's the final That's what I'm trying to say. Definitely, definitely, definitely. But what about you guys? So I took thirty one minutes to talk about my side. I feel like now I'm curious, so we may even have to do like

another episode just for each of you. Yeah, yeah, ok, yeah, I mean what I'm I'm working on, of course, I'm using React, but the actual what I've been pushing in the last episodes is my video generator thing. But in terms of React, it's nothing like specifically a framework or anything for React. I'm just using it as my as the front end framework for the for the website. And although I should say maybe that will

get interesting, like in later episodes, I can mention or whatever. I'm trying to get into an electron app because I think the type of app makes the most sense as a desktop app because you need some like recording, screen recording and voice recording and all that stuff, and I'm learning all the weird I never really learned electron, and they have kind of a I'm sure it's not weird for experts and people who have been using it, but they have

a like you have your renderer and then you have like the actual like node code. I don't really understand it. I have to the documentation, but but there there's some quite interesting stuff. It's I think it's mostly around security, but there's kind of like a messaging bridge, so you make sure like because it runs in a browser and you it's basically so like you can't expose

the entire file system to like the world as an example. But yeah, so I don't I don't have any think like to too crazy react specific in my in my projects. You should check out Taudi. It's a project that yes, uh, it's an alternative to Electron, and from what I see. From what I see, it compiles two really really really smaller bundle sizes. And I think the way that they do this is because Electron compiles with the Chromium binary along with it, and Taudi compiles in a way that uses

the the browser engine that is native to the environment. You're compiling two so and this is a gas actually, but I think it's the only thing that makes sense because it generates bundle sizes that are like three megabytes. That's awesome. Yeah, yeah, because that's the one like the infamous thing about Electron yet, like yeah, it's super cool. You can now you can build

even desktop apps with JavaScript. But that's always what everyone talks about, is you have like I think the minimum is like two hundred or something like two hundred megabyte, so it's pretty high. I'm sure they've improved it, but yeah, cool. I will definitely check that out. And I think they're I think they build not they bundle not just for desktop, but for desktop and mobile, Okay, always a bonus. Yeah, yep, cool.

So yeah, just check it out because I'm not sure if they if they have mobile support and are adding desktop, or if they have desktop and are adding mobile, or if they are I have both because since then new rks you really want the desktop support then, so perhaps check that out before because otherwise may be better to go with Electron just because like at the end of the day, is is the de facto standard currently right, like everyone using it and is battle tested. M okay, how about you, Peter,

Yeah, not really much. I kind of worked on articles like last week, I looked though some CSS. I think it's be the kind of like the landmark of my week kind of social meetings and CSS or kind of awesome boots. I think it's about texts rapping on the risk right. I kind of released it on the refinance block. I think I worked on rounded corners and school bus and soso folks right to not really much just fancy saisis Yeah, yes, okay, Peter, I have a I have a question for

you. This is like super general about CSS. What do you what are your thoughts of the I don't want to mess it up? Block l modifier? Is that? Like is that still are people using that? Was that old school or I remember that from like years ago? What do you think

about it? Or yeah? Yeah, well the block Yeah, I think it's small in the old scoopacity if we use it both the is it for okay if you don't kind of combat on inline elements to like your block element as as, I think it's kind of just in those cases, yeah, as I feel it's the kind of just yeah, I just remember like I mean they are they are. I understand the concept because like you're very specific,

you know exactly where your style will be applied. But I just remember you can end up if you're too how should I say, if you're too flowery with your writing, you end up with super long tags? Yeah, yeah, exactly. So I think what once you need to understand. I think most of the time is we just need to I think, like more in the elements that are kind of default values. Right, so when men

aidlines and events are block that kind of I acknowledge. I think that will actually help you to actually know I assigned that identifyer to for example, you just assigned like a block identify it to destart this kind of pointless because you know it's kind of a block element, right. But then you may be a situation whereby we want to assign something to like re spam or maybe like a paragraph, right, you need to like put the identify and then yeah,

maybe you want to kind of just some kind of fancy stuff. Then yeah, we get so I think it's it's still used though, but I think it depends on your knowledge on how like the defaults the default to displays for all, like like elements, right, Yeah, I honestly didn't even recognize the pattern when you said block element modifier because I was so used to just saying Ben that I forgot what, uh what the letter is actually then, But yeah, it's funny that that really is. It is going into

like not deprecation, but very like not used anymore for the community. Like it seems that everyone that was in that train is migrating too. H every every the entire internet seems like yeah, yeah, exactly exactly, which is interesting because that, uh, that's also connects to the topic of functional programming, like tailwind is not then, but functional programming in CSS if you really think about it, I haven't seen the source, so yes, so then

would be the OP of CSS. It's literally that because you have the block, which is a class, and then you have the elements, which are properties inside the class. So this is OP. You think about things in terms of objects, but in tailand you think about things in terms of what they do and not what they are. So you think about utilities. You think this should be spaced like that, this should have display flax, this should et cetera, et cetera. So it's like just a bunch of utilities

that they don't give meaning, but they give functionality. Yeah, I've never thought of styling like that way, but yeah, yeah, I think that that that's kind of like a goodlogy about it. Yeah, that's very good. Yeah, maybe maybe that's like your resource or or something book or something about it. It's absin a little good that's a little good analogy. I think that's that is kind of like if we're good, it explains to some well maybe a yeah, an intermediate or a bit seen that probably yeah,

they will probably in a different light. Yeah that's true. Well wow, And I don't know if I just said that at loud or if I read that somewhere else, because to me, it feels that that's how they should they should present TAILWIN. I think that this is the easiest way for you to present tailwin. It's like the tailwent website should say this is functional programming for c This is like the best way for you to introduce it. And so I don't know if I'm just if I just created that or if I

actually read that somewhere. It seems like pretty clear that it should be that, but yeah, yeah, I think I think that's actually true. Want thing is that. I think the will present it that way because it's kind of like for beginners, a little beginnings kind of what can we throw into the problem on the standdown to place set? Have you ever wished that you had a group of people that were just as passionate about writing code as you are? I know I did. I did that for most of my career.

I'd go to the meetups, I try and create other opportunities, and it was just really hard, right the meetups. I got some of that, but they were only like once or twice a month, and it was just really hard to find that group of people that I connected with and really wanted to, you know, talk about code a lot, right, I mean, I love writing code. I think it's the best. And so I've decided to create this community and create a worldwide community that we can all

jump in and do it. So we're going to have two workshops every week. One of those or two of those every month are going to be Q and A calls right where you can get on you can ask me or me and another expert questions. Uh. The rest of them are going to be focused on different aspects of career or programming or things like that. Right, So it'll go anywhere from like deployments and containers all the way up to managing your Form one K and negotiating your benefits package. Well, we'll cover all

of it, okay. And then we're also going to have meetups every month for your particular technology area. So we have shows about JavaScript, to react, angular view and so on. We're gonna have meetups for all of those things. I'm going to revive the freelancer show. We'll have one about that right, so you can get started freelancing or continue freelancing if that's where you're at. And I'm working on finding authors who can actually do weekly video tutorials

on some thing for ten minutes. That's related again to those technology areas, so that you can stay current, keep growing. So if you're interested, go to topendevs dot com slash sign up and you can get in right now for thirty nine dollars. When we're done, that price is going to go up to seventy five dollars, and the thirty nine dollars price gets you access to two calls per week. The full price at one hundred and fifty dollars, which is going to be seventy five dollars over the next few weeks.

That price is going to get you access to all of the calls and all of the tutorials and everything else that we put out from top Endevs, along with member pricing for our remote conferences that are coming up next year. So go check it out top endevs dot com slash sign up. Okay, so let's start wrapping things up. So I don't even know if we want to do promos because the entire website, the entire episode website, what the entire

episode was about telling what we're working on. So I myself don't really have promos. But Chris, if you have anything to say, yeah, I'll just post it again. But it's still each week I make no progress. So it's uh, but I should be working on it a little bit more. It's my code video converter. Okay, what about you, Peter, Well, yeah, I want to pour the articles I walked on on the

chats. Yeah they published already and just pissed it all right. I will send those links in the comments section for all of you that stick up until the end as most of the yeah, most of the web. Why was the website? Why? Why is my brainthinking of website that makes no sense, But did you walk on the website this week that strode up until the end of this website. Thank you because we really talked about some really complex things today. So yeah, congrats on reaching the tuoter. Yeah, I

saw you next week. Yeah,

Transcript source: Provided by creator in RSS feed: download file
For the best experience, listen in Metacast app for iOS or Android