Speaker 1: Hey, welcome back to another episode of the Ruby Rogues podcast.
Speaker 1: This week, on our panel, we have a Yushwatya.
Speaker 2: Hello. Hello.
Speaker 1: I'm Charles Maxwood from Top End Devs. Man, it feels
Speaker 1: like it's been a while since we've recorded one of
Speaker 1: these dozen.
Speaker 2: Yeah, it's been a few months. Yeah, at times, just
Speaker 2: been flying for me. So it's all gone back quite quickly.
Speaker 2: But it's nice to be back.
Speaker 1: Yeah, definitely. For those of you who are listening and going,
Speaker 1: didn't you release one like last week or the week before, Well,
Speaker 1: there were a few things that happened. I'm just going
Speaker 1: to fill you all in. I don't know if you
Speaker 1: need all the insight baseball, but it's interesting, and then
Speaker 1: I'll introduce our guests. I wound up getting a job
Speaker 1: at Price Picks at the end of March. I also
Speaker 1: hired my daughter to be putting the episodes out and
Speaker 1: she didn't and so I fired her. I had to
Speaker 1: fire my own kid, and so Jib who's our editor,
Speaker 1: took over posting the shows, and so he went and
Speaker 1: found all the ones that hadn't been posted and started
Speaker 1: posting him again. So the gap that you all, as
Speaker 1: listeners saw was probably back in like April. Right, there
Speaker 1: was like a month in March or April that you
Speaker 1: didn't see episodes. So you're getting episodes that we recorded
Speaker 1: a month or two or three ago, and now we're
Speaker 1: kind of back at it and recording episodes again. So anyway,
Speaker 1: your gap is different from ours. So but it feels
Speaker 1: so good to just get back and talk about the
Speaker 1: stuff we love. And we've got two terrific guys who
Speaker 1: were here who are working on a very interesting project.
Speaker 1: We have Adrianne Poli and Mark and Marco Roth.
Speaker 3: Hey, thanks for having us.
Speaker 1: Yeah, absolutely, and yeah, I think I'm the only one
Speaker 1: of you guys that's not in Europe, so thanks for
Speaker 1: coming in the evening or afternoon whenever it is there.
Speaker 1: Uh yeah, So I reached out because I ran across
Speaker 1: a really interesting project. It's it's Ruby video or Ruby
Speaker 1: videos dot dev, which one is it.
Speaker 4: It started as a Ruby video and uh, like two
Speaker 4: months ago we decided to rebrand it for a bigger
Speaker 4: picture on the under the Ruby events dot org. The
Speaker 4: project has more ambitions, but we can dive a bit
Speaker 4: more into the details and that's later on.
Speaker 1: Yeah, makes sense. So when you started, I'm kind of
Speaker 1: curious what what was the vision I was?
Speaker 4: It was several things occurred at the same time. First,
Speaker 4: I visited a similar project in the Python world that
Speaker 4: is called the t Video or something like this, which
Speaker 4: is a website that indexes something like fifteen thousand Ruby
Speaker 4: Python videos of conference and so on. And I was
Speaker 4: looking at something similar in the Ruby industry and I
Speaker 4: couldn't find anything. Of course, you can always go to
Speaker 4: YouTube or Google search and search for whatever things you need,
Speaker 4: but I couldn't find a single place where you could
Speaker 4: search for a specific topics and get all the conference
Speaker 4: on that particular topic in the Ruby industry. So at
Speaker 4: that time, I also I was interested to test several
Speaker 4: things that were coming out that there was come out.
Speaker 4: There was this Esclie trends, and I wanted to build something.
Speaker 4: So I started to build a small website that started
Speaker 4: with I think eight hundred videos, mostly rails cones, Ruby
Speaker 4: coones and so on. That was the proof of concept,
Speaker 4: the first proof of concept so largely inspired by a
Speaker 4: Byton video, and it had a bit of traction at
Speaker 4: the beginning. When it was announced. Of course, it was
Speaker 4: open source, and very quickly Marco joined the venture and
Speaker 4: came Marco was also maintaining Ruby Conference. If you want
Speaker 4: to add more details on this, maybe Marco.
Speaker 3: Yeah, so I was maintaining Ruby Conferences dot org, which
Speaker 3: used to be this simple website where you can add
Speaker 3: o where you can see all the confidences are happening
Speaker 3: in the Ruby world.
Speaker 1: I use all the time. By the way, it's like
Speaker 1: what's coming up and where can I submit calls for
Speaker 1: proposals and stuff? So yeah, thanks for that.
Speaker 3: Yeah, that's that's been like going for a long time.
Speaker 3: It's I have been just trying to bring in the
Speaker 3: up to date and kind of kept adding these new
Speaker 3: events that I saw coming on. But then I realized
Speaker 3: that they also had like video links to YouTube playlists
Speaker 3: and all these other like topics they had on the website.
Speaker 3: And then we decided to add meetups, and then we
Speaker 3: were like, yeah, let's maybe redesign this webpage because it
Speaker 3: does look dated in a way, so you wanted to
Speaker 3: kind of add more features to it. But it kept
Speaker 3: kind of like his ideas kept growing and they couldn't
Speaker 3: really find a good way to make it happen on
Speaker 3: this checker website. And at the same time, then Ruby
Speaker 3: video came around and it was like, Oh, actually, this
Speaker 3: is very much like what I kind of hadn't visioned
Speaker 3: for Ruby Conviences to be. That's why I decided to
Speaker 3: kind of join forces with oddly On to kind of
Speaker 3: make this one website or kind of contribute to Ruby
Speaker 3: Video to make this the thing that I wanted Ruby
Speaker 3: Confidence to be. And that's kind of what ties into
Speaker 3: this rebranded bed a few months ago, where you want
Speaker 3: to bring these two websites together as one. This is
Speaker 3: going to be Ruby events dot org and that's in
Speaker 3: the future where you will find all the upcoming events,
Speaker 3: previous events, and even if you're at the event at
Speaker 3: the moment, you can see the schedule and all of that.
Speaker 3: So it's kind of just a deep place to go
Speaker 3: for anything Ruby events related.
Speaker 1: Nice. I usually you have questions because I've got a
Speaker 1: ton and I don't want to.
Speaker 2: I have a ton of why didn't you continue, I'll
Speaker 2: jump in as.
Speaker 1: And when okay, sounds good. So I'm kind of curious.
Speaker 1: So you decide you want this website, and I think
Speaker 1: the closest thing we've had in the past was Confree's
Speaker 1: used to host all the videos from all the conferences
Speaker 1: that they recorded. But I went and looked, and I
Speaker 1: and find them anymore. And I don't know, I don't
Speaker 1: know what the story is there, if I'm just not
Speaker 1: doing the right Google search or whatever. But anyway, so
Speaker 1: you start putting the site together and I mean, how
Speaker 1: are you finding the videos? We're just embedding them from YouTube?
Speaker 1: And were there any challenges that you're into kind of
Speaker 1: pulling this together?
Speaker 4: Yeah? For now, we don't host any videos, so we
Speaker 4: just index them. So we mostly find them on YouTube
Speaker 4: because that's where mostly events are hosting their videos. A
Speaker 4: few do host them by themselves, like Brighton. I think
Speaker 4: Brighton is an example for something quite recent, but mostly
Speaker 4: it's YouTube videos, so we do get the meta data
Speaker 4: from YouTube. There is there has been a very big
Speaker 4: work and Marco contributed a lot on this to build
Speaker 4: all of those yanal file that will describe all the
Speaker 4: meta data for all the talks, all the events with
Speaker 4: both their links and so on, with the correct speakers,
Speaker 4: the correct description. Lots of cleaning of the meta data
Speaker 4: has been done.
Speaker 1: So do you import it and then clean it up
Speaker 1: by hand or do you go find the videos that
Speaker 1: you want and then just capture all that information somehow?
Speaker 1: Or how does that work.
Speaker 2: Yeah.
Speaker 3: So we have a few what we call metadata parsers,
Speaker 3: and some events have the same structure in the title
Speaker 3: of how they arrange their titles, so we can kind
Speaker 3: of do some smart logic by splitting on the word
Speaker 3: by or by dashes or commas, and then you get
Speaker 3: there like ninety percent of the way and then there's
Speaker 3: like some left over to do where it just go
Speaker 3: in and cleaned up by hand. But I guess this
Speaker 3: could also be improved in the future now that we
Speaker 3: have LMS and all of that to be more automated.
Speaker 3: But for now this has been proven to work out
Speaker 3: really well.
Speaker 1: Right, And you said that you have it all in
Speaker 1: YAMO files. So when there's a new conference or I
Speaker 1: was kind of assuming it was built on like rails
Speaker 1: or Hanami and had a database behind it. But is
Speaker 1: this more along the lines of something like a jackal
Speaker 1: or Bridgetown or something where you know, maybe you say, hey,
Speaker 1: my data is in these files, and so I'm just
Speaker 1: you know, I just build every time I get a
Speaker 1: new conference.
Speaker 3: Yeah, so for now, it's it is a rails up
Speaker 3: and it has a database. Okay, but what we do
Speaker 3: is that we go through all the AMMA files and
Speaker 3: import them into the database, just so we have a
Speaker 3: nicer interface to queer the data and kind of half
Speaker 3: speak profiles and event pages that's just easy to quer
Speaker 3: you and kind of build the websites around them, so
Speaker 3: they are all genamically generated on the service side and
Speaker 3: then served using the traditional rails requests response cycle.
Speaker 1: Gotcha, And I guess the other question I have is,
Speaker 1: you know, are you mostly focused on conferences or are
Speaker 1: you looking to do things with like meetups or if
Speaker 1: somebody puts up a good tutorial or something like that,
Speaker 1: you know, those are all videos that you may or
Speaker 1: may not want to pull in. I guess tutorials aren't events,
Speaker 1: but meetups are.
Speaker 2: Yeah.
Speaker 3: That was one of the reasons why I personally also
Speaker 3: wanted to move away from Ruby video, because this was
Speaker 3: meant to be focused on events, which also includes meetups,
Speaker 3: and we have a few meetup groups on there too,
Speaker 3: and not all the meetups are recording videos for the
Speaker 3: events and talks, which is also the other thing that
Speaker 3: I want to get away from Ruby video, because we
Speaker 3: want to still index all the talks that are happening at
Speaker 3: these meetups, even if they have no recording to it,
Speaker 3: So that you can at them as the titles, at descriptions,
Speaker 3: at the media data, at some of the slides if
Speaker 3: they have them available, or some of the resources like reposts,
Speaker 3: that you can still see that this talk and event
Speaker 3: took place at this time by the speaker, and this
Speaker 3: is all the information we know about it as well.
Speaker 3: But that's the thing. Like with tutorials, I think this
Speaker 3: is something that's harder to index in that sense that
Speaker 3: it keeps like it stays relevant, which I think this
Speaker 3: is still really good on YouTube or anywhere else where
Speaker 3: you host these tutorials. So I personally don't see at
Speaker 3: least in the near term that we kind of host
Speaker 3: these tours on on Ruby events as well.
Speaker 2: Okay, So I wonder if we could dig into these
Speaker 2: technicals a little bit, because you guys have built an
Speaker 2: actual production website using sequel Light and there some new
Speaker 2: feed reels features like solid que and also I think
Speaker 2: it's the first website that I can definitely remember has
Speaker 2: used page view transitions. So in terms of all these
Speaker 2: technologies in an actual app, what was your experience.
Speaker 4: Like, Yeah, as I said, when I started to build,
Speaker 4: I love to build things, but I am an engineer,
Speaker 4: so I am an engineer builder, so whenever I tried
Speaker 4: to build something new, it also has to be a
Speaker 4: way for me to discover tests some new technologies. So
Speaker 4: real builders will use proven tech and they just focused
Speaker 4: on the on the product, the feature, the and so on.
Speaker 4: So for me, as I said, when I had this
Speaker 4: initial idea of Ruby video, there were several technology that
Speaker 4: all came out and I wanted to try, and page
Speaker 4: view transition was one of the technology that I really
Speaker 4: wanted to try on. They had this demonstration where there
Speaker 4: is the same effect when you click on the small
Speaker 4: thumbnail of a video, then it's zoom up and you
Speaker 4: get this nice transition from the index to the show view,
Speaker 4: and I think that's pretty cool. At the same time,
Speaker 4: I had this feeling that in the rails industry, you know,
Speaker 4: always with the same topics, rail is dying and so on.
Speaker 4: A lot of the the impression that rail was old
Speaker 4: comes from some website built on rails that are that
Speaker 4: have some old look that they are not modern. Uh,
Speaker 4: that the back end is great, but the front end
Speaker 4: is built by back end developers, and I want it also, uh,
Speaker 4: this website to be some kind of flagship and that
Speaker 4: demonstrates that we we can build. We can get a
Speaker 4: nice uicks uh and UI with rails. Uh. You don't
Speaker 4: need to react, you don't need whatever front end framework
Speaker 4: to do this. And there are lots of technology availables
Speaker 4: nowadays with base you transition with Delawyn and some some
Speaker 4: component libraries that you can use to get something that
Speaker 4: is nice.
Speaker 2: Yeah, it looks great as as quite impressed. We just
Speaker 2: are clean and simple designers, which is awesome. Does the
Speaker 2: page transition to API hooks into tablet drive? Doesn't it?
Speaker 4: When Hm, I started the project, it wasn't available with
Speaker 4: Turbo drive, so I use a package I don't recall
Speaker 4: the name, yes exactly, that provide the the bridge between
Speaker 4: Turbo and Pagroot transition. Since then, uh, Patriot transition has
Speaker 4: been built in into Turbo, so now it's uh, it's
Speaker 4: a native feature.
Speaker 2: Cool. And how was this the first time you'd use
Speaker 2: sequel light on a production app or how do you
Speaker 2: used it before?
Speaker 4: For me, it was the first time. Yes, how did you.
Speaker 2: Find that change from I'm guessing postgrass that you used
Speaker 2: in the past. Was it was it a big change
Speaker 2: in terms of thinking and designing or was it pretty
Speaker 2: much seamless.
Speaker 4: Mm hmmm. I would say it was seamless in terms
Speaker 4: of a developer experience. What is nice is that doing
Speaker 4: a backup or if we need to dump some database,
Speaker 4: it's just a single fight that you need to to move.
Speaker 4: Combined with Camal and a small VPS hosting made the
Speaker 4: things amazingly cheap to host. That's that was I mean,
Speaker 4: compared to Heroku or whatever past where you always end
Speaker 4: up with a minimum of fifty year old per month,
Speaker 4: we could divide this almost by ten and get better
Speaker 4: performance out of it.
Speaker 1: So the performance language, I love that. I love that
Speaker 1: because yeah, I've had the same experience with Kamal and
Speaker 1: some of those tooling, so.
Speaker 4: So it's it's yeah. I mean, I wouldn't say that
Speaker 4: it was always perfect and that I sometimes spent more
Speaker 4: time that than I should have learning all of those
Speaker 4: Camal settings and so on, but that's that's something that
Speaker 4: I wanted to do also as part of growing experience,
Speaker 4: so that that it was okay for me to spend
Speaker 4: some time on this. But I'm not sure how you
Speaker 4: feel Marco about it. But for me, the the experience
Speaker 4: with as with Circulite, has been amazing. I mean that
Speaker 4: this the speed, the the API. There is nothing that
Speaker 4: really that I couldn't do up to now that I'm
Speaker 4: able to do in post grace or whatever database.
Speaker 3: Yeah, it's been similar experience for me. I didn't really
Speaker 3: have any problems with adapting from coming from prostgress. Mostly
Speaker 3: pretty much everything worked as I expected to work, and
Speaker 3: also from the query speed and all of that, it
Speaker 3: didn't really make any difference for me on how I
Speaker 3: built apps. But I think this is mostly also thanks
Speaker 3: to active record that does the heavy lifting for us
Speaker 3: in the bag we.
Speaker 4: Had for the full tech search to do a bit
Speaker 4: a bit more integration. I guess that this will with
Speaker 4: Rail's eight point one should be mostly covered with something
Speaker 4: official from what I understood, but it's not yet. Really
Speaker 4: we don't know exactly the boundaries. But now we have
Speaker 4: a full tech search that is performed by esk light
Speaker 4: and that works quite nicely.
Speaker 2: Did yeah have to change your database schema to be
Speaker 2: a sequel file instead of an RB file or is
Speaker 2: that something that they've fixed Because I knew until like
Speaker 2: a couple of years ago, if you wanted to do
Speaker 2: full tech search your sequel light, you couldn't have a
Speaker 2: schema dot orb it had to be a structured dot sequel.
Speaker 2: Is that something that they've changed now?
Speaker 4: I think so, because we are still using the RB schema.
Speaker 2: Okay, great, that's good to know.
Speaker 1: So have you thought about doing like a semantic search
Speaker 1: of some kind on there?
Speaker 4: Yes, the the very first version of Ruby video I
Speaker 4: used malisearch combined.
Speaker 1: That was nice to esq light because.
Speaker 4: I think at that time uh full tech search. It
Speaker 4: was probably possible with esclight, but either I couldn't find
Speaker 4: a up to date tutorial or things that that were
Speaker 4: built in Ruby. At that time, I feel like it
Speaker 4: was still a bit something new in the Reils world
Speaker 4: for building a production website. So I started to use
Speaker 4: a mail search and we we did some proof of
Speaker 4: concept for doing semantic search and like similar topics, similar
Speaker 4: finding similar dogs to one tales by. We created some
Speaker 4: embeddings and so on. That's something that we didn't push
Speaker 4: to production yet, but I'm really interested to work on
Speaker 4: this feature uh in in the upcoming months or so.
Speaker 4: That's that's really something where I think we can improve
Speaker 4: the overall discoverability of the content.
Speaker 1: Yeah. I've played with it some, mostly using vector vector
Speaker 1: stuff with either elastic search or postgress and yeah, I
Speaker 1: mean it's cool stuff and it works out because then
Speaker 1: you can if I don't put in exactly the term
Speaker 1: that a full tech search would, you know, miss on,
Speaker 1: it can figure out what I'm looking for and kind
Speaker 1: of give it to me anyway.
Speaker 4: So it's definitely something that we'll want to improve to
Speaker 4: get some semantic search.
Speaker 1: So what other things are you looking to add to it?
Speaker 1: It sounds like you're going to merge the Ruby Conferences
Speaker 1: dot org and Ruby events dot org. Do you do
Speaker 1: you have other ideas of things that you want to
Speaker 1: add to this or bring into it, or do you
Speaker 1: have kind of a kind of a limited scope that
Speaker 1: keeps it simple.
Speaker 3: Yeah, I mean there's a bunch you can do and
Speaker 3: a bunch of stuff you want to do. But then again,
Speaker 3: it's kind of tricky to build out all these features
Speaker 3: and make it work, especially because Ruby conscious that didn't
Speaker 3: really have a lot of meta data around any of
Speaker 3: the events. It was pretty much the name, the dates
Speaker 3: in the location right and now on Ruby Events we
Speaker 3: have the speakers, the talks, all the descriptions, so it's
Speaker 3: not just a one to one copy that we can
Speaker 3: take over and then it's good. So yeah, are looking
Speaker 3: on ways to bring over all the events. We have
Speaker 3: the events index now, but I have no speakers and
Speaker 3: no talks touched to them. So that's what be one
Speaker 3: thing to just go back to all these events and
Speaker 3: to try to add all these old talks so you
Speaker 3: have the data for it. But also then looking at
Speaker 3: the future. Having attended a bunch of conscious in the
Speaker 3: last few years, I noticed that the people that organized
Speaker 3: these events struggle with just the whole workflow as well.
Speaker 3: And one of the aspects of that is also the
Speaker 3: call for papers and finding the right platforms to host it.
Speaker 3: It seems to be quite an issue that's quite expensive
Speaker 3: for conference organizers to just be able to host the CFP.
Speaker 3: So we were also looking in two ways to make
Speaker 3: it easier to have like a full process for conference
Speaker 3: organizers to go from announcing the events up until the
Speaker 3: point to leasing the videos. To have this full workflow on.
Speaker 3: Let's announce the CFP, let's collect the proposals, let's finish
Speaker 3: it up. Then let's publish a schedule, let's publish the
Speaker 3: actual talk titles, Let's publish the event as I think
Speaker 3: that's happening. Then during the event, maybe there's some updates.
Speaker 3: Maybe there's just the currently the talk is currently running,
Speaker 3: and then after the talk, after the event, you don't
Speaker 3: get the recordings attached to the same the same talks.
Speaker 3: So just to kind of have this full experience on
Speaker 3: for conference organized, but also for attendees, to have this
Speaker 3: one interface platform where you can just go to and
Speaker 3: find the information you need. Another aspect also was to
Speaker 3: add photos official photos from the event, but also from
Speaker 3: social media. So if you use the conference hashtag, that
Speaker 3: we show these photos right next to the event itself
Speaker 3: and give some more impressions of what the event was
Speaker 3: like from people that's attend the event over talking about
Speaker 3: the event in some way or a number just to
Speaker 3: kind of bring the whole community aspect together, especially now
Speaker 3: when we have the social media breakup where everybody is
Speaker 3: just on some social platform but not everybody is on
Speaker 3: the same platform. At least with these rupy events, that
Speaker 3: we have one place where we see the stuff that
Speaker 3: we want to learn from, at least for the engineering
Speaker 3: part of our careers.
Speaker 2: Nice with this, like just like running this project, do
Speaker 2: you do you guys always see it always as a
Speaker 2: passion project? Do you reckon? You might like the sponsorship
Speaker 2: or some other kind of revenue model in the future,
Speaker 2: because if you're going to do something like come up
Speaker 2: with the whole workflow for conferences to run, see I
Speaker 2: FeAs and so that seems like quite a lot to
Speaker 2: do just for fun.
Speaker 3: I mean, I haven't really thought about how you would
Speaker 3: monetize it. I'm sure there are ways to do it,
Speaker 3: but then again, in the terms of community, it doesn't
Speaker 3: really seem to make sense to just monetize the whole
Speaker 3: platform for that. So at least for me, it's I
Speaker 3: plan it's to be for it to be a passion
Speaker 3: project that continues to be the case. And but maybe
Speaker 3: has another view about this, No.
Speaker 5: No, I mean for me it's those always I've always
Speaker 5: wanted to be and to remain a passion project. So
Speaker 5: that's also one of the reasons where I know that.
Speaker 4: We have lots of ideas of what we can do,
Speaker 4: but I mean, we also have day jobs, and so
Speaker 4: it has to remain a passion project and so things
Speaker 4: might not arrive tomorrow, it might take a bit more time,
Speaker 4: but we are doing it this with our little hands
Speaker 4: and some help of the community. Also, there's been lots
Speaker 4: of contributors lots of very interesting contribution from a various persons.
Speaker 4: Maybe some person that you met Marco, but I think
Speaker 4: also some person that came naturally to the ripple and
Speaker 4: suggested some nice improvements.
Speaker 2: Yeah.
Speaker 3: The only other aspect that I could see this making
Speaker 3: some money at least two account for the cost of
Speaker 3: running it would be so if we want to add
Speaker 3: sponsors anyway, we want to kind of index all the
Speaker 3: sponsors that have sponsored an event and give them a
Speaker 3: profile page two to say this company sponsored all these
Speaker 3: events and that's what they kind of gave back to
Speaker 3: our community. Also that it's more interesting for companies to
Speaker 3: sponsor events not just for the duration of the events
Speaker 3: or leading up to it that they can see their names,
Speaker 3: but also in the archives say these are the companies
Speaker 3: that made this event possible. And maybe there are some
Speaker 3: companies that would love to still help out or kind
Speaker 3: of have the name on the platform to say we
Speaker 3: support the rugby community in that way. And I could
Speaker 3: see that kind of workout, But I don't see it's
Speaker 3: being monetized in a way for you to access any
Speaker 3: information or running a call for papers or anything like that.
Speaker 1: Yeah, I think that's a natural thing. So I've been
Speaker 1: working on a side project that it does index the conferences,
Speaker 1: but it also indexes like gems and tutorials and you know,
Speaker 1: lets people know when the meetups are coming up, and
Speaker 1: you know, basically it's like an all in one directory
Speaker 1: for anything having to do with Ruby. It turns out
Speaker 1: it's probably a lot more work than what you guys
Speaker 1: are doing. But that was what I was looking at too,
Speaker 1: was just you know, it's like, hey, you know, this
Speaker 1: naturally fits in here where you know, you're looking at
Speaker 1: error handling tools right for dev tools under dev tools,
Speaker 1: and so then you'd have that banner there because somebody
Speaker 1: paid to kind of have their banner or be at
Speaker 1: the top of the list or something like that. And
Speaker 1: so I think something like this makes a lot of
Speaker 1: sense in your case too. Yeah, where somebody is you're
Speaker 1: not gatekeeping any content. You're just making people aware, Hey,
Speaker 1: they sponsored this video and you know you can find
Speaker 1: them here, and it just kind of extends whatever it
Speaker 1: was that they got from the conference exactly. Yeah, So
Speaker 1: I'm kind of curious, and I guess I could probably
Speaker 1: go look this up, But how many conferences of you
Speaker 1: indexed and put onto the website?
Speaker 3: There are five hundred forty conferences on the website right now.
Speaker 3: Oh wow, and I think there are around two hundred
Speaker 3: and fifty to half actual talks touched to them. Okay,
Speaker 3: so there's still like half of them don't have any
Speaker 3: like talks touch to them, but there's still a lot
Speaker 3: of data already on the platformance off.
Speaker 4: And that's so then seven hundred and ten.
Speaker 1: Dogs, That's what I was going to ask, how many talks?
Speaker 1: Seven thousand plus talks.
Speaker 4: That's amazing, almost three five hundred speakers. Wow, yes, and
Speaker 4: that's that's also a nice feature of Ruby Events is
Speaker 4: that speakers have their own page where the they we
Speaker 4: get some information from their guitar profile and also will
Speaker 4: index will list all of their talks. They can if
Speaker 4: they connect with Guitar, then they can get a little
Speaker 4: mark that will certify their their profile and they can
Speaker 4: do some small edits to the content on their their profile.
Speaker 4: But we start to have yeah, there's lots of lots
Speaker 4: of speakers. Some it's it's interesting when you discover a
Speaker 4: speaker and that you can also see what other talks
Speaker 4: he gave. So that's uh, brings a lot of serendipity
Speaker 4: into the the search experience with the the whole content.
Speaker 1: Nice. Yeah, I found's page and yeah.
Speaker 2: Yeah, I went looking for my own page in a
Speaker 2: very narcissistic quay as well.
Speaker 1: Did you I'm spoken? Oh, it says right there, claim
Speaker 1: your profile.
Speaker 2: Yeah, I'll have found this.
Speaker 1: Oh you've got my old stuff in here.
Speaker 3: There you go.
Speaker 2: Wow, I'm looking for your page, not chuck.
Speaker 1: Yeah, and the most recent talk in there for me
Speaker 1: is from twenty thirteen. It was a Ruby Rogues panel
Speaker 1: I did. Yeah, I did some other talks.
Speaker 3: But I'll rest on twenty fifteen ls though, But I
Speaker 3: think it's if your middle name there, so it's just
Speaker 3: Charles Wood, which has another talk in twenty fifteen.
Speaker 1: Oh okay, yeah, we do plant it on speaking more
Speaker 1: so so you may see other stuff pop up if
Speaker 1: you're wondering that.
Speaker 2: Sweet I as I found the topic section where you
Speaker 2: can jump into topic and see all the talks that
Speaker 2: fit under that, which which I think is super cool.
Speaker 2: But just curious about how you tagged each talk with
Speaker 2: a number of topics or is it a manual process
Speaker 2: or g use like l l m's or something of
Speaker 2: that for it.
Speaker 4: Yeah, it's it's l M based. We it's we try
Speaker 4: to to to Once we get the meta data from
Speaker 4: the for for for the does those you file, we
Speaker 4: we ingest them into the ESCALI database and then we
Speaker 4: try to enhance those meta data. First, if we can
Speaker 4: get the transcript of the talk, we'll add the transcript
Speaker 4: to our database. We'll do a first cleaning of the
Speaker 4: transcript because most of the time the transcript that we
Speaker 4: get are not so accurate, and we run them through
Speaker 4: a first ai agen that will produce something that is
Speaker 4: much cleaner, not perfect, but cleaner. Out of it this,
Speaker 4: we build a small summary of the talk where you
Speaker 4: can get i don't know, like the main key points
Speaker 4: that are covered during this talk. And then out of
Speaker 4: this the transcript and the summary, we feed this to
Speaker 4: an l LAM with the existing topics that we have
Speaker 4: because we try to avoid doing too much. Duplication doesn't
Speaker 4: work perfectly, but does a bit and then uh, this
Speaker 4: will create the taggings. So in the perfect world, well,
Speaker 4: of course we'd like to get some more manual tagging,
Speaker 4: but it wasn't given the amount of talks we had
Speaker 4: and all the the history that we needed to cover.
Speaker 4: The backlogs, the DLM really help us improve do this very.
Speaker 1: Quickly, are you Yeah, you were talking about the cost
Speaker 1: of running this. Are you are you paying for the
Speaker 1: LLLM that you're accessing? Are you running something like olama
Speaker 1: on your own thing? On your own.
Speaker 4: It's mostly open ai tokens, so okay, and frankly speaking, yes,
Speaker 4: I'm paying for this, but I think I probably put
Speaker 4: like twenty US dollars or an ace.
Speaker 1: Okay, so you have it, spend time. I've seen those
Speaker 1: costs go up when people use some of those models, So.
Speaker 4: Yeah, no, for now, the models that we are using
Speaker 4: for topics and summarize those things are pretty stand out.
Speaker 4: Those are the cheap.
Speaker 1: Models of I was going to say, you're not paying
Speaker 1: for the most recent expensive models.
Speaker 4: Well, they are recent, but they are not the largest one, right. Okay,
Speaker 4: we have seven thousand videos. It's a lot, but it's
Speaker 4: not it's not that much neither, so we don't We
Speaker 4: don't ingest thousands of video every day, so the cost remains.
Speaker 1: Oh yeah, that makes sense.
Speaker 4: Yeah, you know, I haven't counted exactly, but it's it's
Speaker 4: something that as I can't afford, I don't need to
Speaker 4: find a business model yet for this spot.
Speaker 1: Sounds good.
Speaker 2: I wonder if if you guys want to switch gears
Speaker 2: a little bit and just talk talk a little bit
Speaker 2: about stimulus, because you guys are both core maintained as
Speaker 2: of that, and is that something you want to discuss.
Speaker 3: Do you mean, like SIMS in general, on the context
Speaker 3: of in.
Speaker 2: General in general and in the context of the website.
Speaker 2: I guess.
Speaker 6: Sure, I mean yeah, so it's it's just the setup
Speaker 6: of hot Wire in terms of governance is a bit strange,
Speaker 6: because it's like Reels has a core team and an
Speaker 6: issue to even a committed and it's all fairly clear.
Speaker 2: With hot Wire and the constituent libraries, things seem a
Speaker 2: bit unclear. What is your impression and experience about being
Speaker 2: maintained as a stimulus where in slightly less of a
Speaker 2: democratic governance structure. I guess from my point of view,
Speaker 2: thirty seven signal still holds the keys essentially.
Speaker 3: I mean yeah. From my perspective, it always was that
Speaker 3: I helped out with triaging issues, trying to respond to issues,
Speaker 3: trying to see if you can bring in some of
Speaker 3: the small changes at our like no brains, to merge
Speaker 3: for bigger features. It was always just me proposing some
Speaker 3: features and then somebody from the actual company wouldn't merge
Speaker 3: those requests, So there wasn't that fever kind of steering
Speaker 3: the whole direction of the framework. It was just us
Speaker 3: trying to at least me trying to help out in
Speaker 3: some ways. That is straightforward to just do when you
Speaker 3: can kind of sit down for a few minutes and
Speaker 3: look at these issues that we're coming in.
Speaker 4: I think it's reated the same thing on my side,
Speaker 4: mostly trying to help. I would say that my involvement
Speaker 4: into this stimulus ripple in the past months years has
Speaker 4: been way less than what it could have been a
Speaker 4: few years ago. But I think it's also in general,
Speaker 4: I'm writing way less stimulus controllers since hot wire in general.
Speaker 4: I don't know if this is something it might be
Speaker 4: feeling too, but we with hot wires and the terminal
Speaker 4: streams and morph and so on, Lots of the things
Speaker 4: that in the would require some stimulus controlers are now
Speaker 4: somehow already included into Turbo and hot wire, So I'm
Speaker 4: using way less stimulus in general.
Speaker 1: I'll chime in and I'll say that that's my experience
Speaker 1: as well. Initially, when they came out with Stimulus, it
Speaker 1: was like, this is a breath of fresh air and
Speaker 1: I could just put this where I want, And yeah,
Speaker 1: then I have to give credit to I used because
Speaker 1: I was reading his book and I figured out that
Speaker 1: Turbo did a whole bunch of other things for me
Speaker 1: that I liked. And so yeah, I've been writing a
Speaker 1: lot less Stimulus and just using Turbo streams mostly.
Speaker 3: Now.
Speaker 4: But the governance, yeah, we know it's a thirty seven
Speaker 4: signal repo. They have the final decision on this. I mean,
Speaker 4: besides Stimulus, there is with Marco, we built stimulus hues,
Speaker 4: which at that time, uh, the idea was okay stimulus
Speaker 4: because at that time stimulus was even more uh frozen.
Speaker 4: This was really a frozen project. The idea was to
Speaker 4: get something done and keep it like this. But we
Speaker 4: felt in the community that we needed some more tools
Speaker 4: around stimulus, so there were no way to get those
Speaker 4: tools into the core product. There were no real plugging capabilities.
Speaker 4: And that's where Stimulus Shoes brought this pattern and this
Speaker 4: API where you could add to your stamus controllers some
Speaker 4: new features and some new capabilities with an API that
Speaker 4: was almost feeling like you have you added some plugins
Speaker 4: to your stimulus controllers. And that was a way to
Speaker 4: somehow okay, keep the stimulus and all their decision and
Speaker 4: their like this and build something that could fit into
Speaker 4: this model.
Speaker 2: Nice. Yeah, I think it's just one of the things
Speaker 2: you got to live with with stimulus. I guess it
Speaker 2: is what it is. I'm glad that you guys put
Speaker 2: in the effort to try and keep things going as
Speaker 2: much as possible. But yeah, with with about taking over
Speaker 2: so much of the heavy lifting, you only left to
Speaker 2: really use stimulus for like the tiny bits where you
Speaker 2: need clients out interactivity. I guess so you're connecting that
Speaker 2: back to Ruby Events. Was there anything big or heavy
Speaker 2: that you felt you absolutely need needed stimulus for on
Speaker 2: that website? And if you don't have stimulus, what do
Speaker 2: you think you would have used.
Speaker 3: I think the biggest piece that we have on Stimilus
Speaker 3: use use on Ruby Events is the video player for
Speaker 3: the playing the actual videos. I think there's some logic
Speaker 3: around that where we have to embed some plugin or
Speaker 3: some player in case it's to be light, and that's
Speaker 3: what we have to just wrap up in a stimulus
Speaker 3: control to make it work. But I think that's pretty
Speaker 3: much like the biggest thing we have. There are like
Speaker 3: around fifteen or twenty controls. It's not that many. Most
Speaker 3: of them are super small and tiny and super specific
Speaker 3: for one use case in the app. So it's not
Speaker 3: that it actually makes heavy use of stimulus. I think
Speaker 3: it's that's the other thing. I think that's just a
Speaker 3: testament turboalytis. You can do so much with Turbo we've
Speaker 3: had having to go back and write Similus controls yourself,
Speaker 3: and if you do, they are super small and straightforward
Speaker 3: to write. So I think that's really the key here.
Speaker 3: The other thing about Similus as well is I think
Speaker 3: that it is also considered done right, that doesn't I
Speaker 3: don't really think there's too much we have to add
Speaker 3: to the core itself that you can achieve otherwise. And
Speaker 3: with that and having Similous use next to it, I think,
Speaker 3: at least for my use cases, it has always been
Speaker 3: more than enough. And I guess for the other question
Speaker 3: for what I would use if I wouldn't kind of
Speaker 3: write stimulus, it would probably be web components. Honestly, I
Speaker 3: think they have been very underrated the last few years.
Speaker 3: You can achieve very similar outcomes with some basic classes
Speaker 3: that you write that are web components. And there's this
Speaker 3: other project from Githup, which is inspired by Stimulus, which
Speaker 3: I also get the name of that framework, but is
Speaker 3: almost like stimulus, but you're for web components, so you
Speaker 3: write web components that have targets that have components that
Speaker 3: are controls in the same the Yeah, and if I
Speaker 3: wouldn't write Seamus, I would probably use that framework or
Speaker 3: just pure web components.
Speaker 2: Yeah, I got to look up that framework because I
Speaker 2: love web components. Like, if I don't have Stimulus available,
Speaker 2: which is usually if I'm doing like a static side,
Speaker 2: you're probably using bridge down, then I don't bother pulling
Speaker 2: in stimulus because a bit too much. So then I
Speaker 2: usually use web components And yeah, I love them. They're
Speaker 2: web stand that they just seem to work out of
Speaker 2: the box quite nicely. So yeah, A big, big fan
Speaker 2: of those.
Speaker 3: Yeah.
Speaker 1: One other thing that I would think about reaching for
Speaker 1: is if I didn't have Turbo, i'd be looking and
Speaker 1: at HTMX.
Speaker 2: Yes.
Speaker 3: Yeah. HMX is also interesting because it also feels it's
Speaker 3: way more lower level than Turpo, so you have to
Speaker 3: kind of write a lot more or more explicitly what
Speaker 3: you want to do, which is personally what I dislike
Speaker 3: about it. But I guess if you couldn't use Turbo,
Speaker 3: it will still be better than the alternatives. Yeah.
Speaker 2: Yeah, I have the same complaint. I just I like
Speaker 2: that you can just pull in Turbo and suddenly all
Speaker 2: your links are magically using table drive. I don't want
Speaker 2: to be sitting and writing data attributes for every single
Speaker 2: one to make it work. So yeah, similar complaint on HDMX,
Speaker 2: And my experience at Stimulus has also been like what
Speaker 2: you mentioned, the very small controller is doing very specific things.
Speaker 2: So in your opinions, you think Stimulus should have a
Speaker 2: standard library that provides a lot of these small things
Speaker 2: that are common.
Speaker 3: On Yeah, for some time I was feeling that there
Speaker 3: is a need for that, but I feel like the
Speaker 3: more I've written Stimulus, the less I think that's actually
Speaker 3: the case. And I also quite dislike the idea of
Speaker 3: importing hope control from some packages because usually it's not
Speaker 3: the the child skip part that is annoying to write.
Speaker 3: It's usually the markup, and we've had the markup next
Speaker 3: to the controller it is pretty much useless. So I
Speaker 3: don't think it really makes sense to have pre defined
Speaker 3: controllers that you're just important use because yeah, it depends
Speaker 3: on the markup if you had some way to kind
Speaker 3: of share markup and controls, then maybe, But I think
Speaker 3: then again that's kind of where we are with web components.
Speaker 3: That's pretty much what that is. You import one element,
Speaker 3: it has to behavior attached to it and it's like isolated,
Speaker 3: and that's kind of what you use. But if you
Speaker 3: don't use that, and I think that's what simlous use
Speaker 3: is actually really good that too, because you have these
Speaker 3: common behaviors that you can use with these hooks. It
Speaker 3: just important sooks that you kind of want and then
Speaker 3: you get that behavior, but it don't get ready made
Speaker 3: controls that are just important in the use.
Speaker 4: Yeah, at some point I thought that for revid and
Speaker 4: some standard libraries, it would have a bit more interesting
Speaker 4: to get some places where you can basically copy paste
Speaker 4: some standard stimulus controllers, because also my experience has been
Speaker 4: that I'd never really like to import a stimulus component
Speaker 4: from a library. I prefer to have the code because
Speaker 4: we are usually talking about what twenty fifty one hundred
Speaker 4: lines of code maximum in a stimulus control. What's the
Speaker 4: point to import this from a back cage rather than
Speaker 4: having this into your into your project directly. So I
Speaker 4: prefer to copy and paste directly to the code and
Speaker 4: get my own control.
Speaker 1: Yeah, I'm gonna agree with you.
Speaker 4: There.
Speaker 1: There's a stimulus dash components dot com that has a
Speaker 1: bunch of ease that pull in other libraries and things,
Speaker 1: and every time I've tried to use them, eventually I'm
Speaker 1: just like I needed to do something slightly off from
Speaker 1: what this does out of the box, and even doing
Speaker 1: the kind of inheritance thing that they tell you you
Speaker 1: can do with it, it still doesn't quite jive. And
Speaker 1: so yeah, I wind up going and finding their source code,
Speaker 1: copying it into my thing, and then going all right,
Speaker 1: now I can make it do what I want. And
Speaker 1: it's usually it's almost always simple enough to where yeah,
Speaker 1: I can just reach in and go that changes, and
Speaker 1: that changes, and that changes, and I'm good.
Speaker 3: Yeah. The framework I was mentioning earlier is called from GitHub.
Speaker 3: That's as I mentioned meant.
Speaker 2: It's called Catalyst.
Speaker 4: Yah.
Speaker 2: Interesting, need to check that out for sure.
Speaker 1: All right, Well, anything else that we want to delve
Speaker 1: into here, I mean we've been going for fifty one minutes.
Speaker 3: I guess one thing that I want to just mention
Speaker 3: as well is that we have built some mobile apps too.
Speaker 3: Now with Hotwaire Native that we just want to kind
Speaker 3: of get out there so if you are at these events,
Speaker 3: that you can pull it up and see the schedule
Speaker 3: and maybe bookmark some of these talks that you want
Speaker 3: to check out later if you miss them in person
Speaker 3: or just want to revisit them. And that's kind of
Speaker 3: the other thing that I think is really nice about
Speaker 3: this whole ecosystem that we have now. But everything is
Speaker 3: in one place and you just need this one app
Speaker 3: for these events. And previously I have seen some point
Speaker 3: of this have their own app or their own PWA's
Speaker 3: that you have to install, and at least with this,
Speaker 3: it will be this one place where the community can
Speaker 3: focus on and contry data through and then you have
Speaker 3: it on the go as well.
Speaker 4: And what is great is that this is under the
Speaker 4: Ruby events all on GitHub, and you have the web
Speaker 4: pads that is open source, but also the two mobile
Speaker 4: app iOS and Android are both open source projects, so
Speaker 4: that's that's also a very nice, uh place to learn
Speaker 4: those technology. I wouldn't say that we are providing perfect code,
Speaker 4: but at least it's a real projects that are that
Speaker 4: are live in production and that you can look at
Speaker 4: the code awesome.
Speaker 2: I don't know as a native answer is that is
Speaker 2: that downloadable from the app stores?
Speaker 3: Yes?
Speaker 2: Awesome?
Speaker 1: So you just look for Ruby events that's it.
Speaker 2: Yes awesome, guys, just says the last technical question for
Speaker 2: me about the webs I just around you it is.
Speaker 2: I've been a fairly vocal critic of thellerency. I'm curious
Speaker 2: to understand why you guys are using it. Just is
Speaker 2: this something you like? And also how come you using
Speaker 2: write wheat and hybernand it instead of like, instead of
Speaker 2: es bild or something like that. Just curious about those
Speaker 2: two choices.
Speaker 4: Can talk about Telwyn and maybe Marco you'll talk about it.
Speaker 4: Mm hmm, Well, Telwyn, I think, and we it's not
Speaker 4: only using tellwin, but also it's using a set of
Speaker 4: components from daisy Ui. Then that is that provides some
Speaker 4: some kind of it's a bit the bootstrap uh kind
Speaker 4: of components that we used to have in the bootstrap days,
Speaker 4: but built for uh delawing. So we use that. I
Speaker 4: mean it's it's good in the sense that we didn't
Speaker 4: have to make too much decision and and things were
Speaker 4: already prepackaged. I know that we had some cases where
Speaker 4: uh Tweaking some components was harder than expected. Marco had
Speaker 4: some quite a bit of struggle with some component. I
Speaker 4: remember we haven't migrated yet. We have a pr open
Speaker 4: to migrate to tell in four and day z Ui
Speaker 4: five h, which bring more flexibility because we don't we
Speaker 4: don't have to import uh the entire day z Ui components.
Speaker 4: We can just pick the one that will want so
Speaker 4: that that would be a nice improvement. Now, why tellwind
Speaker 4: versus other things is probably I'm more familiar to use
Speaker 4: telling nowadays than using stand out CSS, but that's I
Speaker 4: don't have strong opinion on this.
Speaker 1: Yeah, I like tailwind, so I live in your camp.
Speaker 3: Yeah, it feels like it's just the de fact of
Speaker 3: standards at this point, at least in the wider app community,
Speaker 3: that this is what you use. But I can also
Speaker 3: see how you dislike it, especially if these classes get
Speaker 3: super long and you have to think about how you
Speaker 3: break it up. But I think it's still better to
Speaker 3: have these complexity at least in in one place, in
Speaker 3: the components themselves, not like little around the whole app.
Speaker 4: And yeah, we do use a view components a bit.
Speaker 4: We should use it more. We have some places where
Speaker 4: we know that we would need to refactor a bit
Speaker 4: like the the user, the speaker of the nails and
Speaker 4: so on. So we know that we have some lots
Speaker 4: of duplicates that we could refactor. But we we do
Speaker 4: use a view components, and when you combine view components
Speaker 4: with Telwin's that makes it quite quite nice to get
Speaker 4: your design system the basics, basic building blocks.
Speaker 1: Yep, yeah, I've done that too. I will admit that
Speaker 1: I have moved back away from view components and I
Speaker 1: just put all my stuff in partials. It's the same
Speaker 1: idea right where it's okay, I know I'm going to
Speaker 1: have to have a text field or you know, yeah,
Speaker 1: an avatar or something like that, and so I just
Speaker 1: have a standard partial for it. Just pull it in
Speaker 1: and give it what it needs.
Speaker 2: Yeah, view components, can we have you handed? I just
Speaker 2: like them because and you need a little bit more logic.
Speaker 2: They're instead of putting it in help as I think
Speaker 2: the view component helps. But yeah, I think for a
Speaker 2: majority of use cases, partials or do just fine. It's
Speaker 2: just that a little bit of extraving that view component
Speaker 2: gives you is useful, but definitely don't need it for
Speaker 2: every project.
Speaker 1: I think that's a good way to put it, right,
Speaker 1: because that's the trade off is that, yeah, you can
Speaker 1: just hand in the objects that it needs in order
Speaker 1: to figure out what to do, whereas with the partials
Speaker 1: you kind of have to you have to finesse it
Speaker 1: a little bit and put some of that more of
Speaker 1: that into the helpers, which aren't always as targeted as
Speaker 1: the view component class, which is essentially like a presenter.
Speaker 4: And so.
Speaker 1: Yeah, I see the trade offs. I really do like
Speaker 1: the view components. I just kept running into funny things
Speaker 1: with some of it, or it felt like it was
Speaker 1: overkill for some of the simple stuff. And so yeah,
Speaker 1: but that idea I've used extensively where yeah, it's okay,
Speaker 1: I've got all my tailwind stuff in the view, view
Speaker 1: component or the partial, and so it always looks the
Speaker 1: same because I always just reach for it when I'm
Speaker 1: putting that in.
Speaker 3: Yeah, and I guess ask for the beat question, I
Speaker 3: think it's it's really from coming from the web Pack
Speaker 3: days and where you have the web Pack deft server
Speaker 3: running like as a separate process. You really got that
Speaker 3: nice developer experience where you update the files and you
Speaker 3: don't have to reload the page every time. So just
Speaker 3: like this whole experience, from hot reloading to adding dependencies
Speaker 3: to integration of the acid pipeline, it just feels like
Speaker 3: a well like grounded a package. It just included in
Speaker 3: the works. There's no configuration, there's nothing you have to
Speaker 3: kind of make work. And if E is built, it
Speaker 3: doesn't really handle images. It doesn't really handle style sheets.
Speaker 3: I think maybe it doesn't now, but not quite sure.
Speaker 3: So it's really just this package of you just included
Speaker 3: no configuration, and you've got all the nice benefits that
Speaker 3: you don't get with import maps but also don't really
Speaker 3: get with VS built. You can get some of that
Speaker 3: eas built too, but then you have to write your
Speaker 3: custom like watching mechanism to make sure that you reload
Speaker 3: the pages. But it feels always so hacky compared to
Speaker 3: just using VAT. And yeah, WEAT has focused on developer
Speaker 3: experience and just using that tool as it is without
Speaker 3: some custom rails, Rappo logic magic, it really feels nice
Speaker 3: as it should be.
Speaker 1: Yeah, I've used both. The thing that I miss when
Speaker 1: I use import maps as the heart reloading of all
Speaker 1: the things, you don't have to do hardly any work
Speaker 1: to make it work with VAT. The flip side is
Speaker 1: is that I like having the I feel like import
Speaker 1: maps is more flexible and I can see where everything's
Speaker 1: coming from. VAT tends to, at least in the way
Speaker 1: I had it set up. It was building out one
Speaker 1: file and production for the JavaScript and compressing everything together,
Speaker 1: and that made it a little hard to follow sometimes, you.
Speaker 3: Mean, like for debucking like in the browser when yeah, that.
Speaker 1: Those are the trade offs that I saw. I have
Speaker 1: to say that between you know, given given the two options,
Speaker 1: I've kind of leaned more toward import maps. But I mean,
Speaker 1: I I don't know that I have that much more advantage.
Speaker 1: And the hot reloading, like you said, is so nice,
Speaker 1: So I don't know. I don't I don't have a
Speaker 1: strong feel on this one, but there are things to
Speaker 1: like about both.
Speaker 3: Yeah. Other thing I like about viata as well is
Speaker 3: if you have a syntax error or some like missing
Speaker 3: dependencies or some missing or wrong imports, it will tell
Speaker 3: you right away with a noble A and say here's
Speaker 3: what's wrong on this line. And with import maps you
Speaker 3: pretty much get no feedback at all. Yeah, yeah, exactly,
Speaker 3: And that's just this a little bit more that you
Speaker 3: get with it. But obviously there's more complexity behind the scenes,
Speaker 3: which is also what makes it less attractive.
Speaker 1: I guess.
Speaker 4: For in pot maps you can get hot reloading. Now
Speaker 4: with hot wire Spark.
Speaker 1: You just made my day. Ye, here's a virtual hu Adrian.
Speaker 1: My life is better now.
Speaker 4: I've not used it yet really because I'm not really
Speaker 4: using in pot maps. But from what of the project
Speaker 4: that is made, it's a whole ray who build it
Speaker 4: from a thirty seven signals? I think they are using
Speaker 4: it mostly internally thirty seven signals because they are mostly
Speaker 4: in both maps shop. It does work well with in
Speaker 4: both maps and stimulus controller. Then when you have something
Speaker 4: a bit more exotic, then you might not have the
Speaker 4: full refresh and so on. You can give this try.
Speaker 1: Well, if it'll do that, then why the heck are
Speaker 1: you using Vietnam Skip?
Speaker 4: I don't know. For me, both maps has always been
Speaker 4: more trouble than solutions. But it's probably that I didn't
Speaker 4: spend enough time getting through the running curve. I don't know. Also,
Speaker 4: in my day job, we have more I mean in
Speaker 4: both maps. I think what's great when you have a
Speaker 4: very limited amount of external dependencies that you will get
Speaker 4: So if you mostly have your own stimulus controllers with
Speaker 4: very few external dependencies. It's probably quite easy to manage.
Speaker 4: But as soon as you want to pull in us
Speaker 4: some libraries with their own cess and so on, then
Speaker 4: the whole thing becomes way less easy. Ye sometimes yeah, yeah,
Speaker 4: for me, I never really click up to now, but
Speaker 4: who knows.
Speaker 1: All right, well, I'm going to go ahead and push
Speaker 1: us into our picks. Our picks is our final segment
Speaker 1: of the show. If you've listened before, you know, we
Speaker 1: just shout out stuff that we like. If you haven't
Speaker 1: listened before, we just shout out stuff that we like.
Speaker 1: And so I'll have our usually go first, and then
Speaker 1: I will do picks and then you guys do picks.
Speaker 4: Right.
Speaker 2: So, well, I spent quite a lot of me, you think,
Speaker 2: my favorite musician around Europe because it was like twenty
Speaker 2: plus day tour. I went for nine shows because I'm
Speaker 2: a bit mad, so as around Europe and then the UK. Wow,
Speaker 2: so I have to pick him. So Steven Wilson check
Speaker 2: out his new album, The Overview. It's ridiculous. It's two
Speaker 2: songs of twenty three minutes and eighteen minutes, so it's
Speaker 2: completely nuts. It's like something out of the seventies, but
Speaker 2: it is very very good space theme progressive rock. If
Speaker 2: into that kind of thing, so yeah, check that out.
Speaker 2: He's sturing America and the Autumn, I think, so if
Speaker 2: you're in America, maybe if you like what, yeah, you
Speaker 2: can see him live now. I watched a couple of
Speaker 2: movies last week. Coincidentally, both were Woody Allen movies, so
Speaker 2: might as well just pick those because I like them both.
Speaker 2: One was match Point, which I really liked, I think
Speaker 2: not a really really good opening line, which talks about
Speaker 2: luck and how people are reluctant to admit just how
Speaker 2: much luck plays a role in life, and it compares
Speaker 2: it to a ball hitting the top of a tennis
Speaker 2: net and for a second it can go either cross
Speaker 2: the net or fall right back and depends on your
Speaker 2: locks is. And it's just very clever writing and imagery
Speaker 2: throughout that movie, which is really good. And then the
Speaker 2: other movie I watched was almost the opposite, which is
Speaker 2: called Hollywood Ending, which is about as stupid as match
Speaker 2: Point was intelligent and deep. Hollywood Ending was about as stupid,
Speaker 2: but I really enjoyed it because the jokes were The
Speaker 2: jokes were funny, like no matter how stupid the movie
Speaker 2: wasn't the ending was. It was really well written and
Speaker 2: really funny. So yeah, I'm gonna go with those two
Speaker 2: movies as my picks. Yeah, I don't have a tech pick.
Speaker 2: I'm just gonna call it there.
Speaker 1: All right, good deal. I'm going to throw in some picks.
Speaker 1: I always start with the board game. The board game
Speaker 1: I'm gonna pick is Camel Up. We had four couples
Speaker 1: we got together for my friend's birthday and this is
Speaker 1: one of the games we played. It's a pretty simple
Speaker 1: game board game. Geek waits it at one point five,
Speaker 1: which means that it's you know, your casual gamer can
Speaker 1: pick it up pretty easily and run with it. Age
Speaker 1: is eight and up can play it. It takes about
Speaker 1: a half hour, and it's a camel race around a pyramid,
Speaker 1: and so you roll the dice and you move the camels,
Speaker 1: and yeah, you bet on the camels. You also can
Speaker 1: reserve a space and if a camel lands on it,
Speaker 1: then you know it'll move it forward or back and
Speaker 1: you get money at the end of each round. If
Speaker 1: you bet on the right camel, you get money. And
Speaker 1: then at the end, whoever picked the right camel to
Speaker 1: win the overall race. The first person to do it
Speaker 1: gets more money, the second person gets less, person gets less.
Speaker 1: You can bet on more than one camel. If you
Speaker 1: bet wrong at the end, then you lose a coin
Speaker 1: or a dollar or whatever it is. I mean, that's
Speaker 1: essentially the whole game. You just play until one of
Speaker 1: the camels gets across the line, and then you finish
Speaker 1: the round and the dice you stick them in the
Speaker 1: top of the pyramid, and then you flip the pyramid
Speaker 1: over and push a little thing on the side and
Speaker 1: it drops one of the dice, and whatever color the
Speaker 1: dice is, you move the camels, and then the only
Speaker 1: other rule is is if you move a camel onto
Speaker 1: the same space as another camel, it goes on top
Speaker 1: of the stack of camels. And then if a camel
Speaker 1: underneath any of it, So if a camel has other
Speaker 1: camels on top of it, when it moves, it moves,
Speaker 1: and it moves with all the other camels on top
Speaker 1: of it too, and so anyway, it gets kind of interesting,
Speaker 1: you know, betting and doing all the things there, But
Speaker 1: super fun game if you're looking for a quick game.
Speaker 1: Like I said, it plays up to eight people and
Speaker 1: so yeah. That was part of the reason why we
Speaker 1: were playing it with that group, right, is because it
Speaker 1: kind of fit everybody in. So, yeah, I'm gonna pick
Speaker 1: camel up as as my pick for a board game.
Speaker 1: I've also I'm in the middle of the last book
Speaker 1: of the Sort of Truth series by Terry Goodkind and
Speaker 1: those I've really really enjoyed these books. The first one
Speaker 1: is called Wizard's First Rule, and so I'll put a
Speaker 1: link to that in the in the show notes as well.
Speaker 1: But yeah, it's it's a fantasy, it's high fantasy, and
Speaker 1: I've I don't even know how to describe them to you,
Speaker 1: so just go pick them up. I think there was
Speaker 1: a TV series that they made out of it, too,
Speaker 1: but I haven't watched it, and I don't know how
Speaker 1: close they stuck to the book. So if you've seen
Speaker 1: the TV series and you know, I don't know how
Speaker 1: how good the context is there, but I'm going to
Speaker 1: pick that. I don't know that I have any technical picks,
Speaker 1: so I will just let Adrian and Marco do their picks. Adrian,
Speaker 1: do you want to go first?
Speaker 4: Okay, I wasn't really prepared for this. I might go
Speaker 4: a bit of topics I don't know. I'm not sure
Speaker 4: about the exact rule of the pig, but I'll talk
Speaker 4: about a recent passion that I had discovered. I've been
Speaker 4: doing quite a lot of sports recently and discovered CrossFit
Speaker 4: and iras. I don't know if you're familiar with iracks.
Speaker 4: It's kind of competition a raise of CrossFit, and just
Speaker 4: purchased some tickets for the next event in Bordeaux November
Speaker 4: and we are and it has been quite amazing how
Speaker 4: I could progress in sport doing this and how motivating.
Speaker 4: So if you are looking for something quite intense and
Speaker 4: to to to to get back to to sport, it's
Speaker 4: it's a nice challenge to to to put to the
Speaker 4: race isn't easy and one of the hardest parts nowadays
Speaker 4: is to get a ticket for some of those race
Speaker 4: because it's very very become very very popular. But it's
Speaker 4: sounds quite challenging and nice. And that's a nice thing
Speaker 4: that I discovered recently. So that's my passion pick, I
Speaker 4: would say. And in terms of technical what.
Speaker 2: What did I.
Speaker 4: Well, we are doing a lot of things with.
Speaker 3: With LLLM.
Speaker 4: Of course nowadays it quite impressive how we can We
Speaker 4: are doing a lot of adaptive learning, and it's pretty
Speaker 4: impressive how we can do this very easily versus what
Speaker 4: we could do in the past.
Speaker 1: Cool. And just to put it out there, the hierrox
Speaker 1: is h y r o X. It took me a
Speaker 1: minute to find it on the Google. So awesome, Marco,
Speaker 1: What are your picks?
Speaker 3: Yeah, I have one for music as well. One of
Speaker 3: my favorite DJs and producers they are They have residency
Speaker 3: now in a new club that just opening Ibisa called Universe,
Speaker 3: and it's this new hyper club they call it. It's
Speaker 3: like space themed. It's really big, but it's like really
Speaker 3: nice and all is a custom build for that specific club,
Speaker 3: and they have like a new show called Holo Sphere
Speaker 3: and it's like this hollows with like visual LEDs on
Speaker 3: the into the and the outside of that sphere, and
Speaker 3: the DJ is performing in the center of the sphere
Speaker 3: so you get these really nice free D effects and
Speaker 3: it looks really awesome. And I want to go see
Speaker 3: a show of his, like when he's like doing his residency,
Speaker 3: it's like every Monday till September, so I really want
Speaker 3: to go see that. And if you are not familiar
Speaker 3: with his music, then check it out. And I guess
Speaker 3: for the technical pick, I have been quite enjoying a
Speaker 3: tool called hot Wire left tools by a friend of mine.
Speaker 3: It's like a brows extension for hot wire, so you
Speaker 3: can kind of inspect the stumus controls your turbo frames
Speaker 3: and all of that, and there's a lot of stuff
Speaker 3: you can just see in debug using that in the browser.
Speaker 3: And they have been working on a native what do
Speaker 3: you call it, like inspect panel in the browser, so
Speaker 3: like next to you notes, so inspector in the theft
Speaker 3: tools you also get like this new panel now for hatwire.
Speaker 3: So this is really cool to see how this came about. Yeah,
Speaker 3: that's called what do I F Tools and it's available
Speaker 3: in all platforms breaking download extensions.
Speaker 1: For grosss awesome. All right, Well, how do people find
Speaker 1: you guys online? If they want to connect?
Speaker 3: For me, it's my first and last name, dot dev
Speaker 3: Macro dot dev now Arian Paulie pretty much everywhere, mostly
Speaker 3: on Twitter, a bit on the Blue Sky.
Speaker 4: Then what else. Yeah, that's the two main stings and
Speaker 4: on getub.
Speaker 1: All right, cool, Well, thanks for coming and thanks for
Speaker 1: putting this together, because it seems pretty handy and something
Speaker 1: that the community I think needed. Awesome. Thank you so
Speaker 1: much for having us all right, well, folks, until next time,
Speaker 1: Max out