This week on the podcast, Eric, John, and Thomas get together and talk about the new Match Expression coming in PHP 8, the latest developer survey results, serverless PHP and much more. - https://wiki.php.net/rfc/match_expression_v2 - PHP Insights - https://themesberg.com/blog/design/bootstrap-5-release-date-and-whats-new - This space is not Blank - Stack Overflow Developer Survey 2020 - https://www.jetbrains.com/lp/devecosystem-2020/ - Cyph + PGP — Cyph - Introducing the new Serverless LAMP stack | Amazon Web Services
This week on the podcast, Eric, John, and Thomas get together and talk about the new Match Expression coming in PHP 8, the latest developer survey results, serverless PHP and much more.
[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 three passionate 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 Jon Congdon and Tom right out.
[0:48] Didn't you come straight up so confused hello be confusing me all night already why are we doing low-energy podcasting today,
I scream in the mic so I've been trying to chill you know been trying I like I like it it's change of pace tonight on tonight on speaking with
podcasters we've got our listening to PHP ugly after Dark,
make you bozos happy man you should know by now stop can't stop trying you guys just.
First mile every blast everybody doing man I'm tired.
Looks are you guys able to see obs.
Yes I put all this cool stuff on OBS and I can't even use it now because you guys are a little girls complete you watching let me get the music it on watch it's music going.
[1:44] Look check it out yeah but yeah you say Keesha saying he can't hear you.
[1:51] You're so quiet you're so quiet I got everyone saying that.
[1:57] You should know you should know better than try currently the music is blasting eardrums well now it's not now I'm actually is decent.
[2:07] I mean it's still not good music but there is me zero sense to me I don't know what to do with you.
[2:15] We're a talking podcast I don't understand the music in the background.
It's a pleasantry it's a pleasure yeah well it's supposed to be it's supposed to be a bed in a supposed to be very low
it's like going that extra mile that's everything you can't hear me let me I'm gonna try to do this for you guys but I'm just saying if I if I may,
printers here then I'm blowing out you could see Within,
OBS your volumes are low like as you talk you don't get anywhere near up to the yellow and red like Thomas and I do mmm,
all right that's valid I'll give you that let me see if I can fix that here is that even better that looks like that's better that's way better all right.
Yeah that's better there you go hey I did turn Skype down to her because I thought Skype was too high.
Let me turn Skype up again well menu after I got to turn over yes back down I'm not sure that's how that works why we delicate art so funny right,
we're going with that actually later but let me know cording way shatters David few awesome so I am so sore right now because I took the kids,
bike riding the other day and I was flying past my four-year-old or about to be four-year-old next week.
He decides he's just going to turn right and clip my back tire set me you out.
[3:38] Took me out ice flying past him and I see him starting to Swerve over.
But I'm in front of him he should see me but he kept coming over and I get closer and closer to the curb and I'm like no no no and hindsight I'm like why don't I just like pop the wheel up and land on the curb,
but no the tire hits the side of the curb.
I fall off bust my elbow my knee landed on my keys on my hip so I had this knot in the side of my leg where it was so painful to walk.
And somehow because he fell off his bike to a jump right up and went back to him and yeah he he had no scratches on him he was fine
bastard yeah kids that age they're like they're like drunk drivers they'll cause an accident but they won't get injured in it I was happy that he didn't get that
obviously but that's you know it's been a couple days now there's no denying that the children are cute but boy are they dumb.
[4:38] It just it's something that as a parent you have to accept well I accept the fact that a lot of parents are dumb to so oh yeah no doubt question that is true.
That is true alright so I've comedy railing Thomas what's nude I have just what you're dealing with it all day.
We're in the process of converting over to webpack and so I'm taking my my gulp file and going piece by piece through it and.
web packing things where they should be eaten copying and etc etc it's 1700 lines your go file 1700 lines yeah what in the world will be doing in there
Yeah it's not great might be so refactor some of that
well yeah so that's that's the next step as I've got everything moved over to webpack so that it at least works but you know naturally that required like getting the latest of everything installed because
laravel upgrades when you follow that process doesn't upgrade stuff like webpack on its own you have to sort of manually do some of these base components and.
Speaking of which were on 719 today so.
[5:59] Got the whole so it's alright laravel laravel 719 for yeah anybody tuning in and might not know what we're talking about so.
I get the whole thing done and I have to switch over to another
important ticket fact that doesn't have webpack isn't fully updated and it's like well hey you gotta run gulp because I've got this thing now gulp just doesn't want to run its throwing no Terrors on there
on your on your local machine yeah cuz I had to roll back.
[6:29] It's a rolling back in node is just like the worst no it's an RMF RMF are node modules and rail stock you're good to go
that was not it so my cash was owned by root had to get that fixed I had a Miss configuration in know just like that's what I call my wife too by the way
so the whole thing was a giant mess I mean I probably spent four hours just getting gulp to run again and and now it actually does think I think you put your effort of the wrong direction there.
It was adding functionality to.
[7:26] Existing site and trying to do it where instead of going into this.
which I've never done before I was like oh wow this is actually working so yeah,
that's my world though has electron going for you who's that question to you're the one using like super hyped about is it a little is electron the one the
[8:18] Still Still Still pick that I tell you after I after I got my head around blade components my.
Spa feel of clicking the button and something happening without the page refreshing and I just haven't gotten there yet I just don't have that big of a me time with what I've learned with.
Blade components I'm definitely feeling more comfortable with Livewire because
for me Livewire was kind of introduction to Blade components in this Livewire piece and I was I was taking a lot of taking a lot of information there but now that I really have my head around
the component the blade component piece I need to revisit lightwire I you know I actually need to do some updating to.
[9:23] SD php's websites maybe I'll you know looked at Livewire and component there just just to have some experience under my belt but yeah man live wire that's my that's that's,
that's that's my lifeline for the next,
Opening up an application that we've been working internally for like you know a select invite beta only sort of thing and.
[9:59] Of course that's all like view view stuff that we developed it under but yeah
I'm no I got no worries man I'm happy with live why I'm going to give it I need to get it somewhere done in production so I can get you jerks off my back about it but.
I'll get it don't don't call me a jerk I haven't said anything bad about him call you jerk all the time jerk well ah I am a jerk but not about this yeah.
Hey have we talked about the rc4 match Expressions version 2 oh we haven't yet I know I've had it on my my list I'm I'm excited about this I don't know if it's passed or not.
[10:44] It has a past it will be an eight oh yeah look at that it passed overwhelmingly 43 to chat wow see that at the very bottom of that.
Page bottom oh yeah oh yeah wow yeah I at first I didn't quite understand that the but the more I look at it the more I'm excited about because.
[11:04] I'm guilty of using switches not as much lately as I used to be but I've still have plenty of them around.
And I hate that structure is that what they say what they show here when you have a switch case statement often times you were doing just one thing within the switch.
So you're almost using it like an if else if else if else if else hmm and within a switch you have your break statement.
[11:32] And just the whole structure just looks funky to me we're with the new match expression syntax your it's very similar to a switch but.
You don't have to specifically return you don't have to break it matches just one thing within that.
Block of code and as soon as it hits a match it bails out but just like you have with multiple case,
matches within a switch,
you can also have multiple matches that you know you match one of these five items and then you run something and whatever returns gets returned as the expression,
that's interesting because that does look a ton cleaner and I was at one point a heavy user of the switch I don't seem to go to it as frequently anymore.
And I haven't read this some kind of as you can see.
Kind of cruising through it right now but there is a kind of a use case for the switch where.
[12:36] So the brakes not required if you don't have the break if falls through.
So you can have it do something in a situation and then fall through and continue to go to the next case.
That is except you're right you can but that's also horrible yes and I think that's a bad practice because right because people you don't know if that was intentional or was it a mistake did they just forget to put the break in there
and how often have you forgotten to put a brake on there and did something you didn't mean.
To write I've been guilty of that yeah I totally been guilty of doing that now in their example your they have a break on the default which is stupid because that's not necessary but,
beyond that this won't let you do that which is probably a good thing.
[13:24] That's how I'm I'm looking at it now there's a default value no you can't fall through you can't Match multiple elements oh you met you actually can attach multiple no you can't match one do something.
And do something else yes you can match multiple things in one expression and do one thing for multiple,
options but that's different,
this is very clean it just basically replaces switch with match removes the case and break and it's just boom boom boom boom and it's returning something so you don't have to say,
like in the switch that you looking at here you're assigning the statement.
On each one of these where in the match its statement equals something and then whatever is the result of that match expression is what gets returned yeah it's all right it's just wait very interesting it's nice and clean,
I'm sure someone's going to find a use case that's going to make it ugly and horrible,
if statement inside there something yeah well strangest Mysteries.
[14:35] No but this works this looks good match expression version to nice.
[14:42] Good yeah all right I finally take that one off the board it's been on there forever so in the show notes for anybody listening to the podcast.
[14:53] I am I throw stupid things into the show notes that make absolutely no sense that I doubt you ever put in there.
More of a reminder for me to tell stories they always put them in there I think cleaning out the garage lately.
And through it just a ton of stuff up on Craigslist and I never just share my phone number because that's just stupid right yes what yeah I was but I was out in the garage and I did a bunch of stuff then I realize I'm checking my.
Email constantly to have anybody responding so then I put a couple more things on I'm like let me just.
Show my phone number that way people can text me and I'll you know shortcut that yeah bad idea.
Somebody's somebody's interested in something I'm like yeah it's still available,
I'm going to send you a code from Google verify just to make sure you're a real human I said there's other ways to do that like ask me more about the product but whatever sure it was a Google Voice verification he was trying to steal my phone number from me.
Impressive what if I had given him the code he could have imported the number to his phone and then.
[16:02] Who knows what by the time I figured it out stop it how'd you figure it out well as soon as well he said he was going to send me a 6 digit number.
And he wasn't making sense and wasn't speaking clear English anyway and then when I saw it was a Google it's at Google,
voice verification do not share those with anybody it like so sorry I responded don't like people really fall for this you're an evil person.
No I've been scammed before I just want to make sure you're a real person I'm like leave me alone no I've been burned before I just want to make I said stop they just ended it leave me alone I I had an interesting one on like Wednesday.
[16:42] The I sit idly in the lair chat slack like hmm I do not participate or whatever but some guy out of nowhere just send me a message hi I'm like hey he's like I'm looking for people for my team.
[16:57] Okay tell me about it and he goes into this spiel about this website called up work mmm it's like have you ever heard of this thing it's amazing and I'm like yeah I know of it,
[17:09] So listen you work for me I can get all of these contracts on up work and you do the management and then you get 20 or 30 percent on it
and I'm like I don't understand how you think this is a an enticing offer he's like like well they I can't take the jobs because I'm not a US citizen so you have to be a US citizen and you manage the front
thing you take all the contracts and then just send me the work and I do a work and then send it back out and I'm like yeah I'm not interested he's like oh come on like he starts really pushing on it I'm like,
really I'm not interested at all this sounds like a horrendously terrible idea that you thought up while drunk
or it's brilliant and you just don't see the vision I absolutely don't see the vision
that's for sure you get 20% to deal with the client that has not worth it yeah that isn't even remotely worth it can't even
give me that username Thomas I can probably have that person big and I have I have pullover Lurch other chat
slack Stillman to slack it to me Allah I'll follow up on it and she Roman just room and I don't I don't care
it was amusing yeah my my Avenues of camera communication have gotten out of hand and.
[18:33] I'm kind of I kind of did to myself because I'm so horrible with email and I don't look at email.
[18:40] But I'm a part of so many slack channels Discord I mean,
so many different things out there telegram I got people in telegram I never I never know how somebody's going to try to get in touch with me and I think you know you have a move back to signal yet and I've been wondering where you're at.
I'm on Signal I know the universe you ever seem to be there.
That's not my Avenue of communication with my wife ignore this you fully switched over,
how do you like it I like it I mean it's just another chat,
application yeah it moves it moves me further away from Google fuck them yeah that's that's what I've been thinking about plus after our conversation last month about security it's like
you have that end-to-end encryption is a nice city I mean I think you get the same thing with telegram but signal was just more approachable,
I got my wife on to it very easily she really only used Hangouts to talk to me.
[19:44] And she was she was happy that the notification sound was different for Signal like she heard it more clearly than she did with the Hangouts notification.
So that alone was enough to get her to switch you know you can change those sounds.
Come on an iPhone iPhones a pain in the ass oh yeah I don't think you can change it /
Per-user thinking only change it for like hang out so she has multiple people get her through hang out.
It will be the sound forever no she doesn't Hangouts was just with me but you really I don't even think you can change it I looked into it for and it wasn't straight forward at all.
[20:23] Mmm that's because it's user-friendly you push it further and further away from Google huh,
well yes and no to a point I mean they still piss me off I bought into YouTube TV when it was $35 a month I just got an email this week that they're bumping it up to what was it 70.
But it's like it's like yeah we're giving you more channels I'm like I don't care about these channels you giving me shit I don't care about our body to you when you were cheap and,
I've dealt with these price increases,
and you just keep doing it with where does this stop where we're at in the thing about it is in the argument could be made because it was supposed to be one of these solutions for cable cutting right
but the issue is with the way people the way people get charged for internet access now
and their tears you actually end up having to pay for something like YouTube TV or Hulu twice because if you have limits on your bandwidth then,
yo the more you use Hulu YouTube TV Netflix whatever it is the more you use that.
[21:30] The more bandwidth you're taking up and you're having to pay for that bandwidth it's crazy okay but have you guys watched Hamilton yet no data what my wife and I keep wanting to and we just we haven't found the time I can't watch it without her and vice versa.
So we just haven't had the time yet yeah it's so good I don't know if I told you Thomas but I actually well not me my wife and I,
purchased season tickets to the San Diego opera house was the opera house yes Sylvia the Opera House.
I promise San Diego.
[22:07] Cynical Symphony now simply and he was a No-No wasn't something that's just for tonight Horton Plaza that stop talking we purchased them a season ticket,
to all the shows at the San Diego your theater opera house whatever it is Civic Theater the Civic Theater.
Yeah and we purchased the whole season just so that they can go see Hamilton because Hamilton was coming that year and it turned out to be one of the best,
play gifts we'd given them because they went and saw like every show they actually like the theater and they enjoyed lies performance e stuff is Broadway St right yeah.
So so that set my my daughters have been in the Hamilton for four years and they have all the
the alternative soundtracks you know they have like soundtracks that weren't in the Ableton but written by the same people and.
[23:00] So yeah I was happy to finally see it so you got the rotating stage and everything yeah yeah that was uh I hadn't seen it I'd heard the soundtrack maybe a hundred times,
but I hadn't seen it and that that stage is just unbelievably cool alright no spoilers it's not even seeing I'm going to very soon
we're worth the watch to this worth the while I really is yeah well I know we want to actually brought up we went on a date last night and I was like,
hey you want to do dinner and a movie like I downloaded it to an iPad I was going to bring it to the beach and watch it.
[23:38] It's just gross she wasn't it what's not very conducive to Bruce I don't get it it's all lovey-dovey and gross yeah that's fine.
[23:48] But she said no because it would have been too awkward it would have been hard to hear.
With the waves and all I supposed to like split one pair of headphones is that it and talk about graduating soon,
it's it's fun A lot of people are complaining about it because it's a little more anti-slavery than real life was but oh really yeah he might good.
He was Hamilton was not a slave owner personally but like facilitated the purchase of slaves for some of his family members and like yeah
didn't have as much to say in reality as he does in the show about selling being bad but yeah I actually learned just tonight and I want to do more research I haven't fully vetted this I did very minimal
I did go outside of the article I was reading but Lincoln didn't fight.
Fighting the Civil War to free slaves.
[24:51] He actually there was communication six months prior to him signing the Emancipation Proclamation where he said if I could.
If I could win this war and not free or slave I would if I could win this war and free every slave I would if I could win this war and free some slaves but not all of them I would,
his whole thing was just keeping the union together and I was shocked by that I mean his thing was keeping the union together but also at that point.
It was the bloodiest war in history I he just wanted it to end.
Yeah exactly I think it was just at some point uses until recently the most Americans dead in the year.
Yeah I dropped.
Not getting into politics but it was just it was fascinating to me because my.
[25:44] It's you have assumptions or you think you know about history and certain things and then you learn something might be a little different than you thought it's just it was an interesting to me that's it I'm not saying it's true or not.
I'm not saying it's not true it's just.
There's a lot of shit that goes on and when you're when you go that far back in history you're going over it with a pretty Broad.
It's you're getting kind of ago this was exceptionally this is what we're trying to do these are the people who supported these are people who didn't support it and this is the tragedy that occurred because of it.
We're not going into every soldiers background detailed on how well do they really care about slaves today,
it's like oh my I mean we can overanalyze this stuff until the until the cows come home and I'm not trying to say that,
we don't need a hold people accountable for their true selves I'm just saying that.
There's a lot of layers to a person's life and.
And you know it's a lot about intention and what were their intentions in life where they they could have been bad people who have been you know Spencer life trying to do trying to do something good or make something good it's just.
[27:05] It's so difficult in.
What kind of I don't need an that right yeah I just look it'll just look at John Wayne Gacy he was a clown yeah yeah exactly he was all right it could have been remembered for being a great clown.
[27:21] No he couldn't have because what he did was
so much worse than what the fact he's trying to use that up to back me in some sort of corner Thomas I don't particularly appreciate it but I'm hosting this tailspin I'm Chuck Eric have a question for you you got it.
You had a tweet yesterday I looks like we showed a speaking of accountability you showed a GitHub bar,
okay commit graph and I was curious curious what you meant by that what were you highlighting with that graph we took we took on a new client that doesn't use
the general public GitHub they actually have their own GitHub.
[28:04] Instance so all the work I'm doing for that that client doesn't post to my public page.
So if you look at my Minecraft I have it so you okay link that your graph is not the graph of the project yeah you think that's I thought you said I thought you said we took on a new client then.
[28:23] The the code tank there's no commits to the project I forgot GitHub as your personal
history yeah yeah that's what I was trying to that's what I was trying to point out so yeah have a the whole month of June I mean I have a couple of commits on,
projects we have internally like said this project we're getting ready to release but but for the most part my work has been for this new client who doesn't,
doesn't have that the general public GitHub so I just thought it was funny when I look and I actually don't look at this I don't particularly care about it but I just had just happened to come up and I looked at him like.
Huh that's weird why is that empty like that and I remembered oh yeah that's right they don't have a.
[29:09] You don't have get up do they yeah so so Michael Dorinda was asking about forking to your own account and I thought he meant something completely different but,
for that you you're not within GitHub so you can't.
Really for cats here on account your with it I mean step you're within a separate GitHub ecosystem yeah now technically our GitHub shows activity on private repositories but doesn't show the repository right right.
So I could have fleshed out profile see my I'm on get vault so I don't get.
Any credit for any of the work that I do on my public GitHub whatsoever right what know you you get it on your public get up you don't get any more private,
repos for get vault well I don't do anything in my public GitHub
I've got which is why you have to watch this fight have no activity out there yeah yeah yeah yeah but yeah you're absolutely right yeah and somebody had mentioned in I've even talked to some people about it in the past.
Writing a service that pulled in from bitbucket Yo GitHub Enterprise and GitHub and put all your sister,
that's your thing and that's what it boiled down to its like I don't think enough I don't put enough behind those.
Does graphs to want to promote like fact that they should be more,
complete but some people do though yeah I suppose yeah I don't know,
now I think it's all from yours you work too fucking much,
stop take time off you like seven days a week in there the hell no time to take off buddy
now I was hoping you were going to talk about my other my other tweet that I sent out about the I was gonna bring that one I'm next yeah and I can't even get it in OBS I'm sorry for people watching the stream but I'm reading the latest
version of the latest version the latest edition of PHP architect magazine and I get to the final page.
Delete the whole right side of the page for this Texas says this piece is not blank and but and I seem confused.
This is like what I don't know you talking about because he doesn't he doesn't edit the magazine.
[31:29] Well it was so funny is like I have OCD or something because I like saw that and I couldn't stop looking at like I'm trying to read Eli his article on Mike
okay the society assumes what does this mean exactly this space is not happy you can always find it but the it must mean something right because you wouldn't have put it there if it didn't mean maybe it's in the article
why is it there.
Did you figure it out John do you know why it's there I'm assuming Oscars going to tell us when we record with them it's going to be I could feel that page so I just put that there thinking it would be fun.
I was kind of the whole this is not a pipe thing instead of saying the spit said of saying.
[32:13] This space is blank or left blank intentionally it was like it's not like there's something here look I put something here.
[32:22] Oh man it still bugs me I mean it's still bugging me I have like this like it's in the back of my brain is like why is that there stop trolling me stop it.
[32:33] I love that it's going to be so so easy when he's got dementia to just screw with him.
[32:41] When I get dementia I feel like a goddess today.
[32:46] What else do we have no ma'am you guys use bootstrap.
[32:52] Yes I am a telling guy this trap is discontinuing jQuery support really so sweet.
But that's I mean it's shocking is that there's so much stuff built on that don't they I you know I think it's mostly selectors and then.
The plug-in stuff but the thing is is when you use jQuery plugins your so pigeon-holed into their format.
[33:19] For finding into jQuery and.
It's a it's a horrible syntax I hate using it and there's plenty of other good stuff out there right now mmm.
Yeah I don't I don't do bootstrapping anymore they're just repeating I don't do it anymore we do have projects that are still on bootstrap so they're just removing their dependency on jQuery,
right there they're finding ways to where they can do their work without jQuery so that right the pride is going vanilla.
It says this shouldn't be a surprise as jQuery has been losing ground in time went in times when Frameworks such as react JS vue.js and angularjs.
Are being used increasingly in mouth,
right and what I think the biggest problem is people that are using these other Frameworks that don't want to use jQuery
have to put jQuery on their page just to use bootstrap now they want me to.
[34:29] That's my assumption I don't know I don't be shy do his little front end as I possibly can I'd love to but I kind of somehow keeps slipping into it.
Although I did you're all about the view JS couple weeks ago that's not front end that's still programming CSS is friend.
Okay I mean I'm not going to disagree with you but I would well.
Anything you can share want to share heard back they were on the fence about the code that I had given them,
and I asked specifically what and they said,
do you have a site where it's deployed I said yeah yeah I'll send it to you it's in the readme and I said it earlier but I'll send it to you so.
I sent that over to him so I don't know if they didn't get it running or what that was.
I'm still waiting anxiously I saw that they I think they messed around with it at some point today.
[35:42] But you know the application process is always annoying and stressful yes.
[35:49] It's if you probably were wondering why you're using gold.
I wasn't for this I was using webpack and all that stuff it's all the latest tech it's it was well okay I say it's all the latest it was all the latest to Wednesday it's running on laravel 718 be.
[36:09] By the way not semantic versioning what's a really tasty last week it was 718 be.
Yes what why is it be I believe there was a because is beta duh no no this was following a there was a bug.
[36:30] See if I can look for tags for it yeah I'm looking for it now.
Let's see what we got I don't see I must be looking the wrong tagged you said those are releases I'm not seeing,
I'm sorry 717 one and 717 to okay well that's something I think version point one point two.
Yeah zero one and two all three in the same week yeah let's see so you were about to have us rail against.
[37:05] They're about semantic versioning for nothing,
oh my goodness Tom it's now it's now 18 instead of 17.3 because it's next week so you're not supposed to account for time in your semantic versioning right just feature set
whatever society says their John's busy talking about how much he loves daus and Discord so he doesn't he's not following.
[37:31] This whole show seems a little flat I think we should just scrap this one in a hundred and ninety-eight shows we have not lost a show yet yes we have
this point of that and we've had some crappy show know we lost a show Once.
[37:48] Remember we lost a show oh yeah recordings all failed I was missing I think I was missing John or you we did we didn't release our because to deeply worst worst case scenario we pull from YouTube that was before the.
[38:03] YouTube stuff this is like insane I don't I don't remember that at all yeah it's crazy,
you got you want to talk about developer surveys for a minute I want to talk development PHP and that sort of stuff so yeah let's talk survey baby,
so I'm gonna give a couple weeks ago the stack Overflow survey came out and then the jetbrains developer survey came out and I am thoroughly convinced that none of these matter okay,
okay I'm going to share with with the live viewers I'm on I'm on I think this is stack yeah this is stack overflow.
[38:40] What do we got here I don't think I've looked at stack Overflow is I looked at jetbrains results is there anything here that would interest me
I'm not seeing anything develop a profile pure graphic developer role so horrible so horrible layout I'm gonna feel well so apparently all of our developers in the US just like right in the middle of the country
another that's weird that's I think that's you Thomas your call me fat epicenter I'm just saying here Leah for sinner
development world so the first thing that stands out about this stuff is that like fifty percent of the respondents are in India
and so when you jump down to the salary portion the information they provide is irrelevant to
anything you're looking for is whether or not you're in America or in India the averaging out of the salaries is irrelevant to where you are.
There was a red injured their little crafts don't fire until you to get it fully down there,
yeah there was a Reddit thread that ask people just outright how much do you make and read it being International was a
wild response because you had a guy in New York who was making 250 writing PHP and then you had a guy in New Delhi who was making fifty dollars a week writing PHP and like the disparity between the two was so striking.
[40:03] You know people living in in Sweden vs. Russia I mean where you live has such a huge impact on how much money you make and then they've got stack Overflow I think has this technology,
know what some some companies does it's interesting that they have that they have straight,
straight heterosexual I mean what am I missing their why is that two things.
Is there a street that's not heterosexual so weird what even disability status,
okay whatever so it was an interesting this one most popular technology yeah okay I was found technology here.
Who develops in just about any language uses those any any web based language
I have to say I'm pretty surprised by that - all right well what what do you use node for raw PHP I've got npm stuff that I have to run.
I'm just saying here you have options yeah sure if you really want to be it but like I said less so.
[42:20] But then you get into like assembly is still in your hose assembly on there and 6.2 percent of people are using assembly so immediately none of this makes any sense I completely write it off.
It's got to be at least 55 percent.
People are writing in assembly then are writing in Swift which is the Apple native language okay so here's jetbrains let's see how it tracks.
Tracks with the stack so it jumps good people python Java Java and python Java shell script via this all tracks.
There's simply on here yep assembly for them we've confirmed it by multi for multiple sources
everybody should start learning assembly again well yeah again for four percent of people use assembly for percent of people use groovy which I don't know what that is oh groovy was that was the big
what was what was the purpose of groovy.
I remember groovy to I I want to see it was it was big and like the novel.
Circles Novo if you remember no Val I was hanging out with Novell people back then I think that's where our enemy was IBM I forget.
Yeah groovy was supposed to be the big Java replacement never.
Really became anything so here's weirdness number to jetbrains what operating system are you developing on interesting I'm scrolling through see if I can find it.
What operating system of people developing six sixty percent Windows 60% Windows really $50 Linux obviously not really,
yeah I mean even these numbers don't really like an abrasive 6050 I mean that's well I have an a Windows machine and a Linux machine but I don't develop on the Windows machine I just it's part of my development environment.
[44:23] But 60% Windows that's.
[44:27] Not true I know that's not true Linux outpaces Mac OS I know that's not true that's surprising I tell you though again.
John referenced talking to Eric me and about signal he Eric man was also talking to us about that system76 and how happy he is with Linux geese you and our Discord.
Tweeted at me how happy I think was you was it you that tweeted at me how happy you were with your system76 somebody tweeted at me.
About how happy they were with Linux and system76 has Papa us well we've been talking about that that's great and all but system76
not one of the top 10 computer manufacturers in the world
Pick the one that you would say you right in ah like if you're on a desert island and you had but if someone says what do you program in.
[45:34] You would say X.
I have used Swift 5 years ago I have to use Ruby for some stupid stuff like I could check.
Ten of these boxes and they let me so like it's not of it's not a valid survey and then I like this this graph right here that we're looking at what type what types of software do you develop in the kind of break it down by like
industry but they have categories they break this down this seems,
a little bit more like reasonable to consume here yes where it says 81 percent of people who write websites or do it in PHP are you that these PHP,
it is your database or data storage you're going to do it in PHP what.
And it will 40 times no ask Jesus see that's my sis that's my point this is people not knowing what these questions are and just checking multiple so if you're doing blockchain.
Three percent of you are using PHP where thirteen percent of you are using C++ so.
[46:54] Yeah I know this seems legit I'm good with this no no 4% of using C++ oh yeah.
Augmented reality is done in C sharp I mean it's just there's only so much data you can collect before what you've created is a word cloud that has no relevance to what the question was yeah I agree,
get up man why'd you bring it up that's the question because I'm done with these surveys we've covered them every year for four years now and I'm so done with him.
Something to me me too I want to hear about Sith and pgp,
I move this along I'm done with them II agree it's mine I know I want to hear about it I don't know much about I was going to ask if you guys if you heard about so this this came up.
This came out because key base Zoom actually purchased key Bates.
[47:47] And keep Pace was yeah they're supposed to be this whole making pgp and and I didn't I identification verification,
more easier to do in you know something that you could you could depend depend on so if you never use your though,
I did I did the whole used it to when it first came out but never did anything with it so I'm wondering
what people actually use key base for outside of I know they had their own little chat,
application but that seemed pointless as well and well in the the thing that they had that was interesting that again I didn't really use as the ability to share files so you could create little.
Folders on your on your computer where you can share for you know you and I could have,
directory John in Thomas and I could ever directory and then we could have another directory for PHP ugly which I'm going to be kind of do anyways through.
We tried but we had tried doing that though and it didn't work out the drop box,
no the key base thing I just well and keep a stop running on my system I still to this day don't know why it was going to say the one thing the key base does on my system is it's the first application to crash when I reboot
really I don't think I've ever had any issues with it it just ever runs just sits there and always runs for me and it's.
[49:12] I never do anything with it there's this cool stuff you can do with key base so you can have you can manage different SSH Keys through it and like it acts as a pretty good store
for secure stuff if you're not using.
Your browser plug-in is a store like I use LastPass as a store for Stuff hmm granted LastPass is probably going to get hacked before key base
so to John's point this safe this safe.
Product is supposed to their kind of like the first to Market to kind of be a replacement key base I haven't used them I don't.
Really know what their thing is but it does the thing about this is all thing Bianchi base it was community-driven and.
[50:04] There's always a certain it was open source was community-driven there said you know a good feeling about this.
[50:11] I don't think his community get driven I mean it has a GitHub link here so maybe there is maybe it is open source.
Yeah I mean there are open source repos here for it I don't know anything about this it does have a pricing structure behind it.
There's a free tier and then there's there's other tiers where you get.
It looks like you get groups and secure notes and sort of things I don't know I mean.
Again I'm not super Eric you need another chat application I'm not super interested in getting another yet another chat app on my sister ate for $18 a month I think you need it.
Yeah I don't know man.
I'm kind of I'm kind of chatted out everybody everybody who wants to get in touch with me they know how to get in touch with me I try to be responsive to that's that's the other things like when somebody hits me in Discord or,
their Twitter or something or even like one of the slack channels I usually try to at least respond let them know.
Oh yeah I got your message it something I said I don't free the free tier has a waitlist oh does it and a to device limit,
with limited invites.
Well that wasn't much of a story I'm sorry for derailing you can go back to your stackoverflow survey now no it's fine now we moved on.
[51:34] Okay then tell me about PHP insights.
You can you guys balls I might hit you remember what that what was that you've got all this kites you've got all these cool stories I want to know more about and then you,
that's room on my board say I have to read this before the shows and I forget what it is of this is just have you guys read,
have you guys read about AWS is new serverless lamp stack.
[52:02] No no so they are officially I we've talked about this in the past and there's unofficial ways of getting stuff to run they've officially announced their serverless lamp stack.
[52:14] Really so I did have an offer in the show notes I'll do it right now as a matter of fact I did have a card on Trello let me share with people watching.
Well I think that's that's just what you put in there Thomas is the same thing is it the same thing I just saw the image pop up and reducing the oh it's the same image at least oh so you're Lyin to the examples I'm looking at the blog.
[52:42] Entry that they gave here so wait a second I didn't realize.
The service lamp stack community resource I didn't realize this was actually an AWS.
Thing I think it's just I just thought this was a collection of,
tutorials and stuff on how to get PHP running on AWS Lambda using this is something more official we're is you're like yeah actually it's the one it's the same one I just posted in.
Trello we both freaking everybody's posting this now yay I can post everybody seen the magic.
Introducing the new Surface lamp stack oh interesting I didn't realize this was a this was a blessed AWS effort.
[53:30] So this is interesting because again this what was the what is the layer of a product that does this for you episode chat what's the level product it's not.
Forge that on voir I like how they switch they switched apache2 paper Gateway paper what's up Chum.
I like how this is Switched apache2 API Gateway Linux 2 Lambda well they have to do that because of course getting better getting hit with some super bad news lawsuits.
What do you mean what's going on the open-source creators specifically I think mongodb really is going after Amazon.
[54:14] For taking the source code modifying it and reselling it without Distributing the source code changes that they've made and commercially profiting off of the redistribution of,
the open source code AWS is claiming We Run The open source code for you.
And right now they don't distribute it they're not giving it away right and what what a lot of these open source projects are saying is when you spin up an instance for somebody.
And install our software on it for them you're Distributing it you're Distributing it so your store selling our software and making massive profits off
well I don't think that was the point John was making this lamp stack I don't think the reason they did that was to circumvent
what you're saying Thomas oh no this is yeah Lambda is is there serverless architecture so yeah but that the reason that there,
sort of creating more ambiguous names for things is to abstract away that,
it's at its core they're Distributing open source software so this is very exciting this is very exciting
I mean because if you think about this this is it this is this is PHP getting over that hump of serverless.
There's there's been some I in there was the.
[55:37] There was a what was the framework not that through Jesus,
what is the framework that was based on the PHP server list I forget and then Vapor came out mom Discord where you at what's the PHP framework or serverless do our work for us I know you talking about,
what the lightweight layer of all one breath Lumen prayer yes yes.
Yeah so there was there was breath which was you know kind of starting to do those workarounds then Taylor well came out with Vapor so if you're in the lair of oh ecosystem he kind of handled all that for you.
But this is really kind of getting over all those dependencies and saying you know AWS kind of coming to the community and saying hey.
[56:25] You really want to run PHP on the serverless architecture here will help you with that go for it stupid
we're going to charge you twice as much but we'll make it work for you that's the problem right that API Gateway I that was my problem with vapors I used it I think I used API key way.
And that thing was just the cost that was out of this world out of this world that and of course.
They want you to use when they say my sequel they want you to use their RDS service.
Which is great because it's computer fully managed database server,
but it's also about four times as much as spitting up a spot instance in running your own database are your own version of my SQL so.
[57:12] Yeah this is good man I see this as I see this as a whim.
[57:17] I like the hot you know and see this as a win yeah so they're they're pushing their Amazon Aurora service which yeah that's a brilliant name instantly clarifies what it is you're dealing with.
[57:31] It doesn't confuse confuse you with Microsoft's cloud service at all not at all.
Oh man I'm just I don't like I did Ops I did I not tell the story about my my Ops nightmare last Friday.
That's not it is it happened on Friday what happened so
I pushed out a new feature that depended on a pivot table that used two or three other tables and had data in the pivot and it worked great on my development system and we pushed it out to production
and our CPUs spiked up to 85% on every production server 85% yeah,
and it turns out I you know my testing was like 20 records didn't compared to what I didn't know was a nine million record.
Table 9 million records yeah so the operations guy my boss is on.
A day off operations guy contacts him he contacts me so now I'm dealing with the operations guy.
And fortunately I've done enough my SQL optimization to keep up and look at the graphs and see try to figure out what's going wrong but it was a 71 second delay to view that new page see was that was that a problem.
[58:54] Slight slight problem I managed to rekey the index,
after spending my weekend mocking 9 million records locally so that I could verify my tests and we got it back down to a 430 ish millisecond response time,
with a new index wow but,
I have pictures of the server loads where it's like response times per page and you can't tell what the response times are for all the other Pages because the graph is,
all the way expanded out for one just the one page everything else is one pixel wide so yeah when you're developing a new,
thing make sure to mock an accurate number of records for your thing well I have a similar story last week had code released,
where I'm like I optimize this query we there's a advanced search feature that the queries can be horrendously built.
And not necessarily easy on the database and then I figured out so if I do.
[1:00:04] Forget what it the MySQL command is but you can count all the rows basically I was doing a count all the rows and then go back and get the subset of rows I needed sure and I'm like well if you put in this SQL count rows or whatever it is.
Prior then your second query is just hey tell me how many rows there were and it's so you're now doing that expensive query one time instead of twice.
[1:00:28] Worked perfectly in Dev put it up gave it to somebody they tested and staging worked fine put in production.
[1:00:36] Not going to work so where it would say in their contact manager and say you're looking at one through ten out of
mm contacts it was like one defy the five that's not accurate they immediately revert the pr oh yeah generating it yeah so that's why I have that's why he's doing the call twice,
using MySQL pagination and then doing a Full Count later on so as to two queries at the same time.
It turns out because they have proxy sequel in production but I don't have it in development I didn't see the issue.
[1:01:13] One query was going off to a replica database coming back and then asking the primary database hey how many rows were there
in the primaries there's always a though there are five the replication was that far out of sync or what no
it's when so proxy SQL sits between PHP and MySQL we force advanced search queries to go to a replica server so we don't impact,
the primary database,
so you would go there and that my SQL instance would do the count and should have it so when you come back and say hey what was that count.
It can tell you because the first response was your records if I wanted one to ten it gave me ten records he maketh you make a second call and say hey by the way what was that.
How many rows total in that data set the problem was that second query was going,
proxy SQL and because it wasn't a specific server for it to go to.
It was going to the primary server and the query that happened just before the advanced search was only five records.
[1:02:21] Turns out to solve that all I need to do is wrap it in a transaction you know start a transaction do my call a proxy SQL can handle that just fine.
I didn't know that in spent way too much time trying to figure out why did this break in production and I can't get it to break here and development.
[1:02:39] That's another argument for Doc Rising your everything you know what I mean yeah exactly and I really want to do that but then you also have to make sure that all of your rules,
because within proxy SQL they have rules very clearly stated if you get this type of query you're going to go to this set of servers.
So now you got to somehow maintain that in some sort of I don't know code base or.
Some sort of setup so that your local environment reacts the same way I've been looking recently into encrypting dot EnV files.
It's something that Travis CI does that I looked into last week really,
yeah so you can actually host your EnV files as long as your deployment script has the secret key you're good so when it ends up on the server though it's still unencrypted right.
[1:03:34] Right but your your GitHub can have your secret keys and stuff in it you don't have to stops you
you don't have to go to S3 or some other storage mechanism mechanism some long down some hacky storage system there's I haven't seen a good example of how to separate your private data away from your code base so that it's secure but easily Deployable,
until so we we currently do S3 so during deployment.
You copy files down from S3 including your EnV files so 58mm can you tell me with a hundred percent certainty that your S3 bucket is not
public I can tell you it's not public I can't tell you it's not secure right I would never host something secure on us three just because I've seen how many vulnerabilities there are in that so we also use we also use on voir
that's the the.
[1:04:26] Taylor was laravel deployment zero downtime deployment yeah that doesn't host that EMV but what it does do,
is allows you to edit that V&V through the envoy your interface that you need to have a decryption key to do that which I always thought was kind of interesting but,
I was never sure I guess the purpose behind that is that you can give other administrators access to the deployment
but not give them access to the dot and V by just not sharing the share.
Shared secret with yeah and that could be really useful but my problem with it
that's why I asked my problem with it is you know if you have an Ops person who has access to the server they still have access to the Dottie and e-file
your your abs person has the closest thing to physical access to your servers anyways there's nothing you can do about that,
yeah that there was a point I made to an employer back in 2001 2002 didn't trust me what whatsoever,
I didn't know that at the time they brought me in to ask me questions and I was like no seriously I have access to this stuff like,
if I wanted to redirect credit card payments I could like there was no so I was being honest with I was being honest with them but at the same time that made them even more scared I'm like yeah lesson learned.
[1:05:50] If I was hiding something I want to be honest with you about it like.
Which I don't I don't know I mean to take the books away from me I always use the disambiguation of somebody so like if they say could you go in and do this I would say there's no way somebody could go in and do that could I yes I could.
But there's no way that he likes what he likes,
the symphony secret component which all it replaces that EMV with encrypted secrets that you commit to the repo but you can only access those secrets with a chi-x very interesting
before it's closed off the screen here buttery Crumpet also said that as somebody who deals with serverless on a daily basis.
Just don't and I've learned not a question The Crumpet it.
[1:06:42] It's just a good buzz word you don't really want to actually do it
it's a great buzz word it's not a mature ecosystem issue I'm very interested about this Symphony secrets I'm going to look into this because I'm getting more and more paranoid about especially now that we have
a product we might be releasing that's going to have like straight credentials in there and I really want to make sure that they don't get impacted
um so I will be taking thanks for the link I'm going to check that out there she ate that all right gentlemen um well real quick if you want to spend a lot of extra money on hosting a website
go serverless I'll just leave it there all right Steph your goal instead of five dollars a month you can spend a hundred easy if your goal is spending a lot of extra money
sign up to our patreon patreon Daddy needs a Batman chair yeah yeah Thomas sent me a link to a a Batman chair and her company Slack
I forgot we had a couple patreons intercompany slack and I made the joke of hey what's that patreon account
one of the people who subscribes to our patreon replied what.
[1:07:57] He was he was actually very nice let's take this chair out man,
that is awesome look if you're if you're only listening to the audio podcast this is why you need to subscribe to our YouTube channel because you can be looking at this very cool Batman chair and if you're watching this on YouTube just hit subscribe
it's doesn't cost literally have we're on our shows listen if you're watching my little scrolling thing here you'll know that here it is right there YouTube
we have a hundred thirty-nine subscribers we have a
this is episode 197 198 we recorded more shows that we have subscribers I mean what the hell well to be fair we didn't really start YouTube and so we were like a hundred eighty Chozen
yeah that's how I started youtubing yeah I have a feeling I'm just gonna make myself a cardboard YouTube but didn't hang it on my head hanging on my wall so I can feel like I'm being really YouTuber.
[1:08:55] Because you got that's what you get when you get to a hundred you get the card cardboard one yeah Carly other cards work play button
I was thinking we were thinking our patrons me go back to the patrons yes so thank you patreons we appreciate we do appreciate your support how are you this is thank you nice that you guys are out there
are you guys you people you individuals out there we do appreciate it okay I think that's it gentlemen.
That is going to be episode a 198 HBO's lie we're going to if you want to stick around for the after show we're going to have a little discussion about the next couple shows coming up there's.
Stick around it make sure you stick around if you're listening to audio pod EO podcast.
I'm sorry again you need to subscribe to the YouTube channel to get these extra perks so thanks everybody for listening for example sewed when 98 I'm are.
[1:09:49] I'm John I'm Tom keep it up keep it ugly thanks for listening to the PHP ugly podcast.
If you would like to support PHP ugly check out our patreon at www.pedestrians.org cam PHP ugly
you can also follow PHP ugly on Twitter at PHP ugly or join us in the PHP ugly Discord Channel,
show notes an RSS feed can be found at PHP ugly.com.
To catch the live stream be sure to subscribe to our YouTube channel at www.youtube.com PHP ugly
you can also subscribe to the edited podcast on iTunes Spotify or your favorite podcast catcher of choice a reading of five stars is always appreciated,
and finally thanks to our sponsor the Diego Dev group if you are looking for developers who care about the code they create
the communities they built and the solutions they Implement then reach out to the Diego Dev group at Diego Dev.com.
Until next week keep it ugly.