Episode Transcript
Available transcripts are automatically generated. Complete accuracy is not guaranteed.
Drew Bragg (00:01):
Hello everyone and
welcome to another episode of
Code and the Coding Coders whoCode it.
I'm joined today by VladimirDementyev, also known as Vova,
and would you please do twothings for me.
One introduce yourself and thenalso explain for people like me
who do not understand howVladimir turns into Vova,
(00:21):
because when I found out, I wasvery interested.
Hey everyone, the good question.
So my name is.
Vladimir Dementyev (00:24):
Vova because
when I found out I was very
interested.
Hey everyone, the good question.
So my name is Vova, that's ashort version of Vladimir, and I
actually don't know why.
I know it's common in theStates, in American names, many
names like Robert and Bob.
They have some similar lettersbut it's not truly the same word
(00:46):
.
It's the same mystery for usagain, for foreigners, to
understand why Bob is becomingRobert and vice versa.
And it's actually closerbecause if you write Bob and
Volvo in Russian it's going tobe the same letters because V
like V, the sound V in Russianis looking like B.
So maybe there is somethinghere.
(01:06):
I don't know.
But yeah, we usually have manynames and many Slavic Russian
names.
They have two or three or fourvariations, so you're free to
choose one you prefer.
So in mine preferred name isVlava and Vladimir is an
official name.
Drew Bragg (01:26):
And for the record,
it is not shortened to Vlad,
which is what I learned today,Because in my head it was always
oh, Vladimir, Vlad, becauseI've heard Vlad is like a
Russian name.
Vladimir Dementyev (01:35):
Yeah, that's
what happens to Vladimir.
All Vladimirs that come to theStates, they want to be, you
know, more accessible in termsof like naming things.
So they shortened themselves toVlad because it's easy, but in
Russia that's a different wordname.
So Vlad is a short version forVladislav and that's not me.
(01:57):
So I did that mistake.
Actually, at my first RailsConfI presented myself as Vlad, just
to, you know, be closer to theaudience, easier to remember,
whatever.
Because, oh, vlad, whatever,what is it?
So then, after I moved to theStates, I realized that, oh,
actually, people here don't careabout assimilating names.
(02:19):
Let's say, everyone's usingtheir names, most people, and
you have to learn how topronounce names in different
languages, especially when Ilive in New York.
So we're the community's mostdiverse, I think in the States.
So, and I found out, oh, Ishould not call myself by a
different name, I should use myname.
So that's when I started slowly, like gradually, teaching I
(02:42):
would say my friends that, oh,okay, actually I'm Bova, so it's
yeah, it's harder to say.
I understand that, but sothat's why I'm fine with
Vladimir and even Vlad is fine,I don't worry about that.
Drew Bragg (02:54):
I was always curious
whenever Irina would like talk
about you to me or like whatever, she would use Vova and it's
one of those like we callRichard Dick at times and I'm
like wait, I know there's astory there, I just don't know
what it is.
So, and now I learned, today Ilearned, and hopefully audience
someone out there also learned.
Vladimir Dementyev (03:13):
Yeah, and
actually for the record, we
don't call Irina Irina, wecalled her Ira.
So the thing I'm learning, seeI'm doing terribly- and I'm
actually encouraging her to usethis name when she's presenting
somewhere.
So not Irina, ira, just peoplegoing to learn that at some
point.
Drew Bragg (03:33):
Yeah, yeah.
Well, some of us are dumb andtake a minute to learn things,
but we will eventually learnthem.
So, ira, yeah.
Okay, so anytime she no goodstuff, but okay.
So, vova, please introduceyourself to anyone in the
audience who is not familiarwith you or your work.
Vladimir Dementyev (03:49):
So I'm
working as a principal engineer,
evil Martians consultancy.
Nowadays we're focusing on devtools, startups and all cool
stuff around us.
We do a lot of stuff in theRails world, frontend world or
whatever.
Personally, I'm responsible forthe backend team, so I'm not
(04:15):
doing anything useful forclients directly.
I'm just mostly doing researchwork, marketing work.
Sometimes I join clients justto brainstorm ideas, but these
days I'm focusing on conferencestoo, in particular.
So RailsConf is just in a monthand we have three Martian
speakers there and I'm includingand I'm preparing a talk on
(04:41):
Rails, on Basm Not a new version, but a new kind of projection
of Basm.
Not a new version, but a newkind of a projection of
Basmification of Rails, becausethis time we're trying to put
the Rails tutorial, the wholetutorial, into the browser so
you can try and build somethingwith Rails to get an idea of
what Rails is, without leavingyour browser from databases, web
(05:02):
servers, tests, everything.
So just in your window, and Ithink that's an important step
for making framework more, again, I would say, accessible to
people who are not familiar withRuby and Rails, who don't want
to deal with oh, rbn and Stonedoesn't work, or what's wrong
with my Ruby version on Mac OSor whatever.
(05:22):
So we have every server-sidelanguage has these problems and
we want to eliminate this steeplearning curve.
It's the entry curve, I wouldsay, and that's what we're
working on, and I want topresent that at RailsConf.
So that's one of my primarytasks today.
And another one is also relatedto conference.
(05:44):
We just announced San FranciscoRuby Conference.
So it's kind of the evolutionof San Francisco Ruby Meetup,
which we've been holding formore than a year and every month
in San Francisco.
It just actually happenedyesterday or two days ago.
And this November we decided,okay, we should go with a
conference Two day, probablysingle, two track, we don't know
(06:08):
yet, but that's going to be thewhole feature conference.
We preparing for that.
I'm personally responsible fortechnical stuff as well.
So we just built a CFPapplication from scratch for the
conference because, well, thereare a lot of reasons we can
talk about it later.
So, yeah, that's what I'm doingnow.
(06:29):
And, of course, another fieldof interest in my continuous
work is AnyCable.
So this project that's actuallyturning nine years in a month.
Yeah, like from the day thatthe name came out right.
I came out with the name, itwas right after I joined Evil
(06:51):
Martians.
So it's nine years since Ijoined Evil Martians and that
was my first open source project.
I decided to build within thecompany and, yeah, that's like
one of the primary projects andproducts right now for us, so
it's real time server.
If you don't know, performer ispowering WebSockets for Rails
(07:11):
apps and not only Rails, becausethis week we announced our
initial Laravel integration andwe are looking to make any table
.
Drew Bragg (07:21):
Jason Tromp will be
so excited about that.
Vladimir Dementyev (07:24):
Well, yeah,
like Laravel, is underwriter of
many Ruby and Rails developersfor many years.
We know that Chris Oliver, forexample, got inspiration for his
PayJam from Laravel PayJamversion I don't remember how
they call it, but it's somethingthey had built in into
ecosystem for a long time.
(07:44):
So they had a lot of greatideas.
They've been like a Railsdescendant in some sense.
They actually chose Datapathand we can learn back from them
and we do that sometimes.
And then Cable decided okay, wecan actually now again bring
something from Rails to Reliablelike a powerful WebSocket
(08:04):
server.
It's going to work easily withtheir existing tooling.
So, yeah, that's how I kind ofscared some people on Twitter
last week when I showed somescreenshots of me doing Laravel
and I got some replies oh no,what are you doing?
Are you going to abandon Rails?
(08:26):
What?
No, I'm not going to do that.
We wanted to share what webuilt for Rails community with
others, and one of the goals isactually to make the tool we
build in AnyCable and everythingaround it better, because the
more use cases you have, themore ecosystem you try to
integrate your software, thebetter it becomes, and we want
(08:48):
this any part of AnyCable.
So that's kind of philosophywhich is in the name, is to be
truly any and many directions.
So it's like for any backend,any framework, whatever, any
protocol.
So that's just fits our visionfor this open source tool and we
(09:08):
just try to make it better andhelp others building better cool
things with it.
Drew Bragg (09:16):
That's awesome.
You are a man of many projects.
People also might know you fromyour book Laird on Rails
applications, and you have anewish version.
Let's say it's in the works.
We'll go within the works.
Vladimir Dementyev (09:32):
Yeah, I
haven't mentioned that as my
project because, well, somethingI try to put at the end of the
backlog every day, but Ipromised to myself actually to
start writing, updating existingchapters, writing new chapters
this weekend, like just tomorrow.
I don't know if it's going tobe like that, but because we
(09:55):
want to get it out around Railsworld, I'm not coming this year,
but maybe someone will make anannouncement, I don't know.
So, yeah, the second editionthis year, but maybe someone
will make an announcement, Idon't know.
So, yeah, the second edition.
It seems like, oh, it's just anupgrade.
You already have the content,so it should be much simpler,
but it's not so.
(10:15):
When dealing with the book, it'sjust some state of mind.
You just need to find yourself,to find the right I don't know
mood or whatever to get intowriting a book, to getting back
into loading all the contextback into your brain, which is
not as large as LLMs of today.
(10:35):
I can't just load the wholebook into my brain, because it's
not just a book, what's written, and that's okay.
We're switching topics, I'mtalking about LLMs and that's
just an idea that came into mymind.
It's not enough to load thetext content of the book into
the context of whatever brain,llm, whatever.
To get an idea of what's goingon, you need to actually load
(11:00):
into your brain's contexteverything that happened when
you were thinking about the bookyou were writing it, and the
amount of that data is enormous.
It's not reading right, it'snot set in stone, it's just
something.
It's more like feelings,something like that, it's like
inspiration, and it's notsomething you can just
(11:20):
digitalize right and put into aneural network.
So that's the hardest part ofit.
That's another project of minetoday writing a book and one of
the reasons for that is you knowthat you remember that a couple
months ago at Sin City Ruby, wehad an auction to support Jason
Sweat with his initiative tohaving this amazing conference
(11:44):
and sweat with his initiative tohaving this amazing conference,
and my lot was a copy of mybook with the draft of the new
chapter, like before the release.
So I can't just waste that.
I have to do that.
That's my responsibility.
So I hope in a week Jasper willreceive this copy and the draft
(12:09):
of the chapter, because Ialready have this chapter in my
mind.
It's going to be cool, I think.
I hope so.
I like it.
That's something I originallywanted to include in the first
edition.
But yeah, well, we'll see.
So a lot of things going on sowe can talk whatever you want.
What's on your plate?
Do we have any intersectionhere?
(12:31):
Sure, yeah, are you writingLaravel?
Drew Bragg (12:34):
Yes, I am not
writing Laravel.
Laravel has always been one ofthose because it's so adjacent
to Rails, it's like a descendant, it's so influenced, and then
it went a step further witheverything else it has going on.
Laravel's always been one ofthose.
Like man, if I couldn't writeRails anymore, what would I do?
And I still think I'd pick aRuby-based framework, but I
(12:57):
would definitely give Laravel atry.
It seems so cool, it seems sofun and it seems like it has a
pretty great ecosystem andcommunity like rails.
So yeah, it's on the list.
I haven't, though.
Php is just daunting to mebecause ruby has ruined me for
other languages.
Like I look at other languagesand like I don't know if I can,
just I don't know.
(13:20):
But the way that the shownormally works for anyone who's
listening for the first time isnormally what would happen is I
would ask vovo what he's workingon, what kind of blockers he
has and what's something cool,new or interesting that he's
recently learned or discovered.
I'm pretty sure his introcovered the what are you working
on question, which is the toolong didn't listen version is a
(13:42):
lot.
Long didn't listen version is alot.
You've got a RailsConf talk.
You've got a San FranciscoRubyist meetup group that you
help run, and the conferencecoming up that you're building
tools for, and you're working onthe AnyCable to Laravel stuff
and you've got the update toyour book coming up.
So there's a lot.
Is there anything I missed onthe?
(14:02):
What are you working on?
Actually, I have an everydaywork, so there's a lot Is there
anything I missed on the?
Vladimir Dementyev (14:05):
what are you
working on, Actually?
I have an everyday work.
Drew Bragg (14:08):
On top of everything
else, you have a day job.
Got it.
Vladimir Dementyev (14:11):
Meetings,
calls, whatever, explorations.
That's the boring part.
It becomes less boring when Iwrite about it, so in a book or
give a talk and something likethat, but in the moment it's
usually boring stuff.
I try to finish as soon aspossible so I can have some time
for all the cool stuff.
Yeah, so that's actually myblocker, if you ask me what's my
(14:35):
blocker.
Drew Bragg (14:36):
There you go, we're
moving right along here.
You've got plenty of work.
You're working on and yourblocker is your fucking day job.
Oh right, it's Friday.
I working on and your blockeris your fucking day job.
Oh right, it's Friday.
I'm in a mood, it's fine.
Vladimir Dementyev (14:46):
I don't know
that you can find a better word
to explain it.
Well, I like my job, butsometimes we have too many calls
.
They are all important because,well, my work on conference
talks or even book doesn't helpthe company I work for and so
(15:07):
that's kind of a bargain.
Yeah, sure, I had tons of callsand they allowed me to write
the book, you know the opensource work, there you go,
that's a fair trade, in myopinion.
Drew Bragg (15:20):
So I'm currently in
because, as of recording, right
now it is Friday, june 6th,which means we are rapidly
approaching one month away fromRailsConf.
So I'm starting to get pumpedfor everybody to come to Philly
and have a cheesesteak and talkabout Ruby and Rails and all
that jazz.
And your talk is on Ruby onRails in the browser with Wasm,
(15:40):
which is super cool.
Ruby on Rails in the browserwith Wasm, which is super cool,
and you're building basicallythe Rails tutorial interactively
because of Wasm, not just likehey, read and look at this
example, but read, look at thisexample and then interact with
it.
Can you tell us a little bitabout some of the challenges on
(16:01):
getting Rails into the browser,the state of Ruby, wasm, things
like that?
Vladimir Dementyev (16:06):
Yeah, so we
started exploring this idea of
putting Rails on WASM about ayear ago Actually I think it was
the very first South Rubymeetup.
I presented the first talk whenI managed okay, I can run a
Rails application like veryminimal Rails application,
(16:26):
almost like Rails new, with somedatabase interactions in the
browser.
It kind of worked enough topresent a meetup.
But it actually was just a veryproof of concept and we started
exploring this idea.
And well, we started facingchallenges and we started to
explore this idea.
(16:46):
And well, we started facingchallenges Because Ruby is not
truly a fully solved problemlike a fully solved task.
We have an official VASMsupport in Ruby which means it's
possible to compile Ruby C code, like MRI code, into VASM.
There are some C macros andifdef whatever stuff over on the
code base to make it compilableinto VASM.
There are some C macros andif-dev whatever stuff over on
the code base to make itcompilable into VASM.
(17:09):
And that means you can run RubyVM within VASM runtime browser
or not only browser and that'scool.
But there are some limitationslike no networking, no other
stuff and so on, and when itcomes to like everything in Ruby
world, you kind of measure theapplicability of some new idea,
(17:35):
some new tool, some languageaddition by the matter, if it's
possible to run Rails on that.
For example, we had Rectorsright, rectors has been around
for five years already,something like that.
But the true measure of whetherRuby is Rector-ready is whether
(17:58):
we can run Rails on Rectors.
And the answer is not, not yetand maybe never.
And the same could be appliedto any new stuff that comes out.
Actually, because Ruby heavilydepends on Rails as its primary
driver for attracting developers, engineers and so on.
So we can just avoid this fact,right?
(18:21):
We're not going to talk aboutwhether it's good or not being
like single framework-centriclanguage.
That's just the fact and weshould live with it.
So the same could go with VASM.
So, okay, we have Ruby on VASMand actually Ruby VASp has much
more application than just Railsbeing a Rails playground.
But I asked myself the questionokay, can I run Rails on Wasp?
(18:44):
And it turned out that therewere a lot of cool stuff.
That's when you feel yourselflike a pilgrim software engineer
.
You experience something forthe first time that no one ever
experienced that.
Because who's crazy enough totry running on VASP why?
A lot of people are trying toask the question why?
Why do you need this?
(19:04):
Why to run Ruby on VASP?
A lot of people don'tunderstand.
But I think those people alsodon't understand that.
Because why not?
That's the answer.
That's how my mind works.
I like the phrase coined atRails World or RailsConf by
Xavier Noria once.
He also was talking aboutsomething like that and he
(19:27):
stated that it's just a joy ofproblem solving.
It's something like heexplained that because of
mathematics, mathematician roots, and I am a mathematician as
well, so I love abstract stuffand all that and I just love
solving problems.
So it doesn't matter if thereis a practical outcome of the
solution right, I believe it'skind of academical kind of stuff
(19:52):
right, it doesn't matter if youprove the theorem or whatever
or some theory and it doesn'tmake sense today.
One day some people discover itand they build something cool
out of it.
You never know how it's goingto be used.
That's where the combination ofthis and the joy of problem
solving brought me to this Railson VASM, and I was like a kid
(20:13):
in a candy store because therewere a lot of problems I didn't
know how to solve and that'swhere there were a lot of
blockers.
But the good thing is that we'restill dealing with Ruby and I
believe that in Ruby, everythingis possible, whatever you can
imagine.
You can do that Just becausethe language, the ecosystem, the
(20:37):
language itself is flexible.
It's an open language, whichmeans that, oh, if something
doesn't work, you just put apatch, a hack it or something to
find a way out.
It doesn't matter what is it.
Oh, you don't have socketsupport in the browser or, like
Nakagiri, let it just add a tabclass with pure Ruby
implementation, or just block itand make it look like it works,
(20:59):
and it's probably going to workand it's enough for running
something in the browser.
And we have a lot of that stuff.
And we were just trying to solveall the problems one by one,
because Rails is not just Ruby.
So you have extensions, youhave databases, you have web
server and you need somehow toput all of that into the browser
.
It's not just Ruby.
So you have extensions, youhave databases, you have web
server and you need somehow toput all of that into the browser
(21:24):
.
And every component of Railsrequires just some special
attention.
And at the first step, by theend of the previous year 2024,
we managed to solve the problem,I think, of putting production
application into the browser,but what I mean is that you can
just pack your application to aVASM module, add some JavaScript
(21:47):
scripting that we made genericenough to run any Rails
application and just put it inthe browser, and it's going to
work up to some point.
We already have databases inthe browser, so it's not a big
deal.
And the fact that Ruby is openlanguage and Rails is a kind of
modular framework and with a lotof stuff abstracted out the
(22:08):
Rails concepts, most of them atleast, abstracted out from the
implementation, so we can justswap them and replace, like, for
example, sqlite database, forexample, a SQLite database
regular database, which is justa file.
You can replace it with aJavaScript external interface
and still use the sameActiveRecord connection class
and most of it to build queriesand do all the stuff, and it's
(22:30):
just going to work because Railsallows us to do that.
And the same goes about anyRails component, and we managed
to build adapters and wrappersfor running Rails in the browser
.
Again, the question still holdswhy do you need to run Rails in
the browser?
And after giving this idea sometime just to age, well, we
(22:58):
found that okay.
Actually, how do others usein-browser technologies?
For example, we have JavaScriptand while it's natural for them
to run a lot of stuff in thebrowser because that's their
runtime, but actually more thanJavaScript, it's not just a
browser right, it's like fullstack nextjs and all that stuff
(23:18):
and serverless stuff.
They still need some kind ofserver and in JavaScript world
they kind of solved it byputting notjs into the browser,
also by the means of Basm andthe project one of actually our
EvoMotions clients that's why weknow about that is called
StackBlades.
It's an online IDE that fullyruns in the browser so you can
(23:43):
run almost any JavaScriptproject with server and client
right in your browser, withpreviews, hot reloads or
whatever.
It just works and it doesn'trequire any servers, containers,
whatever.
It's not like Cotspaces orsomething like that where you
have a real server, right, it'sreally in your browser.
And we were thinking like, okay,why can't we have the same for
(24:05):
Ruby?
Right, because we found it veryuseful.
You can trash issues for opensource projects or share some
working examples, how to dostuff.
So, oh, it's not justcopy-pasting text, you just send
a link where you have areproduction and people can try
it with both server and client.
(24:25):
And we found that, okay,probably this aspect of
basmification, educationalaspect today is most valuable.
So that's where we can getbenefit right away just by
making Ruby and Rails browserready so people can try with it,
(24:45):
can share some snippets,whatever.
And that's where we startedworking in that direction.
And Rails getting startedtutorial is a good starting
point.
That's like a milestone If wecan't put Rails getting started
tutorial is a good kind ofstarting point.
That's like a milestone If wecan't put Rails getting started
into the browser so people canjust run Rails, new Rails like
tb, migrate Rails, test,whatever, everything right in
(25:08):
their browser without dealingwith installations or whatever.
We can identify all theproblems we find along the way
and later on.
So that's our plan we canactually make this framework for
building tutorials for Rubyprojects generic enough so we
can use it for your library, foryour framework not only Rails
(25:29):
and so on.
So we're using Rails as aplayground and we plan to go
further from there, and that'swhat we're going to talk about
at RailsConf.
We already have half of itrunning in the browser, so I'm
teasing some snippets every weekon Twitter and they're actually
(25:51):
lagging like a couple weeks ofwork, so we're closer to the end
than it seems.
So, yeah, and I'm prettyexcited about it because, let me
be honest, when we proposedthis talk so I'm doing this talk
with my colleague who'sactually working on StackBlade's
project and we had nothing, wejust had an idea.
(26:11):
So it's a typical, I guess,like a conference.
Well, I had this idea years agoand I started playing with it,
actually for Action Policy Jam,because I wanted.
Well, it's pure Ruby Jam, soit's much easier to put into the
browser and create aninteractive tutorial on how to
write policies and so on.
(26:32):
And I kind of knew, well, itshould be doable.
And then we got accepted toRailsConf and like, ok, let's
start working.
So that's why I'm doing that.
Drew Bragg (26:42):
Now we actually have
to build this thing.
Vladimir Dementyev (26:44):
Yeah, yeah.
So that's conference drivendevelopment.
It's really cool.
I don't think it works foreveryone, but for me it's the
best way, kind of promise drivendevelopment.
Right, I'm writing the bookbecause I promised to write a
new chapter right, and I'mwriting this Rails on Buzz
because probably the Laravelstuff I mentioned is the only
(27:05):
thing that came kind of from theinside because I wanted that
for myself.
I don't promise that to anyone.
I just wanted to distractmyself actually from this Rails
stuff and the book, so putmyself into something new.
Drew Bragg (27:22):
Yeah, what's the old
saying?
It's amazing what a developercan build when they're working
on something other than whatthey're supposed to be working
on.
Laravel benefits from youhaving a lot on your plate.
You need a distraction.
You build something for them.
That's awesome.
I'm super excited for your talk.
It was definitely very highlyranked when we were talking
(27:45):
about it in the programmingcommittee of like.
This fits so perfectly with thefuture side, because that was
the goal for RailsConf.
Let's talk about the past,present and future of Rails at
the last RailsConf, and what agreat topic for the future of
Rails is like.
Oh yeah, by the way, rails inthe browser is a thing.
(28:06):
Look here you can dointeractive tutorials and who
knows what else and we probablycan't even begin to imagine what
someone's going to eventuallybe able to do with Rails in the
browser.
It's such a new concept thatwe're limited by our
imaginations right now, andsomeone's imagination is going
to be like I wonder if I coulddo, and the answer is going to
(28:27):
be yes, and it's going to besuper cool.
So, yeah, I'm excited for thatone Amongst others at RailsConf.
Railsconf has such a greatschedule and program.
Normally I'm a hallway trackkind of guy, and this is
probably going to be more talksthan I've attended since my very
first one, just because there'sso many good ones that I want
(28:48):
to see and I know I probablywon't end up watching them on
YouTube Not all of them at least.
In addition to speaking atRails railsconf, you help with
the san francisco ruby meetup,which, from what I hear, is a
mini conference in and of itself.
You guys have multiple hundredsof attendees for each meetup,
(29:09):
let alone now you're also doinga conference in november.
Vladimir Dementyev (29:13):
Yeah, the
meetup we just said.
It's a huge success and we havea lot of attendees.
It's not always hundreds, Ithink Sometimes it's a hundred.
It really depends on location,I can be honest, because we have
rotating locations, so actuallya lot of companies in San
Francisco want to host themeetup, so our popular locations
(29:36):
would be like GitHubheadquarters, I think that's
where we get it.
Drew Bragg (29:39):
No, shock there.
Vladimir Dementyev (29:40):
yeah, yeah,
that's where we started and
that's the first meetup had likeprobably a couple of hundreds
of people and I usually get alot and we have Chime.
I only attended GitHub andChime, I don't know about others
, I know actually but I knowthat the next one in july is
happening at figma and we expectit to be packed as well.
(30:04):
We've been in talks with themfor a long time to host this
meetup and finally we got thedate because it's san francisco.
Companies have schedule plannedfor the whole year and like
like, oh, you want to meet up atGitHub?
Okay, we have something for2026 March.
We don't even know if it'sgoing to be a meetup.
(30:24):
Well, luckily, a lot of optionsand even if the plan has changed
for some company and they'rebusy with something else on that
day, we can find a backup.
So, given that the meetup got alot of attention and positive
feedback, we decided that weshould go with a conference, and
one of the reasons for doing itthis year is actually the fact
(30:48):
that they're not going to beRubyConf this fall.
So we found that, okay, thereis a huge gap.
No Ruby conferences this fallin the States, I think.
Rocky Mountain announced alsotheir conference.
Drew Bragg (31:04):
Yeah, that's in
October.
Vladimir Dementyev (31:06):
So we're
going to be in November.
So we want Ruby conferences tobe spread across the year kind
of evenly.
So we have RailsCon this summerand no RubyConf.
So we said RailsCon this summerand now RubyConf.
So we said, okay, there is asit available, why not fill in
it?
And we'll see what's going onnext year.
But I think it's going to benot just a one-time thing.
(31:27):
Well, we don't want it to be aone-time thing.
So we're really excited aboutit.
It's a lot of work.
We never did anything like that.
We'll see.
So far, I would say it's good.
We expect a lot of coolspeakers.
We try to make it not just aRuby conference but a themed
Ruby conference around SanFrancisco and their values,
(31:51):
right, startups, ruby builderswe want to see people who build
with Rails especially newcompanies and not only new, like
major companies as well howthey use Ruby, why they chose
Ruby and so on.
So it's more about highlightingRuby as a cool productive tool
for your business than justtalking about Ruby itself.
(32:14):
So that's our goal.
So so we'll see.
I'm kind of excited about it.
We just announced it and it'susually for bigger conferences
you need a lot of time forpreparation, so we have a very
short, I would say, like runwayfor the conference.
So we just announced CFP.
(32:35):
Cfp is open at cfpsfrubycom andthat's something I've been
working on recently because wedecided to go with a custom
application for CFP.
So we built it from scratch.
That was fun.
It was fun and stress, stressand fun literally the day of
(32:55):
announcement.
We only had functionality ok,we can accept applications, we
don't have anything yet.
We don't have functionality forreviewing applications and all
that stuff.
I already started working onthat, but that's cool and we
want to actually open source theapplication eventually,
probably after the CFP ends, toshare it with the communities.
(33:16):
Maybe someone else will decideto pick it up and deploy
somewhere instead of paying CFPservices tons of money for I
don't know what, why.
So I remember RailsConf used touse this Ruby CFP app that's
still in use, I think byRubyKaigi, maybe some other
(33:37):
conferences.
So it's like an old Railsapplication and RailsConf and
RubyConf used to use them and itwas cool.
Well, it was like old school UI, whatever.
Yeah, yeah, just HTML driven,but it was much easier to work
with than everything thathappened next, like sessionize,
paperclip they're all so bad,right, and you know like
(34:01):
conferences tend to use them.
So we want to release our opensource projects and make it kind
of once like thing, right, soyou can just grab it, deploy
like update styling text and goand build a new version every
year.
I want it to be intentionalbecause I don't want people to
just copy all the servicesaggregator services, that you
(34:23):
have a list of your proposalsand when another conference
announced CFP, you can say, oh,I want to pick these proposals
and send it to this conference.
I think it's just.
I don't want that.
I want people to craft a newproposal, at least copy-paste it
manually, because as a reviewer, I recently took part at Yuruko
a program committee member, sowe had 150 proposals and 50 to
(34:48):
review by each member.
But you clearly see that, oh, Isaw this proposal somewhere.
It's just the same, nothinglike no word changed.
I don't like that.
I don't like that.
I don't like that attitude.
If you're proposing somethingto the conference, try to
address the conference you'reproposing to Make it fit the
topic, the location, whatever.
(35:10):
I think it's important.
That's why we're building thisone-time CFP app Just to
encourage people to fill a newapplication every time, so maybe
they come up with a better idea.
Drew Bragg (35:24):
As regional
conferences.
I mean they're already gettingmore and more popular.
With RailsConf going away, Iexpect that having only one
major Ruby conference in theStates next year will hopefully
drive even more people to doeven more regional.
It'll be very helpful for thembecause unless you're going to
do an Andy Kroll with Brightonand just hand select all of your
(35:47):
no CFP process, I just wantthis person and this person
speaking at this conference.
Conference like unless you'regoing to do one of those, you
are going to need a tool, andnot having to pay for sessionize
or deal with the clunkiness oftheir UI is definitely a good
thing, especially when there'sso many other things that go on
(36:08):
in planning a regionalconference.
That'll be a great open sourceproject for folks.
Vladimir Dementyev (36:15):
Yeah, we
hope so, and we also want it to
be an example of building withRails and Inertia Rails.
That's what we chose for thatproject.
The actual reason why we choseInertia is that because the UI
and front-end was mostlyAI-generated using boldnew.
That's actually the same.
That's a project by StackBlades, I already mentioned.
(36:36):
That's where you can just buildJavaScript projects and run it
in the same.
That is a project by StackBlitz, I already mentioned.
That's where you can just buildJavaScript projects and run it
in the browser.
That's how we built conferencewebsite, like its initial
version and UI for the CFP app.
And well, it requires somemanual tuning, but that's why we
managed to get everything justin a matter of of week, not
(36:57):
months.
Right, right, Sure, and itlooks pretty good.
I think it's better than wecould afford.
So that's actually well, somekind of spoiler.
Another idea I keep for thisyear we want to release a few
internal Rails apps over theyear showcasing different.
(37:19):
I just want to release, I justwant to open source some stuff I
work on.
I think for me it's just aburden when I work on some
private repository for thecompany.
So we have the CFP app, havesome internal.
We have AnyCable Plus app,which is our managed AnyCable
solution, and actually we wantto open source it as well.
(37:41):
Maybe part of it Because whynot?
I want to share some code Iwrote for that, for example, I
share it in the blog post or inthe talk, but I can't send the
link, for example.
So I just can't resist that.
I don't want it to be hiddeninside our tiny world.
(38:03):
So and that's probably going tobe serious of open source
projects with some blog posts,of course, but we're going to
just tell them oh, that's how wedo form wizards, for example
that's a code you can run andtry, or that's how we style
emails or configure queuecomponents or whatever.
(38:24):
So those apps are tiny, but theyall have some cool ideas I
would like to share.
We'll see, we'll see.
So that's the plans.
That's actually part of my jobas a principal engineer.
I need to think about spreadingthe word, increasing awareness
of what we're doing, what we can, and just continuously remind
(38:47):
the community engineers that weare here on this planet.
Drew Bragg (38:54):
You briefly talked,
or at least mentioned, some
blockers, and that is the nextportion of the show is when I
would normally say what areblockers that you have?
So you've briefly touched on alittle bit of them, but is there
one in particular that youcurrently have that's
interesting to talk about ormaybe work through, or one that
(39:16):
you've recently had that you'vealready solved and we can talk
about how you went about solvingit, like what went on to go
from I'm blocked to I'munblocked in general, my primary
blocker is time, yeah sure, anddestruction sure, everyone's
blocker is time, and that'sactually something that we can
(39:36):
talk about a little bit is howdo you organize your time,
because you have quite a bit onyour plate and you're a
principal engineer.
You've been doing this for longenough that you've come up with
your own ways of handlingongoing projects and a lot of
different projects.
But how do you handle managingyour time when you have this
(39:58):
many things on your plateconcurrently?
Vladimir Dementyev (40:01):
Well,
sometimes it's just working
after hours.
Sure, it's not just workingafter hours, it's working when
you're mostly capable ofachieving the results.
So for me, it's usually earlyin the mornings because I have
to wake up early.
We have a team in Europe andJapan.
Japan is actually moreimportant.
(40:23):
I have to wake up at 7 am toattend some calls, so people in
Japan can not wait till the verynight, and that's what
productivity sparks and I try todo some focused work this time.
And then another productivitysegment is actually closer to
(40:44):
the night, and that's wheneveryone has stopped working and
I can just be sure that noone's going to bother me.
So I would say it's more aboutdistributing work and effort.
So if I know that, okay, it'smiddle of the day, it's sun
outside, I'm not going to workon anything, I just want to.
I just want to hang out withfamily, take a walk, listen to
(41:08):
something, read the book,because I know if I start, if I
have no desire to sit at my deskand stare at the laptop, I'm
just not going to do that.
So I better wait for this momentto come and then I sit and work
and it's really efficient.
So I think it started six yearsago when I was my parental
(41:33):
leave first time.
I expected, okay, I'm not gonnahave time for anything now.
Right, I have a small human,where is that?
And I can't just leave it ontheir own.
And and I can't just leave iton their own.
And it turned out thatdistribution of work time and do
not even try to work time.
That's when it appeared and itturned out to be more productive
(41:55):
than just, okay, I have thisnine to six work day.
I'm going to try to fill itwith useful stuff.
But if you try to fill it,maybe we would think about okay,
I need to fill it with usefulstuff.
That's doing something wrong.
You just need to do that whenthe moment comes.
And for me, of course, I've beenworking remotely for the last
(42:15):
10 years and without a strictschedule like working hours, so
it was natural just to go andsit and park and start coding
because oh, okay, I know how tosolve this problem and then
again just spend two hours anddo nothing If I have a blocker
and I have no idea how toovercome it, I just let it go,
(42:38):
let it stay.
Maybe someday later I will cometo that.
And given that I mostly workopen source stuff and that's
where I see blockers, becausewhen I work on projects usually
I don't have blockers, I justall I need is time.
But for all this open source,like VASM challenges, there are
a lot of blockers appears, but Ijust keep them somewhere on the
(43:00):
surface of the mind.
So I think about it all thetime, even if I'm not doing any
work, and at some point, okay,if I have an idea worth trying,
I just sit and try.
But I'm not staring at a blankpage when I have no idea.
When I have a blank page, Ionly know how I'm going to fill
it.
So that's the process.
And actually, speaking of theblockers, right now I have one
(43:21):
related to the Rails weapon,boson, which I haven't yet
figured out, and that's why Ihaven't started working on that.
There is one gem that Railsdepends on, that's been causing
issues to many developers, andit starts with N.
You probably know the name ofthis gem Nokogiri yes.
Drew Bragg (43:45):
Yeah, okay.
Vladimir Dementyev (43:45):
I was going
to say, if it's a major gem that
starts with N, it's Nokogiri.
Yes, yeah, okay, I was going tosay if it's a major gem that
starts with N.
it's probably Nokogiri yeah sounfortunately right now I don't
know how to make it work on RASM.
So the Nokogiri C extension, atleast as far as I know it's not
compilable to RASM.
It requires some C codingprobably to make it work.
(44:06):
I'm pretty sure it's doable,but my level of my C knowledge
is not enough.
I don't want to waste time onthat because that's the kind of
work when I don't know what'sgoing to be the result.
I try to avoid that.
I try to explore other options.
But at this point we have anaction text part in the Rails
tutorial options.
(44:27):
But at this point we have anaction text part in the Rails
tutorial.
Action text depends on Nakagirifor parsing HTML and unwrapping
attachables and I don't knowhow to make it work.
I already made one attempt tosolve this problem.
I found pure Ruby Jam that doesHTML parsing and transformation
.
It's kind of abundant.
(44:48):
I updated it to modern Rubyversion.
It kind of works, but it's notlike API compatible with
Nakagiri and I managed to makeit probably 70, 80% work.
Extra text work with this Jam,but it's always the last 20%
that's most difficult.
So I just stopped and that'sanother probably way of managing
(45:12):
time.
I agreed with myself so that Ihave two hours to try this
approach.
If I'm not going to make itwork or see the light in the end
of the tunnel that I'll juststop it here.
I'm not wasting my time on thatanymore.
Maybe next time maybe I'm gonnaask some of my effect engineers
(45:33):
who in between projects to dothat.
But that's where I'm at rightnow and I don't know.
I'm gonna do that.
Well, we still have a month torails conference to solve this
problem and I always have a planB.
Oh, if I'm not going to solvethe action text problem, that's
going to be a few slides and mytalk.
(45:54):
Oh, the problems we have andthey are not solvable yet.
Oh, action text.
And we're just going to skipthis part of the tutorial Not a
big deal.
So yeah, that's an example ofactually blocker.
That kind of bothers me.
I always think, I keep it inmind but still haven't had a
solution.
I'm thinking, actually, whenMark Roth announced his new herb
project, which is a ERP parser,whatever an HTML parser, I
(46:20):
started thinking maybe that'sthe way to go.
Maybe we should just makeaction text, not Kagiri less,
but use like herb instead.
So I have some ideas to try,but I just let this blocker itch
me from the inside to the pointthat I either give up and just
throw it away completely or Ifind a cure right.
(46:42):
So right now I don't have theanswer to this problem, but
that's going to be interesting,I think.
Maybe.
Drew Bragg (46:49):
It doesn't solve the
problem of solving it before
RailsConf.
But worst case scenario, if youdo show up at RailsConf, going
well, we don't have action textworking, but everything else
does.
I'm pretty sure Mike D'Alessioand Aaron Patterson will be at
the last RailsConf.
You can just say, hey, anythoughts of making Nokogiri WASM
compatible?
Maybe they'll be like, yeah,well, I don't know, They've been
(47:12):
working on that gem forever anda day, so they probably know
the ins and outs.
Vladimir Dementyev (47:15):
Well,
actually I don't even know.
Maybe it's actually WASMcompatible, but it's not just
easier to compile, I don't knowWell.
Well, the whole buildingpipeline for ruby vasm is just a
black box for me, because whenyou like, try to compile vas
model including yourdependencies and c extensions.
Some extensions are compilable,some not.
(47:36):
I don't know why.
I don't know what's happeningon the hood, because there's a
lot of commands, like with somecompilers, tons of flags.
I don't know how to do that,and maybe someone smarter than
me will eventually make it lesstricky, because we want Ruby
Wasm to be.
(47:56):
There is a concept of componentmodel and Wasm when you can
actually compile dependenciesindependently and then stitch
them together into a single WASMmodule or even load
independently into the runtimeand connect to each other
through the interfaces, and thatshould solve the problem of
(48:16):
having everything compiledseparately.
Probably that will simplify theflow, but I'm not there to just
contribute to that.
Unfortunately.
That would require a lot oftime just to learn how things
work, even in the age of AIeverywhere.
I'm not sure it's going to behelpful for me.
You need to learn a lot ofstuff for that.
(48:38):
Speaking of blockers and Istarted talking about this.
I want to share one interestingblocker we had at the project
actually where we managed, Ithink, to find a solution and I
think it could be useful.
Maybe it's kind of relevant tomany Rails projects.
So we have a client with well,it's a pretty large Rails
(48:58):
application and we help him withperformance issues and that's
the performance issues of this,to give you an idea, idea what
we're trying to do.
So we're trying to tune GarbageCollector at the level where we
fight for every dozen ofmilliseconds of latency, so it's
not just M plus ones and allthat stuff.
(49:19):
So it's more about at the VMlevel.
And right now we're exploringswitching from Puma to Pitchfork
, which is Shopify's web server.
We expect it to give us abetter utilization of resources
and better results in terms oflatency, first of all because we
(49:40):
don't really like threads thatare not good for latency,
especially like B95 and so on,so they affect that because,
well, we have this chill, so wewant to go all in with processes
, but we want processes to forkand share memory efficiently,
and that's where pitchfork iscoming from.
And we found that for typicalrails application like modern,
(50:03):
it's not possible to usepitchfork due to the vips, leap,
vips dependency, because it'snot kind of fork safe, so it
runs a lot of c threadsinternally and they're not
forkable.
And that's was the blocker.
For us to give pitchfork a try,or the same new as a kind of
(50:26):
Moldfork, I don't know what isit.
Okay, that's again something Ihaven't touched myself, just my
teammates.
But we were thinking about okay,how can we simplify the problem
?
If you have a Ruby process withSleepweeps running and doing
some processing and then youwant to fork it and continue
using it as a web server, theWIP's integration is going to be
(50:50):
corrupted the one that was inthe original fork and in the new
fork there is some problem atthe C-level, so we cannot really
fork it.
You just need to kill theprocess and spawn a new one, but
you cannot refork.
So refork is not possible.
And refork is important becausewe can share as much memory as
(51:12):
possible.
So we don't need to and notjust share memory.
There is no like warming upmemory stage, so latency is not
increasing when you refork.
And we were trying to thinkokay, what do we do?
We can fix WIPs.
But we found that actually JeanBousiel already approached WIPs
offers, mentioned this problemand they were discussing it, and
it turned out that it's muchtrickier than it seems because
(51:35):
there are a lot of non-shareableresources and at the WIPs level
there is no just easy way to dothat.
And now we came up with theidea and my team is going to
implement it and see if it'sgoing to work.
But that's actually the beautyof again, the Ruby openness and
Rails openness.
So we have an image processinggem that uses libvips through
(51:58):
native extensions.
But technically, imageprocessing has just a few APIs
that are called by activestorage to transform images or
get some information.
What we can do instead ofcalling directly the C extension
, we can put this tiny Rubydaemon with VEAPs running into a
(52:20):
separate process andcommunicate with it through GRB,
for example.
And just generating a newadapter for image processing is
going to be not just VEPS butVEPS daemon, and in this case we
don't need to fork the VEPSprocess.
It's going to be just runningevery time and we can fork the
Rails process and refork isgoing to work because we don't
(52:44):
have VEPS loaded anymore.
That's what we're trying toachieve and that's actually
similar to what I do for Basm.
If something doesn't work, we golayer by layer from the
implementation to the Rails andfind the layer that we can
hijack, inject ourimplementation, keep the API
compatibility and just insteadof weeps, for example, in the
(53:05):
browser, if we want to haveimage processing work in the
browser, which is I don't knowif we want, but anyway for Rails
we can just, instead of callingT extension or internal process
, we can just call WIPs compiledinto VASM and running in the
browser outside of the RailsVASM through the JavaScript
interface and that's going towork.
(53:26):
So that's the kind of thingthat we can do when a language
is open, like runtime is open,right, ruby is open and B the
framework is kind ofwell-architectured in terms of
high coupling betweenimplementations because Rails is
(53:47):
not coupled In most places.
We have layers in Rails,naturally, because most Rails
abstractions are pure Rubyabstractions, and then we go
down to the actualimplementation and this
combination.
That's what makes it possibleto do many things with Rails.
On VASM, not on VASM, the sameidea applied.
(54:07):
Something we learned fromdealing with VASM was applied to
production application onregular Rails.
So that's just the same idea,the concept which we ported
there.
I'm not sure it's going to work.
If it's going to work, we'reprobably going to write about it
because it's cool.
That's very cool.
That's why why coming back tothe fact that I mentioned about
(54:31):
Laravel, so why we go into thatdirection?
Because we want to try newthings, try to see how our tool,
our software, works in a newenvironment.
Probably we're going to findsome problems that could later
be ported back to Rails to solvesimilar problems, right?
So that's like traveling acrossthe world and learning from
(54:54):
different cultures and thenaccumulating the best parts, or
trying to reuse someone else'sknowledge to solve your
particular problem, because youcan see someone else's or
whatever, and that could be donein software as well.
Drew Bragg (55:09):
That's awesome.
That's an awesome way offiguring out your blocker and
sharing those learnings from.
I don't want to call the Railson Wasm project like a toy
project, but this is not clientwork.
This is not your primary job.
This is something you're doingfor a conference talk, but it's
giving you those learnings thatare helping you solve a real
(55:32):
client problem and that's thebest when you are like I got
myself unblocked and I'velearned this new way of doing it
and now we've got this wholenew way of solving a problem
that we were completely stuck onbefore.
Vladimir Dementyev (55:46):
And I think
that's actually an important
aspect of learning and why weshould continue learning and not
just orchestrating AIs andwhatever, because it's not
important that I have learnedhow to do some crazy stuff as
Rails and VASP.
It's important that I learn thetechnique right and that kind
(56:06):
of a critical thinking.
So that's why importantactually to learn even like
abstract things like mathematics.
I learned a lot of stuff that Inever gonna use in my life
right, who cares about that?
But I learned how to solveabstract problems and the
technique I learned I couldapply to real-world problems,
(56:28):
and the same here.
When you solve in one problem,what's important is the
experience of something that'sleft not in the code but here in
your mind, and that's what weshould aim for, I think, as
engineers.
Drew Bragg (56:47):
I can agree with
that wholeheartedly.
The last question is going tobe a really tough one, because
you have talked about so muchcool stuff.
So much cool stuff that borderson new too, like I have heard
of the Ruby Wasm.
I knew about your talk becauseI'm on the programming committee
(57:08):
.
It's not terribly new, butthere's probably a fair amount
of people who are listening tothis going wait, you can do what
in who with the what, butbecause the question does not
require it to be coding related,but it can be, I'm going to ask
it anyway and you can take aminute to think about it if
you'd like.
But what is something cool, newor interesting that you've
(57:31):
recently learned, discoveredcould have been built?
Doesn't have to be codingrelated, but it can be just.
What is something that you wantto share that you're just like.
This is cool and made meexcited and I want to share it A
few weeks ago I attended alarge BriggsCon.
Vladimir Dementyev (57:48):
It's called
Briggs Cascade, it's like
LegoCon in Portland, oregon, andI was born and raised in Russia
and we had Lego years aftereveryone in the world had it and
we just had a few stores in thecountry and so on.
But attending an event andseeing that people doing cool
(58:09):
stuff actually.
So there are different kinds ofpeople.
Like someone preserving oldcollections you can see Lego
from the 70s, 80s, 90s, fromyour childhood and someone just
building huge installations witha lot of stuff.
And that's something that wasnew for me because, well, I've
(58:29):
never seen anything like that.
I'm not attending anyconventions, except for Ruby and
Rails conventions, right, butthat's a different kind of hobby
.
I don't think it's a hobbyactually for them because I take
a lot of time, but that's theway of living with this
(58:50):
technology idea, whatever.
Like passion, I've seen peoplepassionate about Lego bricks as
something new to me because like, wow, it's a bit of envy
because, well, I could notafford dealing with, like
building a million pieces, copyof some building in Lego or
whatever, but it's really coolto see people doing that.
They're not doing that formoney, obviously, right.
(59:12):
They're doing that because theylove that and that's always
cool to see people enjoying whatthey're doing, right?
Yeah, I can't say that aboutmyself all the time, right?
Any software engineer, engineer?
I don't think a lot of peopleenjoy that, to be honest.
So seeing that there is anotherway of enjoying what you're
(59:35):
doing is cool.
Drew Bragg (59:36):
I'm with you.
Yeah, as a kid who grew up withLegos, I can confirm they are
awesome and fun and probablyinfluenced my decision to become
a developer.
There's a lot of parallelsbetween you're just taking a
bunch of bricks and buildingsomething by layering on on top
of one another, and so I'venever been to a Lego convention,
(01:00:00):
but it's always been on my listof like.
That would actually be kind ofcool to go just because I've
seen pictures, but seeing it inreal life is always better.
Of some of the stuff these guyscan do with legos is like I've
been playing with legos for over30 years now well, over, holy
crap.
I'm not gonna do that math.
Vladimir Dementyev (01:00:18):
I don't
think I could do that, and these
guys are building huge and Ithink it was even better than
legoland, for me at least, maybenot, maybe not for kids,
because we also went to Legolandthis year with my son.
It was cool oh, I guesssomething you saw on TV when he
was fighting.
Now you're there, but theconvention is just different and
(01:00:39):
we actually have one big comingto Seattle in September.
I guess it's one of the largestin the States.
So I would definitely recommendchecking that kind of events
locally.
Yeah for sure, just to hang out, just to shift the environment,
to see something different.
Drew Bragg (01:00:56):
Building a Lego set
feels a lot like building
software, but it's much moretangible and you can probably
learn from that.
Vladimir Dementyev (01:01:03):
Now, when
you know both, you can see how
people build.
Now, when you know Buff, youcan see how people build Legos
and you can say oh wait, I canstructure my application like
that.
Drew Bragg (01:01:11):
That's going to work
, why not?
Vladimir Dementyev (01:01:13):
I can't
imagine that as parallel
universes, they all work by thesame rules, actually under the
hood.
Fundamentally, we just need todig deeper to find this.
Drew Bragg (01:01:24):
Yeah, there's a lot
of overlap in places.
It all comes back to like youwere saying with mathematics,
like that joy of problem solving.
Yeah, that I think a lot ofdevelopers have just like this
joy of solving the problem,figuring it out.
That is not unique at all tosoftware engineering.
That goes everywhere.
So you can practice yoursoftware engineering skills by
(01:01:50):
getting better at problemsolving, by doing other things,
so that you're not burningyourself out.
Oh, I just worked 10 hours on mywork project and now I'm going
to work another five on mypersonal project and then the
next day not want to look atcode ever again.
Like you can say, I'm going togo build a Lego set and still be
helping your brain figure outhow to be a better problem
(01:02:12):
solver, a better builder, betterat thinking through layers of
abstractions without actuallycontinuing to stare at a screen
or code.
I think that's a good one, verycool.
So where can people find youand all of your projects and all
of the cool things you work onon the internet?
Where is the best way toconnect with you?
Vladimir Dementyev (01:02:34):
I'm on
GitHub mostly, so that's the
browser tab.
I have all the software andthat's my social network.
That's what I communicate themost and social coding.
I post some stuff on Twitterand evilmartianscom, so, where
we have also other announcementsand stuff coming on, I think
it's just free primary.
Drew Bragg (01:02:55):
Yeah, I'll put your
links to your github, your
twitter, evilmartians.
I'll put a link to SFRuby'smeetup and the conference all in
the show notes.
So if anybody was inspiredafter listening to the episode,
check out the show notes andyou'll find all the links there.
It was awesome having you on.
I feel like we could havetalked for another hour on all
(01:03:16):
the things that you're workingon, so we'll have to have you on
again, maybe a little closer tothe San Francisco conference
and we can talk a little bitabout the conference actually
yeah, there you go.
We'll talk about some of thecool things you learned during
that whole process, but thanksfor coming on.
I really appreciate you takingtime out of the day, great,
(01:03:38):
great talking to you, greatconversation hopefully I'll see
you at the last rails, conf andlisteners, hopefully I will see
you there too.
Tickets are still on sale evenas this episode is coming out.
You should definitely come toPhilly, have a bang and cheese
steak with me, and Andrew Masonand Chris Oliver and everybody
else in the community hope tosee you there and we'll see you
(01:04:01):
in the next episode.
Bye.