PHPUgly

370: Speaking Gifts

Episode Summary

This week on the podcast, Eric and John talk about php[tek], speakers, ideas, dropping tables, and more...

Episode Notes

Links from the show:

This episode of PHPUgly was sponsored by:

Honeybadger.io

Built for Developers. Monitoring doesn't have to be so complicated. That's why we built the monitoring tool we always wanted: a tool that's there when you need it, and gets out of your. Everything you need to keep production happy so that you can keep shipping. Deploy with confidence and be your team's DevOps hero.

JetBrains PhpStorm

The Lightning-Smart PHP IDE. Join over 600,000 happy PhpStorm users worldwide!

php[architect]

php[architect] magazine is the only technical journal dedicated exclusively to the world of PHP. We are committed to spreading knowledge of best practices in PHP. With that purpose, the brand has expanded into producing a full line of books, hosting online and in-person web training, as well as organizing multiple conferences per year.

Twitter Account https://twitter.com/phpugly
Mastodon Account https://phparch.social/@phpugly

Host:

Streams:

Powered by Restream

Patreon Page

PHPUgly Anthem by Harry Mack / Harry Mack Youtube Channel

Thanks to all of our Patreon Sponsors:

***
** PATREON SUPPORTS SPONSOR LEVEL **

Honeybadger (https://honeybader.io)

** Patreon Supports **

ButteryCrumpet
Frank W
David Q
Boštjan O
Marcus
Shelby C
S F
Rodrigo C
Billy
Darryl H
Knut B
Dmitri G
Elgimbo
MikePageDev
Kenrick B
Kalen J
R. C. S.
Peter A
Honeybadger
Holly S
Clayton S
Ronny N
Ben R
Alex B
Kevin Y
Wayne
Jeroen F
ahinkle
Chris C
Steve M
Robert S
Thorsten
Emily J
Andrew W
ulrik
John C
James H
Eric M
Ed G
Ririe
lilHermit
Champ
Jeffrey D
Chris B
Tore B
Bek J
Donald G
Paul K
Dustin U
Mel S

Episode Transcription


[0:01] You are listening to the PHP ugly podcast and despite what the title may lead you to believe this is a podcast about the joys and challenges of being a professional PHP developer, your hosts are 3 passion developers who make a living coding and who live stream every week to discuss coding projects work Tech and running a business and now here are your hosts Eric Van Johnson and John congen februari 1st, episode 37070 PHP ugly podcast I am your host Eric Johnson and with me as always, John Kangen hello hello another 1 we are a podcast that focuses on the PHP programming language the surrounding community and our company PHP architect.

[0:52] Shows me better thanks to some sponsorship how many Badger do I owe who's been with us for a very long time and we do appreciate that as well as our supporters on patreon we're going to talk about all them a little later especially honey you would like to participate in the show live you can do it on any platform Twitter I think we're still on Facebook maybe not twitch and obviously YouTube but if you really want to be part of the show and part of the community throughout the week you want to join us in our Discord at Discord php.com that's discord.py Cam okay I bumped that last part great group of people in there we hang out all week long and chat and you get to do some extra things like suggest show titles and things like that I think if we were better we would have like lower thirds and everything like pop up, showing the U the Discord URL as we're saying it maybe our sponsor as we're saying it you're asking a lot for me Kan know you I can I should be doing this stuff too it it's hard producing a show while you're doing the show like yeah I don't know how they do it well most people don't most people have somebody there like hitting buttons for them.

[2:06] Which is how's it going you that's what you wanted your original role to be way back in the day you remember that before PHP ugly started it was like you wanted to be the producer but not on air and I'm like the show would not be what it is today without your presence it's crazy it would be so much better I don't believe that for a bit good old days how's it going it's a going stressful thing februari 1st I mean the clock is ticking baby clock is ticking, 81 days is that where we're at now sounds right to me I don't know 14 hours, oh my God I see yeah look at that tick tick tick.

[2:49] Yeah it's bad when you leave that on the screen all day and all you're watching is that time time dripping away like I should probably be doing something else, I can't believe I can't believe, I I don't know if it's the fact that we record at 3:00 now the West Coast which by the way, my plan is coming together coming together, I'm about to have beachfront property any day now with as much rain as we've been getting here in Southern California it is insane and you don't understand like Southern California was not designed for drainage or or just wet weather at all so but like I don't know if it's because we're recording at 3 oclock but like, the show seems to creep up so much faster and it's like wait a minute are we already this far into the week like how is it Thursday already, that's definitely part of it seems that way.

[3:48] Yeah the with all the wet weather I actually had a power outage today which I haven't had in forever I saw you mentioned that in slack so you guys obviously get a lot of rain oh yeah.
Yeah it's been raining all day it's so spotty but I will say I I'm sure it's happened before I just I just never paid attention to it we looked at the chance of rain back on Monday, historically horrible at predicting the weather weather like they they would say oh there's a 40% chance of rain and it just it would never rain like they would be, wrong more than 60% of the time it was horrible but for the for the first time that I can remember, way back on Monday it said 100% chance of rain Thursday morning I'm like wait what how can you be so confident, looking at it now I did my baseball draft on Monday night and we're supposed to have our first practice this Saturday and.
With the reigning as much as it is the chance of that happening are pretty low yeah.

[5:03] Yeah that's probably not happening it reminds me back to last season.
It rained so much that I think we only had a handful of practices before the season kicked off and it's like.
The kids need more help so how's your week been going good we we started a new contract with the new client, super excited about that stuff about that yeah things are moving along with tech I.
I've had the this graph that shows ticket sales.
Compared to last year but it's based on days before the conference right and I've been so stressed out about.
Ticket sales and making sure that you know we obviously have a break even point we need.

[5:56] Up until you get enough attendees you're we're basically tracking at a deficit we're we.

[6:04] We plan for the worst case scenario and then you have to budget right it's like.
If we sold zero tickets we're going to lose this much money and then as you sell some tickets you're getting closer to that break even and then hopefully you go.
A little bit on the other side we do not make much money on this at all but it's so stressful so we have this graph compared to last year and.

[6:28] This year compared to last year's been so much lower than.
And then what has been last year has been driving me crazy for weeks and then all of a sudden yesterday those lines crossed and.
It just made me feel better.
We're still losing a lot of money if we don't sell any more tickets but yeah knowing that we're kind of on Pace with where we were last year at this point, is making me feel a little bit better which I I'm so surprised because I feel like, like last year in my head I I.

[7:04] Understood a lot of people may be waiting till the last minute to buy tickets right because first time it's come back is it really going to happen how good is it going to be will my company send me we haven't gone to a conference in a while but this year.
With it returning I thought for sure.

[7:22] Early bird was going to go go through the roof like I I thought we were we were going to get this huge Spike of early bird level off and then actually maybe start to, come down a little bit before those last minute purchases started happening I'm not complaining about early bird because again it it is US losing more not losing more money but like not making as much Headway as we'd like so the fewer early bird tickets we sell is, better for us as long as we sell the same room have a tickets right but I just I just was surprised I'm like man I I I would think either I I just thought more companies had come around to okay we're doing in-person conferences again yeah the this this team has been been, doing conferences for a while they just came out last year they did a good job let's budget for this, but it didn't didn't happen as much as I thought it would like you said, comparatively speaking during early bird we sold fewer early bird tickets this year than we did last year which I was surprised, yep I know I know a few weeks ago you complained about people publicly stating like.

[8:36] I'm not going to attend a conference unless.

[8:40] Unless I'm chosen to speak their yes right and and I definitely understand that sentiment definitely wish it wasn't.
A public statement said said quite like that but I've actually reached out to a couple of other people like.

[8:56] People I know that have been in the community I'm like hey are we going to see you at Tech this year and they're like no but Tina do you need me to speak like.
Walk them out if you need me to speak and I'm like no we're we're kind of there like if you're not paying attention we we have a we have a very good lineup I'm super excited about who we have speaking the the topics being spoken about.
Definitely don't don't need that but it's like you are a.
Someone in the community you you have written books you have you know the power of conferences and community.
You should be going to these things and I guess I get it if you don't have if you're not working for somebody that will pay for you to go.
If you are working by yourself and employer won't send you I understand I can only go if I'm chosen to speak.

[9:50] But if you own your own business.

[9:52] It's really it's a small drop in the bucket to you know to go and continue learning and be part of the community possibly grow your business that way.

[10:03] Yeah I don't know I I I I vented my my complaints about it like I said the the 1 that really hit me the most is when when they do it publicly you know it's like, at least at least add some qualifiers to it like hey I would love to go you know I'm not able to this year even if you don't want to say it's a financial reason just make it sound like you're you're you would like to go like I would really love to go but I can't but and and not just for Tech I mean I I get it it's we we have skin in the scheme but just in general you know exactly we have oh so I'm I'm going I'm going, I'm going to catch you off guard a little bit we had something similar that happened obviously we publish a magazine.
And we're very focused on community and the in conference the in-person conference is was a big achievement for us it's something we really thought was important that the community got back to and I still feel that way for things like user groups right even in San Diego where John and I are we we try to get the user group going again.
 

The struggle of reviving in-person user groups

[11:18] Honestly with the business and the magazine and everything it it was a lot but we felt like it was important enough and you know we.

We published an article where somebody kind of said use groups are kind of dead it's like yo don't say that you know it's like don't sing in person you got a lot of organizers out there working hard to you know get user groups going again in-person user groups going again so it was like.

[11:47] Yeah you don't want to silence a voice especially you know in the community it's like okay that's their opinion somebody had actually stepped up and said hey I'd like to write a.

What what is it not a response but rebuttal rebuttal yeah something like that yeah I'm like all right that's good this is what the Magazine's for this is a good platform for that let's let's get both sides but that rebuttal never came in I I was kind of holding off talking about it until the rebuttal came out so that I could kind of support it a little bit but it never came out, I I don't think the the take was so much that user groups are dead it's just.

[12:27] It's hard when when you when we put as much as we did into our user group.

And to see it just dwindle and not get the people to come out it's hard it it's sad and.

[12:41] Looking around the country it does seem to be that way it seemed to be what's happening with user groups in general and it's like how do you get people out of their shell and care about.

Community in in.

Just being around other like-minded people I mean how many people PHP developers especially do you get to interact with on a regular basis.

Can you commiserate with people.

That's 1 thing about the user group is you go talk to people about things you're working on what are other people work on bounce ideas off of each other.

[13:13] Talked with people at our user group about businesses they were trying to start and you know, they would ask for feedback so to me it was all great conversations it's just when they don't come out I mean I think I think we're we're fighting a couple things here obviously the pandemic just.

Just absolutely demolished in person anything but now you know on the tail end of that granted.

Coid is you know technically selling but I think everybody has learned how to kind of get on with life with, with it but there is that and we talked about this even back in the day the, not accountability but what what do you what do you call these companies that host host you there there's some legalities to that right I mean there's in with, when Co hit I think it really, kind of made them think it's like hey how are we using our spaces first thing a lot of them got rid of spaces including PHP architect, Diego that back then we had we had a physical office that, developers would go to John and I would go to we got rid of ours a lot of places got it so the the amount of spaces available.

[14:34] Greatly reduced also I think that with the stay-at-home kind of lifestyle that that developed people.

I like to think positive people started kind of interacting with family again and they got they got on these uh patterns that oh yeah my nights aren't free anymore my nights are doing this with the family or doing that you know like everybody's kind of flow got disrupted and and kind of rep prioritized and, I think in-person.

Meetings you know in person anything suffered a lot from that I agree.

Transitioning to discussing PHP architect's limitations and new subscription options

[15:18] Gonna switch topics from that thank you yeah we we.

[15:23] We took over PHP architect what 2 and a half years ago now something like that sounds right and.

We still don't know all the ins and outs and we we know that our the website that we acquired has limitations.

That's a polite way of putting each other call them limitations there there have been new things added to, that were kind of hacked in to make them work and 1 of those was the the ability to have a month-to-month.

[15:55] Print option so you always had a monthly recurring digital and if you wanted the print you had to you had to go for a full year.

And then 1 of the first things that we did was why don't we introduce that the ability to do a monthly recurring subscription had somebody write in last week.

Yeah I want to cancel the cancel button doesn't work and it gave them some error message like record cannot be found or something and like what is going on here they ended up.

I think they wrote in Friday.

So we didn't get to it through the weekend and then while I was researching it but I didn't I didn't reply so then they tweeted out like hey I I emailed and didn't get a response I'm sorry for not getting the response back to you quickly enough.

I need to be better at answering support tickets for sure we we are getting better as a company but the off way too often they gone too long.

[16:55] But they did find the issue and it's because they cancel code.

If it doesn't send what type of subscription to cancel it has to be digital oh interesting you didn't even tell me this no I just I just found out yesterday.

And I think it's still probably broken on the website but we have our own little internal tool that we use that basically does the exact same thing.

And I'm looking I'm like why is this not canceling why am I getting record not found looking at the database the records there what is happening here and that's what it ended up being.

The default is digital and that's the only thing it could cancel.

[17:34] That's yes I saw that tweet coming I I had not seen the ticket in in our ticketing system but I did see the tweet and I I just did a quick reply say hey DM me.

Email address and I will look into it yeah that apply because we weren't following them so they can't DM us.

[17:53] See I I ain't getting old man I don't know how to use computers anymore I I thought there was a way to open up your DMs so anybody could DM you and I looked at our settings for PHP architect and I thought that was open I'm like okay they should be able to DM us but I guess I should have checked that on that, yep not sure not sure how that works all right so we we talked about a new contract which is we did been fun, it's we're kind of in that that frustrating phase I mean I guess it's a hymen period so everybody's happy to be working to get together and it's not an issue but it's frustrating for me as kind of the the lead is I want to get people working on things it's like all right you know gotta get.

Frustrations and excitement with a new contract and new employee

[18:41] Access set up to the repo and then I tested the access to the repo and it's not working he's like oh man this is like I just need to be able to commit go just let me commit code so you know it's like in this frustrating.

[18:55] State of okay let's get all the access set up and let's make sure everything's working but we're getting there it's just gonna it's taking a little time but you're gonna bug them be beyond the contract thing starts with today and you started last week like, hey let's have this interaction like we don't have to wait and I think that's.

Great role that's how we roll baby some place to be like no we're not starting until the contract takes effect yeah and it's always fun because you know it's like, new tools new workflows and you know we we we're always in this position of okay we we try to make things as less disruptive to the client as possible so if they're used to working with certain tools we want to try to work with those tools that's where we are now now we we will augment the the workflow if we see something better we'll work with them say hey we think this is a better workflow, but back back on jira which is cool I've worked with jira before.

Come a long way it really has even since I worked with it yeah I used your like decade ago and it was terrible.

And we have another client not the new 1 but another client using it and it's not bad.

[20:14] Yeah it's very powerful if if you take the time to set it up right right and that's 1 of the things we're looking at it's like okay let's make sure we use this correctly.

[20:24] They also use gitlabs which I tell you what man that is such an impressive project there there's a paid gitlabs obvious obviously you can get Labs if you don't know is like GitHub.

Which is abstracted away from get get is its own thing get labs and get Hub or kind of interfaces, to manage get repos the the how well gitlabs stays up to speed on, features that like GitHub is putting out it's just so impressive and every time I look at it I start playing with it I'm like, you know we really should be in gitlabs this is bullshit that's why are we paying for GitHub we should be on gitlabs why are we playing Microsoft yeah it's just uh such an impressive project the the project has an open source project as a whole is just so impressive, I like that but so we talked about all the the new client but we also have a new employee right, we do and I so if if you missed the show, yeah last week making our Discord is officially started with us as well today and Mike is remote mic is over in the EU, this is not an uncommon practice for us he is not in the EU where is he.

Remote Work and Cross-Country Collaboration

[21:47] He's in the UK remember brexit they're not part of the EU anymore right you're right.

I'm sorry I'm American you guys are over there okay uh anyways he needs to cross the cross the pond as we say, so we're not we're we we are very accustomed to remote workers right because, we we've worked with them in the past we have 1 that's up in what's the country north of us is that Spain I think it's Spain Rico, Canada that's it we have 1 in Canada we we had a developer for a while in the Philippines which side note I would love to establish a a.

Company presence in the Philippines for the simple reason the Philippines gets paid in pesos so the the currency is PHP, I loved like sitting in the game it's the Filipino Peso is what it's called PHP.

Yeah Filipino peso and so I love that so so that's that's all good and, but let me ask you a question this is a Sidetrack I got to be very sensitive on where I step here because of things.

[23:01] I have a a very close friend of mine who also worked with a remote.

Only company I guess it's not only but remote focused company where a lot of the people that works at the company are remote there.

They were a San Diego based company and initially much like us initially everybody was in San Diego so like when they did training and stuff people would go over to other people's homes and do the training.

[23:32] It was like a like a normal thing but now they're spread out across the country so they're not seeing anybody anymore.

They're they're spread out across the world but the the majority of them are here in the US they were sent an email that basically said hey.

You're not allowed to move unless we give you permission I'm sorry, I'm sorry what and it's like that is they they sent that to their employees they're like hey you can't move unless we give you permission to move its like wait you're a remote company why do you care like there could be a times time zones are an issue with this company I realize that as long as you can kind of do the job during the time that.

Requested to do the job I don't understand what the problem is here no I'm curious how explicit is it was like can I move down the street.

Can I move across the city like was there a within a specific geographical boundary.

Like maybe maybe it was you can't move to another state without talking to us because.

[24:43] Setting up taxes in another state is a pain in the butt and we just went through it last year with when 1 of our employees moved to Maine I had to go and establish.

Maine taxes and set up we are a foreign entity in Maine.

So there's a lot of leg work that I have to do when people move so part of me kind of understands that especially as a small company having.

Spend hours every time something does that is is a pain.

Granted I can't tell people where to live so I mean maybe part of that is hey if you're going to move to another state.

[25:22] That we're not we don't have a presence in we may have to part ways maybe that's part of it.

Lack of Clarity on Moving Policy for Remote Workers

[25:29] Mhm I I think I think to to to answer your question they were very not clear on that, matter at least the way it was explained to me I didn't see the physical email I just had it explained to me, but it sounds like they could have worded it better as well it's like hey if you're moving here's some factors you have to take in consideration please reach out to us and let's discuss it so that you are aware of what your position is going to be with the company if there is 1 after you move, you have to get permission from us not my dad that's that's where I use something like chat GPT I'm gonna put in what I want to say and say, I needed to sound like this and it rewrites here's a software way to say this here's a little nicer nicer tone for you.

Yeah for sure all right we need to pay some bills I have I've been I I did go back and verify everybody was correct that was my AI Honeybadger add I need to re-record mine so let's uh let's listen to John.

[26:46] Thanks to our friends at honeybadger.io for sponsoring this podcast.

Monitoring like web development can be complicated there are tons of tools and techniques but you just want to know that your app is up and that your customers are happy.

When your customers encounter a problem you need clear actionable intelligence not walls of charts and dreams of logs to tail that's why they built Honeybadger the monitoring tool we always wanted a tool that's there when you need it and gets up.

[27:14] Music.

Honey Badger: Improving System Health and Customer Satisfaction

[27:25] Improve the health of your systems over time and fix problems before your customers can report them honey badger is the application Health monitoring tool built for you the developer who cares about a quality product and happy customers be the hero of your team and sign up for a free trial and start monitoring today, at honeybadger.io.

Setup takes as little as 5 minutes see what you've been missing and fix it once again that's.

Excitement over new client and Honeybadger account

[28:01] Thank you honey Roger speaking of honey badger signing a new client and getting on to their Honeybadger account.

Is you got lots of honey badger you know that's always fun yeah you know you know you're working with a quality company when when they are they're already used in the same tools that you use like.

[28:24] Yeah that was fun and then then you see those and you're like oh looks like we're gonna keep this contract for a while.

Installed with existing clients and I've kind of gotten accustomed to a Cadence of notifications especially in our our slack Channel but then I started like getting this flood of Honey magic notifications that what they they weren't hitting my the slack Channel I'm like wait what's going on what are all these notifications and I realized it was the new client I'm like huh okay I got some things need to be addressed.

[29:07] I tell you honey is a great tool I'm looking through the the emails you've gotten recently I'm like we really got to fix these things up, you talking about the existing clients or the new 1 yeah the existing client, yeah yeah there there are some crud out there that it's just like ah okay I know this this happens it's fine I think it's displacement.

Yeah and it's it's frustrating to a point like.

Another client we have has some other tool that they're using and it's the same thing they they.

You just stop looking at it and it's like but you don't want to not look at it we write there's got to be a way to and I know there is.

Squatch those so they don't make it into honey badger if you know they're happening.

[29:57] And you you're not going to do anything about it when it hits those tools squelch it before it gets to the tools so that when those tools squat you're reacting to that yeah.

So you need to be better about looking at that myself it is fun it's fun looking at new code bases though and and getting excited about doing things and getting in there we we had the first real meeting with the team so like you said I I started working with the new client last week just kind of doing some basic stuffs basic setup but we had the had the first meeting with the team and yeah it's.

[30:32] It it's fun just like looking at code and like all right and then the cool thing about it is.

This person's a developer yeah they've been a developer for a long time they kind of have the same.

Thoughts as we have and so it it was it was cool to kind of get in there and just already kind of be familiar with the code even though you'd never seen it before yeah it's so much better than going in colder like.

The company firing the only developer they have and then bringing us in and it's like makes it more difficult because yeah 1 you have to communicate with with the company who they just fired their developer they're not developers themselves how do you.

Make sure you have everything you need you know that back and forth.

So this situation where it's not not an emergency and we already know the developer and we like them and already have a great relationship being able to have open conversations is fantastic, yeah yep all right do we have any development talk to talk about any PHP stuff to talk about you had shared something it's not necessary PHP.

But I saw as you were talking to that client trying to get back to it that was our new employee.

[31:48] Oh it was what is indify so indify, I I you know I had Mike and we we used notion we've talked about this in the past we used notion as for a lot of workflows within PHP Architects so if we're not using, client's tool for something or even if we are sometimes we overlap tools we'll use things in notion.

And each person in the company has a personalized dashboard so a dashboard that has a view to all of the stuff as it relates to them and they have the ability to customize, what their dashboard looks like and they happen to have seen mine and I have these widgets on mine and, what indify is is this person out there who's decided to create these web.

[32:38] Sites so the widget in in notion is just embedded website that's all it is there's nothing nothing special about it you can embed any URL so he creates all these little widgets that you can embed into your notion.

Dashboard things like clocks and stuff like that and that's what that is I saw that on your I saw that on Trello like wait a minute I literally just shared that with Mike this morning how the hell did he see this.

Yeah that's fine on you little little spyware on your computer.

Yeah it's it's if you use I again I don't think it's specific to notion I maybe it is that I'm not I'm just not aware of it it definitely says notion widgets.

Yeah but yeah it's great I mean it's got its got calendars and clocks and weather and all sorts of cool things I I've used it a few times it's 1 of those things like when you get into notion you like want all the bells and whistles and it seems like a good idea then you slowly start dialing back why why do I have this button here this is stupid where did it come from yeah so yeah that's what that is it's a notion tool.

[33:51] I will have to look into it more I I use notion I mean obviously for our workflows for the magazine but it's very like.

Table based or database based where it's like here's a record.

Was the status of it so within the magazine we have all of our articles that are going out that month and the current state of it does it need to be reviewed does it need to go through grammarly it does it is it ready for layout.

[34:17] So I'm just used to that almost like a task manager versus all the bells and whistles and then I look at some of the stuff you've done in there I'm like.

You've got a lot of time on your know the stuff you the stuff you've created is really cool uh and it's like.

[34:35] Where do I learn all that stuff and how do I get the time to do so yeah I I I have compulsion issues and like I try to figure things out I don't know what it is you want to see something something else I discovered that's pretty cool I I don't know I it's new to me I don't know how long it's been out but it's very new to me I'm going to share my I'm going to share my full.

[34:59] Actually I don't have anything expose actually.

Yeah let's let's actually hold give me a second please just 1 moment let's do that's good that's good that should be good that's good that's good yeah let's do this all right so I'm going to share share my my browser with you guys if you're listening to the audio podcast go to youtube.com hit the Subscribe button the Bell button the like button and then, fast forward to about 40 minutes into the podcast and see what he's sharing you got to do all the other things first otherwise that part doesn't work so, in Chrome you've had the ability to do grouping of of tabs and as you as you open up tabs you can add them to a group, of like-minded tabs right so I have like my my scale stuff I have some stuff here for PHP Tech PHP ugly because I'm work you know.

We're doing the podcasts here so that's that's nothing new that's always been here but, what you haven't always been able to do is save the group I'm like okay what does this do I don't I'm not really sure what this does and I just.

[36:07] Figured it out this week that say a piece be ugly for example right.

I can hide that group so that that group goes away but you see down here the group is still available to me so if I click on this it brings that group back with all the tabs that that were associated with it, technically that was a different 1 but I get it, uh oh yeah the PHP ugly right so yeah PHP ugly it brings it brings back PHP ugly with all with all the tabs associated with it so I'm like this isn't great like this is a group I like I said I've been using groups for a while but.

And if you close your browser if you you can do that whole kind of restore from uh where it says do you want to restore your browser it it will sometimes it would it would.

Keep the the groups sometimes it wouldn't I I never figured out why it would or why it wouldn't.

But now with this little save feature it's almost like a a different way of handling bookmarks if you're if somebody like me who like likes to group their bookmarks.

[37:11] Yeah see I definitely do the bookmark grouping and I definitely have a lot of tabs but I don't use a table grouping and I.

Probably should because right now I have like 10 different windows open and each 1 probably has.

Anywhere from 20 to 50 tabs and see this is something all right so okay we're going to talk about let me let me share this bad boy again for you I gotta get on a page all right so here's that here's that let me here's something I don't understand like.

So John knows this about me obviously the world knows about me I I use Vim write in in notion I'm looking at a notion and most browsers there's of them plug in you can have where you know you can navigate with your keyboard so like if I wanted to go to that calendar app I just type SF and it it'll open up the calendar link right I can go back by hitting shift h but.

Efficient Tab Management with Space T Shortcut

[38:12] What you're talking about John in the same problem I have when you have a lot of times especially when you start using groups and you can't see what tabs you have out there anymore I can hit space t and that actually opens opens up.

All my tabs and I can like search for you know Trello right I can search for Trello and it will jump to my trillo table and it's just.

I I don't understand how you're not using this job it's like it's how are you not using this I because I do similar.

But I should use I should use that I mean I just go up to the the the um up upper right.

Well no I just go to the address bar I start typing in it's like oh you already have this open open table and I go right to it oh does it do that I never even knew that.

Because I I showed you how to do it Chrome has it built in now I don't know if all chromium, browsers do but if you use Chrome in the upper right hand corner you can actually navigate your tabs there and it even gives you a keyboard shortcut so that you don't have to reach for your mouse like a there.

Oh I thought I shared that to you before yeah so so it has a little search your tabs thing there uh so you're seeing if I type in like trillo.

[39:32] It says switch the tab oh look at that interesting I see I didn't I didn't know that was there I never I hardly ever do that so cool.

Learn learning from each other look at that I know.

Yeah but you got to use the vimium vimium well there's a couple vimium is the 1 I use vimium is on chromium browsers Firefox I think even Safari has vimium.

And yeah I mean once you get into the groove you just.

You just item this item is inactive oh never mind it's inactive because I haven't installed just not enabled.

Look at that so you almost had it done almost but not quite here we'll do it this way.

Add it right to the show notes somebody in Discord shared an interesting video.

And at at first I freaked out because I use steam how a steam bug deleted someone's entire PC.

Bash Script Mishap: Scary RM Command

[40:40] The Linux Port of it has uses a lot of bash script and.

[40:47] Whoever wrote it even put it in the comments this is scary and it doesn't matter because they did it anyway and they did an RM dfr slash.

No way so not what they technically did was RN dfr variable name slash.

[41:05] But through a couple of.

Errors that have happened either by the user themselves or some other issue that happened the variable ended up being an empty string so it essentially was RM dfr.

Oh this is great and unfortunately it's it's a YouTube video I mean I can I can play it but we can't like group directories contents at this point most were satisfied and be, I love these post-mortems or I guess you're not supposed to call the postmortem anymore but I love when.

Something like this happens and they they release like oh hey yeah this is what happened just now how weird is this yeah so this back in 2015 so it's older but it's probably still an issue but I still love the comment in the script that says this is scary what happened to me actually, Matt Matt Matt to this extreme but I was working on the PHP tech.vs, oh and I'm like I'm like shoot you know what I need to start writing tests because I was I was moving a lot of things around.

[42:17] I'm like I gotta write some tests so, I start writing some like super basic tests but 1 of them called to the database pulled up some records I'm like all right so I I you know I did my database refresh and I I hadn't even thought about it I was I I had been like coding for so long I'm like all right let me see if this if these tests run and they go to run and I'm like.

Okay that didn't work like not even a little bit I'm like what the hell happened so I I go back to the website and the whole website's down now this is a local development environment I didn't do this in production obviously but I go back to the it was an obvious because from your your comment in Discord earlier in the week I thought it was pretty, know I go back to the website I'm like wait where's my website like what just happened so I look at the native base and like everything is empty I'm like all my all my the tables are there because the migrations ran, but there's no data in any of them and it took me a a quick moment I'm like.

[43:25] How did this just happen like all it did was run tests and I remember I'm like oh yeah right so I ran tests I told it database refresh I didn't give it a specific, test database and I didn't switch it to SQL Lite so it just rearranged all the migrations on my existing database fantastic.

[43:48] That was so frustrating I hated you at that moment in my life I'm like I hate John I you're it was I was either going to hate you or I was going to hate Grumpy and I just decided to go with you.

That works don't blame me on that 1 so you said it was just a configuration right.

[44:05] Just change that and everything was was fine right because I because I I hadn't defined a test database and.

[44:13] I hadn't defined it so typically what I I'm I'm that whole sequel like guy right I I'll go into my PHP unit that XML and say okay the database here is sqlite so that I don't have to worry about managing another database I hadn't done that I hadn't defined a test database so it just took my existing database and said okay you want to refresh your database I'll refresh it and I didn't have Cedars because we had built this kind of on the Fly and started populating stuff yeah so I I didn't have Cedars for the tables and yeah.

Everything went by it was painful to walk I'm I'm surprised that laravel doesn't.

[44:57] Force especially for something like that force it to be in a testing environments or some sort of setting this is I'm in a test environment it's okay to do this, well I mean to its defense the app environment is not set to production it's set to local like it has an app environment in your EnV file that you're supposed to set to production for production stuff.

[45:22] So it was not it it said to look so when it it wouldn't do it in production anyway, so says Theory I guess I haven't really tested that let's not test that I mean you can test it locally I guess in the states I mean that would actually be a great little exploit just like, you'll go into some of these other directories and try to run PHP unit and just see what happens you know see if it blows away their database.

[45:50] Yeah yeah that was that was fun for like you said fortunately I just just grabbed another copy the the issue at the time and I have I have learned.

Now but is all the coding I had been doing up until that time was specifically, to massage the data to accommodate the the the second conference you know you know associate users to whatever conference they attended or paid for making sure they had access to all the conferences previously doing the same thing to like rooms and Conference and talks and Conference so I done all this massaging of the data to get it to a point where it's like okay, you know we're good for this year's Tech.

Lessons Learned: Importance of Testing and Data Management

[46:39] So I had to run all the scripts again the scripts work really well if I pull down a new database and I can massage the data again, but you're testing that's the that's the that's what I took away from this not not that you messed up but they are testing well I'm not testing ever again nothing good can come from testing, actually have I always talk about testing.

Going bdd testing using something like code section or B hat I love the gherkin syntax around that but to me it's always been you're testing the UI they're slower tests.

I was talking to somebody last week or the week before and they're starting to use it.

Instead of PHP unit for back-end testing so first can you explain what the G gherkin syntax is yeah so.

In in general you create anybody you could say hey I have a QA department or product that they have to write my tests and it's literally a given some.

Scenario when something happens then this should happen so, given Bob is a user of some platform and he has these properties or settings or feature Flags or whatever you need.

[48:04] When they do something when when they log in or when they visit a specific page then.

And again I'm used to it from the UI perspective given on this person when I visit this page I should see this button or I should.

[48:21] It should be able to do something on the page fill it out.

[48:26] So in general it's just very verbose syntax and then using your tools to create those methods the methods are actually named very similar to that.

I and I the idea being like the.

The application owners who don't need to be developers can actually write your tests for you and you can actually code to those tests or to those questions.

Yeah but they have they have a name that's scenarios yeah scenarios there's a scenario I mean in the in the in in the file its called a scenario, okay so you can actually code to the scenario and when you're done you give it back to the business owner and say and say hey this is doing exactly what what you asked it to do here's the scenario you gave me and here's it passing you just kind of move forward with that and they become better at writing scenarios.

We as developers become better you know meeting the requirements because it kind of removes a lot of that that gray area be behind what's being asked for and what's being delivered in theory that's the kind of theory behind it.

And it's really nice because I think I said on a show previous show how when I bring in a new library.

When I'm trying to implement it sometimes.

[49:52] I don't want to read all the documentation I'll actually go to the tests and read through the tests on how it's supposed to work and how it's supposed to be used.

[50:02] Something like the gherkin language it's very clear you know this is what.

What is supposed to happen on a given page or in a in a given scenario.

So you know what supposed to happen then getting to the test behind it is pretty easy and you say you you talked to a developer who's doing it for back-end stuff now right instead of just for UI so.

There's everything is in a context and there are now 3 contexts in the project, there's 1 contextos selenium so it actually boots up a browser and you want that so that you can interact with the JavaScript when I hover over this.

Something pops up when I click this something submits so you're actually.

Going a little bit further and actually almost testing the JavaScript at the same time making sure things happen.

[50:57] We have a second context that is using a headless browser so it's using.

I forget what it is but it's basically just a almost like a curl request and then you get back to Dom and you're inspecting just the Dom you're not booting up the actual Java JavaScript.

Transitioning from Selenium to Headless for faster test execution

[51:15] This is my first for a in a long time back into bdd my original test I didn't know about the context right so my original test was written in the selenium version and it was staking about 22 seconds to Run 3 tests it's like 7 seconds per test.

And then he tells me about these contacts and I'm like oh I switched over to the Headless 1 and went from.

20 21 seconds down to like 5 Seconds just because you're you don't have that extra overhead of running selenium and then he explained the Third.

Context is you're not necessarily booting up a a browser at all you're not making a curl request you are initializing your environment.

And then sending a request through like your bootstrapping the application and then sending just a request getting back the response and then.

You're just looking at that so instead of making a curl multiple curl requests which is what we normally have to do right you have to, go to the homepage you have to enter username and password that establishes your session you know you're logged in you have to click through possibly 2 or 3 pages to get to where you need to be, this is really just a given this request what's the response does it have the right shape.

Interesting yeah that is interesting I never thought about doing it that way as I dive more into it like.

[52:41] Had the the thought that needs to be a conference talk, yeah so B in our Discord and again if you if you want to participate join us over in discord.py cam says he has a paranoid hack for for, SQL statements where he adds a limit to to the end of it I'm just curious or or maybe I don't understand it can't you always prefix a statement with explained, and see what that statement is going to do but he's talking more about when you put code in production and you're worried that your wear Clause is going to.

Match too much run wild yeah yeah it's gonna yeah you're gonna end up deleting or updating too much data if you always put a limit to you're never going to delete more than 2 records or update more than 2 records.

So I guess that that would be a the situation where it's like okay if you want to delete, a contact let's just say or you can in your head get the use cases they should only be able to delete 1 contact at a time you would limit that to 1 are limited to 2 knowing that okay this is never going to go off the rails and just delete all their content contacts right yeah that's a whole idea there's also a my MySQL flag that you can turn on it's probably another databases as well that won't allow a a user to delete if they don't have a wear clause.

So you can't just say delete from user.

[54:09] Oh yeah yeah yeah yeah so that would yeah okay so kind of along this similar lines but.

[54:19] Definitely had those delete delete with the wear Clause where I messed up part of it used in or instead of an and or something and, what I'm going to do to go I'm pretty sure I've done the same thing where I haven't been explicit enough yeah I think I've even I think I even had what actually let me do this okay so we we are in a new month februari do want to thank all of our supporters on patreon if you're listening to the audio version, we're showing our patreon supporters there's a long list only getting longer thank you everybody for helping us out if you want to, participate or if you want to help.

Show give it a patreon.com PHP yeah so I'm pretty sure I've done something similar to that.

[55:06] Where I've had a weird wear Clause but I'm trying to remember what it was I did something where I put a wild card in the wrong spot and it like deleted like the wrong amount of, I can't remember what I did now shoot Bo clarified that it's mostly going into production database when you're doing things.

Wild West we're just doing updated leads in production I do something similar.

Instead of doing a delete or an update I do a select first to make sure I'm selecting the right number.

[55:43] And then we'll go back and you change it to the updated delete I've also done it where I'll do that select and I'll select just the primary key like.

In your example of a contact select the contact ID based on a bunch of things.

Make sure I get back a reasonable number of IDs and then I do a delete where that ID is in that list so it's a very finite set of lists a finite.

List of IDs versus where their email is this and you know 5 other fields that I'm trying to limit it to.

Yeah all right all right so thank you all our supporters on patreon thank you.

[56:27] I think that's it man we're we're at the hour mark right yeah I like I like how you.

1 name and then I had just a tiny bit bigger font there's something wrong with with canva I'm not sure what the problem is with that with that.

Person.

Yeah that name always seems to get a you know the the font seems a little thicker for some reason it seems like it gets just a tiny bit more love for some reason a little bit more attention right but you kind of It kind of brings you a little bit more I don't know what that's about.

Random random generator gone Haywire or something.

[57:04] Are are are are there there are extra special patreon maybe that's the maybe that's it they they're at a different level of patriotism, all right excited about tech want you out there go to Tech PHP.

If there's anything we can help with if you're having trouble convincing your boss we have templates on there have find a good portion of our show and send that to them.

[57:38] Like there's got to be somewhere we should have that like some little video where we're trying to tell people why they should be at Tech.

[57:47] I was recently telling somebody I was trying to convince them and telling them that.

I talked to lots of PHP developers that would rather work for a company that.

Values continuing education like conferences than they would for another company.

[58:06] Because I think that's true like if I was on the job hunt today and I if I had a choice of which job I was going to take.

Might be a a deciding factor for me if 1 offered some sort of conference benefit and the other didn't.

I got something all throughout to you guys first off I'm getting called out by my by my child NorCal kid, it reminded me of something so NorCal kid is calling half the fact that I don't draw attention to the fact that SoCal kid is a piece count supporter when I when I was doing the patreons for this month I'm like you know what I should highlight, everybody who's an employee are everybody we have like a professional relationship with just kind of like a disclaimer like hey you know we do business with these people or are there you know, work for us and then I started looking at lists I'm like no that's just too many highlights not doing it there's too many highlights here man.

[59:06] So yeah I I scratched that idea but we have a good Community I've got 1 is about to talk.

About the before that what what did you lead into that with oh I know what it was I know what it was community, GSP community so we're trying to come up with a very cool speaker gift if you have been a speaker at a conference previously, or if you thought about being a speaker at a conference I'm just curious what is the coolest gift you ever got and and you can be a specific but you know we we have a, we have a loose idea of a couple options a couple of directions we might go this year but.

[59:49] Just got me thinking like I've never spoken at a conference before I have I've participated on panels at a conference that's where I got the cool skateboard behind me the Linux is not a crime skateboard was because I participated on a a panel at a conference and that is a cool gift but, out of our price range if if you have gift ideas hit us up in Discord there's several of us in there who are organizing the conference and yeah no yeah no idea is to uh wait what's what's what's being said here speaker gift ideas they might be dumb I was about to say no ideas too dumb but, yeah yeah the but their ideas yeah we're just it's just like 1 of those things like you want it to be special like you want it something.

The kind of thing like you know it's really cool that I have this but I wouldn't have gotten it for myself but I I like the fact that I have it and that for me personally I want to make sure that it has a reference to the conference that's you know that's kind of cool but yeah let us know let us know what you guys you know.

[1:01:00] You don't don't feel like Corey and Discord don't feel obligated to talk about like a speaker gift you might have gotten or anything like that.

May drink coffee from on a regular basis don't it wasn't you know might have been awesome speaker gift but you know it's fine yeah flowers really flowers.

That's so cow kid really flowers.

[1:01:24] Come on speaker gifts oh here we go bag of Voodoo Donuts really so like you got you got like food.

I mean I guess I guess Portland Voodoo Donuts I mean it makes a lot of sense but like that's like short-lived right marshmallows with c.

Do it again you really like the food gifts don't you a deck of cards with illustrations of all the speakers I know that 1.

And that was a very cool 1 I actually I actually came across my deck of cards recently.

Yeah food is good really then you don't have to take it home oh yeah that's the other thing when when we're talking about don't say like a car or anything like that don't don't there is a budget to this I was going to say a million dollars but but also travel as well right these speakers have to be able to pack it up and.

[1:02:19] They are memorable all right so let yeah I don't know I think we're already feeding them dinner Monday night and then lunch Tuesday Wednesday Thursday they don't need more food.

That's how I feel about it yeah.

The Debate: Gift Cards vs Tangible Speaker Gifts

[1:02:33] I I thought I like like like what a gift card makes sense like do speakers with speakers rather have a gift card where they can just buy their own thing that seems like very interesting.

Personal and then you realize how cheap you were well that you know you don't have the tangible thing like to remind you that you spoke at this conference yeah, oh hey where did you get that I don't know where did you get that Yeti cup let's just say Yeti cup let's use Yeti cup as the example has a logo on it with a year, that's it you just turn it around like this this year this logo it says speaker on it because I was a speaker that's right.

[1:03:16] If you're a speaker last year that's what you got from us it was a Yeti cup that said that had the logo of the conference the year and said speaker so, gift cards to deep dish pizza place so here's the problem with that then everybody would leave the conference and go to a deep dish pizza place.

Hello Corey you're supposed to be on our team let's go anyway.

Yeah last year last year I didn't do it I didn't do I didn't do a deep dish pizza I didn't do the the big.

[1:03:47] Hot dog joint that everybody went to I forget what what it's called now.

And make it I'm gonna make an effort to do that this year I did do a lot though I went on that if you haven't been to Chicago.

You really do want to go to Tech because there's a lot of and and you either want to come early or maybe stay late because seriously so many cool things to do in Chicago like we did the we did the river cruise where they did the architectural tour.

You're like just going through the Little River it's hard to explain here in the States because it's so unusual to see this Riverway that's going through the city it's not common here in the US it's you know it's common like probably in the UK or EU or wherever you are EU because I'm thinking the Amsterdam but, it was the coolest thing you just go through we did a bunch of tours of the current wife and I did a bunch of touristy things last year that I'm kind of looking forward to maybe hopefully going to catch Cubs game trying to get to 1 before the conference because the reality of it is like once the conference starts I'm I'm locked in I'm.

[1:04:57] Either I don't have time to do something or I'm just too I'm too exhausted I don't particularly want to go do anything at that point you all right yes worst con is a thing it was just pointed out.

[1:05:12] Started I want to say back in 2012 where a group of people went and stood in a line at a hot dog joint.

Then they started getting hot dog hats and wearing them to as they went out so.

Play a thing it's kind of a kind of a tradition for a PSP conferences at least here in the US I I don't I assume everywhere but there's usually some sort of representation of worse Khan.

The Chris tankersley will is speaking so he will be there and he is a a worse con leader.

[1:05:51] Free in Discord where was the worst comment do you remember where you guys oh I think Corey would too Corey didn't you got a worse gun.

Sure Corey went I I forget where they went but it was like a it was like 1 of the popular joints in Chicago, did I just lie I said Chris tinkerly was speaking and I don't think he is I I think you lied I wasn't gonna I I did lie I'm like as soon as I said I'm like I think I'm wrong it was what did did you just like let some surprise slipping you had even told me sorry Chris Chris is not speaking just typically he was the keynote speaker at work Corey where did you guys go though do you remember what was called.

[1:06:33] I think it starts with a P or something I forget it's a it's a famous portal parties Portillos is the Portillos I think is might have been where they went but it's not always it's not always sausages you know that's kind of like where.

The idea began we went to Longhorn once and they just kind of did a worse Khan I forgot where we went.

Excitement for upcoming event near the host's location

[1:07:04] Tell 5 minutes from the oh we have 1 okay yeah and yeah I guess that's that's a chain here in the US now I just found out I have 1 up the road for me, oh really yep all right that's it hope to see people at Tech we're not going to have another podcast until after Tech, that's a lie, I just feel like it's happening too every time we have a every time we do a podcast I'm just reminded how much closer we're getting to Tech it's happening quick.

Okay get your tickets thank you for listening, thank you for listening that's it episode 370 in the can don't do anything yet I gotta kill this up just, that you would have done this but you know you I was I I started but you you beat me to it I'm Eric well John.

[1:07:57] Exactly.