A podcast about software development and developing ourselves as software engineers. Hosted by CJ Avilla and Colin Loretz.
CJ: I've heard a lot of this and
I've totally seen it in TikTok
content where it's like create the
curiosity gap by having some upfront
content that's like, the one tip
to sound amazing in your podcast.
If you don't know me, my name is CJ
and we're gonna talk about that, but
Why you should listen to me is because
I've been making podcasts for ages
and I have 10, 000 listeners and blah,
blah, blah, and blah, blah, blah.
And like, they draw out the whole
intro and you're like, just get
to the point and tell me the tip.
And then they finally tell you the tip
and it's actually like two seconds.
And then they close like the
thing and it's like, okay got it.
You just want your view times to go up and
you don't actually want to add value like
immediately or as, as much as possible.
Colin: I think some of those are
a little clickbaity in audio,
whatever a clickbait audio would be.
The other one that there's somebody
I've found on Twitter or YouTube that
actually is really good at that, where
they analyze why some videos don't work.
like what hooks work and things
like that without being click baity.
So I'll see if I can find it
and put it in the show notes,
but yeah, how's the week going?
CJ: So we had a pretty crazy weekend.
We flew out to California for my
cousin's wedding, which was Epic.
It was super fun.
It was held about an
hour South of San Jose.
And It was beautiful.
We had tons of fun the day before.
And then on the day of there's
just like tons of dancing,
connecting with family, hanging out.
And so yeah, it was a blast.
It was kind of, it was like definitely
very memorable because during the
ceremony, it was just pouring rain
and we're all outside just in like
ponchos umbrellas getting just
absolutely soaked in the rain.
And it was exciting.
And we did a lot of like burning
the candle at both ends between.
Trips to the airport at 4 a.
m.
and then staying up until one, two in
the morning, like, you know, having fun.
So we definitely are under the
weather and recovering, but yeah,
it's been, it's been a good week.
It was tons of fun.
Colin: Nice.
A little bit of time change in there too.
CJ: Yes.
Yeah.
Like.
I don't know if we ever were
jet lagged because we were just
awake the entire weekend, but
yeah, yeah, it was, it was weird.
Colin: Yeah.
I mean, we were talking
about it a little bit.
I've been mostly sticking around home
doing things focused on work stuff.
We talked about conference.
It's kind of conference season right now.
I was bummed to miss Stripe sessions,
but was able to watch some of that.
Went to the post con, which
I think we talked about.
Last episode, I guess this
is the post post con chat.
That was fun.
And yeah, just back to
focusing on some projects.
I've I'm trying to remember what sent me
down this rabbit hole, but I've been going
down, this is like tech adjacent this
nostalgia hole of game voice and did you.
Did you own a Game Boy?
Did you play Game Boy?
What's your Nintendo
journey if you had one?
CJ: I never had a game boy.
I was very jealous of everyone who had
one and all of my friends had them.
I just like never had, never had
a game boy the acquired podcast.
We, I think we were
learning about Nintendo.
So my kids and I, we listened to this
like several hours long series of a
podcast on about Nintendo and a big
chunk of that was all about game boy.
And afterwards they wanted to
build like an old school game
boy with a raspberry pie and just
like get into it from scratch.
But yeah, curious to hear what
your, what your rabbit hole is.
Colin: Yeah, I mean, some of it is
that, that, that Raspberry Pi rabbit
hole, but I now own the Game Boy Color
that I had when I was growing up.
So, I had The original Game
Boy which is the big brick.
There's the Game Boy color that,
or I guess, I think probably Game
Boy pocket might've come out first.
But the Game Boy color Game Boy pocket.
So I now own a pocket and a color.
The color is the same, like, it's the
Atomic Purple transparent one that I had.
And I don't remember what
happened to, like, my childhood
version of any of these things.
I think we must have either donated
them or put them on eBay or something.
But it is kind of crazy, like,
I'm not interested in a, in a
like flipping mindset in so much
as like more of a collector.
And so I got that Game Boy.
It's still in the box.
It has been opened and it's playable
and it's got some scratches and stuff.
So I, I'm not, I, it's
nice to have the box.
I'm not going to keep it in the box.
But there's this whole
world of modding Game Boys.
And taking the batteries out
and putting in rechargeable
USB C ports and IPS screens.
Because the Game Boy Color doesn't
have a backlight, so you gotta have
like, a little light, you know,
above it, you know, using the little
USB port and things like that.
So you're modding it to
add those kinds of things.
And I had seen this on Hacker News,
but I found it again, where there was
a physicist in Germany who built a
Game Boy cartridge with Wi Fi in it.
he is able to stream video like live
YouTube videos to the original Game
Boy, not even the Game Boy Color.
It's pretty crazy.
I think the game that he made, he
ended up making his own cartridge with
Wi Fi that lets you search Wikipedia.
And I mean, it's the slowest way
possible to view Wikipedia, but
ultimately it turns out that not a
great device for powering a wifi module.
And things like that, but
we'll put a link to it.
Cause if you're interested
in electronics, like what was
interesting was that the modern.
Microcontroller could not
keep up with the game boy.
And there's all sorts of reasons why
and how, and how these, like, I guess
the thing that I'm most excited to just
play with these things is that you can't
open up an iPhone and like change it.
but with a game boy, like you can
open, like I was watching just videos
of people repairing the cartridges and
they're opening them up and looking
at, you know, what contracts are
broken and what traces are broken.
And it's something that you can still fix.
It's something you can mod.
It's something you can change.
So just a fun little hobby
thing, not planning on turning
it into anything more than that.
Just kind of collecting a few games,
collecting a few of the game boys
again and, and and playing them.
Cause I also, you Can't go jump
down like the internet rabbit
hole or anything like that.
It's just going to be like, you're on
this one device doing this one thing.
CJ: It's, it's really kind of
refreshing in a way to have a single
purpose device like that for playing.
And also one of the things that I
remember learning from that acquired
podcast was that oftentimes Nintendo.
In order to keep the price or like
the cop, their costs down, they would
use like chips and things that were
older generations just so that they
could like get the cheapest stuff.
So it wasn't even like.
You know, the chip that came out that
year or whatever, it was like chips that
came out like three years before and
were no longer even being put in stuff.
And that was part of the reason too
why the original one was, I think
it's just like black and white, right?
Instead of having color is because
they just got like super cheap.
Super cheap screens.
And yeah, I don't know, kind of
interesting, definitely fun to, fun
to talk about and think about a lot.
I know the kids, I think on their Nintendo
switch, they were able to like install
some game pack that was like a bunch
of old game boy games or something.
And so that was tons of fun.
And we went down memory lane, just
like playing some old school Mario.
And yeah, the kids.
The kids are way, way into it for sure.
And yeah, so Logan like wants to
build one with his Raspberry Pi.
And so he 3d printed like a
bunch of the cartridge parts, but
there's still like a lot missing.
Like we still need screen.
We still need power supply
and stuff like that.
But
Colin: I'll, I'll share some links to
some things cause there's, there's the
pie boy, but I think the pie is not quite
maybe the newer ones are more capable,
but there's, It's a crazy world of things.
Like there's even this thing called
the analog that I'll post in the
link here, this is like a new
product and it runs game boy games
and this company has like made their
own version of the SNES, but it's
basically an emulation hardware device.
And so on this thing, you
can play game boy games.
Like with the actual cartridges and
someone of course has hacked it so
that you can run ROMs on it and you
can go ideally, you're going to be the
way that the ROM market works is that
you can use these devices to take the
cartridges you own and dump the ROM.
And then you legally have your own ROMs.
Obviously there's an illegal
market of every game out there
that you could probably go get.
But if you want to support
the publishers, right?
Like if you go buy a Game Boy game
today, the Nintendo is not getting a
cent anymore or the game publisher.
It's, it's secondhand for the most part.
So so even switch, what you
mentioned is interesting cause.
Some would argue the Switch is, like,
very underpowered as, like, a modern
console compared to PS5 and Xbox,
but they did announce that they're
releasing, they're gonna be announcing
the next console in the next fiscal
year, so technically that could be
anywhere between now and next July.
But excited to see what
that's going to bring.
I've actually never, I played
a Switch for like 10 minutes.
I don't own one it kind of skipped
me over but I think it's a fun one to
get people into the Nintendo world.
CJ: Yeah, it's a perfect happy medium
for kids that are my age because it's
not a super, super expensive device.
And it is small, it's portable.
It works great on like the airplane,
but it also can be plugged in.
And that's like, that's
its whole pitch, right?
Is that it can be plugged in and used as a
console or it can be this portable thing.
And for us, it works totally great.
We're, we're considering getting a
switch light so they can both play at
the same time when we're on the airplane.
With their own devices or whatever, but
we like this trip, for example, they just
played on their phones the whole time.
And it was, it's like,
whatever, you know, like
Colin: I will say that Nintendo
has more creativity in that, where
they're like, Hey, we have this thing.
Let's make the pocket and the
pocket light and the switch light.
And if you saw the DS, the very first,
Nintendo game and watch Look was like
a clamshell design with two screens,
but they were these, I'm actually not
sure what they're called, but the screen
that have like, they light up little
elements that are always on the screen.
So it's like pre-reg game boy pixels.
But it's the first consult
to ever introduced.
The directional pad.
And the directional pad has
not changed at all since then.
I mean, now we have.
You know, sticks and joysticks and
stuff like that, but that four corner
d pad has not changed much since then.
And that's one where I had one of
those, the Donkey Kong Game Watch,
and I don't know where it went either.
So we'll see.
I'm hoping I still have it somewhere,
but it may have been lost to time.
CJ: speaking of old school games,
when we went to this wedding, we
stayed in an Airbnb and in the
garage for the Airbnb, they had a
couple like arcade standup games.
So they had Pac Man and they also had
an old school NBA jams from like 1993.
It was amazing.
It was like the four player standup game
and we all played it for like hours and
hours and just like, you know, he's on
fire and from downtown, like, just like
the classics, you know, I just remember
having so much fun as a kid playing that.
It's like only, only
like at friends houses.
Cause we didn't, yeah, we didn't have
video games growing up, but it was like
bringing back all the memories and.
It was, yeah, it was super, super cool
to see the kids enjoy that somehow
got like really, they're really
into like these old school games
and like, I don't know, they've got
their, their new age games too, but
Colin: I think that's, it's a
testament to game mechanics.
Like if it was a good game, then it
probably, it doesn't need to have
amazing graphics to be good still today.
It's just, you know, when we see what's
possible, if you go to try to build one
of those modern games today, you're going
to find out real fast how hard it is.
And that's kind of what I've been doing
with just like getting into these more,
you know, retro games, cozy games, the
like Stardew Valley type games even to
some extent like Minecraft or is just like
a, it's so popular, but it's obviously
not the same graphics that you get in some
of these amazing new games that we get.
CJ: So does that flow into the stuff
you're doing with unity right now?
Like, what is that?
Colin: yeah.
CJ: So you're working on like
building your own stuff and
connecting it to the new discord SDKs.
Colin: Yeah.
So I've been trying to figure out all
the different game engines and unity has
been the first one I'm working on, even
though like we have unity games, I'm just
trying to figure out like, how can we
make the developer experience better for
people building unity games on discord?
So right now my, my entire unity
game is just a cube that spins.
And then the next step is going to
be like multiplayer cubes that spin.
And maybe then you'll be
able to move your cube.
So I'm slowly like doing
literal world building.
But first was just like getting
the communication set up between
not only unity and discord, but
then you also need a backend.
And so unity has a backend
for multiplayer in this one.
I'm using Coliseus, which
is an open source backend.
And it's just been cool to see, like,
there's so many of these, like, you
know, we know all these dev tools
like Twilio and SendGrid and all this.
There's a lot of multiplayer game
backend companies that just do that.
And so they're doing matchmaking and lobby
creation and servers, like to the edge
for your players so that you can connect,
you know, regions and stuff like that.
So pretty cool stuff.
Mostly trying to use like
the open source thing.
But it's starting to get into some of the
other ones that are out there as well.
CJ: Nice.
It's, it's so cool to see just like
all the different companies too,
that are coming out in support of
being able to build your own things.
This sort of ties nicely into talking
soon about platform risk and stuff because
you do definitely, as soon as you build
a game that requires like all these third
party integrations or third party things.
I don't know.
I guess like, are these just off the
shelf libraries that you integrate or
do you have to like pay for a service?
Like, is it, is it like a
SAS product or how does that
Colin: So like Coliseus, I think they
offer a paid plan but it, I would
call it's a lot like sidekick, right?
Because when you run it on your
machine, you hit a local host and you
can see the UI much like sidekick.
And when you start a room, the
room shows up in the like admin.
So you can view and you're doing
your sessions and like joining
rooms and who's in each room,
reconnecting, things like that.
So.
Coliseus is super awesome as like, I
would not, I don't know what powers that
I have not dug into it, but I would not
be surprised if it's, you know, this
like Redis backed you know, JavaScript
thing that you can just make calls to.
And then there's a unity package for
it so that from unity, you're able to
connect to the room and the discord
adds another layer of complexity
is that we need to tell you that
someone joins your game, right?
So someone from discord joined your game.
Okay.
And unity, we want to.
Then say, actually join the game in
unity so that you spawn into the world
or however your game is going to work.
So there's probably simpler
games to make like tic tac toe is
probably a simpler thing because
you're not moving through a world.
But maybe I'll, maybe I'll play around
with something like that, but yeah, I
mean, those kinds of things are cool.
Then there's these like
really higher end paid for.
I'm sure AWS has.
A service in their list of services for
this, that you can obviously spend as
much money as you want, but then you're
going to have that lock in, like you were
talking about and even choosing unity is
some cases is going to be some lock in
because it's, you can't really move your
game out of unity once you're in unity.
CJ: Yeah, that definitely seems like more
of like a framework choice too, right?
Instead of like, I don't know,
being beholden to platform.
Or maybe I, I wonder if
I'm misunderstanding this,
but it's, I, I don't know.
Assume that when you use unity, you sort
of download some SDK, you write a bunch of
C sharp, and then you can like build and
distribute your own game without having
to like work with unity after that point.
Colin: I think that's where recent
controversies have popped up.
There's a lot of license, this is
like over a year ago, but they had
updated their licenses and you know,
I'm using the free indie, like cannot
make over a certain amount of money.
Once you start making over a certain
amount of money and I could be getting
this wrong, I do not work for unity, but
there, there are licenses, there are plans
there, There is a, I'm not sure if it's
like a phoning home mechanism or how they
track this, but there's very much, yeah.
Unity personal is free.
Then it looks like you start
getting into more tools and things
that start to cost per month.
And it gets you the editor cause
you can't, I'm sure maybe you
probably could build a game without
the editor if you had just the
code, but it's going to be painful.
Like the editor does do a lot.
CJ: right.
Well, yeah, that's man, everyone
wants their chunk of flesh, huh?
That's all right.
I get it.
I get it.
Colin: Fufufufu.
CJ: have gotten back on a D and D kick and
Grayson has been doing tons of research
about how to become like a dungeon master.
And one of the things that he, so I, I
play with them maybe for a few hours,
every few months just to like, you
know, get in, get in a game or whatever.
And.
Every time he just gets way,
way better at being a DM.
And I've never played with like a proper
group or anything, but on this most recent
round, he went and used LLMs to describe
rooms to help him build out his map.
Because like we were going to play
on the weekend and I only told him
like, Oh yeah, let's, let's like
schedule something on Saturday to play.
And he was like, Oh my gosh, I
have to like prepare the whole
campaign between like, You know,
Wednesday night and Saturday.
And so he's like, he built out
a map that had 30 rooms in it.
And then he went and used like
the Grammarly built in LLM.
I don't even know like which one it is,
but some sort of thing to like describe
the rooms and then he was rolling dice
and using his textbook to like, figure
out who we were going to battle against.
And it was tons of fun.
And.
Like that sort of inspired my other
son to want to start digging into
like, what if we built like an AI
DM or some like AI assisted features
for DMing where like they would just
help you like flesh out the campaign.
Cause at this point they want to pick
a few things and like customize and
be creative in like certain ways.
But they also They want
it to be super easy.
And so one example is they had two
friends come over one day to play.
And those two friends had
never created a character.
And so they're like, Oh, no, no, I
have to like sit down and it's going
to take me like four hours to write out
the whole backstory of the character.
And they're doing this
all in like pen and paper.
And so I'm like, Oh, man, Would be
nice if you could just say like, Hey,
new friend who wants to play this?
Like, let's just generate
a new character for you.
And like, you can use that for a
couple of days and then the more
you get into it, then you can
start like customizing your stuff.
So yeah, they want to build these
like AI tools, which is really wild.
And then they'll go and ask
like, Go and ask Chachi VT.
How would I build a AIDM?
And then Chachi VT tells him like, step
by step, like, here's how you would do it.
And like, Oh, there's no LLM.
That's, you know perfectly going to
work for D and D five E or whatever.
So you'll have to like fine tune it
and train it this way and whatever.
I'm like my nine year old's coming
in asking me how to like fine tune an
LLM so that it plays D and D with him.
I'm like, this is a wild,
wild time to be alive.
Colin: I don't know what generation they
fall into, but I was listening to another
podcast where they were talking about how
like very much we, we were the youngest
users of the internet when it first
came out and your kids are the youngest
users of AI as it's kind of coming up.
And so like gen alpha is also
kind of being teased as like
gen AI where they will not know.
anything but a world that had these tools.
What you're talking about also gets into
the controversies around wizards of the
coast and D and D, which is should there
be a model trained on all D and D stuff?
And if so, who has the license to do that?
Arguably wizards will sue anyone
out of existence that, that uses it.
There is the SRD, which is the open source
version of like, and it's like a subset.
It's like, you know, Ranger, Wizard,
and it's like an actual PDF or
something that could be fed to an LLM.
Obviously there's PDFs and stuff
of the books out there, and
there's lots of homebrew content.
I imagine that there's they are
working on something like this.
They, they issued a statement
about how their stance on using
AI generated art recently.
And it was a non statement of like,
we're going to be giving you an update
on our statement about our stance.
And everyone's like the fact that
this wasn't a we aren't going to
use AI art is a little troubling.
You know, because that's still one of
those things where arguably do we want a
world where it's completely generated art?
Like, a lot of people buy
the books just for the art.
But if you're trying to play the game
and you've never played before, I
think what you're talking about with
like a pre gen character is great and
you can customize a little bit in AI.
See if you like it and you're going
to start to realize like, Oh, I
want to make my own character.
Cause there, there's a lot of fun in that.
I, I wouldn't want AI to take
that away from me, but if I'm just
starting, get me started faster.
CJ: Yeah.
The other, the other side of this is
that when people want to start trying
out playing and they don't know somebody
who's a DM, like they need to learn
so much just to like cover the ground
of like, what do all these different
things mean in order to get started.
Whereas like, if you were just like,
Hey, me and my friend want to learn how
to play DND, let's play with an AI DM.
And then like, if that goes great and we
like it and it's fun, then At some point
we can like become our own AI assisted DM.
And then if we want to do like the entire
thing ourselves and like design every
single piece of it and you know, extra
stuff that's on the side, then cool.
Right.
Like it can expand into
that, but it's like yeah.
Decreasing the barrier to entry
to play without, I don't know.
Colin: I could see it similarly how
we use it in day to day programming.
Like I still know what I'm trying to do.
So add some like, help me
necessarily do it for me.
Or if you're going to do it for me, I
mean, I've seen people say like chat,
you would do, you are the DM now run
this game for us, which is different.
But I could see like, okay, now
I need just a description for a
new world or something like that.
That could help.
Cause yeah, being a DM
is a whole other thing.
CJ: Totally.
Colin: for your kids to have
CJ: Yeah.
He, the, the, the amount of planning
that he put into it was pretty wild
in the fact that he had maps and like
a whole bunch of stuff that I was not
expecting and enemies and whatever,
like the rooms were really intricate
and elaborate and he had like some long
monologues about like what the story
was, what was happening in the story.
I was like, this is so sick.
Like,
Colin: the kids are the
kids are going to be fine.
CJ: Yeah, yeah yeah.
So platform risk we're building a bunch of
integrations at Kraftwerk with different
third parties and man, it's starting to
hurt a little bit because these third
parties are just not keeping their
APIs running as smoothly as we'd like.
So we've got.
Degraded messaging.
We've got degraded integrations
with our like timesheet provider.
Send grid is like not perfectly
delivering to all the different domains.
And it's just been like a tough week
with like all of the dependencies
that we have on third parties.
And yeah, I mean, back to that, that build
versus buy, we can't build all of this.
And so it's like, we've got to depend
on them at least until we, You know,
have the time and the engineering
resources to build some of it.
But yeah, it's, it's tough.
And I don't know the answer and it's
tough when you're, you have certain
processes and you need to run the business
and you're like, how do I prioritize?
Do I want to build a feature that's
like going to move the business forward?
Or do I want to build a feature that
this third party already has in order
to like replace the third party?
Because it's just like not dependable.
And yeah, I don't know.
It's it's rough.
Colin: Does that mean that
you're having to build things
to monitor these services more?
Or are you guys just hoping
that they go through?
CJ: We use a century shout out century.
If you want to spots of the show we
use century and in, so in the web hooks
infrastructure, so in the web hooks talk
that you guys gave shout out, or yeah,
shameless plug for RailsConf 2024 or
Colin: Well, we'll talk
about that in a second.
CJ: 2023 tech.
Oh yeah.
Yeah.
Yeah.
So in the web hook, like in all
of our web hook processors in the
background job for every single third
party, we have a process method that
says like, try to process the thing.
If it fails, save off the processing
error exception into the web hook object
in the database and report to century.
Colin: Okay.
CJ: So anytime any of the third
parties are failing, then we start
to get annoyed, like alerted by
century, but it's centuries noisy and,
Colin: I was going to say, but
so have you started writing
code to handle their failures?
and like restore type stuff, like, you
know, even if it's just wait and send
again, or we started getting into the,
how do we know that someone's down
before they tell us that they're down?
Right.
That becomes more work for sure.
CJ: Yes.
Yeah, we have so the one of the things
that I love about the way that we
are working with webhooks is that
they always have a reprocess feature.
So like, we don't have to wait for
the third party to send it again.
We already have the data.
We just take the entire
payload stuff in the database.
Our webhooks table is going to
become insanely massive and we
can go and like archive stuff.
That's really, really old, but we
never get rid of anything basically.
And we can always go
back and reprocess it.
If there was a bug on our side, or
if there was a bug on their side
many times in the webhook, well,
depending on the third parties, gosh,
like sometimes they don't send us
everything we need in the webhook event.
And so we end up turning around and
making a get request to their API anyways.
And so.
In one of these cases, the
webhooks coming in fine, but it
doesn't have everything we need.
So we turn around and say like,
you said there's a new message.
Can we have that message?
And they say, no, here's a 500 instead.
It's like, come on.
Like we need yeah, we need our message.
So.
Yeah, in those cases,
it's just like a button.
We have a button in admin to reprocess,
or we can in batch, just say like,
go through all the web hooks that
are from this source that have failed
and run the reprocess command, and
then it'll just kick off background
jobs for all of those that will
go and chunk back through things.
But yeah, it's definitely one of those,
like, we know you're down before,
you know, you're down yesterday.
It's like going to their status page,
everything looks green and dandy.
I'm like, actually, no,
Colin: Yeah
CJ: your main endpoint is down.
Colin: Yeah, troubleshooting across
the web is, can be a challenge, right?
So, like, thinking, you don't
necessarily want to have a backup
service because, I mean, for
email, you could maybe pull it off.
For some of these things, you
can't have more than one, even
if your code is written that way.
But, yeah, I mean, I guess just
figuring out, like, are these urgent
things and need to be recovered?
Or are they Whenever they
happen, it's fine type of things.
And you guys deal with a
lot of scheduling, right?
And pushing things out and
someone needs to reply to
something or show up somewhere.
So a lot of that stuff,
you want it to work.
And I do sometimes Marvel at like,
sometimes I'll pull up Uber or Lyft and
be like, okay, why isn't it telling me
who who's coming to me in the next minute?
I have to wait a minute to see
who's my, who my driver is.
It's probably because
they don't know either.
CJ: Yeah.
Yeah.
They're like, we found your driver.
They're on their way.
Wink, wink.
It's like, yeah, you don't even
Colin: we don't even know if they
have a car, but we'll send them over.
So yeah, I mean those kinds of things
It's still marvel that it works, you know
every time and obviously huge huge teams
behind all of that, but Interesting.
Yeah, I mean You and I go back
and forth on this whole, you know,
integrate all the things all the time.
And it's, it, it's a
sword that cuts both ways.
CJ: Yes.
Yeah, I think, I don't know, at least
two of the third parties that are failing
right now are on the way out the door.
Like we're just like as quickly as
possible, just like building what we're
using from them and closing the gap.
We're closing it fast and they
will not, not be part of our stack
Colin: yeah.
Do you still listen to bootstrapped web?
CJ: yeah.
Colin: listened to, I don't know if
it was the most recent one, but they
were discussing this around Jordan's
newer pivot around like, there's all
these cool AI companies, but they tend
to be like two engineers in YC with no
marketing chops and they're competing
on tech only and they have no sales.
No marketing, no, no business, you
know practicum of what to do and how
to solve like a real customer problem.
Like they're solving
really cool tech problems.
And it was interesting to me when they
were talking about how, like, they're
going to go after a market that is not
tech savvy and give them these tools.
Some of them sound very
similar to what you're doing.
You guys actually would not be surprised.
They mentioned being referred
to a painting company.
It would not be surprised if it
was you guys but that they're
just thinking of like, okay, cool.
We're not going to go build
that whole thing from scratch.
We're going to use their API, but
make it in a way that when they
fail, or if they fail, that we swap
them out for somebody else, because
those things are going to be.
Be like a race to the bottom.
And I think SendGrid in the early
days was awesome because it was
modern and new, but now SendGrid is,
there's a million options, right?
And we can unfortunately just
swap out, you know, SMT is easy to
swap out if, if you're using that.
So it's a, it's an interesting
thing to think through.
CJ: Totally.
Yeah.
In terms of commoditized APIs, our
AI integrations are the ones that
are most commoditized and like
we built them in a way that is so
hot swappable that it is literally
just like, go in, change a symbol.
And now it's like going to
Claude, change another symbol.
And now it's going back to GPT four.
You know, it's like the,
yeah, so yeah, I need to go.
Write this down and or talk about it.
But we have like an AI service that has a
bunch of methods that are sort of generic.
So you can say like, I wanna generate
a completion, or I wanna do a chat,
or I wanna do a I, I wanna do like a
vision task or something like that.
And so we have a handful.
And then those all have system
prompts that use like h html, ERB.
Or text CRB so that we can
like inject whatever we want.
And then each of those just are like,
it's instantiated with a provider symbol
that will like look up, okay, is this
going to be, you know, sent to open AI?
If so, there's an adapter.
So there's like an open AI
adapter that will like call the
open AI client under the hood.
And do the completion or the
vision task or the, whatever.
And then we have a like a clod adapter
and we have a, whatever I think
we have a deep mind or something
for our transcription service.
So then you just have all these
adapters that all conform to the
same, like interface that the AI,
like the top level AI service follows.
And then, yeah, it makes it super
hot swappable because I feel
like every time we turn around.
They're like the horse
race is changing, right?
Like who's in the lead, who has the
better model, who has like the more
performant thing, who's faster,
who's more reliable, who's cheaper.
And so being able to like, not only swap
the model out, but swap the provider and
their API out is, has been super cool.
So I don't know, I really want
to like run our own stuff, like
use Olama, set up our own service
where we can run our own things.
But I still feel like the tooling
isn't quite there yet to a level of
bare minimum DevOps that I would like.
Right.
So like, yeah.
Okay.
You just spin up a.
A render service or something that's
like, okay, now run my H one hundred or
I don't know, for inference, you don't
need something that crazy, but like, just
spin up a render box that can run Olama.
And maybe the, maybe the limitation
is that we need to download, you know,
five to 10 gig model onto the machine.
And oftentimes I don't remember, I
think the boxes that we're running on
are like five, 12 Meg or something.
So like even just having the space
for it would be interesting, but.
Yeah, have you had a chance to
play with Olama yet locally?
Colin: I haven't I've been thinking,
I haven't really played with a lot
of the AIs or anything like that.
I was actually looking Learn with
Jason, Jason Langsdorf has a like
builder challenge that is due on
Monday and I was like, Thinking
about playing with it this weekend.
And they're, they're doing a
challenge on using Astra DB and
some AI to build something that
is AI, that is not a chat bot.
So, but it has to be open source has
to be like a prototype and they're
doing it to, you know, it's, they do
their like four devs, one app series.
So I think that must be the next one that
they're going to show off what they built.
So they're just trying to get community.
Folks to participate and
it's pretty cool model.
Cause then they have the company that
releases that database sponsoring
that video which is a really smart
way of creating content that's
sponsored and still getting to code
and not just have to talk about it.
CJ: Totally.
I think that is a great idea and it
feels like, Hey, you know, all these
devs, we have this new tool called an
LLM or whatever, and I think a lot of
people don't yet know what it will be
used for, and so there's a lot of ideas
around, you know, text analysis and
text generation and helping you sort of
distill stuff and understand text better.
But beyond that, I feel like people
are still like, In this stage of like
just exploring and playing around.
And a lot of these hackathons are awesome
because it's a chance for you to just
kind of like have fun and mess around and,
Colin: almost all hackathons
seem to be AI hackathons right
now, though, like all of them.
So Anyway, speaking of events,
how do we feel about RailsConf?
How do we feel about Rails?
What do we think's going on?
What's what's even happening here?
CJ: well, first of all, let's
start with a bunch of FOMO.
The, the calendar did not line up
this year to make it to rails conf.
And yeah, all, all of our
homies are posting about it on
Twitter and I wish I was there.
Colin: Well, especially with this news
that so 2025 RailsConf is going to be
the last RailsConf as far as It's being
run by Ruby central and it's been run,
I don't know if O'Reilly ran it or if
it was just sponsored heavily by them
in the past, but I think my first one
was 2008 which was pretty early, but
CJ: that was a long time ago.
Colin: sad to see that it's happening.
I don't know.
Like, do we think it's
their, their announcement was saying
that it, that people are not coming back
in the numbers that they need them to.
CJ: Mm hmm.
Colin: But at the same time,
RailsWorld sold out in like 20 minutes.
So it's a little challenging.
CJ: It seems to me that they wanted to
sort of not take a break, but like they're
burnt out on hosting events or something.
And there's, I mean, between
RubyConf and RailsConf, that's a
huge lift for one organization.
And so if they can focus on RubyConf,
make the language conference great.
And another thing that I saw pointed
out was that there's so many regional
conferences, like the real SAS
conference the Andrew Culver is doing.
Jason sweats, got the Las Vegas
one that happens in city Ruby.
And then there's a whole bunch
of other ones that are kind of
just like regional things that
have happened on the East coast.
And there was like
mountain Ruby or something.
Yeah.
Rails camp.
There's tons that are
happening that are smaller.
I don't know, maybe easier
to make it to than a national
or, you know, global event.
And then on top of that
rails world is now happening.
And I don't know, I, some like part
of me wonders too, if it was around
like the finances, like could they
just not justify the money anymore or
Colin: Well, Ruby central also
maintains Ruby gems, which I would
say is key to the Ruby ecosystem.
And they did mention that a lot of their
funding is going towards 24 seven support.
They had hired some engineers.
There was a bunch of things that
they listed, which is all good things
that the rails community, the Sinatra
community, anyone who's using anything
in Ruby is going to benefit from.
But Yeah, it'll be, it'll be interesting.
Rails world.
I'm excited that it exists, but it
seems it's not a community conference.
Like that's the challenge.
And I think I get it because I've run
things for very long periods of time
and it's hard to let them go, but it,
it also, It, it, you can get burnt
out really fast and feel like not
everyone's supporting the community
when the community doesn't show up
the way that you hope that they will.
And I thought the last one was
pretty well attended, but also
they're not cheap to put on.
So, you know, everything's
more expensive today.
CJ: Yeah.
I also wonder if this decision was
made after last year's, they were
like, all right, we're going to
do two more years or something.
Or when, like when was this decision made?
Because I felt like last year, it seemed
like the economy was in the dumps and
a lot of companies had just had huge
layoffs and that the like hiring the
energy and the hiring arena at the
conference was really, really like low.
And so.
I wonder if that's a big part of it too,
is that like they lost sponsors because
companies are pulling back because we
don't have zero interest rates anymore.
And so, yeah, I don't know if
that was part of the decision, but
yeah, I'm sad that it won't be.
I, one thing that I worry about is
that it's a signal that rails is.
Not healthy, right?
Like that it as an
ecosystem is not healthy.
And I don't think that is true.
I think that there's a lot of
amazing things going for rails right
now, but I'm, I'm worried that the
perception will be, Oh, look at this.
This is another like sign that rails
is dead because you know, their
conference can't even like survive.
Cause they can't get people to
show up or sponsor or whatever.
It's like, wait a second,
what signals are we sending?
By by doing this right or
Colin: Yeah.
Well,
CJ: seemed like there was a
power struggle between Rails
Colin: there was.
CJ: Rails world.
Colin: Well, there was a power struggle
between a certain person and RailsConf
as well, so there's also that.
But I mean, do you take RailsWorld
to be the equivalent of Laracon?
Like, Laracon's put on by Laravel,
and RailsWorld is put on by Rails.
And then RailsConf was this thing that
the community, I mean, RubyCentral's
not the community, but it's It's
the steward of the community.
So I don't think it's necessarily a bad,
you know, like a, a black eye on the rails
itself, I think that's pretty healthy
and, and we'll have a lot going on there,
maybe that just means an explosion of more
regionals, maybe a rails conf online or
caboose caboose comps, things like that.
CJ: Yeah, it, yeah, I don't know.
We'll see what happens, but yeah, I
definitely felt like there was quite a bit
of drama about locations and inclusivity
at the one that happened in Texas.
And then there was a bunch of
drama about moving it to different
places and, oh, we already paid
the deposit for this location.
And it's just like, yeah.
And then the power struggles between
who's going to give the keynote,
who's not going to give the keynote.
And just, I, it's annoying to
see that kind of like friction.
And I just want everyone to be happy
and have fun and build cool shit.
And like yeah, it's tough,
Colin: support your local conferences.
If you've got like a regional, you
know, definitely look for them.
Meetups even, I think meetups
are starting to come back.
Ian Lansman was talking about New York
PHP being back, the New York PHP meetup.
Devrino is still kicking, still going.
So yeah, I think just, yeah.
If you're looking for your group
of devs and, you know, of all skill
levels, just got to get out of the
house and go find something like that.
But Rails world feels not
accessible to everyone.
I think that's the concern that I have.
It's like you either have to be able
to spend a lot of money on a moment's
notice when they drop the tickets.
And there's just not that many
tickets, so it's going to sell out.
CJ: One thing that also has been in
the back of my mind is that a lot of
times these conference organizers need
to lock down a venue like 12 months or
more ahead of time in order to like know
this is where we're going to have it.
But that makes it inelastic in terms
of the like size of the number of
audience, like people that can come.
And so if you're, if you're
planning rails world, Next year
ahead of the event, that's going
to happen this year or something.
Right.
And you have to like pick the venue in
the venue has a max number of people.
Then you're already like locked in and you
don't know what the demand is going to be.
It'd be much better if you could
like sell the tickets, figure out
how many people want to come first.
Even if you had like an RSVP system or
something, it was like, I'm, I'm gonna,
I'm planning on coming or something, you
know, give some indication of the numbers
of people that are going to come so that
you can you know, get I don't know, or, or
pick venues that are more elastic in terms
of like how many people they can support.
That way people like everyone
can go, that wants to go.
And I think the fact that like all the
tickets are selling out in like two
seconds online is indicating that they
just don't have The right amount of
supply for the number of people that
want to go, which also feels exclusive.
It's like, Oh, you know, yeah.
Did you get a ticket or not
in the first 20 minutes?
Or were you in a meeting or were you
working using the technology that I'm
about to go to this conference for?
It's like,
Colin: and rails world is new so
they'll they'll fix that I think like
having more Scholarships having more
attendance the tricky thing is if you
get too big of a venue now You're stuck
trying to sell into too many seats, too.
So you it is a balance I've done number
of events where you sign that contract
and you're like, well now we got to fill
this place And clearly rails world has no
issue doing that With their numbers, but I
want to say it's like hundreds of tickets.
It's not thousands.
So it's a different scale.
And I think a lot of these,
like even the right, the docs
was only 250, 300 people or so.
But cool.
CJ: There is something nice too, about
a cozy one, like a smaller conference.
It's like a little bit easier to
connect one on one to people, but
Colin: Yeah.
That's what the community
ones really are for.
Like when I see who had secured tickets
to rails world, it's like, you know, okay.
All the Tailwind people, all
the people that, you know, Ben
Orenstein, all these people that
we see are going to this thing.
So it makes it look like it's not a thing
for everybody, because it's like, you
gotta be in the in crowd, or you gotta
be giving a talk, or things like that.
So, the community ones, and this is not
to say that we shouldn't have RailsWorld,
it's just, maybe it needs more of a
community track, or Some sort of thing.
And I don't know, I don't remember
what year it was, but there was another
controversy that, or maybe it was just
timing, but there was RailsConf and
then literally right after there was
KuboosConf and it was like a free version
of RailsConf and I don't know what that
was in response to, if it was just for fun
or if it was like, we're not going to pay
for your conference, but here's this open
source version that's shortly following.
CJ: Interesting.
It's tough, but you've already had
like tons of conferences this season.
So I could.
Understand wanting to take
a little breather from them.
Colin: yeah, totally.
Yeah, I mean it's good.
It's good.
I'm missing this one.
Maybe we'll go to 2025
for the last hurrah.
CJ: Yeah, I hope they make it a
huge and available to everyone.
Colin: Yeah, I don't think they
announced where it's gonna be, did they?
CJ: I did not see,
I think they usually announce it like
at the end of the current conference.
Colin: Yeah, because
this one's in Detroit.
But you can buy tickets for 2025 already.
A supporter ticket.
CJ: Interesting.
Colin: But yeah,
CJ: All right.
Well, it feels like a
good place to wrap it.
What do you say?
Colin: I think so.
CJ: All right.
As always, you can head
over to build and learn.
dev for links to the resources
and things we talked about today.
And Yeah.
If you're feeling generous, head
over to your podcast player,
drop in a five star review.
We really appreciate it.
It helps other people find the show and
otherwise we will see you next time.
Colin: Bye friends.