This is the full transcript of the Laravel News podcast episode #33 - “Recapping Laracon Online 2017”
Jacob Bennett: Hey [00:00:30] everyone, welcome back to the Laravel News Podcast. We have got a lot of good stuff to talk about today. We're going to be starting out with Laracon Online, which I was very fortunate to be able to attend the entire time. Michael, did you end up making it for any of it? Did you get to hang out in the Slack Chat at all?
Michael Dyrynda: Yeah, I woke up just ... I think it was probably about 10 minutes before Taylor's talk. So I managed to stick around for Taylor's talk, and hang around in the Slack channel. It was crazy. Techs just kept flying [00:01:00] through there.
Jacob Bennett: It was. It was really insane.
Michael Dyrynda: Yeah. By all accounts it was handled really well. Eric and Ian did a really good job with it. There was no technical glitches that I've heard of. Everything ran really smoothly. Transitions between speakers and all that was really good. So yeah, congratulations to Eric and to Ian for making this happen. Especially making it happen in, what was it, like six weeks between when they first started speaking about it, and when the conference happened. So, [00:01:30] great job fellas.
Jacob Bennett: Absolutely, they did a really, really great job. And I think they had 4000 attendees? Was it 4000 people on there?
Michael Dyrynda: I think it was something like that, yeah. It was pretty close to that number.
Jacob Bennett: Yeah, that's pretty incredible, for six weeks to be able to get that many people to sign up. So I can't help but think that next year's probably going to be quite a bit larger even than that. The digital swag stuff was really cool as well. I saw that you already secured a dot-co domain for yourself. We were talking with Eric and he has laravel-news.co now I think, or is it just [00:02:00] laravelnews.co?
Michael Dyrynda: I think it was just laravelnews.co, yeah.
Jacob Bennett: Okay. So you guys, everybody can visit Laravel News at their new dot-co domain. So yeah, it was really awesome. I wanted to start the show out just kind of talking through some of the talks that were given. There is a really good recap of all of the talks that were given on Laravel News. So, let's start with the first one, which was-
Michael Dyrynda: Jeffrey
Jacob Bennett: ... Jeffrey Way. Okay so Jeffrey Way kind of dove into a explanation of Webpack, which was really [00:02:30] very enlightening. So I'm guilty to be one of the people that will use and abuse the tools, and not really look behind the scenes at some of the stuff. Just because, at the end of the day I just need to get my stuff done right? So, Laravel Elixir and Laravel Mix, they've both been awesome tools, but that's pretty much as far as I've gone with them. I don't really want to kick around in the internals of them and figure out what's going on.
But Jeffrey kind of dove into all the different pieces for how Webpack works and really did a great job [00:03:00] of explaining it. And it helped me figure out some of the "gotchas" that I've run into while using Laravel Mix. One of the ones specifically, that he talked about, is the way that Webpack does URL. I don't know, I'm not going to say it right. It does rewriting, or not rewriting ... It does moving of the images and fonts and things like that, that are referenced in your CSS files. It will move them to the correct directories for you, which bit me when I was first doing it. Because what I used to have to [00:03:30] do with Laravel Elixir, is I had a little command that would run that would say, "Okay I have font awesome installed via MPM." And as one of my commands in Gulp, I would say go ahead and grab those folders, those fonts, from that MPM directory and move them into my public/fonts directory.
Michael Dyrynda: Yeah.
Jacob Bennett: And then my CSS files, that were in my resources/SAS, when they compiled down, they would have a relative reference to that public/fonts [00:04:00] folder. So everything worked, and it was fine. Then when I changed it to Laravel Mix, I started getting these problems, these issues. And the way that it works is, it will automatically move those for you without having to have an additional build step. So all you do is you just put those fonts into your resources path, and just reference them exactly as you would in your CSS, as if they were where they are now in your resources folder. And when it goes to compile that SAS for you or whatever, it will move those to the correct location when you have [00:04:30] your build step.
So, really, really awesome, but if you don't know that it's doing that, it can be really confusing. But yeah, it was a really excellent talk and kind of helped to explain some of what's going on. And he really broke it down into four steps. I wish I had my notes with me, anyway, input, output, plugins, and one other thing. So, it was awesome, anyway. So if you haven't watched it, I would definitely suggest giving that a watch.
Michael Dyrynda: Yeah, looking forward to it.
Jacob Bennett: The next thing we had was Evan You. Did you get a chance to watch that one yet?
Michael Dyrynda: No, so the only two that I've watched were, [00:05:00] I saw Taylor's live and I watched Adam's last night just because I heard it was a bit edgy.
Jacob Bennett: Spicy is the word that-
Michael Dyrynda: Yeah, spicy.
Jacob Bennett: ... Taylor and Adam have used to describe it. I'm not sure if the reddit crowd has come after him yet or not.
Michael Dyrynda: It's only a matter of time.
Jacob Bennett: Ian said that people in the chatroom were raising money to protect Adam from the reddit horde that would inevitably attack him. It was just pretty funny. Evan You, I could try and describe what his talk was about. I'll give you the title, which was "Inside [00:05:30] Vue Templates". And he did a great job, again, basically similar to kind of what Jeffrey Way did of really kind of pulling back the covers, and showing you how everything is working underneath.
He talked a lot about render templates, which was really cool. Kind of how ... Or I'm sorry not render templates, render functions. So how Vue goes from a template that you provide it, a vue template and how it renders it all the way to virtual DOM. So that was really interesting, something that react developers might be a little bit more familiar with than those of us who are kind of new to Vue. They use render functions [00:06:00] all the time, I'm pretty sure.
So yeah, it was really neat, and I was trying to figure out how I could utilize it. But one of the things that he said that was helpful to me, and I think we've talked about it on our other show, was the fact that if you are using a in-DOM template, you cannot use camel casing. Because the html parser ... It just doesn't respect casing, right, so it kind of lower-cases everything. So if you were firing an event that was called "ThisChanged," and you were camel casing it, this with a capital C changed. [00:06:30] And you were listening for that event, if you fire it, you're never going to catch it, because it lower-cases it all. So you can't use camel casing if you're using in-Dom templates. So, that was helpful, because I've run into that problem, and I'd wondered why. So that was good.
Michael Dyrynda: Very good. I look forward to that one as well.
Jacob Bennett: I will say that Rachel Andrew who did "CSS Grid and Flexbox in 2017" ... It was really cool. I remember seeing a talk at An Event Apart in 2014, [00:07:00] and they were talking about Flexbox. I remember it was Eric Meyers, who was giving the talk, and he's like the godfather of CSS. He said, "Now Flexbox doesn't have support yet, but in three or four years, it's going to be across all the browsers, and it's going to be awesome." And I remember being really excited about that, and it's here. Flexbox is here, and Rachel Andrews is now giving this talk on "CSS Grid and Flexbox". It was nice because, she basically said that we can use it now because there's a way to check to see if something has Grid enabled, and if it does then you can use Grid, and if it doesn't [00:07:30] then you can just fall back to Flexbox, which has really good support across all browsers now.
So it was really cool to see how CSS Grid and Flexbox are a little bit different, and different situations you might use either one of those in. So, I will stop talking now and I will let you talk about Adam Wathan's talk, which was "Lies, strike-through, Alternative Facts You've Been Told About Testing." So I'll let you take that one.
Michael Dyrynda: Yeah, I was watching it and he started out with the title, "Alternative Facts You've Been Told About Testing" and I was like you know that's obviously [00:08:00] very hip with the current political climate. So, it was straight into it, and you could tell that ... He tweets about this stuff all the time, and if you follow him on Twitter, you know that he's often sort of flying into the face of the general convention and the general rules and teachings around testing. And he kind of brings it to the masses a lot in the Laravel community. I don't know how much the reach is outside of that, but he certainly makes [00:08:30] things easy to understand and sort of digest. And it really kind of demystifies a lot of what that testing ruling is. When you look at the talk, and you look at the example of how you would build this isolated, decoupled system, using F-Command DOS and repositories and shock and horror for Adam, he had type-ins everywhere as well.
You look at it and you go, but all I want to do, is this simple operation that in Laravel [00:09:00] it is one line, add a product, to a user. And when you look at how much code you have to write to get it to work in a completely isolated system. And then you look at how much work you have to do, and how much more code you have to write in your test, to test this now isolated system. You realize that for a lot of things, it's probably okay to basically box things up, and to say that your unit is not these individual things in isolation, but it's [00:09:30] like a single unit of work. And once you get past that hump, and I think that was really a large part of what the talk was, getting over that point, where if you realize that you can do your feature test, and still get the same coverage, and make your code easily refactorable, then your tests are going to verify what you're doing. And I think that was probably the main takeaway for me.
Jacob Bennett: Yeah, he said basically that the way that isolated tests don't allow you to do refactoring, right? Isolated tests [00:10:00] are incompatible with TDD. At the end he said, at one point he switched out, and he said, "Basically what we're doing is this. This line of code equals this," because if you changed any of it, it broke, pretty much. Because you had so many mocks and fakes and you're testing essentially the implementation, not what it was accomplishing, but you were testing-
Michael Dyrynda: [crosstalk 00:10:18] side effects, yeah.
Jacob Bennett: Right exactly, exactly. So his idea was basically, put your entire application, in a big box, in a big black box. You set up the request, and you test the response and maybe a couple of side effects in the database [00:10:30] and that's its.
Michael Dyrynda: Yeah.
Jacob Bennett: So it really makes testing really very approachable. And so, yeah, if you have any questions about that after you watch his talk, I would highly suggest his course, Test-Driven Laravel, which is incredible.
What have we got next? Taylor Otwell talked through the Laravel Internals, which was really cool. There was a lot of things that I've kind of wondered how they work and haven't ever taken the time to go through and look through it. But he did a really great job, obviously, explaining it and brought it down to a simple [00:11:00] level, which was covered a little bit later even in more detail, when Matt did his talk on the container. And how the application Laravel, the application itself is really just one huge dependency-injection container. And that's kind of how it does all its magic in the background, which really isn't that much magic when you think about it. I mean it is, but it's not so weird that you can't understand it or wrap your head around it.
Michael Dyrynda: Yeah. Just on the back of Taylor's talk, as well, there's a lot of questions I think around ... well there was at least a question around how he spends his day, and [00:11:30] how he keeps focused and things like that. So subsequent to that, Taylor did put out a blog post on how he works, which goes through things like, his editor, what he's working on, how he's got his terminal configured, how he stays focused with music and through productivity apps. So we'll link that up in the shout-outs as well.
Jacob Bennett: And he uses a fidget cube, have you seen those?
Michael Dyrynda: No. I've heard of them but I haven't seen it.
Jacob Bennett: It's pretty cool. It's just a little cube that you can use to kind of occupy your mind when you're just sitting or thinking about something. So it's a six-sided [00:12:00] die almost, like a large die, but it's got different things. So on one side it's got like a spinning ball, and another side it's got like a clicker or whatever. That might drive my wife crazy. I think it probably would. She's always constantly telling me like, "Can you please stop moving your leg?" Because I'm just constantly moving, you know?
Michael Dyrynda: Yeah.
Jacob Bennett: It's a bad habit, I think. Oh I remember, so Nick then came on, and talked about Postmark, which is a service that does transactional emails. One thing that I really found interesting about ... He basically walked through everything that is involved in the sending of email, which was really cool and really helpful. [00:12:30] If nothing actionable, it was really cool to just have that background knowledge. And how bounces are handled and that sort of stuff. It helped me also to figure out how you can send multiple types of email in a single email, so you can have an HTML email and a text email.
And the one thing that he said, which was interesting is you can have a content type of watch-HTML, which Apple just kind of invented. If you're viewing the email on an Apple watch, [00:13:00] it will display the watch-HTML version of your email. So it's not like an accepted standards practice or convention thing, it's just something Apple kind of made up, which happens all the time, right?
Michael Dyrynda: Yeah.
Jacob Bennett: But I was thinking about how I could use that, so I'd be interested in the near future here, to either write a plugin or something that would allow you to say, text, here's the vue for that in Laravel, markdown, here's the vue for that and then watch, would be cool. If you could include a little watch [00:13:30] vue that you could send, that would probably just be almost like a text message, right? Like limited to 140 characters, so that someone can really quickly view it on their watch. So I thought that would be a neat idea. And after this, what will probably happen, is probably someone will say, "Hey, that's a great idea, I'm going to make that package." So if you do, make sure you hit us up on Twitter, let us know what that is, so we can cover it on Laravel News. That'd be awesome.
All right, I'm going to go ahead and apologize to everyone that you don't get to hear the Aussie awesomeness of Michael's voice right now, because I was in a conference room, watching this stuff all day, which was great, but I feel really bad that you have to listen [00:14:00] to my voice the whole time. So I'm going to try and make this quick. And if you guys want to watch them, please watch them. They're incredible, they'll be much better than me explaining it.
But Jason McCreary had a talk called "You Don’t Know Git". He's also got a course out there. He did a great job kind of going through some of the common commands that you use in Git that you don't know what's going on behind the scenes, which was a common theme for a lot of this stuff, is everyday things that you use and here's how you can understand them better. So, I've been using some of the things that I learned in his talk already, [00:14:30] in the last couple of days. So it was really cool.
And then probably, maybe my favorite talk. Matt Stauffer had a talk called "Master the Illuminate Container", which was really cool, because some of this stuff has been a little bit mystical to me, how it works. And so it was really neat to see that facades are really just service location, and it's all stuff that's bound into the container. And how you can use that in your testing environment to make it really easy to swap out dependencies and test stuff. So, that was really cool. It was really, really fun to watch, and he did an awesome job [00:15:00] like he always does. So, you should definitely watch that.
All right, I am done talking. Michael, I'm going to let you take the next one.
Michael Dyrynda: Just before we do move on, the videos, they were a one time deal, so the ticket sales for Laracon Online were $10, then they went to $20. And that was right up, basically until the conference started. I think the ticket sales opened again for a very brief period after the conference finished, just as a last minute, if you want to get your hands on these videos you can. But from what I've [00:15:30] seen coming from Ian since that finished, that last time. If you haven't already got access to the videos, if you didn't buy a ticket, unfortunately, you've missed out and you'll need to wait until Laracon Online next year. I don't know what to tell you, but if you haven't already bought the ticket, then I'm sorry, the videos are no longer available.
Jacob Bennett: Yeah, sad day. You missed it. You missed out, and it was cheap too. 10 bucks, man. I don't know. I say that. That's relative right? It might not be [00:16:00] cheap for everybody. So it was reasonable in any case. It was the most reasonable online conference you'll probably have available. So, yeah, good times.
Michael Dyrynda: Yeah.
Jacob Bennett: All right.
Michael Dyrynda: Very good.
Jacob Bennett: Do you want to talk to us a little bit about installing Laravel on the subfolder? That was a good post that was out there this week, just a good kind of security measure to take.
Michael Dyrynda: Yeah, so Eric posted on Laravel News, earlier in the week or late last week I think about installing Laravel in a subfolder. And I see these questions every now and then on Twitter and on Laracasts. You know people, that they're sort of tied to an existing hosting infrastructure. They're on cpanel or [00:16:30] they're deploying to a client's existing server, where they don't have the ability to set up the domain. One thing that you need to be very careful of is, when you do install into a subfolder, is keeping your credentials and things like that safe.
So your .EMV file and your .Git attributes and all those sorts of things that are generally hidden away, because they're not in your public directory. Once you shift down a directory into a subfolder, those things are going to be accessible [00:17:00] by anyone who happens to know that they know for sure that it's a Laravel application, or like ... I mean it's not hard to figure out if Laravel is powering a website. So, it would be easy for someone to go into an EMV file for example, and get your database credentials or your S3 credentials or anything like that, if you're not protecting that information.
Eric wrote a great post on one approach to dealing with that situation, which we will link up in the shout-outs. There are other [00:17:30] ways of doing it. You know, doing things like htaccess redirects, if you're using Apache or just disallowing access via the browser to certain files. This is a fairly straightforward one. It sort of preserves that same level of protection as you would get with a traditional public directory inside of a domain that you'd get on something like Forge. But it's fairly straightforward to set up. As I said, we'll link it up in the shout-outs and definitely check it out, if you're in that position where you [00:18:00] are having to install Laravel into a subfolder.
Jacob Bennett: Absolutely. Let's talk about testing file uploads with Laravel. So Adam Wathan did a ton of work on making this incredibly easy. This is in 5.4 now, and it makes ... If you've ever had to go through the pain of testing a file upload, you can appreciate how amazing this package is. So there is, just like we have fakes for mail and for events and things like that, now you have a storage fake. So you can say storage fake [00:18:30] avatars, and then you can really, really, easily fake in a post. Like if you were going to create an avatar, you can in a test say, this JSON posts to the slash avatar route and then you need to include the file that's going to be uploaded to that route.
So before you used to have to actually make a physical file or you could do something like a virtual file system, which was a pain to set up. So now you just say uploaded file, colon, colon, fake, and then you can define what type it is. You can say image, avatar, [00:19:00] you can even I believe, set heights and widths, and a size as far as like how big it should be. It is just incredible. If you've ever used any of Adam's packages before MailFakes were available, he had MailThief, and if you ever used that you know how much time and effort he puts into making those APIs incredibly easy to consume. It's the exact same for this uploaded file stuff. So it takes what used to be extremely difficult and makes it extremely easy.
And he had said, [00:19:30] he may or may not have done this in order to make it easier for him to, in his course, show how to test uploaded files. So he was kind of scratching his own itch there, but the Laravel community gets to benefit from it. So, pretty awesome, you definitely need to check that out. It is on Laravel News, so we'll link that up in the shout-outs.
Michael Dyrynda: Absolutely. The next thing that we have here, was just a brief summary of what basically took down the internet, I guess, for the scale [00:20:00] of it, about a week ago was the Amazon S3 outage. So Amazon released a summary of the disruption to that particular S3 region that affected really a large number of sites and apps and things.
Jacob Bennett: Pretty much everybody. Yeah.
Michael Dyrynda: Yeah. And not just websites, it was mobile applications that talk to, that fetch things from S3 and things like that as well. It looks like it was that kind of situation, where it was maybe someone had been working a long day [00:20:30] or whatever, or they pressed up too many time on their keyboard, and they accidentally removed basically an entire number ... Or not an entire, it was a small number of servers they suggested.
Jacob Bennett: But then it just kind of spiraled out of control. I think it was a small mistake and it ended up causing-
Michael Dyrynda: It was supposed to be a small number and it ended up being a large, yeah.
Jacob Bennett: Yeah. Yeah. It did make me feel a little bit better though, didn't it, to know that it wasn't like, oh, it was some hardware failure. Nope it was a person behind a keyboard, and it happens to us [00:21:00] all the time, right? So it's good to know that there is ... Even the professionals, right, the big guys, they make mistakes too.
And I actually had to, this week we found something in production that was like, oh no. And I had to take a site down, during the middle of the day. And I didn't feel so bad, because it was like, you know what? This just happened to somebody else, and it just happens. You know we're all fallible, no matter how many tests ... I mean, certainly tests help you to make sure that you're not doing anything really stupid, but it's always possible to miss something. And you can have [00:21:30] code bases that are tested really well that still fail sometimes. So, it was just good to hear that I'm not the only one who deals with this stuff.
Michael Dyrynda: Yeah, for sure.
Jacob Bennett: Going kind of back to packages, here, there was a package that was developed by a guy named Antonio Ribeiro, I'm going to hope that that's close to what it is. But it's a Laravel Countries and Currencies Package, and we were talking about it a little bit before the show starts. I think it kind of wraps up a couple of different packages, and puts them in a nice little format for us to consume, is that right?
Michael Dyrynda: Yeah, [00:22:00] I think it leverages an individual country's package and also a currencies package.
Jacob Bennett: Okay, so what it allows you to do, is if you've ever had to go through the pain of generating a list of countries for a dropdown maybe or a list of states. Or sometimes you might need the abbreviation of a state and then also the full name of the state, or something like that. It makes it really easy to get those lists, and it puts it all into a familiar syntax, because it wraps everything up in Laravel collections. So you can say countries, colon, colon, all, and then you can [00:22:30] pluck off just the different pieces that you need.
Or you can loop through them, you can say first, and just get the states, and then you can sort them, and then you can pluck off the pieces you need. Or you can do reject, or whatever you would normally do to a collection. So, it not only includes the lists of countries and of states, but includes information about those countries and states as well. So for countries, for example, you can get the name. You can also get the currency. You can get the languages. You can get the states in those countries, the timezones, the flags, the capital. It just goes on and on, latitude, [00:23:00] longitude, typology. I mean it's just kind of crazy, the entire lists that you have of pieces of information available to you through this package.
So, if you are a type of person who works on a team that needs this information accessible, and you're tired of going to Wolfram Alpha to find this stuff, or Google I suppose. If you're tired of going and looking this stuff up, check this package out, it's really cool.
Michael Dyrynda: For sure.
Jacob Bennett: Do you want to talk about the Laravel Include When Directive?
Michael Dyrynda: Yes, yes we can. So in recent times, we've seen a lot [00:23:30] of this "when" method come in. We originally saw it in the Eloquent Query Builder, and then we saw it introduced into the collection class, and we've now got it as a blade directive. So in the same way as we do with Eloquent and collections, you can now use the at include when directive in your blade vues. And basically you're just passing a condition that you need to pass. So in the example that we've got here, is that when we have an authenticated user, [00:24:00] render the nav user template. That basically cuts down having to do some kind of at if, and then putting the include in manually and then putting an ENDIF statement. It gives you a nice concise syntax, in order to display that vue based on some external condition. So thanks to, I think it was James Brooks who authored that port request.
Jacob Bennett: Yeah, and this is a really common thing that we need to do on a really regular basis. So it'll be nice to be able to use this. I have lots of places [00:24:30] I can think of, just right away, that I can use this in.
Michael Dyrynda: Cool.
Jacob Bennett: Another thing that was released on February 28, I think, or right around there, was the Laravel Forge API, so if you are a Laravel Forge User, you now have access to all of this information through an API. So to get started, you can go to your Forge account, and from your account you can actually generate an API token, and then you just authorize any requests to it using a bearer token, which is exactly how you would do it ... You can actually do this in a default Laravel install, where you [00:25:00] just say, you pass through an authorization header that has bearer, space, and then the API token that you generated.
You can do that, and you have access to tons of stuff, right? Your servers, your services, your daemons, your firewall rules, your site's SSL, all of that stuff, through this API. So there's documentation out there. I know Muhammad did a ton of work on this, so big thanks to him. Have you seen any cool projects that have been created yet?
Michael Dyrynda: Yeah, there was one that I saw come out the other day by [00:25:30] someone called Yan [Oostland 00:25:32]. And he's working on what he's called F-Bar, which is a macros menu bar application. So to give you basically a dropdown access to all of your servers, so you can open a tunnel to that server, reboot, restart different services, so MySQL, nGenx and all that sort of stuff. Check your deployment logs and run a deployer right from the menu bar of your macros computer, so thanks very much to Yan for that.
Jacob Bennett: I wonder if that's going [00:26:00] to be a paid thing. Is he done with it? Is it out?
Michael Dyrynda: I think he was saying that it was in the hands of a few beta testers, but I've not seen anything about it since that initial tweet.
Jacob Bennett: Okay, this is just an American/Aussie thing. Did you call it a "beet-a" test?
Michael Dyrynda: Yes.
Jacob Bennett: I would call it, "bay-ta" and you would call it-
Michael Dyrynda: Sorry, "bay-ta" ... a "bay-ta" release.
Jacob Bennett: It's a "beet-a" release. We've got some "beet-a test-ahs". I'm sorry, I know that's a horrible Australian accent. [00:26:30] I just thought it was funny.
I am really looking forward to using that toolbar. What was it called, F-Bar?
Michael Dyrynda: F-Bar, yep.
Jacob Bennett: F-Bar. It looks incredible really, and I can't even tell you how many times I just need to very quickly get into a box. And sometimes I have to go into Forge and look up the site, and then go figure out which SSH or, which server I have to SSH into. Because I just forget, you know, when you have more than two, it's kind of difficult to remember. So this will be really, really helpful, and I would definitely pay for it. I really would. If it [00:27:00] was 5-10 bucks, something. I'm trying to think how much I would actually pay for it. Maybe ... Yeah, I'd pay 15 bucks for it, probably. So we'll see.
Michael Dyrynda: 30?
Jacob Bennett: We'll see what happens, but there you go.
Michael Dyrynda: Cool.
Jacob Bennett: So another big piece of news for those of you who use Homestead, is that Homestead version 5.0.1 has been released. So it looks like the upgrade patch shouldn't be that difficult, but I am ignorant, really, when it comes to Homestead anymore. I use Valet for everything, so Michael, I'm going to let you take [00:27:30] this one.
Michael Dyrynda: Thanks Jake. So Joe Ferguson has been working on the Laravel Homestead front for several months now, I guess he sort of picked it up late last year? Late 2016? And he's been working on bringing new feature into Homestead. He's been working on updating versions of software. He's really put a ton of effort into it, and we thank him for that. For those of you that are still out there using Homestead, [00:28:00] it still certainly has a place in the development ecosystem.
So he's done a lot of work around, also, the Settler Project, which is what is used to generate the Homestead boxes. So basically, now that Laravel no longer officially supports HHVM, Homestead is no longer shipped with that. But it now using things like UTF-8 multibyte character sets for databases. There's been some bug fixes around time management. There were a [00:28:30] lot of issues with that, and so I understand it's now using NTP to maintain its time servers. Mailhog will now ... I know it was introduced in a previous version of Homestead, but it wasn't automatically starting on boot, so that's been fixed up now. But there's a whole heap of new features, which I won't read off here, but you can certainly check out the blog post, which we will link up in the shout-outs. And as I said, that you very much to Joe Ferguson for all of the work that he's done on that.
Jacob Bennett: Absolutely. [00:29:00] Well I think we are about out of topics for today. That's going to wrap it up. Thank you everyone so much for listening to the Laravel News Podcast. This is episode 33, so you can find show notes for this episode at laravel-news.com/podcast/33. If you like the show, please feel free to rate it five stars in iTunes or your podcatcher of choice. If you have any questions for the next episode, you can hit us up @laravelnews on Twitter or on our personal accounts. All right, thank you everyone for listening, we [00:29:30] will see you in two weeks.
Michael Dyrynda: And you will hear our voices as well.
Jacob Bennett: Boom. Mic-drop.
Michael Dyrynda: We will see nobody.
Jacob Bennett: We will see you or not. You will hear us in two weeks. [00:30:00] Peace out. ... so much for listening. We appreciate the [inaudible 00:30:07] How should I edit that?
Michael Dyrynda: We'll just leave it like that, it'll be fine.
Jacob Bennett: You're just going to include that.
Michael Dyrynda: Of course I will.