The Laravel Podcast brings you Laravel and PHP development news and discussion. Season 5 consists of Matt Stauffer interviewing the creators of the most popular packages in the Laravel ecosystem.
Interview: Freek Van der Herten, Lead Developer at Spatie
An interview with Freek Van der Herten, lead developer at Spatie.
- @freekmurze
- Spatie
- ColecoVision
- HyperCard
- BASIC
- Krautrock
- Antwerp
- Browsershot package
- Spatie Postcard Page
- Oh Dear!
Transcription sponsored by Larajobs
Editing sponsored by Tighten
Matt Stauffer:
Welcome back to the Laravel podcast, season three. Today we're going to be talking with Freek Van der Herten, (pronounced) something like that. He works with Spatie, and they make packages and do all sorts of great things. Stay tuned, you'll learn more.
Matt Stauffer:
All right, real quick note going into this episode. I just moved offices, and I only noticed after moving that the movers bumped the gain knob on my audio. So it's not going to sound great. I apologize ahead of time. But don't blame Michael, it's not his fault. It's my fault. Sort of the movers, but mainly just me. All right, let's get on with the episode.
Matt Stauffer:
All right, welcome back to the Laravel podcast, season three. This is a season where we learn about all sorts of amazing people. You may have heard of them before, you may not have heard of them before, but they're all absolutely incredible, and if their name is not English, then I also mangle it terribly and they fix it up for me.
Matt Stauffer:
Today we're talking to ... okay, Freek Van der Herten, (pronounced) something like that, who is one of the leads ... [crosstalk] Oh, no, you're going to do it for me in a second, and then you can grade me on how well I did. And you're also going to have to grade me on how well I do the name of your company, because I have been told that I say it wrong. So, Spatie, which apparently is close but not quite right. So that's a company. They make packages, they do open source Laravel stuff, all this kind of stuff. You've seen their open source packages, used those packages, you've seen his blog, you've seen him on Twitter, all that kind of stuff.
Matt Stauffer:
So the first thing that I'm going to ask him to do is first say his name and his company's name right. Second, grade my pronunciation and see if he can make me do it any better. And third, ask the first question we always ask, which is, when you meet people in the grocery store, how do you tell people what it is that you do?
Freek Van der Herten:
Okay. Let me pronounce it just right. My name is Freek Van der Herten. I work for a company called Spatie. And I would rate your pronunciation an 8 out of 10 or a 9 out of 10, so it's pretty good. You did it pretty well.
Matt Stauffer:
All right, for an American, that's a pretty good number, so I'll take it.
Freek Van der Herten:
So at the grocery store, if somebody asks what I do, I simply say that I make websites, I'm a programmer. So I try to make it really easy, because I am mostly on the back end stuff, and for people that are not into back end, that's all a little bit fuzzy. And with websites, they immediately know, oh yeah, he creates those. Yeah.
Freek Van der Herten:
And I always say, I'm not going to install printers. That's not my job. I program stuff.
Matt Stauffer:
That's perfect, because if you say I work with computers, that leaves that open. You might be a networking person or something like that. So I can hear in your pronunciation a little bit of the ways that I'm off. So I'll go back, listen to this 10,000 times, and see if I can get it right. But an 8 out of 10 or a 9 out of 10 for a Southern American, I'm going to take that as a win.
Freek Van der Herten:
It's pretty good, man.
Matt Stauffer:
Right. So I mentioned this real quick, but Spatie, Spatie, whatever it is, they have 10,000 packages. Some of our questions are going to be about all of the Laravel packages you have, a little bit about your tweeting and your sharing of content. But of course, if anybody doesn't know who he is, just check him out. So I also don't know ... I know that I asked you personally, and I know where your Twitter handle comes from, but not everybody else does, and I don't actually know how you pronounce it. So tell us your Twitter handle, where it comes from, and how you actually say it in your mind.
Freek Van der Herten:
Well, my Twitter handle is @freekmurze, and it's actually a very good question, where it comes from. Freek is just my first name, but I have actually three names, and that's not that uncommon in Belgium. Most people have multiple first names, and mine are Frederick, because Freek is just a nickname, actually. My second name is [inaudible 00:03:59]. And the third name, which is a very special name, I don't think anybody has it now, it's Murzephelus. And Murzephelus is a name given by my parents, and it's an emperor, it's a Byzantium emperor, because both my parents are lawyers, and when they had me, there was this law in Belgium that you had to pick the name of your child from this big list of names that were approved, and they wanted to see what the city clerk would do if they just picked a name out of history that is not on that list. So they picked Murzephelus-
Matt Stauffer:
Rebels. I love it.
Freek Van der Herten:
And the clerk didn't say anything, they just wrote it down.
Matt Stauffer:
Nice. Very cool. It's funny, because-
Freek Van der Herten:
And I've also passed it down to my kids. So they also have Byzantium emperor names.
Matt Stauffer:
I love it, that's awesome. It's funny, 'cause when I first looked it up, I was like, oh, Mur-zeph-el-us. But it sounds a lot more regal when you say Murz-e-phlus.
Matt Stauffer:
All right, so that's your Twitter handle. So go follow him on Twitter if you don't know, he's got a newsletter and a blog. And one of the things that Freek does a lot is collect together the best stuff from other people, and so Spatie creates an incredible number of packages. Quite a few of them are original content, but one of the things they also do is they take stuff that other people are doing and they package it up together in a normalized way. So if somebody says, here's a thing on Laracasts or here's an idea or something like that, they will often make a package around it. And Freek both writes his own articles, and the people at Spatie write their own articles, and then they also collect together links to articles from other people around the community. So they're both creators and curators, and that's something kind of they're known for. So if you haven't seen them, go check out that stuff that they're doing.
Matt Stauffer:
Okay, that's fun. Moving on, when did you first get access to a computer? In what context, and what was your interaction with that computer like?
Freek Van der Herten:
I started using computers at a very early age. It was actually, also, my dad had bought a ColecoVision. I don't know if you know that console.
Matt Stauffer:
I've never heard of it.
Freek Van der Herten:
It was very big in the '80s, I think around '82 or '83. So I must have been three or four when my dad had a console and he let me play on it, and that was the first time I interacted with this on a screen.
Matt Stauffer:
What kind of operating system was it on?
Freek Van der Herten:
I don't know, it's a game console, so it's only-
Matt Stauffer:
Oh, a gaming console.
Freek Van der Herten:
Yeah, yeah, it only had games on it, and that was the first time I interacted with something and saw something moving on a screen.
Matt Stauffer:
Got it.
Freek Van der Herten:
Now shortly after that, I think two years after, we got our first computer in the house, which was, I think ... It was definitely a Macintosh, and I think it was an SE model. It's one of the first models. So my dad was a little bit of a computer freak, and he wanted, he had to buy this new stuff. So I started out with a System 6, I think it was, on Mac OS. And, yeah, I started ... yeah, there was a program on there called, maybe some people know it, called HyperCard, which was-
Matt Stauffer:
I've heard of it.
Freek Van der Herten:
It's a very simple application, which makes it very great. It's just a stack of cards which you can programmatically do stuff with. You can say, if somebody clicks here, go to card number three. If somebody clicks here, go to card number five. So I started to ... And if you click here, play a sound or display this image. So I made my first ... I don't know if I can call it computer programs, but I made my first projects with that little ... little games like that. So that was-
Matt Stauffer:
That's funny how different Mac and PC are, because I know about HyperCard, I saw it in school, but I never worked with it. But my first one was BASIC, and it's probably around the same time period. I was six or something, so it was around late '80s, early '90s.
Freek Van der Herten:
Yeah.
Matt Stauffer:
And it was such a different experience. I was learning syntax and code and able to do almost nothing, whereas with the Mac, it's giving you this visual, interactive system, and it's such a difference even back then of what you're getting from each of them.
Freek Van der Herten:
Yeah, 'cause at the school, we had a Windows computer. Yeah, a Windows 3.1 computer. But the Windows subsystem, that was just a shell. You had also MS-DOS behind it, and when I saw that, I thought, what is this? I'm going back in time, we have something way better at home. We have this thing like a mouse on there.
Matt Stauffer:
Yeah. Yeah, that's interesting.
Freek Van der Herten:
So that was fun. So I've always been busy with computers and creating my own little things on it.
Matt Stauffer:
Did your interests keep up through school? Did you always think of yourself as a computer person?
Freek Van der Herten:
Yeah, I always knew I wanted to do something with computers. I studied IT as well, so I'm one of the lucky ones. At a very age, I knew I wanted to do this. But IT is very big, so I did a lot of things on my computer as well. At one point, I also did some sound technology, some songs, because that's another passion of mine. I'm also busy with music, I have my own band, and-
Matt Stauffer:
Okay, you're going to tell us more about that in a second.
Freek Van der Herten:
Yeah. So way before Laravel was there, when I still had time to do other stuff, I created music as well. But that helps a little bit with all the background, right, the background right now.
Matt Stauffer:
Okay. You know what, I actually am going to pause there. What musical instruments do you play, and it sounds like you were also recording. Were you doing mixing and mastering and production and everything?
Freek Van der Herten:
Just recording stuff, and a little bit of mastering, but then I'm not really good at it.
Matt Stauffer:
Yeah, yeah.
Freek Van der Herten:
My musical taste is a little bit lo-fi, so what I recorded was lo-fi as well.
Matt Stauffer:
Yeah, yeah.
Freek Van der Herten:
So I started ... My first instrument was, I think, the saxophone, when I was 10 years old. I had to do that for my parents. Yeah, you have to do musical school.
Matt Stauffer:
Yeah, yeah.
Freek Van der Herten:
But I didn't like it that much. I think the first two years were great but then I wasn't interested in the saxophone anymore. I tried to pick up the piano, and did a year of piano. And then I learned guitar myself, and that's an instrument where ... I stick a little bit by. So in all the bands that I-
Matt Stauffer:
Do you play acoustic or electric more? Sorry.
Freek Van der Herten:
It's more electric these days, 'cause, yeah, I play in a band and I have my electric guitar installed there. So I do that more. I do a little finger picking at home. I have the acoustic guitar here. But it's not as much as I used to.
Matt Stauffer:
What style of music do you play?
Freek Van der Herten:
It's a style called krautrock. I don't know if you know that.
Matt Stauffer:
I don't. You're going to have to send me the link later so I can put it in the show notes.
Freek Van der Herten:
Well, it's like this ... It's my favorite kind of music. It's like ... house music, like dance music. Very repetitive. But with guitars instead of electronic instruments.
Matt Stauffer:
Okay, all right.
Freek Van der Herten:
So there's some good bands that you should check out from the territory. It's very big in the '90s, there are bands like Can and Neu! And the ideas behind those bands revolve around ... with how, how do you say it in English, how can we keep things interesting with the least amount of notes? With three notes, what can we do. Just by repeating them, we'll make it interesting again.
Matt Stauffer:
Very interesting, yeah.
Freek Van der Herten:
And that's an aesthetic that I really like, just the simple things. The fertile things. Not too many whistles and bells with it, but just fertile, pure, straight to the point.
Matt Stauffer:
It's funny, 'cause when you said repetitive, the first thing I thought of was jam bands. And a lot of jam bands are a lot of noise. You've got 20 people on stage, but they're very repetitive and they're not interesting to me, because everybody's playing the same noisy notes over and over and over again, so it seems almost the opposite, at least in my very judgmental perspective, where you're trying to have very little noise, but actually keep it interesting.
Freek Van der Herten:
Yeah. I'll send you some interesting pieces to you. I have-
Matt Stauffer:
Yeah, I'll put it on the show notes, everybody.
Freek Van der Herten:
I've recently listened again to a few versions of a piece called In C. I don't know if you know it. It's a musical piece, I can't remember the author right now. It's probably going to go in my mind in a few seconds. And it's like 18 melodies of music, and it's 20 people playing them, and there are a few rules around it. When somebody plays the fourth tune, everybody still on the first tune should skip to the second. There can only be a gap of two. And then you go slowly to the end, and it lasts about an hour. And it's very simple melodies, but they interlock very, very well together. And it's not written on paper, how much times you have to repeat each melodic phrase. So every version is a little bit different.
Matt Stauffer:
Interesting, yeah.
Freek Van der Herten:
And that's interesting music to me.
Matt Stauffer:
So you could theoretically have one musician who's just really antsy to move on, and the whole thing would be done in 20 minutes?
Freek Van der Herten:
Yeah, yeah.
Matt Stauffer:
Oh, very interesting.
Freek Van der Herten:
That could be the case, yeah.
Matt Stauffer:
Everyone's glaring at that one guy.
Freek Van der Herten:
There are hundreds of versions of that, but they're all amazing.
Matt Stauffer:
Very interesting, okay. Like I said, I'm going to get him to write all this down for us. Links in the show notes later.
Freek Van der Herten:
Yeah, sure.
Matt Stauffer:
I'm super interested to learn about that. So you said you don't do as much music now, is that true?
Freek Van der Herten:
Yeah, that's true.
Matt Stauffer:
I hear you right?
Freek Van der Herten:
Yeah. So when I was a little bit younger, I think when I was around 20s, then I had a little studio in my own apartment, and I recorded lots of songs. That was my main hobby then. Nowadays, it's programming, but then it was every moment of free time that I had, I have to record stuff, I have to experiment with stuff, which is ... Yeah, sometimes I listen back to those recordings, like every five years or something, and I am still a little bit proud that there's something that I accomplished.
Matt Stauffer:
Yeah, yeah, definitely. Yeah, I spent that much time, I got that good, even if I couldn't do that right now, that's still something I did.
Freek Van der Herten:
Yeah, yeah. Absolutely.
Matt Stauffer:
All right, well, I want to ask you more questions about that, but I also want to get to the end as well. All right, so when you first got into that, you said you had access to those Windows computers in school. So what did your school education look like? At what point did you start getting more than just typing lessons?
Freek Van der Herten:
I think when I was 14 or 15, we had lessons in a thing called Isolab. I don't know if that is a well-known program or not, but it's something we teach at school, and it's basically this grid, and there's a car in it and there are certain obstacles, and you have to write an algorithm to let the car reach a special end spot.
Matt Stauffer:
I want to do that now.
Freek Van der Herten:
And it's something to exercise things like loops, like memory, like and or not kind of stuff. And that are the first things that I learned to do. We also had a little bit of Visual Basic if you were ... I went into higher education, so we programmed things in Access. Access is this Microsoft database, where we had to program the streams and special reports and stuff like that, and I only got into programming, into real programming with computer languages, in higher education, where I got to learn C++ and COBOL. Things like that. Yeah, I learned COBOL.
Matt Stauffer:
Now, were you doing IT? Was it IT then, or were you specializing more in computer science?
Freek Van der Herten:
It was ... I don't know how you say it, how you translate that thing that I said it in English, but it's focused on practical IT. But it was in 1989 that I studied higher education, and yeah, internet wasn't as big like it is now. And we didn't have any lessons on HTML or the web. It was all on this enterprisey kind of stuff that we had to learn, like Java, like C++. Things like that.
Matt Stauffer:
Yeah. Huh. So when you say secondary education, do you mean when you were 18 years old, or when you were 14 years old?
Freek Van der Herten:
Secondary education, that's from 12 years old to 18 years old.
Matt Stauffer:
Oh, got it. Okay.
Freek Van der Herten:
And when you're 18 years old, you go to higher education. Some people go to ... Most people.
Matt Stauffer:
So even in 12-18 years old, you were able to specialize, 'cause in the US, in 12-18, you just do whatever they tell you to do. There's no specialization like that.
Freek Van der Herten:
Yeah, there are.
Matt Stauffer:
So you were able to focus on a certain track.
Freek Van der Herten:
Yeah, yeah. From 12 years old, or I think from 13, you can really pick your direction if you want to ... a language kind of education, a mathematical based education, an IT kind of education. So you can make a choice there a little bit.
Matt Stauffer:
Okay. And also did you ... Oh, go ahead.
Freek Van der Herten:
And of course, when you're 18, then you have much more choices, so they get you basically anything that you want.
Matt Stauffer:
Okay. So where did you go after secondary education, then?
Freek Van der Herten:
So, I did my secondary education in my hometown, which is a small town in the northern part of Belgium. But I always knew that when I'm going to higher education, I don't want to live at home anymore. I want to live by myself. All my friends were in that mindset. We're 18, we're going to move, we're going to get away from our parents, even though we all love our parents, it's not [crosstalk]-
Matt Stauffer:
Yeah, yeah.
Freek Van der Herten:
We're now grownups.
Matt Stauffer:
Yeah, yeah. Exactly.
Freek Van der Herten:
So I moved to the biggest city in the vicinity of my hometown, which is a city called Antwerp.
Matt Stauffer:
Okay, yeah.
Freek Van der Herten:
Where I've lived for a long time, and Spatie is still based here. And I went to school there, and I left home. My student life in the city of Antwerp.
Matt Stauffer:
Okay. That's actually one of the only cities I know there, so that's a good win for me. I'm nodding, I actually heard of that before, that's good. Go me.
Freek Van der Herten:
You should come to Antwerp, it's a beautiful city. You would enjoy it.
Matt Stauffer:
Oh, I would love to. Yeah.
Freek Van der Herten:
It's not that far from Amsterdam.
Matt Stauffer:
I said in the last podcast, once you get Americans over to Europe, we don't want to leave, because it's so expensive to get over there, which is why it was so crazy. I was there for Laravel Live UK for five days and then came home. But the next ... I'm trying to get my kids to the age where I can take them over, because once I have the whole family over there, I'll just work from there. It doesn't matter. So I'm hoping someday in the next couple years, we'll get a whole month and just go see everybody in the whole Laravel world, and just stay in everybody's town for a couple days. So Antwerp's on the list.
Freek Van der Herten:
Well, you're certainly welcome here. So do that.
Matt Stauffer:
All right. I won't get booted out of town, that's good.
Matt Stauffer:
Okay, so you went out ... So what did you study? Was it continued practical IT, or was it something different when you went into higher education?
Freek Van der Herten:
Yeah, that was practical IT that I studied. So that was more enterprise stuff, things that I learned there. Things like C++, like some math was still there. Things like analysis, how do you cope with a big, big project. And looking back at it, I really like what I was taught there, but a lot of the things that I learned there, after the years, I thought, yeah, what they taught me was a little bit wrong.
Matt Stauffer:
I was going to ask how you reflected on your education. Is there more you can say about that? Is there broad strokes you can make about what was good and what was bad?
Freek Van der Herten:
Yeah, so something that has really stuck with me is in one of the first lessons, I was taught, and I did it for years ... It's a very practical thing. A function can only have one return statement. And that fucked my career up so bad.
Matt Stauffer:
Yeah, I believe it.
Freek Van der Herten:
Enlightenment came only 10 years after. Hey, it's actually better to have early returns. But things like object calisthenics, I don't know when those ideas came, but they certainly weren't taught in school. So I'm skipping ahead 10 years now, but there was a time that I thought, man, I really wish that there were a few teachers back then that knew about the stuff that I'm learning now, because there is much more than the stuff that they taught me.
Freek Van der Herten:
It's not all bad. It's not all bad. They taught some good stuff as well. With the things I learned there, I landed my first job, which was something I didn't expect. I was a COBOL programmer for seven years or something like that, and I still remember when I was at the job interview, and they asked me, "So, what do you want to do?" And I said, "Anything except COBOL." And they gave me COBOL, and I did it for seven years.
Freek Van der Herten:
But it was kind of fun to do it. It was ... I worked for a major bank, maybe you know it. It's called ING. I think you have-
Matt Stauffer:
Yeah, yeah. I have, I used to have, or maybe still do. I don't know. For sure.
Freek Van der Herten:
I think they're operating in America as well, and yeah, I programmed COBOL there for the mainframe.
Matt Stauffer:
Okay, wow.
Freek Van der Herten:
So we did the financial stuff. So it was kind of important, what we did there. And I still look back very fondly to that period, because I had very good colleagues there, and we could do amazing stuff. Even with an old language like COBOL, we could really do some ... We really could program some nice solutions. And sometimes I miss the scale a little bit of programming in that way, because it's like, one-fifth of the country has an account on ING.
Matt Stauffer:
Yeah.
Freek Van der Herten:
And that's kind of fun to work on.
Matt Stauffer:
I know we're getting ahead of ourselves just a bit, but I asked this of J.T. as well. Programming in COBOL, and the programmers who have been in COBOL for years, and the patterns and practices you have are a little different, I imagine, than working with Laravel.
Freek Van der Herten:
Yeah.
Matt Stauffer:
Is there something, one or two things, that you experienced or learned during your time there that you think a lot of us that haven't had that sort of experience could benefit from hearing about? Any practices or any maxims or any sayings, or testing patterns or anything that you experienced there that you wish more people knew about?
Freek Van der Herten:
Let me think. One of the things that I already did at the time is testing a lot, but it was in an old way, so I can't recommend that. I think what sticks with me most from the time is not a technical programming thing that we did, but the team we did it with. The client communication between the team, and we were ... within the firm, we were one of the first groups that wrote standards for ourselves. We were going to name variables like this, we are indenting our code a little bit like that. We're going to use prefixes for that. We're going to use suffixes for that, which was really beneficial. And that's something we do at our company, at Spatie now as well. And that's something I think a lot of people could learn a little bit from, just some guidelines and be very, how do you say that in English, I can't remember, just where everything is always the same-
Matt Stauffer:
Consistent.
Freek Van der Herten:
Consistence. Keep consistence. Things like a dash or an underscore or when you case things. They seem like, hey, it's not important, but it's actually very important when you work in a team.
Matt Stauffer:
Yeah, I totally agree.
Freek Van der Herten:
Yeah, and that's something I picked up with working in a good team at ING.
Matt Stauffer:
Very cool. All right, so you got a job at ING right out of higher education, right?
Freek Van der Herten:
Yeah, yeah.
Matt Stauffer:
Okay. So what made you move, and where'd you move to?
Freek Van der Herten:
Well, that's a good question. So when I was working at ING for a couple of years, there were plans to split up the branch I was working in. So I worked in the insurance branch, and ING sold it off to another company. So it became apparent that our team had to split and had to move to different cities, and at the time, I didn't want to move cities. So I went for another job in Antwerp, another company that also does COBOL. But I was a little bit shellshocked there, at ING, because I had worked there for so long. I had this network of people, and I could get things done. I didn't have to follow the rules. I could cut some red tape. But at the new company, I didn't have a network, and it was so, so very frustrating for me that I couldn't get any things done.
Freek Van der Herten:
Now, at the time, I also had a friend of mine called Willem, and Willem, he just started this little company called Spatie-
Matt Stauffer:
I was going to say, I've heard that name before.
Freek Van der Herten:
Yeah, and he was doing everything by himself, and everything by himself. He programmed a little, he designed a little, he did all the client work by himself. And I'm sure it came up at a band rehearsal that we have, I really hate my job now. And then he said, "Yeah, would you want to program for the web?" Because I felt that he couldn't do everything by his own anymore. He was good in design but he didn't like programming as much, so he looked for somebody that wanted to program a little bit.
Freek Van der Herten:
But I wasn't certain at the time. So I did a couple of stuff for Willem first. But there's no way to sugarcoat this, because I was so bored at my job, I started just creating websites at my job itself, because I had basically ... This is the honest truth. They didn't give me enough work. So they gave me an assignment. Yeah, this is your assignment for a week, and after two hours it was done. So I reported to management, give me more work. And they didn't give me more work. So I started programming for the web and learning stuff for the web.
Freek Van der Herten:
And after half a year or something, I said, yeah, this is silly. I'm just working for myself at this job, so I just quit. And then I started working for Spatie.
Matt Stauffer:
What's your official role there right now?
Freek Van der Herten:
I'm, I guess, the lead developer there, although I don't like the term a little bit. That's what we tell people that we meet. Freek is our lead developer. So I still do a lot of programming day to day myself, but I also help my colleagues getting things done. I don't like thinking about the lead, with the term lead programmer. The thing that I don't like is this is the one that makes all the decisions and does all the code stuff, but I don't see that as my role. I have to help the other people getting their job done, so that's an important factor of the things I do day to day.
Freek Van der Herten:
And there's also a little bit leading the company a little bit, because I'm a partner there, so there's a lot of corporate stuff I need to do there as well. But the best thing is-
Matt Stauffer:
How many people are-
Freek Van der Herten:
The best days are the days that I can program myself.
Matt Stauffer:
Yeah. I totally feel you. How many people are on your team?
Freek Van der Herten:
Right now, it's seven people.
Matt Stauffer:
Okay. So the two of you. Is that five programmers, or are there any non-programmers on the team?
Freek Van der Herten:
There are now two non-programmers. Actually, we're at eight. We had a new hire two weeks ago. We're at eight now.
Matt Stauffer:
Congrats.
Freek Van der Herten:
We're with five programmers, one designer, and there is a project manager. So they handle client stuff.
Matt Stauffer:
Right, right.
Freek Van der Herten:
But our focus is in programming bigger Laravel applications now. So we started with smaller CMS kind of sites. But we moved on a little bit to the bigger things. That's also a story in itself, really.
Matt Stauffer:
Cool, yeah. Yeah, I don't know if we're going to have time for it, but I'm actually very curious about that story. But I have to pause this one time. Is there a sound at the end of the name of your company or not? Is it purely just Spatie?
Freek Van der Herten:
Yeah.
Matt Stauffer:
Cause sometimes I hear a little T, and sometimes I don't.
Freek Van der Herten:
No, it's Spatie. It's like, your pronunciation for Spatie is 10 out of 10. It's perfect, it's good. Yeah. Just Spatie.
Matt Stauffer:
Okay. Yeah. Spatie, okay. See, I was saying Spat-zie for a while, with a T. So Spatie (Spa sea).
Freek Van der Herten:
Spatie.
Matt Stauffer:
That's it.
Freek Van der Herten:
Yeah, yeah. That's perfect.
Matt Stauffer:
Okay. Now it's 10 out of 10. I got an 8 out of 10 the first time, you didn't even notice. Okay. All right, so I do want to talk about your relationship with the company, what kind of stuff you're all doing, 'cause I think that there's a lot of companies that do Laravel, and there's not a lot of companies that have public presence that are creating a lot of content and stuff like that.
Matt Stauffer:
And so I think what I want to know is, let's not even talk about the company yet. Let's talk about you. When did you go from being a programmer to a programmer who had garnered a reputation as someone who created packages and taught stuff? How intentional was it, what did that transition look like? What was Freek being a programmer who did web stuff to being Freek being a well-known teacher? What'd the shift between those look like?
Freek Van der Herten:
Well, it certainly wasn't intentional. I think now, six or seven years ago, we were still ... This was the time before we did Laravel. We were creating sites with Zend Framework 1. CMS kind of sites. And I remember getting a little bit bored with it, because at the time, the B2B world was becoming a little bit stale, I thought. This was also free composer. There was another ecosystem that attracted my attention, and it's really no surprise. That's Ruby, Ruby on Rails.
Matt Stauffer:
Rails, yeah. Yeah.
Freek Van der Herten:
That's a story I share with a lot of people in our community, I think. So I created a few Rails sites, and I thought, yeah, we're ready to jump ship off PHP. PHP is done. But then Composer happened and Laravel happened. So we started doing Laravel sites, and in Zend Framework, we had this whole CMS, a homegrown CMS build up, and I wanted to have that in Laravel.
Freek Van der Herten:
Now, I wanted to do it a piece at a time, and at the time, there was this guy called Jeffrey Way. He started Laracasts.
Matt Stauffer:
This little site.
Freek Van der Herten:
Yeah, this little site. Very small. And he put out a video of how to use Travis and GitHub together. And my mind was a little bit blown that you could just run your tests and see in the interface of GitHub if your tests were passing or not. And the lesson of Jeffrey was also around package development, and I thought, yeah, I want to do that as well. So I'm going to try to write a package.
Freek Van der Herten:
And I think one of the first ones was ... I think the Geocoder one, which was a wrap around the Geocoder service of Google. Or it was a Browsershot, maybe, which was a package that used PhantomJS to create screenshots of a web page. And I put that out, and some people liked it, which was mind-blowing to me. There's somebody here that did a pull request to fix a typo? Wow. This is really awesome.
Freek Van der Herten:
So I thought, yeah. I have to write another package. And when I took a look again at the Zend Framework 1 CMS, I saw, yeah, there's MailChimp in here. There's Google Analytics. There's something called the media library to handle assets. And I thought, yeah, these are all packages. Maybe I should package them all up for Laravel, so it wasn't planned, but I spent the next two or three years just doing that, putting that out.
Matt Stauffer:
Just repackaging, yeah, yeah.
Freek Van der Herten:
Just repackaging the old Zend Framework in code, Zend Framework 1 code, to modern packages with all the stuff I learned on Laracast.
Freek Van der Herten:
Now, at the same time, I was still the only programmer at Spatie, so we were only a three-man company. And we had an internal platform, something Microsofty, I can't remember the name, where we put interesting links on. And I was discovering so much interesting good content on the internet, and I'd post it there. But my two colleagues, the project manager and the designer, would say, "We're not interested in the deep programming stuff that you're putting there. We're interested in the ideas, but not in the nitty gritty details."
Freek Van der Herten:
So then I thought, hey, I'll just start a blog and I'll just put those things publicly on there. This is the stuff that interests me, maybe other programmers are interested as well. And with that combination, with starting a blog and writing about those packages, I guess, yeah. It picked up a little bit from there. People just liked the contents that was there, both my own stuff as the links that I shared. And yeah, it totally grew from there.
Freek Van der Herten:
But it certainly wasn't planned, like we were going to be well-known with this, that was the plan from the get-go.
Matt Stauffer:
Yeah. I noticed this initial commit on Browsershot is May 2, 2014.
Freek Van der Herten:
Yeah.
Matt Stauffer:
So four short years ago.
Freek Van der Herten:
Yeah, yeah. So yeah, I did a lot in the past few years.
Matt Stauffer:
Yeah. I think that it really helps to have some kind of structure to work along. The structure you're saying is, hey, you know what, I'm going to take this list of packages and I'm just going to work through them. And those sorts of structures that just give you something to work on next means you're never stuck asking the question, "Oh no, what do I do next?" You've always got something, you've just gotta make the time and put the effort in.
Freek Van der Herten:
Yeah, sure. And nowadays, actually the couple of past years, the most packages get born in client projects. So if there's a client project that's API-heavy, that we create some packages to make API development a little bit more easy in Laravel. And I also want to mention, because I'm talking about me here a lot, but now it sounds like that I'm the only one creating packages, but my colleagues do a tremendous amount of work on that as well. I want to emphasize that the open source efforts are a team effort, so it's not me alone. Although I'm the most known one, my colleagues, Brent, Alex, Seb, and Willem, do also incredible stuff out there.
Matt Stauffer:
Yeah. And actually, that's one of the things I was going to ask, because we're always figuring things out at Tighten ... We give everybody 20% time, so quite a bit of the work that's done at Tighten is done on those Fridays, but not all of it. Sometimes people are doing stuff on their own personal time. And you and I have talked a little bit in the past about what that looks like for you all, especially because you put out just such a prolific number of packages as a company. Are you able to make that much time available, or are people doing work at night?
Matt Stauffer:
So you and I have talked about it, but again, let's imagine that we have not. What does it look like for you, and what does it look like for the other people on the team, and how much of this stuff are you doing during the day job, and how many hours are you and the other folks working in the evenings, or nights and weekends, I guess?
Freek Van der Herten:
Well, for the company, we always plan the stuff that we need to do on Monday. We sit together and we say, "Hey, you're doing this this week. You're doing that this week." And we only plan four days. So for the fifth day, you can do whatever you want, but that fifth day, that isn't a separate day. It's like, the time in between. It's when you're bored with this project, yeah, go do something open source, write a blog post or write a package or whatever.
Freek Van der Herten:
So we have one day a week for everybody that can work on this open source stuff. Now, that's the theory, but yeah, in practice, packages get made in project time a little as well, because they're made for the project.
Matt Stauffer:
Right.
Freek Van der Herten:
So it's a little bit hazy, where to draw the line, a little bit.
Matt Stauffer:
Sure, sure.
Freek Van der Herten:
And I know that I spend a lot of time also open sourcing a little bit after the hours, because I like it. And sometimes, colleagues, when they have this good idea or a good vibe, I notice that they too do stuff in the evening, even though that's really not required to do so, it's really because they personally like--
Matt Stauffer:
Yeah, just kind of excited about it, yeah.
Freek Van der Herten:
--just like doing this. And I think we've made so many packages now, it's really not such a big effort for us now to work on a package, because we know what the good things, the basic guidelines are for a good package. We know that have to have tests, we know that we need to have good documentation, we know how things like a service provider works. We have empathy enough now to imagine how people are going to use our stuff. So because we've done it a lot, it gets a little bit easier for us as well to do too. So people sometimes ask, isn't that difficult to invest so much knowledge and time in that? But I think for a company, it's kind of easy, because it has grown a little bit in our DNA.
Matt Stauffer:
Yeah, yeah.
Freek Van der Herten:
And if in a project, a colleague of mine says, "Hey Freek, should I package this up?" My default answer is, yeah, if you can do it, just do it. Take a couple of hours. Or if it's a bigger package, a couple of days extra, and just do it, 'cause we will benefit from it anyways. Maybe not because we are going to attract clients with it, but the programmer who made the package will become a better programmer. For Spatie it's good, because we have something in our package tool developed a little bit more. I always, when somebody takes an effort of making the package, I make sure that I mention the principal author of that package, which is not always me, also, on things. So everybody benefits with this.
Freek Van der Herten:
And I wish more companies would do this, 'cause if you take some time to do this, it isn't hard anymore. It just becomes part of your workflow to do this.
Matt Stauffer:
It's interesting, because at Tighten, we have a little bit of an inverse culture. People say, "Oh, we should make a package out of that." I'm like, "Are you sure that you want to maintain that for the next four years, 'cause if you don't, then don't make a package out of it." And I've actually talked people out of making packages, because I know that they don't yet understand what the cost of being an open source author looks like.
Matt Stauffer:
And it's not that I'm ever going to tell anybody no, but I am going to tell them, make sure that you know the burden that comes on. The moment people have this package in there, in their three years out of date app, what kind of customer support you're asking. And so I'm actually talking people out of it frequently, and what I'm more likely doing is when somebody says something interesting, I'm like, "Have you written a blog post about it? Have you written a blog post about it?" And quite a few people are like, "Yeah, Matt, I just put it on the list of 40 blog posts you're telling me I'm supposed to write. You have to start giving me more than one day a week to do these things."
Matt Stauffer:
But, no, I love your attitude towards packages. And one of the things that we've talked about in the past is we need all kinds of types. And for example, the packages we have at Tighten, there's only a few of them, and we maintain them back to Laravel 5.1. And one of the things you mentioned, is you say, look, we keep up to the most modern versions. And if somebody else wants to fork it and make an older version, then they're welcome to do so.
Matt Stauffer:
And so each group, each company, each author, has different things to contribute and to offer. And so I love the more people that are willing to make those packages, the more of a broad spectrum we have of people who are willing to participate in some way, shape, or form. There might be some company or some person who comes along, and their goal in life is to maintain all of Spatie's packages back to Laravel 5.1 or something like that, who knows. So each person is contributing a different thing to the community.
Freek Van der Herten:
Yeah, sure. Yeah, the cost of being a maintainer, it's a high cost sometimes.
Matt Stauffer:
Yeah, yeah.
Freek Van der Herten:
It’s good that you make people aware of that. For us, we carry the load as a team, so everybody does a little bit of maintenance, and we have the pleasure of having a lot of people in the community helping us out as well. For every package there are a lot of contributors there, so, yah, I’m pretty happy where we stand right now. And I’ve also learned to sometimes just let it go, you know? Two or three or years ago I wanted to have the issue count as low as possible, and now I’ve learned that that really isn’t important, if there’s some more stuff to do, just leave it open. I’m not obliged at all to do this kind of work unless I’m very happy to do it myself, you know?
Matt Stauffer:
Yeah, for sure.
Freek Van der Herten:
And this idea that you should be happy with this kind of work—that’s also where that idea comes from, that we only do the latest Laravel version, that we do the latest PHP version. Because this is what we use on our own project, and these are the versions we like working with. Nobody on our team liked working with the older Laravel versions. I’m not saying the older Laravel versions are bad or something, but we take the most joy from working with the latest stuff. So it makes sense for us only to do support for the later stuff in our packages as well. Unless it's very easy to support older things, then we do that as well, but we're also not afraid to just abandon an old package if we just don't like it anymore. No? It's not like anyone is going to sue us.
Matt Stauffer:
Yeah it comes down to the question of what do you feel obligated to do? And I think there's often a perception, right or wrong, that once you put that code out there, you're obligated to maintain it. And interestingly I see both sides of the issue. On the one hand, I don't think that you could be forced to do anything. On the other hand, I could imagine somebody saying, "Well, I can't."
Matt Stauffer:
We have a lot of clients who can't upgrade to the latest Laravel or the latest PHP, because they're stuck on whatever Red Hat releases and they're several versions behind, and they're saying, "Man I'd really like to use that new Spatie package but I can't." But at the same time, what's the inverse? You have to do something? No, nobody can force you to do anything. I have bounced back and forth a lot of times. And I think where I've ended up is just saying, nobody can be forced to do anything.
Matt Stauffer:
Each person needs to be honest about what they're planning to do, and also the world needs to allow them to change what their plans are if they change what their plans are. And as long as your not manipulating or tricking people. Then you're an open source contributor, who's putting work out there in the world. People can consume it, and if they're not happy with it, they can take the responsibility to fix it up. If they're not willing to take that responsibility to fix it up then it's kind of like well, you're getting free stuff. Don't look a gift horse in the mouth, is an American saying.
Matt Stauffer:
So I'm very sad because I have to go home to take care of my kids, but I can't leave just on that note because as always I ask people in Tighten what questions they have for you. I can't ask all of them because of my timeline. But I am going to at least ask you a few of them. So especially the ones that are the most esoteric. Number one, how many post cards do you get per month?
Freek Van der Herten:
We should get more. It's about, between 15 or 35. Something like that.
Matt Stauffer:
Your packages are postcard-ware. Which means basically, what you ask people to do is, if they use the package, consider sending you a postcard from where ever they're from.
Freek Van der Herten:
Yeah.
Matt Stauffer:
I assume that most people don't feel the pressure to send you 5,000 postcards if they use your package, but you probably should at least get one postcard from each user. So listeners, if you've ever used a Spatie package somewhere, consider going and buying a postcard from your local and going sending it. They've got a thing on their website about it, I'll link it in the show notes. But it sounds like that number should be a little bit higher, so let's all go chip in there to thanks them.
Freek Van der Herten:
Thank, Matt.
Matt Stauffer:
The next random question, I don't even know how to pronounce this, so I'm just going to read the words in front of my face. Did Romelu Lukaku deserve the golden boot?
Freek Van der Herten:
Yeah. I think he does. Or even Hazard.
Matt Stauffer:
Okay.
Freek Van der Herten:
Those are two football players if you don't know.
Matt Stauffer:
I have no idea at all. There's a lot of people taking care about this but I don't, so.
Freek Van der Herten:
I'm not that big into football, but I did watch for the world cup. That's when I'm interested in the Belgium team. Looking at Belgium matches this time, was really amazed what our player Eden Hazard could do. Did some amazing stuff. So that's your answer.
Matt Stauffer:
Several people asked this, but I feel like you're not going to have this list ready. So if you don't have this list ready, just say, "I don't have this list ready." Some people asked, what packages have you made that have been adopted into the Laravel core.
Freek Van der Herten:
I think none.
Matt Stauffer:
Oh really. Okay well that's a no list.
Freek Van der Herten:
Wait, there are none in the dependencies but there are that few were totally-
Matt Stauffer:
Absorbed, yeah.
Freek Van der Herten:
Inter locked with I think migrate fresh is one of ours. That Dale picked up on because we made it. And I think there is another one, where if you, in Tinker, use a class name that it can fetch the fully qualified class name. We packaged that up.
Matt Stauffer:
Yeah that was Caleb right?
Freek Van der Herten:
That was from Caleb.
Matt Stauffer:
Very cool. Alright, I didn't realize that got pulled into the core.
Freek Van der Herten:
Yeah, and that's in the core now, if you open begin session, and do one of the classes there, then it will try to get the fully qualified class name.
Matt Stauffer:
I like that, it's a joint Tighten Spatie effort.
Freek Van der Herten:
Yeah, cool.
Matt Stauffer:
Jose asks, which Artisan commands do you use the most?
Freek Van der Herten:
I think Tinker all day. All day I use Tinker.
Matt Stauffer:
Interesting.
Freek Van der Herten:
I have this package called Laravel Tail which can tail a log file.
Matt Stauffer:
That's the one that was pulled out of the old from the old Laravel right?
Freek Van der Herten:
Yeah, it was pulled out of Laravel, I don't know why. Because it was such a help. And I used it all day long.
Matt Stauffer:
I love it.
Freek Van der Herten:
Tailing stuff. Various make commands as well. So nothing too special there.
Matt Stauffer:
Alright, one last one. Marje asks, what was your most interesting challenge as a new developer?
Freek Van der Herten:
I think, getting to know the best practices in communities. It's so easy to adjust, to program a little thing, like a little PHP script, but how to do it well and how to structure it really well, that was really hard as a newcomer. To find good sources of information. And for PHP I know my way around. I know where I can find good stuff. I know where the people are. But if I want to get the feeling again, I know I can try to do some Elixir stuff or maybe even some JavaScript stuff and it's like I'm a newcomer all over again.
Matt Stauffer:
It's the difference between knowing how to do the thing and the best way to do the thing, right?
Freek Van der Herten:
Yeah, exactly. And it's comforting that in PHP, I have the feeling that I can be happy with the stuff that I write. I'm always learning of course. But it's difficult to have to in another language, because you're so familiar and it feels so warm doing PHP. But I have to force myself to do some other stuff as well.
Matt Stauffer:
Yeah, I hear that. Well, as always, I can tell, I can talk for hours on several of our subjects, but is there anything you wanted to cover that we haven't gotten to today?
Freek Van der Herten:
If I can make a shameless plug?
Matt Stauffer:
Go ahead.
Freek Van der Herten:
I launched my first software service project, a half year ago. It's called Oh Dear. It's like the best uptime tool out there. It can also detect mixed content, when your certificates will expire. Things like broken things, you will get notifications from that. It's something, I'm really proud of and you should check it out. It's ohdear.app.
Matt Stauffer:
Yep. And we will link all this in the show notes. I will make sure that is all available there. The pricing of Oh Dear, it's based on the number or sites right?
Freek Van der Herten:
It's based on the number of sites and nothing else.
Matt Stauffer:
Yeah, so your site can be massive. It can have 10's of thousands of pages and you're not going to pay extra for it. So, definitely check it out. OhDear.app we'll put this on the show notes, we're always down for the shameless plugs. You took your time to talk to us so, we got to show you some love.
Freek Van der Herten:
Alright, thanks man.
Matt Stauffer:
Alright, so if someone wants to follow you, where's the best place for them to go to do that?
Freek Van der Herten:
I think it's twitter, is a good way. So by having this @freekmurze it will be in the show notes as well I presume.
Matt Stauffer:
Yep.
Freek Van der Herten:
Or by murze.be where I talk about the package developments that my team and I are doing. And where I link amazing articles of others as well. So my blog and my twitter account, that are the best ways.
Matt Stauffer:
Love it. Thank you so much for everything you do for our community. Thank you for your time, I'm sorry I'm cutting us short, we can keep going but, look forward to seeing you soon and thank you so much for joining us today.
Freek Van der Herten:
My pleasure Matt, thanks.
Matt Stauffer:
Thank you. Bye bye.