Old school PHP with TJ Miller
Hey everyone, welcome to Countdown to Laravel Live.
I'm Mathias Hansen, your host, and today I'm chatting with TJ Miller, who is going to
speak at Laravel Live in Denmark here in August in Copenhagen.
TJ, thanks for coming on.
Yeah, thanks for having me, man.
So TJ, I'd love to hear more about how you got into computers and technology.
What's your earliest memories of programming and stuff?
Yeah, so I got started real early on.
I was super fortunate.
My dad worked for a tech company.
He worked for Xerox and like I got to go with him to the office and see all these like
crazy printers.
I mean, I remember being like, I don't know, like 10, 11, 12 years old and like getting to
see like this 3D printer for the first time ever.
And it was like the size of a small car.
So just like getting exposed to like really cool stuff like that early on.
But
Because he worked for the company, we always had pretty decent computers from the get-go.
We had internet very, very early on.
And so I think around like 9, 10, 11, I was definitely getting heavy into video games.
was like Cosmic Osmo, Enter the Mist, Lemmings, just sitting there playing on the
computer.
But then we got internet.
And that's when GeoCities and AngelFire were hot.
Nabster came on the scene, uh LimeWire.
I was just bit by all of that stuff.
it uh fascinated me how everything worked.
And so I started reverse engineering geocoding websites from everywhere.
uh
and just started hacking on them.
I'd copy and paste the HTML and just get them rendered in the browser and just started
messing with stuff, seeing what it would do.
And I just...
I was blown away by all the possibilities.
And then MySpace came on, like the scene, and customizing MySpace pages was the thing to
do.
And I got really into it, and just being able to hack on them, see what you could create.
And that was my very first paid gig, was customizing MySpace pages for local bands.
So yeah, just like...
The world of possibilities was just, uh it got me and hooked me and I've been just messing
with code ever since then.
oh
So TJ, we of course work together, it's no secret.
So I know you're a huge Neo vim user, big fan, right?
But what was your earliest memory of the editor you're using for HTML?
Do you recall?
uh Definitely like notepad, notepad plus plus was like very early days.
Yeah, yeah, we went from notepad to notepad plus plus and they use that for quite a while.
uh I can't remember what I used, of course, like Dreamweaver a little bit, uh you know.
but I always just loved the freedom of a text editor rather than a full IDE.
But even though now my Vim is basically full IDE, something about the simplicity of it I
really like.
Well, it's like highly configurable, right?
Like you've customized it to Smitherens, basically.
Yep.
Yeah.
got a, like, I got an old laptop for my grandmother at one point and there was something
wrong with it.
And I like ended up firing up DOS and starting to mess with that.
And that was my first like taste of the command line.
And I just thought that was so cool that I could like, I would just pretend I was hacking,
like listing directories and navigating around, you know?
Um, but that got me bit by the, command line and, um,
That's somewhere I just, always, the space I always played in.
uh So yeah, that kind of led me towards like Vim and Neo Vim and uh TMUX and all that,
that sort of like tool chain when I got into Linux.
Yeah.
um So did you work in Linux first?
Was that your first computer?
Was that Linux or was it Windows or what was it?
first computer was a Mac.
Mm.
then was Windows for a number of years.
But I always like inherited other people's computers.
So I was always getting like old, old computers and you could never, everything was like
always so slow.
And so then I discovered Linux and I could run Linux on these like lower powered machines
and still get like a little bit of extra performance out of them by doing so.
And so that I discovered like Ubuntu and Mint and all, all like the Linux flavors and uh
I ran Linux for I think like three or four years in my early teens, you know, like hacking
on it, customizing it.
It's the same reason I love Vim and NeoVim.
Like you got, you can do whatever you want to it.
So.
Do you have a favorite window manager?
I'm really missing with Linux as a desktop computer around that time as well.
And I couldn't quite figure out like the best setup for like the UI essentially.
man, I don't even, I'm so far departed from running Linux at anything other than servers
right now.
Like, yeah, I don't even know.
Cause I can't remember the last time I used a Windows manager, like a window manager on
Linux because it's, I'm just server administration, you know?
Yeah.
yeah.
Cool, so you were talking about playing video games on one of first computers you had
access to.
Did you ever work on playing around with building video games?
like, prototyping video games?
I've played a little bit with it.
uh It was never, I don't know, that never really bit uh my attention at all.
So I've not explored too far into video games.
My son, however, is like super, super like fixated on wanting to learn how to code so he
can make video games.
So I have a feeling this summer I'm gonna be learning a little bit of game development.
Speaking of your son, you were mentioning at Xerox this huge 3D printer, you know, what
was it, did you say the size of the car, taking up whole room?
That's wild.
I know you recently got into 3D printing as well, I guess maybe you were into it before,
but you got a new 3D printer, right?
Yeah, yeah, we got one for Christmas for my son and myself.
And it has pretty much been running, I think, nonstop since we got it.
uh In high school, I took years of drafting in AutoCAD.
I think I probably took four years of drafting in AutoCAD.
So uh I've been having a blast designing and making our own things here, too.
Not just the prints that we can find online, but actually designing things like our...
uh
our French press top broke and so I just printed a new one, know, designed and printed a
new one and it worked great.
So uh I love it.
That's awesome.
So since you did all the cat classes, were you ah planning to become a mechanical
engineer?
What was your plan back then?
Back then, it was still to go into web development.
And my drafting teacher absolutely could not.
He was so confused.
He could absolutely not figure it out because he's like, just took all these years of
drafting in CAD.
And you're pretty good at it.
But you want to go do this web development thing?
I'm like, yeah, absolutely.
So at the same time, I was also taking the high school offered, like an intro into web
development course.
And I ended up uh like.
sort of co-teaching it with my instructor because at the time, like I knew more than him
because I had been playing with it for years at that point.
So I ended up almost like kind of assistant teaching with him, uh, like the class and did
that for two years and was just like super obsessed with it.
And that, that was about the time, like my senior year in high school is when I discovered
PHP.
so this is like, five, six.
And that was mind blowing because before it was just JavaScript and HTML.
and CSS, but now with PHP it was like the world opened up to like databases and dynamic
content loading and templates and uh that was like a, I don't know, like a whole new burst
of inspiration into the scene for me.
So do you remember when the very first thing you should build with PHP?
Like one of your first PHP projects?
Yeah, it was actually for a local sports center.
They had a whole bunch of activities and they had an in-house bar and everything too.
uh
The very first PHP project was that doing like dynamic templating so that we'd have like a
consistent sidebar and like a static header.
And then like the content area would swap out as you like popped through links and that
was all like PHP based.
uh But that was the uh very first thing I did and it was mostly templating.
uh But yeah, that was.
That was my very first taste of PHP.
then not too long after that was getting into WordPress and uh custom frameworks from
there.
oh
I know you've also used the layerable for long time,
Yeah, yeah, I got into Laravel, uh late Laravel 3.
So I've been using Laravel for like about 10 years now.
I wonder what happened around that time, I've spoken to a bunch of people already and it's
very common that people start using Laravel right around then, I think 2012, 2013 I think,
just before or in the early beginning of Laravel 4.
I guess that was a big turning point for Laravel at that time.
Yeah, yeah, I think it started gaining popularity right around that time too.
that's like, I had been doing a lot of WordPress development at the time and the place
that I had worked at, uh senior developer left and I kind of just like slotted into that
spot.
So we were, was now getting into like application development and he, had made like heavy
use of cake PHP at the time.
And it was a fine framework, but I didn't really align with the way that they were using
the framework.
So I was like dead set on let's find something else.
Almost jumped ship from PHP to Ruby at that point in time.
But I was looking at, it came down to like two framework choices.
It was between like Falcon PHP and Laravel.
And like Falcon seemed pretty cool because that actually is like an extent, like a PHP
extension.
And I was like, wow.
That's like, bet we could like do some really cool stuff with that.
But as I started seeing what Laravel was doing with three and Taylor at the time was
starting to like talk about what was coming up in four.
Um, I didn't even realize you could like write PHP that way.
And that's, that's what really like sold Laravel to me was I'm like, wow, this is like
beautiful.
It just aligned so
much with the way that I thought about coding and the way that I thought about building
applications that I just I was I was sold and have been using Laravel ever since.
I remember I met you first at Leracon in I would say 16 or 17 when you were speaking in
Chicago, right?
On API development or API design?
18, oh God, yeah.
Yeah, 2016 was my first Liricon in Louisville.
And then, yeah, 2018 I spoke in Chicago.
I might have met you in Louisville, it's been a while, but maybe I popped into you there
as well.
I know it was like Sandy Met spoke, Evan Yu spoke, uh Matt Machuga I think spoke.
Yeah, that was my first ever like tech code conference and boy was that like one hell of a
entry point.
I think Lericon was in Louisville twice actually and those two Lericons, maybe it's just
because it's nostalgic at this point, but that was like my favorite Lericons.
felt like uh it was like a perfect size and the venue was awesome.
Louisville was really fun too.
Yep, yeah, I really enjoyed the Louisville spot.
uh New York, the second New York has like a special place for me too.
uh And then Chicago was just, was a really cool experience.
Being at the museum was so neat.
Yeah, so this was at the, science museum in Chicago and the actual museum was the venue.
And that's the after party was, uh, you know, in the, the grand for right with like all
the exhibits around.
was, remember the big train and it was insane.
Yeah, it was so cool.
Cool, and you have a busy year for speaking this year.
Of course, you're going to level live Denmark, but you're also speaking American US.
You just spoke at and gave a workshop at PHP Tech in Chicago.
And I'm missing something.
You're also doing, no?
I you were doing one more thing.
I don't know.
That's it for now.
it for this year.
Did Tech, I've got LaraCon coming up and then Laravel Live.
And then I was thinking about submitting to Longhorn, but it's gonna be a busy year, so
probably skipping that one this year.
Yeah, it's also a bit uh further, a bit far um as well as a bit of a travel day to go to
Texas,
Yeah.
Cool, I wanna jump to um talking a bit about your talk m at Laravel Live.
So you are gonna talk about uh Prism, right?
Yeah.
Yeah, we're going to talk Prism.
uh Really kind of my goals for the talk are to showcase Prism and really kind of like
introduce it to a lot of people that maybe don't know about it.
And I want to walk through kind of showing the power of Prism and the flexibility of
different things you can do by showing off a few different workflows.
So we'll go through a couple of different AI workflows and how we implement those with
Prism.
And that'll kind of give everyone a taste of the different capabilities and like different
affordances that you get with using Prism.
Thank
So for those listening who have not used Prism yet, do want to give a quick elevator pitch
for what Prism is and does?
Yeah, so Prism is like a unified interface for working with multiple large language model
providers.
So we do allow like for affordances for like very provider specific pieces of
functionality.
But overall, the main goal is to be able to interrupt between different providers in like
a really clean and easy API.
So depending on how you can build with Prism, you could easily swap between Anthropic or
OpenAI or Olamma and your integration is
to stay relatively the same.
So I really love that driver-based approach, which is also such a layerable philosophy,
especially when...
you know, things are moving so fast in the LLM space.
New models are coming up, pricing changes all the time.
So being able to quite easily switch between providers or even using a local LLM, which is
super, super cool that you can actually do that for a prism, I think that's extremely
powerful.
Then of course, if you haven't seen it, the actual way you interface with...
with Prism and the developer experience is absolutely sick.
It's so easy to get the ball rolling with Prism and build some really powerful stuff.
yeah, thank you.
Yeah, that was the
The whole experience has really been about trying to provide the cleanest developer
experience possible.
The whole thing started from a documentation-driven approach of I sat down, designed how I
wanted to interact with Prism, and then took that as a template and started implementing
all the functionality to that API.
So it was very much dreamed up as a developer experience, and then we've just gone back
and fulfilled those contracts.
Yeah, that's awesome.
really clearly shows too um from developing experience point of view that that was sort of
like where it started.
That's really cool.
Oh, that's fantastic.
Yeah, we do everything from text generation.
We do streaming for providers that offer streaming.
We do structured output.
And then we're going to be getting into like audio here pretty soon, image generation.
We do, we'll be doing all of that stuff.
Really looking forward to hearing more at a level live.
It's going to be really, really awesome to hear more and get more details and see some
stuff live.
It's going be awesome.
Yeah, I'm super excited about it too.
So when I ask, I ask everybody this, is there anything you would like to see or do or eat
while in Copenhagen?
Yeah, for sure.
I'm definitely interested in getting on a canal tour and getting to go around.
And I'm definitely a bit of a food junkie, so I'm going to be trying as much as I can
there, like unique stuff.
But yeah, big on, I'm a former competitive cyclist, so I'm definitely gonna be trying to
find a bike to ride around a bit and just kind of like see some sights.
But I'm planning on taking a, like adding it like a full day onto the end so I can just go
explore and, you know, have some fun.
Yeah, mean, biking is obviously a perfect thing to do in Copenhagen.
You have to be careful with the locals though, because they're, you know, they can go
pretty crazy on the bike lanes.
Yeah, yeah, that's what I've heard.
So it'll be fun.
I'm also a bit of a museum junkie, so I'm sure I'll find a museum or two to pop my head
into and go explore around.
Yeah, for sure.
So one thing, one fun thing, view the canals.
I love the canal tours as well.
when people visit, always recommend doing that.
It's really nice, especially on a nice sunny day.
But one thing you can do now too, is you can actually rent your own boat and sail around
the canals.
And when I first heard this, I was like, this should be illegal.
I can't believe you're allowed to do this.
Like no license or anything, right?
uh But the canals are pretty chill.
The boats are very slow.
It's like small electric boats.
ah So it's kind of like, you know, those dock boats at a theme park, but it's a bigger
area and you don't have to pedal.
So it be fun too finding a few people and going on a small self-guided canal tour as well.
Yeah, yeah.
And that's I figured too.
Like I'm pretty go with the flow person.
So I figure, you know, meeting up with people there and kind of see like what groups are
up to and maybe tag along with some other events and yeah, pretty open.
So you said you're a bit of a food junkie.
I can definitely relate to that.
Any particular cuisines you're really excited, in general, really enjoy.
You know, I haven't had a chance to do too much hunting, but for us around here, like we
just try to go out and like find places for things that we can't make at home.
like we were always in searching for like the unique stuff, you know, the different
things.
So I don't, I don't have anything in particular, but I'm just, um I'm, interested in like
going around and sampling as much as I can.
That sounds amazing.
uh
you'd recommend making sure I try out there food-wise?
So Denmark isn't really known as a place with lot of uh world cuisine, that's just to be
honest.
em
actually where the venue for the conference is.
It's on a small island connected to Copenhagen and um it's known for its big uh food
market out there with food trucks.
So it's actually one of the best places to try a bunch of different cuisines because you
can just walk from truck to truck and every truck has a different Indian food, you can get
Chinese food, can get...
um I'm sure we can find a Korean barbecue truck for you as well.
Yes, let's do that.
kinds of stuff, but it's awesome to every single meal you can try a different cuisine.
I really enjoy that, the paradox of choice of having all these options.
that's perfect.
I'll be able to sample a whole bunch of stuff.
That sounds right up my alley.
Yeah, exactly.
So I really enjoyed that.
Cool, well thank you so much for taking your time to chat for a bit.
It a of fun.
Yeah, absolutely.
Thanks for having me.
That was TJ Miller sharing insights about text editors, 3D printing and course Prism.
You can catch his full presentation at Laravel Live Denmark August 21st and 22nd in
Copenhagen.
And if you haven't grabbed your tickets yet, head over to laravellive.dk before the prices
go up on July 1st.
Thanks for tuning in to Countdown to Laravel Live Denmark.
Make sure to subscribe so you don't miss any of our speaker interviews leading up to the
conference.
Until next time, keep coding!
